diff --git a/images/apple/MAZERUNR.po b/images/apple/MAZERUNR.po index 3fb6ac8..0f9c2e3 100644 Binary files a/images/apple/MAZERUNR.po and b/images/apple/MAZERUNR.po differ diff --git a/images/apple/PLEIADES-2.20.po b/images/apple/PLEIADES-2.20.po index 7080a5f..605bc70 100644 Binary files a/images/apple/PLEIADES-2.20.po and b/images/apple/PLEIADES-2.20.po differ diff --git a/src/mkrel b/src/mkrel index 7b4446f..9fd2c5c 100755 --- a/src/mkrel +++ b/src/mkrel @@ -114,15 +114,19 @@ cp rel/apple/TILETEST#FE1000 prodos/demos/apple2/TILETEST.REL cp rel/apple/HGRTEST#FE1000 prodos/demos/apple2/HGRTEST.REL cp rel/apple/GRTEST#FE1000 prodos/demos/apple2/GRTEST.REL cp rel/apple/DGRTEST#FE1000 prodos/demos/apple2/DGRTEST.REL -cp rel/apple/MAZE#FE1000 prodos/demos/apple2/MAZE.REL -cp samplesrc/MAZE.SPLASH.BIN prodos/demos/apple2 -cp samplesrc/MAZE.SEQ.BIN prodos/demos/apple2 -cp samplesrc/MAZE.PCM.BIN prodos/demos/apple2 mkdir prodos/demos/apple2/spiders cp rel/apple/SFM#FE1000 prodos/demos/apple2/spiders/SFM.REL cp rel/apple/SFMSPRT#FE1000 prodos/demos/apple2/spiders/SFMSPRT.REL +mkdir prodos/demos/apple2/maze +cp rel/apple/MAZE#FE1000 prodos/demos/apple2/maze/MAZE.REL +cp samplesrc/MAZE.SPLASH.LZ4.BIN prodos/demos/apple2/maze +cp samplesrc/MAZE.WIN.LZ4.BIN prodos/demos/apple2/maze +cp samplesrc/MAZE.LOSE.LZ4.BIN prodos/demos/apple2/maze +cp samplesrc/MAZE.SEQ.BIN prodos/demos/apple2/maze +cp samplesrc/MAZE.PCM.BIN prodos/demos/apple2/maze + mkdir prodos/demos/apple2/sdutils cp rel/apple/SPIPORT#FE1000 prodos/demos/apple2/sdutils/SPIPORT.REL cp rel/apple/SDFAT#FE1000 prodos/demos/apple2/sdutils/SDFAT.REL diff --git a/src/samplesrc/MAZE.LOSE.BIN b/src/samplesrc/MAZE.LOSE.BIN new file mode 100644 index 0000000..eea45b6 Binary files /dev/null and b/src/samplesrc/MAZE.LOSE.BIN differ diff --git a/src/samplesrc/MAZE.LOSE.LZ4.BIN b/src/samplesrc/MAZE.LOSE.LZ4.BIN new file mode 100644 index 0000000..2e81599 Binary files /dev/null and b/src/samplesrc/MAZE.LOSE.LZ4.BIN differ diff --git a/src/samplesrc/MAZE.WIN.BIN b/src/samplesrc/MAZE.WIN.BIN new file mode 100644 index 0000000..b360d18 Binary files /dev/null and b/src/samplesrc/MAZE.WIN.BIN differ diff --git a/src/samplesrc/MAZE.WIN.LZ4.BIN b/src/samplesrc/MAZE.WIN.LZ4.BIN new file mode 100644 index 0000000..1812dfd Binary files /dev/null and b/src/samplesrc/MAZE.WIN.LZ4.BIN differ diff --git a/src/samplesrc/maze.pla b/src/samplesrc/maze.pla index 5766fb9..bc93907 100644 --- a/src/samplesrc/maze.pla +++ b/src/samplesrc/maze.pla @@ -6,6 +6,8 @@ include "inc/int32.plh" include "inc/hgrlib.plh" include "inc/hgrtile.plh" include "inc/sndseq.plh" +include "inc/lz4.plh" + sysflags reshgr1 // Reserve HGR page 1 const rndnum = $4E // ZP location of RND @@ -423,6 +425,7 @@ def mazePlay fin break is 'Q' + is keyescape tonePlay(96, 8)#0 tonePlay(128, 16)#0 return FALSE @@ -466,9 +469,7 @@ if ^arg else conio:textmode(40) hgrMode(hgrPage1) - ref = fileio:open("MAZE.SPLASH") - fileio:read(ref, $2000, $2000) - fileio:close(ref) + lz4Read("MAZE.SPLASH.LZ4", $2000, $4000, heapmark, heapmark + heapavail - 256) ref = fileio:open("MAZE.PCM") pcmlen = fileio:read(ref, heapmark, heapavail) fileio:close(ref) @@ -496,32 +497,32 @@ else loop getc fin +conio:textmode(40) +conio:viewport(0, 20, 40, 4) +hgrMode(hgrPage1) +hgrDrawBuf(hgrPage1) +tileDrawBuf(hgrPage1) repeat - moveCnt = 0 seed = *rndnum - conio:textmode(40) - hgrMode(hgrPage1) - hgrDrawBuf(hgrPage1) - tileDrawBuf(hgrPage1) + moveCnt = 0 + ^$C052 // Switch to all graphics/text mazeInit tileFromText(0, @mazeTileSet) mazeGen solved = mazePlay store32(@tics) - hgrMode(hgrOff) - if solved - puts("Solved!\n") - fin + conio:clear(cls) + ^$C053 // Switch to mixed graphics/text + lz4Read(solved ?? "MAZE.WIN.LZ4" :: "MAZE.LOSE.LZ4", $2000, $4000, heapmark, heapmark + heapavail - 256) + if conio:keypressed(); getc; fin puts("Seed = "); puti(seed); putln puts("Moves = "); puti(moveCnt); putln puts("Timer = "); puti32(@tics) load32(@tics); divi16(1085); store32(@tics) puts(" ("); puti32(@tics); puts(" secs)\n") - for moveCnt = 0 to 1000 - if conio:keypressed(); getc; fin - next puts("Play again? (Y/N):") until toupper(conio:getkey()) <> 'Y' +hgrMode(hgrOff) conio:textmode(0) done