From db742825c8985f4b47c3d7bce643ff80cdd6bec3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Wed, 20 Jun 2018 17:02:09 +0200 Subject: [PATCH] Kernel 0.9.2 --- DRV/CONSOLE.DRV.S.txt | 12 +-- INC/A2osX.I.txt | 42 ++++---- INC/KERNEL.I.txt | 1 - SYS/KERNEL.S.DRV.txt | 245 ++++++++++++++++++++++-------------------- SYS/KERNEL.S.INIT.txt | 2 +- 5 files changed, 154 insertions(+), 148 deletions(-) diff --git a/DRV/CONSOLE.DRV.S.txt b/DRV/CONSOLE.DRV.S.txt index 1f9cd017..73b80ebd 100644 --- a/DRV/CONSOLE.DRV.S.txt +++ b/DRV/CONSOLE.DRV.S.txt @@ -90,7 +90,7 @@ STATUS >LDYA L.DEVSTAT clc rts *-------------------------------------- -OPEN sta A2osX.SCRNDEVS+1 DEV.ID in A +OPEN sta A2osX.SCRNDEVS DEV.ID in A lda #S.DSTAT.S.OPENED tsb DEVSTAT @@ -117,8 +117,8 @@ CONTROL sta SETTEXT sta SETALTCHAR sta SET80DISP sta CLR80STORE - sta SETPAGE2 - lda #2 + sta CLRPAGE2 + lda #1 sta A2osX.ASCREEN clc rts @@ -131,7 +131,7 @@ READ jsr Char.Out.Get bcc .8 IF cs,no char in output buffer... lda A2osX.ASCREEN - cmp #2 is CON active? + cmp #1 is CON active? bne .9 no....exit lda A2osX.TIMER16 @@ -658,7 +658,7 @@ CUROFF lda CURON beq CUREXIT.RTS CURBLNK lda A2osX.ASCREEN - cmp #2 + cmp #1 beq CURBLNK1 lda CURON @@ -849,7 +849,7 @@ SB.IS.TTYPE .DA #IAC,#SB,#TELOPT.TTYPE,#SB.IS .DA #IAC,#SE SB.IS.TTYPE.LEN .EQ *-SB.IS.TTYPE 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 -BASEH .HS 08.08.09.09.0A.0A.0B.0B.08.08.09.09.0A.0A.0B.0B.08.08.09.09.0A.0A.0B.0B +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 *-------------------------------------- CH .BS 1 CV .BS 1 diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index 0fe2bca0..1cef706d 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -277,33 +277,14 @@ S.MSTAT.DCount .EQ 22 * S.MSTAT .EQ 24 *-------------------------------------- -* DEVMGR (new API) = Smartport +* IOCTL device API *-------------------------------------- * JMP : (A=Device) * DRV : AUXLC entry point * BLK : ROM Entry point Cn($Cnff) * PRT : ROM Entry point Cn($Cnff)+3 *-------------------------------------- -S.DEV.DRV.JMP .EQ 2 -S.DEV.S .EQ 4 -S.DEV.S.BLOCK .EQ %10000000 -S.DEV.S.WRITE .EQ %01000000 -S.DEV.S.READ .EQ %00100000 -S.DEV.S.ONLINE .EQ %00010000 -S.DEV.S.NOFMT .EQ %00001000 -S.DEV.S.WENABL .EQ %00000100 -S.DEV.S.IRQ .EQ %00000010 -S.DEV.S.OPENED .EQ %00000001 -S.DEV.F .EQ 5 -S.DEV.BUSID .EQ 6 -S.DEV.DEVID .EQ 7 -S.DEV.ROM.JMP .EQ 8 word -* -S.DEV.NAME .EQ 11 4+\0 MAX -* -S.DEV .EQ 16 -*-------------------------------------- -IOCTL.STATUS .EQ 0 +IOCTL.STATUS .EQ 0 X,Y = byte count returned IOCTL.READBLOCK .EQ 2 IOCTL.WRITEBLOCK .EQ 4 IOCTL.FORMAT .EQ 6 @@ -319,7 +300,16 @@ S.IOCTL.CNT .EQ 0 S.IOCTL.UNITNUM .EQ 1 S.IOCTL.BUFPTR .EQ 2 S.IOCTL.STATCODE .EQ 4 1 BYTE +S.IOCTL.STATCODE.STATUS .EQ 0 +S.IOCTL.STATCODE.GETDCB .EQ 1 +S.IOCTL.STATCODE.GETNL .EQ 2 +S.IOCTL.STATCODE.GETDIB .EQ 3 S.IOCTL.CTRLCODE .EQ 4 1 BYTE +S.IOCTL.CTRLCODE.RESET .EQ 0 +S.IOCTL.CTRLCODE.SETDCB .EQ 1 +S.IOCTL.CTRLCODE.SETNL .EQ 2 +S.IOCTL.CTRLCODE.IRQ .EQ 3 +S.IOCTL.CTRLCODE.EJECT .EQ 4 S.IOCTL.BLKNUM .EQ 4 3 BYTES S.IOCTL.BYTECNT .EQ 4 2 BYTES S.IOCTL.ADDRPTR .EQ 6 3 BYTES @@ -360,6 +350,7 @@ S.DSTAT.T.NET .EQ $12 Network board S.DSTAT.T.XY .EQ $13 X,Y Pointing Device S.DSTAT.T.CHAR .EQ $14 S.DSTAT.T.GFX .EQ $15 +S.DSTAT.T.SND .EQ $16 S.DSTAT.ST .EQ 22 S.DSTAT.ST.EXT .EQ $80 S.DSTAT.ST.DSKSW .EQ $40 @@ -394,10 +385,13 @@ S.NODE.DIR.FC .EQ 6 word * S.NODE.DIR .EQ 8 *-------------------------------------- -S.NODE.DEV.ID .EQ 2 -S.NODE.DEV.JMP .EQ 3 word +S.NODE.DEV.BUSID .EQ 2 +S.NODE.DEV.DEVID .EQ 3 +S.NODE.DEV.DRVPTR .EQ 4 word +S.NODE.DEV.ROMPTR .EQ 6 word +S.NODE.DEV.NAME .EQ 8 C-String * -S.NODE.DEV .EQ 5 +S.NODE.DEV .EQ 16 *-------------------------------------- * S.NODE.LNK *-------------------------------------- diff --git a/INC/KERNEL.I.txt b/INC/KERNEL.I.txt index e3d1b66d..a0dbc5d0 100644 --- a/INC/KERNEL.I.txt +++ b/INC/KERNEL.I.txt @@ -99,7 +99,6 @@ A2osX.SaveSX .EQ $101 Aux K.S.STAT .EQ $0300 S.STAT for internal kernel operations K.S.DSTAT .EQ $0340 S.DSTAT=25 or higher depends on dev type K.S.IOCTL .EQ $0360 9 bytes -K.SP.PARAMS .EQ $0360 9 bytes K.MLI.PATH .EQ $0369 64+1 K.MLI.PARAMS .EQ $03AA Main, 18 bytes min for GetFileInfo (ATLK needs MORE!!!...32 max for now) *-------------------------------------- diff --git a/SYS/KERNEL.S.DRV.txt b/SYS/KERNEL.S.DRV.txt index 0c11944d..fbe073b3 100644 --- a/SYS/KERNEL.S.DRV.txt +++ b/SYS/KERNEL.S.DRV.txt @@ -2,18 +2,20 @@ NEW PREFIX /A2OSX.BUILD AUTO 4,1 *-------------------------------------- -* A2osX.DIIDrv +* DRV.DiskII * X = IOCTL -* Y,A = PTR to Params +* Y,A = PTR to S.IOCTL * pDev -> Dev Header AUX!!! * $42 Command Number * $43 Unit Number * $44-$45 Buffer Pointer * $46-$47 Block Number *-------------------------------------- -A2osX.DIIDrv .DA A2osX.DIIDrv.S status - .DA A2osX.DIIDrv.RW Read - .DA A2osX.DIIDrv.RW Write +DRV.DiskII cld + jmp (.1,x) +.1 .DA DRV.DiskII.S status + .DA DRV.DiskII.RW Read + .DA DRV.DiskII.RW Write .DA A2osX.BadCall Format .DA A2osX.BadCall .DA A2osX.BadCall @@ -23,11 +25,11 @@ A2osX.DIIDrv .DA A2osX.DIIDrv.S status .DA A2osX.BadCall .DA A2osX.BadCall *-------------------------------------- -A2osX.DIIDrv.S >LDYAI A2osx.DII.Stat +DRV.DiskII.S >LDYAI A2osx.DII.Stat clc rts *-------------------------------------- -A2osX.DIIDrv.RW >STYA A2osX.RW.SrcDst+1 +DRV.DiskII.RW >STYA A2osX.RW.SrcDst+1 jsr A2osX.Blk.GetCmdAndDevAX *-------------------------------------- ldy #$D0 @@ -53,27 +55,29 @@ A2osX.RW.Drv jsr $0000 jsr GO.A2osX rts *-------------------------------------- -A2osx.DII.Stat .DA #S.DSTAT.S.BLOCK+S.DSTAT.S.WRITE+S.DSTAT.S.READ +DRV.DiskII.Stat .DA #S.DSTAT.S.BLOCK+S.DSTAT.S.WRITE+S.DSTAT.S.READ .DA 280 .DA #0 >PSTR "Disk II 5.25" .BS 4 .DA #S.DSTAT.T.DISKII .DA #0 - .DA #0,#91 + .DA KVER *-------------------------------------- -* A2osX.RamDrv +* DRV.RamDrive * X = IOCTL -* Y,A = PTR to Params +* Y,A = PTR to S.IOCTL * pDev -> Dev Header AUX!!! * $42 Command Number * $43 Unit Number * $44-$45 Buffer Pointer * $46-$47 Block Number *-------------------------------------- -A2osX.RamDrv .DA A2osX.RamDrv.S status - .DA A2osX.RamDrv.RW Read - .DA A2osX.RamDrv.RW Write +DRV.RamDrive cld + jmp (.1,x) +.1 .DA DRV.RamDrive.S status + .DA DRV.RamDrive.RW Read + .DA DRV.RamDrive.RW Write .DA A2osX.BadCall Format .DA A2osX.BadCall .DA A2osX.BadCall @@ -83,25 +87,25 @@ A2osX.RamDrv .DA A2osX.RamDrv.S status .DA A2osX.BadCall .DA A2osX.BadCall *-------------------------------------- -A2osX.RamDrv.S jsr A2osX.Blk.GetCmdAndDevAX +DRV.RamDrive.S jsr A2osX.Blk.GetCmdAndDevAX jsr GO.ProDOS stx $42 sta $43 jsr $FF00 jsr GO.A2osX bcs .9 - stx A2osx.RamDrv.Stat+S.DSTAT.SIZE - sty A2osx.RamDrv.Stat+S.DSTAT.SIZE+1 + stx DRV.RamDrive.Stat+S.DSTAT.SIZE + sty DRV.RamDrive.Stat+S.DSTAT.SIZE+1 >LDYAI A2osX.RamDrv.Stat clc .9 rts *-------------------------------------- -A2osX.RamDrv.RW >STYA A2osX.RW.SrcDst+1 +DRV.RamDrive.RW >STYA A2osX.RW.SrcDst+1 jsr A2osX.Blk.GetCmdAndDevAX bra A2osX.RamDrv.RW1 *-------------------------------------- -A2osx.RamDrv.Stat +DRV.RamDrive.Stat .DA #S.DSTAT.S.BLOCK+S.DSTAT.S.WRITE+S.DSTAT.S.READ .BS 3 >PSTR "ProDOS /RAM Disk" @@ -109,19 +113,21 @@ A2osx.RamDrv.Stat .DA #0 .DA #0,#91 *-------------------------------------- -* A2osX.BlkDrv +* DRV.BlkDevice * X = IOCTL -* Y,A = PTR to Params +* Y,A = PTR to S.IOCTL * pDev -> Dev Header * $42 Command Number * $43 Unit Number * $44-$45 Buffer Pointer * $46-$47 Block Number *-------------------------------------- -A2osX.BlkDrv .DA A2osX.BlkDrv.S status - .DA A2osX.BlkDrv.RW - .DA A2osX.BlkDrv.RW - .DA A2osX.BlkDrv.F +DRV.BlkDevice cld + jmp (.1,x) +.1 .DA DRV.BlkDevice.S status + .DA DRV.BlkDevice.RW + .DA DRV.BlkDevice.RW + .DA DRV.BlkDevice.F .DA A2osX.BadCall .DA A2osX.BadCall .DA A2osX.BadCall @@ -130,7 +136,7 @@ A2osX.BlkDrv .DA A2osX.BlkDrv.S status .DA A2osX.BadCall .DA A2osX.BadCall *-------------------------------------- -A2osX.BlkDrv.S jsr A2osX.Blk.GetCmdAndDev +DRV.BlkDevice.S jsr A2osX.Blk.GetCmdAndDev jsr A2osX.BlkDrv.Go bcs .9 @@ -141,16 +147,18 @@ A2osX.BlkDrv.S jsr A2osX.Blk.GetCmdAndDev clc .9 rts *-------------------------------------- -A2osX.BlkDrv.RW >STYA A2osX.Blk.GetParam.1+1 +DRV.BlkDevice.RW + >STYA A2osX.Blk.GetParam.1+1 jsr A2osX.Blk.GetCmdAndDev jsr A2osX.Blk.GetParam bra A2osX.BlkDrv.Go *-------------------------------------- -A2osX.BlkDrv.F jsr A2osX.Blk.GetCmdAndDev +DRV.BlkDevice.F jsr A2osX.Blk.GetCmdAndDev -A2osX.BlkDrv.Go ldy #S.DEV.ROM.JMP +DRV.BlkDevice.Go + ldy #S.DEV.ROM.JMP lda (pDev),y sta .8+1 iny @@ -158,21 +166,21 @@ A2osX.BlkDrv.Go ldy #S.DEV.ROM.JMP sta .8+2 .8 jmp $ffff *-------------------------------------- -A2osX.Blk.GetParam +DRV.BlkDevice.GetParam ldy #3 -A2osX.Blk.GetParam.1 +DRV.BlkDevice.GetParam.1 lda $ffff,y Self Modified sta $44,y dey bpl A2osX.Blk.GetParam.1 rts *-------------------------------------- -A2osX.Blk.GetCmdAndDev +DRV.BlkDevice.GetCmdAndDev jsr A2osX.Blk.GetCmdAndDevAX stx $42 sta $43 rts -A2osX.Blk.GetCmdAndDevAX +DRV.BlkDevice.GetCmdAndDevAX txa lsr tax CMD @@ -195,7 +203,8 @@ A2osX.Blk.GetCmdAndDevAX rts *-------------------------------------- -A2osX.Blk.Stat .DA #S.DSTAT.S.BLOCK+S.DSTAT.S.WRITE+S.DSTAT.S.READ +DRV.BlkDevice.Stat + .DA #S.DSTAT.S.BLOCK+S.DSTAT.S.WRITE+S.DSTAT.S.READ .BS 3 >PSTR "ProDOS Block Dev" .DA #S.DSTAT.T.PRODOS @@ -204,18 +213,20 @@ A2osX.Blk.Stat .DA #S.DSTAT.S.BLOCK+S.DSTAT.S.WRITE+S.DSTAT.S.READ *-------------------------------------- * Smartport Driver *-------------------------------------- -A2osX.PrtDrv .DA A2osX.PrtDrv.S STATUS - .DA A2osX.PrtDrv.P BR - .DA A2osX.PrtDrv.P BW - .DA A2osX.PrtDrv.NP FORMAT - .DA A2osX.PrtDrv.P CONTROL - .DA A2osX.PrtDrv.NP INIT - .DA A2osX.PrtDrv.NP OPEN - .DA A2osX.PrtDrv.NP CLOSE - .DA A2osX.PrtDrv.P R - .DA A2osX.PrtDrv.P W +DRV.SmartPort cld + jmp (.1,x) +.1 .DA DRV.SmartPort.S STATUS + .DA DRV.SmartPort.P BR + .DA DRV.SmartPort.P BW + .DA DRV.SmartPort.NP FORMAT + .DA DRV.SmartPort.P CONTROL + .DA DRV.SmartPort.NP INIT + .DA DRV.SmartPort.NP OPEN + .DA DRV.SmartPort.NP CLOSE + .DA DRV.SmartPort.P R + .DA DRV.SmartPort.P W *-------------------------------------- -A2osX.PrtDrv.S jsr A2osX.PrtDrv.GetDev +DRV.SmartPort.S jsr A2osX.PrtDrv.GetDev >LDYAI K.S.DSTAT >STYA K.SP.PARAMS+2 lda #3 @@ -225,11 +236,13 @@ A2osX.PrtDrv.S jsr A2osX.PrtDrv.GetDev >LDYAI K.S.DSTAT .9 rts *-------------------------------------- -A2osX.PrtDrv.P jsr A2osX.PrtDrv.GetParam +DRV.SmartPort.P jsr A2osX.PrtDrv.GetParam bra A2osX.PrtDrv.Go -A2osX.PrtDrv.NP jsr A2osX.PrtDrv.GetDev +DRV.SmartPort.NP + jsr A2osX.PrtDrv.GetDev *-------------------------------------- -A2osX.PrtDrv.Go ldy #S.DEV.ROM.JMP +DRV.SmartPort.Go + ldy #S.DEV.ROM.JMP lda (pDev),y sta .8+1 iny @@ -237,12 +250,12 @@ A2osX.PrtDrv.Go ldy #S.DEV.ROM.JMP sta .8+2 .8 jsr $ffff -A2osX.PrtDrv.Go.Cmd +DRV.SmartPort.Go.Cmd .BS 1 .DA K.SP.PARAMS rts *-------------------------------------- -A2osX.PrtDrv.GetParam +DRV.SmartPort.GetParam >STYA ZPDRV Get Ptr To ParamList jsr A2osX.Blk.GetCmdAndDev @@ -254,7 +267,7 @@ A2osX.PrtDrv.GetParam bpl .1 rts *-------------------------------------- -A2osX.PrtDrv.GetDev +DRV.SmartPort.GetDev txa lsr sta A2osX.PrtDrv.Go.Cmd @@ -265,12 +278,15 @@ A2osX.PrtDrv.GetDev lda (pDev),y sta K.SP.PARAMS+1 rts -A2osX.PrtDrv.Cnt +DRV.SmartPort.Cnt .HS 03030301030101010404 *-------------------------------------- * NULL DEVICE *-------------------------------------- -DevMgr.NUL.Code .DA .1 STATUS +DRV.NULL.Code cld + jmp (.1,x) +*-------------------------------------- +.1 .DA .2 STATUS .DA A2osX.BADCALL READBLOCK .DA A2osX.BADCALL WRITEBLOCK .DA A2osX.BADCALL FORMAT @@ -281,11 +297,11 @@ DevMgr.NUL.Code .DA .1 STATUS .DA A2osX.BADCALL READ .DA .8 WRITE *-------------------------------------- -.1 >LDYAI .2 +.2 >LDYAI .3 .8 clc rts *-------------------------------------- -.2 .DA #S.DEV.S.WRITE+S.DEV.S.READ +.3 .DA #S.DEV.S.WRITE+S.DEV.S.READ .DA #0,#0,#0 >PSTR "NULL DEVICE" .BS 5 @@ -295,45 +311,46 @@ DevMgr.NUL.Code .DA .1 STATUS *-------------------------------------- * SYS DEVICE *-------------------------------------- -DevMgr.SYS.Code .DA .1 STATUS +DRV.SYS.Code cld + jmp (.1,x) +.1 .DA .2 STATUS .DA A2osX.BADCALL READBLOCK .DA A2osX.BADCALL WRITEBLOCK .DA A2osX.BADCALL FORMAT - .DA DevMgr.SYS.Control + .DA DRV.SYS.Control .DA A2osX.BADCALL INIT - .DA DevMgr.SYS.Open + .DA DRV.SYS.Open .DA A2osX.BADCALL CLOSE - .DA DevMgr.SYS.Read - .DA DevMgr.SYS.Write + .DA DRV.SYS.Read + .DA DRV.SYS.Write *-------------------------------------- -.1 >LDYAI .2 +.2 >LDYAI .3 clc rts *-------------------------------------- -.2 .DA #S.DEV.S.WRITE+S.DEV.S.READ +.3 .DA #S.DEV.S.WRITE+S.DEV.S.READ .DA #0,#0,#0 >PSTR "A2osX SYS Screen" .DA #S.DSTAT.T.CHAR .DA #0 .DA KVER *-------------------------------------- -DevMgr.SYS.Open lda #1 - sta A2osX.SCRNDEVS - jsr DevMgr.SYS.Home +DRV.SYS.Open lda #1 + sta A2osX.SCRNDEVS+1 + jsr DRV.SYS.Home *-------------------------------------- -DevMgr.SYS.Control - sta SETTEXT +DRV.SYS.Control sta SETTEXT sta SETALTCHAR sta SET80DISP sta CLR80STORE - sta CLRPAGE2 - lda #1 + sta SETPAGE2 + lda #2 sta A2osX.ASCREEN clc rts *-------------------------------------- -DevMgr.SYS.Read lda A2osX.ASCREEN - cmp #1 is SYS active? +DRV.SYS.Read lda A2osX.ASCREEN + cmp #2 is SYS active? bne .9 lda OPENAPPLE @@ -351,20 +368,19 @@ DevMgr.SYS.Read lda A2osX.ASCREEN sec rts *-------------------------------------- -DevMgr.SYS.Write - phx +DRV.SYS.Write phx phy cmp #' ' bcs .7 cmp #10 bne .1 - jsr DevMgr.SYS.LF + jsr DRV.SYS.LF bra .8 .1 cmp #13 bne .2 - jsr DevMgr.SYS.CR + jsr DRV.SYS.CR bra .8 .2 ora #$20 @@ -372,49 +388,47 @@ DevMgr.SYS.Write .HS 2C BIT ABS .7 ora #$80 - ldy DevMgr.SYS.CH - ldx DevMgr.SYS.CV - jsr DevMgr.SYS.SetCharAtYX - jsr DevMgr.SYS.FSOut + ldy DRV.SYS.CH + ldx DRV.SYS.CV + jsr DRV.SYS.SetCharAtYX + jsr DRV.SYS.FSOut .8 ply plx clc rts *-------------------------------------- -DevMgr.SYS.FSOut - lda DevMgr.SYS.CH +DRV.SYS.FSOut lda DRV.SYS.CH cmp #79 bne .1 - stz DevMgr.SYS.CH - bra DevMgr.SYS.LF + stz DRV.SYS.CH + bra DRV.SYS.LF -.1 inc DevMgr.SYS.CH +.1 inc DRV.SYS.CH rts *-------------------------------------- -DevMgr.SYS.CR jsr DevMgr.SYS.ClrEOL - stz DevMgr.SYS.CH +DRV.SYS.CR jsr DRV.SYS.ClrEOL + stz DRV.SYS.CH rts *-------------------------------------- -DevMgr.SYS.LF ldx DevMgr.SYS.CV +DRV.SYS.LF ldx DRV.SYS.CV cpx #23 - beq DevMgr.SYS.Scroll - inc DevMgr.SYS.CV + beq DRV.SYS.Scroll + inc DRV.SYS.CV rts *-------------------------------------- -DevMgr.SYS.ClrEOL - ldx DevMgr.SYS.CV +DRV.SYS.ClrEOL ldx DRV.SYS.CV lda #$A0 - ldy DevMgr.SYS.CH + ldy DRV.SYS.CH .1 cpy #79 beq .2 - jsr DevMgr.SYS.SetCharAtYX + jsr DRV.SYS.SetCharAtYX iny bne .1 .2 rts *-------------------------------------- -DevMgr.SYS.ScrollAux +DRV.SYS.ScrollAux sta SETREADAUX .1 lda (ZPDRV+2),y @@ -425,22 +439,21 @@ DevMgr.SYS.ScrollAux sta CLRREADAUX rts *-------------------------------------- -DevMgr.SYS.Scroll - ldx #1 -.1 jsr DevMgr.SYS.SetBaseX +DRV.SYS.Scroll ldx #1 +.1 jsr DRV.SYS.SetBaseX inx - lda DevMgr.SYS.BASEL,x + lda DRV.SYS.BASEL,x sta ZPDRV+2 - lda DevMgr.SYS.BASEH,x + lda DRV.SYS.BASEH,x sta ZPDRV+3 php sei - ldx #DevMgr.SYS.Scroll-DevMgr.SYS.ScrollAux-1 + ldx #DRV.SYS.Scroll-DRV.SYS.ScrollAux-1 -.2 lda DevMgr.SYS.ScrollAux,x +.2 lda DRV.SYS.ScrollAux,x sta $102,x dex bpl .2 @@ -463,8 +476,8 @@ DevMgr.SYS.Scroll cpx #23 bne .1 Fall in ClrLineAtX for last line *-------------------------------------- -DevMgr.SYS.ClrLineAtX - jsr DevMgr.SYS.SetBaseX +DRV.SYS.ClrLineAtX + jsr DRV.SYS.SetBaseX lda #$A0 ldy #39 @@ -483,19 +496,19 @@ DevMgr.SYS.ClrLineAtX rts *-------------------------------------- -DevMgr.SYS.Home ldx #23 +DRV.SYS.Home ldx #23 -.1 jsr DevMgr.SYS.ClrLineAtX +.1 jsr DRV.SYS.ClrLineAtX dex bne .1 - stz DevMgr.SYS.CH + stz DRV.SYS.CH lda #1 - sta DevMgr.SYS.CV + sta DRV.SYS.CV rts *-------------------------------------- -DevMgr.SYS.SetCharAtYX +DRV.SYS.SetCharAtYX cmp #$40 bcc .1 cmp #$5F @@ -504,7 +517,7 @@ DevMgr.SYS.SetCharAtYX .1 phy pha - jsr DevMgr.SYS.SetBaseX + jsr DRV.SYS.SetBaseX tya lsr tay @@ -526,18 +539,18 @@ DevMgr.SYS.SetCharAtYX ply rts *-------------------------------------- -DevMgr.SYS.SetBaseX - lda DevMgr.SYS.BASEL,x +DRV.SYS.SetBaseX + lda DRV.SYS.BASEL,x sta ZPDRV - lda DevMgr.SYS.BASEH,x + lda DRV.SYS.BASEH,x sta ZPDRV+1 rts *-------------------------------------- -DevMgr.SYS.CH .BS 1 -DevMgr.SYS.CV .BS 1 +DRV.SYS.CH .BS 1 +DRV.SYS.CV .BS 1 *-------------------------------------- -DevMgr.SYS.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 -DevMgr.SYS.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 +DRV.SYS.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 +DRV.SYS.BASEH .HS 08.08.09.09.0A.0A.0B.0B.08.08.09.09.0A.0A.0B.0B.08.08.09.09.0A.0A.0B.0B *-------------------------------------- MAN SAVE /A2OSX.SRC/SYS/KERNEL.S.DRV diff --git a/SYS/KERNEL.S.INIT.txt b/SYS/KERNEL.S.INIT.txt index a1aeeffe..d0ee5f3b 100644 --- a/SYS/KERNEL.S.INIT.txt +++ b/SYS/KERNEL.S.INIT.txt @@ -11,7 +11,7 @@ pDev .EQ ZPKERNEL+10 pNode .EQ ZPKERNEL+12 pIOBuf .EQ ZPKERNEL+14 *-------------------------------------- -SYS.BASL0 .EQ $400 +SYS.BASL0 .EQ $800 *-------------------------------------- Kernel.Init sei ldx #$FF