From 2fa52074961c8765fa0bfb5b023150c7d8f20ebc Mon Sep 17 00:00:00 2001 From: David Schmenk Date: Fri, 25 Oct 2024 13:48:01 -0700 Subject: [PATCH] Prep for DCGR sprite editor --- src/makefile | 7 ++++++- src/mkrel | 1 + src/samplesrc/dcgrspred.pla | 31 +++++++++++++++++++++++++++++++ src/samplesrc/dcgrtest.pla | 22 +++++++++++++++------- 4 files changed, 53 insertions(+), 8 deletions(-) create mode 100644 src/samplesrc/dcgrspred.pla diff --git a/src/makefile b/src/makefile index 0b13f09..e8b2617 100755 --- a/src/makefile +++ b/src/makefile @@ -83,6 +83,7 @@ HGRTEST = rel/apple/HGRTEST\#FE1000 GRTEST = rel/apple/GRTEST\#FE1000 DGRTEST = rel/apple/DGRTEST\#FE1000 DCGRTEST = rel/apple/DCGRTEST\#FE1000 +DCGRSPRED = rel/apple/DCGRSPRED\#FE1000 MEMMGR = rel/MEMMGR\#FE1000 MEMTEST = rel/MEMTEST\#FE1000 FIBERTEST = rel/FIBERTEST\#FE1000 @@ -119,7 +120,7 @@ TXTTYPE = .TXT #SYSTYPE = \#FF2000 #TXTTYPE = \#040000 -apple: $(PLVMZP_APL) $(PLASM) $(PLVM) $(PLVM01) $(PLVM02) $(PLVMJIT) $(PLVM802) $(PLVM03) $(PLVMJIT03) $(CMD) $(CMDJIT) $(JIT) $(JIT16) $(JITUNE) $(SOSCMD) $(SOSCMDJIT) $(PLASMAPLASM) $(CODEOPT) $(PLFORTH) $(HRFORTH) $(HR2FORTH) $(TX2FORTH) $(SEXPR) $(SMATH) $(DRAWL) $(ZIPCHIP) $(MATCHFILES) $(ARGS) $(MEMMGR) $(MEMTEST) $(FIBER) $(FIBERTEST) $(LONGJMP) $(ED) $(MON) $(COPY) $(DEL) $(REN) $(CAT) $(NEWDIR) $(TYPE) $(SOS) $(ROD) $(SIEVE) $(PRIMEGAP) $(MOUSE) $(UTHERNET2) $(UTHERNET) $(ETHERIP) $(INET) $(DHCP) $(HTTPD) $(TFTPD) $(ROGUE) $(ROGUEMAP) $(ROGUECOMBAT) $(SFM) $(SFMSPRT) $(GRAFIX) $(GFXDEMO) $(LINES) $(HGRTILE) $(HGRFONT) $(HGRSPRITE) $(HGRLIB) $(TILETEST) $(HGRTEST) $(DCGRLIB) $(GRLIB) $(DGRLIB) $(GRTEST) $(DGRTEST) $(HGRTEST) $(DCGRTEST) $(FILEIO_APL) $(CONIO_APL) $(JOYBUZZ) $(PORTIO) $(SPIPORT) $(SDFAT) $(FATCAT) $(FATGET) $(FATPUT) $(FATWDSK) $(FATRDSK) $(INT32) $(INT32TEST) $(SANE) $(FPSTR) $(FPU) $(SANITY) $(LZ4) $(LZ4CAT) $(RPNCALC) $(SNDSEQ) $(PLAYSEQ) $(CONIOTEST) +apple: $(PLVMZP_APL) $(PLASM) $(PLVM) $(PLVM01) $(PLVM02) $(PLVMJIT) $(PLVM802) $(PLVM03) $(PLVMJIT03) $(CMD) $(CMDJIT) $(JIT) $(JIT16) $(JITUNE) $(SOSCMD) $(SOSCMDJIT) $(PLASMAPLASM) $(CODEOPT) $(PLFORTH) $(HRFORTH) $(HR2FORTH) $(TX2FORTH) $(SEXPR) $(SMATH) $(DRAWL) $(ZIPCHIP) $(MATCHFILES) $(ARGS) $(MEMMGR) $(MEMTEST) $(FIBER) $(FIBERTEST) $(LONGJMP) $(ED) $(MON) $(COPY) $(DEL) $(REN) $(CAT) $(NEWDIR) $(TYPE) $(SOS) $(ROD) $(SIEVE) $(PRIMEGAP) $(MOUSE) $(UTHERNET2) $(UTHERNET) $(ETHERIP) $(INET) $(DHCP) $(HTTPD) $(TFTPD) $(ROGUE) $(ROGUEMAP) $(ROGUECOMBAT) $(SFM) $(SFMSPRT) $(GRAFIX) $(GFXDEMO) $(LINES) $(HGRTILE) $(HGRFONT) $(HGRSPRITE) $(HGRLIB) $(TILETEST) $(HGRTEST) $(DCGRLIB) $(GRLIB) $(DGRLIB) $(GRTEST) $(DGRTEST) $(HGRTEST) $(DCGRTEST) $(DCGRSPRED) $(FILEIO_APL) $(CONIO_APL) $(JOYBUZZ) $(PORTIO) $(SPIPORT) $(SDFAT) $(FATCAT) $(FATGET) $(FATPUT) $(FATWDSK) $(FATRDSK) $(INT32) $(INT32TEST) $(SANE) $(FPSTR) $(FPU) $(SANITY) $(LZ4) $(LZ4CAT) $(RPNCALC) $(SNDSEQ) $(PLAYSEQ) $(CONIOTEST) -rm vmsrc/plvmzp.inc @@ -529,6 +530,10 @@ $(DCGRTEST): samplesrc/dcgrtest.pla $(DCGRLIB) $(PLASM) ./$(PLASM) -AMOW samplesrc/dcgrtest.pla acme --setpc 4094 -o $(DCGRTEST) samplesrc/dcgrtest.a +$(DCGRSPRED): samplesrc/dcgrspred.pla $(DCGRLIB) $(PLASM) + ./$(PLASM) -AMOW samplesrc/dcgrspred.pla + acme --setpc 4094 -o $(DCGRSPRED) samplesrc/dcgrspred.a + $(MON): utilsrc/apple/mon.pla $(PLASM) ./$(PLASM) -AMOW utilsrc/apple/mon.pla acme --setpc 4094 -o $(MON) utilsrc/apple/mon.a diff --git a/src/mkrel b/src/mkrel index 9f8c007..678e732 100755 --- a/src/mkrel +++ b/src/mkrel @@ -105,6 +105,7 @@ 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/DCGRTEST#FE1000 prodos/demos/apple2/DCGRTEST.REL +cp rel/apple/DCGRSPRED#FE1000 prodos/demos/apple2/DCGRSPRED.REL mkdir prodos/demos/apple2/spiders cp rel/apple/SFM#FE1000 prodos/demos/apple2/spiders/SFM.REL diff --git a/src/samplesrc/dcgrspred.pla b/src/samplesrc/dcgrspred.pla new file mode 100644 index 0000000..875e0e4 --- /dev/null +++ b/src/samplesrc/dcgrspred.pla @@ -0,0 +1,31 @@ +include "inc/cmdsys.plh" +include "inc/grlib.plh" +include "inc/dcgrlib.plh" + +sysflags restxt1|restxt2|resxtxt1|reshgr1|resxhgr1 // Reserve all the pages + +byte[] sprite1 = $80,$80,$00,$00,$00,$00,$80,$80 +byte[] = $80,$00,$0A,$0A,$0A,$0A,$00,$80 +byte[] = $00,$0A,$0F,$0F,$0F,$0F,$0A,$00 +byte[] = $00,$0A,$0F,$80,$80,$0F,$0A,$00 +byte[] = $00,$0A,$0F,$80,$80,$0F,$0A,$00 +byte[] = $00,$0A,$0F,$0F,$0F,$0F,$0A,$00 +byte[] = $80,$00,$0A,$0A,$0A,$0A,$00,$80 +byte[] = $80,$80,$00,$00,$00,$00,$80,$80 + +byte[] tile1 = $11,$11,$11,$11,$11,$11,$55,$00 +byte[] = $11,$11,$11,$11,$11,$11,$55,$00 +byte[] = $11,$11,$11,$11,$11,$11,$55,$00 +byte[] = $05,$05,$05,$05,$05,$05,$05,$00 + +def grTest#0 + grMode(grPage1) + grDrawBuf(grPage1) + grFill(0, 0, @tile1) + grBLT(10, 10, 8, 8, @sprite1) + getc + grMode(grOff) +end + +grTest +done diff --git a/src/samplesrc/dcgrtest.pla b/src/samplesrc/dcgrtest.pla index 5881f74..0c011dd 100644 --- a/src/samplesrc/dcgrtest.pla +++ b/src/samplesrc/dcgrtest.pla @@ -222,12 +222,21 @@ def dcgrCompSprite#0 for i = 0 to 6 sprite7[i], sprite7span = dcgrAllocBl7Mem(SPRW, SPRH) - sprite7msk[i], sprite7span = dcgrAllocBl7Mem(SPRW, SPRH) sprite7w = sprite7span >> 2 dcgrSurfMem(OP_SRC, SPRH, sprite7[i], sprite7span) dcgrColor(CLR_BLACK) dcgrClearBl7(0, 0, sprite7w, SPRH) dcgrPixMap(i + 2, 0, SPRW, SPRH, @sprite) + dcgrSurfScr(OP_SRC) + dcgrMemBl7(0, i * SPRH, sprite7w, SPRH, sprite7[i], sprite7span) + next +end +def dcgrCompMask#0 + byte i + + for i = 0 to 6 + sprite7msk[i], sprite7span = dcgrAllocBl7Mem(SPRW, SPRH) + sprite7w = sprite7span >> 2 dcgrSurfMem(OP_SRC, SPRH, sprite7msk[i], sprite7span) dcgrColor(CLR_WHITE) dcgrClearBl7(0, 0, sprite7w, SPRH) @@ -235,10 +244,8 @@ def dcgrCompSprite#0 dcgrOp(OP_XOR) dcgrPixMap(i + 2, 0, SPRW, SPRH, @sprite) dcgrSurfScr(OP_SRC) - dcgrMemBl7(0, i * SPRH, sprite7w, SPRH, sprite7[i], sprite7span) dcgrMemBl7(sprite7w, i * SPRH, sprite7w, SPRH, sprite7msk[i], sprite7span) next - getc end //////////////////////////////////////////////////////////////// // // @@ -279,12 +286,12 @@ def dcgrTest#0 tilestr[i + 20] = (i & $03) + 4 next dcgrSurfScr(OP_SRC) - for i = 0 to 22 step 2 - dcgrTiles(0, i, @tilestr, 20, backblk) - dcgrTiles(0, i + 1, @tilestr + 20, 20, backblk) + for i = 0 to 12 step 2 + dcgrTiles(10, i, @tilestr, 10, backblk) + dcgrTiles(10, i + 1, @tilestr + 20, 10, backblk) next j++ - if j > 6; j = 0; fin + if j == 7; j = 0; fin loop getc // @@ -470,6 +477,7 @@ def dcgrTest#0 end dcgrMode(0) dcgrCompSprite +dcgrCompMask dcgrTest dcgrMode(-1) done