diff --git a/src/fx/fx.dhgr.precomputed.a b/src/fx/fx.dhgr.precomputed.a deleted file mode 100644 index bf5e1674c..000000000 --- a/src/fx/fx.dhgr.precomputed.a +++ /dev/null @@ -1,727 +0,0 @@ -;license:MIT -;(c) 2018-2020 by 4am/qkumba -; -coord = $FE -CoordinatesDHGR = $A000 ; $1E01 bytes ($1E00 on disk + 1 byte EOF marker) -EndCoordinatesDHGR=CoordinatesDHGR+$1E00 - - jmp Start - - !source "src/wait.a" - !source "src/fx/fx.hgr.common.a" - +HGR_HALF_BLOCK_COPY_ROUTINES - +HGR_WHITE_ROUTINES - !source "src/fx/fx.dhgr.common.a" - -Start - -!macro FX_INITONCE_DHGR .CoordinatesFile, .Start { -InitOnce - bit .Start - lda #$4C - sta InitOnce - +READ_RAM2_WRITE_RAM2 - +LOAD_FILE_AT .CoordinatesFile, CoordinatesDHGR - +READ_RAM1_WRITE_RAM1 -} - -!macro FX_RIPPLE_DHGR { - ldx #$0f -- lda ptrtbl, x - sta $c0, x - dex - bpl - - - lda #$66 - sta $fe - ldx #3 - stx $ff - -- lda CoordinatesDHGR + 2, x - sta $80, x - dex - bpl - - dex -- lda CoordinatesDHGR + 22 - 254, x - sta $86, x - lda CoordinatesDHGR + 34 - 254, x - sta $88, x - lda CoordinatesDHGR + 44 - 254, x - sta $8a, x - lda CoordinatesDHGR + 68 - 254, x - sta $8c, x - lda CoordinatesDHGR + 698 - 254, x - sta $8e, x - lda CoordinatesDHGR + 1396 - 254, x - sta $90, x - inx - bne - - ---- ldx #$10 --- lda $bf, x - bmi + - ldy $be, x - jsr aslmod2 - sty $be, x - sta $bf, x - sty $fc - clc - adc #>CoordinatesDHGR - sta $fd - ldy #0 - !byte $a9 -- sec - lda ($fc), y - pha - lda $7e, x - sta ($fc), y - pla - sta $7e, x - inx - iny - bcc - - dex - dex -+ dex - dex - bne -- - dex - lda $fe - eor #<(871 - 5) - bne + - stx $cd - stx $cf -+ eor #<(871 - 5) xor <(871 - 174) - bne + - lda $ff - eor #>(871 - 174) - bne + - stx $c5 - stx $c9 -+ dec $fe - bne --- - dec $ff - bpl --- - bmi ++ ; always branches -aslmod2 jsr aslmod -aslmod cmp #$0F - pha - tya - adc #0 - asl - tay - pla - rol - cmp #$1E - bcc + - sbc #$1E -+ rts -ptrtbl !word 2, 4, 22, 34, 44, 68, 698, 1396 -++ -} - -!macro FX_RADIAL2_DHGR .coords { - ldx #$0d -- lda ptrtbl, x - sta $c0, x - dex - bpl - - - ldx #3 -- lda .coords, x - sta $80, x - lda .coords + 50, x - sta $88, x - dex - bpl - - dex - - stx $fe - lda #7 - sta $ff - -- lda .coords + 18 - 254, x - sta $86, x - lda .coords + 22 - 254, x - sta $88, x - lda .coords + 336 - 254, x - sta $8e, x - inx - bne - - ---- ldx #$0e --- lda $bf, x - bmi + - ldy $be, x - jsr aslmod - sty $be, x - sta $bf, x - sty $fc - clc - adc #>.coords - sta $fd - ldy #0 - !byte $a9 -- sec - lda ($fc), y - pha - lda $7e, x - sta ($fc), y - pla - sta $7e, x - inx - iny - bcc - - dex - dex -+ dex - dex - bne -- - ldx #$0a - ldy #$ff -- lda $fe - eor zerochk, x - bne + - lda $ff - eor zerochk + 1, x - beq ++ -+ dex - dex - bpl - - !byte $2c -++ sty $c3, x -+++ dec $fe - bne --- - dec $ff - bpl --- - bmi posttransform ; always branches - -aslmod - pha - tya - asl - tay - pla - rol - cmp #$0F - bcc +++ - bne + - cpy #4 - bcc +++ -+ pha - tya - sbc #4 - tay - pla - sbc #$0F - cmp #$1E - bcc + - bne ++ - cpy #8 - bcc + -++ pha - tya - sbc #6 - tay - pla - sbc #$1E -+ rts -+++ pha - tya - adc #6 - tay - pla - adc #$0F - rts - -ptrtbl !word 0, 2, 18, 22, 50, 52, 336 -zerochk !word 2046 - 433 - !word 2046 - 663 - !word 2046 - 251 - !word 2046 - 68 - !word 2046 - 363 - !word 2046 - 19 -posttransform -} - -!macro FX_RADIAL3_DHGR .coords { - ldx #$15 -- lda ptrtbl, x - sta $c0, x - dex - bpl - - - ldx #7 -- lda .coords + 2, x - sta $80, x - dex - bpl - - - ldx #4 - stx $ff - - dex -- lda .coords + 34, x - sta $8c, x - dex - bpl - - dex - - lda #$aa - sta $fe - -- lda .coords + 18 - 254, x - sta $8a, x - lda .coords + 24 - 254, x - sta $8c, x - lda .coords + 58 - 254, x - sta $92, x - lda .coords + 300 - 254, x - sta $94, x - lda .coords + 344 - 254, x - sta $96, x - inx - bne - - ---- ldx #$16 --- lda $bf, x - bmi + - ldy $be, x - jsr aslmod - sty $be, x - sta $bf, x - sty $fc - clc - adc #>.coords - sta $fd - ldy #0 - !byte $a9 -- sec - lda ($fc), y - pha - lda $7e, x - sta ($fc), y - pla - sta $7e, x - inx - iny - bcc - - dex - dex -+ dex - dex - bne -- - ldy #$ff - ldx #$14 -- lda $fe - eor zerochk, x - bne + - lda $ff - eor zerochk + 1, x - beq ++ -+ dex - dex - bpl - - !byte $2c -++ sty $c1, x -+++ dec $fe - bne --- - dec $ff - bpl --- - bmi posttransform - -aslmod - pha - tya - asl - tay - pla - rol - pha - tya - asl - tay - pla - rol - cmp #$1E - bcc + - bne ++ - cpy #8 - bcc + -++ pha - tya - sbc #8 - tay - pla - sbc #$1E -- cmp #$1E - bcc +++ - bne ++ - cpy #8 - bcc +++ -++ pha - tya - sbc #6 - tay - pla - sbc #$1E - bcs - -+++ rts -+ pha - tya - adc #6 - tay - pla - adc #0 - rts - -ptrtbl !word 2, 4, 6, 8, 18, 24, 34, 36, 58, 300, 344 -zerochk !word 1194 - 493 - !word $7fff - !word 1194 - 503 - !word 1194 - 673 - !word 1194 - 82 - !word 1194 - 59 - !word 1194 - 130 - !word 1194 - 225 - !word 1194 - 406 - !word 1194 - 24 - !word 1194 - 55 -posttransform -} - -!macro FX_RADIAL4_DHGR .coords { - ldx #$11 -- lda ptrtbl, x - sta $c0, x - dex - bpl - - - ldx #3 -- lda .coords, x - sta $80, x - dex - bpl - - dex - - lda #$1a - sta $fe - lda #7 - sta $ff - -- lda .coords + 8 - 254, x - sta $86, x - lda .coords + 12 - 254, x - sta $88, x - lda .coords + 292 - 254, x - sta $8a, x - lda .coords + 352 - 254, x - sta $8c, x - lda .coords + 744 - 254, x - sta $8e, x - lda .coords + 1348 - 254, x - sta $90, x - lda .coords + 2208 - 254, x - sta $92, x - inx - bne - - ---- ldx #$12 --- lda $bf, x - bmi + - ldy $be, x - jsr aslmod - sty $be, x - sta $bf, x - sty $fc - clc - adc #>.coords - sta $fd - ldy #0 - !byte $a9 -- sec - lda ($fc), y - pha - lda $7e, x - sta ($fc), y - pla - sta $7e, x - inx - iny - bcc - - dex - dex -+ dex - dex - bne -- - ldy #$ff - ldx #$0e -- lda $fe - eor zerochk, x - bne + - lda $ff - eor zerochk + 1, x - beq ++ -+ dex - dex - bpl - - !byte $2c -++ sty $c3, x -+++ dec $fe - bne --- - dec $ff - bpl --- - bmi posttransform - -aslmod - pha - tya - asl - tay - pla - rol - pha - tya - asl - tay - pla - rol - cmp #$1E - bcc + - bne ++ - cpy #8 - bcs ++ -+ pha - tya - adc #6 - tay - pla - adc #0 - rts -++ cmp #$3C - bcc + - bne ++ - cpy #$10 - bcs ++ -+ eor #$ff - pha - tya - eor #$ff - adc #9 - tay - pla - adc #$3C - rts -++ cmp #$5A - bcc + - bne ++ - cpy #$18 - bcs ++ -+ sec - pha - tya - sbc #$0E - tay - pla - sbc #$3C - rts -++ eor #$ff - pha - tya - eor #$ff - adc #$1C - tay - pla - adc #$78 - rts - -ptrtbl !word 0, 2, 8, 12, 292, 352, 744, 1348, 2208 -zerochk !word 1819 - 361 - !word 1819 - 1494 - !word 1819 - 55 - !word 1819 - 28 - !word 1819 - 45 - !word 1819 - 21 - !word 1819 - 12 - !word 1819 - 10 -posttransform -} - -!macro FX_RADIAL5_DHGR .coords { - lda #<(.coords + 1004) - sta $c4 - ldx #3 ; >(.coords + 1004) - stx $c5 - lda #<(.coords + 452) - sta $c2 - dex - stx $c0 - dex ; >(Coordinates + 452) - stx $c3 - lda #0 - sta $c1 - - lda #$fc - sta $fe - lda #$0e - sta $ff - -- lda .coords + 2, x - sta $80, x - lda .coords + 452, x - sta $82, x - lda .coords + 1004, x - sta $84, x - dex - bpl - - ---- ldx #6 --- lda $bf, x - bmi + - ldy $be, x - jsr aslmod - sty $be, x - sta $bf, x - sty $fc - clc - adc #>.coords - sta $fd - ldy #0 - !byte $a9 -- sec - lda ($fc), y - pha - lda $7e, x - sta ($fc), y - pla - sta $7e, x - inx - iny - bcc - - dex - dex -+ dex - dex - bne -- - dex - lda $fe - eor #<(3837 - 2) - bne + - stx $c3 -+ eor #<(3837 - 2) xor <(3837 - 6) - bne + - stx $c5 -+ dec $fe - bne --- - dec $ff - bpl --- - bmi posttransform - -aslmod - sec - pha - tya - sbc #2 - tay - pla - sbc #0 - pha - tya - asl - tay - pla - rol - pha - tya - asl - tay - pla - rol - cmp #$1E - bpl + - eor #$ff - pha - tya - eor #$ff - clc - adc #$FF - tay - pla - adc #$1D - rts -+ cmp #$3C - bcc + - bne ++ - cpy #8 - bcs ++ -+ sec - sbc #$1E - rts -++ cmp #$5A - bcc + - bne ++ - cpy #$10 - bcs ++ -+ eor #$ff - pha - tya - eor #$ff - clc - adc #$0B - tay - pla - adc #$5A - rts -++ pha - tya - sbc #$0C - tay - pla - sbc #$5A - rts -posttransform -} - -!macro FX_PRECOMPUTED_DHGR .copy, .coords, .wait { - lda #<.coords - sta coord - lda #>.coords - sta coord+1 - ldy #0 -@loop - lda (coord),y - bpl + - lda #.wait - beq @nowait - jsr WaitForKeyWithTimeout -@nowait bit $C000 - bmi @exit - bpl @next -+ tax - iny - lda (coord),y - lsr - bcs @aux - sta $c003 - sta $c005 - bcc + ; always branches -@aux sta $c002 - sta $c004 -+ - tay - txa - jsr .copy -@next - inc coord - bne + - inc coord+1 -+ inc coord - bne + - inc coord+1 -+ ldy #$00 - lda ($FE),y - cmp #$80 - bne @loop -@exit sta $c002 - sta $c004 -}