2021-09-22 03:02:01 +00:00
|
|
|
* AUXMEM.GFX.S
|
|
|
|
* (c) Bobbi 2021 GPLv3
|
|
|
|
*
|
|
|
|
* Graphics operations
|
|
|
|
|
|
|
|
* Convert high-resolution screen coordinates
|
|
|
|
* from 1280x1024 to 280x192
|
|
|
|
CVTCOORD
|
|
|
|
* X-coordinate in VDUQ+5,+6 1280*7/32=280
|
|
|
|
LDA VDUQ+6 ; MSB of X-coord
|
|
|
|
CMP #$05 ; $500 is 1280
|
|
|
|
BCS :BIGX ; Value >=1280
|
|
|
|
STA ZP1+1 ; X-coord -> ZP1 and ZP2
|
|
|
|
STA ZP2+1
|
|
|
|
LDA VDUQ+5
|
|
|
|
STA ZP1+0
|
|
|
|
ASL A ; ZP2 *= 8
|
|
|
|
ROL ZP2+1
|
|
|
|
ASL A
|
|
|
|
ROL ZP2+1
|
|
|
|
ASL A
|
|
|
|
ROL ZP2+1
|
|
|
|
SEC ; ZP2-ZP1->ZP2
|
|
|
|
SBC ZP1+0
|
|
|
|
STA ZP2+0
|
|
|
|
LDA ZP2+1
|
|
|
|
SBC ZP1+1
|
|
|
|
LSR A ; ZP2 /= 32
|
|
|
|
ROR ZP2+0
|
|
|
|
LSR A
|
|
|
|
ROR ZP2+0
|
|
|
|
LSR A
|
|
|
|
ROR ZP2+0
|
|
|
|
LSR A
|
|
|
|
ROR ZP2+0
|
|
|
|
LSR A
|
|
|
|
ROR ZP2+0
|
|
|
|
STA VDUQ+6 ; ZP2 -> X-coord
|
|
|
|
LDA ZP2+0
|
|
|
|
STA VDUQ+5
|
|
|
|
|
|
|
|
* Y-coordinate in VDUQ+7,+8 1024*3/16=192
|
|
|
|
:YCOORD LDA VDUQ+8 ; MSB of Y-coord
|
|
|
|
AND #$FC
|
|
|
|
BNE :BIGY ; Y>1023
|
|
|
|
LDA VDUQ+8 ; Y-coord -> ZP1
|
|
|
|
STA ZP1+1
|
|
|
|
STA ZP2+1
|
|
|
|
LDA VDUQ+7
|
|
|
|
STA ZP1+0
|
|
|
|
ASL A ; ZP2 *= 2
|
|
|
|
ROL ZP2+1
|
|
|
|
CLC ; ZP2+ZP1->ZP2
|
|
|
|
ADC ZP1+0
|
|
|
|
STA ZP2+0
|
|
|
|
LDA ZP2+1
|
|
|
|
ADC ZP1+1
|
|
|
|
LSR A ; ZP2 /= 16
|
|
|
|
ROR ZP2+0
|
|
|
|
LSR A
|
|
|
|
ROR ZP2+0
|
|
|
|
LSR A
|
|
|
|
ROR ZP2+0
|
|
|
|
LSR A
|
|
|
|
ROR ZP2+0
|
|
|
|
STZ VDUQ+8 ; MSB always zero
|
|
|
|
SEC
|
|
|
|
LDA #191 ; 191 - ZP2 -> Y-coord
|
|
|
|
SBC ZP2+0
|
|
|
|
STA VDUQ+7
|
|
|
|
RTS
|
|
|
|
:BIGY STZ VDUQ+7 ; Y too large, row zero
|
|
|
|
STZ VDUQ+8
|
|
|
|
RTS
|
|
|
|
:BIGX LDA #$17 ; X too large, use 279
|
|
|
|
STA VDUQ+5
|
|
|
|
LDA #$01
|
|
|
|
STA VDUQ+6
|
|
|
|
BRA :YCOORD
|
|
|
|
|
|
|
|
* Add coordinates to XPIXEL, YPIXEL
|
|
|
|
RELCOORD CLC
|
|
|
|
LDA XPIXEL+0
|
|
|
|
ADC VDUQ+5
|
|
|
|
STA VDUQ+5
|
|
|
|
LDA XPIXEL+1
|
|
|
|
ADC VDUQ+6
|
|
|
|
STA VDUQ+6
|
|
|
|
CLC
|
|
|
|
LDA YPIXEL
|
|
|
|
ADC VDUQ+7
|
|
|
|
STA VDUQ+7
|
|
|
|
RTS
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-09-22 22:36:05 +00:00
|
|
|
|
|
|
|
|
2021-09-23 16:59:36 +00:00
|
|
|
|
|
|
|
|