1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2026-04-26 12:19:18 +00:00

Check for 128K //e or //c

This commit is contained in:
David Schmenk
2016-07-09 17:06:15 -07:00
parent adfd9a18dc
commit a825d73d1f
2 changed files with 15 additions and 57 deletions
+9 -56
View File
@@ -1,5 +1,5 @@
import cmdsys
predef memset, memcpy, heapmark, heapalloc, heaprelease, call
predef puts, memset, memcpy, heapmark, heapalloc, heaprelease, call
byte MACHID
//
// System flags: memory allocator screen holes.
@@ -44,7 +44,7 @@ word = $0450,$04D0,$0550,$05D0,$0650,$06D0,$0750,$07D0
word[] dgr2rows = $0800,$0880,$0900,$0980,$0A00,$0A80,$0B00,$0B80
word = $0828,$08A8,$0928,$09A8,$0A28,$0AA8,$0B28,$0BA8
word = $0850,$08D0,$0950,$09D0,$0A50,$0AD0,$0B50,$0BD0
word[] dgrbuff = @dgr1rows, @dgr2rows
export word[] dgrbuff = @dgr1rows, @dgr2rows
//
// Color mapping.
//
@@ -53,20 +53,6 @@ byte[] = $44,$CC,$55,$DD,$66,$EE,$77,$FF
byte[] oddclr = $00,$11,$22,$33,$44,$00,$66,$77
byte[] = $88,$99,$AA,$BB,$CC,$DD,$EE,$FF
byte[] sprite1 = $0,$0,$5,$5,$5,$5,$0,$0
byte[] = $0,$5,$A,$A,$A,$A,$5,$0
byte[] = $5,$A,$F,$F,$F,$F,$A,$5
byte[] = $5,$A,$F,$0,$0,$F,$A,$5
byte[] = $5,$A,$F,$0,$0,$F,$A,$5
byte[] = $5,$A,$F,$F,$F,$F,$A,$5
byte[] = $0,$5,$A,$A,$A,$A,$5,$0
byte[] = $0,$0,$5,$5,$5,$5,$0,$0
byte[] tile1 = $88,$11,$88,$11,$88,$11,$AA,$00
byte[] = $88,$11,$88,$11,$88,$11,$AA,$00
byte[] = $88,$11,$88,$11,$88,$11,$AA,$00
byte[] = $0A,$05,$0A,$05,$0A,$05,$0A,$00
asm dgrInc(buff)
!SOURCE "vmsrc/plvmzp.inc"
GBASL = $26
@@ -668,48 +654,16 @@ export def dgrClear(buff, clr)
return dgrFill(buff, 0, 0, @clrtile)
end
//
// Test routine
// Make sure we are a 128K //e or //c
//
def dgrTest
byte b, l, k
word i, j, ii, ij
b = dgrMode
for k = 15 downto 0
dgrClear(dgrbuff[0], k)
next
for l = 0 to 79
dgrColor(l)
dgrLine(dgrbuff[0], 0, 0, l, 47)
next
for l = 47 downto 0
dgrColor(l)
dgrLine(dgrbuff[0], 0, 0, 79, l)
next
ii = 2
ij = -1
i = 40
j = 10
if MACHID & $F0 <> $B0
puts("\n128K REQUIRED FOR DOUBLE LO-RES.")
^$C010
while ^$C000 < 128
dgrFill(dgrbuff[b], k, k, @tile1)
dgrBLT(dgrbuff[b], i, j, 8, 8, @sprite1)
b = dgrShow(b)
k++
i = i + ii
if i < -3 or i > 75
ii = -ii
fin
j = j + ij
if j < -3 or j > 43
ij = -ij
fin
loop
^$C010
txtMode
end
while ^$C000 < 128; loop
fin
//
// Assembly fixups
//
_dgrPlotPix:1 = @_dgrSetPix
_dgrHLinPix:1 = @_dgrSetPix
_dgrVLinPix:1 = @_dgrSetPix
@@ -722,5 +676,4 @@ _dgrSetOddEvn:1 = @evnclr
_dgrSetOddOdd:1 = @oddclr
// Put read AUX mem routine in scary location
memcpy($0100, @auxRead, 9)
dgrTest
done