1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2025-02-13 00:31:21 +00:00

Prep for DCGR sprite editor

This commit is contained in:
David Schmenk 2024-10-25 13:48:01 -07:00
parent 75fad76b85
commit 2fa5207496
4 changed files with 53 additions and 8 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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