mirror of
https://github.com/a2-4am/4cade.git
synced 2025-02-20 12:29:04 +00:00
move self-contained shared FX routines to new FXCODE index and load them as needed
This commit is contained in:
parent
4fd63e6154
commit
b3a1f010d6
6
Makefile
6
Makefile
@ -135,11 +135,12 @@ index: preconditions md asmfx asmprelaunch asmdemo compress extract
|
||||
[ -f build/index ] || (bin/buildindexedfile.sh -p -a build/TOTAL.DATA build/FX.INDEXED < res/FX.CONF > build/FX.IDX)
|
||||
[ -f build/index ] || (bin/buildindexedfile.sh -p -a build/TOTAL.DATA build/FX.INDEXED < res/DFX.CONF > build/DFX.IDX)
|
||||
[ -f build/index ] || (bin/buildindexedfile.sh -p -a build/TOTAL.DATA build/FX.INDEXED < res/SFX.CONF > build/SFX.IDX)
|
||||
[ -f build/index ] || ((for f in build/FXCODE/*; do echo "$$(basename $$f)"; done) | bin/buildindexedfile.sh -p -a build/TOTAL.DATA build/FXCODE > build/FXCODE.IDX)
|
||||
#
|
||||
# precompute indexed files for coordinates files loaded by graphic effects
|
||||
# note: these can not be padded because some of them are loaded into tight spaces near the unclobberable top of main memory
|
||||
#
|
||||
[ -f build/index ] || ((for f in build/FX/*.DATA; do echo "$$(basename $$f)"; done) | bin/buildindexedfile.sh -a build/TOTAL.DATA build/FX > build/FXDATA.IDX)
|
||||
[ -f build/index ] || ((for f in build/FXDATA/*; do echo "$$(basename $$f)"; done) | bin/buildindexedfile.sh -a build/TOTAL.DATA build/FXDATA > build/FXDATA.IDX)
|
||||
#
|
||||
# precompute indexed files for HGR & DHGR action screenshots
|
||||
# note: these can not be padded because they are compressed and the decompressor needs the exact size
|
||||
@ -202,6 +203,7 @@ index: preconditions md asmfx asmprelaunch asmdemo compress extract
|
||||
[ -f build/index ] || bin/addfile.sh build/FX.IDX build/TOTAL.DATA > src/index/fx.idx.a
|
||||
[ -f build/index ] || bin/addfile.sh build/DFX.IDX build/TOTAL.DATA > src/index/dfx.idx.a
|
||||
[ -f build/index ] || bin/addfile.sh build/SFX.IDX build/TOTAL.DATA > src/index/sfx.idx.a
|
||||
[ -f build/index ] || bin/addfile.sh build/FXCODE.IDX build/TOTAL.DATA > src/index/fxcode.idx.a
|
||||
[ -f build/index ] || bin/addfile.sh build/FXDATA.IDX build/TOTAL.DATA > src/index/fxdata.idx.a
|
||||
[ -f build/index ] || bin/addfile.sh build/GAMEHELP.IDX build/TOTAL.DATA > src/index/gamehelp.idx.a
|
||||
[ -f build/index ] || bin/addfile.sh build/SLIDESHOW.IDX build/TOTAL.DATA > src/index/slideshow.idx.a
|
||||
@ -279,7 +281,7 @@ mount: dsk
|
||||
osascript bin/V2Make.scpt "`pwd`" bin/4cade.vii build/"$(DISK)"
|
||||
|
||||
md:
|
||||
mkdir -p build/X build/X.INDEXED build/FX build/FX.INDEXED build/PRELAUNCH build/PRELAUNCH.INDEXED build/ATTRACT build/SS build/GAMEHELP build/DEMO
|
||||
mkdir -p build/X build/X.INDEXED build/FX.INDEXED build/FXDATA build/FXCODE build/PRELAUNCH build/PRELAUNCH.INDEXED build/ATTRACT build/SS build/GAMEHELP build/DEMO
|
||||
touch build/log
|
||||
|
||||
clean:
|
||||
|
13
src/4cade.a
13
src/4cade.a
@ -159,23 +159,13 @@ gGlobalPrefsStore
|
||||
; be set to $55 as part of the 64K memory test,
|
||||
; which is apparently one of the acceptable values)
|
||||
|
||||
+DEFINE_INDIRECT_VECTOR iHGRDitherPrecomputed3Bit, HGRDitherPrecomputed3Bit
|
||||
+DEFINE_INDIRECT_VECTOR iHGRPrecomputed3Bit, HGRPrecomputed3Bit
|
||||
+DEFINE_INDIRECT_VECTOR iSetupPrecomputed3Bit, SetupPrecomputed3Bit
|
||||
+DEFINE_INDIRECT_VECTOR iRippleCoordinates3Bit, RippleCoordinates3Bit
|
||||
+DEFINE_INDIRECT_VECTOR iReverseCoordinates3Bit, ReverseCoordinates3Bit
|
||||
+DEFINE_INDIRECT_VECTOR iDHGRDitherPrecomputed2Bit, DHGRDitherPrecomputed2Bit
|
||||
+DEFINE_INDIRECT_VECTOR iDHGRPrecomputed2Bit, DHGRPrecomputed2Bit
|
||||
+DEFINE_INDIRECT_VECTOR iHGRDitherPrecomputed2Bit, HGRDitherPrecomputed2Bit
|
||||
+DEFINE_INDIRECT_VECTOR iHGRPrecomputed2Bit, HGRPrecomputed2Bit
|
||||
+DEFINE_INDIRECT_VECTOR iRippleCoordinates2Bit, RippleCoordinates2Bit
|
||||
+DEFINE_INDIRECT_VECTOR iReverseCoordinates2Bit, ReverseCoordinates2Bit
|
||||
+DEFINE_INDIRECT_VECTOR iBuildDHGRSparseBitmasks2Bit, BuildDHGRSparseBitmasks2Bit
|
||||
+DEFINE_INDIRECT_VECTOR iBuildHGRSparseBitmasks2Bit, BuildHGRSparseBitmasks2Bit
|
||||
+DEFINE_INDIRECT_VECTOR iDHGRDitherPrecomputed1Bit, DHGRDitherPrecomputed1Bit
|
||||
+DEFINE_INDIRECT_VECTOR iDHGRPrecomputed1Bit, DHGRPrecomputed1Bit
|
||||
+DEFINE_INDIRECT_VECTOR iHGRRadialPrecomputed1Bit, HGRRadialPrecomputed1Bit
|
||||
+DEFINE_INDIRECT_VECTOR iHGRDitherPrecomputed1Bit, HGRDitherPrecomputed1Bit
|
||||
+DEFINE_INDIRECT_VECTOR iHGRPrecomputed1Bit, HGRPrecomputed1Bit
|
||||
+DEFINE_INDIRECT_VECTOR iBuildDHGRSparseBitmasks1Bit, BuildDHGRSparseBitmasks1Bit
|
||||
+DEFINE_INDIRECT_VECTOR iBuildHGRSparseBitmasks1Bit, BuildHGRSparseBitmasks1Bit
|
||||
+DEFINE_INDIRECT_VECTOR iRippleCoordinates1Bit4, RippleCoordinates1Bit4
|
||||
@ -191,6 +181,7 @@ gGlobalPrefsStore
|
||||
+DEFINE_INDIRECT_VECTOR iBuildHGRMirrorTables, BuildHGRMirrorTables
|
||||
+DEFINE_INDIRECT_VECTOR iBuildHGRTables, BuildHGRTables
|
||||
+DEFINE_INDIRECT_VECTOR iLoadFXDATA, LoadFXDATA
|
||||
+DEFINE_INDIRECT_VECTOR iLoadFXCODE, LoadFXCODE
|
||||
+DEFINE_INDIRECT_VECTOR iLoadXSingle, LoadXSingle
|
||||
+DEFINE_INDIRECT_VECTOR iAddToPath, AddToPath
|
||||
+DEFINE_INDIRECT_VECTOR iLoadFileDirect, LoadFileDirect
|
||||
|
@ -173,6 +173,7 @@ mirror_cols = $02C1 ; $28 bytes
|
||||
hgrhi = $0301 ; $C0 bytes
|
||||
hgr1hi = hgrhi
|
||||
|
||||
FXCode = $6200
|
||||
Coordinates1Bit= $8600 ; $3481 bytes ($3480 on disk + 1 byte EOF marker added at runtime)
|
||||
EndCoordinates1Bit = Coordinates1Bit + $3480
|
||||
|
||||
@ -212,7 +213,8 @@ WaitForVBL = UnwaitForVBL-3
|
||||
iLoadFileDirect = WaitForVBL-3 ; note: you really want LC RAM 2 banked in before calling this
|
||||
iAddToPath = iLoadFileDirect-3
|
||||
iLoadXSingle = iAddToPath-3
|
||||
iLoadFXDATA = iLoadXSingle-3
|
||||
iLoadFXCODE = iLoadXSingle-3
|
||||
iLoadFXDATA = iLoadFXCODE-3
|
||||
iBuildHGRTables = iLoadFXDATA-3
|
||||
iBuildHGRMirrorTables = iBuildHGRTables-3
|
||||
iBuildHGRMirrorCols = iBuildHGRMirrorTables-3
|
||||
@ -227,23 +229,13 @@ iRippleCoordinates1Bit3 = iRippleCoordinates1Bit2-3
|
||||
iRippleCoordinates1Bit4 = iRippleCoordinates1Bit3-3
|
||||
iBuildHGRSparseBitmasks1Bit = iRippleCoordinates1Bit4-3
|
||||
iBuildDHGRSparseBitmasks1Bit = iBuildHGRSparseBitmasks1Bit-3
|
||||
iHGRPrecomputed1Bit = iBuildDHGRSparseBitmasks1Bit-3
|
||||
iHGRDitherPrecomputed1Bit = iHGRPrecomputed1Bit-3
|
||||
iHGRRadialPrecomputed1Bit = iHGRDitherPrecomputed1Bit-3
|
||||
iDHGRPrecomputed1Bit = iHGRRadialPrecomputed1Bit-3
|
||||
iDHGRDitherPrecomputed1Bit = iDHGRPrecomputed1Bit-3
|
||||
iBuildHGRSparseBitmasks2Bit = iDHGRDitherPrecomputed1Bit-3
|
||||
iBuildHGRSparseBitmasks2Bit = iBuildDHGRSparseBitmasks1Bit-3
|
||||
iBuildDHGRSparseBitmasks2Bit = iBuildHGRSparseBitmasks2Bit-3
|
||||
iReverseCoordinates2Bit = iBuildDHGRSparseBitmasks2Bit-3
|
||||
iRippleCoordinates2Bit = iReverseCoordinates2Bit-3
|
||||
iHGRPrecomputed2Bit = iRippleCoordinates2Bit-3
|
||||
iHGRDitherPrecomputed2Bit = iHGRPrecomputed2Bit-3
|
||||
iDHGRPrecomputed2Bit = iHGRDitherPrecomputed2Bit-3
|
||||
iDHGRDitherPrecomputed2Bit = iDHGRPrecomputed2Bit-3
|
||||
iReverseCoordinates3Bit = iDHGRDitherPrecomputed2Bit-3
|
||||
iReverseCoordinates3Bit = iRippleCoordinates2Bit-3
|
||||
iRippleCoordinates3Bit = iReverseCoordinates3Bit-3
|
||||
iHGRPrecomputed3Bit = iRippleCoordinates3Bit-3
|
||||
iHGRDitherPrecomputed3Bit = iHGRPrecomputed3Bit-3
|
||||
iSetupPrecomputed3Bit = iRippleCoordinates3Bit-3
|
||||
|
||||
MockingboardStuff = $FFF8 ; bit 7 = 1 if SC-01 speech chip present (Speech I)
|
||||
; bit 6 = 1 if SSI-263 speech chip present (Mockingboard "B"-"D")
|
||||
|
1324
src/fx.lib.a
1324
src/fx.lib.a
File diff suppressed because it is too large
Load Diff
160
src/fx/code.dhgr.dither.precomputed.1bit.a
Normal file
160
src/fx/code.dhgr.dither.precomputed.1bit.a
Normal file
@ -0,0 +1,160 @@
|
||||
!cpu 6502
|
||||
!to "build/FXCODE/DHGRDITHER1",plain
|
||||
*=$6200
|
||||
|
||||
!source "src/fx/macros.a"
|
||||
|
||||
;DHGRDitherPrecomputed1Bit
|
||||
jsr iBuildDHGRDitherMasks
|
||||
jsr iBuildDHGRSparseBitmasks1Bit
|
||||
jsr iBuildHGRTables
|
||||
jsr iBuildHGRMirrorTables
|
||||
jsr iBuildDHGRMirrorCols
|
||||
|
||||
; phase 1 - in reverse, with additional masking
|
||||
+COPY_TO_0 .start, .end
|
||||
|
||||
; set up starting coordinate for reading coordinates in reverse order
|
||||
+LDADDR EndCoordinates1Bit-2
|
||||
sta <.input
|
||||
sty <.input+1
|
||||
|
||||
; set up EOF marker to stop reading coordinates in reverse order
|
||||
lda #$80
|
||||
sta Coordinates1Bit-2
|
||||
|
||||
; set up logic to advance to next coordinates in reverse order
|
||||
ldx #(.next2_end-.next2_start-1)
|
||||
- lda .next2_start, x
|
||||
sta <.next, x
|
||||
dex
|
||||
bpl -
|
||||
|
||||
jsr .InputLoop
|
||||
|
||||
bit KBD
|
||||
bmi .start
|
||||
|
||||
; phase 2 - in order, without additional masking
|
||||
+COPY_TO_0 .start, .end
|
||||
|
||||
; redirect additional masking pointers to an array that contains #$FFs (so no masking)
|
||||
lda #<no_masks
|
||||
sta <.evenrow_ptr
|
||||
sta <.oddrow_ptr
|
||||
|
||||
jmp .InputLoop
|
||||
.start
|
||||
!pseudopc 0 {
|
||||
.Exit1Bit rts
|
||||
.evenrow_ptr
|
||||
!word evenrow_masks
|
||||
.oddrow_ptr
|
||||
!word oddrow_masks
|
||||
.InputLoop
|
||||
ldy #0
|
||||
.input=*+1
|
||||
ldx Coordinates1Bit ; first value: HGR row (only 0..95 will be in input array)
|
||||
bmi .Exit1Bit ; if > 127 then we're done
|
||||
+ROW_X_TO_BASE_ADDRESSES .src1, .src2, .dest1, .dest2
|
||||
+ROW_X_TO_MIRROR_ADDRESSES .mirror_src1, .mirror_src2, .mirror_dest1, .mirror_dest2
|
||||
|
||||
iny
|
||||
lda (<.input), y
|
||||
+HIGH_3_LOW_5 .input
|
||||
sty <.y
|
||||
clc
|
||||
.bankloop
|
||||
lda copymasks1bit, x
|
||||
beq +
|
||||
sta <.copymask
|
||||
|
||||
; main 1x2 block in top-left quadrant
|
||||
.src1=*+1
|
||||
lda $FDFD, y
|
||||
eor (<.dest1), y
|
||||
.copymask=*+1
|
||||
and #$FD ; SMC
|
||||
and (<.evenrow_ptr), y
|
||||
eor (<.dest1), y
|
||||
.dest1=*+1
|
||||
sta $FDFD, y
|
||||
.src2=*+1
|
||||
lda $FDFD, y
|
||||
eor (<.dest2), y
|
||||
and <.copymask
|
||||
and (<.oddrow_ptr), y
|
||||
eor (<.dest2), y
|
||||
.dest2=*+1
|
||||
sta $FDFD, y
|
||||
|
||||
; corresponding 1x2 block in bottom-left quadrant (opposite row, original column)
|
||||
+COPY_BIT_ZP_DITHER .mirror_src1, .mirror_dest1, .copymask, .oddrow_ptr
|
||||
+COPY_BIT_ZP_DITHER .mirror_src2, .mirror_dest2, .copymask, .evenrow_ptr
|
||||
|
||||
+
|
||||
lda mirror_copymasks1bit, x
|
||||
beq +
|
||||
sta <.mirror_copymask
|
||||
; corresponding 1x2 block in bottom-right quadrant (opposite row, opposite column)
|
||||
lda mirror_cols, y
|
||||
tay
|
||||
.mirror_src1=*+1
|
||||
lda $FDFD, y
|
||||
eor (<.mirror_dest1), y
|
||||
.mirror_copymask=*+1
|
||||
and #$FD ; SMC
|
||||
and (<.oddrow_ptr), y
|
||||
eor (<.mirror_dest1), y
|
||||
.mirror_dest1=*+1
|
||||
sta $FDFD, y
|
||||
.mirror_src2=*+1
|
||||
lda $FDFD, y
|
||||
eor (<.mirror_dest2), y
|
||||
and <.mirror_copymask
|
||||
and (<.evenrow_ptr), y
|
||||
eor (<.mirror_dest2), y
|
||||
.mirror_dest2=*+1
|
||||
sta $FDFD, y
|
||||
|
||||
; corresponding 1x2 block in top-right quadrant (same row, opposite column)
|
||||
+COPY_BIT_ZP_DITHER .src1, .dest1, .mirror_copymask, .evenrow_ptr
|
||||
+COPY_BIT_ZP_DITHER .src2, .dest2, .mirror_copymask, .oddrow_ptr
|
||||
+
|
||||
bcs +
|
||||
sta READAUXMEM
|
||||
sta WRITEAUXMEM
|
||||
.y=*+1
|
||||
ldy #$FD
|
||||
sec
|
||||
jmp .bankloop
|
||||
+ sta READMAINMEM
|
||||
sta WRITEMAINMEM
|
||||
|
||||
.next
|
||||
inc <.input
|
||||
inc <.input
|
||||
bne +
|
||||
bit KBD
|
||||
bmi ++
|
||||
inc <.input+1
|
||||
+ jmp .InputLoop
|
||||
++ rts
|
||||
}
|
||||
.end
|
||||
|
||||
.next2_start
|
||||
!pseudopc .next {
|
||||
lda <.input
|
||||
php
|
||||
dec <.input
|
||||
dec <.input
|
||||
plp
|
||||
bne +
|
||||
dec <.input+1
|
||||
bit KBD
|
||||
bmi ++
|
||||
+ jmp .InputLoop
|
||||
++ rts
|
||||
}
|
||||
.next2_end
|
138
src/fx/code.dhgr.dither.precomputed.2bit.a
Normal file
138
src/fx/code.dhgr.dither.precomputed.2bit.a
Normal file
@ -0,0 +1,138 @@
|
||||
!cpu 6502
|
||||
!to "build/FXCODE/DHGRDITHER2",plain
|
||||
*=$6200
|
||||
|
||||
!source "src/fx/macros.a"
|
||||
|
||||
;DHGRDitherPrecomputed2Bit
|
||||
jsr iBuildDHGRDitherMasks
|
||||
jsr iBuildDHGRSparseBitmasks2Bit
|
||||
jsr iBuildHGRTables
|
||||
jsr iBuildDHGRMirrorCols
|
||||
|
||||
; phase 1 - in reverse, with additional masking (dithering)
|
||||
jsr .copytozp
|
||||
|
||||
; set up starting coordinate for reading coordinates in reverse order
|
||||
+LDADDR EndCoordinates2Bit-2
|
||||
sta <.input
|
||||
sty <.input+1
|
||||
|
||||
; set up EOF marker to stop reading coordinates in reverse order
|
||||
lda #$00
|
||||
sta Coordinates2Bit-2
|
||||
|
||||
; set up logic to advance to next coordinates in reverse order
|
||||
ldx #(.next2_end-.next2_start-1)
|
||||
- lda .next2_start, x
|
||||
sta <.next, x
|
||||
dex
|
||||
bpl -
|
||||
|
||||
jsr .InputLoop
|
||||
|
||||
bit KBD
|
||||
bmi .start
|
||||
|
||||
; phase 2 - in order, without additional masking
|
||||
jsr .copytozp
|
||||
|
||||
; redirect additional masking pointers to an array that contains #$FFs (so no dithering)
|
||||
lda #<no_masks
|
||||
sta <.evenrow_ptr
|
||||
sta <.oddrow_ptr
|
||||
|
||||
jmp .InputLoop
|
||||
|
||||
.copytozp
|
||||
+COPY_TO_0 .start, .end
|
||||
.start
|
||||
!pseudopc 0 {
|
||||
.Exit2Bit rts
|
||||
.evenrow_ptr
|
||||
!word evenrow_masks
|
||||
.oddrow_ptr
|
||||
!word oddrow_masks
|
||||
.InputLoop
|
||||
ldy #0
|
||||
.input=*+1
|
||||
ldx Coordinates2Bit ; first value: HGR row + 1
|
||||
beq .Exit2Bit ; if 0 then we're done
|
||||
+ROW_X_TO_2BIT_BASE_ADDRESSES .src1, .src2, .dest1, .dest2
|
||||
|
||||
iny
|
||||
lda (<.input), y
|
||||
+HIGH_3_LOW_5 .input
|
||||
|
||||
; main 2x2 block in left half
|
||||
clc
|
||||
- lda copymasks2bit, x
|
||||
beq +
|
||||
.src1=*+1
|
||||
lda $FDFD, y
|
||||
eor (<.dest1), y
|
||||
and copymasks2bit, x
|
||||
and (<.evenrow_ptr), y
|
||||
eor (<.dest1), y
|
||||
.dest1=*+1
|
||||
sta $FDFD, y
|
||||
.src2=*+1
|
||||
lda $FDFD, y
|
||||
eor (<.dest2), y
|
||||
and copymasks2bit, x
|
||||
and (<.oddrow_ptr), y
|
||||
eor (<.dest2), y
|
||||
.dest2=*+1
|
||||
sta $FDFD, y
|
||||
+ bcs +
|
||||
sta READAUXMEM
|
||||
sta WRITEAUXMEM
|
||||
sec
|
||||
bcs -
|
||||
+ sta READMAINMEM
|
||||
sta WRITEMAINMEM
|
||||
|
||||
; corresponding 2x2 block in right half (same row, opposite column)
|
||||
lda mirror_cols, y
|
||||
tay
|
||||
clc
|
||||
- lda mirror_copymasks2bit, x
|
||||
beq +
|
||||
+COPY_BIT_DITHER .src1, .dest1, mirror_copymasks2bit, .evenrow_ptr
|
||||
+COPY_BIT_DITHER .src2, .dest2, mirror_copymasks2bit, .oddrow_ptr
|
||||
+ bcs +
|
||||
sta READAUXMEM
|
||||
sta WRITEAUXMEM
|
||||
sec
|
||||
bcs -
|
||||
+ sta READMAINMEM
|
||||
sta WRITEMAINMEM
|
||||
|
||||
.next
|
||||
inc <.input
|
||||
inc <.input
|
||||
bne +
|
||||
bit KBD
|
||||
bmi ++
|
||||
inc <.input+1
|
||||
+ jmp .InputLoop
|
||||
++ rts
|
||||
|
||||
}
|
||||
.end
|
||||
|
||||
.next2_start
|
||||
!pseudopc .next {
|
||||
lda <.input
|
||||
php
|
||||
dec <.input
|
||||
dec <.input
|
||||
plp
|
||||
bne +
|
||||
dec <.input+1
|
||||
bit KBD
|
||||
bmi ++
|
||||
+ jmp .InputLoop
|
||||
++ rts
|
||||
}
|
||||
.next2_end
|
95
src/fx/code.dhgr.precomputed.1bit.a
Normal file
95
src/fx/code.dhgr.precomputed.1bit.a
Normal file
@ -0,0 +1,95 @@
|
||||
!cpu 6502
|
||||
!to "build/FXCODE/DHGR1",plain
|
||||
*=$6200
|
||||
|
||||
!source "src/fx/macros.a"
|
||||
|
||||
;DHGRPrecomputed1Bit
|
||||
jsr iBuildDHGRSparseBitmasks1Bit
|
||||
jsr iBuildHGRTables
|
||||
jsr iBuildHGRMirrorTables
|
||||
jsr iBuildDHGRMirrorCols
|
||||
+COPY_TO_0 .start, .end
|
||||
jmp .InputLoop
|
||||
.start
|
||||
!pseudopc 0 {
|
||||
.Exit1Bit rts
|
||||
.InputLoop
|
||||
ldy #0
|
||||
.input=*+1
|
||||
ldx Coordinates1Bit ; first value: HGR row (only 0..95 will be in input array)
|
||||
bmi .Exit1Bit ; if > 127 then we're done
|
||||
+ROW_X_TO_BASE_ADDRESSES .src1, .src2, .dest1, .dest2
|
||||
+ROW_X_TO_MIRROR_ADDRESSES .mirror_src1, .mirror_src2, .mirror_dest1, .mirror_dest2
|
||||
|
||||
inc .input
|
||||
lda (<.input), y
|
||||
+HIGH_3_LOW_5 .input
|
||||
sty <.y
|
||||
clc
|
||||
.bankloop
|
||||
lda copymasks1bit, x
|
||||
beq +
|
||||
sta <.copymask
|
||||
|
||||
; main 1x2 block in top-left quadrant
|
||||
.src1=*+1
|
||||
lda $FDFD, y
|
||||
eor (<.dest1), y
|
||||
.copymask=*+1
|
||||
and #$FD ; SMC
|
||||
eor (<.dest1), y
|
||||
.dest1=*+1
|
||||
sta $FDFD, y
|
||||
.src2=*+1
|
||||
lda $FDFD, y
|
||||
eor (<.dest2), y
|
||||
and <.copymask
|
||||
eor (<.dest2), y
|
||||
.dest2=*+1
|
||||
sta $FDFD, y
|
||||
|
||||
; corresponding 1x2 block in bottom-left quadrant (opposite row, original column)
|
||||
+COPY_BIT_ZP .mirror_src1, .mirror_dest1, .copymask
|
||||
+COPY_BIT_ZP .mirror_src2, .mirror_dest2, .copymask
|
||||
|
||||
+
|
||||
lda mirror_copymasks1bit, x ; exists at the same address in mainmem and auxmem but each is different
|
||||
beq +
|
||||
sta <.mirror_copymask
|
||||
; corresponding 1x2 block in bottom-right quadrant (opposite row, opposite column)
|
||||
lda mirror_cols, y ; duplicated in mainmem and auxmem
|
||||
tay
|
||||
.mirror_src1=*+1
|
||||
lda $FDFD, y
|
||||
eor (<.mirror_dest1), y
|
||||
.mirror_copymask=*+1
|
||||
and #$FD ; SMC
|
||||
eor (<.mirror_dest1), y
|
||||
.mirror_dest1=*+1
|
||||
sta $FDFD, y
|
||||
.mirror_src2=*+1
|
||||
lda $FDFD, y
|
||||
eor (<.mirror_dest2), y
|
||||
and <.mirror_copymask
|
||||
eor (<.mirror_dest2), y
|
||||
.mirror_dest2=*+1
|
||||
sta $FDFD, y
|
||||
|
||||
; corresponding 1x2 block in top-right quadrant (same row, opposite column)
|
||||
+COPY_BIT_ZP .src1, .dest1, .mirror_copymask
|
||||
+COPY_BIT_ZP .src2, .dest2, .mirror_copymask
|
||||
+
|
||||
bcs +
|
||||
sta $C003
|
||||
sta $C005
|
||||
.y=*+1
|
||||
ldy #$FD
|
||||
sec
|
||||
bcs .bankloop
|
||||
+ sta $C002
|
||||
sta $C004
|
||||
|
||||
+INC_INPUT_AND_LOOP .input, .InputLoop
|
||||
}
|
||||
.end
|
78
src/fx/code.dhgr.precomputed.2bit.a
Normal file
78
src/fx/code.dhgr.precomputed.2bit.a
Normal file
@ -0,0 +1,78 @@
|
||||
!cpu 6502
|
||||
!to "build/FXCODE/DHGR2",plain
|
||||
*=$6200
|
||||
|
||||
!source "src/fx/macros.a"
|
||||
|
||||
;DHGRPrecomputed2Bit
|
||||
jsr iBuildDHGRSparseBitmasks2Bit
|
||||
jsr iBuildHGRTables
|
||||
jsr iBuildDHGRMirrorCols
|
||||
+COPY_TO_0 .start, .end
|
||||
jmp .InputLoop
|
||||
|
||||
.start
|
||||
!pseudopc 0 {
|
||||
.Exit2Bit rts
|
||||
.InputLoop
|
||||
ldy #0
|
||||
.input=*+1
|
||||
ldx Coordinates2Bit ; first value: HGR row + 1
|
||||
beq .Exit2Bit ; if 0 then we're done
|
||||
+ROW_X_TO_2BIT_BASE_ADDRESSES .src1, .src2, .dest1, .dest2
|
||||
|
||||
inc <.input
|
||||
lda (<.input), y
|
||||
+HIGH_3_LOW_5 .input
|
||||
|
||||
; main 2x2 block in left half
|
||||
clc
|
||||
- lda copymasks2bit, x
|
||||
beq +
|
||||
.src1=*+1
|
||||
lda $FDFD, y
|
||||
eor (<.dest1), y
|
||||
and copymasks2bit, x
|
||||
eor (<.dest1), y
|
||||
.dest1=*+1
|
||||
sta $FDFD, y
|
||||
.src2=*+1
|
||||
lda $FDFD, y
|
||||
eor (<.dest2), y
|
||||
and copymasks2bit, x
|
||||
eor (<.dest2), y
|
||||
.dest2=*+1
|
||||
sta $FDFD, y
|
||||
+ bcs +
|
||||
sta $C003
|
||||
sta $C005
|
||||
sec
|
||||
bcs -
|
||||
+ sta $C002
|
||||
sta $C004
|
||||
|
||||
; corresponding 2x2 block in right half (same row, opposite column)
|
||||
lda mirror_cols, y
|
||||
tay
|
||||
clc
|
||||
- lda mirror_copymasks2bit, x
|
||||
beq +
|
||||
+COPY_BIT .src1, .dest1, mirror_copymasks2bit
|
||||
+COPY_BIT .src2, .dest2, mirror_copymasks2bit
|
||||
+ bcs +
|
||||
sta $C003
|
||||
sta $C005
|
||||
sec
|
||||
bcs -
|
||||
+ sta $C002
|
||||
sta $C004
|
||||
|
||||
inc <.input
|
||||
+LBNE .InputLoop
|
||||
bit $c000
|
||||
bmi +
|
||||
inc <.input+1
|
||||
jmp .InputLoop
|
||||
+ rts
|
||||
}
|
||||
.end
|
140
src/fx/code.hgr.dither.precomputed.1bit.a
Normal file
140
src/fx/code.hgr.dither.precomputed.1bit.a
Normal file
@ -0,0 +1,140 @@
|
||||
!cpu 6502
|
||||
!to "build/FXCODE/HGRDITHER1",plain
|
||||
*=$6200
|
||||
|
||||
!source "src/fx/macros.a"
|
||||
|
||||
;HGRDitherPrecomputed1Bit
|
||||
jsr iBuildHGRDitherMasks
|
||||
jsr iBuildHGRTables
|
||||
jsr iBuildHGRMirrorTables
|
||||
jsr iBuildHGRMirrorCols
|
||||
jsr iBuildHGRSparseBitmasks1Bit
|
||||
|
||||
; phase 1 - in reverse, with additional masking
|
||||
+COPY_TO_0 .start, .end
|
||||
|
||||
; set up starting coordinate for reading coordinates in reverse order
|
||||
+LDADDR EndCoordinates1Bit-2
|
||||
sta <.input
|
||||
sty <.input+1
|
||||
|
||||
; set up EOF marker to stop reading coordinates in reverse order
|
||||
lda #$80
|
||||
sta Coordinates1Bit-2
|
||||
|
||||
; set up logic to advance to next coordinates in reverse order
|
||||
ldx #(.next2_end-.next2_start-1)
|
||||
- lda .next2_start, x
|
||||
sta <.next, x
|
||||
dex
|
||||
bpl -
|
||||
|
||||
jsr .InputLoop
|
||||
|
||||
bit KBD
|
||||
bmi .start
|
||||
|
||||
; phase 2 - in order, without additional masking
|
||||
+COPY_TO_0 .start, .end
|
||||
|
||||
; redirect additional masking pointers to an array that contains #$FFs (so no masking)
|
||||
lda #<no_masks
|
||||
sta <.evenrow_ptr
|
||||
sta <.oddrow_ptr
|
||||
|
||||
jmp .InputLoop
|
||||
.start
|
||||
!pseudopc 0 {
|
||||
.Exit1Bit rts
|
||||
.evenrow_ptr
|
||||
!word evenrow_masks
|
||||
.oddrow_ptr
|
||||
!word oddrow_masks
|
||||
.InputLoop
|
||||
ldy #0
|
||||
.input=*+1
|
||||
ldx Coordinates1Bit ; first value: HGR row (only 0..95 will be in input array)
|
||||
bmi .Exit1Bit ; if > 127 then we're done
|
||||
+ROW_X_TO_BASE_ADDRESSES .src1, .src2, .dest1, .dest2
|
||||
+ROW_X_TO_MIRROR_ADDRESSES .mirror_src1, .mirror_src2, .mirror_dest1, .mirror_dest2
|
||||
|
||||
iny
|
||||
lda (<.input), y
|
||||
+HIGH_3_LOW_5 .input
|
||||
|
||||
; main 1x2 block in top-left quadrant
|
||||
.src1=*+1
|
||||
lda $FDFD, y
|
||||
eor (<.dest1), y
|
||||
and copymasks1bit, x
|
||||
and (<.evenrow_ptr), y
|
||||
eor (<.dest1), y
|
||||
.dest1=*+1
|
||||
sta $FDFD, y
|
||||
.src2=*+1
|
||||
lda $FDFD, y
|
||||
eor (<.dest2), y
|
||||
and copymasks1bit, x
|
||||
and (<.oddrow_ptr), y
|
||||
eor (<.dest2), y
|
||||
.dest2=*+1
|
||||
sta $FDFD, y
|
||||
|
||||
; corresponding 1x2 block in top-right quadrant (same row, opposite column)
|
||||
lda mirror_cols, y
|
||||
tay
|
||||
+COPY_BIT_DITHER .src1, .dest1, mirror_copymasks1bit, .evenrow_ptr
|
||||
+COPY_BIT_DITHER .src2, .dest2, mirror_copymasks1bit, .oddrow_ptr
|
||||
|
||||
; corresponding 1x2 block in bottom-right quadrant (opposite row, opposite column)
|
||||
.mirror_src1=*+1
|
||||
lda $FDFD, y
|
||||
eor (<.mirror_dest1), y
|
||||
and mirror_copymasks1bit, x
|
||||
and (<.oddrow_ptr), y
|
||||
eor (<.mirror_dest1), y
|
||||
.mirror_dest1=*+1
|
||||
sta $FDFD, y
|
||||
.mirror_src2=*+1
|
||||
lda $FDFD, y
|
||||
eor (<.mirror_dest2), y
|
||||
and mirror_copymasks1bit, x
|
||||
and (<.evenrow_ptr), y
|
||||
eor (<.mirror_dest2), y
|
||||
.mirror_dest2=*+1
|
||||
sta $FDFD, y
|
||||
|
||||
; corresponding 1x2 block in bottom-left quadrant (opposite row, original column)
|
||||
lda mirror_cols, y
|
||||
tay
|
||||
+COPY_BIT_DITHER .mirror_src1, .mirror_dest1, copymasks1bit, .oddrow_ptr
|
||||
+COPY_BIT_DITHER .mirror_src2, .mirror_dest2, copymasks1bit, .evenrow_ptr
|
||||
|
||||
.next
|
||||
inc <.input
|
||||
inc <.input
|
||||
bne +
|
||||
bit KBD
|
||||
bmi ++
|
||||
inc <.input+1
|
||||
+ jmp .InputLoop
|
||||
++ rts
|
||||
}
|
||||
.end
|
||||
|
||||
.next2_start
|
||||
!pseudopc .next {
|
||||
lda <.input
|
||||
php
|
||||
dec <.input
|
||||
dec <.input
|
||||
plp
|
||||
bne +
|
||||
dec <.input+1
|
||||
bit KBD
|
||||
bmi ++
|
||||
+ jmp .InputLoop
|
||||
++ rts
|
||||
}
|
||||
.next2_end
|
126
src/fx/code.hgr.dither.precomputed.2bit.a
Normal file
126
src/fx/code.hgr.dither.precomputed.2bit.a
Normal file
@ -0,0 +1,126 @@
|
||||
!cpu 6502
|
||||
!to "build/FXCODE/HGRDITHER2",plain
|
||||
*=$6200
|
||||
|
||||
!source "src/fx/macros.a"
|
||||
|
||||
;HGRDitherPrecomputed2Bit
|
||||
jsr iBuildHGRDitherMasks
|
||||
jsr iBuildHGRTables
|
||||
jsr iBuildHGRMirrorCols
|
||||
jsr iBuildHGRSparseBitmasks2Bit
|
||||
|
||||
; phase 1 - in reverse, with additional masking (dithering)
|
||||
jsr .copytozp
|
||||
|
||||
; set up starting coordinate for reading coordinates in reverse order
|
||||
+LDADDR EndCoordinates2Bit-2
|
||||
sta <.input
|
||||
sty <.input+1
|
||||
|
||||
; set up EOF marker to stop reading coordinates in reverse order
|
||||
lda #$00
|
||||
sta Coordinates2Bit-2
|
||||
|
||||
; set up logic to advance to next coordinates in reverse order
|
||||
ldx #(.next2_end-.next2_start-1)
|
||||
- lda .next2_start, x
|
||||
sta <.next, x
|
||||
dex
|
||||
bpl -
|
||||
|
||||
jsr .InputLoop
|
||||
|
||||
bit KBD
|
||||
bmi .start
|
||||
|
||||
; phase 2 - in order, without additional masking
|
||||
jsr .copytozp
|
||||
|
||||
; redirect additional masking pointers to an array that contains #$FFs (so no dithering)
|
||||
lda #<no_masks
|
||||
sta <.evenrow_ptr
|
||||
sta <.oddrow_ptr
|
||||
|
||||
jmp .InputLoop
|
||||
|
||||
.copytozp
|
||||
+COPY_TO_0 .start, .end
|
||||
.start
|
||||
!pseudopc 0 {
|
||||
.Exit2Bit rts
|
||||
.evenrow_ptr
|
||||
!word evenrow_masks
|
||||
.oddrow_ptr
|
||||
!word oddrow_masks
|
||||
.InputLoop
|
||||
ldy #0
|
||||
.input=*+1
|
||||
ldx Coordinates2Bit ; first value: HGR row + 1
|
||||
beq .Exit2Bit ; if 0 then we're done
|
||||
+ROW_X_TO_2BIT_BASE_ADDRESSES .src1, .src2, .dest1, .dest2
|
||||
|
||||
iny
|
||||
lda (<.input), y
|
||||
+HIGH_3_LOW_5 .input
|
||||
|
||||
; main 2x2 block in left half
|
||||
.src1=*+1
|
||||
lda $FDFD, y
|
||||
eor (<.dest1), y
|
||||
and copymasks2bit, x
|
||||
and (<.evenrow_ptr), y
|
||||
eor (<.dest1), y
|
||||
.dest1=*+1
|
||||
sta $FDFD, y
|
||||
.src2=*+1
|
||||
lda $FDFD, y
|
||||
eor (<.dest2), y
|
||||
and copymasks2bit, x
|
||||
and (<.oddrow_ptr), y
|
||||
eor (<.dest2), y
|
||||
.dest2=*+1
|
||||
sta $FDFD, y
|
||||
|
||||
; corresponding 2x2 block in right half (same row, opposite column)
|
||||
lda mirror_cols, y
|
||||
tay
|
||||
lda (<.src1), y
|
||||
eor (<.dest1), y
|
||||
and mirror_copymasks2bit, x
|
||||
and (<.evenrow_ptr), y
|
||||
eor (<.dest1), y
|
||||
sta (<.dest1), y
|
||||
|
||||
lda (<.src2), y
|
||||
eor (<.dest2), y
|
||||
and mirror_copymasks2bit, x
|
||||
and (<.oddrow_ptr), y
|
||||
eor (<.dest2), y
|
||||
sta (<.dest2), y
|
||||
|
||||
.next
|
||||
inc <.input
|
||||
inc <.input
|
||||
bne .InputLoop
|
||||
bit KBD
|
||||
bmi .Exit2Bit
|
||||
inc <.input+1
|
||||
bne .InputLoop ; always branches
|
||||
}
|
||||
.end
|
||||
|
||||
.next2_start
|
||||
!pseudopc .next {
|
||||
lda <.input
|
||||
php
|
||||
dec <.input
|
||||
dec <.input
|
||||
plp
|
||||
bne .InputLoop
|
||||
dec <.input+1
|
||||
bit KBD
|
||||
bpl .InputLoop
|
||||
rts
|
||||
}
|
||||
.next2_end
|
148
src/fx/code.hgr.dither.precomputed.3bit.a
Normal file
148
src/fx/code.hgr.dither.precomputed.3bit.a
Normal file
@ -0,0 +1,148 @@
|
||||
!cpu 6502
|
||||
!to "build/FXCODE/HGRDITHER3",plain
|
||||
*=$6200
|
||||
|
||||
!source "src/fx/macros.a"
|
||||
|
||||
;HGRDitherPrecomputed3Bit
|
||||
jsr iBuildHGRDitherMasks
|
||||
jsr iSetupPrecomputed3Bit
|
||||
|
||||
; phase 1 - in reverse, with additional masking
|
||||
+COPY_TO_0 .start, .end
|
||||
|
||||
; set up starting coordinate for reading coordinates in reverse order
|
||||
+LDADDR EndCoordinates3Bit-2
|
||||
sta <.input
|
||||
sty <.input+1
|
||||
|
||||
; set up EOF marker to stop reading coordinates in reverse order
|
||||
lda #$80
|
||||
sta Coordinates3Bit-2
|
||||
|
||||
; set up logic to advance to next coordinates in reverse order
|
||||
ldx #(.next2_end-.next2_start-1)
|
||||
- lda .next2_start, x
|
||||
sta <.next, x
|
||||
dex
|
||||
bpl -
|
||||
|
||||
; set up pointers to dither mask pointers so even rows do even-row dithering and odd rows do odd-row dithering
|
||||
ldx #$7F
|
||||
- lda #<evenrow_masks
|
||||
sta dither1_lo, x
|
||||
sta dither2_lo-1, x
|
||||
sta dither3_lo, x
|
||||
lda #<oddrow_masks
|
||||
sta dither1_lo-1, x
|
||||
sta dither2_lo, x
|
||||
sta dither3_lo-1, x
|
||||
dex
|
||||
dex
|
||||
bpl -
|
||||
jsr .InputLoop
|
||||
|
||||
bit KBD
|
||||
bmi .start
|
||||
|
||||
; phase 2 - in order, without additional masking
|
||||
+COPY_TO_0 .start, .end
|
||||
|
||||
; set up pointers to dither mask pointers so all rows do no dithering
|
||||
ldx #$7F
|
||||
- lda #<no_masks
|
||||
sta dither1_lo, x
|
||||
sta dither2_lo, x
|
||||
sta dither3_lo, x
|
||||
dex
|
||||
bpl -
|
||||
jmp .InputLoop
|
||||
.start
|
||||
!pseudopc 0 {
|
||||
.Exit3Bit rts
|
||||
.dither1_ptr
|
||||
!word evenrow_masks
|
||||
.dither2_ptr
|
||||
!word oddrow_masks
|
||||
.dither3_ptr
|
||||
!word evenrow_masks
|
||||
.InputLoop
|
||||
ldy #0
|
||||
.input=*+1
|
||||
lda Coordinates3Bit
|
||||
bmi .Exit3Bit ; if high bit is 1 then we're done
|
||||
cmp #$40
|
||||
php
|
||||
tax
|
||||
lda dither1_lo, x
|
||||
sta .dither1_ptr
|
||||
lda dither2_lo, x
|
||||
sta .dither2_ptr
|
||||
lda dither3_lo, x
|
||||
sta .dither3_ptr
|
||||
+ROW_X_TO_3BIT_BASE_ADDRESSES .src1, .src2, .src3, .dest1, .dest2, .dest3
|
||||
|
||||
iny
|
||||
lda (<.input), y
|
||||
and #%11100000
|
||||
tax
|
||||
eor (<.input), y
|
||||
plp
|
||||
bcc +
|
||||
tay
|
||||
lda extra_cols, y
|
||||
+ tay
|
||||
|
||||
; 2x3 block
|
||||
.src1=*+1
|
||||
lda $FDFD, y
|
||||
eor (<.dest1), y
|
||||
and copymasks3bit, x
|
||||
and (<.dither1_ptr), y
|
||||
eor (<.dest1), y
|
||||
.dest1=*+1
|
||||
sta $FDFD, y
|
||||
.src2=*+1
|
||||
lda $FDFD, y
|
||||
eor (<.dest2), y
|
||||
and copymasks3bit, x
|
||||
and (<.dither2_ptr), y
|
||||
eor (<.dest2), y
|
||||
.dest2=*+1
|
||||
sta $FDFD, y
|
||||
.src3=*+1
|
||||
lda $FDFD, y
|
||||
eor (<.dest3), y
|
||||
and copymasks3bit, x
|
||||
and (<.dither3_ptr), y
|
||||
eor (<.dest3), y
|
||||
.dest3=*+1
|
||||
sta $FDFD, y
|
||||
|
||||
.next
|
||||
inc <.input
|
||||
inc <.input
|
||||
bne +
|
||||
bit KBD
|
||||
bmi ++
|
||||
inc <.input+1
|
||||
+ jmp .InputLoop
|
||||
++ rts
|
||||
}
|
||||
.end
|
||||
|
||||
.next2_start
|
||||
!pseudopc .next {
|
||||
lda <.input
|
||||
php
|
||||
dec <.input
|
||||
dec <.input
|
||||
plp
|
||||
bne +
|
||||
dec <.input+1
|
||||
bit KBD
|
||||
bmi ++
|
||||
+ jmp .InputLoop
|
||||
++ rts
|
||||
}
|
||||
.next2_end
|
75
src/fx/code.hgr.precomputed.1bit.a
Normal file
75
src/fx/code.hgr.precomputed.1bit.a
Normal file
@ -0,0 +1,75 @@
|
||||
!cpu 6502
|
||||
!to "build/FXCODE/HGR1",plain
|
||||
*=$6200
|
||||
|
||||
!source "src/fx/macros.a"
|
||||
|
||||
;HGRPrecomputed1Bit
|
||||
jsr iBuildHGRTables
|
||||
jsr iBuildHGRMirrorTables
|
||||
jsr iBuildHGRMirrorCols
|
||||
jsr iBuildHGRSparseBitmasks1Bit
|
||||
+COPY_TO_0 .start, .end
|
||||
jmp .InputLoop
|
||||
.start
|
||||
!pseudopc 0 {
|
||||
.Exit1Bit rts
|
||||
.InputLoop
|
||||
ldy #0
|
||||
.input=*+1
|
||||
ldx Coordinates1Bit ; first value: HGR row (only 0..95 will be in input array)
|
||||
bmi .Exit1Bit ; if > 127 then we're done
|
||||
+ROW_X_TO_BASE_ADDRESSES .src1, .src2, .dest1, .dest2
|
||||
+ROW_X_TO_MIRROR_ADDRESSES .mirror_src1, .mirror_src2, .mirror_dest1, .mirror_dest2
|
||||
|
||||
inc .input
|
||||
lda (<.input), y
|
||||
+HIGH_3_LOW_5 .input
|
||||
|
||||
; main 1x2 block in top-left quadrant
|
||||
.src1=*+1
|
||||
lda $FDFD, y
|
||||
eor (<.dest1), y
|
||||
and copymasks1bit, x
|
||||
eor (<.dest1), y
|
||||
.dest1=*+1
|
||||
sta $FDFD, y
|
||||
.src2=*+1
|
||||
lda $FDFD, y
|
||||
eor (<.dest2), y
|
||||
and copymasks1bit, x
|
||||
eor (<.dest2), y
|
||||
.dest2=*+1
|
||||
sta $FDFD, y
|
||||
|
||||
; corresponding 1x2 block in top-right quadrant (same row, opposite column)
|
||||
lda mirror_cols, y
|
||||
tay
|
||||
+COPY_BIT .src1, .dest1, mirror_copymasks1bit
|
||||
+COPY_BIT .src2, .dest2, mirror_copymasks1bit
|
||||
|
||||
; corresponding 1x2 block in bottom-right quadrant (opposite row, opposite column)
|
||||
.mirror_src1=*+1
|
||||
lda $FDFD, y
|
||||
eor (<.mirror_dest1), y
|
||||
and mirror_copymasks1bit, x
|
||||
eor (<.mirror_dest1), y
|
||||
.mirror_dest1=*+1
|
||||
sta $FDFD, y
|
||||
.mirror_src2=*+1
|
||||
lda $FDFD, y
|
||||
eor (<.mirror_dest2), y
|
||||
and mirror_copymasks1bit, x
|
||||
eor (<.mirror_dest2), y
|
||||
.mirror_dest2=*+1
|
||||
sta $FDFD, y
|
||||
|
||||
; corresponding 1x2 block in bottom-left quadrant (opposite row, original column)
|
||||
lda mirror_cols, y
|
||||
tay
|
||||
+COPY_BIT .mirror_src1, .mirror_dest1, copymasks1bit
|
||||
+COPY_BIT .mirror_src2, .mirror_dest2, copymasks1bit
|
||||
|
||||
+INC_INPUT_AND_LOOP .input, .InputLoop
|
||||
}
|
||||
.end
|
56
src/fx/code.hgr.precomputed.2bit.a
Normal file
56
src/fx/code.hgr.precomputed.2bit.a
Normal file
@ -0,0 +1,56 @@
|
||||
!cpu 6502
|
||||
!to "build/FXCODE/HGR2",plain
|
||||
*=$6200
|
||||
|
||||
!source "src/fx/macros.a"
|
||||
|
||||
;HGRPrecomputed2Bit
|
||||
jsr iBuildHGRTables
|
||||
jsr iBuildHGRMirrorCols
|
||||
jsr iBuildHGRSparseBitmasks2Bit
|
||||
+COPY_TO_0 .start, .end
|
||||
jmp .InputLoop
|
||||
.start
|
||||
!pseudopc 0 {
|
||||
.Exit2Bit rts
|
||||
.InputLoop
|
||||
ldy #0
|
||||
.input=*+1
|
||||
ldx Coordinates2Bit ; first value: HGR row + 1
|
||||
beq .Exit2Bit ; if 0 then we're done
|
||||
+ROW_X_TO_2BIT_BASE_ADDRESSES .src1, .src2, .dest1, .dest2
|
||||
|
||||
inc <.input
|
||||
lda (<.input), y
|
||||
+HIGH_3_LOW_5 .input
|
||||
|
||||
; main 2x2 block in left half
|
||||
.src1=*+1
|
||||
lda $FDFD, y
|
||||
eor (<.dest1), y
|
||||
and copymasks2bit, x
|
||||
eor (<.dest1), y
|
||||
.dest1=*+1
|
||||
sta $FDFD, y
|
||||
.src2=*+1
|
||||
lda $FDFD, y
|
||||
eor (<.dest2), y
|
||||
and copymasks2bit, x
|
||||
eor (<.dest2), y
|
||||
.dest2=*+1
|
||||
sta $FDFD, y
|
||||
|
||||
; corresponding 2x2 block in right half (same row, opposite column)
|
||||
lda mirror_cols, y
|
||||
tay
|
||||
+COPY_BIT .src1, .dest1, mirror_copymasks2bit
|
||||
+COPY_BIT .src2, .dest2, mirror_copymasks2bit
|
||||
|
||||
inc <.input
|
||||
bne .InputLoop
|
||||
bit KBD
|
||||
bmi .Exit2Bit
|
||||
inc <.input+1
|
||||
bne .InputLoop ; always branches
|
||||
}
|
||||
.end
|
65
src/fx/code.hgr.precomputed.3bit.a
Normal file
65
src/fx/code.hgr.precomputed.3bit.a
Normal file
@ -0,0 +1,65 @@
|
||||
!cpu 6502
|
||||
!to "build/FXCODE/HGR3",plain
|
||||
*=$6200
|
||||
|
||||
!source "src/fx/macros.a"
|
||||
|
||||
;HGRPrecomputed3Bit
|
||||
jsr iSetupPrecomputed3Bit
|
||||
+COPY_TO_0 .start, .end
|
||||
jmp .InputLoop
|
||||
.start
|
||||
!pseudopc 0 {
|
||||
.Exit3Bit rts
|
||||
.InputLoop
|
||||
ldy #0
|
||||
.input=*+1
|
||||
lda Coordinates3Bit
|
||||
bmi .Exit3Bit ; if high bit is 1 then we're done
|
||||
cmp #$40
|
||||
php
|
||||
tax
|
||||
+ROW_X_TO_3BIT_BASE_ADDRESSES .src1, .src2, .src3, .dest1, .dest2, .dest3
|
||||
|
||||
inc <.input
|
||||
lda (<.input), y
|
||||
and #%11100000
|
||||
tax
|
||||
eor (<.input), y
|
||||
plp
|
||||
bcc +
|
||||
tay
|
||||
lda extra_cols, y
|
||||
+ tay
|
||||
|
||||
; 2x3 block
|
||||
.src1=*+1
|
||||
lda $FDFD, y
|
||||
eor (<.dest1), y
|
||||
and copymasks3bit, x
|
||||
eor (<.dest1), y
|
||||
.dest1=*+1
|
||||
sta $FDFD, y
|
||||
.src2=*+1
|
||||
lda $FDFD, y
|
||||
eor (<.dest2), y
|
||||
and copymasks3bit, x
|
||||
eor (<.dest2), y
|
||||
.dest2=*+1
|
||||
sta $FDFD, y
|
||||
.src3=*+1
|
||||
lda $FDFD, y
|
||||
eor (<.dest3), y
|
||||
and copymasks3bit, x
|
||||
eor (<.dest3), y
|
||||
.dest3=*+1
|
||||
sta $FDFD, y
|
||||
|
||||
inc <.input
|
||||
bne .InputLoop
|
||||
bit KBD
|
||||
bmi .Exit3Bit
|
||||
inc <.input+1
|
||||
bne .InputLoop ; always branches
|
||||
}
|
||||
.end
|
82
src/fx/code.hgr.radial.a
Normal file
82
src/fx/code.hgr.radial.a
Normal file
@ -0,0 +1,82 @@
|
||||
!cpu 6502
|
||||
!to "build/FXCODE/HGRRADIAL",plain
|
||||
*=$6200
|
||||
|
||||
!source "src/fx/macros.a"
|
||||
|
||||
;HGRRadialPrecomputed1Bit
|
||||
.mirror_src1 = $E8 ; word
|
||||
.mirror_dest1 = $EA ; word
|
||||
.mirror_src2 = $EC ; word
|
||||
.mirror_dest2 = $EE ; word
|
||||
.src1 = $F0 ; word
|
||||
.dest1 = $F2 ; word
|
||||
.src2 = $F4 ; word
|
||||
.dest2 = $F6 ; word
|
||||
.reverse_input = $FC ; word
|
||||
.input = $FE ; word
|
||||
|
||||
jsr iBuildHGRMirrorCols
|
||||
jsr iBuildHGRTables
|
||||
jsr iBuildHGRMirrorTables
|
||||
jsr iBuildHGRSparseBitmasks1Bit
|
||||
|
||||
+LDADDR Coordinates1Bit
|
||||
+ST16 .input
|
||||
+LDADDR EndCoordinates1Bit-2
|
||||
+ST16 .reverse_input
|
||||
+HIDE_NEXT_BYTE
|
||||
.Exit rts
|
||||
.Loop ldy #0
|
||||
lda (.input),y
|
||||
bmi .Exit
|
||||
tax
|
||||
+ROW_X_TO_BASE_ADDRESSES .src1, .src2, .dest1, .dest2
|
||||
+ROW_X_TO_MIRROR_ADDRESSES .mirror_src1, .mirror_src2, .mirror_dest1, .mirror_dest2
|
||||
inc .input
|
||||
lda (.input),y
|
||||
+HIGH_3_LOW_5 .input
|
||||
|
||||
; top-left quadrant (original row, original column, original input order)
|
||||
+COPY_BIT .src1, .dest1, copymasks1bit
|
||||
+COPY_BIT .src2, .dest2, copymasks1bit
|
||||
|
||||
; bottom-right quadrant (opposite row, opposite column, original input order)
|
||||
lda mirror_cols,y
|
||||
tay
|
||||
+COPY_BIT .mirror_src1, .mirror_dest1, mirror_copymasks1bit
|
||||
+COPY_BIT .mirror_src2, .mirror_dest2, mirror_copymasks1bit
|
||||
|
||||
ldy #0
|
||||
lda (.reverse_input),y
|
||||
tax
|
||||
+ROW_X_TO_BASE_ADDRESSES .src1, .src2, .dest1, .dest2
|
||||
+ROW_X_TO_MIRROR_ADDRESSES .mirror_src1, .mirror_src2, .mirror_dest1, .mirror_dest2
|
||||
iny
|
||||
lda (.reverse_input),y
|
||||
+HIGH_3_LOW_5 .reverse_input
|
||||
|
||||
; bottom-left quadrant (opposite row, original column, reverse input order)
|
||||
+COPY_BIT .mirror_src1, .mirror_dest1, copymasks1bit
|
||||
+COPY_BIT .mirror_src2, .mirror_dest2, copymasks1bit
|
||||
|
||||
; top-right quadrant (same row, opposite column, reverse input order)
|
||||
lda mirror_cols,y
|
||||
tay
|
||||
+COPY_BIT .src1, .dest1, mirror_copymasks1bit
|
||||
+COPY_BIT .src2, .dest2, mirror_copymasks1bit
|
||||
|
||||
inc .input
|
||||
bne +
|
||||
inc .input+1
|
||||
+ lda .reverse_input
|
||||
php
|
||||
dec .reverse_input
|
||||
dec .reverse_input
|
||||
plp
|
||||
bne +
|
||||
dec .reverse_input+1
|
||||
bit KBD
|
||||
bmi ++
|
||||
+ jmp .Loop
|
||||
++ rts
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.1bit.a"
|
||||
|
||||
+FX_INITONCE_1BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_1BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iDHGRPrecomputed1Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR1"
|
||||
CoordinatesFile
|
||||
+PSTRING "BUBBLES.DATA"
|
||||
|
@ -7,10 +7,12 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.1bit.a"
|
||||
|
||||
+FX_INITONCE_1BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_1BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iReverseCoordinates1Bit
|
||||
Start
|
||||
jmp iDHGRPrecomputed1Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR1"
|
||||
CoordinatesFile
|
||||
+PSTRING "BUBBLES.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iDHGRPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR2"
|
||||
CoordinatesFile
|
||||
+PSTRING "BUTTERFLY.DATA"
|
||||
|
@ -7,10 +7,12 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iReverseCoordinates2Bit
|
||||
Start
|
||||
jmp iDHGRPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR2"
|
||||
CoordinatesFile
|
||||
+PSTRING "BUTTERFLY.DATA"
|
||||
|
@ -7,10 +7,12 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iRippleCoordinates2Bit
|
||||
Start
|
||||
jmp iDHGRPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR2"
|
||||
CoordinatesFile
|
||||
+PSTRING "BUTTERFLY.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.1bit.a"
|
||||
|
||||
+FX_INITONCE_1BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_1BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iDHGRPrecomputed1Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR1"
|
||||
CoordinatesFile
|
||||
+PSTRING "CORNER4.DATA"
|
||||
|
@ -7,10 +7,12 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.1bit.a"
|
||||
|
||||
+FX_INITONCE_1BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_1BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iReverseCoordinates1Bit
|
||||
Start
|
||||
jmp iDHGRPrecomputed1Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR1"
|
||||
CoordinatesFile
|
||||
+PSTRING "CORNER4.DATA"
|
||||
|
@ -7,11 +7,13 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.1bit.a"
|
||||
|
||||
+FX_INITONCE_1BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_1BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iRippleCoordinates1Bit2
|
||||
|
||||
Start
|
||||
jmp iDHGRPrecomputed1Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR1"
|
||||
CoordinatesFile
|
||||
+PSTRING "CORNER4.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.1bit.a"
|
||||
|
||||
+FX_INITONCE_1BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_1BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iDHGRDitherPrecomputed1Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGRDITHER1"
|
||||
CoordinatesFile
|
||||
+PSTRING "BUBBLES.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iDHGRDitherPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGRDITHER2"
|
||||
CoordinatesFile
|
||||
+PSTRING "BUTTERFLY.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.1bit.a"
|
||||
|
||||
+FX_INITONCE_1BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_1BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iDHGRDitherPrecomputed1Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGRDITHER1"
|
||||
CoordinatesFile
|
||||
+PSTRING "CORNER4.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iDHGRDitherPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGRDITHER2"
|
||||
CoordinatesFile
|
||||
+PSTRING "HEART.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.1bit.a"
|
||||
|
||||
+FX_INITONCE_1BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_1BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iDHGRDitherPrecomputed1Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGRDITHER1"
|
||||
CoordinatesFile
|
||||
+PSTRING "IRIS.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iDHGRDitherPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGRDITHER2"
|
||||
CoordinatesFile
|
||||
+PSTRING "MAPLE.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.1bit.a"
|
||||
|
||||
+FX_INITONCE_1BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_1BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iDHGRDitherPrecomputed1Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGRDITHER1"
|
||||
CoordinatesFile
|
||||
+PSTRING "SLOW.STAR.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.1bit.a"
|
||||
|
||||
+FX_INITONCE_1BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_1BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iDHGRDitherPrecomputed1Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGRDITHER1"
|
||||
CoordinatesFile
|
||||
+PSTRING "SNOWFLAKE.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iDHGRDitherPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGRDITHER2"
|
||||
CoordinatesFile
|
||||
+PSTRING "SOFT.IRIS.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iDHGRDitherPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGRDITHER2"
|
||||
CoordinatesFile
|
||||
+PSTRING "STAR.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iDHGRDitherPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGRDITHER2"
|
||||
CoordinatesFile
|
||||
+PSTRING "STAR7.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iDHGRDitherPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGRDITHER2"
|
||||
CoordinatesFile
|
||||
+PSTRING "WAVY.IRIS.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iDHGRDitherPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGRDITHER2"
|
||||
CoordinatesFile
|
||||
+PSTRING "W.IR.BLOOM.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iDHGRPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR2"
|
||||
CoordinatesFile
|
||||
+PSTRING "HEART.DATA"
|
||||
|
@ -7,10 +7,12 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iReverseCoordinates2Bit
|
||||
Start
|
||||
jmp iDHGRPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR2"
|
||||
CoordinatesFile
|
||||
+PSTRING "HEART.DATA"
|
||||
|
@ -7,10 +7,12 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iRippleCoordinates2Bit
|
||||
Start
|
||||
jmp iDHGRPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR2"
|
||||
CoordinatesFile
|
||||
+PSTRING "HEART.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.1bit.a"
|
||||
|
||||
+FX_INITONCE_1BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_1BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iDHGRPrecomputed1Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR1"
|
||||
CoordinatesFile
|
||||
+PSTRING "IRIS.DATA"
|
||||
|
@ -7,10 +7,12 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.1bit.a"
|
||||
|
||||
+FX_INITONCE_1BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_1BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iReverseCoordinates1Bit
|
||||
Start
|
||||
jmp iDHGRPrecomputed1Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR1"
|
||||
CoordinatesFile
|
||||
+PSTRING "IRIS.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iDHGRPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR2"
|
||||
CoordinatesFile
|
||||
+PSTRING "MAPLE.DATA"
|
||||
|
@ -7,10 +7,12 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iReverseCoordinates2Bit
|
||||
Start
|
||||
jmp iDHGRPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR2"
|
||||
CoordinatesFile
|
||||
+PSTRING "MAPLE.DATA"
|
||||
|
@ -7,10 +7,12 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iRippleCoordinates2Bit
|
||||
Start
|
||||
jmp iDHGRPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR2"
|
||||
CoordinatesFile
|
||||
+PSTRING "MAPLE.DATA"
|
||||
|
@ -7,11 +7,13 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.1bit.a"
|
||||
|
||||
+FX_INITONCE_1BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_1BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iRippleCoordinates1Bit2
|
||||
|
||||
Start
|
||||
jmp iDHGRPrecomputed1Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR1"
|
||||
CoordinatesFile
|
||||
+PSTRING "IRIS.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.1bit.a"
|
||||
|
||||
+FX_INITONCE_1BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_1BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iDHGRPrecomputed1Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR1"
|
||||
CoordinatesFile
|
||||
+PSTRING "SLOW.STAR.DATA"
|
||||
|
@ -7,10 +7,12 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.1bit.a"
|
||||
|
||||
+FX_INITONCE_1BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_1BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iReverseCoordinates1Bit
|
||||
Start
|
||||
jmp iDHGRPrecomputed1Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR1"
|
||||
CoordinatesFile
|
||||
+PSTRING "SLOW.STAR.DATA"
|
||||
|
@ -7,11 +7,13 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.1bit.a"
|
||||
|
||||
+FX_INITONCE_1BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_1BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iRippleCoordinates1Bit2
|
||||
|
||||
Start
|
||||
jmp iDHGRPrecomputed1Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR1"
|
||||
CoordinatesFile
|
||||
+PSTRING "SLOW.STAR.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.1bit.a"
|
||||
|
||||
+FX_INITONCE_1BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_1BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iDHGRPrecomputed1Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR1"
|
||||
CoordinatesFile
|
||||
+PSTRING "SNOWFLAKE.DATA"
|
||||
|
@ -7,10 +7,12 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.1bit.a"
|
||||
|
||||
+FX_INITONCE_1BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_1BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iReverseCoordinates1Bit
|
||||
Start
|
||||
jmp iDHGRPrecomputed1Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR1"
|
||||
CoordinatesFile
|
||||
+PSTRING "SNOWFLAKE.DATA"
|
||||
|
@ -7,11 +7,13 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.1bit.a"
|
||||
|
||||
+FX_INITONCE_1BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_1BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iRippleCoordinates1Bit2
|
||||
|
||||
Start
|
||||
jmp iDHGRPrecomputed1Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR1"
|
||||
CoordinatesFile
|
||||
+PSTRING "SNOWFLAKE.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iDHGRPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR2"
|
||||
CoordinatesFile
|
||||
+PSTRING "SOFT.IRIS.DATA"
|
||||
|
@ -7,10 +7,12 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iReverseCoordinates2Bit
|
||||
Start
|
||||
jmp iDHGRPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR2"
|
||||
CoordinatesFile
|
||||
+PSTRING "SOFT.IRIS.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iDHGRPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR2"
|
||||
CoordinatesFile
|
||||
+PSTRING "STAR.DATA"
|
||||
|
@ -7,10 +7,12 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iReverseCoordinates2Bit
|
||||
Start
|
||||
jmp iDHGRPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR2"
|
||||
CoordinatesFile
|
||||
+PSTRING "STAR.DATA"
|
||||
|
@ -7,10 +7,12 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iRippleCoordinates2Bit
|
||||
Start
|
||||
jmp iDHGRPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR2"
|
||||
CoordinatesFile
|
||||
+PSTRING "STAR.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iDHGRPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR2"
|
||||
CoordinatesFile
|
||||
+PSTRING "STAR7.DATA"
|
||||
|
@ -7,10 +7,12 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iReverseCoordinates2Bit
|
||||
Start
|
||||
jmp iDHGRPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR2"
|
||||
CoordinatesFile
|
||||
+PSTRING "STAR7.DATA"
|
||||
|
@ -7,10 +7,12 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iRippleCoordinates2Bit
|
||||
Start
|
||||
jmp iDHGRPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR2"
|
||||
CoordinatesFile
|
||||
+PSTRING "STAR7.DATA"
|
||||
|
@ -7,11 +7,13 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.1bit.a"
|
||||
|
||||
+FX_INITONCE_1BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_1BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iRippleCoordinates1Bit4
|
||||
|
||||
Start
|
||||
jmp iDHGRPrecomputed1Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR1"
|
||||
CoordinatesFile
|
||||
+PSTRING "CORNER4.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iDHGRPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR2"
|
||||
CoordinatesFile
|
||||
+PSTRING "WAVY.IRIS.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iDHGRPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR2"
|
||||
CoordinatesFile
|
||||
+PSTRING "W.IR.BLOOM.DATA"
|
||||
|
@ -7,10 +7,12 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iReverseCoordinates2Bit
|
||||
Start
|
||||
jmp iDHGRPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR2"
|
||||
CoordinatesFile
|
||||
+PSTRING "W.IR.BLOOM.DATA"
|
||||
|
@ -7,10 +7,12 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iReverseCoordinates2Bit
|
||||
Start
|
||||
jmp iDHGRPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR2"
|
||||
CoordinatesFile
|
||||
+PSTRING "WAVY.IRIS.DATA"
|
||||
|
@ -7,10 +7,12 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iRippleCoordinates2Bit
|
||||
Start
|
||||
jmp iDHGRPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR2"
|
||||
CoordinatesFile
|
||||
+PSTRING "WAVY.IRIS.DATA"
|
||||
|
@ -7,10 +7,12 @@
|
||||
|
||||
!source "src/fx/fx.dhgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iRippleCoordinates2Bit
|
||||
Start
|
||||
jmp iDHGRPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "DHGR2"
|
||||
CoordinatesFile
|
||||
+PSTRING "W.IR.BLOOM.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.hgr.precomputed.3bit.a"
|
||||
|
||||
+FX_INITONCE_3BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_3BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iHGRPrecomputed3Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "HGR3"
|
||||
CoordinatesFile
|
||||
+PSTRING "APPLE.DATA"
|
||||
|
@ -1,5 +1,5 @@
|
||||
!cpu 6502
|
||||
!to "build/FX/APPLE.DATA",plain
|
||||
!to "build/FXDATA/APPLE.DATA",plain
|
||||
*=$6B00
|
||||
!byte $1F,%00010100
|
||||
!byte $1F,%11110011
|
||||
|
@ -7,10 +7,12 @@
|
||||
|
||||
!source "src/fx/fx.hgr.precomputed.3bit.a"
|
||||
|
||||
+FX_INITONCE_3BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_3BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iReverseCoordinates3Bit
|
||||
Start
|
||||
jmp iHGRPrecomputed3Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "HGR3"
|
||||
CoordinatesFile
|
||||
+PSTRING "APPLE.DATA"
|
||||
|
@ -7,10 +7,12 @@
|
||||
|
||||
!source "src/fx/fx.hgr.precomputed.3bit.a"
|
||||
|
||||
+FX_INITONCE_3BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_3BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iRippleCoordinates3Bit
|
||||
Start
|
||||
jmp iHGRPrecomputed3Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "HGR3"
|
||||
CoordinatesFile
|
||||
+PSTRING "APPLE.DATA"
|
||||
|
@ -10,9 +10,11 @@
|
||||
|
||||
!source "src/fx/fx.hgr.precomputed.3bit.a"
|
||||
|
||||
+FX_INITONCE_3BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_3BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iHGRPrecomputed3Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "HGR3"
|
||||
CoordinatesFile
|
||||
+PSTRING "BOLT.DATA"
|
||||
|
@ -1,5 +1,5 @@
|
||||
!cpu 6502
|
||||
!to "build/FX/BOLT.DATA",plain
|
||||
!to "build/FXDATA/BOLT.DATA",plain
|
||||
*=$6B00
|
||||
!byte $1F,%11110011
|
||||
!byte $1F,%00010100
|
||||
|
@ -10,10 +10,12 @@
|
||||
|
||||
!source "src/fx/fx.hgr.precomputed.3bit.a"
|
||||
|
||||
+FX_INITONCE_3BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_3BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iReverseCoordinates3Bit
|
||||
Start
|
||||
jmp iHGRPrecomputed3Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "HGR3"
|
||||
CoordinatesFile
|
||||
+PSTRING "BOLT.DATA"
|
||||
|
@ -10,10 +10,12 @@
|
||||
|
||||
!source "src/fx/fx.hgr.precomputed.3bit.a"
|
||||
|
||||
+FX_INITONCE_3BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_3BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iRippleCoordinates3Bit
|
||||
Start
|
||||
jmp iHGRPrecomputed3Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "HGR3"
|
||||
CoordinatesFile
|
||||
+PSTRING "BOLT.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.hgr.precomputed.1bit.a"
|
||||
|
||||
+FX_INITONCE_1BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_1BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iHGRPrecomputed1Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "HGR1"
|
||||
CoordinatesFile
|
||||
+PSTRING "BUBBLES.DATA"
|
||||
|
@ -1,5 +1,5 @@
|
||||
!cpu 6502
|
||||
!to "build/FX/BUBBLES.DATA",plain
|
||||
!to "build/FXDATA/BUBBLES.DATA",plain
|
||||
*=$8800
|
||||
!byte $0C,%01100010
|
||||
!byte $0C,%01110001
|
||||
|
@ -7,10 +7,12 @@
|
||||
|
||||
!source "src/fx/fx.hgr.precomputed.1bit.a"
|
||||
|
||||
+FX_INITONCE_1BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_1BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iReverseCoordinates1Bit
|
||||
Start
|
||||
jmp iHGRPrecomputed1Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "HGR1"
|
||||
CoordinatesFile
|
||||
+PSTRING "BUBBLES.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.hgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iHGRPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "HGR2"
|
||||
CoordinatesFile
|
||||
+PSTRING "BUTTERFLY.DATA"
|
||||
|
@ -1,5 +1,5 @@
|
||||
!cpu 6502
|
||||
!to "build/FX/BUTTERFLY.DATA",plain
|
||||
!to "build/FXDATA/BUTTERFLY.DATA",plain
|
||||
*=$8100
|
||||
!byte $5F,%11110011
|
||||
!byte $61,%11110011
|
||||
|
@ -7,10 +7,12 @@
|
||||
|
||||
!source "src/fx/fx.hgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iReverseCoordinates2Bit
|
||||
Start
|
||||
jmp iHGRPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "HGR2"
|
||||
CoordinatesFile
|
||||
+PSTRING "BUTTERFLY.DATA"
|
||||
|
@ -7,10 +7,12 @@
|
||||
|
||||
!source "src/fx/fx.hgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iRippleCoordinates2Bit
|
||||
Start
|
||||
jmp iHGRPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "HGR2"
|
||||
CoordinatesFile
|
||||
+PSTRING "BUTTERFLY.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.hgr.precomputed.1bit.a"
|
||||
|
||||
+FX_INITONCE_1BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_1BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iHGRPrecomputed1Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "HGR1"
|
||||
CoordinatesFile
|
||||
+PSTRING "CORNER4.DATA"
|
||||
|
@ -1,5 +1,5 @@
|
||||
!cpu 6502
|
||||
!to "build/FX/CORNER4.DATA",plain
|
||||
!to "build/FXDATA/CORNER4.DATA",plain
|
||||
*=$8600
|
||||
!byte $5E,%11010011
|
||||
!byte $5E,%10110011
|
||||
|
@ -7,10 +7,12 @@
|
||||
|
||||
!source "src/fx/fx.hgr.precomputed.1bit.a"
|
||||
|
||||
+FX_INITONCE_1BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_1BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iReverseCoordinates1Bit
|
||||
Start
|
||||
jmp iHGRPrecomputed1Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "HGR1"
|
||||
CoordinatesFile
|
||||
+PSTRING "CORNER4.DATA"
|
||||
|
@ -7,11 +7,13 @@
|
||||
|
||||
!source "src/fx/fx.hgr.precomputed.1bit.a"
|
||||
|
||||
+FX_INITONCE_1BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_1BIT FXCodeFile, CoordinatesFile, Start
|
||||
jsr iRippleCoordinates1Bit2
|
||||
|
||||
Start
|
||||
jmp iHGRPrecomputed1Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "HGR1"
|
||||
CoordinatesFile
|
||||
+PSTRING "CORNER4.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.hgr.precomputed.3bit.a"
|
||||
|
||||
+FX_INITONCE_3BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_3BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iHGRDitherPrecomputed3Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "HGRDITHER3"
|
||||
CoordinatesFile
|
||||
+PSTRING "APPLE.DATA"
|
||||
|
@ -10,9 +10,11 @@
|
||||
|
||||
!source "src/fx/fx.hgr.precomputed.3bit.a"
|
||||
|
||||
+FX_INITONCE_3BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_3BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iHGRDitherPrecomputed3Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "HGRDITHER3"
|
||||
CoordinatesFile
|
||||
+PSTRING "BOLT.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.hgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iHGRDitherPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "HGRDITHER2"
|
||||
CoordinatesFile
|
||||
+PSTRING "BUTTERFLY.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.hgr.precomputed.1bit.a"
|
||||
|
||||
+FX_INITONCE_1BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_1BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iHGRDitherPrecomputed1Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "HGRDITHER1"
|
||||
CoordinatesFile
|
||||
+PSTRING "CORNER4.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.hgr.precomputed.3bit.a"
|
||||
|
||||
+FX_INITONCE_3BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_3BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iHGRDitherPrecomputed3Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "HGRDITHER3"
|
||||
CoordinatesFile
|
||||
+PSTRING "FLOWER.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.hgr.precomputed.3bit.a"
|
||||
|
||||
+FX_INITONCE_3BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_3BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iHGRDitherPrecomputed3Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "HGRDITHER3"
|
||||
CoordinatesFile
|
||||
+PSTRING "FLOWER.RAD.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.hgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iHGRDitherPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "HGRDITHER2"
|
||||
CoordinatesFile
|
||||
+PSTRING "HEART.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.hgr.precomputed.1bit.a"
|
||||
|
||||
+FX_INITONCE_1BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_1BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iHGRDitherPrecomputed1Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "HGRDITHER1"
|
||||
CoordinatesFile
|
||||
+PSTRING "IRIS.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.hgr.precomputed.3bit.a"
|
||||
|
||||
+FX_INITONCE_3BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_3BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iHGRDitherPrecomputed3Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "HGRDITHER3"
|
||||
CoordinatesFile
|
||||
+PSTRING "MANDELBROT.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.hgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iHGRDitherPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "HGRDITHER2"
|
||||
CoordinatesFile
|
||||
+PSTRING "MAPLE.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.hgr.precomputed.1bit.a"
|
||||
|
||||
+FX_INITONCE_1BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_1BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iHGRDitherPrecomputed1Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "HGRDITHER1"
|
||||
CoordinatesFile
|
||||
+PSTRING "SLOW.STAR.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.hgr.precomputed.1bit.a"
|
||||
|
||||
+FX_INITONCE_1BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_1BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iHGRDitherPrecomputed1Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "HGRDITHER1"
|
||||
CoordinatesFile
|
||||
+PSTRING "SNOWFLAKE.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.hgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iHGRDitherPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "HGRDITHER2"
|
||||
CoordinatesFile
|
||||
+PSTRING "SOFT.IRIS.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.hgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iHGRDitherPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "HGRDITHER2"
|
||||
CoordinatesFile
|
||||
+PSTRING "STAR.DATA"
|
||||
|
@ -7,9 +7,11 @@
|
||||
|
||||
!source "src/fx/fx.hgr.precomputed.2bit.a"
|
||||
|
||||
+FX_INITONCE_2BIT CoordinatesFile, Start
|
||||
+FX_INITONCE_2BIT FXCodeFile, CoordinatesFile, Start
|
||||
Start
|
||||
jmp iHGRDitherPrecomputed2Bit
|
||||
jmp FXCode
|
||||
|
||||
FXCodeFile
|
||||
+PSTRING "HGRDITHER2"
|
||||
CoordinatesFile
|
||||
+PSTRING "STAR7.DATA"
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user