diff --git a/src/libsrc/apple/hgrlib.pla b/src/libsrc/apple/hgrlib.pla index 8397da7..5ff84f7 100644 --- a/src/libsrc/apple/hgrlib.pla +++ b/src/libsrc/apple/hgrlib.pla @@ -655,17 +655,12 @@ export asm hgrHLin(x1, x2, y)#0 LDA ESTKH+1 CMP ESTKH+2 BNE + - LDA ESTKL+0 - STA ESTKL+1 - LDA ESTKH+0 - STA ESTKH+1 - INX end asm _hgrHLinA - JMP $F000 + JSR $F000 + INX + RTS + LDY ESTKL+0,X ; Y COORD - CPY #192 - BCS + end asm _hgrHLinB LDA $8000,Y ; HGRSCANL diff --git a/src/libsrc/lines.pla b/src/libsrc/lines.pla index 183d2e3..ce2f256 100644 --- a/src/libsrc/lines.pla +++ b/src/libsrc/lines.pla @@ -174,7 +174,9 @@ export def linespans(x1, y1, x2, y2)#0 fin if dx >= dy if sx < 0 - x1, x2 = x2, x1; sy = -sy + y1, y2 = y2, y1 + x1, x2 = x2, x1 + sy = -sy fin if dy == 0 hspan(x1, x2, y1)#0; return @@ -205,7 +207,9 @@ export def linespans(x1, y1, x2, y2)#0 majorline(x1, x1 + halflen, x2, y1, sy, hspan) else if sy < 0 - x1, x2 = x2, x1; sx = -sx + x1, x2 = x2, x1 + y1, y2 = y2, y1 + sx = -sx fin if dx == 0 vspan(y1, y2, x1)#0; return @@ -251,7 +255,9 @@ export def line(x1, y1, x2, y2)#0 fin if dx2 >= dy2 if sx < 0 - sy = -sy; x1, x2 = x2, x1 + x1, x2 = x2, x1 + y1, y2 = y2, y1 + sy = -sy fin err = dy2 - dx2 / 2 for x = x1 to x2 @@ -264,7 +270,9 @@ export def line(x1, y1, x2, y2)#0 next else if sy < 0 - sx = -sx; y1, y2 = y2, y1 + y1, y2 = y2, y1 + x1, x2 = x2, x1 + sx = -sx fin err = dx2 - dy2 / 2 for y = y1 to y2 diff --git a/src/samplesrc/hgrtest.pla b/src/samplesrc/hgrtest.pla index e695993..d8a9b6b 100644 --- a/src/samplesrc/hgrtest.pla +++ b/src/samplesrc/hgrtest.pla @@ -21,11 +21,11 @@ def testline#0 setlinespans(@hgrHlin, @hgrVlin) hgrColor(7) - for i = 0 to 191 step 8 - linespans(0, 0, 279, i) + for i = 0 to 191 step 16 + linespans(0, i, 279, 191 - i) next - for i = 0 to 279 step 8 - linespans(0, 0, i, 191) + for i = 0 to 279 step 14 + linespans(i, 0, 279 - i, 191) next end def testblt(sprtnum)#0 @@ -78,7 +78,15 @@ spriteAdd(4, spriteDup(sprtBall)) spriteAdd(5, spriteDup(sprtBall)) spriteAdd(6, spriteDup(sprtBall)) spriteAdd(7, spriteDup(sprtBall)) -testblt(8) +spriteAdd(8, spriteDup(sprtBall)) +spriteAdd(9, spriteDup(sprtBall)) +spriteAdd(10, spriteDup(sprtBall)) +spriteAdd(11, spriteDup(sprtBall)) +spriteAdd(12, spriteDup(sprtBall)) +spriteAdd(13, spriteDup(sprtBall)) +spriteAdd(14, spriteDup(sprtBall)) +spriteAdd(15, spriteDup(sprtBall)) +testblt(16) getc txtMode done