add fx.hgr.skipaline

This commit is contained in:
4am 2018-10-28 20:05:59 -04:00
parent e337795062
commit 24694f10ad
8 changed files with 81 additions and 26 deletions

View File

@ -1 +1 @@
# # Mega-Attract-Mode configuration file # # Mega-Attract-Mode is split into modules. Each module can be a # short slideshow or a self-running demo (like a game's built-in # 'attract mode'). Modules are run in the order listed here, one # after the next, until interrupted by user input. The last-run # module is tracked in the master prefs file. # # Format: # key=value # # value must be one of # 1 for HGR slideshow (key is a file containing a list of HGR graphics) # 2 for DHGR slideshow (key is a file containing a list of DHGR graphics) # 3 for self-running demo (key is an executable binary file) # # Blank lines and lines beginning with '#' are ignored (like this one!) # A line beginning with '[' terminates the parsing # SHORT.CONF=1 WAVY.NAVY=3 FAVORITES.CONF=1 AB.CONF=1 BRODERBUND.CONF=1 DHGR.CONF=2 ACTIVISION.CONF=1 CD.CONF=1 ATARI.CONF=1 EFG.CONF=1 SIERRA.CONF=1 DATAMOST.CONF=1 HIJKL.CONF=1 DATASOFT.CONF=1 MNO.CONF=1 MICROFUN.CONF=1 PQR.CONF=1 PICCADILLY.CONF=1 S.CONF=1 SIRIUS.CONF=1 TUVWYXZ.CONF=1 [eof] # # Mega-Attract-Mode configuration file # # Mega-Attract-Mode is split into modules. Each module can be a # short slideshow or a self-running demo (like a game's built-in # 'attract mode'). Modules are run in the order listed here, one # after the next, until interrupted by user input. The last-run # module is tracked in the master prefs file. # # Format: # key=value # # value must be one of # 1 for HGR slideshow (key is a file containing a list of HGR graphics) # 2 for DHGR slideshow (key is a file containing a list of DHGR graphics) # 3 for self-running demo (key is an executable binary file) # # Blank lines and lines beginning with '#' are ignored (like this one!) # A line beginning with '[' terminates the parsing # SHORT.CONF=1 WAVY.NAVY=3 FAVORITES.CONF=1 AB.CONF=1 BRODERBUND.CONF=1 DHGR.CONF=2 ACTIVISION.CONF=1 CD.CONF=1 ATARI.CONF=1 EFG.CONF=1 SIERRA.CONF=1 DATAMOST.CONF=1 HIJKL.CONF=1 DATASOFT.CONF=1 MNO.CONF=1 MICROFUN.CONF=1 PQR.CONF=1 PICCADILLY.CONF=1 S.CONF=1 SIRIUS.CONF=1 T.CONF=1 [eof]

Binary file not shown.

View File

@ -17,4 +17,4 @@ PQR.CONF=Type(04),AuxType(4000),Access(C3)
S.CONF=Type(04),AuxType(4000),Access(C3) S.CONF=Type(04),AuxType(4000),Access(C3)
SIERRA.CONF=Type(04),AuxType(4000),Access(C3) SIERRA.CONF=Type(04),AuxType(4000),Access(C3)
SIRIUS.CONF=Type(04),AuxType(4000),Access(C3) SIRIUS.CONF=Type(04),AuxType(4000),Access(C3)
TUVWXYZ.CONF=Type(04),AuxType(4000),Access(C3) T.CONF=Type(04),AuxType(4000),Access(C3)

View File

@ -1 +1 @@
# # slideshow of games that begin with "T","U","V","W","X","Y","Z" # TRACK.AND.FIELD THUNDERBOMBS TAG.TEAM VINDICATOR UP.N.DOWN WAVY.NAVY THIEF TOMAHAWK VICTORY.ROAD TUBEWAY TAPPER TETRIS [eof] # # slideshow of games that begin with "T","U","V","W","X","Y","Z" # TRACK.AND.FIELD THUNDERBOMBS TAG.TEAM VINDICATOR UP.N.DOWN WAVY.NAVY THIEF TOMAHAWK TUBEWAY TAPPER TETRIS [eof]

View File

@ -98,7 +98,7 @@ Main
jmp Reboot jmp Reboot
AttractMode AttractMode
jsr okvs_nth ; get filename of next attract module jsr okvs_nth ; get filename of next attract-mode module
!word gAttractModeStore !word gAttractModeStore
@index !byte 0 @index !byte 0
+STAY @key +STAY @key
@ -153,10 +153,12 @@ AttractMode
plp ; carry clear = HGR, carry set = DHGR plp ; carry clear = HGR, carry set = DHGR
bcs @DHGRSlideshow bcs @DHGRSlideshow
;@HGRSlideshow
jsr okvs_iter jsr okvs_iter
!word gSlideshowStore !word gSlideshowStore
!word HGRLoad !word HGRLoad
rts rts
@DHGRSlideshow @DHGRSlideshow
jsr BlankDHGR jsr BlankDHGR
jsr okvs_iter jsr okvs_iter
@ -210,7 +212,7 @@ HGRLoad
jsr AddToPath jsr AddToPath
jsr LoadFile jsr LoadFile
!word gPathname !word gPathname
jsr FizzleHGR jsr SkipALineHGR;FizzleHGR;
jmp WaitOnScreenshot jmp WaitOnScreenshot
DHGRLoad DHGRLoad
@ -252,7 +254,7 @@ Reboot
jmp $300 jmp $300
@start @start
+READ_ROM_NO_WRITE +READ_ROM_NO_WRITE
jmp $FAA6 jmp $FF59
@end @end
Home Home
@ -324,6 +326,7 @@ kAttractModeConfFile
!source "src/parse.common.a" !source "src/parse.common.a"
!source "src/parse.games.a" !source "src/parse.games.a"
!source "src/fx.hgr.fizzle.a" !source "src/fx.hgr.fizzle.a"
!source "src/fx.hgr.skipaline.a"
!source "src/fx.dhgr.fizzle.a" !source "src/fx.dhgr.fizzle.a"
gGamesListStore gGamesListStore
!word *+2 ; address of first okvs store !word *+2 ; address of first okvs store

View File

@ -72,14 +72,4 @@ FizzleDHGR
cmp #1 cmp #1
bne @loop bne @loop
;graphics mode @exit rts
sta $c00d
sta $c057
sta $c054
sta $c052
sta $c050
sta $c05e
@exit
rts

View File

@ -65,12 +65,4 @@ FizzleHGR
cmp #1 cmp #1
bne @loop bne @loop
;graphics mode @exit rts
lda $c057
lda $c054
lda $c052
lda $c050
@exit
rts

70
src/fx.hgr.skipaline.a Normal file
View File

@ -0,0 +1,70 @@
SkipALineHGR
ldy #$5F ; logical row index
@loop
lda @data1,y
sta @sub2+2
clc
adc #$20
sta @sub1+2
lda @data2,y
sta @sub1+1
sta @sub2+1
lda @data3,y
sta @sub4+2
clc
adc #$20
sta @sub3+2
lda @data4,y
sta @sub3+1
sta @sub4+1
ldx #$27 ; logical column index
@sub1 lda $FDFD,x
@sub2 sta $FDFD,x
@sub3 lda $FDFD,x
@sub4 sta $FDFD,x
dex
bpl @sub1
lda #$40
jsr @wait
lda $C000
bmi @exit
dey
bpl @loop
@exit rts
@wait sec
@wait1 pha
@wait2 sbc #1
bne @wait2
pla
bit $C000
bmi @exitwait
sbc #1
bne @wait1
@exitwait
rts
@data1 !hex 20283038202830382129313921293139
!hex 222A323A222A323A232B333B232B333B
!hex 20283038202830382129313921293139
!hex 222A323A222A323A232B333B232B333B
!hex 20283038202830382129313921293139
!hex 222A323A222A323A232B333B232B333B
@data2 !hex 00000000808080800000000080808080
!hex 00000000808080800000000080808080
!hex 28282828A8A8A8A828282828A8A8A8A8
!hex 28282828A8A8A8A828282828A8A8A8A8
!hex 50505050D0D0D0D050505050D0D0D0D0
!hex 50505050D0D0D0D050505050D0D0D0D0
@data3 !hex 3F372F273F372F273E362E263E362E26
!hex 3D352D253D352D253C342C243C342C24
!hex 3F372F273F372F273E362E263E362E26
!hex 3D352D253D352D253C342C243C342C24
!hex 3F372F273F372F273E362E263E362E26
!hex 3D352D253D352D253C342C243C342C24
@data4 !hex D0D0D0D050505050D0D0D0D050505050
!hex D0D0D0D050505050D0D0D0D050505050
!hex A8A8A8A828282828A8A8A8A828282828
!hex A8A8A8A828282828A8A8A8A828282828
!hex 80808080000000008080808000000000
!hex 80808080000000008080808000000000