NEW
PREFIX
AUTO 4,1
*--------------------------------------
DRV.TERM.CLRSCR	ldx #23
				sta SET80STORE
				
.1				jsr DRV.TERM.SETUP.L1X

				lda #" "

				bit bActive
				bpl .4
				
				sta SETPAGE2

				jsr .7

				sta CLRPAGE2

				jsr .7
				
.4				sta SETWRITEAUX

				ldy #79
				
.5				sta (ZPBufBaseL1),y
				dey
				bpl .5

				sta CLRWRITEAUX
				
				dex
				bpl .1

				rts
				
.7				ldy #39
				
.8				sta (ZPScrBaseL1),y
				dey
				bpl .8			
				rts
*--------------------------------------
DRV.TERM.LINE0CPY
				ldx #0
				.HS 2C					BIT ABS
DRV.TERM.SCRCPY	ldx #23

				sta SET80STORE

.1				ldy #S.FD.DEV.BUFPTR
				lda (pFD),y
				clc
				adc BUF.BASEL,x
				sta .80+1
				
				iny
				lda (pFD),y
				adc BUF.BASEH,x
				sta .80+2
				
				jsr DRV.TERM.SETUP.L1X.SCR
				
				phx
				
				sta SETREADAUX
				
				ldx #78
				sta SETPAGE2
				
				ldy #39
				
				jsr .8
				
				ldx #79
				sta CLRPAGE2

				ldy #39
				
				jsr .8
				
				sta CLRREADAUX
				
				plx
				dex
				
				bpl .1
				rts
				
.8				ldy #39
				
.80				lda $ffff,x				SELF MODIFIED
				cmp #$40
				bcc .81
				cmp #$5F
				bcs .81
				and #$3F
				
.81				sta (ZPScrBaseL1),y
				dex
				dex
				dey
				bpl .80
				rts
*--------------------------------------
DRV.TERM.COPY.XtoL1
				ldy #S.FD.DEV.BUFPTR
				lda (pFD),y
				clc
				adc BUF.BASEL,x
				sta ZPBufBaseL2
				
				iny
				lda (pFD),y
				adc BUF.BASEH,x
				sta ZPBufBaseL2+1

				ldy #79

				sta SETWRITEAUX
				sta SETREADAUX
				
.1				lda (ZPBufBaseL2),y
				sta (ZPBufBaseL1),y 
				dey
				bpl .1

				sta CLRWRITEAUX
				sta CLRREADAUX

				bit bActive
				bpl .8

				lda SCR.BASEL,x
				sta ZPScrBaseL2
				lda SCR.BASEH,x
				sta ZPScrBaseL2+1
				
				sta SET80STORE
				sta SETPAGE2
				
				jsr .6
				
				sta CLRPAGE2

.6				ldy #39
				
.7				lda (ZPScrBaseL2),y
				sta (ZPScrBaseL1),y 
				dey
				bpl .7

.8				rts
*--------------------------------------
SetCharAtCurPos.SCR
				pha
				ldy #S.DCB.TTY.CV
				lda (ZPDCBPtr),y
				tax
				dey
				lda (ZPDCBPtr),y
				tay						CH
				
				jsr DRV.TERM.SETUP.L1X.SCR
				
				pla
				bra SetCharAtY.SCR

SetCharAtCurPos	pha
				ldy #S.DCB.TTY.CV
				lda (ZPDCBPtr),y
				tax
				dey
				lda (ZPDCBPtr),y
				tay
				pla
*--------------------------------------
SetCharAtYX		pha
				phy
				jsr DRV.TERM.SETUP.L1X
				ply
				
				pla
				sta SETWRITEAUX
				sta (ZPBufBaseL1),y 
				sta CLRWRITEAUX

				bit bActive
				bpl SetCharAtYX.8

SetCharAtY.SCR	cmp #$40
				bcc .1
				cmp #$5F
				bcs .1
				and #$3F
				
.1				pha
				
				tya
				lsr
				tay
				
				pla
				sta SET80STORE
				bcs .2
				sta SETPAGE2
.2				sta (ZPScrBaseL1),y
				sta CLRPAGE2

SetCharAtYX.8	rts
*--------------------------------------
GetCharAtCurPos	ldy #S.DCB.TTY.CV
				lda (ZPDCBPtr),y
				tax
				
				jsr DRV.TERM.SETUP.L1X

				ldy #S.DCB.TTY.CH
				lda (ZPDCBPtr),y
				tay
				
				sta SETREADAUX
				lda (ZPBufBaseL1),y 
				sta CLRREADAUX
				
				rts
*--------------------------------------
MAN
SAVE USR/SRC/SYS/KERNEL.S.TERMLC
LOAD USR/SRC/SYS/KERNEL.S
ASM
