diff --git a/res/attract.conf b/res/attract.conf index 636492a1d..e597334a6 100644 --- a/res/attract.conf +++ b/res/attract.conf @@ -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] \ No newline at end of file +# # 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] \ No newline at end of file diff --git a/res/hgr-transfer.dsk b/res/hgr-transfer.dsk deleted file mode 100755 index ff9be9e89..000000000 Binary files a/res/hgr-transfer.dsk and /dev/null differ diff --git a/res/ss/_FileInformation.txt b/res/ss/_FileInformation.txt index 7d7bf0aa7..db71cb21f 100644 --- a/res/ss/_FileInformation.txt +++ b/res/ss/_FileInformation.txt @@ -17,4 +17,4 @@ PQR.CONF=Type(04),AuxType(4000),Access(C3) S.CONF=Type(04),AuxType(4000),Access(C3) SIERRA.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) diff --git a/res/ss/tuvwxyz.conf b/res/ss/t.conf similarity index 65% rename from res/ss/tuvwxyz.conf rename to res/ss/t.conf index f1e0a2fed..8b219eda9 100644 --- a/res/ss/tuvwxyz.conf +++ b/res/ss/t.conf @@ -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] \ No newline at end of file +# # 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] \ No newline at end of file diff --git a/src/4cade.a b/src/4cade.a index 2ba692505..5f836ae1e 100644 --- a/src/4cade.a +++ b/src/4cade.a @@ -98,7 +98,7 @@ Main jmp Reboot AttractMode - jsr okvs_nth ; get filename of next attract module + jsr okvs_nth ; get filename of next attract-mode module !word gAttractModeStore @index !byte 0 +STAY @key @@ -153,10 +153,12 @@ AttractMode plp ; carry clear = HGR, carry set = DHGR bcs @DHGRSlideshow +;@HGRSlideshow jsr okvs_iter !word gSlideshowStore !word HGRLoad rts + @DHGRSlideshow jsr BlankDHGR jsr okvs_iter @@ -210,7 +212,7 @@ HGRLoad jsr AddToPath jsr LoadFile !word gPathname - jsr FizzleHGR + jsr SkipALineHGR;FizzleHGR; jmp WaitOnScreenshot DHGRLoad @@ -252,7 +254,7 @@ Reboot jmp $300 @start +READ_ROM_NO_WRITE - jmp $FAA6 + jmp $FF59 @end Home @@ -324,6 +326,7 @@ kAttractModeConfFile !source "src/parse.common.a" !source "src/parse.games.a" !source "src/fx.hgr.fizzle.a" + !source "src/fx.hgr.skipaline.a" !source "src/fx.dhgr.fizzle.a" gGamesListStore !word *+2 ; address of first okvs store diff --git a/src/fx.dhgr.fizzle.a b/src/fx.dhgr.fizzle.a index 23871d87a..2b4dd2261 100644 --- a/src/fx.dhgr.fizzle.a +++ b/src/fx.dhgr.fizzle.a @@ -72,14 +72,4 @@ FizzleDHGR cmp #1 bne @loop - ;graphics mode - - sta $c00d - sta $c057 - sta $c054 - sta $c052 - sta $c050 - sta $c05e - -@exit - rts +@exit rts diff --git a/src/fx.hgr.fizzle.a b/src/fx.hgr.fizzle.a index 9a44c8fc6..96557caf6 100644 --- a/src/fx.hgr.fizzle.a +++ b/src/fx.hgr.fizzle.a @@ -65,12 +65,4 @@ FizzleHGR cmp #1 bne @loop - ;graphics mode - - lda $c057 - lda $c054 - lda $c052 - lda $c050 - -@exit - rts +@exit rts diff --git a/src/fx.hgr.skipaline.a b/src/fx.hgr.skipaline.a new file mode 100644 index 000000000..8fc84bd5e --- /dev/null +++ b/src/fx.hgr.skipaline.a @@ -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