mirror of
https://github.com/bobbimanners/Applecorn.git
synced 2025-01-19 21:29:50 +00:00
Implemented reverse scrolling for VDU11.
This commit is contained in:
parent
b08a49d5c6
commit
26501923c8
BIN
applecorn.po
BIN
applecorn.po
Binary file not shown.
@ -204,7 +204,7 @@ 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-09-17'
|
HELLO ASC 'Applecorn MOS 2022-09-18'
|
||||||
DB $00 ; Unify MOS messages
|
DB $00 ; Unify MOS messages
|
||||||
|
|
||||||
|
|
||||||
|
53
auxmem.vdu.s
53
auxmem.vdu.s
@ -518,8 +518,16 @@ VDU10 LDA VDUTEXTY ; ROW
|
|||||||
* Move cursor up
|
* Move cursor up
|
||||||
VDU11 LDA VDUTEXTY ; ROW
|
VDU11 LDA VDUTEXTY ; ROW
|
||||||
CMP TXTWINTOP
|
CMP TXTWINTOP
|
||||||
BEQ :DONE
|
BNE :S1
|
||||||
DEC VDUTEXTY ; ROW
|
LDA VDUTEXTX ; COL
|
||||||
|
CMP TXTWINLFT
|
||||||
|
BNE :DONE
|
||||||
|
JSR RSCROLLER
|
||||||
|
LDA TXTWINLFT
|
||||||
|
STA VDUTEXTX
|
||||||
|
JSR CLREOL
|
||||||
|
RTS
|
||||||
|
:S1 DEC VDUTEXTY ; ROW
|
||||||
:DONE RTS
|
:DONE RTS
|
||||||
|
|
||||||
* Move to start of line
|
* Move to start of line
|
||||||
@ -715,7 +723,7 @@ CLREOLGS BIT $C01F
|
|||||||
|
|
||||||
* Scroll areas of the screen
|
* Scroll areas of the screen
|
||||||
****************************
|
****************************
|
||||||
* Scroll text window one line
|
* Scroll text window up one line
|
||||||
SCROLLER LDA TXTWINTOP
|
SCROLLER LDA TXTWINTOP
|
||||||
:L1 PHA
|
:L1 PHA
|
||||||
JSR SCR1LINE
|
JSR SCR1LINE
|
||||||
@ -724,12 +732,45 @@ SCROLLER LDA TXTWINTOP
|
|||||||
CMP TXTWINBOT
|
CMP TXTWINBOT
|
||||||
BNE :L1
|
BNE :L1
|
||||||
BIT VDUSTATUS
|
BIT VDUSTATUS
|
||||||
BVC :L2 ; Copy cursor not active
|
BVC :S1 ; Copy cursor not active
|
||||||
JSR COPYSWAP1
|
JSR COPYSWAP1
|
||||||
LDA #11
|
LDA #11
|
||||||
JSR OUTCHARGO
|
JSR OUTCHARGO
|
||||||
JSR COPYSWAP1
|
JSR COPYSWAP1
|
||||||
:L2 RTS
|
:S1 RTS
|
||||||
|
|
||||||
|
* Scroll text window down one line
|
||||||
|
RSCROLLER DEC TXTWINTOP
|
||||||
|
LDA TXTWINBOT
|
||||||
|
DEC A
|
||||||
|
:L1 PHA
|
||||||
|
JSR RSCR1LINE
|
||||||
|
PLA
|
||||||
|
DEC A
|
||||||
|
CMP TXTWINTOP
|
||||||
|
BNE :L1
|
||||||
|
BIT VDUSTATUS
|
||||||
|
BVC :S1 ; Copy cursor not active
|
||||||
|
JSR COPYSWAP1
|
||||||
|
LDA #11
|
||||||
|
JSR OUTCHARGO
|
||||||
|
JSR COPYSWAP1
|
||||||
|
:S1 INC TXTWINTOP
|
||||||
|
RTS
|
||||||
|
|
||||||
|
* Copy line A to line A+1, respecting text window boundaries
|
||||||
|
RSCR1LINE PHA
|
||||||
|
INC A
|
||||||
|
JSR CHARADDRY ; VDUADDR=>line A+1
|
||||||
|
LDX #2
|
||||||
|
:L0 LDA VDUADDR,X ; Copy VDUADDR->VDUADDR2
|
||||||
|
STA VDUADDR2,X
|
||||||
|
DEX
|
||||||
|
BPL :L0
|
||||||
|
PLA
|
||||||
|
PHA
|
||||||
|
JSR CHARADDRY ; VDUADDR=>line A+1
|
||||||
|
BRA DOSCR1LINE
|
||||||
|
|
||||||
* Copy line A+1 to line A, respecting text window boundaries
|
* Copy line A+1 to line A, respecting text window boundaries
|
||||||
SCR1LINE PHA
|
SCR1LINE PHA
|
||||||
@ -743,7 +784,7 @@ SCR1LINE PHA
|
|||||||
PHA
|
PHA
|
||||||
INC A
|
INC A
|
||||||
JSR CHARADDRY ; VDUADDR=>line A+1
|
JSR CHARADDRY ; VDUADDR=>line A+1
|
||||||
INC TXTWINRGT
|
DOSCR1LINE INC TXTWINRGT
|
||||||
BIT VDUBANK
|
BIT VDUBANK
|
||||||
BMI SCR1LINEGS ; AppleGS
|
BMI SCR1LINEGS ; AppleGS
|
||||||
LDX TXTWINLFT ; Addr offset for column
|
LDX TXTWINLFT ; Addr offset for column
|
||||||
|
Loading…
x
Reference in New Issue
Block a user