mirror of
https://github.com/bobbimanners/Applecorn.git
synced 2024-11-05 02:08:07 +00:00
Reverse scrolling now works in MODE1 / HGR.
This commit is contained in:
parent
63de6efbc2
commit
7830603320
12
auxmem.gfx.s
12
auxmem.gfx.s
@ -35,6 +35,7 @@ PRCHRSOFT CMP #$A0 ; Convert to screen code
|
||||
PUTCHRET >>> ENTAUX
|
||||
RTS
|
||||
|
||||
* Forwards scroll one line
|
||||
HSCR1LINE >>> WRTMAIN
|
||||
LDX TXTWINLFT
|
||||
STX MTXTWINLFT
|
||||
@ -45,6 +46,17 @@ HSCR1LINE >>> WRTMAIN
|
||||
HSCR1RET >>> ENTAUX
|
||||
RTS
|
||||
|
||||
* Reverse scroll one line
|
||||
HRSCR1LINE >>> WRTMAIN
|
||||
LDX TXTWINLFT
|
||||
STX MTXTWINLFT
|
||||
LDX TXTWINRGT
|
||||
STX MTXTWINRGT
|
||||
>>> WRTAUX
|
||||
>>> XF2MAIN,HGRRSCR1L
|
||||
HRSCR1RET >>> ENTAUX
|
||||
RTS
|
||||
|
||||
HSCRCLREOL LDA VDUTEXTY
|
||||
ASL
|
||||
TAX
|
||||
|
15
auxmem.vdu.s
15
auxmem.vdu.s
@ -727,7 +727,10 @@ CLREOLGS BIT $C01F
|
||||
SCROLLER LDA TXTWINTOP
|
||||
:L1 PHA
|
||||
JSR SCR1LINE
|
||||
PLA
|
||||
BIT VDUSCREEN
|
||||
BPL :S0
|
||||
JSR SCR1SOFT ; Scroll graphics screen
|
||||
:S0 PLA
|
||||
INC
|
||||
CMP TXTWINBOT
|
||||
BNE :L1
|
||||
@ -745,7 +748,10 @@ RSCROLLER DEC TXTWINTOP
|
||||
DEC A
|
||||
:L1 PHA
|
||||
JSR RSCR1LINE
|
||||
PLA
|
||||
BIT VDUSCREEN
|
||||
BPL :S0
|
||||
JSR RSCR1SOFT ; Scroll graphics screen
|
||||
:S0 PLA
|
||||
DEC A
|
||||
CMP TXTWINTOP
|
||||
BNE :L1
|
||||
@ -827,8 +833,6 @@ DOSCR1LINE INC TXTWINRGT
|
||||
BMI :L2
|
||||
SCR1LNDONE DEC TXTWINRGT
|
||||
PLA
|
||||
BIT VDUSCREEN
|
||||
BMI SCR1SOFT ; Scroll graphics screen
|
||||
RTS
|
||||
SCR1LINEGS LDX TXTWINLFT
|
||||
BIT $C01F
|
||||
@ -867,6 +871,9 @@ SCR1LINEGS LDX TXTWINLFT
|
||||
* Copy text line A+1 to line A for HGR bitmap gfx mode
|
||||
SCR1SOFT JMP HSCR1LINE
|
||||
|
||||
* Copy text line A to line A+1 for HGR bitmap gfx mode
|
||||
RSCR1SOFT JMP HRSCR1LINE
|
||||
|
||||
* VDU 16 - CLG, clear graphics window
|
||||
VDU16 JMP HSCRCLEAR
|
||||
|
||||
|
@ -178,6 +178,41 @@ HGRSCR1L >>> ENTMAIN
|
||||
BNE :L1
|
||||
>>> XF2AUX,HSCR1RET
|
||||
|
||||
* Copy text line A to line A+1
|
||||
HGRRSCR1L >>> ENTMAIN
|
||||
INC MTXTWINRGT
|
||||
ASL ; Source addr->A1L,A1H
|
||||
TAX
|
||||
LDA MHGRTAB,X
|
||||
STA A1L
|
||||
LDA MHGRTAB+1,X
|
||||
STA A1H
|
||||
INX ; Dest addr->A4L,A4H
|
||||
INX
|
||||
LDA MHGRTAB,X
|
||||
STA A4L
|
||||
LDA MHGRTAB+1,X
|
||||
STA A4H
|
||||
LDX #$00
|
||||
:L1 LDY MTXTWINLFT
|
||||
:L2 LDA (A1L),Y
|
||||
STA (A4L),Y
|
||||
INY
|
||||
CPY MTXTWINRGT
|
||||
BNE :L2
|
||||
INC A1H ; Advance source 1024 bytes
|
||||
INC A1H
|
||||
INC A1H
|
||||
INC A1H
|
||||
INC A4H ; Advance dest 1024 bytes
|
||||
INC A4H
|
||||
INC A4H
|
||||
INC A4H
|
||||
INX
|
||||
CPX #8 ; 8 pixel rows in character
|
||||
BNE :L1
|
||||
>>> XF2AUX,HRSCR1RET
|
||||
|
||||
* Clear one text line on HGR screen,
|
||||
* from current cursor col to text window right limit
|
||||
HCLREOL >>> ENTMAIN
|
||||
|
Loading…
Reference in New Issue
Block a user