mirror of https://github.com/A2osX/A2osX.git
Kernel 0.92+
This commit is contained in:
parent
19433211e8
commit
4988ec02fc
Binary file not shown.
|
@ -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
|
||||
*--------------------------------------
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
*--------------------------------------
|
||||
|
|
|
@ -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 *
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue