mirror of
https://github.com/dschmenk/PLASMA.git
synced 2025-04-11 15:39:14 +00:00
Add DHGR pixel plotting (560x192)
This commit is contained in:
parent
94d47f031a
commit
6593a32253
Binary file not shown.
@ -6,6 +6,8 @@ import dcgrutils
|
||||
predef dcgrBoldStr(clr, x, y, strptr)#0
|
||||
predef dcgrFont(font)#0
|
||||
predef dcgrRect(x, y, w, h)#0
|
||||
predef dhgrSet(dhx, y)#0
|
||||
predef dhgrUnset(dhx, y)#0
|
||||
predef spriteRead(filestr)#5
|
||||
predef spriteWrite(filestr, xorg, yorg, width, height, sprptr)#1
|
||||
predef screenRead(filestr)#1
|
||||
|
@ -5,6 +5,11 @@ include "inc/dcgrlib.plh"
|
||||
const page1m = $C054
|
||||
const page1x = $C055
|
||||
//
|
||||
// Color -> DHGR pixel
|
||||
//
|
||||
byte[] dhgrPix = 2, 4, 8, 1
|
||||
byte[] dhgrMask = 13, 12, 7, 14
|
||||
//
|
||||
// Apple //e hires character font
|
||||
//
|
||||
byte fontWide[]
|
||||
@ -97,9 +102,6 @@ export def dcgrFont(font)#0
|
||||
pThin = fontThin
|
||||
pWide = @fontWide
|
||||
for rows = 0 to 96*8
|
||||
//bits = (^pWide | ^pWide >> 1) & $02
|
||||
//bits = bits | (^pWide >> 1 | ^pWide >> 2) & $04
|
||||
//bits = bits | (^pWide >> 2 | ^pWide >> 3) & $08
|
||||
bits = (^pWide ) & $02
|
||||
bits = bits | (^pWide | ^pWide >> 1 | ^pWide >> 2) & $04
|
||||
bits = bits | ( ^pWide >> 2) & $08
|
||||
@ -124,6 +126,16 @@ export def dcgrRect(x, y, w, h)#0
|
||||
dcgrHLin(x, x2, v)
|
||||
next
|
||||
end
|
||||
export def dhgrSet(dhx, y)#0
|
||||
dcgrColor(dhgrPix[dhx & $03])
|
||||
dcgrOp(OP_OR)
|
||||
dcgrPlot(dhx >> 2, y)
|
||||
end
|
||||
export def dhgrUnset(dhx, y)#0
|
||||
dcgrColor(dhgrMask[dhx & $03])
|
||||
dcgrOp(OP_AND)
|
||||
dcgrPlot(dhx >> 2, y)
|
||||
end
|
||||
export def spriteRead(filestr)#5
|
||||
var sprptr, sprsize, xorg, yorg
|
||||
byte refnum, width, height
|
||||
|
@ -138,6 +138,7 @@ def readEnterprise#0
|
||||
t_ptr=>spr_pixmap = pixptr
|
||||
t_ptr=>spr_bl7 = heapalloc(ENT_SZ)
|
||||
dcgrSurfMem(OP_SRC, ENT_H, t_ptr=>spr_bl7, ENT_W7*4)
|
||||
dcgrColor(CLR_BLACK)
|
||||
dcgrClearBl7(0, 0, ENT_W7, ENT_H)
|
||||
dcgrPixmap(ENT_W7*7/2 - xorg, ENT_H/2 - yorg, width, height, pixptr)
|
||||
t_ptr = t_ptr + t_sprite
|
||||
@ -150,6 +151,22 @@ end
|
||||
// Test Harness //
|
||||
// //
|
||||
////////////////////////////////////////////////////////////////
|
||||
def dhgrTest#0
|
||||
word i
|
||||
|
||||
//
|
||||
// Double Hires Lines
|
||||
//
|
||||
dcgrSurfScr(OP_OR)
|
||||
setlineplot(@dhgrSet)
|
||||
for i = 0 to 191 step 4
|
||||
line(0, 0, 559, i)
|
||||
next
|
||||
for i = 559 downto 0 step 7
|
||||
line(0, 0, i, 191)
|
||||
next
|
||||
getc
|
||||
end
|
||||
def dcgrTest#0
|
||||
word i, j, k, oi, oj, i7, im7, k7, km7, s7w, inci, incj, inck
|
||||
word backblk, backspan
|
||||
@ -422,6 +439,7 @@ def dcgrTest#0
|
||||
getc
|
||||
end
|
||||
dcgrMode(0)
|
||||
dhgrTest
|
||||
screenRead("monarch")
|
||||
readEnterprise
|
||||
dcgrCompSprite(2)
|
||||
|
Loading…
x
Reference in New Issue
Block a user