mirror of
https://github.com/a2-4am/4cade.git
synced 2025-08-11 15:25:05 +00:00
use some descriptive constants
This commit is contained in:
@@ -29,9 +29,9 @@ loop2 txa
|
|||||||
clc
|
clc
|
||||||
adc #$7C
|
adc #$7C
|
||||||
sta <src+2
|
sta <src+2
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
bmi +
|
bmi +
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
+ jsr src
|
+ jsr src
|
||||||
txa
|
txa
|
||||||
lsr
|
lsr
|
||||||
@@ -41,7 +41,7 @@ loop2 txa
|
|||||||
tay
|
tay
|
||||||
bcc loop2
|
bcc loop2
|
||||||
bne loop
|
bne loop
|
||||||
bit $C000
|
bit KBD
|
||||||
bmi exit
|
bmi exit
|
||||||
txa
|
txa
|
||||||
bne loop1
|
bne loop1
|
||||||
|
@@ -16,9 +16,9 @@ copymasks = $6200 ; [256 bytes, page-aligned, duplicated in a
|
|||||||
-- ldy #$40 ; create identical copymask tables in main and aux memory
|
-- ldy #$40 ; create identical copymask tables in main and aux memory
|
||||||
ora #%10000000
|
ora #%10000000
|
||||||
- sta copymasks, x
|
- sta copymasks, x
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
sta copymasks, x
|
sta copymasks, x
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
inx
|
inx
|
||||||
dey
|
dey
|
||||||
bne -
|
bne -
|
||||||
@@ -29,14 +29,14 @@ copymasks = $6200 ; [256 bytes, page-aligned, duplicated in a
|
|||||||
-- ldy #$20 ; create identical address tables in main and aux memory
|
-- ldy #$20 ; create identical address tables in main and aux memory
|
||||||
tya
|
tya
|
||||||
- sta addrs, x
|
- sta addrs, x
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
sta addrs, x
|
sta addrs, x
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
eor #$A0
|
eor #$A0
|
||||||
sta addrs+1, x
|
sta addrs+1, x
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
sta addrs+1, x
|
sta addrs+1, x
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
eor #$A0
|
eor #$A0
|
||||||
adc #1
|
adc #1
|
||||||
inx
|
inx
|
||||||
@@ -51,7 +51,7 @@ start
|
|||||||
!pseudopc 0 {
|
!pseudopc 0 {
|
||||||
!byte %00000011
|
!byte %00000011
|
||||||
;Y=0 on entry to copyaux
|
;Y=0 on entry to copyaux
|
||||||
copyaux sta $C003 ; copy $4000/aux to $8000/main
|
copyaux sta READAUXMEM ; copy $4000/aux to $8000/main
|
||||||
ldx #$20
|
ldx #$20
|
||||||
a lda $4000, y
|
a lda $4000, y
|
||||||
b sta $8000, y
|
b sta $8000, y
|
||||||
@@ -61,7 +61,7 @@ b sta $8000, y
|
|||||||
inc b+2
|
inc b+2
|
||||||
dex
|
dex
|
||||||
bne a
|
bne a
|
||||||
sta $C002
|
sta READMAINMEM
|
||||||
sta $C001 ; 80STORE mode
|
sta $C001 ; 80STORE mode
|
||||||
; X,Y=0 on entry to LFSR
|
; X,Y=0 on entry to LFSR
|
||||||
loop txa
|
loop txa
|
||||||
@@ -86,7 +86,7 @@ dst sta $FD00, y ; write the result
|
|||||||
tay
|
tay
|
||||||
bcc loop2 ; C modified by ror
|
bcc loop2 ; C modified by ror
|
||||||
bne loop ; Z modified by tay
|
bne loop ; Z modified by tay
|
||||||
lda $C000
|
lda KBD
|
||||||
bmi exit
|
bmi exit
|
||||||
txa
|
txa
|
||||||
bne loop1
|
bne loop1
|
||||||
@@ -112,7 +112,7 @@ auxdst sta $FD00, y
|
|||||||
tay
|
tay
|
||||||
bcc loop2
|
bcc loop2
|
||||||
bne loop
|
bne loop
|
||||||
lda $C000
|
lda KBD
|
||||||
bmi exit
|
bmi exit
|
||||||
txa
|
txa
|
||||||
bne loop1
|
bne loop1
|
||||||
|
@@ -34,11 +34,11 @@ rowloop
|
|||||||
- sec
|
- sec
|
||||||
src lda $FDFD, y ; SMC
|
src lda $FDFD, y ; SMC
|
||||||
dst sta $FDFD ,y ; SMC
|
dst sta $FDFD ,y ; SMC
|
||||||
sta $C003
|
sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
bcc -
|
bcc -
|
||||||
sta $C002
|
sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
inx
|
inx
|
||||||
inx
|
inx
|
||||||
cpx #$C0
|
cpx #$C0
|
||||||
|
@@ -350,7 +350,7 @@ NextBox dex
|
|||||||
lda j+2
|
lda j+2
|
||||||
beq + ; if we didn't draw anything in any box, we're done
|
beq + ; if we didn't draw anything in any box, we're done
|
||||||
stx j+2 ; X=0 here
|
stx j+2 ; X=0 here
|
||||||
bit $C000 ; check for key
|
bit KBD ; check for key
|
||||||
bpl MainLoop
|
bpl MainLoop
|
||||||
+ sta $C000 ; 80STORE off
|
+ sta $C000 ; 80STORE off
|
||||||
; execution falls through here
|
; execution falls through here
|
||||||
@@ -605,7 +605,7 @@ codegen_maskindex
|
|||||||
|
|
||||||
CopyAuxDHGRToMain
|
CopyAuxDHGRToMain
|
||||||
; X=0
|
; X=0
|
||||||
sta $C003 ; copy $4000-5FFF/aux to $9000-AFFF/main
|
sta READAUXMEM ; copy $4000-5FFF/aux to $9000-AFFF/main
|
||||||
ldy #$20
|
ldy #$20
|
||||||
@a lda $4000, x
|
@a lda $4000, x
|
||||||
@b sta $9000, x
|
@b sta $9000, x
|
||||||
@@ -615,7 +615,7 @@ CopyAuxDHGRToMain
|
|||||||
inc <@b+2
|
inc <@b+2
|
||||||
dey
|
dey
|
||||||
bne @a
|
bne @a
|
||||||
sta $C002
|
sta READMAINMEM
|
||||||
; X=0,Y=0
|
; X=0,Y=0
|
||||||
rts
|
rts
|
||||||
}
|
}
|
||||||
|
@@ -66,11 +66,11 @@ dst2 sta $FDFD, y ; SMC
|
|||||||
dec row2
|
dec row2
|
||||||
inc row1
|
inc row1
|
||||||
bne loop
|
bne loop
|
||||||
tomain sta $C002
|
tomain sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
exit rts
|
exit rts
|
||||||
toaux sta $C003
|
toaux sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
rts
|
rts
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
@@ -19,9 +19,9 @@ copymasks= $02C1 ; [$08 bytes, different values in main and
|
|||||||
- lda copymasks_main-1, y
|
- lda copymasks_main-1, y
|
||||||
sta copymasks-1, y
|
sta copymasks-1, y
|
||||||
lda copymasks_aux-1, y
|
lda copymasks_aux-1, y
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
sta copymasks-1, y
|
sta copymasks-1, y
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
dey
|
dey
|
||||||
bne -
|
bne -
|
||||||
|
|
||||||
@@ -76,7 +76,7 @@ rowloop lda <row
|
|||||||
jsr DHGRBlockCopy
|
jsr DHGRBlockCopy
|
||||||
+ dec <row
|
+ dec <row
|
||||||
bpl rowloop
|
bpl rowloop
|
||||||
lda $C000
|
lda KBD
|
||||||
bmi exit
|
bmi exit
|
||||||
dec <col
|
dec <col
|
||||||
dec <counter
|
dec <counter
|
||||||
@@ -111,12 +111,12 @@ dst sta $FDFD, y
|
|||||||
sta <src+2
|
sta <src+2
|
||||||
eor #$60
|
eor #$60
|
||||||
sta <dst+2
|
sta <dst+2
|
||||||
sta $C003
|
sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
dec <pass
|
dec <pass
|
||||||
bne --
|
bne --
|
||||||
sta $C002
|
sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
rts
|
rts
|
||||||
|
|
||||||
DHGRBlockCopy
|
DHGRBlockCopy
|
||||||
@@ -137,8 +137,8 @@ DHGRBlockCopy
|
|||||||
sta <src+2
|
sta <src+2
|
||||||
eor #$60
|
eor #$60
|
||||||
sta <dst+2
|
sta <dst+2
|
||||||
sta $C003
|
sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
ldx #7
|
ldx #7
|
||||||
clc
|
clc
|
||||||
- lda (<src+1), y
|
- lda (<src+1), y
|
||||||
@@ -150,8 +150,8 @@ DHGRBlockCopy
|
|||||||
sta <dst+2
|
sta <dst+2
|
||||||
dex
|
dex
|
||||||
bpl -
|
bpl -
|
||||||
sta $C002
|
sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
rts
|
rts
|
||||||
|
|
||||||
row !byte 23
|
row !byte 23
|
||||||
|
@@ -61,12 +61,12 @@ LoopBL ; bottom-left quadrant (opposite row, origi
|
|||||||
+COPY_BIT_DITHER mirror_src1, mirror_dest1, copymasks1bit, oddrow_ptr
|
+COPY_BIT_DITHER mirror_src1, mirror_dest1, copymasks1bit, oddrow_ptr
|
||||||
+COPY_BIT_DITHER mirror_src2, mirror_dest2, copymasks1bit, evenrow_ptr
|
+COPY_BIT_DITHER mirror_src2, mirror_dest2, copymasks1bit, evenrow_ptr
|
||||||
+ bcs +
|
+ bcs +
|
||||||
sta $C003
|
sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
sec
|
sec
|
||||||
bcs -
|
bcs -
|
||||||
+ sta $C002
|
+ sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
+DEC_INPUT_AND_LOOP input, LoopBL
|
+DEC_INPUT_AND_LOOP input, LoopBL
|
||||||
DoneBL
|
DoneBL
|
||||||
|
|
||||||
@@ -87,12 +87,12 @@ LoopTL ; top-left quadrant
|
|||||||
+COPY_BIT_DITHER src1, dest1, copymasks1bit, evenrow_ptr
|
+COPY_BIT_DITHER src1, dest1, copymasks1bit, evenrow_ptr
|
||||||
+COPY_BIT_DITHER src2, dest2, copymasks1bit, oddrow_ptr
|
+COPY_BIT_DITHER src2, dest2, copymasks1bit, oddrow_ptr
|
||||||
+ bcs +
|
+ bcs +
|
||||||
sta $C003
|
sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
sec
|
sec
|
||||||
bcs -
|
bcs -
|
||||||
+ sta $C002
|
+ sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
+INC_INPUT_AND_LOOP input, LoopTL
|
+INC_INPUT_AND_LOOP input, LoopTL
|
||||||
DoneTL
|
DoneTL
|
||||||
|
|
||||||
@@ -115,12 +115,12 @@ LoopTR ; top-right quadrant (same row, opposite co
|
|||||||
+COPY_BIT_DITHER src1, dest1, mirror_copymasks1bit, evenrow_ptr
|
+COPY_BIT_DITHER src1, dest1, mirror_copymasks1bit, evenrow_ptr
|
||||||
+COPY_BIT_DITHER src2, dest2, mirror_copymasks1bit, oddrow_ptr
|
+COPY_BIT_DITHER src2, dest2, mirror_copymasks1bit, oddrow_ptr
|
||||||
+ bcs +
|
+ bcs +
|
||||||
sta $C003
|
sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
sec
|
sec
|
||||||
bcs -
|
bcs -
|
||||||
+ sta $C002
|
+ sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
+DEC_INPUT_AND_LOOP input, LoopTR
|
+DEC_INPUT_AND_LOOP input, LoopTR
|
||||||
DoneTR
|
DoneTR
|
||||||
|
|
||||||
@@ -143,12 +143,12 @@ LoopBR ; bottom-right quadrant (opposite row, oppo
|
|||||||
+COPY_BIT_DITHER mirror_src1, mirror_dest1, mirror_copymasks1bit, oddrow_ptr
|
+COPY_BIT_DITHER mirror_src1, mirror_dest1, mirror_copymasks1bit, oddrow_ptr
|
||||||
+COPY_BIT_DITHER mirror_src2, mirror_dest2, mirror_copymasks1bit, evenrow_ptr
|
+COPY_BIT_DITHER mirror_src2, mirror_dest2, mirror_copymasks1bit, evenrow_ptr
|
||||||
+ bcs +
|
+ bcs +
|
||||||
sta $C003
|
sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
sec
|
sec
|
||||||
bcs -
|
bcs -
|
||||||
+ sta $C002
|
+ sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
+INC_INPUT_AND_LOOP input, LoopBR
|
+INC_INPUT_AND_LOOP input, LoopBR
|
||||||
DoneBR
|
DoneBR
|
||||||
rts
|
rts
|
||||||
|
@@ -57,12 +57,12 @@ Loop ldy #0
|
|||||||
+COPY_BIT_DITHER src1, dest1, copymasks1bit, evenrow_ptr
|
+COPY_BIT_DITHER src1, dest1, copymasks1bit, evenrow_ptr
|
||||||
+COPY_BIT_DITHER src2, dest2, copymasks1bit, oddrow_ptr
|
+COPY_BIT_DITHER src2, dest2, copymasks1bit, oddrow_ptr
|
||||||
+ bcs +
|
+ bcs +
|
||||||
sta $C003
|
sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
sec
|
sec
|
||||||
bcs -
|
bcs -
|
||||||
+ sta $C002
|
+ sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
|
|
||||||
; bottom-right quadrant (opposite row, opposite column, original input order)
|
; bottom-right quadrant (opposite row, opposite column, original input order)
|
||||||
lda mirror_cols,y
|
lda mirror_cols,y
|
||||||
@@ -73,12 +73,12 @@ Loop ldy #0
|
|||||||
+COPY_BIT_DITHER mirror_src1, mirror_dest1, mirror_copymasks1bit, oddrow_ptr
|
+COPY_BIT_DITHER mirror_src1, mirror_dest1, mirror_copymasks1bit, oddrow_ptr
|
||||||
+COPY_BIT_DITHER mirror_src2, mirror_dest2, mirror_copymasks1bit, evenrow_ptr
|
+COPY_BIT_DITHER mirror_src2, mirror_dest2, mirror_copymasks1bit, evenrow_ptr
|
||||||
+ bcs +
|
+ bcs +
|
||||||
sta $C003
|
sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
sec
|
sec
|
||||||
bcs -
|
bcs -
|
||||||
+ sta $C002
|
+ sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
lda (reverse_input),y
|
lda (reverse_input),y
|
||||||
@@ -96,12 +96,12 @@ Loop ldy #0
|
|||||||
+COPY_BIT_DITHER mirror_src1, mirror_dest1, copymasks1bit, oddrow_ptr
|
+COPY_BIT_DITHER mirror_src1, mirror_dest1, copymasks1bit, oddrow_ptr
|
||||||
+COPY_BIT_DITHER mirror_src2, mirror_dest2, copymasks1bit, evenrow_ptr
|
+COPY_BIT_DITHER mirror_src2, mirror_dest2, copymasks1bit, evenrow_ptr
|
||||||
+ bcs +
|
+ bcs +
|
||||||
sta $C003
|
sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
sec
|
sec
|
||||||
bcs -
|
bcs -
|
||||||
+ sta $C002
|
+ sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
|
|
||||||
; top-right quadrant (same row, opposite column, reverse input order)
|
; top-right quadrant (same row, opposite column, reverse input order)
|
||||||
lda mirror_cols,y
|
lda mirror_cols,y
|
||||||
@@ -112,12 +112,12 @@ Loop ldy #0
|
|||||||
+COPY_BIT_DITHER src1, dest1, mirror_copymasks1bit, evenrow_ptr
|
+COPY_BIT_DITHER src1, dest1, mirror_copymasks1bit, evenrow_ptr
|
||||||
+COPY_BIT_DITHER src2, dest2, mirror_copymasks1bit, oddrow_ptr
|
+COPY_BIT_DITHER src2, dest2, mirror_copymasks1bit, oddrow_ptr
|
||||||
+ bcs +
|
+ bcs +
|
||||||
sta $C003
|
sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
sec
|
sec
|
||||||
bcs -
|
bcs -
|
||||||
+ sta $C002
|
+ sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
|
|
||||||
inc input
|
inc input
|
||||||
bne +
|
bne +
|
||||||
|
@@ -27,7 +27,7 @@ addrs=$BF ; [$40 bytes]
|
|||||||
start
|
start
|
||||||
!pseudopc 0 {
|
!pseudopc 0 {
|
||||||
;Y=0 on entry to copyaux
|
;Y=0 on entry to copyaux
|
||||||
copyaux sta $C003 ; copy $4000/aux to $8000/main
|
copyaux sta READAUXMEM ; copy $4000/aux to $8000/main
|
||||||
ldx #$20
|
ldx #$20
|
||||||
a lda $4000, y
|
a lda $4000, y
|
||||||
b sta $8000, y
|
b sta $8000, y
|
||||||
@@ -37,7 +37,7 @@ b sta $8000, y
|
|||||||
inc b+2
|
inc b+2
|
||||||
dex
|
dex
|
||||||
bne a
|
bne a
|
||||||
sta $C002
|
sta READMAINMEM
|
||||||
sta $C001 ; 80STORE mode
|
sta $C001 ; 80STORE mode
|
||||||
;X,Y=0 on entry to LFSR
|
;X,Y=0 on entry to LFSR
|
||||||
loop txa
|
loop txa
|
||||||
@@ -59,7 +59,7 @@ dst sta $FD00, y
|
|||||||
tay
|
tay
|
||||||
bcc loop2
|
bcc loop2
|
||||||
bne loop
|
bne loop
|
||||||
bit $C000
|
bit KBD
|
||||||
bmi exit
|
bmi exit
|
||||||
txa
|
txa
|
||||||
bne loop1
|
bne loop1
|
||||||
@@ -81,7 +81,7 @@ auxdst sta $FD00, y
|
|||||||
tay
|
tay
|
||||||
bcc loop2
|
bcc loop2
|
||||||
bne loop
|
bne loop
|
||||||
lda $C000
|
lda KBD
|
||||||
bmi exit
|
bmi exit
|
||||||
txa
|
txa
|
||||||
bne loop1
|
bne loop1
|
||||||
|
@@ -45,11 +45,11 @@ rowloop lda hgrlo, x
|
|||||||
bankloop sec
|
bankloop sec
|
||||||
src lda $FDFD, y
|
src lda $FDFD, y
|
||||||
dst sta $FDFD, y
|
dst sta $FDFD, y
|
||||||
sta $C003
|
sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
bcc bankloop
|
bcc bankloop
|
||||||
sta $C002
|
sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
inx
|
inx
|
||||||
dec <rowcount
|
dec <rowcount
|
||||||
bne rowloop
|
bne rowloop
|
||||||
@@ -73,7 +73,7 @@ nextcolumn
|
|||||||
sta <rowcounts_by_column, y
|
sta <rowcounts_by_column, y
|
||||||
++ dey
|
++ dey
|
||||||
bpl -
|
bpl -
|
||||||
lda $C000
|
lda KBD
|
||||||
bmi exit
|
bmi exit
|
||||||
lda <rowcounts_by_column+$27
|
lda <rowcounts_by_column+$27
|
||||||
cmp #$80
|
cmp #$80
|
||||||
|
@@ -122,14 +122,14 @@ mirror_dest2=*+1
|
|||||||
+COPY_BIT_ZP_DITHER src2, dest2, mirror_copymask, oddrow_ptr
|
+COPY_BIT_ZP_DITHER src2, dest2, mirror_copymask, oddrow_ptr
|
||||||
+
|
+
|
||||||
bcs +
|
bcs +
|
||||||
sta $C003
|
sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
y=*+1
|
y=*+1
|
||||||
ldy #$FD
|
ldy #$FD
|
||||||
sec
|
sec
|
||||||
jmp bankloop
|
jmp bankloop
|
||||||
+ sta $C002
|
+ sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
|
|
||||||
next
|
next
|
||||||
inc <input
|
inc <input
|
||||||
|
@@ -84,12 +84,12 @@ src2=*+1
|
|||||||
dest2=*+1
|
dest2=*+1
|
||||||
sta $FDFD, y
|
sta $FDFD, y
|
||||||
+ bcs +
|
+ bcs +
|
||||||
sta $C003
|
sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
sec
|
sec
|
||||||
bcs -
|
bcs -
|
||||||
+ sta $C002
|
+ sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
|
|
||||||
; corresponding 2x2 block in right half (same row, opposite column)
|
; corresponding 2x2 block in right half (same row, opposite column)
|
||||||
lda mirror_cols, y
|
lda mirror_cols, y
|
||||||
@@ -100,12 +100,12 @@ dest2=*+1
|
|||||||
+COPY_BIT_DITHER src1, dest1, mirror_copymasks2bit, evenrow_ptr
|
+COPY_BIT_DITHER src1, dest1, mirror_copymasks2bit, evenrow_ptr
|
||||||
+COPY_BIT_DITHER src2, dest2, mirror_copymasks2bit, oddrow_ptr
|
+COPY_BIT_DITHER src2, dest2, mirror_copymasks2bit, oddrow_ptr
|
||||||
+ bcs +
|
+ bcs +
|
||||||
sta $C003
|
sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
sec
|
sec
|
||||||
bcs -
|
bcs -
|
||||||
+ sta $C002
|
+ sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
|
|
||||||
next
|
next
|
||||||
inc <input
|
inc <input
|
||||||
|
@@ -18,9 +18,9 @@ copymasks= $02C1 ; [$07 bytes, different values in main and
|
|||||||
- lda copymasks_main-1, y
|
- lda copymasks_main-1, y
|
||||||
sta copymasks-1, y
|
sta copymasks-1, y
|
||||||
lda copymasks_aux-1, y
|
lda copymasks_aux-1, y
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
sta copymasks-1, y
|
sta copymasks-1, y
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
dey
|
dey
|
||||||
bne -
|
bne -
|
||||||
|
|
||||||
@@ -77,16 +77,16 @@ src eor $FDFD, y ; SMC
|
|||||||
and copymasks, x ; bank-specific copymasks are at the same address in main and auxmem, which is neat
|
and copymasks, x ; bank-specific copymasks are at the same address in main and auxmem, which is neat
|
||||||
eor (<dst+1), y
|
eor (<dst+1), y
|
||||||
dst sta $FDFD, y ; SMC
|
dst sta $FDFD, y ; SMC
|
||||||
+ sta $C003
|
+ sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
bcc -
|
bcc -
|
||||||
sta $C002
|
sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
dec <rowindex
|
dec <rowindex
|
||||||
bne rowloop
|
bne rowloop
|
||||||
dec <maskindex
|
dec <maskindex
|
||||||
bpl maskloop
|
bpl maskloop
|
||||||
bit $C000
|
bit KBD
|
||||||
bmi exit
|
bmi exit
|
||||||
iny
|
iny
|
||||||
cpy #$28
|
cpy #$28
|
||||||
|
@@ -44,12 +44,12 @@ LoopBL ; bottom-left quadrant (opposite row, origi
|
|||||||
+COPY_BIT mirror_src1, mirror_dest1, copymasks1bit
|
+COPY_BIT mirror_src1, mirror_dest1, copymasks1bit
|
||||||
+COPY_BIT mirror_src2, mirror_dest2, copymasks1bit
|
+COPY_BIT mirror_src2, mirror_dest2, copymasks1bit
|
||||||
+ bcs +
|
+ bcs +
|
||||||
sta $C003
|
sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
sec
|
sec
|
||||||
bcs -
|
bcs -
|
||||||
+ sta $C002
|
+ sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
+DEC_INPUT_AND_LOOP input, LoopBL
|
+DEC_INPUT_AND_LOOP input, LoopBL
|
||||||
DoneBL
|
DoneBL
|
||||||
|
|
||||||
@@ -70,12 +70,12 @@ LoopTL ; top-left quadrant
|
|||||||
+COPY_BIT src1, dest1, copymasks1bit
|
+COPY_BIT src1, dest1, copymasks1bit
|
||||||
+COPY_BIT src2, dest2, copymasks1bit
|
+COPY_BIT src2, dest2, copymasks1bit
|
||||||
+ bcs +
|
+ bcs +
|
||||||
sta $C003
|
sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
sec
|
sec
|
||||||
bcs -
|
bcs -
|
||||||
+ sta $C002
|
+ sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
+INC_INPUT_AND_LOOP input, LoopTL
|
+INC_INPUT_AND_LOOP input, LoopTL
|
||||||
DoneTL
|
DoneTL
|
||||||
|
|
||||||
@@ -98,12 +98,12 @@ LoopTR ; top-right quadrant (same row, opposite co
|
|||||||
+COPY_BIT src1, dest1, mirror_copymasks1bit
|
+COPY_BIT src1, dest1, mirror_copymasks1bit
|
||||||
+COPY_BIT src2, dest2, mirror_copymasks1bit
|
+COPY_BIT src2, dest2, mirror_copymasks1bit
|
||||||
+ bcs +
|
+ bcs +
|
||||||
sta $C003
|
sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
sec
|
sec
|
||||||
bcs -
|
bcs -
|
||||||
+ sta $C002
|
+ sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
+DEC_INPUT_AND_LOOP input, LoopTR
|
+DEC_INPUT_AND_LOOP input, LoopTR
|
||||||
DoneTR
|
DoneTR
|
||||||
|
|
||||||
@@ -126,12 +126,12 @@ LoopBR ; bottom-right quadrant (opposite row, oppo
|
|||||||
+COPY_BIT mirror_src1, mirror_dest1, mirror_copymasks1bit
|
+COPY_BIT mirror_src1, mirror_dest1, mirror_copymasks1bit
|
||||||
+COPY_BIT mirror_src2, mirror_dest2, mirror_copymasks1bit
|
+COPY_BIT mirror_src2, mirror_dest2, mirror_copymasks1bit
|
||||||
+ bcs +
|
+ bcs +
|
||||||
sta $C003
|
sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
sec
|
sec
|
||||||
bcs -
|
bcs -
|
||||||
+ sta $C002
|
+ sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
+INC_INPUT_AND_LOOP input, LoopBR
|
+INC_INPUT_AND_LOOP input, LoopBR
|
||||||
DoneBR
|
DoneBR
|
||||||
rts
|
rts
|
||||||
|
@@ -42,12 +42,12 @@ Loop ldy #0
|
|||||||
+COPY_BIT src1, dest1, copymasks1bit
|
+COPY_BIT src1, dest1, copymasks1bit
|
||||||
+COPY_BIT src2, dest2, copymasks1bit
|
+COPY_BIT src2, dest2, copymasks1bit
|
||||||
+ bcs +
|
+ bcs +
|
||||||
sta $C003
|
sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
sec
|
sec
|
||||||
bcs -
|
bcs -
|
||||||
+ sta $C002
|
+ sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
|
|
||||||
; bottom-right quadrant (opposite row, opposite column, original input order)
|
; bottom-right quadrant (opposite row, opposite column, original input order)
|
||||||
lda mirror_cols,y
|
lda mirror_cols,y
|
||||||
@@ -58,12 +58,12 @@ Loop ldy #0
|
|||||||
+COPY_BIT mirror_src1, mirror_dest1, mirror_copymasks1bit
|
+COPY_BIT mirror_src1, mirror_dest1, mirror_copymasks1bit
|
||||||
+COPY_BIT mirror_src2, mirror_dest2, mirror_copymasks1bit
|
+COPY_BIT mirror_src2, mirror_dest2, mirror_copymasks1bit
|
||||||
+ bcs +
|
+ bcs +
|
||||||
sta $C003
|
sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
sec
|
sec
|
||||||
bcs -
|
bcs -
|
||||||
+ sta $C002
|
+ sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
lda (reverse_input),y
|
lda (reverse_input),y
|
||||||
@@ -81,12 +81,12 @@ Loop ldy #0
|
|||||||
+COPY_BIT mirror_src1, mirror_dest1, copymasks1bit
|
+COPY_BIT mirror_src1, mirror_dest1, copymasks1bit
|
||||||
+COPY_BIT mirror_src2, mirror_dest2, copymasks1bit
|
+COPY_BIT mirror_src2, mirror_dest2, copymasks1bit
|
||||||
+ bcs +
|
+ bcs +
|
||||||
sta $C003
|
sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
sec
|
sec
|
||||||
bcs -
|
bcs -
|
||||||
+ sta $C002
|
+ sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
|
|
||||||
; top-right quadrant (same row, opposite column, reverse input order)
|
; top-right quadrant (same row, opposite column, reverse input order)
|
||||||
lda mirror_cols,y
|
lda mirror_cols,y
|
||||||
@@ -97,12 +97,12 @@ Loop ldy #0
|
|||||||
+COPY_BIT src1, dest1, mirror_copymasks1bit
|
+COPY_BIT src1, dest1, mirror_copymasks1bit
|
||||||
+COPY_BIT src2, dest2, mirror_copymasks1bit
|
+COPY_BIT src2, dest2, mirror_copymasks1bit
|
||||||
+ bcs +
|
+ bcs +
|
||||||
sta $C003
|
sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
sec
|
sec
|
||||||
bcs -
|
bcs -
|
||||||
+ sta $C002
|
+ sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
|
|
||||||
inc input
|
inc input
|
||||||
bne +
|
bne +
|
||||||
|
@@ -50,12 +50,12 @@ Loop ldy #0
|
|||||||
+COPY_BIT src1, dest1, copymasks1bit
|
+COPY_BIT src1, dest1, copymasks1bit
|
||||||
+COPY_BIT src2, dest2, copymasks1bit
|
+COPY_BIT src2, dest2, copymasks1bit
|
||||||
+ bcs +
|
+ bcs +
|
||||||
sta $C003
|
sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
sec
|
sec
|
||||||
bcs -
|
bcs -
|
||||||
+ sta $C002
|
+ sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
|
|
||||||
; bottom-right quadrant (opposite row, opposite column, original input order)
|
; bottom-right quadrant (opposite row, opposite column, original input order)
|
||||||
lda mirror_cols,y
|
lda mirror_cols,y
|
||||||
@@ -66,12 +66,12 @@ Loop ldy #0
|
|||||||
+COPY_BIT mirror_src1, mirror_dest1, mirror_copymasks1bit
|
+COPY_BIT mirror_src1, mirror_dest1, mirror_copymasks1bit
|
||||||
+COPY_BIT mirror_src2, mirror_dest2, mirror_copymasks1bit
|
+COPY_BIT mirror_src2, mirror_dest2, mirror_copymasks1bit
|
||||||
+ bcs +
|
+ bcs +
|
||||||
sta $C003
|
sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
sec
|
sec
|
||||||
bcs -
|
bcs -
|
||||||
+ sta $C002
|
+ sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
lda (reverse_input),y
|
lda (reverse_input),y
|
||||||
@@ -89,12 +89,12 @@ Loop ldy #0
|
|||||||
+COPY_BIT mirror_src1, mirror_dest1, copymasks1bit
|
+COPY_BIT mirror_src1, mirror_dest1, copymasks1bit
|
||||||
+COPY_BIT mirror_src2, mirror_dest2, copymasks1bit
|
+COPY_BIT mirror_src2, mirror_dest2, copymasks1bit
|
||||||
+ bcs +
|
+ bcs +
|
||||||
sta $C003
|
sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
sec
|
sec
|
||||||
bcs -
|
bcs -
|
||||||
+ sta $C002
|
+ sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
|
|
||||||
; top-right quadrant (same row, opposite column, reverse input order)
|
; top-right quadrant (same row, opposite column, reverse input order)
|
||||||
lda mirror_cols,y
|
lda mirror_cols,y
|
||||||
@@ -105,12 +105,12 @@ Loop ldy #0
|
|||||||
+COPY_BIT src1, dest1, mirror_copymasks1bit
|
+COPY_BIT src1, dest1, mirror_copymasks1bit
|
||||||
+COPY_BIT src2, dest2, mirror_copymasks1bit
|
+COPY_BIT src2, dest2, mirror_copymasks1bit
|
||||||
+ bcs +
|
+ bcs +
|
||||||
sta $C003
|
sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
sec
|
sec
|
||||||
bcs -
|
bcs -
|
||||||
+ sta $C002
|
+ sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
|
|
||||||
inc input
|
inc input
|
||||||
bne +
|
bne +
|
||||||
|
@@ -37,7 +37,7 @@ row2=*+1
|
|||||||
beq +
|
beq +
|
||||||
jsr DrawBlackLine
|
jsr DrawBlackLine
|
||||||
+
|
+
|
||||||
lda $C000
|
lda KBD
|
||||||
bmi exit
|
bmi exit
|
||||||
inc row1
|
inc row1
|
||||||
dec row2
|
dec row2
|
||||||
@@ -59,7 +59,7 @@ loop2 jsr WaitForVBL
|
|||||||
ldx row2
|
ldx row2
|
||||||
inx
|
inx
|
||||||
jsr CopyLine
|
jsr CopyLine
|
||||||
lda $C000
|
lda KBD
|
||||||
bmi exit
|
bmi exit
|
||||||
inc row1
|
inc row1
|
||||||
dec row2
|
dec row2
|
||||||
@@ -81,14 +81,14 @@ DrawRedLine
|
|||||||
reddst1 sta $FDFD, y ; SMC
|
reddst1 sta $FDFD, y ; SMC
|
||||||
dey
|
dey
|
||||||
bpl -
|
bpl -
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
ldy #$27
|
ldy #$27
|
||||||
lda #$08
|
lda #$08
|
||||||
- eor #$2A
|
- eor #$2A
|
||||||
reddst2 sta $FDFD, y ; SMC
|
reddst2 sta $FDFD, y ; SMC
|
||||||
dey
|
dey
|
||||||
bpl -
|
bpl -
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
rts
|
rts
|
||||||
|
|
||||||
DrawBlackLine
|
DrawBlackLine
|
||||||
@@ -104,9 +104,9 @@ DrawBlackLine
|
|||||||
blackdst sta $FDFD, y ; SMC
|
blackdst sta $FDFD, y ; SMC
|
||||||
dey
|
dey
|
||||||
bpl blackdst
|
bpl blackdst
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
bcc --
|
bcc --
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
rts
|
rts
|
||||||
|
|
||||||
CopyLine
|
CopyLine
|
||||||
@@ -125,11 +125,11 @@ copysrc lda $FDFD, y ; SMC
|
|||||||
copydst sta $FDFD, y ; SMC
|
copydst sta $FDFD, y ; SMC
|
||||||
dey
|
dey
|
||||||
bpl copysrc
|
bpl copysrc
|
||||||
sta $C003
|
sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
bcc -
|
bcc -
|
||||||
sta $C002
|
sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
rts
|
rts
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
@@ -127,8 +127,8 @@ RowLoop
|
|||||||
+COPY_BYTE 6
|
+COPY_BYTE 6
|
||||||
+COPY_BYTE 7
|
+COPY_BYTE 7
|
||||||
@switchtoaux
|
@switchtoaux
|
||||||
sta $C003
|
sta READAUXMEM
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
+BRANCH_IF_Y_IS_OFFSCREEN @block6_aux
|
+BRANCH_IF_Y_IS_OFFSCREEN @block6_aux
|
||||||
+COPY_BYTE 0
|
+COPY_BYTE 0
|
||||||
+COPY_BYTE 1
|
+COPY_BYTE 1
|
||||||
@@ -187,8 +187,8 @@ RowLoop
|
|||||||
+COPY_WITH_OFFSET_AND_MASK 3, %11000000
|
+COPY_WITH_OFFSET_AND_MASK 3, %11000000
|
||||||
+COPY_WITH_OFFSET_AND_MASK 4, %11000000
|
+COPY_WITH_OFFSET_AND_MASK 4, %11000000
|
||||||
@switchtomain
|
@switchtomain
|
||||||
sta $C002
|
sta READMAINMEM
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
iny
|
iny
|
||||||
jmp RowLoop
|
jmp RowLoop
|
||||||
|
|
||||||
|
@@ -46,7 +46,7 @@ dst sta $FD00, y ; SMC high byte
|
|||||||
tay
|
tay
|
||||||
bcc loop2
|
bcc loop2
|
||||||
bne loop
|
bne loop
|
||||||
bit $C000
|
bit KBD
|
||||||
bmi exit
|
bmi exit
|
||||||
txa
|
txa
|
||||||
bne loop1
|
bne loop1
|
||||||
|
@@ -59,7 +59,7 @@ dst sta $FD00, y ; write the result
|
|||||||
tay
|
tay
|
||||||
bcc loop2 ; C modified by ror
|
bcc loop2 ; C modified by ror
|
||||||
bne loop ; Z modified by tay
|
bne loop ; Z modified by tay
|
||||||
bit $C000
|
bit KBD
|
||||||
bmi exit
|
bmi exit
|
||||||
txa
|
txa
|
||||||
bne loop1
|
bne loop1
|
||||||
|
@@ -60,7 +60,7 @@ dst sta $FD00, y ; write the result
|
|||||||
tay
|
tay
|
||||||
bcc loop2 ; C modified by ror
|
bcc loop2 ; C modified by ror
|
||||||
bne loop ; Z modified by tay
|
bne loop ; Z modified by tay
|
||||||
bit $C000
|
bit KBD
|
||||||
bmi exit
|
bmi exit
|
||||||
txa
|
txa
|
||||||
bne loop1
|
bne loop1
|
||||||
|
@@ -549,7 +549,7 @@ NextBox dex
|
|||||||
bpl <BoxLoop
|
bpl <BoxLoop
|
||||||
lda <j+2
|
lda <j+2
|
||||||
bpl + ; if we didn't draw anything in any box, we're done
|
bpl + ; if we didn't draw anything in any box, we're done
|
||||||
lda $C000
|
lda KBD
|
||||||
sta <j+2
|
sta <j+2
|
||||||
bpl <MainLoop
|
bpl <MainLoop
|
||||||
+ rts
|
+ rts
|
||||||
|
@@ -139,7 +139,7 @@ dst sta $FD00, y ; write the result
|
|||||||
tay
|
tay
|
||||||
bcc loop2 ; C modified by ror
|
bcc loop2 ; C modified by ror
|
||||||
bne loop ; Z modified by tay
|
bne loop ; Z modified by tay
|
||||||
bit $C000
|
bit KBD
|
||||||
bmi exit
|
bmi exit
|
||||||
txa
|
txa
|
||||||
bne loop1
|
bne loop1
|
||||||
|
@@ -100,7 +100,7 @@ RowLoop
|
|||||||
lda #13
|
lda #13
|
||||||
sta mask2
|
sta mask2
|
||||||
+
|
+
|
||||||
bit $C000
|
bit KBD
|
||||||
bmi Exit
|
bmi Exit
|
||||||
inc row1
|
inc row1
|
||||||
dec row2
|
dec row2
|
||||||
|
@@ -92,7 +92,7 @@ RowLoop
|
|||||||
lda #13
|
lda #13
|
||||||
sta mask2
|
sta mask2
|
||||||
+
|
+
|
||||||
bit $C000
|
bit KBD
|
||||||
bmi Exit
|
bmi Exit
|
||||||
inc row1
|
inc row1
|
||||||
dec row2
|
dec row2
|
||||||
|
@@ -100,7 +100,7 @@ RowLoop
|
|||||||
lda #15
|
lda #15
|
||||||
sta mask2
|
sta mask2
|
||||||
+
|
+
|
||||||
bit $C000
|
bit KBD
|
||||||
bmi Exit
|
bmi Exit
|
||||||
inc row1
|
inc row1
|
||||||
dec row2
|
dec row2
|
||||||
|
@@ -36,7 +36,7 @@ loop2 txa
|
|||||||
tay
|
tay
|
||||||
bcc loop2
|
bcc loop2
|
||||||
bne loop
|
bne loop
|
||||||
bit $C000
|
bit KBD
|
||||||
bmi exit
|
bmi exit
|
||||||
txa
|
txa
|
||||||
bne loop1
|
bne loop1
|
||||||
|
@@ -49,7 +49,7 @@ dst sta $FD00, y ; SMC high byte
|
|||||||
tay
|
tay
|
||||||
bcc loop2
|
bcc loop2
|
||||||
bne loop
|
bne loop
|
||||||
lda $C000
|
lda KBD
|
||||||
bmi exit
|
bmi exit
|
||||||
txa
|
txa
|
||||||
bne loop1
|
bne loop1
|
||||||
|
@@ -32,7 +32,7 @@ dst sta $0000, y ; SMC
|
|||||||
inx
|
inx
|
||||||
cpx #$C8
|
cpx #$C8
|
||||||
bcc loop3
|
bcc loop3
|
||||||
lda $C000
|
lda KBD
|
||||||
bmi @exit
|
bmi @exit
|
||||||
iny
|
iny
|
||||||
cpy #$A0
|
cpy #$A0
|
||||||
|
@@ -148,7 +148,7 @@ NextBox dex
|
|||||||
lda <stage+1
|
lda <stage+1
|
||||||
beq exit ; if we didn't draw anything in any box, we're done
|
beq exit ; if we didn't draw anything in any box, we're done
|
||||||
stx <stage+1 ; X=0 here
|
stx <stage+1 ; X=0 here
|
||||||
bit $C000
|
bit KBD
|
||||||
bpl MainLoop
|
bpl MainLoop
|
||||||
exit
|
exit
|
||||||
setV rts
|
setV rts
|
||||||
|
@@ -49,7 +49,7 @@ dst sta $FDFD, y ; SMC
|
|||||||
cmp #$FF
|
cmp #$FF
|
||||||
bne +
|
bne +
|
||||||
dec <startcolhi
|
dec <startcolhi
|
||||||
+ lda $C000
|
+ lda KBD
|
||||||
bmi exit
|
bmi exit
|
||||||
dec <counter
|
dec <counter
|
||||||
bne colloop
|
bne colloop
|
||||||
|
@@ -15,7 +15,7 @@ palettes = $BC00 ; $200 bytes
|
|||||||
|
|
||||||
!source "src/fx/macros.a"
|
!source "src/fx/macros.a"
|
||||||
|
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
ldy #0 ; copy pixel data
|
ldy #0 ; copy pixel data
|
||||||
sty src
|
sty src
|
||||||
sty dst
|
sty dst
|
||||||
@@ -36,22 +36,22 @@ palettes = $BC00 ; $200 bytes
|
|||||||
iny
|
iny
|
||||||
bne -
|
bne -
|
||||||
|
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
- lda $9E00, y ; Back up palettes to alternate location in main memory.
|
- lda $9E00, y ; Back up palettes to alternate location in main memory.
|
||||||
sta palettes, y ; The CPU in a 64K Apple ][+/][e w/VidHD ignores STA $C004/5
|
sta palettes, y ; The CPU in a 64K Apple ][+/][e w/VidHD ignores STA WRITEMAINMEM/5
|
||||||
lda $9F00, y ; but VidHD respects them, so we can't clear the palettes
|
lda $9F00, y ; but VidHD respects them, so we can't clear the palettes
|
||||||
sta palettes+$100, y ; in auxmem until we copy them in mainmem. Whee.
|
sta palettes+$100, y ; in auxmem until we copy them in mainmem. Whee.
|
||||||
iny
|
iny
|
||||||
bne -
|
bne -
|
||||||
|
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
lda #0
|
lda #0
|
||||||
- sta $9E00, y ; now clear the palettes
|
- sta $9E00, y ; now clear the palettes
|
||||||
sta $9F00, y
|
sta $9F00, y
|
||||||
iny
|
iny
|
||||||
bne -
|
bne -
|
||||||
|
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
lda #>palettes
|
lda #>palettes
|
||||||
sta src+1
|
sta src+1
|
||||||
ldx #$0F ; palette counter ($0F -> $00, not used as index)
|
ldx #$0F ; palette counter ($0F -> $00, not used as index)
|
||||||
@@ -163,14 +163,14 @@ g_step_loop
|
|||||||
ldx #$1D
|
ldx #$1D
|
||||||
ldy #$00
|
ldy #$00
|
||||||
copyloop jsr WaitForVBL
|
copyloop jsr WaitForVBL
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
copy1 lda $4400, y ; SMC
|
copy1 lda $4400, y ; SMC
|
||||||
sta $9E00, y
|
sta $9E00, y
|
||||||
copy2 lda $4500, y ; SMC
|
copy2 lda $4500, y ; SMC
|
||||||
sta $9F00, y
|
sta $9F00, y
|
||||||
iny
|
iny
|
||||||
bne copy1
|
bne copy1
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
inc copy1+2
|
inc copy1+2
|
||||||
inc copy1+2
|
inc copy1+2
|
||||||
inc copy2+2
|
inc copy2+2
|
||||||
|
@@ -46,7 +46,7 @@ src lda $FD00, y ; SMC high byte
|
|||||||
tay
|
tay
|
||||||
bcc loop2
|
bcc loop2
|
||||||
bne loop
|
bne loop
|
||||||
bit $C000
|
bit KBD
|
||||||
bmi exit
|
bmi exit
|
||||||
txa
|
txa
|
||||||
bne loop1
|
bne loop1
|
||||||
|
@@ -32,7 +32,7 @@ loop2 lda shrlo-1, x
|
|||||||
dst sta $0000, y ; SMC
|
dst sta $0000, y ; SMC
|
||||||
dex
|
dex
|
||||||
bne loop2
|
bne loop2
|
||||||
lda $C000
|
lda KBD
|
||||||
bmi @exit
|
bmi @exit
|
||||||
iny
|
iny
|
||||||
cpy #$A0
|
cpy #$A0
|
||||||
|
@@ -30,7 +30,7 @@ loop3 lda shrlo-1, x
|
|||||||
dst sta $0000, y ; SMC
|
dst sta $0000, y ; SMC
|
||||||
dex
|
dex
|
||||||
bne loop3
|
bne loop3
|
||||||
lda $C000
|
lda KBD
|
||||||
bmi @exit
|
bmi @exit
|
||||||
iny
|
iny
|
||||||
iny
|
iny
|
||||||
|
@@ -46,7 +46,7 @@ LoopBL ldx last_coords ; SMC
|
|||||||
plp
|
plp
|
||||||
bne LoopBL
|
bne LoopBL
|
||||||
dec <LoopBL+2
|
dec <LoopBL+2
|
||||||
bit $C000
|
bit KBD
|
||||||
bpl LoopBL
|
bpl LoopBL
|
||||||
rts
|
rts
|
||||||
|
|
||||||
@@ -61,7 +61,7 @@ LoopTL ldx coords ; SMC
|
|||||||
inc <LoopTL+1
|
inc <LoopTL+1
|
||||||
bne LoopTL
|
bne LoopTL
|
||||||
inc <LoopTL+2
|
inc <LoopTL+2
|
||||||
bit $C000
|
bit KBD
|
||||||
bpl LoopTL
|
bpl LoopTL
|
||||||
rts
|
rts
|
||||||
|
|
||||||
@@ -81,7 +81,7 @@ LoopTR ldx last_coords ; SMC
|
|||||||
plp
|
plp
|
||||||
bne LoopTR
|
bne LoopTR
|
||||||
dec <LoopTR+2
|
dec <LoopTR+2
|
||||||
bit $C000
|
bit KBD
|
||||||
bpl LoopTR
|
bpl LoopTR
|
||||||
rts
|
rts
|
||||||
|
|
||||||
@@ -100,7 +100,7 @@ LoopBR ldx coords ; SMC
|
|||||||
inc <LoopBR+1
|
inc <LoopBR+1
|
||||||
bne LoopBR
|
bne LoopBR
|
||||||
inc <LoopBR+2
|
inc <LoopBR+2
|
||||||
bit $C000
|
bit KBD
|
||||||
bpl LoopBR
|
bpl LoopBR
|
||||||
copy
|
copy
|
||||||
lda shrlo, x
|
lda shrlo, x
|
||||||
|
@@ -73,7 +73,7 @@ reverse_input
|
|||||||
plp
|
plp
|
||||||
bne +
|
bne +
|
||||||
dec <reverse_input+2
|
dec <reverse_input+2
|
||||||
+ bit $C000
|
+ bit KBD
|
||||||
bpl input
|
bpl input
|
||||||
copy
|
copy
|
||||||
lda shrlo, x
|
lda shrlo, x
|
||||||
|
@@ -41,7 +41,7 @@ rdst sta $0000, y ; SMC
|
|||||||
iny
|
iny
|
||||||
cpy #$A0
|
cpy #$A0
|
||||||
bcc loop2
|
bcc loop2
|
||||||
lda $C000
|
lda KBD
|
||||||
bmi exit
|
bmi exit
|
||||||
dex
|
dex
|
||||||
bne loop
|
bne loop
|
||||||
|
@@ -11,7 +11,7 @@
|
|||||||
lda #$00
|
lda #$00
|
||||||
sta $FE
|
sta $FE
|
||||||
tay
|
tay
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
- lda ($FE),y
|
- lda ($FE),y
|
||||||
sta ($FE),y
|
sta ($FE),y
|
||||||
iny
|
iny
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
inc $FF
|
inc $FF
|
||||||
dex
|
dex
|
||||||
bne -
|
bne -
|
||||||
sta $C004
|
sta WRITEMAINMEM
|
||||||
}
|
}
|
||||||
|
|
||||||
_FX_MACROS_DHGR_=*
|
_FX_MACROS_DHGR_=*
|
||||||
|
@@ -54,7 +54,7 @@
|
|||||||
; out: X=0
|
; out: X=0
|
||||||
; Z=1
|
; Z=1
|
||||||
; WRITEAUXMEM active
|
; WRITEAUXMEM active
|
||||||
sta $C005
|
sta WRITEAUXMEM
|
||||||
- lda $9D00, x
|
- lda $9D00, x
|
||||||
sta $9D00, x
|
sta $9D00, x
|
||||||
lda $9E00, x
|
lda $9E00, x
|
||||||
@@ -161,7 +161,7 @@ input ldx .coords ; first value: SHR row (only 0..99 will be
|
|||||||
inc <input+1
|
inc <input+1
|
||||||
bne input
|
bne input
|
||||||
inc <input+2
|
inc <input+2
|
||||||
bit $C000
|
bit KBD
|
||||||
bpl input
|
bpl input
|
||||||
|
|
||||||
copy_block_from_x
|
copy_block_from_x
|
||||||
|
@@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
+READ_RAM2_NO_WRITE
|
+READ_RAM2_NO_WRITE
|
||||||
jsr EnableAccelerator
|
jsr EnableAccelerator
|
||||||
bit $C010
|
bit CLEARKBD
|
||||||
jsr $94E4 ; decompress game
|
jsr $94E4 ; decompress game
|
||||||
|
|
||||||
lda MockingboardStuff
|
lda MockingboardStuff
|
||||||
|
@@ -16,7 +16,7 @@
|
|||||||
jmp $27BF ; decompress
|
jmp $27BF ; decompress
|
||||||
|
|
||||||
callback1
|
callback1
|
||||||
lda $C000
|
lda KBD
|
||||||
bpl callback1
|
bpl callback1
|
||||||
ldy #(callback2_e - callback2) - 1
|
ldy #(callback2_e - callback2) - 1
|
||||||
- lda callback2, y
|
- lda callback2, y
|
||||||
|
@@ -32,7 +32,7 @@
|
|||||||
jmp $1B00
|
jmp $1B00
|
||||||
|
|
||||||
keypress
|
keypress
|
||||||
lda $C000
|
lda KBD
|
||||||
bpl keypress
|
bpl keypress
|
||||||
cmp #$8D
|
cmp #$8D
|
||||||
bne keypress
|
bne keypress
|
||||||
|
@@ -33,7 +33,7 @@ callback1
|
|||||||
jsr $9503
|
jsr $9503
|
||||||
+DISABLE_ACCEL
|
+DISABLE_ACCEL
|
||||||
jsr $BC6C
|
jsr $BC6C
|
||||||
sta $C010
|
sta CLEARKBD
|
||||||
|
|
||||||
callback2
|
callback2
|
||||||
+READ_RAM2_NO_WRITE
|
+READ_RAM2_NO_WRITE
|
||||||
|
@@ -28,9 +28,9 @@
|
|||||||
jsr DisableAccelerator
|
jsr DisableAccelerator
|
||||||
+READ_ROM_NO_WRITE
|
+READ_ROM_NO_WRITE
|
||||||
|
|
||||||
- lda $C000
|
- lda KBD
|
||||||
bpl -
|
bpl -
|
||||||
lda $C010
|
lda CLEARKBD
|
||||||
jmp $8A60
|
jmp $8A60
|
||||||
|
|
||||||
callback
|
callback
|
||||||
|
Reference in New Issue
Block a user