4cade/src/fx/fx.shr.ripple.a

36 lines
824 B
Plaintext

;license:MIT
;(c) 2021 by 4am
;
!cpu 6502
!to "build/FX.INDEXED/SHR.RIPPLE",plain
*=$A000
mirror_rows = $106 ; $C8 bytes
shrlo = $200 ; $C8 bytes
shrhi = $300 ; $C8 bytes
coords = $9F00 ; $1F41 bytes
shr_mirror_cols = $BE60 ; $A0 bytes but clobbers $27 previous bytes during construction
!source "src/fx/macros.a"
+SHR_STAGE_1 shrlo, shrhi, mirror_rows, shr_mirror_cols
jmp stage2
!pseudopc *-$300 {
stage2
+LOAD_SHR_COORDINATES_AT coords, CoordinatesFile
+SHR_STAGE_2 startzp, endzp
rts
CoordinatesFile
+PSTRING "SHR.RIPPLE.DATA"
startzp
!pseudopc 0 {
stage3
+SHR_STAGE_3 coords, shrlo, shrhi, mirror_rows, shr_mirror_cols
}
endzp
!if (* - stage2 > $200) { !serious "Stage2 code is too large" }
}