mirror of
https://github.com/a2-4am/4cade.git
synced 2024-11-27 08:50:01 +00:00
added fx.hgr.spiral
This commit is contained in:
parent
8e72f1d54f
commit
6f07549dd0
@ -1 +1 @@
|
||||
#
# slideshow of favorite title screens
#
MR.ROBOT
NIBBLER
SNAKE.BYTE
DAVIDS.MAGIC
CRAZY.MAZY
SPYS.DEMISE
WAVY.NAVY
DIG.DUG
PAPERBOY
TUBEWAY
PRINCEUNP
LOST.TOMB
MOON.PATROL
DROL
HERO
MONTEZUMA
DUNG.BEETLES
SWASHBUCKLER
POOYAN
TAPPER
GOONIES
PLASMANIA
PITFALL.II
ALCAZAR
SABOTAGE
FROGGER
GORGON
CONAN
NIGHT.MISSION
DINO.EGGS
FALCONS
BRUCE.LEE
BCS.QUEST
JOUST
[eof]
|
||||
#
# slideshow of favorite title screens
#
DUNG.BEETLES
MR.ROBOT
NIBBLER
SNAKE.BYTE
DAVIDS.MAGIC
CRAZY.MAZY
SPYS.DEMISE
WAVY.NAVY
DIG.DUG
PAPERBOY
TUBEWAY
PRINCEUNP
LOST.TOMB
MOON.PATROL
DROL
HERO
MONTEZUMA
SWASHBUCKLER
POOYAN
TAPPER
GOONIES
PLASMANIA
PITFALL.II
ALCAZAR
SABOTAGE
FROGGER
GORGON
CONAN
NIGHT.MISSION
DINO.EGGS
FALCONS
BRUCE.LEE
BCS.QUEST
JOUST
[eof]
|
@ -212,7 +212,7 @@ HGRLoad
|
||||
jsr AddToPath
|
||||
jsr LoadFile
|
||||
!word gPathname
|
||||
jsr DiagonalHGR;InterlockingVerticalHGR;FizzleHGR;InterlockingHorizontalHGR;
|
||||
jsr SpiralHGR;DiagonalHGR;InterlockingVerticalHGR;FizzleHGR;InterlockingHorizontalHGR;
|
||||
jmp WaitOnScreenshot
|
||||
|
||||
DHGRLoad
|
||||
@ -325,7 +325,9 @@ kAttractModeConfFile
|
||||
!source "src/okvs.a"
|
||||
!source "src/parse.common.a"
|
||||
!source "src/parse.games.a"
|
||||
!source "src/fx.hgr.common.a"
|
||||
!source "src/fx.hgr.fizzle.a"
|
||||
!source "src/fx.hgr.spiral.a"
|
||||
!source "src/fx.hgr.diagonal.a"
|
||||
!source "src/fx.hgr.interlockingvertical.a"
|
||||
!source "src/fx.hgr.interlockinghorizontal.a"
|
||||
|
68
src/fx.hgr.common.a
Normal file
68
src/fx.hgr.common.a
Normal file
@ -0,0 +1,68 @@
|
||||
HGRCalc
|
||||
; in: A = HGR row (0x00..0xBF)
|
||||
; out: A/X clobbered
|
||||
; Y preserved
|
||||
; ($26) points to first byte of given HGR row on hi-res page 1
|
||||
; ($3C) points to same byte on hi-res page 2
|
||||
; based on 'Woz Recodes Hi-Res Address Calculations'
|
||||
; Apple Assembly Line vol. 7 issue 3 (December 1986)
|
||||
; http://www.txbobsc.com/aal/1986/aal8612.html#a9
|
||||
asl
|
||||
tax
|
||||
and #$F0
|
||||
bpl @calc1
|
||||
ora #$05
|
||||
@calc1 bcc @calc2
|
||||
ora #$0A
|
||||
@calc2 asl
|
||||
asl
|
||||
sta $26
|
||||
txa
|
||||
and #$0E
|
||||
adc #$10
|
||||
asl $26
|
||||
rol
|
||||
sta $27
|
||||
eor #$60
|
||||
sta $3d
|
||||
lda $26
|
||||
sta $3c
|
||||
rts
|
||||
|
||||
HGRBlockCopy
|
||||
; in: A = HGR row / 8 (0x00..0x17)
|
||||
; Y = HGR column (0x00..0x27)
|
||||
; out: all flags and registers clobbered
|
||||
sty @loop+1
|
||||
asl
|
||||
asl
|
||||
asl
|
||||
jsr HGRCalc
|
||||
ldx #$08
|
||||
@loop ldy #$FD ; modified at runtime
|
||||
lda ($3c),y
|
||||
sta ($26),y
|
||||
lda $27
|
||||
clc
|
||||
adc #$04
|
||||
sta $27
|
||||
eor #$60
|
||||
sta $3d
|
||||
dex
|
||||
bne @loop
|
||||
rts
|
||||
|
||||
WaitForKeyWithTimeout
|
||||
; 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
|
@ -4,7 +4,11 @@ DiagonalHGR
|
||||
lda #$17
|
||||
sta $FA
|
||||
sta $FC
|
||||
@loop jsr @block
|
||||
@loop lda $FA
|
||||
bpl +
|
||||
lda #$00
|
||||
+ ldy $FB
|
||||
jsr HGRBlockCopy
|
||||
dec $FB
|
||||
inc $FA
|
||||
lda $FB
|
||||
@ -31,24 +35,3 @@ DiagonalHGR
|
||||
sta $FB
|
||||
bpl @loop
|
||||
@exit rts
|
||||
|
||||
@block lda $FA
|
||||
bpl +
|
||||
lda #$00
|
||||
+ asl
|
||||
asl
|
||||
asl
|
||||
jsr HGRCalc
|
||||
ldx #$08
|
||||
- ldy $FB
|
||||
lda ($3c),y
|
||||
sta ($26),y
|
||||
lda $27
|
||||
clc
|
||||
adc #$04
|
||||
sta $27
|
||||
eor #$60
|
||||
sta $3d
|
||||
dex
|
||||
bne -
|
||||
rts
|
||||
|
@ -34,7 +34,7 @@ InterlockingHorizontalHGR
|
||||
dey
|
||||
bpl @innerloop
|
||||
lda #$40
|
||||
jsr Wait
|
||||
jsr WaitForKeyWithTimeout
|
||||
lda $C000
|
||||
bmi @exit
|
||||
inc index2
|
||||
|
@ -1,3 +1,4 @@
|
||||
!zone {
|
||||
row1 = $fe
|
||||
row2 = $ff
|
||||
|
||||
@ -25,46 +26,11 @@ InterlockingVerticalHGR
|
||||
dey
|
||||
bpl -
|
||||
lda #$30
|
||||
jsr Wait
|
||||
jsr WaitForKeyWithTimeout
|
||||
lda $C000
|
||||
bmi @exit
|
||||
inc row1
|
||||
dec row2
|
||||
bpl @loop
|
||||
@exit rts
|
||||
|
||||
HGRCalc
|
||||
asl
|
||||
tax
|
||||
and #$F0
|
||||
bpl @calc1
|
||||
ora #$05
|
||||
@calc1 bcc @calc2
|
||||
ora #$0A
|
||||
@calc2 asl
|
||||
asl
|
||||
sta $26
|
||||
txa
|
||||
and #$0E
|
||||
adc #$10
|
||||
asl $26
|
||||
rol
|
||||
sta $27
|
||||
eor #$60
|
||||
sta $3d
|
||||
lda $26
|
||||
sta $3c
|
||||
rts
|
||||
|
||||
Wait
|
||||
sec
|
||||
@wait1 pha
|
||||
@wait2 sbc #1
|
||||
bne @wait2
|
||||
pla
|
||||
bit $C000
|
||||
bmi @exitwait
|
||||
sbc #1
|
||||
bne @wait1
|
||||
@exitwait
|
||||
rts
|
||||
}
|
||||
|
69
src/fx.hgr.spiral.a
Normal file
69
src/fx.hgr.spiral.a
Normal file
@ -0,0 +1,69 @@
|
||||
SpiralHGR
|
||||
lda #$27
|
||||
sta $FB
|
||||
lda #$17
|
||||
sta $FD
|
||||
lda #$00
|
||||
sta $FA
|
||||
sta $FC
|
||||
@outerloop
|
||||
lda $FC
|
||||
sta $FE
|
||||
lda $FA
|
||||
sta $FF
|
||||
lda #$00
|
||||
sta $F9
|
||||
@loop lda $FE
|
||||
ldy $FF
|
||||
jsr HGRBlockCopy
|
||||
lda #$1F
|
||||
jsr WaitForKeyWithTimeout
|
||||
bmi @exit
|
||||
ldx $F9
|
||||
bne @a
|
||||
inc $FF
|
||||
lda $FB
|
||||
cmp $FF
|
||||
bcs @loop
|
||||
inc $FC
|
||||
inc $F9
|
||||
lda $FC
|
||||
sta $FE
|
||||
lda $FB
|
||||
sta $FF
|
||||
@a dex
|
||||
bne @b
|
||||
inc $FE
|
||||
lda $FD
|
||||
cmp $FE
|
||||
bcs @loop
|
||||
dec $FB
|
||||
inc $F9
|
||||
lda $FD
|
||||
sta $FE
|
||||
lda $FB
|
||||
sta $FF
|
||||
@b dex
|
||||
bne @c
|
||||
dec $FF
|
||||
lda $FF
|
||||
cmp $FA
|
||||
bpl @loop
|
||||
lda $FD
|
||||
cmp $FC
|
||||
beq @exit
|
||||
dec $FD
|
||||
inc $F9
|
||||
lda $FD
|
||||
sta $FE
|
||||
lda $FA
|
||||
sta $FF
|
||||
@c dex
|
||||
bne @loop
|
||||
dec $FE
|
||||
lda $FE
|
||||
cmp $FC
|
||||
bpl @loop
|
||||
inc $FA
|
||||
bne @outerloop ; always branches
|
||||
@exit rts
|
Loading…
Reference in New Issue
Block a user