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 *-------------------------------------- BUF.BASEL .DA #0 .DA #80 .DA #160 .DA #240 .DA #320 .DA #400 .DA #480 .DA #560 .DA #640 .DA #720 .DA #800 .DA #880 .DA #960 .DA #1040 .DA #1120 .DA #1200 .DA #1280 .DA #1360 .DA #1440 .DA #1520 .DA #1600 .DA #1680 .DA #1760 .DA #1840 BUF.BASEH .DA /0 .DA /80 .DA /160 .DA /240 .DA /320 .DA /400 .DA /480 .DA /560 .DA /640 .DA /720 .DA /800 .DA /880 .DA /960 .DA /1040 .DA /1120 .DA /1200 .DA /1280 .DA /1360 .DA /1440 .DA /1520 .DA /1600 .DA /1680 .DA /1760 .DA /1840 *-------------------------------------- SCR.BASEL .HS 00.80.00.80.00.80.00.80.28.A8.28.A8.28.A8.28.A8.50.D0.50.D0.50.D0.50.D0 SCR.BASEH .HS 04.04.05.05.06.06.07.07.04.04.05.05.06.06.07.07.04.04.05.05.06.06.07.07 *-------------------------------------- MAN SAVE USR/SRC/SYS/KERNEL.S.TERMLC LOAD USR/SRC/SYS/KERNEL.S ASM