Kernel 0.92+

This commit is contained in:
Rémy GIBERT 2019-02-27 15:00:56 +00:00
parent 19433211e8
commit 4988ec02fc
15 changed files with 94 additions and 77 deletions

Binary file not shown.

View File

@ -39,6 +39,7 @@ L.MSG.Init .DA MSG.Init
L.MSG.LINENUM .DA MSG.LINENUM
L.MSG.CTRLCHAR .DA MSG.CTRLCHAR
L.ASCII .DA ASCII
L.MSG.STACK .DA MSG.STACK
.DA 0
*--------------------------------------
CS.INIT
@ -162,6 +163,8 @@ CS.RUN bra .11
CS.RUN.PRINT sty BytesRead Y,A = Bytes read
stz ByteIndex
* jsr PrintStack
>INCW.G LineNum
>LDA.G bSuppressBlankLine
@ -293,8 +296,15 @@ CS.RUN.CLOSE ldy #hFILE
CS.DOEVENT sec
rts
*--------------------------------------
PrintStack >PUSHW pStack
>PUSHBI 2
>LDYA L.MSG.STACK
>SYSCALL printf
rts
*--------------------------------------
CS.END
*--------------------------------------
MSG.STACK .AZ ">%H:"
OptionList >PSTR "ANSans"
OptionVars .DA #bPrintAll,#bLineNum,#bSuppressBlankLine,#bPrintAll,#bLineNum,#bSuppressBlankLine
*--------------------------------------

View File

@ -219,11 +219,11 @@ CS.RUN.DUMPNIC ldy #DCB.NIC+S.DCB.NIC.MAC+5
>PUSHEA.G DIB+S.DIB.IDS
ldx IPCFG+S.NETCFG.DevID
lda Dev.Table,x
lda Dev.Table-1,x
clc
adc #S.FD.DEV
tay
lda Dev.Table+1,x
lda Dev.Table,x
adc /S.FD.DEV
>PUSHYA

View File

@ -59,10 +59,14 @@ L.FD.T .DA FD.T.REG
CS.INIT clc
rts
*--------------------------------------
CS.RUN jsr DumpDev
CS.RUN lda #1
>STA.G Table.Index
jsr DumpDev
bcs .9
>STZ.G Table.Index
lda #2
>STA.G Table.Index
jsr DumpNod
bcs .9
@ -77,9 +81,9 @@ DumpDev >LDYA L.MSG0
>LDA.G Table.Index
.1 tax
lda Dev.Table,x
lda Dev.Table-1,x
sta ZPFDPtr
lda Dev.Table+1,x
lda Dev.Table,x
sta ZPFDPtr+1
beq .8
@ -103,7 +107,7 @@ DumpDev >LDYA L.MSG0
.7 >INC.G Table.Index
>INC.G Table.Index
cmp #K.DEV.MAX
cmp #K.DEV.MAX*2+1
bne .1
.8 clc
@ -191,14 +195,14 @@ DumpNod >LDYA L.MSG3
.1 tax
lda Nod.Table.hPath,x
lda Nod.Table.hPath-2,x
beq .7
>SYSCALL GetMemPtr
>PUSHYA
>LDA.G Table.Index
tax
lda Nod.Table.hFD,x
lda Nod.Table.hFD-2,x
>SYSCALL GetMemPtr
>STYA ZPFDPtr
@ -208,7 +212,7 @@ DumpNod >LDYA L.MSG3
>LDA.G Table.Index
tax
lda Nod.Table.hFD,x
lda Nod.Table.hFD-2,x
>PUSHA
txa
>PUSHA
@ -218,7 +222,7 @@ DumpNod >LDYA L.MSG3
>SYSCALL printf
.7 >INC.G Table.Index
cmp #K.OF.MAX
cmp #K.NOD.MAX+2
bne .1
clc
@ -239,8 +243,8 @@ MSG2.B .AZ "%10u\r\n"
MSG2.C .AZ "n/a\r\n"
MSG.SFLAGS .AS "BWRLNEIO"
*--------------------------------------
MSG3 .AZ "ID hFD Type Filepath"
MSG4 .AZ "%03d $%h %5s %s\r\n"
MSG3 .AZ "hNod hFD Type Filepath"
MSG4 .AZ "%03d $%h %5s %s\r\n"
FD.T.REG .AZ "REG"
FD.T.DIR .AZ "DIR"
FD.T.CDEV .AZ "CDEV"

View File

@ -50,10 +50,11 @@ CS.INIT clc
CS.RUN >LDYA L.MSG0
>SYSCALL puts
>LDA.G FILE.ID
lda #1
>STA.G FILE.ID
.1 tax
lda OF.Table.hFD,x
lda OF.Table.hFD-1,x
beq .7
>SYSCALL GetMemPtr
@ -62,18 +63,18 @@ CS.RUN >LDYA L.MSG0
>LDA.G FILE.ID
tax
lda OF.Table.hPath,x
lda OF.Table.hPath-1,x
bne .2
lda OF.Table.hFD,x
lda OF.Table.hFD-1,x
tax
lda Dev.Table,x
lda Dev.Table-1,x
sta ZPFDPtr
clc
adc #S.FD.DEV
tay
lda Dev.Table+1,x
lda Dev.Table,x
sta ZPFDPtr+1
adc /S.FD.DEV
@ -89,7 +90,7 @@ CS.RUN >LDYA L.MSG0
>LDA.G FILE.ID
tax
lda OF.Table.hFD,x
lda OF.Table.hFD-1,x
>PUSHA
txa
>PUSHA
@ -99,7 +100,7 @@ CS.RUN >LDYA L.MSG0
>SYSCALL printf
.7 >INC.G FILE.ID
cmp #K.OF.MAX
cmp #K.OF.MAX+1
bne .1
.8 lda #0 tell TSKMGR that all done ok, but

View File

@ -12,7 +12,7 @@ K.MEM.nALIGNm1 .EQ $F0
*K.MEM.nALIGNm1 .EQ $C0
*--------------------------------------
K.IRQDEV.MAX .EQ 4
K.DEV.MAX .EQ 28
K.DEV.MAX .EQ 14
K.FLT.MAX .EQ 4
K.NOD.MAX .EQ 32
K.PS.MAX .EQ 32

View File

@ -522,8 +522,11 @@ CORE.PSFree sta .10+1 Save PS ID
ldy #S.PS.hStdOut
lda (ZPPtr1),y
tax
lda OF.Table.hFD,x
jsr K.GetMemPtr
lda OF.Table.hFD-1,x
bit #1 hDev ?
bne .11
jsr K.GetMemPtr hNod, get FD
>STYA pFD
lda (pFD)
cmp #S.FD.T.PIPE

View File

@ -11,14 +11,14 @@ AUTO 4,1
*\--------------------------------------
K.GetDevByName >STYA ZPPtr1 requested dev name
ldx #0
ldx #1
.1 lda Dev.Table,x
.1 lda Dev.Table-1,x
clc
adc #S.FD.DEV
sta ZPPtr2
lda Dev.Table+1,x
lda Dev.Table,x
beq K.GetDev.NODEV
adc /S.FD.DEV
sta ZPPtr2+1
@ -33,14 +33,14 @@ K.GetDevByName >STYA ZPPtr1 requested dev name
ora (ZPPtr2),y Both char are 0 ?
bne .2 no....loop
.3 ldy Dev.Table,x
.4 lda Dev.Table+1,x
.3 ldy Dev.Table-1,x
.4 lda Dev.Table,x
clc
rts
.7 inx
inx
cpx DevMgr.DevCnt
cpx #K.DEV.MAX*2+1
bne .1
K.GetDev.NODEV lda #MLI.E.NODEV
@ -59,9 +59,9 @@ K.GetDev.9 rts
K.GetDevStatus tax
>PULLW K.S.IOCTL+S.IOCTL.BUFPTR
lda Dev.Table+1,x
lda Dev.Table,x
beq K.GetDev.NODEV
ldy Dev.Table,x
ldy Dev.Table-1,x
>STYA pFD
lda #S.IOCTL.STATCODE.GETDIB
@ -88,8 +88,8 @@ K.GetDevStatus.I
*\--------------------------------------
K.MKDev jsr MEM.SPtr1PPtr2 ptr1=fd, ptr2=name
ldx DevMgr.DevCnt
cpx #K.DEV.MAX
ldx DevMgr.DevIdx
cpx #K.DEV.MAX*2+1
beq .9
ldy #$ff
@ -109,10 +109,10 @@ K.MKDev jsr MEM.SPtr1PPtr2 ptr1=fd, ptr2=name
>STYA pFD
>STYA .4+1
ldx DevMgr.DevCnt
sta Dev.Table+1,x
tya
ldx DevMgr.DevIdx
sta Dev.Table,x
tya
sta Dev.Table-1,x
ldy #S.FD.DEV-1
@ -149,7 +149,7 @@ K.MKDev jsr MEM.SPtr1PPtr2 ptr1=fd, ptr2=name
inx
inx
cpx #K.IRQDEV.MAX*2
cpx #K.IRQDEV.MAX*2+1
bne .5
.9 lda #E.OOH
@ -161,9 +161,9 @@ K.MKDev jsr MEM.SPtr1PPtr2 ptr1=fd, ptr2=name
lda pFD+1
sta IRQ.Vectors+1,x
.8 lda DevMgr.DevCnt
inc DevMgr.DevCnt
inc DevMgr.DevCnt
.8 lda DevMgr.DevIdx
inc DevMgr.DevIdx
inc DevMgr.DevIdx
* clc
rts
*--------------------------------------

View File

@ -140,8 +140,8 @@ Kernel.Init3 sta SETALTZP
>PUSHWI 0 Aux type
>PUSHBI S.FI.T.TXT
>PUSHBI O.RDWR
>LDYAI DEV.CONSOLE
>SYSCALL fopen
bcs *

View File

@ -45,9 +45,9 @@ IO.Open.I ldx #5 $/DEV/
jsr K.GetDevByName
bcc .7
ldx #0
ldx #2
.10 lda Nod.Table.hPath,x
.10 lda Nod.Table.hPath-2,x
beq .3
jsr K.GetMemPtr
@ -62,13 +62,13 @@ IO.Open.I ldx #5 $/DEV/
cmp #0 end of string ?
bne .2
lda Nod.Table.hFD,x return hFD
lda Nod.Table.hFD-2,x return hFD
sta IO.hFD
jsr K.GetMemPtr
bra .7
.3 inx
cpx #K.NOD.MAX
cpx #K.NOD.MAX+2
bne .10
lda #MLI.E.NODEV
@ -274,21 +274,21 @@ IO.CLOSE.FD lda (pFD),y
.1 lda IO.hFD
jmp K.FreeMem
*--------------------------------------
IO.CLOSE.NOD ldx #0
IO.CLOSE.NOD ldx #2
lda IO.hFD
.1 cmp Nod.Table.hFD,x
.1 cmp Nod.Table.hFD-2,x
bne .2
stz Nod.Table.hFD,x
stz Nod.Table.hFD-2,x
lda Nod.Table.hPath,x
stz Nod.Table.hPath,x
lda Nod.Table.hPath-2,x
stz Nod.Table.hPath-2,x
jmp K.FreeMem
.2 inx
cpx #K.Nod.MAX
cpx #K.Nod.MAX+2
bne .1
rts
*/--------------------------------------
@ -620,11 +620,11 @@ IO.WRITE.PIPE ldy #S.FD.PIPE.S
* Y,A = ...
*\--------------------------------------
K.IOCTL tax
lda Dev.Table+1,x
lda Dev.Table,x
beq K.IOCTL.9
sta pFD+1
lda Dev.Table,x
lda Dev.Table-1,x
sta pFD
jsr K.IOCTL.GetPDrv

View File

@ -748,8 +748,7 @@ MEM.NextCharPtr2
DevMgr.Stat .DA DevMgr.FreeMem
DevMgr.Free .DA DevMgr.FreeMem
.DA DevMgr.HiMem
DevMgr.DevCnt .DA #0
DevMgr.NodCnt .DA #0
DevMgr.DevIdx .DA #1
*--------------------------------------
MAN
SAVE USR/SRC/SYS/KERNEL.S.MEM

View File

@ -93,15 +93,15 @@ PFT.CheckNodeA stx .80+1 Save SYSCALL #
sta .81+1 Save hFILE
tax
lda OF.Table.hFD,x /DEV/NULL = 0!
lda OF.Table.hFD-1,x
beq .9
sta IO.hFD
ldy OF.Table.hPath,x if 0, its a hDEV
ldy OF.Table.hPath-1,x if 0, its a hDEV
bne .10
tax
lda Dev.Table+1,x
ldy Dev.Table,x
ldy Dev.Table-1,x
lda Dev.Table,x
bra .11
.10 jsr K.GetMemPtr

View File

@ -50,7 +50,7 @@ K.FStat jsr PFT.CheckNodeA
bcs K.FStat.9
tax
lda OF.Table.hPath,x
lda OF.Table.hPath-1,x
jsr K.GetMemPtr
jsr PFT.YAToMLIPATH
@ -210,13 +210,13 @@ K.MkNod >STYA ZPPtr1 pathname
>PULLW K.S.STAT+S.STAT.MODE
>PULLB K.S.STAT+S.STAT.DEV
K.MkNod.I ldx #0
K.MkNod.I ldx #2
.1 lda Nod.Table.hPath,x
.1 lda Nod.Table.hPath-2,x
beq .2
inx
cpx #K.Nod.MAX
cpx #K.Nod.MAX+2
bne .1
lda #E.OOH
@ -231,9 +231,9 @@ K.MkNod.I ldx #0
txa
.3 ldx #$ff SELF MODIFIED
sta Nod.Table.hPath,x
sta Nod.Table.hPath-2,x
lda K.S.STAT+S.STAT.DEV
sta Nod.Table.hFD,x
sta Nod.Table.hFD-2,x
txa hNODE

View File

@ -1107,12 +1107,12 @@ K.FClose jsr PFT.CheckNodeA
bcs .9
.1 ldx #$ff SELF MODIFIED
stz OF.Table.hFD,x
stz OF.Table.hFD-1,x
lda OF.Table.hPath,x
lda OF.Table.hPath-1,x
beq .9 special files have no path
stz OF.Table.hPath,x
stz OF.Table.hPath-1,x
jmp K.FreeMem discard filename
* clc
@ -1376,13 +1376,13 @@ K.Rename jsr PFT.CheckPathYA
*--------------------------------------
STDIO.NewHFile sta .4+1 Store hFD
ldx #0
ldx #1
.1 lda OF.Table.hFD,x
.1 lda OF.Table.hFD-1,x
beq .2
inx
cpx #K.OF.MAX
cpx #K.OF.MAX+1
bne .1
lda #E.OOH
@ -1408,13 +1408,13 @@ STDIO.NewHFile sta .4+1 Store hFD
txa
.3 ldx #$ff SELF MODIFIED
sta OF.Table.hPath,x
sta OF.Table.hPath-1,x
.4 lda #$ff SELF MODIFIED
sta OF.Table.hFD,x
sta OF.Table.hFD-1,x
txa hFILE
* clc
clc
.9 rts
*--------------------------------------
STDIO.IOERR lda #MLI.E.IO

View File

@ -1175,11 +1175,11 @@ DRV.TERM.Title.ON
ldy #S.DCB.TTY.DEVID
lda (ZPDCBPtr),y
tax
lda Dev.Table,x
lda Dev.Table-1,x
clc
adc #S.FD.DEV
tay
lda Dev.Table+1,x
lda Dev.Table,x
adc /S.FD.DEV
>STYA ZPTmpWord