mirror of
https://github.com/bobbimanners/Applecorn.git
synced 2025-01-05 19:29:37 +00:00
No longer updates 'shadow' text screen in VDU5 mode
This commit is contained in:
parent
a4d9e389d3
commit
168a18ad6d
BIN
applecorn.po
BIN
applecorn.po
Binary file not shown.
@ -224,5 +224,5 @@ BYTE00 BEQ BYTE00A ; OSBYTE 0,0 - generate error
|
|||||||
RTS ; %000x1xxx host type, 'A'pple
|
RTS ; %000x1xxx host type, 'A'pple
|
||||||
BYTE00A BRK
|
BYTE00A BRK
|
||||||
DB $F7
|
DB $F7
|
||||||
HELLO ASC 'Applecorn MOS 2022-01-14'
|
HELLO ASC 'Applecorn MOS 2022-01-15'
|
||||||
DB $00 ; Unify MOS messages
|
DB $00 ; Unify MOS messages
|
||||||
|
95
auxmem.vdu.s
95
auxmem.vdu.s
@ -316,7 +316,13 @@ VDU127 JSR VDU08 ; Move cursor back
|
|||||||
|
|
||||||
* Display character at current (TEXTX,TEXTY)
|
* Display character at current (TEXTX,TEXTY)
|
||||||
PRCHRC PHA ; Save character
|
PRCHRC PHA ; Save character
|
||||||
BIT ESCFLAG
|
|
||||||
|
LDA VDUSTATUS
|
||||||
|
AND #$20 ; Bit 5 VDU5 mode
|
||||||
|
BEQ :S1
|
||||||
|
JMP PRCHR7 ; Jump over text mode stuff
|
||||||
|
|
||||||
|
:S1 BIT ESCFLAG
|
||||||
BMI :RESUME
|
BMI :RESUME
|
||||||
JSR ESCPOLL
|
JSR ESCPOLL
|
||||||
BCS :RESUME
|
BCS :RESUME
|
||||||
@ -532,106 +538,107 @@ CHARADDROK STA VDUBANK
|
|||||||
* Move text cursor position
|
* Move text cursor position
|
||||||
***************************
|
***************************
|
||||||
* Move cursor left
|
* Move cursor left
|
||||||
VDU08 LDA VDUTEXTX ; COL
|
VDU08 LDA VDUSTATUS
|
||||||
|
AND #$20 ; Bit 5 -> VDU5 mode
|
||||||
|
BEQ VDU08VDU4 ; VDU5 not in effect
|
||||||
|
BIT VDUSCREEN
|
||||||
|
BVC VDU08DONE ; VDU5 but not SHR
|
||||||
|
>>> XF2MAIN,SHRVDU08
|
||||||
|
VDU08VDU4 LDA VDUTEXTX ; COL
|
||||||
CMP TXTWINLFT
|
CMP TXTWINLFT
|
||||||
BEQ :S1
|
BEQ :S1
|
||||||
DEC VDUTEXTX ; COL
|
DEC VDUTEXTX ; COL
|
||||||
BRA :S3
|
BRA VDU08DONE
|
||||||
:S1 LDA VDUTEXTY ; ROW
|
:S1 LDA VDUTEXTY ; ROW
|
||||||
CMP TXTWINTOP
|
CMP TXTWINTOP
|
||||||
BEQ :S3
|
BEQ VDU08DONE
|
||||||
DEC VDUTEXTY ; ROW
|
DEC VDUTEXTY ; ROW
|
||||||
LDA TXTWINRGT
|
LDA TXTWINRGT
|
||||||
STA VDUTEXTX ; COL
|
STA VDUTEXTX ; COL
|
||||||
:S3 LDA VDUSTATUS
|
|
||||||
AND #$20 ; Bit 5 -> VDU5 mode
|
|
||||||
BEQ VDU08DONE
|
|
||||||
BIT VDUSCREEN
|
|
||||||
BVC VDU08DONE ; Not SHR, skip
|
|
||||||
>>> XF2MAIN,SHRVDU08
|
|
||||||
VDU08RET >>> ENTAUX
|
|
||||||
VDU08DONE RTS
|
VDU08DONE RTS
|
||||||
|
VDU08RET >>> ENTAUX ; SHRVDU08 returns here
|
||||||
|
RTS
|
||||||
|
|
||||||
* Move cursor right
|
* Move cursor right
|
||||||
VDU09 LDA VDUSTATUS
|
VDU09 LDA VDUSTATUS
|
||||||
AND #$20 ; Bit 5 VDU 5 mode
|
AND #$20 ; Bit 5 VDU 5 mode
|
||||||
BEQ VDU09SKIP
|
BEQ VDU09VDU4 ; VDU5 not in effect
|
||||||
BIT VDUSCREEN
|
BIT VDUSCREEN
|
||||||
BVC VDU09SKIP ; Not SHR, skip
|
BVC VDU09DONE ; VDU5 but not SHR
|
||||||
>>> XF2MAIN,SHRVDU09
|
>>> XF2MAIN,SHRVDU09
|
||||||
VDU09RET >>> ENTAUX
|
VDU09VDU4 LDA VDUTEXTX ; COL
|
||||||
VDU09SKIP LDA VDUTEXTX ; COL
|
|
||||||
CMP TXTWINRGT
|
CMP TXTWINRGT
|
||||||
BCC :S2
|
BCC VDU09RGHT
|
||||||
LDA TXTWINLFT
|
LDA TXTWINLFT
|
||||||
STA VDUTEXTX ; COL
|
STA VDUTEXTX ; COL
|
||||||
LDA VDUTEXTY ; ROW
|
LDA VDUTEXTY ; ROW
|
||||||
CMP TXTWINBOT
|
CMP TXTWINBOT
|
||||||
BEQ SCROLL
|
BEQ SCROLL
|
||||||
INC VDUTEXTY ; ROW
|
INC VDUTEXTY ; ROW
|
||||||
:DONE RTS
|
VDU09DONE RTS
|
||||||
:S2 INC VDUTEXTX ; COL
|
VDU09RGHT INC VDUTEXTX ; COL
|
||||||
BRA :DONE
|
BRA VDU09DONE
|
||||||
SCROLL LDA VDUSTATUS
|
SCROLL JSR SCROLLER
|
||||||
AND #$20 ; Bit 5 VDU5 mode
|
|
||||||
BEQ :S3
|
|
||||||
RTS ; No scroll in VDU5
|
|
||||||
:S3 JSR SCROLLER
|
|
||||||
LDA TXTWINLFT
|
LDA TXTWINLFT
|
||||||
STA VDUTEXTX
|
STA VDUTEXTX
|
||||||
JSR CLREOL
|
JSR CLREOL
|
||||||
RTS
|
RTS
|
||||||
|
VDU09RET >>> ENTAUX ; SHRVDU09 returns here
|
||||||
|
RTS
|
||||||
|
|
||||||
* Move cursor down
|
* Move cursor down
|
||||||
VDU10 LDA VDUSTATUS
|
VDU10 LDA VDUSTATUS
|
||||||
AND #$20 ; Bit 5 -> VDU5 mode
|
AND #$20 ; Bit 5 -> VDU5 mode
|
||||||
BEQ VDU10SKIP
|
BEQ VDU10VDU4 ; VDU5 not in effect
|
||||||
BIT VDUSCREEN
|
BIT VDUSCREEN
|
||||||
BVC VDU10SKIP ; Not SHR, skip
|
BVC VDU10DONE ; VDU5 but not SHR
|
||||||
>>> XF2MAIN,SHRVDU10
|
>>> XF2MAIN,SHRVDU10
|
||||||
VDU10RET >>> ENTAUX
|
VDU10VDU4 LDA VDUTEXTY ; ROW
|
||||||
VDU10SKIP LDA VDUTEXTY ; ROW
|
|
||||||
CMP TXTWINBOT
|
CMP TXTWINBOT
|
||||||
BEQ VDU10SCRL
|
BEQ VDU10SCRL
|
||||||
INC VDUTEXTY ; ROW
|
INC VDUTEXTY ; ROW
|
||||||
VDU10DONE RTS
|
VDU10DONE RTS
|
||||||
VDU10SCRL JMP SCROLL
|
VDU10SCRL JMP SCROLL
|
||||||
|
VDU10RET >>> ENTAUX ; SHRVDU10 returns here
|
||||||
|
RTS
|
||||||
|
|
||||||
* Move cursor up
|
* Move cursor up
|
||||||
VDU11 LDA VDUSTATUS
|
VDU11 LDA VDUSTATUS
|
||||||
AND #$20 ; Bit 5 -> VDU5 mode
|
AND #$20 ; Bit 5 -> VDU5 mode
|
||||||
BEQ VDU11SKIP
|
BEQ VDU11VDU4 ; VDU5 not in effect
|
||||||
BIT VDUSCREEN
|
BIT VDUSCREEN
|
||||||
BVC VDU11SKIP ; Not SHR, skip
|
BVC VDU11DONE ; VDU5 but not SHR
|
||||||
>>> XF2MAIN,SHRVDU11
|
>>> XF2MAIN,SHRVDU11
|
||||||
VDU11RET >>> ENTAUX
|
VDU11VDU4 LDA VDUTEXTY ; ROW
|
||||||
VDU11SKIP LDA VDUTEXTY ; ROW
|
|
||||||
CMP TXTWINTOP
|
CMP TXTWINTOP
|
||||||
BNE :S1
|
BNE VDU11UP
|
||||||
LDA VDUTEXTX ; COL
|
LDA VDUTEXTX ; COL
|
||||||
CMP TXTWINLFT
|
CMP TXTWINLFT
|
||||||
BNE :DONE
|
BNE VDU11DONE
|
||||||
JSR RSCROLLER
|
JSR RSCROLLER
|
||||||
LDA TXTWINLFT
|
LDA TXTWINLFT
|
||||||
STA VDUTEXTX
|
STA VDUTEXTX
|
||||||
JSR CLREOL
|
JSR CLREOL
|
||||||
RTS
|
RTS
|
||||||
:S1 DEC VDUTEXTY ; ROW
|
VDU11UP DEC VDUTEXTY ; ROW
|
||||||
:DONE RTS
|
VDU11DONE RTS
|
||||||
|
VDU11RET >>> ENTAUX ; SHRVDU11 returns here
|
||||||
|
RTS
|
||||||
|
|
||||||
* Move to start of line
|
* Move to start of line
|
||||||
VDU13 LDA #$BF
|
VDU13 LDA VDUSTATUS
|
||||||
|
AND #$20 ; Bit 5 -> VDU5 mode
|
||||||
|
BEQ VDU13VDU4 ; VDU5 not in effect
|
||||||
|
BIT VDUSCREEN
|
||||||
|
BVC VDU13DONE ; VDU5 but not SHR
|
||||||
|
>>> XF2MAIN,SHRVDU13
|
||||||
|
VDU13VDU4 LDA #$BF
|
||||||
JSR CLRSTATUS ; Turn copy cursor off
|
JSR CLRSTATUS ; Turn copy cursor off
|
||||||
LDA TXTWINLFT
|
LDA TXTWINLFT
|
||||||
STA VDUTEXTX ; COL
|
STA VDUTEXTX ; COL
|
||||||
LDA VDUSTATUS
|
|
||||||
AND #$20 ; Bit 5 -> VDU5 mode
|
|
||||||
BEQ VDU13DONE
|
|
||||||
BIT VDUSCREEN
|
|
||||||
BVC VDU13DONE ; Not SHR, skip
|
|
||||||
>>> XF2MAIN,SHRVDU13
|
|
||||||
VDU13RET >>> ENTAUX
|
|
||||||
VDU13DONE RTS
|
VDU13DONE RTS
|
||||||
|
VDU13RET >>> ENTAUX ; SHRVDU13 returns here
|
||||||
|
RTS
|
||||||
|
|
||||||
* Move to (0,0)
|
* Move to (0,0)
|
||||||
VDU30 LDA TXTWINTOP
|
VDU30 LDA TXTWINTOP
|
||||||
|
Loading…
Reference in New Issue
Block a user