Fixed CLRLINE to for HGR mode.

This commit is contained in:
Bobbi Webber-Manners
2021-09-24 19:54:25 -04:00
parent 943217713b
commit b63360bd43
4 changed files with 45 additions and 9 deletions

Binary file not shown.

View File

@@ -177,7 +177,7 @@ BYTE00XX 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 2021-09-23' HELLO ASC 'Applecorn MOS 2021-09-24'
DB $00 ; Unify MOS messages DB $00 ; Unify MOS messages

View File

@@ -361,8 +361,7 @@ PRCHR6 STA (VDUADDR),Y ; Store it
:DONE PLA ; Discard character :DONE PLA ; Discard character
RTS RTS
PUTCHRET PUTCHRET >>> ENTAUX
>>> ENTAUX
RTS RTS
* Fetch character from screen at (TEXTX,TEXTY) and return MODE in Y * Fetch character from screen at (TEXTX,TEXTY) and return MODE in Y
@@ -460,7 +459,7 @@ VDU09 LDA VDUTEXTX ; COL
:S2 INC VDUTEXTX ; COL :S2 INC VDUTEXTX ; COL
BRA :DONE BRA :DONE
SCROLL JSR SCROLLER SCROLL JSR SCROLLER
JSR CLREOL JSR CLRLINE
RTS RTS
* Move cursor down * Move cursor down
@@ -587,7 +586,7 @@ VDU12 LDY VDUBYTES
* Clear the screen * Clear the screen
CLEAR STZ VDUTEXTY ; ROW CLEAR STZ VDUTEXTY ; ROW
STZ VDUTEXTX ; COL STZ VDUTEXTX ; COL
:L1 JSR CLREOL :L1 JSR CLRLINE
:S2 LDA VDUTEXTY ; ROW :S2 LDA VDUTEXTY ; ROW
CMP #23 CMP #23
BEQ :S3 BEQ :S3
@@ -599,8 +598,8 @@ CLEAR STZ VDUTEXTY ; ROW
VDU12SOFT JMP VDU16 ; *TEMP* VDU12SOFT JMP VDU16 ; *TEMP*
* Clear to EOL * Clear screen line
CLREOL LDA VDUTEXTY ; ROW CLRLINE LDA VDUTEXTY ; ROW
ASL ASL
TAX TAX
LDA SCNTAB,X ; LSB of row LDA SCNTAB,X ; LSB of row
@@ -610,8 +609,7 @@ CLREOL LDA VDUTEXTY ; ROW
LDA VDUTEXTX ; COL LDA VDUTEXTX ; COL
PHA PHA
STZ VDUTEXTX ; COL STZ VDUTEXTX ; COL
:L1 :L1 LDA VDUTEXTX ; COL
LDA VDUTEXTX ; COL
LSR LSR
TAY TAY
BCC :S1 BCC :S1
@@ -626,6 +624,22 @@ CLREOL LDA VDUTEXTY ; ROW
BRA :L1 BRA :L1
:S2 PLA :S2 PLA
STA VDUTEXTX ; COL STA VDUTEXTX ; COL
LDY VDUBYTES
DEY ; If VDUBYTE=1, text mode
BEQ :DONE
LDA VDUTEXTY
ASL
TAX
>>> WRTMAIN
LDA HGRTAB+0,X
STA HGRADDR+0
LDA HGRTAB+1,X
STA HGRADDR+1
>>> WRTAUX
>>> XF2MAIN,HCLRLINE
:DONE RTS
CLRLNRET >>> ENTAUX
RTS RTS
* Scroll whole screen one line * Scroll whole screen one line

View File

@@ -144,6 +144,28 @@ HGRSCR1L >>> ENTMAIN
BNE :L1 BNE :L1
>>> XF2AUX,HSCR1RET >>> XF2AUX,HSCR1RET
* Clear one text line on HGR screen
HCLRLINE >>> ENTMAIN
LDA HGRADDR+0 ; HGRADDR -> A4L,A4H
STA A4L
LDA HGRADDR+1
STA A4H
LDA #$00
LDX #$00
:L1 LDY #$00
:L2 STA (A4L),Y
INY
CPY #$39
BNE :L2
INC A4H
INC A4H
INC A4H
INC A4H
INX
CPX #$08
BNE :L1
>>> XF2AUX,CLRLNRET
FGCOLOR DB $00 ; Foreground colour FGCOLOR DB $00 ; Foreground colour
BGCOLOR DB $00 ; Background colour BGCOLOR DB $00 ; Background colour
LINETYPE DB $00 ; 0 normal, 1 XOR LINETYPE DB $00 ; 0 normal, 1 XOR