Optimize plot and point

This commit is contained in:
Piotr Fusik
2022-07-13 17:58:04 +02:00
parent 93b16bd55a
commit af797029f9
+17 -24
View File
@@ -1268,28 +1268,24 @@ CheckX02
bcs EndOfPlot ;nearest RTS bcs EndOfPlot ;nearest RTS
MakePlot MakePlot
; let's calculate coordinates from xdraw and ydraw ; let's calculate coordinates from xdraw and ydraw
mwa xdraw xbyte
lda xbyte
and #$7
sta ybit
;xbyte = xbyte/8 ;xbyte = xbyte/8
lda xbyte lda xdraw+1
lsr xbyte+1 lsr
lda xdraw
ror ;just one bit over 256. Max screenwidth = 512!!! ror ;just one bit over 256. Max screenwidth = 512!!!
lsr lsr
lsr lsr
tay ;save sta xbyte
;--- ;---
ldx ydraw ldx ydraw
lda linetableL,x ldy linetableL,x
sta xbyte
lda linetableH,x lda linetableH,x
sta xbyte+1 sta xbyte+1
ldx ybit lda xdraw
and #$7
tax
lda color lda color
bne ClearPlot bne ClearPlot
@@ -1312,31 +1308,28 @@ ClearPlot
; result is in A (zero or appropriate bit is set) ; result is in A (zero or appropriate bit is set)
; let's calculate coordinates from xdraw and ydraw ; let's calculate coordinates from xdraw and ydraw
mwa xdraw xbyte
lda xbyte
and #$7
sta ybit
;xbyte = xbyte/8 ;xbyte = xbyte/8
lda xbyte lda xdraw+1
lsr xbyte+1 lsr
lda xdraw
ror ;just one bit over 256. Max screenwidht = 512!!! ror ;just one bit over 256. Max screenwidht = 512!!!
lsr lsr
lsr lsr
tay ;save sta xbyte
;--- ;---
ldx ydraw ldx ydraw
lda linetableL,x ldy linetableL,x
sta xbyte
lda linetableH,x lda linetableH,x
sta xbyte+1 sta xbyte+1
ldx ybit lda xdraw
and #$7
tax
lda (xbyte),y lda (xbyte),y
eor #$ff
and bittable,x and bittable,x
eor bittable,x
rts rts
.endp .endp