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.
Topics - Sue Doenim
Pages: [1]
1
« on: January 04, 2021, 11:10:09 am »
Here's an app that I made that sets a hook to check every entry and to add "Ans" whenever it makes sense, such as when it ends in "-", "sin(", or an empty entry box. It's a pretty simple program, but it's a pretty solid time saver. https://github.com/joeldemars/cabooseEDIT: Changed link to reflect updated username.
2
« on: July 29, 2019, 01:04:25 am »
The LCD delay is long, and sometimes there's nothing to do while it's delaying, so you have to use a routine that waits until the LCD is ready. In LCD-heavy programs, like a grayscale game, tons of time is wasted in such routines. The most common routine that I learned from @thepenguin77 is: label: ;T-states IN A,($10) ;11 AND %10010000 ;7 JR NZ,label ;7/12 ;6 bytes, destroys A
This routine is okay, but it might be improvable. If you can use only bit 7 instead of both bit 7 and 4 (which is what I'm not sure about), these would work: label: IN A,($10) ;11 RLA ;4 JR C,label ;7/12 ;5 bytes, destroys A
That one is a bit better, but if you want to optimize for speed: LD C,$10 ;7 label: IN (C),A ;12 JP M,label ;10 ;7 bytes, destroys A/C ;If C is already equal to $10, you can skip the ;load instruction and save 2 bytes/7 T-states. ;If you are okay with using undocumented ;instructions, IN (C) would preserve A
These look like they're really helpful routines to help save a bit of space and to save a few T-states, which will really add up when you're writing to the screen 768+ times in a row. The second one in particular might work really well with a grayscale program. If you move around some instructions, then you only need to load $10 into C once, and then you can go through your whole screen-writing routine without having to do so for every delay.
3
« 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.
4
« 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.
5
« 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.
6
« 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.
7
« 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.
Pages: [1]
|