Show Posts

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
TI Z80 / Caboose: Automatically Append "Ans" to Applicable Entries
« 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/caboose

EDIT: Changed link to reflect updated username.

2
ASM / Better LCD Delay Routines?
« 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:
Code: [Select]
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:
Code: [Select]
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:
Code: [Select]
  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
General Calculator Help / TI-84 not receiving OS [Resolved]
« 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
TI Z80 / Issues converting image for use with zstart
« 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
ASM / Miscellaneous ASM Questions
« 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
ASM / Custom APD Help
« 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.
Code: [Select]
;#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
ASM / Grayscale Help
« 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?
Code: [Select]
;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]