mirror of
https://github.com/a2-4am/4cade.git
synced 2024-06-27 18:29:31 +00:00
add another SHR radial effect
This commit is contained in:
parent
7cc1505b15
commit
a4bb7a9c11
|
@ -52,6 +52,7 @@ SHR.DIAGONAL
|
||||||
SHR.80.DOWN
|
SHR.80.DOWN
|
||||||
SHR.IRIS
|
SHR.IRIS
|
||||||
SHR.LR
|
SHR.LR
|
||||||
|
SHR.RADIAL2
|
||||||
SHR.80.SPIRAL
|
SHR.80.SPIRAL
|
||||||
SHR.FADEIN
|
SHR.FADEIN
|
||||||
SHR.IRIS.IN
|
SHR.IRIS.IN
|
||||||
|
|
115
src/fx/fx.shr.radial2.a
Normal file
115
src/fx/fx.shr.radial2.a
Normal file
|
@ -0,0 +1,115 @@
|
||||||
|
;license:MIT
|
||||||
|
;(c) 2021 by 4am
|
||||||
|
;
|
||||||
|
!cpu 6502
|
||||||
|
!to "build/FX.INDEXED/SHR.RADIAL2",plain
|
||||||
|
*=$A000
|
||||||
|
|
||||||
|
shrlo = $201 ; $C8 bytes
|
||||||
|
CoordinatesFileCopy = $2C8; $11 bytes
|
||||||
|
shrhi = $301 ; $C8 bytes
|
||||||
|
mirror_cols = $1E29 ; $A0 bytes but clobbers $28 bytes before
|
||||||
|
mirror_rows = $1F01 ; $C7 bytes
|
||||||
|
coords = $9F00 ; $1F41 bytes
|
||||||
|
last_coords = coords+$1F3E
|
||||||
|
|
||||||
|
!source "src/fx/macros.a"
|
||||||
|
!source "src/fx/fx.shr.common.a"
|
||||||
|
|
||||||
|
start
|
||||||
|
+BUILD_SHR_MIRROR_ROWS_AND_COLS mirror_rows, mirror_cols
|
||||||
|
;X=0
|
||||||
|
+BUILD_SHR_LOOKUP_TABLES shrlo, shrhi
|
||||||
|
;X=0
|
||||||
|
+COPY_SCB_AND_PALETTES
|
||||||
|
;X=0
|
||||||
|
;WRITEAUXMEM active
|
||||||
|
+SHR_COPY_TO_STAGE_2
|
||||||
|
jmp stage2
|
||||||
|
|
||||||
|
!pseudopc *-$300 {
|
||||||
|
stage2
|
||||||
|
+LOAD_SHR_COORDINATES_AT coords, CoordinatesFile, CoordinatesFileCopy
|
||||||
|
;WRITEMAINMEM active
|
||||||
|
|
||||||
|
lda #$80
|
||||||
|
sta coords-2
|
||||||
|
|
||||||
|
+COPY_TO_0 startzp, endzp
|
||||||
|
|
||||||
|
+WRITE_AUX
|
||||||
|
jsr input
|
||||||
|
+WRITE_MAIN
|
||||||
|
|
||||||
|
+SHR_RESTORE_FROM_STAGE_2
|
||||||
|
+READ_RAM1_WRITE_RAM1
|
||||||
|
rts
|
||||||
|
|
||||||
|
startzp
|
||||||
|
!pseudopc 0 {
|
||||||
|
; top-left quadrant (original row, original column, original input order)
|
||||||
|
input ldx coords ; SMC
|
||||||
|
bmi exit
|
||||||
|
ldy #1
|
||||||
|
lda (input+1), y
|
||||||
|
tay
|
||||||
|
jsr copy
|
||||||
|
|
||||||
|
; bottom-right quadrant (opposite row, opposite column, original input order)
|
||||||
|
lda mirror_rows, x
|
||||||
|
tax
|
||||||
|
lda mirror_cols, y
|
||||||
|
tay
|
||||||
|
jsr copy
|
||||||
|
|
||||||
|
; bottom-left quadrant (opposite row, original column, reverse input order)
|
||||||
|
reverse_input
|
||||||
|
ldx last_coords ; SMC
|
||||||
|
lda mirror_rows, x
|
||||||
|
tax
|
||||||
|
ldy #1
|
||||||
|
lda (reverse_input+1), y
|
||||||
|
tay
|
||||||
|
jsr copy
|
||||||
|
|
||||||
|
; top-right quadrant (original row, opposite column, reverse input order)
|
||||||
|
lda mirror_rows, x ; mirror of the mirror
|
||||||
|
tax
|
||||||
|
lda mirror_cols, y
|
||||||
|
tay
|
||||||
|
jsr copy
|
||||||
|
|
||||||
|
inc <input+1
|
||||||
|
inc <input+1
|
||||||
|
bne +
|
||||||
|
inc <input+2
|
||||||
|
+ lda <reverse_input+1
|
||||||
|
php
|
||||||
|
dec <reverse_input+1
|
||||||
|
dec <reverse_input+1
|
||||||
|
plp
|
||||||
|
bne +
|
||||||
|
dec <reverse_input+2
|
||||||
|
+ bit $C000
|
||||||
|
bpl input
|
||||||
|
copy
|
||||||
|
lda shrlo, x
|
||||||
|
sta <src1+1
|
||||||
|
lda shrhi, x
|
||||||
|
sta <src1+2
|
||||||
|
lda shrlo+1, x
|
||||||
|
sta <src2+1
|
||||||
|
lda shrhi+1, x
|
||||||
|
sta <src2+2
|
||||||
|
src1 lda $FD00, y ; SMC high byte
|
||||||
|
sta (src1+1), y
|
||||||
|
src2 lda $FD00, y ; SMC high byte
|
||||||
|
sta (src2+1), y
|
||||||
|
exit rts
|
||||||
|
}
|
||||||
|
endzp
|
||||||
|
}
|
||||||
|
|
||||||
|
CoordinatesFile
|
||||||
|
!byte 18
|
||||||
|
!text "FX/SHR.RADIAL.DATA"
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10962655
|
!be24 10962979
|
||||||
!le16 4281
|
!le16 4281
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10915374
|
!be24 10915680
|
||||||
!le16 5239
|
!le16 5239
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10858233
|
!be24 10858539
|
||||||
!le16 3586
|
!le16 3586
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10870603
|
!be24 10870909
|
||||||
!le16 3946
|
!le16 3946
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10886002
|
!be24 10886308
|
||||||
!le16 4998
|
!le16 4998
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10903654
|
!be24 10903960
|
||||||
!le16 5571
|
!le16 5571
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10966936
|
!be24 10967260
|
||||||
!le16 410
|
!le16 410
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10967690
|
!be24 10968014
|
||||||
!le16 448
|
!le16 448
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10968138
|
!be24 10968462
|
||||||
!le16 303
|
!le16 303
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10922759
|
!be24 10923065
|
||||||
!le16 1242
|
!le16 1242
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10967422
|
!be24 10967746
|
||||||
!le16 67
|
!le16 67
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10962596
|
!be24 10962920
|
||||||
!le16 59
|
!le16 59
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10961266
|
!be24 10961590
|
||||||
!le16 1249
|
!le16 1249
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10947256
|
!be24 10947580
|
||||||
!le16 464
|
!le16 464
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10920613
|
!be24 10920919
|
||||||
!le16 2146
|
!le16 2146
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10924299
|
!be24 10924623
|
||||||
!le16 6149
|
!le16 6149
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10967346
|
!be24 10967670
|
||||||
!le16 76
|
!le16 76
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10962515
|
!be24 10962839
|
||||||
!le16 81
|
!le16 81
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10967489
|
!be24 10967813
|
||||||
!le16 201
|
!le16 201
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10947720
|
!be24 10948044
|
||||||
!le16 4407
|
!le16 4407
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10952127
|
!be24 10952451
|
||||||
!le16 1533
|
!le16 1533
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10953660
|
!be24 10953984
|
||||||
!le16 1040
|
!le16 1040
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10954700
|
!be24 10955024
|
||||||
!le16 3237
|
!le16 3237
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10957937
|
!be24 10958261
|
||||||
!le16 2764
|
!le16 2764
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10960701
|
!be24 10961025
|
||||||
!le16 460
|
!le16 460
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10961161
|
!be24 10961485
|
||||||
!le16 105
|
!le16 105
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10968441
|
!be24 10968765
|
||||||
!le16 2370
|
!le16 2370
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10935361
|
!be24 10935685
|
||||||
!le16 6149
|
!le16 6149
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10909225
|
!be24 10909531
|
||||||
!le16 6149
|
!le16 6149
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10850201
|
!be24 10850507
|
||||||
!le16 8032
|
!le16 8032
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10861819
|
!be24 10862125
|
||||||
!le16 8784
|
!le16 8784
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10874549
|
!be24 10874855
|
||||||
!le16 11453
|
!le16 11453
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10891000
|
!be24 10891306
|
||||||
!le16 12654
|
!le16 12654
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10924001
|
!be24 10924307
|
||||||
!le16 298
|
!le16 316
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10930448
|
!be24 10930772
|
||||||
!le16 4913
|
!le16 4913
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
; This file is automatically generated
|
; This file is automatically generated
|
||||||
;
|
;
|
||||||
!byte 0
|
!byte 0
|
||||||
!be24 10941510
|
!be24 10941834
|
||||||
!le16 5746
|
!le16 5746
|
||||||
|
|
Loading…
Reference in New Issue
Block a user