From c7db1050ccf2073c9945c198cbe379a3a15bcc7d Mon Sep 17 00:00:00 2001 From: 4am Date: Sun, 26 May 2024 13:41:21 -0400 Subject: [PATCH] factor out some common FX routines, also move font data to D100/LC1 --- res/SS/ACTIONS8.CONF | 2 +- src/4cade.a | 163 ++++----- src/4cade.init.a | 4 +- src/4cade.init.screen.a | 2 +- src/4cade.version.a | 6 +- src/constants.a | 56 ++- src/fx.lib.a | 457 +++++++++++++++++++++++++ src/fx/fx.dhgr.2pass.lr.a | 8 +- src/fx/fx.dhgr.48boxes.common.a | 6 +- src/fx/fx.dhgr.bar.dissolve.a | 8 +- src/fx/fx.dhgr.bubbles.in.a | 2 +- src/fx/fx.dhgr.butterfly.in.a | 2 +- src/fx/fx.dhgr.butterfly.ripple.a | 2 +- src/fx/fx.dhgr.corner4.in.a | 2 +- src/fx/fx.dhgr.corner4.ripple.a | 3 +- src/fx/fx.dhgr.diagonal.a | 6 +- src/fx/fx.dhgr.dither.radial.a | 2 +- src/fx/fx.dhgr.dither.radial.common.a | 2 +- src/fx/fx.dhgr.dither.radial2.a | 2 +- src/fx/fx.dhgr.dither.radial4.a | 2 +- src/fx/fx.dhgr.flick.a | 6 +- src/fx/fx.dhgr.heart.in.a | 2 +- src/fx/fx.dhgr.heart.ripple.a | 2 +- src/fx/fx.dhgr.iris.in.a | 2 +- src/fx/fx.dhgr.maple.in.a | 2 +- src/fx/fx.dhgr.maple.ripple.a | 2 +- src/fx/fx.dhgr.precomputed.1bit.a | 4 +- src/fx/fx.dhgr.precomputed.2bit.a | 4 +- src/fx/fx.dhgr.r.by.pixel.a | 6 +- src/fx/fx.dhgr.radial.a | 2 +- src/fx/fx.dhgr.radial.common.a | 2 +- src/fx/fx.dhgr.radial2.a | 2 +- src/fx/fx.dhgr.radial3.a | 2 +- src/fx/fx.dhgr.radial4.a | 2 +- src/fx/fx.dhgr.radial5.a | 2 +- src/fx/fx.dhgr.redlines.a | 6 +- src/fx/fx.dhgr.ripple.a | 3 +- src/fx/fx.dhgr.slow.star.in.a | 2 +- src/fx/fx.dhgr.slow.star.ripple.a | 3 +- src/fx/fx.dhgr.snowflake.in.a | 2 +- src/fx/fx.dhgr.snowflake.ripple.a | 3 +- src/fx/fx.dhgr.soft.iris.in.a | 2 +- src/fx/fx.dhgr.star.in.a | 2 +- src/fx/fx.dhgr.star.ripple.a | 2 +- src/fx/fx.dhgr.star7.in.a | 2 +- src/fx/fx.dhgr.star7.ripple.a | 2 +- src/fx/fx.dhgr.swirl.a | 3 +- src/fx/fx.dhgr.wavy.iris.bloom.in.a | 2 +- src/fx/fx.dhgr.wavy.iris.in.a | 2 +- src/fx/fx.dhgr.wavy.ripple.a | 2 +- src/fx/fx.dhgr.wavy.ripple.bloom.a | 2 +- src/fx/fx.hgr.2pass.lr.a | 4 +- src/fx/fx.hgr.48boxes.common.a | 6 +- src/fx/fx.hgr.apple.in.a | 2 +- src/fx/fx.hgr.apple.ripple.a | 2 +- src/fx/fx.hgr.arrow.white.a | 6 +- src/fx/fx.hgr.bar.dissolve.a | 2 +- src/fx/fx.hgr.block.fizzle.a | 2 +- src/fx/fx.hgr.block.fizzle.white.a | 4 +- src/fx/fx.hgr.bolt.in.a | 2 +- src/fx/fx.hgr.bolt.ripple.a | 2 +- src/fx/fx.hgr.bubbles.in.a | 2 +- src/fx/fx.hgr.butterfly.in.a | 2 +- src/fx/fx.hgr.butterfly.ripple.a | 2 +- src/fx/fx.hgr.checkerboard.fizzle.a | 4 +- src/fx/fx.hgr.circle.stripes.a | 6 +- src/fx/fx.hgr.color.fizzle.a | 2 +- src/fx/fx.hgr.corner4.data.a | 5 - src/fx/fx.hgr.corner4.in.a | 2 +- src/fx/fx.hgr.corner4.ripple.a | 3 +- src/fx/fx.hgr.crystal.a | 2 +- src/fx/fx.hgr.diagonal.a | 2 +- src/fx/fx.hgr.diagonal.stripes.a | 6 +- src/fx/fx.hgr.diagonal2.a | 2 +- src/fx/fx.hgr.diagonal3.a | 2 +- src/fx/fx.hgr.diagonal4.a | 2 +- src/fx/fx.hgr.diamond.stripes.a | 6 +- src/fx/fx.hgr.dither.dissolve.a | 2 +- src/fx/fx.hgr.dither.radial.a | 2 +- src/fx/fx.hgr.dither.radial.common.a | 2 +- src/fx/fx.hgr.dither.radial2.a | 2 +- src/fx/fx.hgr.dither.radial4.a | 2 +- src/fx/fx.hgr.dither.radial5.a | 2 +- src/fx/fx.hgr.flick.a | 8 +- src/fx/fx.hgr.flower.in.a | 2 +- src/fx/fx.hgr.flower.radial.in.a | 2 +- src/fx/fx.hgr.flower.radial.ripple.a | 2 +- src/fx/fx.hgr.flower.ripple.a | 2 +- src/fx/fx.hgr.fourspiral.a | 2 +- src/fx/fx.hgr.foursquare.white.a | 4 +- src/fx/fx.hgr.halfblock.fizzle.a | 2 +- src/fx/fx.hgr.halfblock.fizzle.white.a | 4 +- src/fx/fx.hgr.heart.in.a | 2 +- src/fx/fx.hgr.heart.ripple.a | 2 +- src/fx/fx.hgr.interlock.lr.a | 2 +- src/fx/fx.hgr.interlock.ud.a | 2 +- src/fx/fx.hgr.iris.data.a | 5 - src/fx/fx.hgr.iris.in.a | 2 +- src/fx/fx.hgr.lr.by.pixel.a | 4 +- src/fx/fx.hgr.mandelbrot.in.a | 2 +- src/fx/fx.hgr.mandelbrot.ripple.a | 2 +- src/fx/fx.hgr.maple.in.a | 2 +- src/fx/fx.hgr.maple.ripple.a | 2 +- src/fx/fx.hgr.meet.in.the.middle.a | 2 +- src/fx/fx.hgr.onesquare.white.a | 4 +- src/fx/fx.hgr.precomputed.1bit.a | 142 +------- src/fx/fx.hgr.precomputed.2bit.a | 177 +--------- src/fx/fx.hgr.precomputed.3bit.a | 114 +----- src/fx/fx.hgr.r.by.pixel.a | 2 +- src/fx/fx.hgr.radial.a | 2 +- src/fx/fx.hgr.radial.common.a | 2 +- src/fx/fx.hgr.radial.data.a | 5 - src/fx/fx.hgr.radial2.a | 2 +- src/fx/fx.hgr.radial3.a | 2 +- src/fx/fx.hgr.radial4.a | 2 +- src/fx/fx.hgr.radial5.a | 2 +- src/fx/fx.hgr.redlines.a | 4 +- src/fx/fx.hgr.ripple.a | 3 +- src/fx/fx.hgr.slow.star.data.a | 5 - src/fx/fx.hgr.slow.star.in.a | 2 +- src/fx/fx.hgr.slow.star.ripple.a | 3 +- src/fx/fx.hgr.snowflake.data.a | 5 - src/fx/fx.hgr.snowflake.in.a | 2 +- src/fx/fx.hgr.snowflake.ripple.a | 3 +- src/fx/fx.hgr.soft.diagonal.a | 6 +- src/fx/fx.hgr.soft.iris.in.a | 2 +- src/fx/fx.hgr.soft.ud.a | 2 +- src/fx/fx.hgr.soft.ud.in.a | 2 +- src/fx/fx.hgr.soft.ud.out.a | 2 +- src/fx/fx.hgr.spiral.a | 2 +- src/fx/fx.hgr.split.ud.intro.a | 4 +- src/fx/fx.hgr.stagger.lr.a | 2 +- src/fx/fx.hgr.stagger.lr.white.a | 4 +- src/fx/fx.hgr.stagger.ud.a | 2 +- src/fx/fx.hgr.stagger.ud.white.a | 4 +- src/fx/fx.hgr.star.in.a | 2 +- src/fx/fx.hgr.star.ripple.a | 2 +- src/fx/fx.hgr.star7.in.a | 2 +- src/fx/fx.hgr.star7.ripple.a | 2 +- src/fx/fx.hgr.swirl.a | 3 +- src/fx/fx.hgr.thin.bar.dissolve.a | 2 +- src/fx/fx.hgr.tri.fizzle.a | 2 +- src/fx/fx.hgr.wavy.iris.bloom.in.a | 2 +- src/fx/fx.hgr.wavy.iris.in.a | 2 +- src/fx/fx.hgr.wavy.ripple.a | 2 +- src/fx/fx.hgr.wavy.ripple.bloom.a | 2 +- src/fx/fx.shr.fadein.a | 2 +- src/index/artwork.idx.a | 2 +- src/index/attract.idx.a | 2 +- src/index/cache00.idx.a | 2 +- src/index/cache01.idx.a | 2 +- src/index/cache10.idx.a | 2 +- src/index/cache11.idx.a | 2 +- src/index/coverfade.idx.a | 2 +- src/index/credits.idx.a | 2 +- src/index/decrunch.idx.a | 2 +- src/index/demo.idx.a | 2 +- src/index/dfx.idx.a | 2 +- src/index/dgr.fizzle.idx.a | 2 +- src/index/dgr.idx.a | 2 +- src/index/dhgr.idx.a | 2 +- src/index/dtitle.idx.a | 2 +- src/index/fx.idx.a | 2 +- src/index/fxdata.idx.a | 2 +- src/index/gamehelp.idx.a | 2 +- src/index/gr.fizzle.idx.a | 2 +- src/index/gr.idx.a | 2 +- src/index/helptext.idx.a | 2 +- src/index/hgr0.idx.a | 2 +- src/index/hgr1.idx.a | 2 +- src/index/hgr2.idx.a | 2 +- src/index/hgr3.idx.a | 2 +- src/index/hgr4.idx.a | 2 +- src/index/hgr5.idx.a | 2 +- src/index/hgr6.idx.a | 2 +- src/index/joystick.idx.a | 2 +- src/index/miniattract0.idx.a | 2 +- src/index/miniattract1.idx.a | 2 +- src/index/prelaunch.idx.a | 2 +- src/index/search00.idx.a | 2 +- src/index/search01.idx.a | 2 +- src/index/search10.idx.a | 2 +- src/index/search11.idx.a | 2 +- src/index/sfx.idx.a | 2 +- src/index/slideshow.idx.a | 2 +- src/index/title.idx.a | 2 +- src/index/xsingle.idx.a | 2 +- src/parse.prefs.a | 15 +- src/prodos.path.a | 15 +- 189 files changed, 817 insertions(+), 803 deletions(-) create mode 100644 src/fx.lib.a diff --git a/res/SS/ACTIONS8.CONF b/res/SS/ACTIONS8.CONF index d33238445..91b04801b 100644 --- a/res/SS/ACTIONS8.CONF +++ b/res/SS/ACTIONS8.CONF @@ -1,7 +1,7 @@ # action shots slideshow of games that begin with "S" +SS2B=SS2 STAR.THIEF2=STAR.THIEF SPACE.WARRIOR -SS2B=SS2 SARACEN STATION.5 SABOTAGE diff --git a/src/4cade.a b/src/4cade.a index 1fd64e061..5fdee7adf 100644 --- a/src/4cade.a +++ b/src/4cade.a @@ -20,6 +20,8 @@ RELBASE=$2000 FirstMover !pseudopc RELBASE { + !source "src/fx.lib.a" + ;------------------------------------------------------------------------------ ; Reenter ; This is the primary entry point for returning to the launcher from anywhere. @@ -106,7 +108,6 @@ ResetVector ; 6 bytes, copied to $100 ; these routines will only be called after relocating to language card !source "src/ui.search.mode.a" ; \__ execution falls through !source "src/ui.animation.a" ; / - !source "src/ui.browse.mode.a" !source "src/ui.attract.mode.a" !source "src/ui.attract.hgr.a" @@ -152,108 +153,70 @@ gGlobalPrefsStore ; flips out if it has certain values (it will ; be set to $55 as part of the 64K memory test, ; which is apparently one of the acceptable values) + + !if (RELBASE != $2000) and (* != iRippleCoordinates3Bit) { !serious "iRippleCoordinates3Bit=",*,", fix constants.a" } + jmp RippleCoordinates3Bit + + !if (RELBASE != $2000) and (* != iReverseCoordinates3Bit) { !serious "iReverseCoordinates3Bit=",*,", fix constants.a" } + jmp ReverseCoordinates3Bit + + !if (RELBASE != $2000) and (* != iRippleCoordinates2Bit) { !serious "iRippleCoordinates2Bit=",*,", fix constants.a" } + jmp RippleCoordinates2Bit + + !if (RELBASE != $2000) and (* != iReverseCoordinates2Bit) { !serious "iReverseCoordinates2Bit=",*,", fix constants.a" } + jmp ReverseCoordinates2Bit + + !if (RELBASE != $2000) and (* != iRippleCoordinates1Bit4) { !serious "iRippleCoordinates1Bit4=",*,", fix constants.a" } + jmp RippleCoordinates1Bit4 + + !if (RELBASE != $2000) and (* != iRippleCoordinates1Bit3) { !serious "iRippleCoordinates1Bit3=",*,", fix constants.a" } + jmp RippleCoordinates1Bit3 + + !if (RELBASE != $2000) and (* != iRippleCoordinates1Bit2) { !serious "iRippleCoordinates1Bit2=",*,", fix constants.a" } + jmp RippleCoordinates1Bit2 + + !if (RELBASE != $2000) and (* != iRippleCoordinates1Bit) { !serious "iRippleCoordinates1Bit=",*,", fix constants.a" } + jmp RippleCoordinates1Bit + + !if (RELBASE != $2000) and (* != iReverseCoordinates1Bit) { !serious "iReverseCoordinates1Bit=",*,", fix constants.a" } + jmp ReverseCoordinates1Bit + + !if (RELBASE != $2000) and (* != iWaitForKeyWithTimeout) { !serious "iWaitForKeyWithTimeout=",*,", fix constants.a" } + jmp WaitForKeyWithTimeout + + !if (RELBASE != $2000) and (* != iBuildHGRTables) { !serious "iBuildHGRTables=",*,", fix constants.a" } + jmp BuildHGRTables + + !if (RELBASE != $2000) and (* != iLoadFXDATA) { !serious "iLoadFXDATA=",*,", fix constants.a" } + jmp LoadFXDATA + + !if (RELBASE != $2000) and (* != iLoadXSingle) { !serious "iLoadXSingle=",*,", fix constants.a" } + jmp LoadXSingle + + !if (RELBASE != $2000) and (* != iAddToPath) { !serious "iAddToPath=",*,", fix constants.a" } + jmp AddToPath + + !if (RELBASE != $2000) and (* != iLoadFileDirect) { !serious "iLoadFileDirect=",*,", fix constants.a" } + jmp LoadFileDirect + + !if (RELBASE != $2000) and (* != WaitForVBL) { !serious "WaitForVBL=",*,", fix constants.a" } + jmp WaitForVBL_iie ; SMC to RTS on a II+ + + !if (RELBASE != $2000) and (* != UnwaitForVBL) { !serious "UnwaitForVBL=",*,", fix constants.a" } + rts ; SMC to JMP on a IIc + !word iUnwaitForVBL + SwitchToBank2 +READ_RAM2_WRITE_RAM2 rts -; BuildHGRTables (label is on constants.a) -!if (RELBASE != $2000) and (* != BuildHGRTables) { - !serious "BuildHGRTables=",*,", fix constants.a" -} -; out: A clobbered -; X=$C0 -; Z=1 -; Y preserved - ldx #0 -- txa - and #$F8 - bpl + - ora #5 -+ asl - bpl + - ora #5 -+ asl - asl - sta $0201, x - txa - and #7 - rol - asl $0201, x - rol - ora #$20 - sta $0301, x - inx - cpx #$C0 - bne - - rts - -; WaitForKeyWithTimeout (label is in constants.a) -!if (RELBASE != $2000) and (* != WaitForKeyWithTimeout) { - !serious "WaitForKeyWithTimeout=",*,", fix constants.a" -} -; in: A = timeout length (like standard $FCA8 wait routine) -; out: A clobbered -; X/Y preserved - sec -@wait1 pha -@wait2 sbc #1 - bne @wait2 - pla - bit $C000 - bmi @exit - sbc #1 - bne @wait1 -@exit rts - -; iLoadFXDATA (label is in constants.a) -!if (RELBASE != $2000) and (* != iLoadFXDATA) { - !serious "iLoadFXDATA=",*,", fix constants.a" -} - jmp LoadFXDATA ; no direct calling - target can move - -; iLoadXSingle (label is in constants.a) -!if (RELBASE != $2000) and (* != iLoadXSingle) { - !serious "iLoadXSingle=",*,", fix constants.a" -} - jmp LoadXSingle ; no direct calling - target can move - -; iAddToPath (label is in constants.a) -!if (RELBASE != $2000) and (* != iAddToPath) { - !serious "iAddToPath=",*,", fix constants.a" -} - jmp AddToPath ; no direct calling - target can move - -; iLoadFileDirect (label is in constants.a) -!if (RELBASE != $2000) and (* != iLoadFileDirect) { - !serious "iLoadFileDirect=",*,", fix constants.a" -} - jmp LoadFileDirect ; no direct calling - target can move - -; WaitForVBL (label is in constants.a) -!if (RELBASE != $2000) and (* != WaitForVBL) { - !serious "WaitForVBL=",*,", fix constants.a" -} - jmp WaitForVBL_iie ; SMC to RTS on a II+ - -; UnwaitForVBL (label is in constants.a) -!if (RELBASE != $2000) and (* != UnwaitForVBL) { - !serious "UnwaitForVBL=",*,", fix constants.a" -} - rts ; SMC to JMP on a IIc - !word iUnwaitForVBL - ; MockingboardStuff (label is in constants.a) -!if (RELBASE != $2000) and (* != MockingboardStuff) { - !serious "MockingboardStuff=",*,", fix constants.a" -} ; slot number where Mockingboard was detected and type of board ; #$00 if no Mockingboard detected - !byte $FD ; MockingboardStuff ($FFF8) + !if (RELBASE != $2000) and (* != MockingboardStuff) { !serious "MockingboardStuff=",*,", fix constants.a" } + !byte $FD -; MachineStatus (label is in constants.a so prelaunchers can use it) -!if (RELBASE != $2000) and (* != MachineStatus) { - !serious "MachineStatus=",*,", fix constants.a" -} +; MachineStatus (label is in constants.a) ; 7 6 5 4 3 2 1 0 ; | | | | | | | +- bit 0 reserved ; | | | | | | +--- bit 1 reserved @@ -264,10 +227,10 @@ SwitchToBank2 ; | +------------- bit 6 = 1 if 128K ; +--------------- bit 7 = 1 if joystick ; Use the bit masks defined in constants.a - !byte $FD ; MachineStatus ($FFF9) -!if (RELBASE != $2000) and (* != $FFFA) { - !serious "Expected LC vectors to start at $FFFA, found ",* -} + !if (RELBASE != $2000) and (* != MachineStatus) { !serious "MachineStatus=",*,", fix constants.a" } + !byte $FD + + !if (RELBASE != $2000) and (* != $FFFA) { !serious "Expected LC vectors to start at $FFFA, found ",* } !word Reenter ; NMI vector ($FFFA-B) !word Reenter ; reset vector ($FFFC-D) !word Ignore ; IRQ vector ($FFFE-F) @@ -286,7 +249,7 @@ COPYSRC = * !if LCRAM2_END >= DisableAccelerator { !error "code is too large: ends at ", LCRAM2_END } - FONTDST = $E000 + FONTDST = $D100 } EvenLasterMover FONTSRC = * diff --git a/src/4cade.init.a b/src/4cade.init.a index 13bb039d3..58a6968eb 100755 --- a/src/4cade.init.a +++ b/src/4cade.init.a @@ -190,9 +190,9 @@ dey bne @LM + +READ_RAM1_WRITE_RAM1 ldy #4 -@ELM lda FONTSRC,x - ; relocate font data to $E000 +@ELM lda FONTSRC,x ; relocate font data to $D100/LC1 sta FONTDST,x inx bne @ELM diff --git a/src/4cade.init.screen.a b/src/4cade.init.screen.a index 9309cf6e7..1f9b0c6b0 100644 --- a/src/4cade.init.screen.a +++ b/src/4cade.init.screen.a @@ -2,7 +2,7 @@ ;(c) 2023 by 4am ; ; initialize and clear screen -; assumes zero page is completely trashed other than |zpCharMask| +; assumes zero page is completely trashed ; assumes ROM is banked in on entry ; ; note: this file is included by both the launcher and proboothd diff --git a/src/4cade.version.a b/src/4cade.version.a index 0f09e3670..bb85e3cde 100644 --- a/src/4cade.version.a +++ b/src/4cade.version.a @@ -4,12 +4,10 @@ !ifndef RELEASE { LoadingVersion - !byte 8 - !text " build " + +PSTRING " build " LoadingBuild !word BUILDNUMBER } else { LoadingVersion - !byte 12 - !text " v5.1" + +PSTRING " v5.1" } diff --git a/src/constants.a b/src/constants.a index f82881a86..7039a8cb5 100644 --- a/src/constants.a +++ b/src/constants.a @@ -9,7 +9,7 @@ ; D000 - reserved ; D001..D06E - gGlobalPrefsStore ; ...unused... -; E000..E3FF - HGR font data +; D100..D4FF - HGR font data ; ...unused... ; E6C9..FFEB - main program code ; FFEC..FFF9 - API functions and global constants available for main program @@ -156,28 +156,39 @@ BestMatchScore = $FC ; byte ; main memory gStackSize = 6 ; seems like only six are needed gPathname = $BFD0 ; used by SetPath/AddToPath -gKeyLen = $1F00 -gKey = $1F01 -UILine1 = $1FB0 -UILine2 = $1FD8 -UI_ToPlay = $1FF7 -ProBootEntry = $2025 +gKeyLen = $1F00 ; used by ParseKeyValueList +gKey = $1F01 ; "" +gValLen = $1F80 ; "" +gVal = $1F81 ; "" +UILine1 = $1FB0 ; used by DrawUI +UILine2 = $1FD8 ; "" +UI_ToPlay = $1FF7 ; "" +ProBootEntry = $2025 ; used by ProBoot -gValLen = $1F80 -gVal = $1F81 gSearchIndex = $6000 gSearchCache = $A000 ; LC RAM 1 & 2 -BuildHGRTables = $FFAF -WaitForKeyWithTimeout = $FFD5 -iLoadFXDATA = $FFE6 -iLoadXSingle = $FFE9 -iAddToPath = $FFEC -iLoadFileDirect = $FFEF ; note: you really want LC RAM 2 banked in before calling this -WaitForVBL = $FFF2 -UnwaitForVBL = $FFF5 +; these are defined here because they are also called by other targets +; that are assembled separately, e.g. prelaunchers, demo launchers, and graphic effects +iRippleCoordinates3Bit = $FFBE +iReverseCoordinates3Bit = $FFC1 +iRippleCoordinates2Bit = $FFC4 +iReverseCoordinates2Bit = $FFC7 +iRippleCoordinates1Bit4 = $FFCA +iRippleCoordinates1Bit3 = $FFCD +iRippleCoordinates1Bit2 = $FFD0 +iRippleCoordinates1Bit = $FFD3 +iReverseCoordinates1Bit = $FFD6 +iWaitForKeyWithTimeout = $FFD9 +iBuildHGRTables = $FFDC +iLoadFXDATA = $FFDF +iLoadXSingle = $FFE2 +iAddToPath = $FFE5 +iLoadFileDirect = $FFE8 ; note: you really want LC RAM 2 banked in before calling this +WaitForVBL = $FFEB +UnwaitForVBL = $FFEE 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") @@ -240,5 +251,16 @@ ldrhi2 = $65 ; constant PrelaunchInit = $EB +; addresses used by graphic effects +hgrlo = $0201 ; $C0 bytes +hgrhi = $0301 ; $C0 bytes +hgr1hi = hgrhi +Coordinates1Bit= $8600 ; $3481 bytes ($3480 on disk + 1 byte EOF marker added at runtime) +EndCoordinates1Bit = Coordinates1Bit + $3480 +Coordinates2Bit= $8100 ; $3C01 bytes ($3C00 on disk + 1 byte EOF marker added at runtime) +EndCoordinates2Bit = Coordinates2Bit + $3C00 +Coordinates3Bit= $6B00 ; $5001 bytes ($5000 on disk + 1 byte EOF marker added at runtime) +EndCoordinates3Bit = Coordinates3Bit + $5000 + _CONSTANTS_=* } diff --git a/src/fx.lib.a b/src/fx.lib.a new file mode 100644 index 000000000..c98683476 --- /dev/null +++ b/src/fx.lib.a @@ -0,0 +1,457 @@ +;license:MIT +;(c) 2024 by 4am +; +; common routines used by graphic effects +; +; Note: launcher code can call these routines directly. However, +; graphic effects are assembled as separate targets and must call +; these routines indirectly via the vectors defined in constants.a, +; e.g. iBuildHGRTables instead of BuildHGRTables. +; + +; based on routine by John Brooks +; posted on comp.sys.apple2 on 2018-07-11 +; https://groups.google.com/d/msg/comp.sys.apple2/v2HOfHOmeNQ/zD76fJg_BAAJ +BuildHGRTables +; out: populates tables at $0201 (hgrlo) and $0301 (hgrhi) +; A clobbered +; X=$C0 (important! some callers rely on this) +; Z=1 +; Y preserved + ldx #0 +- txa + and #$F8 + bpl + + ora #5 ++ asl + bpl + + ora #5 ++ asl + asl + sta hgrlo, x + txa + and #7 + rol + asl hgrlo, x + rol + ora #$20 + sta hgrhi, x + inx + cpx #$C0 + bne - + rts + +WaitForKeyWithTimeout +; in: A = timeout length (like standard $FCA8 wait routine) +; out: A clobbered (not always 0 if key is pressed, but also not the key pressed) +; X/Y preserved + sec +@wait1 pha +@wait2 sbc #1 + bne @wait2 + pla + bit KBD + bmi @exit + sbc #1 + bne @wait1 +@exit rts + +ReverseCoordinates1Bit + ldy #0 ; Coordinates1Bit + sta $f1 + lda #<(EndCoordinates1Bit - 2) + sta $f2 + lda #>(EndCoordinates1Bit - 2) + sta $f3 + clc + !byte $24 +- sec +-- lda ($f0), y + pha + lda ($f2), y + sta ($f0), y + pla + sta ($f2), y + iny + bcc - + ldy #0 + !byte $24 +- clc + inc $f0 + bne + + inc $f1 ++ lda $f1 + eor #>(Coordinates1Bit + $1A40) + bne + + lda $f0 + eor #<(Coordinates1Bit + $1A40) + beq ++ ++ lda $f2 + bne + + dec $f3 ++ dec $f2 + bcs - + bcc -- ; always +++ rts + +!zone { +RippleCoordinates1Bit4 + lda #Coordinates1Bit + sta $ed + ldy #0 + !byte $24 +- sec + lda ($ec), y + pha + lda $de, x + sta ($ec), y + pla + sta $de, x + inx + iny + bcc - + dex + dex + dex + dex + bne -- + dec $ee + bne --- + dec $ef + bpl --- + bmi exit ; always branches +aslmod4 jsr aslmod +aslmod3 jsr aslmod +aslmod2 jsr aslmod +aslmod cmp #$1A +!if (>aslmod != >aslmod4) { + !serious "aslmod entry points are not on the same page" +} + bcc + + bne ++ + cpy #$40 + bcc + +++ iny ++ pha + tya + asl + tay + pla + rol + cmp #$34 + bcc exit + bne ++ + cpy #$80 + bcc exit +++ pha + tya + sbc #$80 + tay + pla + sbc #$34 +exit rts +} + +ReverseCoordinates2Bit + ldy #0 ; Coordinates2Bit + sta $f1 + lda #<(EndCoordinates2Bit - 2) + sta $f2 + lda #>(EndCoordinates2Bit - 2) + sta $f3 + + ldx #$1E ; #$3C/2 + clc + !byte $24 +- sec +-- lda ($f0), y + pha + lda ($f2), y + sta ($f0), y + pla + sta ($f2), y + iny + bcc - + ldy #0 + !byte $24 +- clc + inc $f0 + bne + + inc $f1 + dex + beq ++ ++ lda $f2 + bne + + dec $f3 ++ dec $f2 + bcs - + bcc -- ; always branches +++ rts + +RippleCoordinates2Bit + ldy #0 + + ldx #$33 +- lda @ptrtbl, x + sta $c0, x + dex + bpl - + + lda #$9b + sta $fe + iny + sty $ff + + ldx #6 +- lda Coordinates2Bit + 1, x + sta $7f, x + lda Coordinates2Bit + 9, x + sta $85, x + lda Coordinates2Bit + 17, x + sta $8b, x + lda Coordinates2Bit + 65, x + sta $9b, x + dex + bne - + lda Coordinates2Bit + 28 + sta $92 + lda Coordinates2Bit + 29 + sta $93 + ldx #4 +- lda Coordinates2Bit + 33, x + sta $93, x + lda Coordinates2Bit + 41, x + sta $97, x + lda Coordinates2Bit + 83, x + sta $a1, x + dex + bne - + ldx #2 +- lda Coordinates2Bit + 125, x + sta $a5, x + lda Coordinates2Bit + 131, x + sta $a7, x + lda Coordinates2Bit + 139, x + sta $a9, x + lda Coordinates2Bit + 169, x + sta $ab, x + lda Coordinates2Bit + 237, x + sta $ad, x + lda Coordinates2Bit + 2193, x + sta $af, x + lda Coordinates2Bit + 6581, x + sta $b1, x + dex + bne - + +--- ldx #$34 +-- lda $be, x + tay + ora $bf, x + beq + + lda $bf, x + jsr @aslmod + sty $be, x + sta $bf, x + sty $fc + clc + adc #>Coordinates2Bit + sta $fd + ldy #0 + !byte $24 +- sec + lda ($fc), y + pha + lda $7e, x + sta ($fc), y + pla + sta $7e, x + inx + iny + bcc - + dex + dex ++ dex + dex + bne -- + ldy #1 + lda $fe + eor #<(411 - 2) + beq + + ldy #9 + eor #<(411 - 2) xor <(411 - 136) + bne ++ ++ +- ldx @zerotbl, y + sta $0, x + sta $1, x + dey + bpl - +++ dec $fe + bne --- + dec $ff + bpl --- + bmi @exit ; always branches +@aslmod jsr + ++ cmp #$1E + bcc + + iny ++ pha + tya + asl + tay + pla + rol + cmp #$3C + bcc @exit + sbc #$3C +@exit rts +@ptrtbl !word 2, 4, 6, 10, 12, 14, 18, 20 + !word 22, 28, 34, 36, 42, 44, 66, 68 + !word 70, 84, 86, 126, 132, 140, 170, 238 + !word 2194, 6582 +@zerotbl !byte $f0, $f2, $ca, $d2, $d8, $e0, $e2, $e6, $ea, $ee + +;!macro FX_REVERSE_3BIT { +ReverseCoordinates3Bit + ldy #0 ; Coordinates3Bit + sta $f1 + lda #<(EndCoordinates3Bit - 2) + sta $f2 + lda #>(EndCoordinates3Bit - 2) + sta $f3 + + ldx #$28 ; #$50/2 + clc + !byte $24 +- sec +-- lda ($f0), y + pha + lda ($f2), y + sta ($f0), y + pla + sta ($f2), y + iny + bcc - + ldy #0 + !byte $24 +- clc + inc $f0 + bne + + inc $f1 + dex + beq ++ ++ lda $f2 + bne + + dec $f3 ++ dec $f2 + bcs - + bcc -- ; always branches +++ rts + +;!macro FX_RIPPLE_3BIT { +RippleCoordinates3Bit + ldx #$1B +- lda @ripplezp, x + sta $e0, x + dex + bpl - + +--- ldx #$0c +-- ldy $ee, x + lda $ef, x + jsr @aslmod + sty $ee, x + sta $ef, x + sty $ec + clc + adc #>Coordinates3Bit + sta $ed + ldy #0 + !byte $24 +- sec + lda ($ec), y + pha + lda $de, x + sta ($ec), y + pla + sta $de, x + inx + iny + bcc - + dex + dex + dex + dex + bne -- + dec $ee + bne --- + dec $ef + bpl --- + bmi @exit ; always branches +@aslmod jsr + ++ cmp #$28 + bcc + + iny ++ pha + tya + asl + tay + pla + rol + cmp #$50 + bcc @exit + sbc #$50 +@exit rts +@ripplezp + !byte $1F,$F3,$20,$F3,$20,$14,$20,$D3 + !byte $1E,$F3,$1F,$54,$00,$00,$AA,$06 + !byte $02,$00,$04,$00,$06,$00,$0C,$00 + !byte $16,$00,$1A,$00 diff --git a/src/fx/fx.dhgr.2pass.lr.a b/src/fx/fx.dhgr.2pass.lr.a index ef7eb5630..695e1555c 100644 --- a/src/fx/fx.dhgr.2pass.lr.a +++ b/src/fx/fx.dhgr.2pass.lr.a @@ -5,13 +5,13 @@ !to "build/FX.INDEXED/DHGR.TWOPASS.LR",plain *=$6000 -hgrlo = $0201 ; [$C0 bytes, main memory only] -hgr1hi = $0301 ; [$C0 bytes, main memory only] +;hgrlo = $0201 ; [$C0 bytes, main memory only] defined in constants.a +;hgr1hi = $0301 ; [$C0 bytes, main memory only] defined in constants.a !source "src/fx/macros.a" +COPY_TO_0 start, end - jsr BuildHGRTables + jsr iBuildHGRTables jmp loop start @@ -44,7 +44,7 @@ dst sta $FDFD ,y ; SMC cpx #$C0 bcc rowloop lda #$10 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi exit iny cpy #$28 diff --git a/src/fx/fx.dhgr.48boxes.common.a b/src/fx/fx.dhgr.48boxes.common.a index 29b379408..195ea2c56 100644 --- a/src/fx/fx.dhgr.48boxes.common.a +++ b/src/fx/fx.dhgr.48boxes.common.a @@ -81,8 +81,8 @@ tmpy = $05 ; [byte] used by drawing routines box = $0E ; [byte] counter in main loop BoxStages = $10 ; [$30 bytes] current stage for each box auxsrc_hgrhi = $BD01 ; [$C0 bytes] HGR base addresses (hi) starting at $9000 -hgrlo = $0201 ; [$C0 bytes] HGR base addresses (lo) starting at $2000 -hgrhi = $0301 ; [$C0 bytes] HGR base addresses (hi) starting at $2000 +;hgrlo = $0201 ; [$C0 bytes] HGR base addresses (lo) starting at $2000 (defined in constants.a) +;hgrhi = $0301 ; [$C0 bytes] HGR base addresses (hi) starting at $2000 (defined in constants.a) BoxesX = $BE90 ; [$30 bytes] starting row for each box BoxesY = $BEC0 ; [$30 bytes] starting byte offset for each box @@ -322,7 +322,7 @@ GenerateBoxes bne - ; X=0 here - jsr BuildHGRTables + jsr iBuildHGRTables ; X=$C0 here - lda hgrhi-1, x diff --git a/src/fx/fx.dhgr.bar.dissolve.a b/src/fx/fx.dhgr.bar.dissolve.a index 389bd4973..31b732ab9 100644 --- a/src/fx/fx.dhgr.bar.dissolve.a +++ b/src/fx/fx.dhgr.bar.dissolve.a @@ -5,14 +5,14 @@ !to "build/FX.INDEXED/DHGR.BAR.DISSLV",plain *=$6000 -hgrlo = $0201 ; [$C0 bytes, main memory only] -hgr1hi = $0301 ; [$C0 bytes, main memory only] +;hgrlo = $0201 ; [$C0 bytes, main memory only] defined in constants.a +;hgr1hi = $0301 ; [$C0 bytes, main memory only] defined in constants.a !source "src/fx/macros.a" +COPY_TO_0 start, end ;X=0 - jsr BuildHGRTables + jsr iBuildHGRTables jmp loop start @@ -61,7 +61,7 @@ dst2 sta $FDFD, y ; SMC bcc - jsr tomain lda #$30 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi exit dec row2 inc row1 diff --git a/src/fx/fx.dhgr.bubbles.in.a b/src/fx/fx.dhgr.bubbles.in.a index 5a3fc53b0..fa88f5a7f 100644 --- a/src/fx/fx.dhgr.bubbles.in.a +++ b/src/fx/fx.dhgr.bubbles.in.a @@ -8,7 +8,7 @@ !source "src/fx/fx.dhgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - +FX_REVERSE_1BIT + jsr iReverseCoordinates1Bit Start +FX_PRECOMPUTED_1BIT_DHGR Coordinates1Bit diff --git a/src/fx/fx.dhgr.butterfly.in.a b/src/fx/fx.dhgr.butterfly.in.a index 3ff2a61ca..48ab014b1 100644 --- a/src/fx/fx.dhgr.butterfly.in.a +++ b/src/fx/fx.dhgr.butterfly.in.a @@ -8,7 +8,7 @@ !source "src/fx/fx.dhgr.precomputed.2bit.a" +FX_INITONCE_2BIT CoordinatesFile, Start - +FX_REVERSE_2BIT + jsr iReverseCoordinates2Bit Start +FX_PRECOMPUTED_2BIT_DHGR Coordinates2Bit diff --git a/src/fx/fx.dhgr.butterfly.ripple.a b/src/fx/fx.dhgr.butterfly.ripple.a index 2c4f8f3ec..b64decc64 100644 --- a/src/fx/fx.dhgr.butterfly.ripple.a +++ b/src/fx/fx.dhgr.butterfly.ripple.a @@ -8,7 +8,7 @@ !source "src/fx/fx.dhgr.precomputed.2bit.a" +FX_INITONCE_2BIT CoordinatesFile, Start - +FX_RIPPLE_2BIT + jsr iRippleCoordinates2Bit Start +FX_PRECOMPUTED_2BIT_DHGR Coordinates2Bit diff --git a/src/fx/fx.dhgr.corner4.in.a b/src/fx/fx.dhgr.corner4.in.a index 489b8ee5d..2ca0739f1 100644 --- a/src/fx/fx.dhgr.corner4.in.a +++ b/src/fx/fx.dhgr.corner4.in.a @@ -8,7 +8,7 @@ !source "src/fx/fx.dhgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - +FX_REVERSE_1BIT + jsr iReverseCoordinates1Bit Start +FX_PRECOMPUTED_1BIT_DHGR Coordinates1Bit diff --git a/src/fx/fx.dhgr.corner4.ripple.a b/src/fx/fx.dhgr.corner4.ripple.a index ff55ddd82..f01458673 100644 --- a/src/fx/fx.dhgr.corner4.ripple.a +++ b/src/fx/fx.dhgr.corner4.ripple.a @@ -8,7 +8,8 @@ !source "src/fx/fx.dhgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - jsr EndCoordinates1Bit+1 + jsr iRippleCoordinates1Bit2 + Start +FX_PRECOMPUTED_1BIT_DHGR Coordinates1Bit diff --git a/src/fx/fx.dhgr.diagonal.a b/src/fx/fx.dhgr.diagonal.a index 385276bbd..673d748d0 100644 --- a/src/fx/fx.dhgr.diagonal.a +++ b/src/fx/fx.dhgr.diagonal.a @@ -5,15 +5,15 @@ !to "build/FX.INDEXED/DHGR.DIAGONAL",plain *=$6000 -hgrlo = $0201 ; [$C0 bytes, main memory only] -hgr1hi = $0301 ; [$C0 bytes, main memory only] +;hgrlo = $0201 ; [$C0 bytes, main memory only] defined in constants.a copymasks= $02C1 ; [$08 bytes, different values in main and auxmem] +;hgr1hi = $0301 ; [$C0 bytes, main memory only] defined in constants.a !source "src/fx/macros.a" +COPY_TO_0 start, end ;X=0 - jsr BuildHGRTables + jsr iBuildHGRTables ldy #8 ; copy copymask arrays into place in main and auxmem - lda copymasks_main-1, y diff --git a/src/fx/fx.dhgr.dither.radial.a b/src/fx/fx.dhgr.dither.radial.a index e5c4a2e4c..c4b956977 100644 --- a/src/fx/fx.dhgr.dither.radial.a +++ b/src/fx/fx.dhgr.dither.radial.a @@ -26,7 +26,7 @@ input = $FE ; word Start +BUILD_DITHER_MASKS_DHGR dithermasks +BUILD_SPARSE_BITMASKS_1BIT_DHGR copymasks, mirror_copymasks - jsr BuildHGRTables + jsr iBuildHGRTables +BUILD_HGR_MIRROR_LOOKUP_TABLES hgrlomirror, hgr1himirror +BUILD_MIRROR_COLS_DHGR mirror_cols +COPY_TO_AUXMEM $60, 4 diff --git a/src/fx/fx.dhgr.dither.radial.common.a b/src/fx/fx.dhgr.dither.radial.common.a index 42909f96f..0f3130f6f 100644 --- a/src/fx/fx.dhgr.dither.radial.common.a +++ b/src/fx/fx.dhgr.dither.radial.common.a @@ -17,7 +17,7 @@ input = $FE ; word +BUILD_DITHER_MASKS_DHGR dithermasks +BUILD_SPARSE_BITMASKS_1BIT_DHGR copymasks, mirror_copymasks - jsr BuildHGRTables + jsr iBuildHGRTables +BUILD_HGR_MIRROR_LOOKUP_TABLES hgrlomirror, hgr1himirror +BUILD_MIRROR_COLS_DHGR mirror_cols +COPY_TO_AUXMEM $60, 4 diff --git a/src/fx/fx.dhgr.dither.radial2.a b/src/fx/fx.dhgr.dither.radial2.a index 78365e1c7..e3372e82b 100644 --- a/src/fx/fx.dhgr.dither.radial2.a +++ b/src/fx/fx.dhgr.dither.radial2.a @@ -8,7 +8,7 @@ !source "src/fx/fx.dhgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - +FX_RIPPLE_1BIT aslmod + jsr iRippleCoordinates1Bit Start !source "src/fx/fx.dhgr.dither.radial.common.a" diff --git a/src/fx/fx.dhgr.dither.radial4.a b/src/fx/fx.dhgr.dither.radial4.a index e6f1f33c3..ca448da4c 100644 --- a/src/fx/fx.dhgr.dither.radial4.a +++ b/src/fx/fx.dhgr.dither.radial4.a @@ -8,7 +8,7 @@ !source "src/fx/fx.dhgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - jsr EndCoordinates1Bit+1 + jsr iRippleCoordinates1Bit2 Start !source "src/fx/fx.dhgr.dither.radial.common.a" diff --git a/src/fx/fx.dhgr.flick.a b/src/fx/fx.dhgr.flick.a index 93c2d3fba..cadebf800 100644 --- a/src/fx/fx.dhgr.flick.a +++ b/src/fx/fx.dhgr.flick.a @@ -5,9 +5,9 @@ !to "build/FX.INDEXED/DHGR.FLICK",plain *=$6000 -hgrlo = $201 ; [$C0 bytes, main memory only] +;hgrlo = $201 ; [$C0 bytes, main memory only] defined in constants.a startrows_by_column = $2C1 ; [$28 bytes, main memory only] -hgr1hi = $301 ; [$C0 bytes, main memory only] +;hgr1hi = $301 ; [$C0 bytes, main memory only] defined in constants.a !source "src/fx/macros.a" @@ -18,7 +18,7 @@ hgr1hi = $301 ; [$C0 bytes, main memory only] sta startrows_by_column-1, x dex bne - - jsr BuildHGRTables + jsr iBuildHGRTables jmp loop start diff --git a/src/fx/fx.dhgr.heart.in.a b/src/fx/fx.dhgr.heart.in.a index 2dff4cfcf..d61aa1891 100644 --- a/src/fx/fx.dhgr.heart.in.a +++ b/src/fx/fx.dhgr.heart.in.a @@ -8,7 +8,7 @@ !source "src/fx/fx.dhgr.precomputed.2bit.a" +FX_INITONCE_2BIT CoordinatesFile, Start - +FX_REVERSE_2BIT + jsr iReverseCoordinates2Bit Start +FX_PRECOMPUTED_2BIT_DHGR Coordinates2Bit diff --git a/src/fx/fx.dhgr.heart.ripple.a b/src/fx/fx.dhgr.heart.ripple.a index 6010a0e40..75fd8bfd4 100644 --- a/src/fx/fx.dhgr.heart.ripple.a +++ b/src/fx/fx.dhgr.heart.ripple.a @@ -8,7 +8,7 @@ !source "src/fx/fx.dhgr.precomputed.2bit.a" +FX_INITONCE_2BIT CoordinatesFile, Start - +FX_RIPPLE_2BIT + jsr iRippleCoordinates2Bit Start +FX_PRECOMPUTED_2BIT_DHGR Coordinates2Bit diff --git a/src/fx/fx.dhgr.iris.in.a b/src/fx/fx.dhgr.iris.in.a index f9fdb8402..81624b062 100644 --- a/src/fx/fx.dhgr.iris.in.a +++ b/src/fx/fx.dhgr.iris.in.a @@ -8,7 +8,7 @@ !source "src/fx/fx.dhgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - +FX_REVERSE_1BIT + jsr iReverseCoordinates1Bit Start +FX_PRECOMPUTED_1BIT_DHGR Coordinates1Bit diff --git a/src/fx/fx.dhgr.maple.in.a b/src/fx/fx.dhgr.maple.in.a index 35ffa34b7..db71fa6a3 100644 --- a/src/fx/fx.dhgr.maple.in.a +++ b/src/fx/fx.dhgr.maple.in.a @@ -8,7 +8,7 @@ !source "src/fx/fx.dhgr.precomputed.2bit.a" +FX_INITONCE_2BIT CoordinatesFile, Start - +FX_REVERSE_2BIT + jsr iReverseCoordinates2Bit Start +FX_PRECOMPUTED_2BIT_DHGR Coordinates2Bit diff --git a/src/fx/fx.dhgr.maple.ripple.a b/src/fx/fx.dhgr.maple.ripple.a index bed82bd47..9fb4fd11b 100644 --- a/src/fx/fx.dhgr.maple.ripple.a +++ b/src/fx/fx.dhgr.maple.ripple.a @@ -8,7 +8,7 @@ !source "src/fx/fx.dhgr.precomputed.2bit.a" +FX_INITONCE_2BIT CoordinatesFile, Start - +FX_RIPPLE_2BIT + jsr iRippleCoordinates2Bit Start +FX_PRECOMPUTED_2BIT_DHGR Coordinates2Bit diff --git a/src/fx/fx.dhgr.precomputed.1bit.a b/src/fx/fx.dhgr.precomputed.1bit.a index b2e95048e..a0ac3eb27 100644 --- a/src/fx/fx.dhgr.precomputed.1bit.a +++ b/src/fx/fx.dhgr.precomputed.1bit.a @@ -51,7 +51,7 @@ !macro FX_PRECOMPUTED_1BIT_DHGR .coords { +BUILD_SPARSE_BITMASKS_1BIT_DHGR copymasks, mirror_copymasks - jsr BuildHGRTables + jsr iBuildHGRTables +BUILD_HGR_MIRROR_LOOKUP_TABLES hgrlomirror, hgr1himirror +BUILD_MIRROR_COLS_DHGR mirror_cols +COPY_TO_0 start, end @@ -143,7 +143,7 @@ end !macro FX_PRECOMPUTED_1BIT_DHGR_DITHER .coords, .endcoords { +BUILD_DITHER_MASKS_DHGR dithermasks +BUILD_SPARSE_BITMASKS_1BIT_DHGR copymasks, mirror_copymasks - jsr BuildHGRTables + jsr iBuildHGRTables +BUILD_HGR_MIRROR_LOOKUP_TABLES hgrlomirror, hgr1himirror +BUILD_MIRROR_COLS_DHGR mirror_cols diff --git a/src/fx/fx.dhgr.precomputed.2bit.a b/src/fx/fx.dhgr.precomputed.2bit.a index 6fb96a4c0..9959e4fd5 100644 --- a/src/fx/fx.dhgr.precomputed.2bit.a +++ b/src/fx/fx.dhgr.precomputed.2bit.a @@ -53,7 +53,7 @@ !macro FX_PRECOMPUTED_2BIT_DHGR .coords { +BUILD_SPARSE_BITMASKS_2BIT_DHGR copymasks, mirror_copymasks - jsr BuildHGRTables + jsr iBuildHGRTables +BUILD_MIRROR_COLS_DHGR mirror_cols +COPY_TO_0 start, end jmp InputLoop @@ -128,7 +128,7 @@ end !macro FX_PRECOMPUTED_2BIT_DHGR_DITHER .coords, .endcoords { +BUILD_DITHER_MASKS_DHGR dithermasks +BUILD_SPARSE_BITMASKS_2BIT_DHGR copymasks, mirror_copymasks - jsr BuildHGRTables + jsr iBuildHGRTables +BUILD_MIRROR_COLS_DHGR mirror_cols ; phase 1 - in reverse, with additional masking (dithering) diff --git a/src/fx/fx.dhgr.r.by.pixel.a b/src/fx/fx.dhgr.r.by.pixel.a index e9d5cb49d..2863e3ec9 100644 --- a/src/fx/fx.dhgr.r.by.pixel.a +++ b/src/fx/fx.dhgr.r.by.pixel.a @@ -5,14 +5,14 @@ !to "build/FX.INDEXED/DHGR.R.BY.PIXEL",plain *=$6000 -hgrlo = $0201 ; [$C0 bytes, main memory only, offset by 1 because lookups will be based on $0200,x] -hgr1hi = $0301 ; [$C0 bytes, main memory only] +;hgrlo = $0201 ; [$C0 bytes, main memory only] defined in constants.a copymasks= $02C1 ; [$07 bytes, different values in main and auxmem] +;hgr1hi = $0301 ; [$C0 bytes, main memory only] defined in constants.a !source "src/fx/macros.a" +COPY_TO_0 start, end - jsr BuildHGRTables + jsr iBuildHGRTables ldy #7 ; copy copymask arrays into place in main and auxmem - lda copymasks_main-1, y diff --git a/src/fx/fx.dhgr.radial.a b/src/fx/fx.dhgr.radial.a index 681f3a393..adc9ce2b1 100644 --- a/src/fx/fx.dhgr.radial.a +++ b/src/fx/fx.dhgr.radial.a @@ -23,7 +23,7 @@ input = $FE ; word Start +BUILD_SPARSE_BITMASKS_1BIT_DHGR copymasks, mirror_copymasks - jsr BuildHGRTables + jsr iBuildHGRTables +BUILD_HGR_MIRROR_LOOKUP_TABLES hgrlomirror, hgr1himirror +BUILD_MIRROR_COLS_DHGR mirror_cols +COPY_TO_AUXMEM $60, 4 diff --git a/src/fx/fx.dhgr.radial.common.a b/src/fx/fx.dhgr.radial.common.a index e35e6d9fb..17ebaeec9 100644 --- a/src/fx/fx.dhgr.radial.common.a +++ b/src/fx/fx.dhgr.radial.common.a @@ -14,7 +14,7 @@ reverse_input = $FC ; word input = $FE ; word +BUILD_SPARSE_BITMASKS_1BIT_DHGR copymasks, mirror_copymasks - jsr BuildHGRTables + jsr iBuildHGRTables +BUILD_HGR_MIRROR_LOOKUP_TABLES hgrlomirror, hgr1himirror +BUILD_MIRROR_COLS_DHGR mirror_cols +COPY_TO_AUXMEM $60, 4 diff --git a/src/fx/fx.dhgr.radial2.a b/src/fx/fx.dhgr.radial2.a index 1cf244c20..236f34fc4 100644 --- a/src/fx/fx.dhgr.radial2.a +++ b/src/fx/fx.dhgr.radial2.a @@ -8,7 +8,7 @@ !source "src/fx/fx.dhgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - +FX_RIPPLE_1BIT aslmod + jsr iRippleCoordinates1Bit Start !source "src/fx/fx.dhgr.radial.common.a" diff --git a/src/fx/fx.dhgr.radial3.a b/src/fx/fx.dhgr.radial3.a index 9dd19997a..73f4e0293 100644 --- a/src/fx/fx.dhgr.radial3.a +++ b/src/fx/fx.dhgr.radial3.a @@ -22,7 +22,7 @@ input = $FE ; word Start +BUILD_SPARSE_BITMASKS_1BIT_DHGR copymasks, mirror_copymasks - jsr BuildHGRTables + jsr iBuildHGRTables +BUILD_HGR_MIRROR_LOOKUP_TABLES hgrlomirror, hgr1himirror +BUILD_MIRROR_COLS_DHGR mirror_cols +COPY_TO_AUXMEM $60, 4 diff --git a/src/fx/fx.dhgr.radial4.a b/src/fx/fx.dhgr.radial4.a index b48091257..68de79ec9 100644 --- a/src/fx/fx.dhgr.radial4.a +++ b/src/fx/fx.dhgr.radial4.a @@ -8,7 +8,7 @@ !source "src/fx/fx.dhgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - jsr EndCoordinates1Bit+1 + jsr iRippleCoordinates1Bit2 Start !source "src/fx/fx.dhgr.radial.common.a" diff --git a/src/fx/fx.dhgr.radial5.a b/src/fx/fx.dhgr.radial5.a index bfdbe1f15..cb56eaf5b 100644 --- a/src/fx/fx.dhgr.radial5.a +++ b/src/fx/fx.dhgr.radial5.a @@ -8,7 +8,7 @@ !source "src/fx/fx.dhgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - +FX_RIPPLE_1BIT aslmod3 + jsr iRippleCoordinates1Bit3 Start !source "src/fx/fx.dhgr.radial.common.a" diff --git a/src/fx/fx.dhgr.redlines.a b/src/fx/fx.dhgr.redlines.a index 792480fb3..ea7c91291 100644 --- a/src/fx/fx.dhgr.redlines.a +++ b/src/fx/fx.dhgr.redlines.a @@ -9,13 +9,13 @@ ; mainmem alternate #$11/#$44 ; auxmem alternate #$08/#$22 -hgrlo = $0201 ; [$C0 bytes, main memory only] -hgr1hi = $0301 ; [$C0 bytes, main memory only] +;hgrlo = $0201 ; [$C0 bytes, main memory only] defined in constants.a +;hgr1hi = $0301 ; [$C0 bytes, main memory only] defined in constants.a !source "src/fx/macros.a" +COPY_TO_0 start, end - jsr BuildHGRTables + jsr iBuildHGRTables jmp loop start diff --git a/src/fx/fx.dhgr.ripple.a b/src/fx/fx.dhgr.ripple.a index a0a281ca6..bbf09a7ac 100644 --- a/src/fx/fx.dhgr.ripple.a +++ b/src/fx/fx.dhgr.ripple.a @@ -8,7 +8,8 @@ !source "src/fx/fx.dhgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - jsr EndCoordinates1Bit+1 + jsr iRippleCoordinates1Bit2 + Start +FX_PRECOMPUTED_1BIT_DHGR Coordinates1Bit diff --git a/src/fx/fx.dhgr.slow.star.in.a b/src/fx/fx.dhgr.slow.star.in.a index c0b5b8ff6..5458a5c96 100644 --- a/src/fx/fx.dhgr.slow.star.in.a +++ b/src/fx/fx.dhgr.slow.star.in.a @@ -8,7 +8,7 @@ !source "src/fx/fx.dhgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - +FX_REVERSE_1BIT + jsr iReverseCoordinates1Bit Start +FX_PRECOMPUTED_1BIT_DHGR Coordinates1Bit diff --git a/src/fx/fx.dhgr.slow.star.ripple.a b/src/fx/fx.dhgr.slow.star.ripple.a index 48a932deb..70c26c487 100644 --- a/src/fx/fx.dhgr.slow.star.ripple.a +++ b/src/fx/fx.dhgr.slow.star.ripple.a @@ -8,7 +8,8 @@ !source "src/fx/fx.dhgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - jsr EndCoordinates1Bit+1 + jsr iRippleCoordinates1Bit2 + Start +FX_PRECOMPUTED_1BIT_DHGR Coordinates1Bit diff --git a/src/fx/fx.dhgr.snowflake.in.a b/src/fx/fx.dhgr.snowflake.in.a index b7ae1dd65..802479d7d 100644 --- a/src/fx/fx.dhgr.snowflake.in.a +++ b/src/fx/fx.dhgr.snowflake.in.a @@ -8,7 +8,7 @@ !source "src/fx/fx.dhgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - +FX_REVERSE_1BIT + jsr iReverseCoordinates1Bit Start +FX_PRECOMPUTED_1BIT_DHGR Coordinates1Bit diff --git a/src/fx/fx.dhgr.snowflake.ripple.a b/src/fx/fx.dhgr.snowflake.ripple.a index 7fbac1c0b..82adaa91c 100644 --- a/src/fx/fx.dhgr.snowflake.ripple.a +++ b/src/fx/fx.dhgr.snowflake.ripple.a @@ -8,7 +8,8 @@ !source "src/fx/fx.dhgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - jsr EndCoordinates1Bit+1 + jsr iRippleCoordinates1Bit2 + Start +FX_PRECOMPUTED_1BIT_DHGR Coordinates1Bit diff --git a/src/fx/fx.dhgr.soft.iris.in.a b/src/fx/fx.dhgr.soft.iris.in.a index e5d3488d0..0f7b64cbb 100644 --- a/src/fx/fx.dhgr.soft.iris.in.a +++ b/src/fx/fx.dhgr.soft.iris.in.a @@ -8,7 +8,7 @@ !source "src/fx/fx.dhgr.precomputed.2bit.a" +FX_INITONCE_2BIT CoordinatesFile, Start - +FX_REVERSE_2BIT + jsr iReverseCoordinates2Bit Start +FX_PRECOMPUTED_2BIT_DHGR Coordinates2Bit diff --git a/src/fx/fx.dhgr.star.in.a b/src/fx/fx.dhgr.star.in.a index 13c05bf7a..a88c89aa9 100644 --- a/src/fx/fx.dhgr.star.in.a +++ b/src/fx/fx.dhgr.star.in.a @@ -8,7 +8,7 @@ !source "src/fx/fx.dhgr.precomputed.2bit.a" +FX_INITONCE_2BIT CoordinatesFile, Start - +FX_REVERSE_2BIT + jsr iReverseCoordinates2Bit Start +FX_PRECOMPUTED_2BIT_DHGR Coordinates2Bit diff --git a/src/fx/fx.dhgr.star.ripple.a b/src/fx/fx.dhgr.star.ripple.a index 57de8ae39..9876517f8 100644 --- a/src/fx/fx.dhgr.star.ripple.a +++ b/src/fx/fx.dhgr.star.ripple.a @@ -8,7 +8,7 @@ !source "src/fx/fx.dhgr.precomputed.2bit.a" +FX_INITONCE_2BIT CoordinatesFile, Start - +FX_RIPPLE_2BIT + jsr iRippleCoordinates2Bit Start +FX_PRECOMPUTED_2BIT_DHGR Coordinates2Bit diff --git a/src/fx/fx.dhgr.star7.in.a b/src/fx/fx.dhgr.star7.in.a index f64cdef71..b6b45b680 100644 --- a/src/fx/fx.dhgr.star7.in.a +++ b/src/fx/fx.dhgr.star7.in.a @@ -8,7 +8,7 @@ !source "src/fx/fx.dhgr.precomputed.2bit.a" +FX_INITONCE_2BIT CoordinatesFile, Start - +FX_REVERSE_2BIT + jsr iReverseCoordinates2Bit Start +FX_PRECOMPUTED_2BIT_DHGR Coordinates2Bit diff --git a/src/fx/fx.dhgr.star7.ripple.a b/src/fx/fx.dhgr.star7.ripple.a index 58d169556..b25c29313 100644 --- a/src/fx/fx.dhgr.star7.ripple.a +++ b/src/fx/fx.dhgr.star7.ripple.a @@ -8,7 +8,7 @@ !source "src/fx/fx.dhgr.precomputed.2bit.a" +FX_INITONCE_2BIT CoordinatesFile, Start - +FX_RIPPLE_2BIT + jsr iRippleCoordinates2Bit Start +FX_PRECOMPUTED_2BIT_DHGR Coordinates2Bit diff --git a/src/fx/fx.dhgr.swirl.a b/src/fx/fx.dhgr.swirl.a index 992502eea..67bf4e7cb 100644 --- a/src/fx/fx.dhgr.swirl.a +++ b/src/fx/fx.dhgr.swirl.a @@ -8,7 +8,8 @@ !source "src/fx/fx.dhgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - +FX_RIPPLE_1BIT aslmod4 + jsr iRippleCoordinates1Bit4 + Start +FX_PRECOMPUTED_1BIT_DHGR Coordinates1Bit diff --git a/src/fx/fx.dhgr.wavy.iris.bloom.in.a b/src/fx/fx.dhgr.wavy.iris.bloom.in.a index 9818db597..9c8400873 100644 --- a/src/fx/fx.dhgr.wavy.iris.bloom.in.a +++ b/src/fx/fx.dhgr.wavy.iris.bloom.in.a @@ -8,7 +8,7 @@ !source "src/fx/fx.dhgr.precomputed.2bit.a" +FX_INITONCE_2BIT CoordinatesFile, Start - +FX_REVERSE_2BIT + jsr iReverseCoordinates2Bit Start +FX_PRECOMPUTED_2BIT_DHGR Coordinates2Bit diff --git a/src/fx/fx.dhgr.wavy.iris.in.a b/src/fx/fx.dhgr.wavy.iris.in.a index a320ac6bd..225dc9969 100644 --- a/src/fx/fx.dhgr.wavy.iris.in.a +++ b/src/fx/fx.dhgr.wavy.iris.in.a @@ -8,7 +8,7 @@ !source "src/fx/fx.dhgr.precomputed.2bit.a" +FX_INITONCE_2BIT CoordinatesFile, Start - +FX_REVERSE_2BIT + jsr iReverseCoordinates2Bit Start +FX_PRECOMPUTED_2BIT_DHGR Coordinates2Bit diff --git a/src/fx/fx.dhgr.wavy.ripple.a b/src/fx/fx.dhgr.wavy.ripple.a index e06cabc8b..87bbb4ac1 100644 --- a/src/fx/fx.dhgr.wavy.ripple.a +++ b/src/fx/fx.dhgr.wavy.ripple.a @@ -8,7 +8,7 @@ !source "src/fx/fx.dhgr.precomputed.2bit.a" +FX_INITONCE_2BIT CoordinatesFile, Start - +FX_RIPPLE_2BIT + jsr iRippleCoordinates2Bit Start +FX_PRECOMPUTED_2BIT_DHGR Coordinates2Bit diff --git a/src/fx/fx.dhgr.wavy.ripple.bloom.a b/src/fx/fx.dhgr.wavy.ripple.bloom.a index 5c3b6c2e3..609217ecb 100644 --- a/src/fx/fx.dhgr.wavy.ripple.bloom.a +++ b/src/fx/fx.dhgr.wavy.ripple.bloom.a @@ -8,7 +8,7 @@ !source "src/fx/fx.dhgr.precomputed.2bit.a" +FX_INITONCE_2BIT CoordinatesFile, Start - +FX_RIPPLE_2BIT + jsr iRippleCoordinates2Bit Start +FX_PRECOMPUTED_2BIT_DHGR Coordinates2Bit diff --git a/src/fx/fx.hgr.2pass.lr.a b/src/fx/fx.hgr.2pass.lr.a index c568452eb..57642f5d7 100644 --- a/src/fx/fx.hgr.2pass.lr.a +++ b/src/fx/fx.hgr.2pass.lr.a @@ -27,7 +27,7 @@ row = $FF bne @loop1 lda #$10 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit inc @h1 @@ -50,7 +50,7 @@ row = $FF bne @loop2 lda #$10 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit inc @h2 diff --git a/src/fx/fx.hgr.48boxes.common.a b/src/fx/fx.hgr.48boxes.common.a index 6c7e89306..dbe60858b 100644 --- a/src/fx/fx.hgr.48boxes.common.a +++ b/src/fx/fx.hgr.48boxes.common.a @@ -76,8 +76,8 @@ src = $00 ; [word][must be at $00] used by drawing routines dst = $02 ; [word] used by drawing routines rowcount = $04 ; [byte] used by drawing routines -hgrlo = $201 ; [$C0 bytes] HGR base addresses -hgrhi = $301 ; [$C0 bytes] HGR base addresses +;hgrlo = $201 ; [$C0 bytes] HGR base addresses (defined in constants.a) +;hgrhi = $301 ; [$C0 bytes] HGR base addresses (defined in constants.a) BoxesX = $90 ; [$30 bytes] starting row for each box BoxesY = $C0 ; [$30 bytes] starting byte offset for each box @@ -164,7 +164,7 @@ k_right_mask = 17 inx bne - - jsr BuildHGRTables + jsr iBuildHGRTables ; Generate |BoxesX| and |BoxesY| arrays ; BoxesX (starting row for each box) diff --git a/src/fx/fx.hgr.apple.in.a b/src/fx/fx.hgr.apple.in.a index e972f90a2..33c5914a2 100644 --- a/src/fx/fx.hgr.apple.in.a +++ b/src/fx/fx.hgr.apple.in.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.3bit.a" +FX_INITONCE_3BIT CoordinatesFile, Start - +FX_REVERSE_3BIT + jsr iReverseCoordinates3Bit Start +FX_PRECOMPUTED_3BIT Coordinates3Bit diff --git a/src/fx/fx.hgr.apple.ripple.a b/src/fx/fx.hgr.apple.ripple.a index 4b37650b8..cf484f2fa 100644 --- a/src/fx/fx.hgr.apple.ripple.a +++ b/src/fx/fx.hgr.apple.ripple.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.3bit.a" +FX_INITONCE_3BIT CoordinatesFile, Start - +FX_RIPPLE_3BIT + jsr iRippleCoordinates3Bit Start +FX_PRECOMPUTED_3BIT Coordinates3Bit diff --git a/src/fx/fx.hgr.arrow.white.a b/src/fx/fx.hgr.arrow.white.a index 544d07a72..876de3b73 100644 --- a/src/fx/fx.hgr.arrow.white.a +++ b/src/fx/fx.hgr.arrow.white.a @@ -10,13 +10,13 @@ row = $fd col = $fe counter = $ff -hgrlo = $0201 -hgr1hi = $0301 +;hgrlo = $0201 (defined in constants.a) +;hgr1hi = $0301 (defined in constants.a) !source "src/fx/macros.a" !source "src/constants.a" - jsr BuildHGRTables + jsr iBuildHGRTables lda #(40+12+1) sta counter diff --git a/src/fx/fx.hgr.bar.dissolve.a b/src/fx/fx.hgr.bar.dissolve.a index f3967333b..090029671 100644 --- a/src/fx/fx.hgr.bar.dissolve.a +++ b/src/fx/fx.hgr.bar.dissolve.a @@ -31,7 +31,7 @@ row2 = $ff dey bpl - lda #$30 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit inc row1 dec row2 diff --git a/src/fx/fx.hgr.block.fizzle.a b/src/fx/fx.hgr.block.fizzle.a index 1d8b71f5c..712283ac5 100644 --- a/src/fx/fx.hgr.block.fizzle.a +++ b/src/fx/fx.hgr.block.fizzle.a @@ -22,7 +22,7 @@ txa jsr HGRBlockCopy lda #$0C - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit inc coord bne + diff --git a/src/fx/fx.hgr.block.fizzle.white.a b/src/fx/fx.hgr.block.fizzle.white.a index 4a7980fbb..1e2a03311 100644 --- a/src/fx/fx.hgr.block.fizzle.white.a +++ b/src/fx/fx.hgr.block.fizzle.white.a @@ -22,7 +22,7 @@ txa jsr HGRBlockToWhite lda #$03 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit inc coord bne + @@ -45,7 +45,7 @@ txa jsr HGRBlockCopy lda #$03 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit inc coord bne + diff --git a/src/fx/fx.hgr.bolt.in.a b/src/fx/fx.hgr.bolt.in.a index e3090d55d..20fbaf715 100644 --- a/src/fx/fx.hgr.bolt.in.a +++ b/src/fx/fx.hgr.bolt.in.a @@ -11,7 +11,7 @@ !source "src/fx/fx.hgr.precomputed.3bit.a" +FX_INITONCE_3BIT CoordinatesFile, Start - +FX_REVERSE_3BIT + jsr iReverseCoordinates3Bit Start +FX_PRECOMPUTED_3BIT Coordinates3Bit diff --git a/src/fx/fx.hgr.bolt.ripple.a b/src/fx/fx.hgr.bolt.ripple.a index a4b949c9b..21596270c 100644 --- a/src/fx/fx.hgr.bolt.ripple.a +++ b/src/fx/fx.hgr.bolt.ripple.a @@ -11,7 +11,7 @@ !source "src/fx/fx.hgr.precomputed.3bit.a" +FX_INITONCE_3BIT CoordinatesFile, Start - +FX_RIPPLE_3BIT + jsr iRippleCoordinates3Bit Start +FX_PRECOMPUTED_3BIT Coordinates3Bit diff --git a/src/fx/fx.hgr.bubbles.in.a b/src/fx/fx.hgr.bubbles.in.a index 95e28af49..04c76e3e8 100644 --- a/src/fx/fx.hgr.bubbles.in.a +++ b/src/fx/fx.hgr.bubbles.in.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - +FX_REVERSE_1BIT + jsr iReverseCoordinates1Bit Start +FX_PRECOMPUTED_1BIT Coordinates1Bit diff --git a/src/fx/fx.hgr.butterfly.in.a b/src/fx/fx.hgr.butterfly.in.a index 8fbd35814..7f7eea23f 100644 --- a/src/fx/fx.hgr.butterfly.in.a +++ b/src/fx/fx.hgr.butterfly.in.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.2bit.a" +FX_INITONCE_2BIT CoordinatesFile, Start - +FX_REVERSE_2BIT + jsr iReverseCoordinates2Bit Start +FX_PRECOMPUTED_2BIT Coordinates2Bit diff --git a/src/fx/fx.hgr.butterfly.ripple.a b/src/fx/fx.hgr.butterfly.ripple.a index cc4b82d29..ee390e4a0 100644 --- a/src/fx/fx.hgr.butterfly.ripple.a +++ b/src/fx/fx.hgr.butterfly.ripple.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.2bit.a" +FX_INITONCE_2BIT CoordinatesFile, Start - +FX_RIPPLE_2BIT + jsr iRippleCoordinates2Bit Start +FX_PRECOMPUTED_2BIT Coordinates2Bit diff --git a/src/fx/fx.hgr.checkerboard.fizzle.a b/src/fx/fx.hgr.checkerboard.fizzle.a index 6143249b3..c24be026b 100644 --- a/src/fx/fx.hgr.checkerboard.fizzle.a +++ b/src/fx/fx.hgr.checkerboard.fizzle.a @@ -5,11 +5,11 @@ !to "build/FX.INDEXED/CHECKERB.FIZZLE",plain *=$6000 +;hgrlo = $0201 ; [$C0 bytes, should not cross page boundary] (defined in constants.a) +;hgrhi = $0301 ; [$C0 bytes, should not cross page boundary] (defined in constants.a) addrs = $6100 ; [256 bytes, page-aligned] copymasks = $6200 ; [128 bytes, should not cross page boundary] shapemaskaddrs = $6300 ; [256 bytes, page-aligned] -hgrlo = $6400 ; [$C0 bytes, should not cross page boundary] -hgrhi = $6500 ; [$C0 bytes, should not cross page boundary] shapemask = $8000 ; [$2000 bytes, page-aligned] !source "src/fx/macros.a" diff --git a/src/fx/fx.hgr.circle.stripes.a b/src/fx/fx.hgr.circle.stripes.a index 2950c1d36..1a1d481c3 100644 --- a/src/fx/fx.hgr.circle.stripes.a +++ b/src/fx/fx.hgr.circle.stripes.a @@ -5,8 +5,8 @@ !to "build/FX.INDEXED/CIRCLE.STRIPES",plain *=$6000 -hgrlo = $0201 ; [$C0 bytes] HGR base addresses -hgrhi = $0301 ; [$C0 bytes] HGR base addresses +;hgrlo = $0201 ; [$C0 bytes] HGR base addresses (defined in constants.a) +;hgrhi = $0301 ; [$C0 bytes] HGR base addresses (defined in constants.a) src = $F0 dst = $F2 @@ -18,7 +18,7 @@ mask2 = $F7 !source "src/fx/macros.a" !source "src/constants.a" - jsr BuildHGRTables + jsr iBuildHGRTables lda #$00 sta row1 diff --git a/src/fx/fx.hgr.color.fizzle.a b/src/fx/fx.hgr.color.fizzle.a index b3f10edac..13a10cfe7 100644 --- a/src/fx/fx.hgr.color.fizzle.a +++ b/src/fx/fx.hgr.color.fizzle.a @@ -51,7 +51,7 @@ color = $FD ; byte bpl @colorLoop @wait lda #$0C - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit inc coord bne + diff --git a/src/fx/fx.hgr.corner4.data.a b/src/fx/fx.hgr.corner4.data.a index f1b37c50f..2a75fa1f2 100644 --- a/src/fx/fx.hgr.corner4.data.a +++ b/src/fx/fx.hgr.corner4.data.a @@ -6721,8 +6721,3 @@ !byte $00,%01000000 !byte $00,%00000000 !byte $00,%00100000 - !byte $80 - - !source "src/fx/fx.hgr.precomputed.1bit.a" - +FX_RIPPLE_1BIT aslmod2 - rts diff --git a/src/fx/fx.hgr.corner4.in.a b/src/fx/fx.hgr.corner4.in.a index 7c0ea69fa..45ca27abd 100644 --- a/src/fx/fx.hgr.corner4.in.a +++ b/src/fx/fx.hgr.corner4.in.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - +FX_REVERSE_1BIT + jsr iReverseCoordinates1Bit Start +FX_PRECOMPUTED_1BIT Coordinates1Bit diff --git a/src/fx/fx.hgr.corner4.ripple.a b/src/fx/fx.hgr.corner4.ripple.a index cef86eef4..4355973ad 100644 --- a/src/fx/fx.hgr.corner4.ripple.a +++ b/src/fx/fx.hgr.corner4.ripple.a @@ -8,7 +8,8 @@ !source "src/fx/fx.hgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - jsr EndCoordinates1Bit+1 + jsr iRippleCoordinates1Bit2 + Start +FX_PRECOMPUTED_1BIT Coordinates1Bit diff --git a/src/fx/fx.hgr.crystal.a b/src/fx/fx.hgr.crystal.a index 523be0b58..8aefe0138 100644 --- a/src/fx/fx.hgr.crystal.a +++ b/src/fx/fx.hgr.crystal.a @@ -87,7 +87,7 @@ lda ($fe),y bpl @copy lda #$10 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit bpl @next ; always branches @copy diff --git a/src/fx/fx.hgr.diagonal.a b/src/fx/fx.hgr.diagonal.a index 64cfada21..2d4df45ee 100644 --- a/src/fx/fx.hgr.diagonal.a +++ b/src/fx/fx.hgr.diagonal.a @@ -41,7 +41,7 @@ counter = $ff dec row bpl @rowloop lda #64 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit dec col dec counter diff --git a/src/fx/fx.hgr.diagonal.stripes.a b/src/fx/fx.hgr.diagonal.stripes.a index 0bad3ffb0..a6bafbbc6 100644 --- a/src/fx/fx.hgr.diagonal.stripes.a +++ b/src/fx/fx.hgr.diagonal.stripes.a @@ -5,8 +5,8 @@ !to "build/FX.INDEXED/DIAG.STRIPES",plain *=$6000 -hgrlo = $0201 ; [$C0 bytes] HGR base addresses -hgrhi = $0301 ; [$C0 bytes] HGR base addresses +;hgrlo = $0201 ; [$C0 bytes] HGR base addresses (defined in constants.a) +;hgrhi = $0301 ; [$C0 bytes] HGR base addresses (defined in constants.a) src = $F0 dst = $F2 @@ -18,7 +18,7 @@ mask2 = $F7 !source "src/fx/macros.a" !source "src/constants.a" - jsr BuildHGRTables + jsr iBuildHGRTables lda #$00 sta row1 diff --git a/src/fx/fx.hgr.diagonal2.a b/src/fx/fx.hgr.diagonal2.a index 70057e226..d3a335240 100644 --- a/src/fx/fx.hgr.diagonal2.a +++ b/src/fx/fx.hgr.diagonal2.a @@ -42,7 +42,7 @@ counter = $ff dec row bpl @rowloop lda #64 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit inc col dec counter diff --git a/src/fx/fx.hgr.diagonal3.a b/src/fx/fx.hgr.diagonal3.a index 1615a12ec..3810f3ef0 100644 --- a/src/fx/fx.hgr.diagonal3.a +++ b/src/fx/fx.hgr.diagonal3.a @@ -42,7 +42,7 @@ counter = $ff cmp #24 bcc @rowloop lda #64 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit inc col lda col diff --git a/src/fx/fx.hgr.diagonal4.a b/src/fx/fx.hgr.diagonal4.a index 4eafae888..fbe83777d 100644 --- a/src/fx/fx.hgr.diagonal4.a +++ b/src/fx/fx.hgr.diagonal4.a @@ -43,7 +43,7 @@ counter = $ff cmp #24 bcc @rowloop lda #64 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit dec col dec counter diff --git a/src/fx/fx.hgr.diamond.stripes.a b/src/fx/fx.hgr.diamond.stripes.a index e0f1e4c40..cd112471c 100644 --- a/src/fx/fx.hgr.diamond.stripes.a +++ b/src/fx/fx.hgr.diamond.stripes.a @@ -5,8 +5,8 @@ !to "build/FX.INDEXED/DIAMOND.STRIPES",plain *=$6000 -hgrlo = $0201 ; [$C0 bytes] HGR base addresses -hgrhi = $0301 ; [$C0 bytes] HGR base addresses +;hgrlo = $0201 ; [$C0 bytes] HGR base addresses (defined in constants.a) +;hgrhi = $0301 ; [$C0 bytes] HGR base addresses (defined in constants.a) src = $F0 dst = $F2 @@ -18,7 +18,7 @@ mask2 = $F7 !source "src/fx/macros.a" !source "src/constants.a" - jsr BuildHGRTables + jsr iBuildHGRTables lda #$00 sta row1 diff --git a/src/fx/fx.hgr.dither.dissolve.a b/src/fx/fx.hgr.dither.dissolve.a index 724a054a3..63be2bdca 100644 --- a/src/fx/fx.hgr.dither.dissolve.a +++ b/src/fx/fx.hgr.dither.dissolve.a @@ -43,7 +43,7 @@ dst = $26 dey bpl - lda #$28 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit inc row1 dec row2 diff --git a/src/fx/fx.hgr.dither.radial.a b/src/fx/fx.hgr.dither.radial.a index 202c897be..73bbdcae5 100644 --- a/src/fx/fx.hgr.dither.radial.a +++ b/src/fx/fx.hgr.dither.radial.a @@ -25,7 +25,7 @@ input = $FE ; word Start +BUILD_DITHER_MASKS dithermasks - jsr BuildHGRTables + jsr iBuildHGRTables +BUILD_HGR_MIRROR_LOOKUP_TABLES hgrlomirror, hgr1himirror +BUILD_MIRROR_COLS mirror_cols +BUILD_SPARSE_BITMASKS_1BIT diff --git a/src/fx/fx.hgr.dither.radial.common.a b/src/fx/fx.hgr.dither.radial.common.a index 1ae6c9773..ef88a1350 100644 --- a/src/fx/fx.hgr.dither.radial.common.a +++ b/src/fx/fx.hgr.dither.radial.common.a @@ -17,7 +17,7 @@ input = $FE ; word +BUILD_DITHER_MASKS dithermasks +BUILD_MIRROR_COLS mirror_cols - jsr BuildHGRTables + jsr iBuildHGRTables +BUILD_HGR_MIRROR_LOOKUP_TABLES hgrlomirror, hgr1himirror +BUILD_SPARSE_BITMASKS_1BIT diff --git a/src/fx/fx.hgr.dither.radial2.a b/src/fx/fx.hgr.dither.radial2.a index 18a1847e6..d75a3fca3 100644 --- a/src/fx/fx.hgr.dither.radial2.a +++ b/src/fx/fx.hgr.dither.radial2.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - +FX_RIPPLE_1BIT aslmod + jsr iRippleCoordinates1Bit Start !source "src/fx/fx.hgr.dither.radial.common.a" diff --git a/src/fx/fx.hgr.dither.radial4.a b/src/fx/fx.hgr.dither.radial4.a index 19a3c138d..dceeb9fea 100644 --- a/src/fx/fx.hgr.dither.radial4.a +++ b/src/fx/fx.hgr.dither.radial4.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - jsr EndCoordinates1Bit+1 + jsr iRippleCoordinates1Bit2 Start !source "src/fx/fx.hgr.dither.radial.common.a" diff --git a/src/fx/fx.hgr.dither.radial5.a b/src/fx/fx.hgr.dither.radial5.a index b9d8eb5f4..3dce12d6c 100644 --- a/src/fx/fx.hgr.dither.radial5.a +++ b/src/fx/fx.hgr.dither.radial5.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - +FX_RIPPLE_1BIT aslmod3 + jsr iRippleCoordinates1Bit3 Start !source "src/fx/fx.hgr.dither.radial.common.a" diff --git a/src/fx/fx.hgr.flick.a b/src/fx/fx.hgr.flick.a index ff603e710..96b86321f 100644 --- a/src/fx/fx.hgr.flick.a +++ b/src/fx/fx.hgr.flick.a @@ -6,14 +6,14 @@ *=$6000 rowcount = $FF ; [byte] -hgrlo = $201 ; [$C0 bytes] +;hgrlo = $201 ; [$C0 bytes] defined in constants.a startrows_by_column = $2C1 ; [$28 bytes] -hgrhi = $301 ; [$C0 bytes] +;hgrhi = $301 ; [$C0 bytes] defined in constants.a rowcounts_by_column = $3C1 ; [$28 bytes] !source "src/fx/macros.a" - jsr BuildHGRTables + jsr iBuildHGRTables ldy #$27 - lda #$00 @@ -65,7 +65,7 @@ nextcolumn ++ dey bpl - lda #$48 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi exit lda rowcounts_by_column+$27 cmp #$80 diff --git a/src/fx/fx.hgr.flower.in.a b/src/fx/fx.hgr.flower.in.a index cbea4974b..e62815074 100644 --- a/src/fx/fx.hgr.flower.in.a +++ b/src/fx/fx.hgr.flower.in.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.3bit.a" +FX_INITONCE_3BIT CoordinatesFile, Start - +FX_REVERSE_3BIT + jsr iReverseCoordinates3Bit Start +FX_PRECOMPUTED_3BIT Coordinates3Bit diff --git a/src/fx/fx.hgr.flower.radial.in.a b/src/fx/fx.hgr.flower.radial.in.a index 04e02af09..7d2bcf453 100644 --- a/src/fx/fx.hgr.flower.radial.in.a +++ b/src/fx/fx.hgr.flower.radial.in.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.3bit.a" +FX_INITONCE_3BIT CoordinatesFile, Start - +FX_REVERSE_3BIT + jsr iReverseCoordinates3Bit Start +FX_PRECOMPUTED_3BIT Coordinates3Bit diff --git a/src/fx/fx.hgr.flower.radial.ripple.a b/src/fx/fx.hgr.flower.radial.ripple.a index 23e0a2680..89e18ff52 100644 --- a/src/fx/fx.hgr.flower.radial.ripple.a +++ b/src/fx/fx.hgr.flower.radial.ripple.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.3bit.a" +FX_INITONCE_3BIT CoordinatesFile, Start - +FX_RIPPLE_3BIT + jsr iRippleCoordinates3Bit Start +FX_PRECOMPUTED_3BIT Coordinates3Bit diff --git a/src/fx/fx.hgr.flower.ripple.a b/src/fx/fx.hgr.flower.ripple.a index 2fb1427d2..112710540 100644 --- a/src/fx/fx.hgr.flower.ripple.a +++ b/src/fx/fx.hgr.flower.ripple.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.3bit.a" +FX_INITONCE_3BIT CoordinatesFile, Start - +FX_RIPPLE_3BIT + jsr iRippleCoordinates3Bit Start +FX_PRECOMPUTED_3BIT Coordinates3Bit diff --git a/src/fx/fx.hgr.fourspiral.a b/src/fx/fx.hgr.fourspiral.a index b4b405157..160f2328b 100644 --- a/src/fx/fx.hgr.fourspiral.a +++ b/src/fx/fx.hgr.fourspiral.a @@ -39,7 +39,7 @@ ldy $FF jsr HGRHalfBlockCopy lda #$28 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit ldx $F9 bne @a diff --git a/src/fx/fx.hgr.foursquare.white.a b/src/fx/fx.hgr.foursquare.white.a index 12b7459e2..58b25bcfb 100644 --- a/src/fx/fx.hgr.foursquare.white.a +++ b/src/fx/fx.hgr.foursquare.white.a @@ -58,7 +58,7 @@ lda ($FE),y bpl @copy lda #$18 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit bpl @next ; always branches @copy @@ -98,7 +98,7 @@ lda ($FE),y bpl @copy2 lda #$18 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit bpl @loop2 ; always branches @copy2 diff --git a/src/fx/fx.hgr.halfblock.fizzle.a b/src/fx/fx.hgr.halfblock.fizzle.a index f545c7292..e005920ca 100644 --- a/src/fx/fx.hgr.halfblock.fizzle.a +++ b/src/fx/fx.hgr.halfblock.fizzle.a @@ -22,7 +22,7 @@ txa jsr HGRHalfBlockCopy lda #$07 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit inc coord bne + diff --git a/src/fx/fx.hgr.halfblock.fizzle.white.a b/src/fx/fx.hgr.halfblock.fizzle.white.a index a4d0f29a5..69bad06bf 100644 --- a/src/fx/fx.hgr.halfblock.fizzle.white.a +++ b/src/fx/fx.hgr.halfblock.fizzle.white.a @@ -22,7 +22,7 @@ txa jsr HGRHalfBlockToWhite lda #$02 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit inc coord bne + @@ -45,7 +45,7 @@ txa jsr HGRHalfBlockCopy lda #$02 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit inc coord bne + diff --git a/src/fx/fx.hgr.heart.in.a b/src/fx/fx.hgr.heart.in.a index 191787ed3..d9885ab95 100644 --- a/src/fx/fx.hgr.heart.in.a +++ b/src/fx/fx.hgr.heart.in.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.2bit.a" +FX_INITONCE_2BIT CoordinatesFile, Start - +FX_REVERSE_2BIT + jsr iReverseCoordinates2Bit Start +FX_PRECOMPUTED_2BIT Coordinates2Bit diff --git a/src/fx/fx.hgr.heart.ripple.a b/src/fx/fx.hgr.heart.ripple.a index 814a0a348..54a938e7a 100644 --- a/src/fx/fx.hgr.heart.ripple.a +++ b/src/fx/fx.hgr.heart.ripple.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.2bit.a" +FX_INITONCE_2BIT CoordinatesFile, Start - +FX_RIPPLE_2BIT + jsr iRippleCoordinates2Bit Start +FX_PRECOMPUTED_2BIT Coordinates2Bit diff --git a/src/fx/fx.hgr.interlock.lr.a b/src/fx/fx.hgr.interlock.lr.a index ca015f15c..b85df6cbd 100644 --- a/src/fx/fx.hgr.interlock.lr.a +++ b/src/fx/fx.hgr.interlock.lr.a @@ -34,7 +34,7 @@ row = $FF cmp #$FF bne @loop lda #$20 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit inc @h1 dec @h2 diff --git a/src/fx/fx.hgr.interlock.ud.a b/src/fx/fx.hgr.interlock.ud.a index 697a9f23a..46d99e52a 100644 --- a/src/fx/fx.hgr.interlock.ud.a +++ b/src/fx/fx.hgr.interlock.ud.a @@ -33,7 +33,7 @@ row2 = $ff dey bpl - lda #$30 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit inc row1 dec row2 diff --git a/src/fx/fx.hgr.iris.data.a b/src/fx/fx.hgr.iris.data.a index ce3da76f5..ec80503dd 100644 --- a/src/fx/fx.hgr.iris.data.a +++ b/src/fx/fx.hgr.iris.data.a @@ -6721,8 +6721,3 @@ !byte $00,%01000000 !byte $00,%00100000 !byte $00,%00000000 - !byte $80 - - !source "src/fx/fx.hgr.precomputed.1bit.a" - +FX_RIPPLE_1BIT aslmod2 - rts diff --git a/src/fx/fx.hgr.iris.in.a b/src/fx/fx.hgr.iris.in.a index f21a9c3e6..8b83b49de 100644 --- a/src/fx/fx.hgr.iris.in.a +++ b/src/fx/fx.hgr.iris.in.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - +FX_REVERSE_1BIT + jsr iReverseCoordinates1Bit Start +FX_PRECOMPUTED_1BIT Coordinates1Bit diff --git a/src/fx/fx.hgr.lr.by.pixel.a b/src/fx/fx.hgr.lr.by.pixel.a index 9ce01c604..91593b9b0 100644 --- a/src/fx/fx.hgr.lr.by.pixel.a +++ b/src/fx/fx.hgr.lr.by.pixel.a @@ -50,7 +50,7 @@ col = $ff dec row bpl @clearrowloop lda #8 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit dec maskindex bpl @clearmaskloop @@ -98,7 +98,7 @@ col = $ff dec row bpl @rowloop lda #8 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit dec maskindex bpl @maskloop diff --git a/src/fx/fx.hgr.mandelbrot.in.a b/src/fx/fx.hgr.mandelbrot.in.a index d5d43b654..2c4891c1a 100644 --- a/src/fx/fx.hgr.mandelbrot.in.a +++ b/src/fx/fx.hgr.mandelbrot.in.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.3bit.a" +FX_INITONCE_3BIT CoordinatesFile, Start - +FX_REVERSE_3BIT + jsr iReverseCoordinates3Bit Start +FX_PRECOMPUTED_3BIT Coordinates3Bit diff --git a/src/fx/fx.hgr.mandelbrot.ripple.a b/src/fx/fx.hgr.mandelbrot.ripple.a index 7b2adde96..1f1c9b419 100644 --- a/src/fx/fx.hgr.mandelbrot.ripple.a +++ b/src/fx/fx.hgr.mandelbrot.ripple.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.3bit.a" +FX_INITONCE_3BIT CoordinatesFile, Start - +FX_RIPPLE_3BIT + jsr iRippleCoordinates3Bit Start +FX_PRECOMPUTED_3BIT Coordinates3Bit diff --git a/src/fx/fx.hgr.maple.in.a b/src/fx/fx.hgr.maple.in.a index c706323d9..13fa2d7d0 100644 --- a/src/fx/fx.hgr.maple.in.a +++ b/src/fx/fx.hgr.maple.in.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.2bit.a" +FX_INITONCE_2BIT CoordinatesFile, Start - +FX_REVERSE_2BIT + jsr iReverseCoordinates2Bit Start +FX_PRECOMPUTED_2BIT Coordinates2Bit diff --git a/src/fx/fx.hgr.maple.ripple.a b/src/fx/fx.hgr.maple.ripple.a index 004296d1f..f5f44920f 100644 --- a/src/fx/fx.hgr.maple.ripple.a +++ b/src/fx/fx.hgr.maple.ripple.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.2bit.a" +FX_INITONCE_2BIT CoordinatesFile, Start - +FX_RIPPLE_2BIT + jsr iRippleCoordinates2Bit Start +FX_PRECOMPUTED_2BIT Coordinates2Bit diff --git a/src/fx/fx.hgr.meet.in.the.middle.a b/src/fx/fx.hgr.meet.in.the.middle.a index cfaab51be..ca0463b82 100644 --- a/src/fx/fx.hgr.meet.in.the.middle.a +++ b/src/fx/fx.hgr.meet.in.the.middle.a @@ -67,7 +67,7 @@ col2 = $ff bpl @rowloop lda #1 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit dec maskindex bpl @maskloop diff --git a/src/fx/fx.hgr.onesquare.white.a b/src/fx/fx.hgr.onesquare.white.a index e266a0de3..f34954b27 100644 --- a/src/fx/fx.hgr.onesquare.white.a +++ b/src/fx/fx.hgr.onesquare.white.a @@ -87,7 +87,7 @@ lda ($FE),y bpl @copy lda #$18 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit bpl @next ; always branches @copy @@ -127,7 +127,7 @@ lda ($FE),y bpl @copy2 lda #$18 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit bpl @loop2 ; always branches @copy2 diff --git a/src/fx/fx.hgr.precomputed.1bit.a b/src/fx/fx.hgr.precomputed.1bit.a index c0e6d428c..a221d9ff4 100644 --- a/src/fx/fx.hgr.precomputed.1bit.a +++ b/src/fx/fx.hgr.precomputed.1bit.a @@ -1,9 +1,10 @@ ;license:MIT ;(c) 2019-2022 by 4am ; -hgrlo = $0201 ; $C0 bytes -hgr1hi = $0301 ; $C0 bytes + +;hgrlo = $0201 ; $C0 bytes (defined in constants.a) mirror_cols = $02C1 ; $28 bytes +;hgr1hi = $0301 ; $C0 bytes (defined in constants.a) dithermasks = $BBAA ; $58 bytes evenrow_masks = dithermasks oddrow_masks = dithermasks+2 @@ -12,8 +13,6 @@ hgrlomirror = $BC01 ; $C0 bytes hgr1himirror = $BD01 ; $C0 bytes copymasks = $BE00 ; $100 bytes but sparse, index is 0..6 but in high 3 bits, so $00, $20, $40, $60, $80, $A0, $C0 mirror_copymasks = copymasks+1 -Coordinates1Bit= $8600 ; $3481 bytes ($3480 on disk + 1 byte EOF marker) -EndCoordinates1Bit=Coordinates1Bit+$3480 !source "src/fx/macros.a" @@ -58,139 +57,12 @@ InitOnce ldx #>Coordinates1Bit jsr iLoadFXDATA - ; data file must contain this EOF marker - ;lda #$80 - ;sta EndCoordinates1Bit -} - -!macro FX_REVERSE_1BIT { - ldy #0 ; Coordinates1Bit - sta $f1 - lda #<(EndCoordinates1Bit - 2) - sta $f2 - lda #>(EndCoordinates1Bit - 2) - sta $f3 - clc - !byte $24 -- sec --- lda ($f0), y - pha - lda ($f2), y - sta ($f0), y - pla - sta ($f2), y - iny - bcc - - ldy #0 - !byte $24 -- clc - inc $f0 - bne + - inc $f1 -+ lda $f1 - eor #>(Coordinates1Bit + $1A40) - bne + - lda $f0 - eor #<(Coordinates1Bit + $1A40) - beq ++ -+ lda $f2 - bne + - dec $f3 -+ dec $f2 - bcs - - bcc -- ; always -++ -} - -!macro FX_RIPPLE_1BIT .target { - lda #2 ; <(Coordinates1Bit + 2) - sta $f0 - ldy #0 - sty $f1 - lda #$16 ; <(Coordinates1Bit + 22) - sta $f2 - sty $f3 - - lda #$1f - sta $ee - lda #$0d - sta $ef - - lda Coordinates1Bit + 2 - sta $e0 - lda Coordinates1Bit + 3 - sta $e1 - lda Coordinates1Bit + 22 - sta $e2 - lda Coordinates1Bit + 23 - sta $e3 - ---- ldx #4 --- ldy $ee, x - lda $ef, x - jsr .target - sty $ee, x - sta $ef, x - sty $ec - clc - adc #>Coordinates1Bit - sta $ed - ldy #0 - !byte $24 -- sec - lda ($ec), y - pha - lda $de, x - sta ($ec), y - pla - sta $de, x - inx - iny - bcc - - dex - dex - dex - dex - bne -- - dec $ee - bne --- - dec $ef - bpl --- - bmi +++ ; always branches -aslmod4 jsr aslmod -aslmod3 jsr aslmod -aslmod2 jsr aslmod -aslmod cmp #$1A - bcc + - bne ++ - cpy #$40 - bcc + -++ iny -+ pha - tya - asl - tay - pla - rol - cmp #$34 - bcc + - bne ++ - cpy #$80 - bcc + -++ pha - tya - sbc #$80 - tay - pla - sbc #$34 -+ rts -+++ + lda #$80 + sta EndCoordinates1Bit } !macro FX_PRECOMPUTED_1BIT .coords { - jsr BuildHGRTables + jsr iBuildHGRTables +BUILD_HGR_MIRROR_LOOKUP_TABLES hgrlomirror, hgr1himirror +BUILD_MIRROR_COLS mirror_cols +BUILD_SPARSE_BITMASKS_1BIT @@ -262,7 +134,7 @@ end !macro FX_PRECOMPUTED_1BIT_DITHER .coords, .endcoords { +BUILD_DITHER_MASKS dithermasks - jsr BuildHGRTables + jsr iBuildHGRTables +BUILD_HGR_MIRROR_LOOKUP_TABLES hgrlomirror, hgr1himirror +BUILD_MIRROR_COLS mirror_cols +BUILD_SPARSE_BITMASKS_1BIT diff --git a/src/fx/fx.hgr.precomputed.2bit.a b/src/fx/fx.hgr.precomputed.2bit.a index 764366e12..886fb19b9 100644 --- a/src/fx/fx.hgr.precomputed.2bit.a +++ b/src/fx/fx.hgr.precomputed.2bit.a @@ -1,17 +1,16 @@ ;license:MIT ;(c) 2019-2022 by 4am ; -hgrlo = $0201 ; $C0 bytes + +;hgrlo = $0201 ; $C0 bytes (defined in constants.a) mirror_cols = $02C1 ; $28 bytes -hgr1hi = $0301 ; $C0 bytes +;hgr1hi = $0301 ; $C0 bytes (defined in constants.a) dithermasks = $BDAA ; $58 bytes evenrow_masks = dithermasks oddrow_masks = dithermasks+2 no_masks = dithermasks+44 copymasks = $BE00 ; $100 bytes but sparse, index is 0..4 but in high 3 bits, so $00, $20, $40, $60, $80 mirror_copymasks = copymasks+1 -Coordinates2Bit= $8100 ; $3C01 bytes ($3C00 on disk + 1 byte as EOF) -EndCoordinates2Bit = Coordinates2Bit + $3C00 !source "src/fx/macros.a" @@ -82,174 +81,8 @@ InitOnce sta EndCoordinates2Bit } -!macro FX_REVERSE_2BIT { - ldy #0 ; Coordinates2Bit - sta $f1 - lda #<(EndCoordinates2Bit - 2) - sta $f2 - lda #>(EndCoordinates2Bit - 2) - sta $f3 - - ldx #$1E ; #$3C/2 - clc - !byte $24 -- sec --- lda ($f0), y - pha - lda ($f2), y - sta ($f0), y - pla - sta ($f2), y - iny - bcc - - ldy #0 - !byte $24 -- clc - inc $f0 - bne + - inc $f1 - dex - beq ++ -+ lda $f2 - bne + - dec $f3 -+ dec $f2 - bcs - - bcc -- ; always branches -++ -} - -!macro FX_RIPPLE_2BIT { - ldy #0 - - ldx #$33 -- lda ptrtbl, x - sta $c0, x - dex - bpl - - - lda #$9b - sta $fe - iny - sty $ff - - ldx #6 -- lda Coordinates2Bit + 1, x - sta $7f, x - lda Coordinates2Bit + 9, x - sta $85, x - lda Coordinates2Bit + 17, x - sta $8b, x - lda Coordinates2Bit + 65, x - sta $9b, x - dex - bne - - lda Coordinates2Bit + 28 - sta $92 - lda Coordinates2Bit + 29 - sta $93 - ldx #4 -- lda Coordinates2Bit + 33, x - sta $93, x - lda Coordinates2Bit + 41, x - sta $97, x - lda Coordinates2Bit + 83, x - sta $a1, x - dex - bne - - ldx #2 -- lda Coordinates2Bit + 125, x - sta $a5, x - lda Coordinates2Bit + 131, x - sta $a7, x - lda Coordinates2Bit + 139, x - sta $a9, x - lda Coordinates2Bit + 169, x - sta $ab, x - lda Coordinates2Bit + 237, x - sta $ad, x - lda Coordinates2Bit + 2193, x - sta $af, x - lda Coordinates2Bit + 6581, x - sta $b1, x - dex - bne - - ---- ldx #$34 --- lda $be, x - tay - ora $bf, x - beq + - lda $bf, x - jsr aslmod - sty $be, x - sta $bf, x - sty $fc - clc - adc #>Coordinates2Bit - sta $fd - ldy #0 - !byte $24 -- sec - lda ($fc), y - pha - lda $7e, x - sta ($fc), y - pla - sta $7e, x - inx - iny - bcc - - dex - dex -+ dex - dex - bne -- - ldy #1 - lda $fe - eor #<(411 - 2) - beq + - ldy #9 - eor #<(411 - 2) xor <(411 - 136) - bne ++ -+ -- ldx zerotbl, y - sta $0, x - sta $1, x - dey - bpl - -++ dec $fe - bne --- - dec $ff - bpl --- - bmi ++ ; always branches -aslmod - jsr + -+ cmp #$1E - bcc + - iny -+ pha - tya - asl - tay - pla - rol - cmp #$3C - bcc + - sbc #$3C -+ rts -ptrtbl !word 2, 4, 6, 10, 12, 14, 18, 20 - !word 22, 28, 34, 36, 42, 44, 66, 68 - !word 70, 84, 86, 126, 132, 140, 170, 238 - !word 2194, 6582 -zerotbl !byte $f0, $f2, $ca, $d2, $d8, $e0, $e2, $e6, $ea, $ee -++ -} - !macro FX_PRECOMPUTED_2BIT .coords { - jsr BuildHGRTables + jsr iBuildHGRTables +BUILD_MIRROR_COLS mirror_cols +BUILD_SPARSE_BITMASKS_2BIT copymasks, mirror_copymasks +COPY_TO_0 start, end @@ -302,7 +135,7 @@ end !macro FX_PRECOMPUTED_2BIT_DITHER .coords, .endcoords { +BUILD_DITHER_MASKS dithermasks - jsr BuildHGRTables + jsr iBuildHGRTables +BUILD_MIRROR_COLS mirror_cols +BUILD_SPARSE_BITMASKS_2BIT copymasks, mirror_copymasks diff --git a/src/fx/fx.hgr.precomputed.3bit.a b/src/fx/fx.hgr.precomputed.3bit.a index 29e611b6d..2d16244a6 100644 --- a/src/fx/fx.hgr.precomputed.3bit.a +++ b/src/fx/fx.hgr.precomputed.3bit.a @@ -2,8 +2,8 @@ ;(c) 2019-2022 by 4am ; -tmplo = $0201 ; $C0 bytes -tmphi = $0301 ; $C0 bytes +tmplo = hgrlo ; $C0 bytes (hgrlo=$0201, defined in constants.a) +tmphi = hgrhi ; $C0 bytes (hgrhi=$0301, defined in constants.a) copymasks = $BB01 ; $100 bytes but sparse, index is 0..7 but in high 3 bits, so $00, $20, $40... extra_cols = $BBF8 ; $08 bytes hgrlo3a = $BC00 ; $80 bytes @@ -19,11 +19,6 @@ dithermasks = $6A80 ; $58 bytes evenrow_masks = dithermasks oddrow_masks = dithermasks+2 no_masks = dithermasks+44 -Coordinates3Bit= $6B00 ; pixel data is $5001 bytes ($5000 on disk + 1 byte as EOF marker) - ; and for optimization we only support loading external files page-aligned - ; and $BC00+ is used by the 3bit macros for data tables - ; so we load at $6B00 and waste $FF bytes at $BB01+ but it's okay -EndCoordinates3Bit = Coordinates3Bit + $5000 !source "src/fx/macros.a" @@ -66,7 +61,7 @@ EndCoordinates3Bit = Coordinates3Bit + $5000 } !macro BUILD_3BIT_HGR_LOOKUP_TABLES { - jsr BuildHGRTables + jsr iBuildHGRTables ldx #$BF ldy #$3F - lda tmplo, x @@ -130,108 +125,7 @@ InitOnce jsr iLoadFXDATA sec - ror Coordinates3Bit + $5000 -} - -!macro FX_REVERSE_3BIT { - ldy #0 ; Coordinates3Bit - sta $f1 - lda #<(Coordinates3Bit + $5000 - 2) - sta $f2 - lda #>(Coordinates3Bit + $5000 - 2) - sta $f3 - - ldx #$28 ; #$50/2 - clc - !byte $24 -- sec --- lda ($f0), y - pha - lda ($f2), y - sta ($f0), y - pla - sta ($f2), y - iny - bcc - - ldy #0 - !byte $24 -- clc - inc $f0 - bne + - inc $f1 - dex - beq ++ -+ lda $f2 - bne + - dec $f3 -+ dec $f2 - bcs - - bcc -- ; always branches -++ -} - -!macro FX_RIPPLE_3BIT { - ldx #$1B -- lda ripplezp, x - sta $e0, x - dex - bpl - - ---- ldx #$0c --- ldy $ee, x - lda $ef, x - jsr aslmod - sty $ee, x - sta $ef, x - sty $ec - clc - adc #>Coordinates3Bit - sta $ed - ldy #0 - !byte $24 -- sec - lda ($ec), y - pha - lda $de, x - sta ($ec), y - pla - sta $de, x - inx - iny - bcc - - dex - dex - dex - dex - bne -- - dec $ee - bne --- - dec $ef - bpl --- - bmi ++ ; always branches -aslmod - jsr + -+ cmp #$28 - bcc + - iny -+ pha - tya - asl - tay - pla - rol - cmp #$50 - bcc + - sbc #$50 -+ rts -ripplezp - !byte $1F,$F3,$20,$F3,$20,$14,$20,$D3 - !byte $1E,$F3,$1F,$54,$00,$00,$AA,$06 - !byte $02,$00,$04,$00,$06,$00,$0C,$00 - !byte $16,$00,$1A,$00 -++ + ror EndCoordinates3Bit } !macro FX_PRECOMPUTED_3BIT .coords { diff --git a/src/fx/fx.hgr.r.by.pixel.a b/src/fx/fx.hgr.r.by.pixel.a index 76bbb077b..c2d9b272b 100644 --- a/src/fx/fx.hgr.r.by.pixel.a +++ b/src/fx/fx.hgr.r.by.pixel.a @@ -50,7 +50,7 @@ col = $ff dec row bpl @rowloop lda #8 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit dec maskindex bpl @maskloop diff --git a/src/fx/fx.hgr.radial.a b/src/fx/fx.hgr.radial.a index 0d39bc38f..487f5adf0 100644 --- a/src/fx/fx.hgr.radial.a +++ b/src/fx/fx.hgr.radial.a @@ -22,7 +22,7 @@ input = $FE ; word sta Coordinates1Bit-2 Start - jsr BuildHGRTables + jsr iBuildHGRTables +BUILD_HGR_MIRROR_LOOKUP_TABLES hgrlomirror, hgr1himirror +BUILD_MIRROR_COLS mirror_cols +BUILD_SPARSE_BITMASKS_1BIT diff --git a/src/fx/fx.hgr.radial.common.a b/src/fx/fx.hgr.radial.common.a index 3008db2ea..f63835e1c 100644 --- a/src/fx/fx.hgr.radial.common.a +++ b/src/fx/fx.hgr.radial.common.a @@ -14,7 +14,7 @@ reverse_input = $FC ; word input = $FE ; word +BUILD_MIRROR_COLS mirror_cols - jsr BuildHGRTables + jsr iBuildHGRTables +BUILD_HGR_MIRROR_LOOKUP_TABLES hgrlomirror, hgr1himirror +BUILD_SPARSE_BITMASKS_1BIT diff --git a/src/fx/fx.hgr.radial.data.a b/src/fx/fx.hgr.radial.data.a index 0e9213b10..fbcd91734 100644 --- a/src/fx/fx.hgr.radial.data.a +++ b/src/fx/fx.hgr.radial.data.a @@ -6721,8 +6721,3 @@ !byte $04,%11010011 !byte $02,%11010011 !byte $00,%11010011 - !byte $80 - - !source "src/fx/fx.hgr.precomputed.1bit.a" - +FX_RIPPLE_1BIT aslmod2 - rts diff --git a/src/fx/fx.hgr.radial2.a b/src/fx/fx.hgr.radial2.a index c6b81dab5..70dde48c1 100644 --- a/src/fx/fx.hgr.radial2.a +++ b/src/fx/fx.hgr.radial2.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - +FX_RIPPLE_1BIT aslmod + jsr iRippleCoordinates1Bit Start !source "src/fx/fx.hgr.radial.common.a" diff --git a/src/fx/fx.hgr.radial3.a b/src/fx/fx.hgr.radial3.a index 6e3ba102e..d4f9baef1 100644 --- a/src/fx/fx.hgr.radial3.a +++ b/src/fx/fx.hgr.radial3.a @@ -22,7 +22,7 @@ input = $FE ; word Start +BUILD_MIRROR_COLS mirror_cols - jsr BuildHGRTables + jsr iBuildHGRTables +BUILD_HGR_MIRROR_LOOKUP_TABLES hgrlomirror, hgr1himirror +BUILD_SPARSE_BITMASKS_1BIT +LDADDR Coordinates1Bit diff --git a/src/fx/fx.hgr.radial4.a b/src/fx/fx.hgr.radial4.a index 4990d3319..96cf000a9 100644 --- a/src/fx/fx.hgr.radial4.a +++ b/src/fx/fx.hgr.radial4.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - jsr EndCoordinates1Bit+1 + jsr iRippleCoordinates1Bit2 Start !source "src/fx/fx.hgr.radial.common.a" diff --git a/src/fx/fx.hgr.radial5.a b/src/fx/fx.hgr.radial5.a index 4aea894d0..8933ef81e 100644 --- a/src/fx/fx.hgr.radial5.a +++ b/src/fx/fx.hgr.radial5.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - +FX_RIPPLE_1BIT aslmod3 + jsr iRippleCoordinates1Bit3 Start !source "src/fx/fx.hgr.radial.common.a" diff --git a/src/fx/fx.hgr.redlines.a b/src/fx/fx.hgr.redlines.a index 47cd69141..bb0588802 100644 --- a/src/fx/fx.hgr.redlines.a +++ b/src/fx/fx.hgr.redlines.a @@ -34,7 +34,7 @@ row2 = $ff jsr DrawBlackLine + lda #$30 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit inc row1 dec row2 @@ -60,7 +60,7 @@ row2 = $ff txa jsr CopyLine lda #$30 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit inc row1 dec row2 diff --git a/src/fx/fx.hgr.ripple.a b/src/fx/fx.hgr.ripple.a index c3ed603c5..b3de03782 100644 --- a/src/fx/fx.hgr.ripple.a +++ b/src/fx/fx.hgr.ripple.a @@ -8,7 +8,8 @@ !source "src/fx/fx.hgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - jsr EndCoordinates1Bit+1 + jsr iRippleCoordinates1Bit2 + Start +FX_PRECOMPUTED_1BIT Coordinates1Bit diff --git a/src/fx/fx.hgr.slow.star.data.a b/src/fx/fx.hgr.slow.star.data.a index 41776898e..c461c3b72 100644 --- a/src/fx/fx.hgr.slow.star.data.a +++ b/src/fx/fx.hgr.slow.star.data.a @@ -6721,8 +6721,3 @@ !byte $1A,%00000000 !byte $1E,%00000000 !byte $1C,%00000000 - !byte $80 - - !source "src/fx/fx.hgr.precomputed.1bit.a" - +FX_RIPPLE_1BIT aslmod2 - rts diff --git a/src/fx/fx.hgr.slow.star.in.a b/src/fx/fx.hgr.slow.star.in.a index 7419c6d79..259049134 100644 --- a/src/fx/fx.hgr.slow.star.in.a +++ b/src/fx/fx.hgr.slow.star.in.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - +FX_REVERSE_1BIT + jsr iReverseCoordinates1Bit Start +FX_PRECOMPUTED_1BIT Coordinates1Bit diff --git a/src/fx/fx.hgr.slow.star.ripple.a b/src/fx/fx.hgr.slow.star.ripple.a index 2ea814e86..ce91d80ec 100644 --- a/src/fx/fx.hgr.slow.star.ripple.a +++ b/src/fx/fx.hgr.slow.star.ripple.a @@ -8,7 +8,8 @@ !source "src/fx/fx.hgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - jsr EndCoordinates1Bit+1 + jsr iRippleCoordinates1Bit2 + Start +FX_PRECOMPUTED_1BIT Coordinates1Bit diff --git a/src/fx/fx.hgr.snowflake.data.a b/src/fx/fx.hgr.snowflake.data.a index 9fb5b5d07..f3e2344f0 100644 --- a/src/fx/fx.hgr.snowflake.data.a +++ b/src/fx/fx.hgr.snowflake.data.a @@ -6721,8 +6721,3 @@ !byte $5E,%01000000 !byte $5E,%00100000 !byte $5E,%00000000 - !byte $80 - - !source "src/fx/fx.hgr.precomputed.1bit.a" - +FX_RIPPLE_1BIT aslmod2 - rts diff --git a/src/fx/fx.hgr.snowflake.in.a b/src/fx/fx.hgr.snowflake.in.a index ff3e779d3..18c7cc65a 100644 --- a/src/fx/fx.hgr.snowflake.in.a +++ b/src/fx/fx.hgr.snowflake.in.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - +FX_REVERSE_1BIT + jsr iReverseCoordinates1Bit Start +FX_PRECOMPUTED_1BIT Coordinates1Bit diff --git a/src/fx/fx.hgr.snowflake.ripple.a b/src/fx/fx.hgr.snowflake.ripple.a index f3fe7016c..691fc095e 100644 --- a/src/fx/fx.hgr.snowflake.ripple.a +++ b/src/fx/fx.hgr.snowflake.ripple.a @@ -8,7 +8,8 @@ !source "src/fx/fx.hgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - jsr EndCoordinates1Bit+1 + jsr iRippleCoordinates1Bit2 + Start +FX_PRECOMPUTED_1BIT Coordinates1Bit diff --git a/src/fx/fx.hgr.soft.diagonal.a b/src/fx/fx.hgr.soft.diagonal.a index a2d63ee4a..b142eb49b 100644 --- a/src/fx/fx.hgr.soft.diagonal.a +++ b/src/fx/fx.hgr.soft.diagonal.a @@ -10,8 +10,8 @@ row = $fd col = $fe counter = $ff -hgrlo = $0201 ; [$C0 bytes] -hgr1hi = $0301 ; [$C0 bytes] +;hgrlo = $0201 ; [$C0 bytes] defined in constants.a +;hgr1hi = $0301 ; [$C0 bytes] defined in constants.a !source "src/fx/macros.a" @@ -24,7 +24,7 @@ hgr1hi = $0301 ; [$C0 bytes] sta $3d } - jsr BuildHGRTables + jsr iBuildHGRTables lda #(40+24+7-1) ; columns + rows + blocks per row - 1 sta counter diff --git a/src/fx/fx.hgr.soft.iris.in.a b/src/fx/fx.hgr.soft.iris.in.a index 885eec232..4a770ed42 100644 --- a/src/fx/fx.hgr.soft.iris.in.a +++ b/src/fx/fx.hgr.soft.iris.in.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.2bit.a" +FX_INITONCE_2BIT CoordinatesFile, Start - +FX_REVERSE_2BIT + jsr iReverseCoordinates2Bit Start +FX_PRECOMPUTED_2BIT Coordinates2Bit diff --git a/src/fx/fx.hgr.soft.ud.a b/src/fx/fx.hgr.soft.ud.a index 1a415376f..ab7a76fe4 100644 --- a/src/fx/fx.hgr.soft.ud.a +++ b/src/fx/fx.hgr.soft.ud.a @@ -67,7 +67,7 @@ row = $fd bpl @maskloop lda #40 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit dec row diff --git a/src/fx/fx.hgr.soft.ud.in.a b/src/fx/fx.hgr.soft.ud.in.a index 5885dcafe..10487a2a4 100644 --- a/src/fx/fx.hgr.soft.ud.in.a +++ b/src/fx/fx.hgr.soft.ud.in.a @@ -34,7 +34,7 @@ row = $fd bpl @maskloop lda #40 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit dec row diff --git a/src/fx/fx.hgr.soft.ud.out.a b/src/fx/fx.hgr.soft.ud.out.a index fc8b3ee4d..cf42c1972 100644 --- a/src/fx/fx.hgr.soft.ud.out.a +++ b/src/fx/fx.hgr.soft.ud.out.a @@ -36,7 +36,7 @@ row = $fd bpl @maskloop lda #40 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit dec row diff --git a/src/fx/fx.hgr.spiral.a b/src/fx/fx.hgr.spiral.a index 8278727ed..020045cb7 100644 --- a/src/fx/fx.hgr.spiral.a +++ b/src/fx/fx.hgr.spiral.a @@ -26,7 +26,7 @@ ldy $FF jsr HGRBlockCopy lda #$1F - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit ldx $F9 bne @a diff --git a/src/fx/fx.hgr.split.ud.intro.a b/src/fx/fx.hgr.split.ud.intro.a index f5fc3e41d..c475ea4fc 100644 --- a/src/fx/fx.hgr.split.ud.intro.a +++ b/src/fx/fx.hgr.split.ud.intro.a @@ -23,7 +23,7 @@ col2 = $FF ldy col2 jsr HGRHalfBlockToWhite lda #$40 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bpl + jmp @exit + @@ -109,7 +109,7 @@ row2 = $FF bne @bottomcopy lda #$28 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit dec row1 diff --git a/src/fx/fx.hgr.stagger.lr.a b/src/fx/fx.hgr.stagger.lr.a index 212e5c422..2c45eff39 100644 --- a/src/fx/fx.hgr.stagger.lr.a +++ b/src/fx/fx.hgr.stagger.lr.a @@ -32,7 +32,7 @@ col2 = $ff dec row bpl @loop1 lda #$40 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit inc col1 inc col1 diff --git a/src/fx/fx.hgr.stagger.lr.white.a b/src/fx/fx.hgr.stagger.lr.white.a index 7851caaf9..32e46fadb 100644 --- a/src/fx/fx.hgr.stagger.lr.white.a +++ b/src/fx/fx.hgr.stagger.lr.white.a @@ -32,7 +32,7 @@ col2 = $ff dec row bpl @loop1 lda #$40 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit inc col1 inc col1 @@ -61,7 +61,7 @@ col2 = $ff dec row bpl @loop2 lda #$40 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit inc col1 inc col1 diff --git a/src/fx/fx.hgr.stagger.ud.a b/src/fx/fx.hgr.stagger.ud.a index 6c90a0329..0bc442a11 100644 --- a/src/fx/fx.hgr.stagger.ud.a +++ b/src/fx/fx.hgr.stagger.ud.a @@ -31,7 +31,7 @@ row2 = $ff cpy #$28 bne @loop2 lda #$40 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit dey ; Y -> #$27 inc row1 diff --git a/src/fx/fx.hgr.stagger.ud.white.a b/src/fx/fx.hgr.stagger.ud.white.a index d227ef797..7374e88a1 100644 --- a/src/fx/fx.hgr.stagger.ud.white.a +++ b/src/fx/fx.hgr.stagger.ud.white.a @@ -30,7 +30,7 @@ row2 = $ff cpy #$28 bne @loop2 lda #$30 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit dey ; Y -> #$27 inc row1 @@ -59,7 +59,7 @@ row2 = $ff cpy #$28 bne @loop4 lda #$30 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit dey ; Y -> #$27 inc row1 diff --git a/src/fx/fx.hgr.star.in.a b/src/fx/fx.hgr.star.in.a index 48554c043..f481dbfd6 100644 --- a/src/fx/fx.hgr.star.in.a +++ b/src/fx/fx.hgr.star.in.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.2bit.a" +FX_INITONCE_2BIT CoordinatesFile, Start - +FX_REVERSE_2BIT + jsr iReverseCoordinates2Bit Start +FX_PRECOMPUTED_2BIT Coordinates2Bit diff --git a/src/fx/fx.hgr.star.ripple.a b/src/fx/fx.hgr.star.ripple.a index 7fb9bdba9..e522ffcc8 100644 --- a/src/fx/fx.hgr.star.ripple.a +++ b/src/fx/fx.hgr.star.ripple.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.2bit.a" +FX_INITONCE_2BIT CoordinatesFile, Start - +FX_RIPPLE_2BIT + jsr iRippleCoordinates2Bit Start +FX_PRECOMPUTED_2BIT Coordinates2Bit diff --git a/src/fx/fx.hgr.star7.in.a b/src/fx/fx.hgr.star7.in.a index 0d0b050f4..f74aec973 100644 --- a/src/fx/fx.hgr.star7.in.a +++ b/src/fx/fx.hgr.star7.in.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.2bit.a" +FX_INITONCE_2BIT CoordinatesFile, Start - +FX_REVERSE_2BIT + jsr iReverseCoordinates2Bit Start +FX_PRECOMPUTED_2BIT Coordinates2Bit diff --git a/src/fx/fx.hgr.star7.ripple.a b/src/fx/fx.hgr.star7.ripple.a index 169c20ee8..b6da6bb54 100644 --- a/src/fx/fx.hgr.star7.ripple.a +++ b/src/fx/fx.hgr.star7.ripple.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.2bit.a" +FX_INITONCE_2BIT CoordinatesFile, Start - +FX_RIPPLE_2BIT + jsr iRippleCoordinates2Bit Start +FX_PRECOMPUTED_2BIT Coordinates2Bit diff --git a/src/fx/fx.hgr.swirl.a b/src/fx/fx.hgr.swirl.a index 6b963cc61..7f374fc0d 100644 --- a/src/fx/fx.hgr.swirl.a +++ b/src/fx/fx.hgr.swirl.a @@ -8,7 +8,8 @@ !source "src/fx/fx.hgr.precomputed.1bit.a" +FX_INITONCE_1BIT CoordinatesFile, Start - +FX_RIPPLE_1BIT aslmod4 + jsr iRippleCoordinates1Bit4 + Start +FX_PRECOMPUTED_1BIT Coordinates1Bit diff --git a/src/fx/fx.hgr.thin.bar.dissolve.a b/src/fx/fx.hgr.thin.bar.dissolve.a index 742cbf30f..b8ffe06db 100644 --- a/src/fx/fx.hgr.thin.bar.dissolve.a +++ b/src/fx/fx.hgr.thin.bar.dissolve.a @@ -43,7 +43,7 @@ dst = $26 dey bpl - lda #$30 - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit !if 0 { ldx mask1 diff --git a/src/fx/fx.hgr.tri.fizzle.a b/src/fx/fx.hgr.tri.fizzle.a index b1c12aa66..23e56a238 100644 --- a/src/fx/fx.hgr.tri.fizzle.a +++ b/src/fx/fx.hgr.tri.fizzle.a @@ -43,7 +43,7 @@ maskindex = $FD ; byte + jsr HGRBlockCopyWithMask @wait lda #$0C - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi @exit inc coord bne + diff --git a/src/fx/fx.hgr.wavy.iris.bloom.in.a b/src/fx/fx.hgr.wavy.iris.bloom.in.a index 02436bf77..da9454d71 100644 --- a/src/fx/fx.hgr.wavy.iris.bloom.in.a +++ b/src/fx/fx.hgr.wavy.iris.bloom.in.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.2bit.a" +FX_INITONCE_2BIT CoordinatesFile, Start - +FX_REVERSE_2BIT + jsr iReverseCoordinates2Bit Start +FX_PRECOMPUTED_2BIT Coordinates2Bit diff --git a/src/fx/fx.hgr.wavy.iris.in.a b/src/fx/fx.hgr.wavy.iris.in.a index 848e16ae6..68a7b6c1d 100644 --- a/src/fx/fx.hgr.wavy.iris.in.a +++ b/src/fx/fx.hgr.wavy.iris.in.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.2bit.a" +FX_INITONCE_2BIT CoordinatesFile, Start - +FX_REVERSE_2BIT + jsr iReverseCoordinates2Bit Start +FX_PRECOMPUTED_2BIT Coordinates2Bit diff --git a/src/fx/fx.hgr.wavy.ripple.a b/src/fx/fx.hgr.wavy.ripple.a index fc2bd64b0..5e12c3719 100644 --- a/src/fx/fx.hgr.wavy.ripple.a +++ b/src/fx/fx.hgr.wavy.ripple.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.2bit.a" +FX_INITONCE_2BIT CoordinatesFile, Start - +FX_RIPPLE_2BIT + jsr iRippleCoordinates2Bit Start +FX_PRECOMPUTED_2BIT Coordinates2Bit diff --git a/src/fx/fx.hgr.wavy.ripple.bloom.a b/src/fx/fx.hgr.wavy.ripple.bloom.a index 455c4d448..ddbaf4310 100644 --- a/src/fx/fx.hgr.wavy.ripple.bloom.a +++ b/src/fx/fx.hgr.wavy.ripple.bloom.a @@ -8,7 +8,7 @@ !source "src/fx/fx.hgr.precomputed.2bit.a" +FX_INITONCE_2BIT CoordinatesFile, Start - +FX_RIPPLE_2BIT + jsr iRippleCoordinates2Bit Start +FX_PRECOMPUTED_2BIT Coordinates2Bit diff --git a/src/fx/fx.shr.fadein.a b/src/fx/fx.shr.fadein.a index 261ecc522..6f1446721 100644 --- a/src/fx/fx.shr.fadein.a +++ b/src/fx/fx.shr.fadein.a @@ -176,7 +176,7 @@ copy2 lda $4500, y ; SMC inc copy2+2 inc copy2+2 lda incv - jsr WaitForKeyWithTimeout + jsr iWaitForKeyWithTimeout bmi exit dec incv dec incv diff --git a/src/index/artwork.idx.a b/src/index/artwork.idx.a index d761e064a..489c85062 100644 --- a/src/index/artwork.idx.a +++ b/src/index/artwork.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15934478 + !be24 15926567 !le16 5130 diff --git a/src/index/attract.idx.a b/src/index/attract.idx.a index ffdfe80dd..bf356e839 100644 --- a/src/index/attract.idx.a +++ b/src/index/attract.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15879158 + !be24 15871247 !le16 5732 diff --git a/src/index/cache00.idx.a b/src/index/cache00.idx.a index 5b37e80ab..0643518ce 100644 --- a/src/index/cache00.idx.a +++ b/src/index/cache00.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15810925 + !be24 15803014 !le16 4194 diff --git a/src/index/cache01.idx.a b/src/index/cache01.idx.a index affd40280..8a1ef12ff 100644 --- a/src/index/cache01.idx.a +++ b/src/index/cache01.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15825639 + !be24 15817728 !le16 4652 diff --git a/src/index/cache10.idx.a b/src/index/cache10.idx.a index bb13b9b0c..2ee5750e1 100644 --- a/src/index/cache10.idx.a +++ b/src/index/cache10.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15844354 + !be24 15836443 !le16 5621 diff --git a/src/index/cache11.idx.a b/src/index/cache11.idx.a index c74cf2a88..7ee514384 100644 --- a/src/index/cache11.idx.a +++ b/src/index/cache11.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15865395 + !be24 15857484 !le16 6199 diff --git a/src/index/coverfade.idx.a b/src/index/coverfade.idx.a index d97f0b5b9..b733a310d 100644 --- a/src/index/coverfade.idx.a +++ b/src/index/coverfade.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15939608 + !be24 15931697 !le16 410 diff --git a/src/index/credits.idx.a b/src/index/credits.idx.a index d337da40c..7ea6332cd 100644 --- a/src/index/credits.idx.a +++ b/src/index/credits.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15940362 + !be24 15932451 !le16 449 diff --git a/src/index/decrunch.idx.a b/src/index/decrunch.idx.a index d8d324785..5d17dd217 100644 --- a/src/index/decrunch.idx.a +++ b/src/index/decrunch.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15940811 + !be24 15932900 !le16 303 diff --git a/src/index/demo.idx.a b/src/index/demo.idx.a index 751bb4211..5e65574d2 100644 --- a/src/index/demo.idx.a +++ b/src/index/demo.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 12707143 + !be24 12699232 !le16 1652 diff --git a/src/index/dfx.idx.a b/src/index/dfx.idx.a index f9cf3715c..84e90d249 100644 --- a/src/index/dfx.idx.a +++ b/src/index/dfx.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15887530 + !be24 15879619 !le16 1640 diff --git a/src/index/dgr.fizzle.idx.a b/src/index/dgr.fizzle.idx.a index 64573d674..c16c2a0c2 100644 --- a/src/index/dgr.fizzle.idx.a +++ b/src/index/dgr.fizzle.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15940094 + !be24 15932183 !le16 67 diff --git a/src/index/dgr.idx.a b/src/index/dgr.idx.a index 70ef4f974..cbe0e8bf8 100644 --- a/src/index/dgr.idx.a +++ b/src/index/dgr.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15934419 + !be24 15926508 !le16 59 diff --git a/src/index/dhgr.idx.a b/src/index/dhgr.idx.a index bc7a725bd..c939991dd 100644 --- a/src/index/dhgr.idx.a +++ b/src/index/dhgr.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15932839 + !be24 15924928 !le16 1426 diff --git a/src/index/dtitle.idx.a b/src/index/dtitle.idx.a index c55585f70..bedcff5e5 100644 --- a/src/index/dtitle.idx.a +++ b/src/index/dtitle.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15917605 + !be24 15909694 !le16 557 diff --git a/src/index/fx.idx.a b/src/index/fx.idx.a index 8256f4426..874712764 100644 --- a/src/index/fx.idx.a +++ b/src/index/fx.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15884890 + !be24 15876979 !le16 2640 diff --git a/src/index/fxdata.idx.a b/src/index/fxdata.idx.a index 0bcb3728f..3a400a4ec 100644 --- a/src/index/fxdata.idx.a +++ b/src/index/fxdata.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15889528 + !be24 15881617 !le16 451 diff --git a/src/index/gamehelp.idx.a b/src/index/gamehelp.idx.a index e9ef492d4..86e1cdf13 100644 --- a/src/index/gamehelp.idx.a +++ b/src/index/gamehelp.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15889979 + !be24 15882068 !le16 7564 diff --git a/src/index/gr.fizzle.idx.a b/src/index/gr.fizzle.idx.a index 3114b1680..e6b3dcd22 100644 --- a/src/index/gr.fizzle.idx.a +++ b/src/index/gr.fizzle.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15940018 + !be24 15932107 !le16 76 diff --git a/src/index/gr.idx.a b/src/index/gr.idx.a index 329e39a37..72431dfe2 100644 --- a/src/index/gr.idx.a +++ b/src/index/gr.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15934265 + !be24 15926354 !le16 154 diff --git a/src/index/helptext.idx.a b/src/index/helptext.idx.a index 3bbb4071d..eb4413b2e 100644 --- a/src/index/helptext.idx.a +++ b/src/index/helptext.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15940161 + !be24 15932250 !le16 201 diff --git a/src/index/hgr0.idx.a b/src/index/hgr0.idx.a index d2d0f94e8..024846fc9 100644 --- a/src/index/hgr0.idx.a +++ b/src/index/hgr0.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15918162 + !be24 15910251 !le16 4334 diff --git a/src/index/hgr1.idx.a b/src/index/hgr1.idx.a index 994927116..2ea85152e 100644 --- a/src/index/hgr1.idx.a +++ b/src/index/hgr1.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15922496 + !be24 15914585 !le16 1733 diff --git a/src/index/hgr2.idx.a b/src/index/hgr2.idx.a index 2679fbb8d..f97ea921c 100644 --- a/src/index/hgr2.idx.a +++ b/src/index/hgr2.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15924229 + !be24 15916318 !le16 1181 diff --git a/src/index/hgr3.idx.a b/src/index/hgr3.idx.a index ef954cd9a..204116d1e 100644 --- a/src/index/hgr3.idx.a +++ b/src/index/hgr3.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15925410 + !be24 15917499 !le16 3394 diff --git a/src/index/hgr4.idx.a b/src/index/hgr4.idx.a index c7ea0c67d..66152baa6 100644 --- a/src/index/hgr4.idx.a +++ b/src/index/hgr4.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15928804 + !be24 15920893 !le16 3429 diff --git a/src/index/hgr5.idx.a b/src/index/hgr5.idx.a index 41bc13fe8..dd93856e2 100644 --- a/src/index/hgr5.idx.a +++ b/src/index/hgr5.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15932233 + !be24 15924322 !le16 479 diff --git a/src/index/hgr6.idx.a b/src/index/hgr6.idx.a index 7a8b116d7..68de62955 100644 --- a/src/index/hgr6.idx.a +++ b/src/index/hgr6.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15932712 + !be24 15924801 !le16 127 diff --git a/src/index/joystick.idx.a b/src/index/joystick.idx.a index 8b3ceeb6b..4ac5edd44 100644 --- a/src/index/joystick.idx.a +++ b/src/index/joystick.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15941114 + !be24 15933203 !le16 2370 diff --git a/src/index/miniattract0.idx.a b/src/index/miniattract0.idx.a index 323d604ef..cfe638e0f 100644 --- a/src/index/miniattract0.idx.a +++ b/src/index/miniattract0.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15902948 + !be24 15895037 !le16 5083 diff --git a/src/index/miniattract1.idx.a b/src/index/miniattract1.idx.a index 8dae6fcfd..622044428 100644 --- a/src/index/miniattract1.idx.a +++ b/src/index/miniattract1.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15908031 + !be24 15900120 !le16 2485 diff --git a/src/index/prelaunch.idx.a b/src/index/prelaunch.idx.a index 1032ad375..bb844f4cc 100644 --- a/src/index/prelaunch.idx.a +++ b/src/index/prelaunch.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15871594 + !be24 15863683 !le16 7564 diff --git a/src/index/search00.idx.a b/src/index/search00.idx.a index 1df04b043..4a1c8988c 100644 --- a/src/index/search00.idx.a +++ b/src/index/search00.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15801342 + !be24 15793431 !le16 9583 diff --git a/src/index/search01.idx.a b/src/index/search01.idx.a index 874df7374..a6a13efb5 100644 --- a/src/index/search01.idx.a +++ b/src/index/search01.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15815119 + !be24 15807208 !le16 10520 diff --git a/src/index/search10.idx.a b/src/index/search10.idx.a index f2ab64531..4f90d47ad 100644 --- a/src/index/search10.idx.a +++ b/src/index/search10.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15830291 + !be24 15822380 !le16 14063 diff --git a/src/index/search11.idx.a b/src/index/search11.idx.a index 8bd559f7c..5863e8c67 100644 --- a/src/index/search11.idx.a +++ b/src/index/search11.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15849975 + !be24 15842064 !le16 15420 diff --git a/src/index/sfx.idx.a b/src/index/sfx.idx.a index 895f7047d..b56d2c116 100644 --- a/src/index/sfx.idx.a +++ b/src/index/sfx.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15889170 + !be24 15881259 !le16 358 diff --git a/src/index/slideshow.idx.a b/src/index/slideshow.idx.a index a2e4e636d..fc80cf8d5 100644 --- a/src/index/slideshow.idx.a +++ b/src/index/slideshow.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15897543 + !be24 15889632 !le16 5405 diff --git a/src/index/title.idx.a b/src/index/title.idx.a index 9aac51e8d..c6a0a98e1 100644 --- a/src/index/title.idx.a +++ b/src/index/title.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15910516 + !be24 15902605 !le16 7089 diff --git a/src/index/xsingle.idx.a b/src/index/xsingle.idx.a index add9b62ad..3301a5c7e 100644 --- a/src/index/xsingle.idx.a +++ b/src/index/xsingle.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 15796994 + !be24 15789083 !le16 4348 diff --git a/src/parse.prefs.a b/src/parse.prefs.a index e9e0a436b..7d1ddc2f5 100644 --- a/src/parse.prefs.a +++ b/src/parse.prefs.a @@ -19,20 +19,15 @@ kGlobalPrefsBuffer = $BD00 ; [512 bytes] must be page-aligned ; valid pref keys kNextAttract - !byte 11 - !raw "NEXTATTRACT" + +PSTRING "NEXTATTRACT" kNextFX - !byte 6 - !raw "NEXTFX" + +PSTRING "NEXTFX" kNextDFX - !byte 7 - !raw "NEXTDFX" + +PSTRING "NEXTDFX" kNextSFX - !byte 7 - !raw "NEXTSFX" + +PSTRING "NEXTSFX" kCheat - !byte 5 - !raw "CHEAT" + +PSTRING "CHEAT" .kEquals !byte 1 !raw "=" diff --git a/src/prodos.path.a b/src/prodos.path.a index 34f5c5db5..f187e1367 100644 --- a/src/prodos.path.a +++ b/src/prodos.path.a @@ -159,25 +159,20 @@ kXSingleRecord !source "src/index/xsingle.idx.a" kTotalDataFile - !byte 10 - !raw "TOTAL.DATA" + +PSTRING "TOTAL.DATA" kAnimatedTitleDirectory - !byte 15 - !raw "TITLE.ANIMATED/" + +PSTRING "TITLE.ANIMATED/" kGameDirectory - !byte 2 - !raw "X/" + +PSTRING "X/" kGameDirectoryLen = 3 ; we need this elsewhere kFXDirectory - !byte 3 - !raw "FX/" + +PSTRING "FX/" kGlobalPrefsFilename - !byte 10 - !raw "PREFS.CONF" + +PSTRING "PREFS.CONF" kStandardPrelaunchRecord !source "src/index/standard.prelaunch.a"