This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Messages - Sue Doenim
16
« on: March 25, 2019, 08:34:59 pm »
Found my own way! Hex
:AsmPrgm :EF1840 :FE0F :C8 :18F1 :C9 Assembly
bcall $4018 cp 0F ret z jr F1 ret Didn't try your code, but still, thanks for helping me out a little bit. Also, I tested it on my physical TI-84+ and Wabbitemu, and they both act the same, they both work.
Note that jr $F1 will only work if the opcode is always at the exact same spot in the program (i.e. 7 bytes into the program). Also, it kinda seems to me like you're trying to do coding on-calc/without a computer. If that's the case, I would advise using Mimas. It's a really nice app where you can write and compile ASM programs on-calc, and it's definitely much better than working in raw hex.
17
« on: March 17, 2019, 09:56:40 pm »
Sorry to hear that Just wanted to make sure it wasn't a problem with the 2.55 install specifically. You may have some luck asking on Cemetech for some help to determine if it is for sure a hardware issue. I have an N-spire CAS CX as well, so it's not a huge deal, but thanks for the sympathy I'll check around thereabouts and see if I can find a way to save it. Edit: It's fixed. I was literally just not waiting for the calculator to validate.
18
« on: March 17, 2019, 08:49:46 pm »
Have you tried installing 2.43 again? It's doubtful that it will fix it, as it does sounds like something could be wrong with the hardware.
I did, but it didn't make any difference.
19
« on: March 17, 2019, 01:44:16 pm »
I was having some troubles with TI connect, where the calculator would crash a lot of the time while sending/receiving files. I guessed that this was due to Unsigned having messed with the certificate or something similar, so I downloaded that and uninstalled all of the stuff that Unsigned had done. I still was having the issues, so I turned off zStart, and uninstalled the RAM clear stuff. That didn't work, so I decided to send OS 2.55 to my calculator (it had OS 2.43, and before that, 2.55). Once the OS was totally installed, the calculator froze at a screen that said: Validating... Operating System 100% It stayed like that even after TI connect closed itself, and the calculator wouldn't do anything until I took out a battery. When I turned it on again, it went right to the Waiting... Please install operating system now. screen. When I try testing flash, the dots go to about halfway, and then "FLASH FAILED" displays. Is my calculator dead, or is there something I can do to fix it? This person ( https://www.cemetech.net/forum/viewtopic.php?t=14207&start=0) seems to have had the same problem, but doesn't have much of an answer on how they fixed it.
20
« on: March 11, 2019, 10:03:49 pm »
I was wondering if something about GIMP changed, as it has gone through ~5 years of updates, but I don't see what that would do to change how it saves BMPs. After all, I would think that an image file format would be pretty set and unchanging, but maybe not. I don't see how the program itself could have changed, and I doubt windows has changed in a way that it can't cooperate with the program anymore. I might try installing an older version of GIMP to see if that would work.
Edit: I just tried it with GIMP 2.8, from late 2015. I got the same error as before.
21
« on: March 09, 2019, 12:32:32 pm »
This is a pretty good bump, but it fits in this topic, so I don't feel the need to make a new one. I was trying to convert a picture to be displayed on the calculator, but when I am on the last step listed in the readme, the program says: File Found! File Size 18554 Wrong Header Type!! Is there any way to fix this? As far as I know, I followed the instructions exactly. I'll attach the picture in case it is needed.
Edit: I guess it's not a bump. Sorry for posting in the old thread, in that case.
22
« on: February 16, 2019, 09:31:54 pm »
Thanks for the answers! I have just a couple more follow ups. 1) What RAM pages can I use within programs without having any bad consequences? Even numbered pages are execution protected by default, so executing code here will crash your calc. That said, you can definitely store data. On the calcs with USBs, page 83h has some data that should be preserved or restored in the first 128 bytes. Just remember that any OS routines that interact with memory or variables expect the right pages to be there.
Ram Pages (WikiTI)
If you overwrite the data at the start of page $83, will bcall(_fillAppBaseTable) fix that? 3) Can you interface with headphones beyond simply sending them signals with the ring and the tip? If so, how?
I don't know what you mean by this, sorry :| If you want to use headphones, you have to interact directly with port 0.
I looked for a while, and the most info I could find/understand on output to headphones was that you have to use bits 0 and 1 of port 0 (the tip and the ring), and switch them between set and reset at a desired note's frequency (e.g. 440Hz for A4). I thought that for more high quality sound than simply beeps, you send a full byte at a time to the headphones, but after looking at the source code for TruSound, I realize that that was wrong.
23
« on: February 16, 2019, 05:07:27 pm »
I have a few small questions that I'm not sure about, but I don't want to make a separate thread for each of them, so I'm combining them all in here. 1) What RAM pages can I use within programs without having any bad consequences? 2) When an appvar is less than 16kb and is archived, will it all be on the same ROM page? 3) Can you interface with headphones beyond simply sending them signals with the ring and the tip? If so, how? If anyone can answer these questions, or refer me to a source that as answers, I would greatly appreciate it.
24
« on: December 15, 2018, 12:15:24 am »
Yes. Thank you.
25
« on: December 13, 2018, 01:42:30 pm »
Thank you so much! I have been trying to work past that particular issue for at least a week, and now I've got it figured out.
26
« on: December 12, 2018, 08:44:14 pm »
I've been working on this program for a while, and I want to add an auto power down that doesn't use the system routine and can take a customizable amount of time to activate. I have been trying for a while, and I can't get it to work. The calculator will go into low-power mode, but upon pressing the power button, it will display the screen and freeze. Right now, I only have it at 30 seconds and haven't programmed in a timer reset at all (when you press a button, the timer won't restart). If someone could take a look at my program and see what the problem is, I would really appreciate it.
;#SECTION "MAIN", CODE
org userMem - 2 db 0BBh, 6Dh ; fast mode ld a, 3 out (20h), a ; install interrupt im 2 ld a, 99h ld i, a ld hl, 9900h ld de, 9901h ld bc, 256 ld (hl), 98h ldir ld a, 0C3h ld (9898h), a ld hl, interrupt ld (9899h), hl call initialize mainMenu: ld a, 10000001b ld (runningInterrupts), a call keyWait newGame: loadGame: mainMenuKeyLoop: ld a, 10111111b out (01h), a nop nop nop nop in a, (01h) bit 0, a jq z, exit bit 1, a jq z, help bit 2, a jq z, settings bit 3, a jq z, loadGame bit 4, a jq z, newGame bit 7, a jq z, exit jq mainMenuKeyLoop
;#SECTION "EXIT", CODE
exit: call keyWait di im 1 xor a out (31h), a ld a, 00001011b out (03h), a call LCD_BUSY_QUICK ld a, 05h out (10h), a B_CALL _ClrLCDFull ret
saveDataStart: counter: db 172 saveDataEnd: ;#SECTION "ROUTINES", CODE
keyWait: ld a, 10000000b out (01h), a nop nop nop nop in a, (01h) inc a jq nz, keyWait ret
;#SECTION "INTERUPT", CODE
interrupt: ex af, af' exx ; timers and stuff in a, (04h) ld b, a xor a out (03h), a bit 5, b jq z, exitInterrupt initialize: ld a, 40h out (30h), a ld a, 2 out (31h), a ld a, (counter) out (32h), a ; check what to run ld a, (runningInterrupts) bit 7, a call nz, mainMenuDraw ld a, (runningInterrupts) bit 0, a call nz, APD exitInterrupt: ex af, af' exx ei ret
mainMenuDraw: ld hl, mainMenuPicData ld a, (grayCarry) rra ld a, (grayMask) push af ld c, 80h newRow: call LCD_BUSY_QUICK ld a, 20h out (10h), a call LCD_BUSY_QUICK ld a, c cp 0B9h jq z, endDraw out (10h), a ld b, 12 ditherLoop: pop af rra push af ld d, a and (hl) ld e, a inc hl ld a, d cpl and (hl) inc hl or e ld e, a call LCD_BUSY_QUICK ld a, e out (11h), a djnz ditherLoop pop af rla push af inc c jq newRow
endDraw: pop af rla ld (grayMask), a ld a, 0 rla ld (grayCarry), a call LCD_BUSY_QUICK ret
APD: ld hl, (APDCounter) dec hl ld a, h or l ld (APDCounter), hl ret nz ld hl, 1800 ld (APDCounter), hl xor a out (30h), a ld a, 1 out (03h), a halt xor a out (03h), a call initialize ex af, af' exx ret
runningInterrupts: ; MM draw,,,,,,,APD db 00000000b grayCarry: db 1 grayMask: db 01101101b APDCounter: dw 1800
I didn't show a lot of the code that had nothing to do with the APD in the code spoiler, but I left it in in the attachment if you need to see it all.
27
« on: November 24, 2018, 02:54:15 pm »
I'm pretty new to ASM, but I have been working on a program, and so far I have mostly completed the title screen. The problem I'm running into is that I can't get my grayscale to work properly. The program I'm using is pretty close to the exact same thing as the example in thepenguin77's https://www.omnimaga.org/asm-language/perfect-grayscale-tutorial/, just reordered in a way that makes more sense to me. I think that the problem I'm running into is that the interrupt is only running once, and doesn't run after that at all. I've looked through it a lot, but I haven't been able to find the problem. Can anyone help me? ;note that this is all done in Mimas and that it is a work in progress, so there might be some kinda weird stuff ;#SECTION "MAIN", CODE
org userMem - 2 db 0BBh, 6Dh mainMenu: B_CALL _ClrLCDFull di ; fast mode ld a, 3 out (20h), a ; set up display ld hl, 3A02h ld (penCol), hl ld hl, mainMenuOptions B_CALL _VPutS call LCD_BUSY_QUICK ld a, 07h out (10h), a call LCD_BUSY_QUICK ld a, 20h out (10h), a call LCD_BUSY_QUICK ld a, 0BAh out (10h), a ld hl, buttonBorderData ld b, 12 buttonBorders: call LCD_BUSY_QUICK ld a, (hl) out (11h), a inc hl djnz buttonBorders call LCD_BUSY_QUICK ld a, 0B9h out (10h), a call LCD_BUSY_QUICK ld a, 20h out (10h), a ld b, 12 ld a, 0FFh solidLine: call LCD_BUSY_QUICK out (11h), a djnz solidLine ; install interrupt im 2 ld a, 99h ld i, a ld hl, 9900h ld de, 9901h ld bc, 256 ld (hl), 98h ldir ld a, 0C3h ld (9898h), a ld hl, interrupt ld (9899h), hl xor a out (03h), a ld a, 40h out (30h), a ld a, 2 out (31h), a ld a, 178 out (32h), a ei mainMenuGetKey: ld a, 10111111b out (01h), a nop nop nop nop in a, (01h) rra jr nc, exit rra jr nc, help rra jr nc, settings rra jr nc, loadGame rra jr nc, newGame jr mainMenuGetKey
newGame: loadGame: settings: help: exit: di im 1 xor a out (31h), a ld a, 00001011b out (03h), a B_CALL _ClrLCDFull ret
interrupt: ex af, af' exx ; timers and stuff in a, (04h) ld b, a xor a out (03h), a bit 5, b jr z, exitInterrupt ld a, 40h out (30h), a ld a, 2 out (31h), a ld a, (grayscaleCounter) out (32h), a ld hl, mainMenuPicData ; draw pic ld a, (grayCarry) rra ld a, (grayMask) push af ld c, 80h newRow: call LCD_BUSY_QUICK ld a, 20h out (10h), a call LCD_BUSY_QUICK ld a, c cp 0B9h jr z, endDraw out (10h), a ld b, 12 ditherLoop: pop af rra push af ld d, a and (hl) ld e, a inc hl ld a, d cpl and (hl) inc hl or e ld e, a call LCD_BUSY_QUICK ld a, e out (11h), a djnz ditherLoop pop af rla push af inc c jr newRow
endDraw: pop af ld (grayMask), a ld a, 0 rla ld (grayCarry), a call LCD_BUSY_QUICK exitInterrupt: ex af, af' exx ei ret
; general data grayCarry: db 1 grayMask: db 01101101b mainMenuOptions: db "New|Load|Settings|Help|Exit", 0 buttonBorderData: db 00h, 00h, 80h, 00h, 20h, 00h, 00h, 01h, 00h, 00h, 80h, 00h mainMenuPicData: db 78h, 79h, 0D1h, 0EFh, 0C9h, 0ECh, 0BFh, 0BEh, 7Bh, 0E6h, 0FFh, 0BFh, 2Fh, 2Fh, 0FCh, 0E4h, 7Bh, 0E9h, 7Fh, 0B7h, 0FFh, 0FFh, 0EFh, 0FFh, 78h, 78h, 0C1h, 0FFh, 0E1h, 0EDh, 0BCh db 3Fh, 0EEh, 6Eh, 0FCh, 0BEh, 6Fh, 2Fh, 0ECh, 0FCh, 0E7h, 0EDh, 3Fh, 7Fh, 0FFh, 0F7h, 0FFh, 0EFh, 0F8h, 78h, 0C1h, 6Fh, 0E4h, 0FDh, 38h, 0FCh, 0ECh, 6Eh, 0FEh, 0FEh, 7Fh, 0CFh db 0E0h, 0D0h, 67h, 0EEh, 3Fh, 7Fh, 0FFh, 0F7h, 0FFh, 0FFh, 78h, 0F8h, 0C3h, 0C9h, 0ECh, 0C1h, 0B8h, 7Dh, 0ECh, 0F4h, 0FCh, 0FEh, 7Fh, 0FFh, 0E0h, 0E0h, 0E1h, 0EBh, 3Fh, 0F7h, 0F7h db 0FFh, 0FFh, 0FFh, 0F8h, 78h, 0DFh, 87h, 0E8h, 0DDh, 0F8h, 0F8h, 0C9h, 0ECh, 0ECh, 0FCh, 4Bh, 77h, 0C0h, 0ECh, 0E3h, 0E5h, 0BFh, 0FFh, 0F7h, 0FFh, 0FFh, 0FFh, 0F8h, 0F8h, 0CFh, 73h db 0E8h, 0E5h, 0F8h, 0BBh, 0C5h, 0CFh, 0CCh, 0CCh, 0C9h, 59h, 0C0h, 0E0h, 0E7h, 65h, 3Fh, 0BFh, 0F7h, 0EFh, 0FFh, 0FFh, 0F8h, 0FBh, 0CBh, 49h, 0E1h, 60h, 9Ah, 9Ah, 0CFh, 6Dh, 0Ch db 8Eh, 81h, 59h, 0E0h, 0E0h, 0EEh, 0E7h, 3Fh, 0BAh, 0E7h, 0E7h, 0FFh, 0FFh, 0FFh, 0F4h, 0DBh, 5Fh, 0E0h, 61h, 0FDh, 0FAh, 0CEh, 0CDh, 0Ch, 0Eh, 41h, 93h, 73h, 0EDh, 0E6h, 0F5h db 0F8h, 0B2h, 67h, 0CFh, 0FFh, 0FFh, 0FFh, 0FEh, 0DBh, 17h, 61h, 0ECh, 0F0h, 0F1h, 0C0h, 0C8h, 1Fh, 0Eh, 63h, 0D3h, 61h, 0C1h, 0E5h, 0F2h, 0FBh, 0F4h, 0EFh, 0F7h, 0BEh, 0FFh, 0FDh db 0FCh, 0DBh, 29h, 6Bh, 0F5h, 0F1h, 0D0h, 0C2h, 0D1h, 9Fh, 5Eh, 83h, 54h, 41h, 0B9h, 0FCh, 0EBh, 0F3h, 0FFh, 0E7h, 0E7h, 0FFh, 0BFh, 0F8h, 0F8h, 13h, 63h, 67h, 0FBh, 0C0h, 0D0h db 0C7h, 43h, 7Fh, 9Fh, 20h, 0D1h, 19h, 81h, 0FDh, 0F8h, 0F3h, 0FFh, 0E7h, 0E7h, 0FFh, 0FFh, 0F8h, 70h, 07h, 06h, 69h, 0E6h, 0C0h, 0F0h, 47h, 67h, 3Fh, 9Eh, 0Eh, 16h, 01h db 0Dh, 0B8h, 0FDh, 0F3h, 0BBh, 0E7h, 0E7h, 0FFh, 0FFh, 0F0h, 78h, 07h, 02h, 70h, 80h, 0C0h, 0E0h, 27h, 59h, 3Fh, 1Eh, 0Eh, 0Eh, 01h, 07h, 0B8h, 80h, 0B1h, 0F9h, 0C7h, 0E7h db 0FFh, 0FFh, 0F0h, 78h, 05h, 07h, 0C0h, 20h, 0C0h, 48h, 30h, 68h, 3Eh, 1Fh, 0Eh, 06h, 01h, 62h, 0B0h, 00h, 0B1h, 0B9h, 8Fh, 47h, 0FFh, 0FFh, 0F8h, 0F0h, 06h, 05h, 0C0h db 0A0h, 0C8h, 58h, 30h, 40h, 3Ch, 3Eh, 46h, 46h, 43h, 23h, 0A0h, 60h, 0F1h, 0B9h, 0C7h, 47h, 0FFh, 0FFh, 78h, 0F8h, 43h, 45h, 81h, 80h, 0F0h, 40h, 30h, 30h, 38h, 3Ch db 46h, 46h, 03h, 63h, 00h, 0E0h, 0B1h, 0F9h, 0E7h, 0C7h, 0FFh, 0FFh, 78h, 0F8h, 01h, 43h, 83h, 0C1h, 70h, 70h, 00h, 00h, 38h, 34h, 4Eh, 86h, 03h, 03h, 40h, 0C8h, 71h db 38h, 87h, 0C7h, 0FFh, 0FEh, 78h, 0F8h, 01h, 11h, 0C6h, 0CCh, 0F0h, 74h, 00h, 00h, 38h, 34h, 0Eh, 0CEh, 03h, 03h, 0Ch, 4Ch, 70h, 0F8h, 47h, 87h, 0FFh, 0FFh, 78h, 0FCh db 01h, 31h, 0C0h, 0C0h, 70h, 0E8h, 0C0h, 0C0h, 38h, 34h, 0Eh, 8Eh, 07h, 07h, 0Ch, 8Eh, 38h, 30h, 07h, 03h, 0FFh, 0FFh, 0F8h, 0FDh, 00h, 59h, 41h, 80h, 60h, 70h, 0C0h db 0C2h, 38h, 34h, 8Eh, 06h, 07h, 0Fh, 8Ch, 1Ch, 38h, 38h, 07h, 07h, 0FFh, 0FFh, 0F8h, 0FCh, 50h, 50h, 42h, 0C6h, 60h, 0F0h, 0C0h, 0E0h, 3Ch, 3Ch, 1Eh, 8Ch, 03h, 43h db 8Ch, 0Ch, 39h, 39h, 07h, 07h, 0FFh, 0FFh, 0F8h, 0BCh, 58h, 78h, 0C0h, 60h, 0E0h, 60h, 0E0h, 0C0h, 34h, 38h, 1Eh, 1Ch, 63h, 23h, 8Ch, 1Ch, 39h, 0B9h, 87h, 87h, 0FFh db 0FFh, 0F8h, 0FCh, 78h, 68h, 60h, 0C0h, 60h, 68h, 0E0h, 0E0h, 1Ch, 58h, 1Eh, 3Eh, 23h, 63h, 0Ch, 8Eh, 38h, 39h, 0F7h, 0C7h, 0FFh, 0FFh, 0BCh, 0B8h, 50h, 70h, 0E0h, 0E0h db 79h, 0F8h, 0F0h, 0F0h, 3Ch, 18h, 0FEh, 7Ch, 63h, 0A3h, 8Eh, 04h, 78h, 39h, 0F7h, 0F7h, 0FDh, 0FEh, 38h, 3Ch, 40h, 70h, 0E7h, 0E0h, 0F7h, 0EFh, 0E0h, 0C0h, 3Dh, 3Dh, 9Eh db 7Ch, 33h, 07h, 80h, 80h, 38h, 58h, 8Fh, 0D7h, 0FCh, 0FDh, 78h, 7Ah, 01h, 01h, 0FAh, 0E4h, 0C3h, 0F3h, 0C0h, 0E0h, 38h, 3Fh, 1Ch, 0BEh, 17h, 4Bh, 0A0h, 0C0h, 3Ch, 3Ah db 0CFh, 97h, 0FDh, 0FAh, 3Eh, 3Ch, 01h, 01h, 0E0h, 0E0h, 0C3h, 0C3h, 0A0h, 80h, 3Eh, 78h, 0BCh, 0FEh, 23h, 8Fh, 30h, 38h, 3Eh, 7Eh, 0C7h, 0BFh, 0FFh, 0FFh, 3Eh, 0BCh, 11h db 39h, 0E0h, 0C8h, 83h, 0D3h, 0A1h, 0ADh, 0F0h, 0F0h, 3Fh, 0BCh, 26h, 27h, 3Eh, 3Dh, 0F9h, 7Dh, 0C7h, 0C6h, 0FFh, 0FFh, 3Eh, 7Ch, 73h, 7Bh, 0C8h, 81h, 93h, 99h, 0FDh, 0E0h db 0F0h, 32h, 3Ch, 3Dh, 27h, 26h, 0BFh, 0BFh, 78h, 0FDh, 0C7h, 0C7h, 0FFh, 0FFh, 3Ch, 7Eh, 0F7h, 0FFh, 80h, 98h, 9Dh, 0DFh, 0FFh, 0DEh, 0F0h, 32h, 3Ch, 9Ch, 27h, 47h, 0F8h db 0FAh, 3Ch, 31h, 0C1h, 0CDh, 0FBh, 7Fh, 3Eh, 3Eh, 0FFh, 0FFh, 0C0h, 0C0h, 9Eh, 0DFh, 0CFh, 84h, 70h, 6Eh, 0FCh, 3Ch, 0Eh, 0Dh, 0B0h, 0B0h, 35h, 38h, 0C3h, 0C9h, 0FFh, 0FFh db 3Fh, 7Fh, 0EFh, 0CBh, 0C1h, 80h, 8Eh, 0CEh, 8Eh, 9Eh, 62h, 62h, 78h, 7Ch, 0Eh, 0Dh, 0B0h, 30h, 35h, 18h, 0C7h, 0EFh, 0FFh, 0FFh, 3Fh, 7Fh, 0C3h, 0EFh, 0C9h, 0D1h, 0CCh db 0CEh, 86h, 86h, 62h, 62h, 38h, 78h, 0Dh, 8Fh, 0B0h, 0B8h, 1Dh, 1Dh, 0C7h, 0EFh, 0FEh, 0FFh, 3Fh, 1Fh, 8Bh, 0C5h, 0D9h, 89h, 0CCh, 0F8h, 16h, 16h, 7Ah, 70h, 28h, 39h db 0Fh, 0Ch, 38h, 0B8h, 3Dh, 1Ch, 0E7h, 4Fh, 0FEh, 0FDh, 3Fh, 3Fh, 83h, 9Dh, 99h, 0DBh, 0FCh, 8Eh, 16h, 96h, 70h, 74h, 30h, 38h, 0Eh, 0Dh, 9Ch, 38h, 7Dh, 0F8h, 0CFh db 0EFh, 0FDh, 0FEh, 3Fh, 9Fh, 83h, 0C1h, 9Dh, 0FBh, 0EEh, 0E5h, 0F6h, 3Eh, 40h, 60h, 38h, 0F8h, 0Ch, 0Ch, 9Ch, 3Eh, 3Dh, 0FCh, 0DFh, 0FFh, 0FFh, 0FFh, 3Fh, 0BEh, 0C1h, 87h db 0B8h, 0DCh, 0ECh, 86h, 0FCh, 6Ch, 42h, 0EAh, 38h, 38h, 1Ch, 0Fh, 1Ch, 9Eh, 3Dh, 3Dh, 0BFh, 0FFh, 0FFh, 0FFh, 3Fh, 0BEh, 0C3h, 8Bh, 38h, 0C9h, 8Fh, 0FCh, 28h, 0F8h, 0C0h db 0E6h, 39h, 0BBh, 0Eh, 1Fh, 1Ch, 19h, 3Ch, 39h, 3Fh, 0FFh, 0FFh, 0FDh, 3Eh, 7Fh, 0C3h, 83h, 0F9h, 1Bh, 8Fh, 0CFh, 68h, 0C8h, 0E0h, 0C0h, 3Ah, 1Ah, 4Ch, 1Eh, 1Ch, 9Ch db 1Fh, 9Ch, 0BFh, 77h, 0FDh, 0FFh, 3Fh, 3Eh, 0C3h, 83h, 0FBh, 7Fh, 8Fh, 0CFh, 48h, 0C9h, 0E0h, 0C1h, 38h, 30h, 1Ch, 9Fh, 1Ch, 1Ch, 0BFh, 9Fh, 0BFh, 0EFh, 0FDh, 0FDh, 3Fh db 7Fh, 0C3h, 87h, 7Fh, 0FDh, 8Dh, 0CDh, 19h, 31h, 0E0h, 0C2h, 0FCh, 3Ah, 1Eh, 3Dh, 1Ch, 1Ch, 1Fh, 0BFh, 0FFh, 0FFh, 0FFh, 0FDh, 0FFh, 3Eh, 0C3h, 0C6h, 7Dh, 0F9h, 0CDh, 89h db 31h, 31h, 0C0h, 0A2h, 0Ch, 9Ch, 3Dh, 3Eh, 1Ch, 1Ch, 1Fh, 1Fh, 0BAh, 7Dh, 0FDh, 0FFh, 3Fh, 7Fh, 0C3h, 0C6h, 0DDh, 0FDh, 0C9h, 8Dh, 31h, 71h, 80h, 80h, 0Ch, 0Ch, 0FFh db 0FBh, 1Ch, 1Ch, 0Fh, 5Eh, 39h, 3Bh, 0FDh, 0FFh, 3Fh, 0BFh, 5Ah, 0E1h, 0FFh, 0DDh, 49h, 9Fh, 63h, 73h, 82h, 0E2h, 00h, 34h, 0FFh, 0FFh, 1Ch, 1Ch, 1Fh, 1Eh, 7Fh, 3Fh db 0FFh, 0FDh, 9Fh, 9Fh, 00h, 0D0h, 0BDh, 0DFh, 49h, 5Dh, 67h, 6Fh, 0C2h, 0C2h, 12h, 3Ch, 0FEh, 0FFh, 1Ch, 3Ch, 0Ch, 5Fh, 0FFh, 0FFh, 0FFh, 0FFh, 8Fh, 9Fh, 0C0h, 80h, 3Ch db 5Eh, 59h, 49h, 4Fh, 8Fh, 80h, 82h, 31h, 53h, 0FEh, 0F0h, 3Ch, 1Ch, 1Ch, 0CEh, 0FFh, 0F9h, 0FFh, 0EFh, 8Fh, 1Fh, 80h, 00h, 3Ch, 0BEh, 59h, 4Eh, 0Fh, 0Fh, 80h, 02h db 11h, 0D3h, 70h, 73h, 3Ch, 3Ch, 1Ch, 1Eh, 0FFh, 0FBh, 0FFh, 0EFh, 0BFh, 9Fh, 00h, 84h, 0BEh, 0FCh, 4Ch, 58h, 0Fh, 0Eh, 01h, 01h, 13h, 11h, 0F2h, 72h, 3Ch, 3Ch, 00h db 0Eh, 0FFh, 0FFh, 0FFh, 0EFh, 0BFh, 0BFh, 00h, 80h, 0BEh, 0FDh, 0D8h, 58h, 0Eh, 1Fh, 00h, 00h, 13h, 0B3h, 0F6h, 0E6h, 3Ch, 3Ch, 0Eh, 27h, 0DFh, 0FFh, 0FFh, 0FFh, 9Fh, 0FFh db 0C0h, 00h, 0FCh, 0FFh, 0D8h, 78h, 1Fh, 0Fh, 00h, 80h, 3Ah, 13h, 0E0h, 0F6h, 3Eh, 14h, 0Fh, 22h, 0FFh, 0FFh, 0FFh, 0FFh, 9Fh, 0BEh, 00h, 0C2h, 0FDh, 0FEh, 0FCh, 0D8h, 1Fh db 1Eh, 00h, 81h, 0BEh, 0FEh, 0F0h, 0E0h, 1Ch, 1Ah, 63h, 0AFh, 0FFh, 0FFh, 0FFh, 0FFh, 8Fh, 8Fh, 05h, 83h, 0FDh, 0FFh, 0F8h, 0DCh, 9Fh, 0DFh, 0E1h, 0C0h, 0FFh, 0FFh, 0F0h, 0E6h db 1Ah, 1Eh, 23h, 0BBh, 0FFh, 0EFh, 0FFh, 0FFh, 8Fh, 1Eh, 01h, 09h, 7Dh, 7Fh, 58h, 58h, 1Fh, 0Fh, 0C0h, 0E1h, 0ECh, 0FDh, 0F0h, 0E3h, 1Ah, 1Eh, 03h, 9Bh, 0EFh, 0E5h, 0FFh db 0FEh, 3Fh, 0DEh, 03h, 09h, 7Dh, 36h, 68h, 0DCh, 0Fh, 0Fh, 0E0h, 0C0h, 7Ch, 7Ch, 0F2h, 0F1h, 1Fh, 1Eh, 0C3h, 41h, 0EFh, 0EFh, 0FFh, 0FFh, 1Fh, 0DFh, 03h, 03h, 5Ch, 0B1h db 7Ch, 0ECh, 0Fh, 0Fh, 0C0h, 0C0h, 79h, 0FCh, 0F2h, 0F7h, 1Eh, 3Fh, 81h, 41h, 0FFh, 0EFh, 0FFh, 0FFh, 4Fh, 0DFh, 02h, 03h, 0D4h, 0CDh, 0FCh, 7Ch, 0Fh, 0Fh, 00h, 80h, 0F0h db 7Ch, 0E6h, 4Dh, 3Eh, 3Eh, 01h, 81h, 0FFh, 0FFh, 7Fh, 0FDh, 0CFh, 5Fh, 02h, 0Ah, 44h, 55h, 0FCh, 7Ch, 0Fh, 0Fh, 00h, 80h, 0F8h, 0F4h, 43h, 0F3h, 3Eh, 0BEh, 03h, 63h db 0E7h, 0EFh, 0FFh, 0FFh, 4Fh, 1Fh, 02h, 03h, 45h, 0D4h, 7Ch, 0FEh, 0Fh, 0Fh, 80h, 00h, 0F8h, 0D2h, 67h, 0E3h, 3Eh, 3Fh, 0C3h, 0C3h, 0FAh, 0EEh, 7Fh, 0FFh, 4Eh, 1Fh, 02h db 8Bh, 44h, 55h, 0DCh, 7Eh, 0Fh, 0Fh, 80h, 80h, 0FAh, 74h, 0C7h, 66h, 3Eh, 3Fh, 83h, 0C7h, 0FEh, 0EFh, 0FFh, 0FFh, 4Eh, 9Eh, 8Fh, 0Eh, 44h, 54h, 0DCh, 58h, 0Fh, 07h db 80h, 00h, 78h, 3Ah, 67h, 0C5h, 1Eh, 3Fh, 0E3h, 0C7h, 0EFh, 0FFh, 0FFh, 0FEh, 5Eh, 0CFh, 03h, 1Eh, 0C4h, 14h, 98h, 5Ch, 0Fh, 8Fh, 80h, 0C0h ;#SECTION "SAVEDATA", DATA
saveDataStart: grayscaleCounter: db 182 saveDataEnd:
EDIT: I finally figured it out. Turns out that I had to rotate the mask again before every time I left the interrupt because it was making the same mask over and over, so that the picture only showed as monochrome.
|