mirror of
https://github.com/dschmenk/PLASMA.git
synced 2025-03-27 18:35:06 +00:00
Fix divmod7 for negative numbers
This commit is contained in:
parent
322546a0b1
commit
4a4468cc22
@ -112,17 +112,15 @@ byte = $88, $8F, $FF, $F8, $88
|
||||
|
||||
export asm divmod7(x)#2
|
||||
!SOURCE "vmsrc/plvmzp.inc"
|
||||
LDA ESTKL+0,X ; X COORDL
|
||||
LDY ESTKH+0,X ; X COORDH
|
||||
BPL +
|
||||
LDA #$00
|
||||
SEC
|
||||
SBC ESTKL+0,X
|
||||
STA ESTKL+0,X
|
||||
LDA #$00
|
||||
SBC ESTKH+0,X
|
||||
TYA ; DEAL WITH NEG X COORD
|
||||
EOR #$FF
|
||||
TAY
|
||||
+ LDA ESTKL+0,X ; X COORDL
|
||||
CPY #$01
|
||||
LDA ESTKL+0,X
|
||||
EOR #$FF
|
||||
+ CPY #$01
|
||||
BEQ ++ ; MUST BE >= 140
|
||||
BCC +
|
||||
LDY #40 ; > 512 SO CLIP AT MAX
|
||||
@ -159,20 +157,21 @@ export asm divmod7(x)#2
|
||||
ASL ESTKH+1,X ; CHECK SIGN OF XCOORD
|
||||
BCS +
|
||||
STA ESTKL+0,X ; REMAINDERL
|
||||
LDA #$00
|
||||
STA ESTKH+0,X
|
||||
STY ESTKL+1,X ; QUOTIENTL
|
||||
STA ESTKH+1,X
|
||||
LDY #$00
|
||||
STY ESTKH+0,X
|
||||
STY ESTKH+1,X
|
||||
RTS
|
||||
+ EOR #$07
|
||||
SBC #$01
|
||||
STA ESTKL+0,X ; REMAINDERL
|
||||
LDA #$00
|
||||
STA ESTKH+0,X
|
||||
TYA
|
||||
EOR #$FF
|
||||
STA ESTKL+1,X ; QUOTIENTL
|
||||
LDA #$FF
|
||||
STA ESTKH+1,X
|
||||
LDY #$00
|
||||
STY ESTKH+0,X
|
||||
DEY
|
||||
STY ESTKH+1,X
|
||||
RTS
|
||||
end
|
||||
asm clipsrc(ofst, y, w, h, srcptr)#0
|
||||
|
@ -51,11 +51,11 @@ def testblt(sprtnum)#0
|
||||
while ^$C000 < 128
|
||||
for k = 0 to sprtnum
|
||||
i[k] = i[k] + ii[k]
|
||||
if i[k] < 0 or i[k] > 279
|
||||
if i[k] < -5 or i[k] > 284
|
||||
ii[k] = -ii[k]
|
||||
fin
|
||||
j[k] = j[k] + jj[k]
|
||||
if j[k] < 0 or j[k] > 191
|
||||
if j[k] < -5 or j[k] > 196
|
||||
jj[k] = -jj[k]
|
||||
fin
|
||||
spritePosIndex(i[k], j[k], k)
|
||||
|
@ -1149,6 +1149,9 @@ def cutsel#0
|
||||
next
|
||||
memcpy(@txtlinbuf=>[firstsel], @txtlinbuf=>[lastsel + 1], (numlines - lastsel + 1) * 2)
|
||||
numlines = numlines - numcliplines
|
||||
for lastsel = numlines to numlines + numcliplines
|
||||
txtlinbuf=>[lastsel] = @nullstr
|
||||
next
|
||||
cursrow = firstsel
|
||||
if cursrow >= numlines
|
||||
cursrow = numlines - 1
|
||||
|
Loading…
x
Reference in New Issue
Block a user