refactor iris around quadratic spiral

This commit is contained in:
4am 2018-11-03 11:39:07 -04:00
parent 05fd4fce1e
commit eefc1bb45b
6 changed files with 1967 additions and 87 deletions

View File

@ -22,7 +22,6 @@ CADIUS=cadius
asm: md
$(ACME) -r build/4cade.lst src/4cade.a
$(ACME) src/fx/fx.hgr.diagonal.a
$(ACME) src/fx/fx.hgr.iris.a
$(ACME) src/fx/fx.hgr.interlock.ud.a
$(ACME) src/fx/fx.hgr.interlock.lr.a
$(ACME) src/fx/fx.hgr.spiral.a
@ -46,6 +45,7 @@ asm: md
$(ACME) src/fx/fx.hgr.sunrise.a
$(ACME) src/fx/fx.hgr.radial.a
$(ACME) src/fx/fx.hgr.split.ud.intro.a
$(ACME) src/fx/fx.hgr.iris.a
dsk: md asm
$(CADIUS) CREATEVOLUME build/"$(DISK)" "${VOLUME}" 32766KB >>build/log

View File

@ -1 +1 @@
# # transition effects for HGR slideshows # SPLIT.UD.INTRO RADIAL SUNRISE DIAGONAL CHECKERBOARD HALF.FIZZLE CORNER.CIRCLE BAR.DISSOLVE STAGGERWHITE.LR DIAMOND ONESQUARE TWOPASS.LR CRYSTAL HALF.MOSAIC STAGGER.LR FOURSQUARE STAGGER.UD INTERLOCK.LR BLOCK.MOSAIC IRIS FIZZLE STAGGERWHITE.UD INTERLOCK.UD BLOCK.FIZZLE SPIRAL [eof]
# # transition effects for HGR slideshows # IRIS SPLIT.UD.INTRO RADIAL SUNRISE DIAGONAL CHECKERBOARD HALF.FIZZLE CORNER.CIRCLE BAR.DISSOLVE STAGGERWHITE.LR DIAMOND ONESQUARE TWOPASS.LR CRYSTAL HALF.MOSAIC STAGGER.LR FOURSQUARE STAGGER.UD INTERLOCK.LR BLOCK.MOSAIC FIZZLE STAGGERWHITE.UD INTERLOCK.UD BLOCK.FIZZLE SPIRAL [eof]

View File

@ -2,7 +2,6 @@ DIAGONAL=Type(06),AuxType(6000),Access(C3)
FIZZLE=Type(06),AuxType(6000),Access(C3)
INTERLOCK.UD=Type(06),AuxType(6000),Access(C3)
INTERLOCK.LR=Type(06),AuxType(6000),Access(C3)
IRIS=Type(06),AuxType(6000),Access(C3)
SPIRAL=Type(06),AuxType(6000),Access(C3)
BAR.DISSOLVE=Type(06),AuxType(6000),Access(C3)
BLOCK.FIZZLE=Type(06),AuxType(6000),Access(C3)
@ -23,3 +22,4 @@ CORNER.CIRCLE=Type(06),AuxType(6000),Access(C3)
SUNRISE=Type(06),AuxType(6000),Access(C3)
RADIAL=Type(06),AuxType(6000),Access(C3)
SPLIT.UD.INTRO=Type(06),AuxType(6000),Access(C3)
IRIS=Type(06),AuxType(6000),Access(C3)

21
res/notes/radialspiral.py Executable file
View File

@ -0,0 +1,21 @@
#!/usr/bin/env python3
from math import sqrt, sin, cos, pi
def f(t):
t = float(t)
return (0.6*sqrt(t)*cos(2*pi*sqrt(t)), sqrt(t)*sin(2*pi*sqrt(t)))
coords = []
for i in range(20000):
any = False
a, b = f(float(i)/10.0)
x = round(20+a)
y = round(24+b)
if x < 0 or x > 39 or y < 0 or y > 47 or (x,y) in coords:
continue
coords.append((x,y))
with open("../../src/fx/fx.hgr.iris.data.a", "w") as f:
for x, y in coords:
f.write(" !byte %s,%s\n" % (y,x))

View File

@ -2,99 +2,38 @@
!to "build/FX/IRIS",plain
*=$6000
round = $FC
block = $FD
coord = $FE
lda #$00
sta round
@outerloop
lda round
asl
tax
lda @map,x
sta $fe
lda @map+1,x
sta $ff
lda #$00
sta block
@innerloop
ldy block
lda ($fe),y
bmi @nextround ; exit condition
lda #<@coords
sta coord
lda #>@coords
sta coord+1
ldy #0
@loop
lda (coord),y
tax
iny
lda ($fe),y
lda (coord),y
tay
txa
jsr HGRBlockCopy
inc block
inc block
bne @innerloop ; always branches (only exit condition is the BMI above)
@nextround
lda #$40
jsr HGRHalfBlockCopy
lda #$6
jsr WaitForKeyWithTimeout
bmi @exit
inc round
lda round
cmp #27
bne @outerloop
inc coord
bne +
inc coord+1
+ inc coord
bne +
inc coord+1
+ ldy #$00
lda ($FE),y
bpl @loop
@exit rts
@map
!word @round1
!word @round2
!word @round3
!word @round4
!word @round5
!word @round6
!word @round7
!word @round8
!word @round9
!word @round10
!word @round11
!word @round12
!word @round13
!word @round14
!word @round15
!word @round16
!word @round17
!word @round18
!word @round19
!word @round20
!word @round21
!word @round22
!word @round23
!word @round24
!word @round25
!word @round26
!word @round27
@round1 !byte 11,19, 11,20, 12,19, 12,20, 255
@round2 !byte 10,18, 10,19, 10,20, 10,21, 11,18, 11,21, 12,18, 12,21, 13,18, 13,19, 13,20, 13,21, 255
@round3 !byte 9,18, 9,19, 9,20, 9,21, 10,17, 10,22, 11,17, 11,22, 12,17, 12,22, 13,17, 13,22, 14,18, 14,19, 14,20, 14,21, 255
@round4 !byte 8,18, 8,19, 8,20, 8,21, 9,17, 9,22, 10,16, 10,23, 11,16, 11,23, 12,16, 12,23, 13,16, 13,23, 14,17, 14,22, 15,18, 15,19, 15,20, 15,21, 255
@round5 !byte 7,18, 7,19, 7,20, 7,21, 8,16, 8,17, 8,22, 8,23, 9,16, 9,23, 10,15, 10,24, 11,15, 11,24, 12,15, 12,24, 13,15, 13,24, 14,16, 14,23, 15,16, 15,17, 15,22, 15,23, 16,18, 16,19, 16,20, 16,21, 255
@round6 !byte 6,18, 6,19, 6,20, 6,21, 7,15, 7,16, 7,17, 7,22, 7,23, 7,24, 8,15, 8,24, 9,15, 9,24, 10,14, 10,25, 11,14, 11,25, 12,14, 12,25, 13,14, 13,25, 14,15, 14,24, 15,15, 15,24, 16,15, 16,16, 16,17, 16,22, 16,23, 16,24, 17,18, 17,19, 17,20, 17,21, 255
@round7 !byte 5,18, 5,19, 5,20, 5,21, 6,15, 6,16, 6,17, 6,22, 6,23, 6,24, 7,14, 7,25, 8,14, 8,25, 9,14, 9,25, 10,13, 10,26, 11,13, 11,26, 12,13, 12,26, 13,13, 13,26, 14,14, 14,25, 15,14, 15,25, 16,14, 16,25, 17,15, 17,16, 17,17, 17,22, 17,23, 17,24, 18,18, 18,19, 18,20, 18,21, 255
@round8 !byte 4,18, 4,19, 4,20, 4,21, 5,15, 5,16, 5,17, 5,22, 5,23, 5,24, 6,14, 6,25, 7,13, 7,26, 8,13, 8,26, 9,13, 9,26, 10,12, 10,27, 11,12, 11,27, 12,12, 12,27, 13,12, 13,27, 14,13, 14,26, 15,13, 15,26, 16,13, 16,26, 17,14, 17,25, 18,15, 18,16, 18,17, 18,22, 18,23, 18,24, 19,18, 19,19, 19,20, 19,21, 255
@round9 !byte 3,18, 3,19, 3,20, 3,21, 4,15, 4,16, 4,17, 4,22, 4,23, 4,24, 5,13, 5,14, 5,25, 5,26, 6,13, 6,26, 7,12, 7,27, 8,12, 8,27, 9,12, 9,27, 10,11, 10,28, 11,11, 11,28, 12,11, 12,28, 13,11, 13,28, 14,12, 14,27, 15,12, 15,27, 16,12, 16,27, 17,13, 17,26, 18,13, 18,14, 18,25, 18,26, 19,15, 19,16, 19,17, 19,22, 19,23, 19,24, 20,18, 20,19, 20,20, 20,21, 255
@round10 !byte 2,18, 2,19, 2,20, 2,21, 3,15, 3,16, 3,17, 3,22, 3,23, 3,24, 4,13, 4,14, 4,25, 4,26, 5,12, 5,27, 6,12, 6,27, 7,11, 7,28, 8,11, 8,28, 9,11, 9,28, 10,10, 10,29, 11,10, 11,29, 12,10, 12,29, 13,10, 13,29, 14,11, 14,28, 15,11, 15,28, 16,11, 16,28, 17,12, 17,27, 18,12, 18,27, 19,13, 19,14, 19,25, 19,26, 20,15, 20,16, 20,17, 20,22, 20,23, 20,24, 21,18, 21,19, 21,20, 21,21, 255
@round11 !byte 1,18, 1,19, 1,20, 1,21, 2,15, 2,16, 2,17, 2,22, 2,23, 2,24, 3,13, 3,14, 3,25, 3,26, 4,12, 4,27, 5,11, 5,28, 6,11, 6,28, 7,10, 7,29, 8,10, 8,29, 9,10, 9,29, 10,9, 10,30, 11,9, 11,30, 12,9, 12,30, 13,9, 13,30, 14,10, 14,29, 15,10, 15,29, 16,10, 16,29, 17,11, 17,28, 18,11, 18,28, 19,12, 19,27, 20,13, 20,14, 20,25, 20,26, 21,15, 21,16, 21,17, 21,22, 21,23, 21,24, 22,18, 22,19, 22,20, 22,21, 255
@round12 !byte 0,18, 0,19, 0,20, 0,21, 1,15, 1,16, 1,17, 1,22, 1,23, 1,24, 2,13, 2,14, 2,25, 2,26, 3,12, 3,27, 4,11, 4,28, 5,10, 5,29, 6,10, 6,29, 7,9, 7,30, 8,9, 8,30, 9,9, 9,30, 10,8, 10,31, 11,8, 11,31, 12,8, 12,31, 13,8, 13,31, 14,9, 14,30, 15,9, 15,30, 16,9, 16,30, 17,10, 17,29, 18,10, 18,29, 19,11, 19,28, 20,12, 20,27, 21,13, 21,14, 21,25, 21,26, 22,15, 22,16, 22,17, 22,22, 22,23, 22,24, 23,18, 23,19, 23,20, 23,21, 255
@round13 !byte 0,15, 0,16, 0,17, 0,22, 0,23, 0,24, 1,13, 1,14, 1,25, 1,26, 2,12, 2,27, 3,11, 3,28, 4,10, 4,29, 5,9, 5,30, 6,9, 6,30, 7,8, 7,31, 8,8, 8,31, 9,8, 9,31, 10,7, 10,32, 11,7, 11,32, 12,7, 12,32, 13,7, 13,32, 14,8, 14,31, 15,8, 15,31, 16,8, 16,31, 17,9, 17,30, 18,9, 18,30, 19,10, 19,29, 20,11, 20,28, 21,12, 21,27, 22,13, 22,14, 22,25, 22,26, 23,15, 23,16, 23,17, 23,22, 23,23, 23,24, 255
@round14 !byte 0,13, 0,14, 0,25, 0,26, 1,12, 1,27, 2,11, 2,28, 3,10, 3,29, 4,9, 4,30, 5,8, 5,31, 6,8, 6,31, 7,7, 7,32, 8,7, 8,32, 9,7, 9,32, 10,6, 10,33, 11,6, 11,33, 12,6, 12,33, 13,6, 13,33, 14,7, 14,32, 15,7, 15,32, 16,7, 16,32, 17,8, 17,31, 18,8, 18,31, 19,9, 19,30, 20,10, 20,29, 21,11, 21,28, 22,12, 22,27, 23,13, 23,14, 23,25, 23,26, 255
@round15 !byte 0,12, 0,27, 1,11, 1,28, 2,10, 2,29, 3,9, 3,30, 4,8, 4,31, 5,7, 5,32, 6,7, 6,32, 7,6, 7,33, 8,6, 8,33, 9,6, 9,33, 10,5, 10,34, 11,5, 11,34, 12,5, 12,34, 13,5, 13,34, 14,6, 14,33, 15,6, 15,33, 16,6, 16,33, 17,7, 17,32, 18,7, 18,32, 19,8, 19,31, 20,9, 20,30, 21,10, 21,29, 22,11, 22,28, 23,12, 23,27, 255
@round16 !byte 0,11, 0,28, 1,10, 1,29, 2,9, 2,30, 3,8, 3,31, 4,7, 4,32, 5,6, 5,33, 6,6, 6,33, 7,5, 7,34, 8,5, 8,34, 9,5, 9,34, 10,4, 10,35, 11,4, 11,35, 12,4, 12,35, 13,4, 13,35, 14,5, 14,34, 15,5, 15,34, 16,5, 16,34, 17,6, 17,33, 18,6, 18,33, 19,7, 19,32, 20,8, 20,31, 21,9, 21,30, 22,10, 22,29, 23,11, 23,28, 255
@round17 !byte 0,10, 0,29, 1,9, 1,30, 2,8, 2,31, 3,7, 3,32, 4,6, 4,33, 5,5, 5,34, 6,5, 6,34, 7,4, 7,35, 8,4, 8,35, 9,4, 9,35, 10,3, 10,36, 11,3, 11,36, 12,3, 12,36, 13,3, 13,36, 14,4, 14,35, 15,4, 15,35, 16,4, 16,35, 17,5, 17,34, 18,5, 18,34, 19,6, 19,33, 20,7, 20,32, 21,8, 21,31, 22,9, 22,30, 23,10, 23,29, 255
@round18 !byte 0,9, 0,30, 1,8, 1,31, 2,7, 2,32, 3,6, 3,33, 4,5, 4,34, 5,4, 5,35, 6,4, 6,35, 7,3, 7,36, 8,3, 8,36, 9,3, 9,36, 10,2, 10,37, 11,2, 11,37, 12,2, 12,37, 13,2, 13,37, 14,3, 14,36, 15,3, 15,36, 16,3, 16,36, 17,4, 17,35, 18,4, 18,35, 19,5, 19,34, 20,6, 20,33, 21,7, 21,32, 22,8, 22,31, 23,9, 23,30, 255
@round19 !byte 0,8, 0,31, 1,7, 1,32, 2,6, 2,33, 3,5, 3,34, 4,4, 4,35, 5,3, 5,36, 6,3, 6,36, 7,2, 7,37, 8,2, 8,37, 9,2, 9,37, 10,1, 10,38, 11,1, 11,38, 12,1, 12,38, 13,1, 13,38, 14,2, 14,37, 15,2, 15,37, 16,2, 16,37, 17,3, 17,36, 18,3, 18,36, 19,4, 19,35, 20,5, 20,34, 21,6, 21,33, 22,7, 22,32, 23,8, 23,31, 255
@round20 !byte 0,7, 0,32, 1,6, 1,33, 2,5, 2,34, 3,4, 3,35, 4,3, 4,36, 5,2, 5,37, 6,2, 6,37, 7,1, 7,38, 8,1, 8,38, 9,1, 9,38, 10,0, 10,39, 11,0, 11,39, 12,0, 12,39, 13,0, 13,39, 14,1, 14,38, 15,1, 15,38, 16,1, 16,38, 17,2, 17,37, 18,2, 18,37, 19,3, 19,36, 20,4, 20,35, 21,5, 21,34, 22,6, 22,33, 23,7, 23,32, 255
@round21 !byte 0,6, 0,33, 1,5, 1,34, 2,4, 2,35, 3,3, 3,36, 4,2, 4,37, 5,1, 5,38, 6,1, 6,38, 7,0, 7,39, 8,0, 8,39, 9,0, 9,39, 14,0, 14,39, 15,0, 15,39, 16,0, 16,39, 17,1, 17,38, 18,1, 18,38, 19,2, 19,37, 20,3, 20,36, 21,4, 21,35, 22,5, 22,34, 23,6, 23,33, 255
@round22 !byte 0,5, 0,34, 1,4, 1,35, 2,3, 2,36, 3,2, 3,37, 4,1, 4,38, 5,0, 5,39, 6,0, 6,39, 17,0, 17,39, 18,0, 18,39, 19,1, 19,38, 20,2, 20,37, 21,3, 21,36, 22,4, 22,35, 23,5, 23,34, 255
@round23 !byte 0,4, 0,35, 1,3, 1,36, 2,2, 2,37, 3,1, 3,38, 4,0, 4,39, 19,0, 19,39, 20,1, 20,38, 21,2, 21,37, 22,3, 22,36, 23,4, 23,35, 255
@round24 !byte 0,3, 0,36, 1,2, 1,37, 2,1, 2,38, 3,0, 3,39, 20,0, 20,39, 21,1, 21,38, 22,2, 22,37, 23,3, 23,36, 255
@round25 !byte 0,2, 0,37, 1,1, 1,38, 2,0, 2,39, 21,0, 21,39, 22,1, 22,38, 23,2, 23,37, 255
@round26 !byte 0,1, 0,38, 1,0, 1,39, 22,0, 22,39, 23,1, 23,38, 255
@round27 !byte 0,0, 0,39, 23,0, 23,39, 255
@coords
!source "src/fx/fx.hgr.iris.data.a"
!byte $80
!source "src/wait.a"
!source "src/fx/fx.hgr.common.a"

1920
src/fx/fx.hgr.iris.data.a Normal file

File diff suppressed because it is too large Load Diff