mirror of
https://github.com/A2osX/A2osX.git
synced 2024-06-16 15:29:38 +00:00
Kernel 0.92+
This commit is contained in:
parent
0d729cd34e
commit
ce366a221e
Binary file not shown.
|
@ -65,6 +65,8 @@ CS.RUN >LEA.G MemStat
|
|||
|
||||
>LDYA L.MSG0
|
||||
>SYSCALL puts
|
||||
|
||||
>INC.G MEM.COUNT skip slot 0
|
||||
|
||||
CS.RUN.LOOP >LDA.G bSTOP
|
||||
beq .1
|
||||
|
@ -282,9 +284,9 @@ CS.QUIT clc
|
|||
rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
MSG0 .AZ " # Flags PID REF PTR LEN BINPATH/DATA"
|
||||
MSG0 .AZ "hMem Flags PID REF PTR LEN BINPATH/DATA"
|
||||
MSG1.INV .AZ "\e[7m"
|
||||
MSG1 .AZ "$%h %s %3d %3d $%H %5D "
|
||||
MSG1 .AZ "$%h %s %3d %3d $%H %5D "
|
||||
MSG1.BIN .AZ "{%s}\e[0m\r\n"
|
||||
MSG1.STR .AZ "[%03d:%s]\e[0m\r\n"
|
||||
MSG1.HEX .AZ "?HEX:%h%h.%h%h.%h%h.%h%h.%h%h.%h%h.%h%h.%h%h\e[0m\r\n"
|
||||
|
|
|
@ -519,23 +519,7 @@ CORE.PSFree sta .10+1 Save PS ID
|
|||
bcs .9
|
||||
>STYA ZPPtr1
|
||||
|
||||
ldy #S.PS.hStdOut
|
||||
lda (ZPPtr1),y
|
||||
tax
|
||||
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
|
||||
bne .11
|
||||
|
||||
txa
|
||||
>SYSCALL fclose
|
||||
|
||||
.11 ldy #S.PS.hSS
|
||||
ldy #S.PS.hSS
|
||||
jsr .8
|
||||
|
||||
ldy #S.PS.hDS
|
||||
|
@ -556,7 +540,23 @@ CORE.PSFree sta .10+1 Save PS ID
|
|||
|
||||
.1 ldy #S.PS.hPREFIX
|
||||
jsr .8
|
||||
|
||||
ldy #S.PS.hStdOut
|
||||
lda (ZPPtr1),y
|
||||
tax
|
||||
lda OF.Table.hFD-1,x
|
||||
bit #1 hDev ?
|
||||
bne .10
|
||||
|
||||
jsr K.GetMemPtr hNod, get FD
|
||||
>STYA pFD
|
||||
lda (pFD)
|
||||
cmp #S.FD.T.PIPE
|
||||
bne .10
|
||||
|
||||
txa
|
||||
>SYSCALL fclose
|
||||
|
||||
.10 lda #$ff Self Modified
|
||||
|
||||
ldx #0
|
||||
|
|
|
@ -7,7 +7,7 @@ AUTO 4,1
|
|||
* ## RETURN VALUE
|
||||
* CC = OK, CS = ERROR
|
||||
* Y,A = FD
|
||||
* X = DevID
|
||||
* X = hDev
|
||||
*\--------------------------------------
|
||||
K.GetDevByName >STYA ZPPtr1 requested dev name
|
||||
|
||||
|
|
|
@ -15,15 +15,15 @@ AUTO 4,1
|
|||
* A = EC
|
||||
*\--------------------------------------
|
||||
K.OpenDir jsr PFT.CheckPathYA
|
||||
bcs .99
|
||||
bcs K.ReadDir.RTS
|
||||
|
||||
>LDYAI S.FD.DIR
|
||||
ldx #S.MEM.F.INIT0+S.MEM.F.FD
|
||||
jsr MEM.GetMem.YAX
|
||||
bcs .99
|
||||
bcs K.ReadDir.RTS
|
||||
|
||||
>STYA pFD
|
||||
stx .8+1
|
||||
stx IO.hFD
|
||||
|
||||
ldy #S.FD.T
|
||||
lda #S.FD.T.DIR
|
||||
|
@ -42,17 +42,12 @@ K.OpenDir jsr PFT.CheckPathYA
|
|||
jsr IO.MLIOPEN
|
||||
bcs .98
|
||||
|
||||
.8 lda #$ff Self Modified
|
||||
.8 lda IO.hFD
|
||||
jsr STDIO.NewHFile
|
||||
|
||||
bcc .99
|
||||
bcc K.ReadDir.RTS
|
||||
|
||||
.98 pha save MLI error
|
||||
lda .8+1
|
||||
jsr K.Close
|
||||
pla get back MLI error
|
||||
sec
|
||||
.99 rts
|
||||
.98 jmp IO.OPEN.ERR
|
||||
*/--------------------------------------
|
||||
* # ReadDir
|
||||
* ## C
|
||||
|
|
|
@ -141,7 +141,6 @@ Kernel.Init3 sta SETALTZP
|
|||
>PUSHBI S.FI.T.TXT
|
||||
>PUSHBI O.RDWR
|
||||
>LDYAI DEV.CONSOLE
|
||||
|
||||
>SYSCALL fopen
|
||||
bcs *
|
||||
|
||||
|
|
|
@ -17,7 +17,9 @@ AUTO 4,1
|
|||
K.Open.FLAGS .BS 1
|
||||
K.Open.TYPE .BS 1
|
||||
K.Open.AUXTYPE .BS 2
|
||||
IO.hDev .BS 1
|
||||
IO.hFD .BS 1
|
||||
IO.hFILE .BS 1
|
||||
IO.Counter .BS 2
|
||||
*--------------------------------------
|
||||
K.Open jsr PFT.YAToMLIPATH
|
||||
|
@ -65,7 +67,8 @@ IO.Open.I ldx #5 $/DEV/
|
|||
lda Nod.Table.hFD-2,x return hFD
|
||||
sta IO.hFD
|
||||
jsr K.GetMemPtr
|
||||
bra .7
|
||||
|
||||
bra .71
|
||||
|
||||
.3 inx
|
||||
cpx #K.NOD.MAX+2
|
||||
|
@ -75,12 +78,11 @@ IO.Open.I ldx #5 $/DEV/
|
|||
* sec
|
||||
rts no OF found
|
||||
|
||||
.7 >STYA pFD
|
||||
phx DEVID/NODID
|
||||
.7 stx IO.hDev
|
||||
.71 >STYA pFD
|
||||
|
||||
lda (pFD) #S.FD.T
|
||||
tax
|
||||
pla
|
||||
jmp (.8,x)
|
||||
|
||||
.8 .DA STDIO.IOERR REG
|
||||
|
@ -118,14 +120,14 @@ IO.OPEN.REG.E >LDYAI S.FD.REG
|
|||
bcs IO.OPEN.RTS
|
||||
|
||||
>STYA pFD
|
||||
stx .8+1 save hFD
|
||||
stx IO.hFD
|
||||
|
||||
* ldy #S.FD.T Done by GetMem0
|
||||
* lda #S.FD.T.REG
|
||||
* sta (pFD),y
|
||||
|
||||
jsr IO.MLIOPEN
|
||||
bcs .9
|
||||
bcs IO.OPEN.ERR
|
||||
|
||||
lda K.Open.FLAGS
|
||||
bit #O.WRONLY
|
||||
|
@ -141,10 +143,10 @@ IO.OPEN.REG.E >LDYAI S.FD.REG
|
|||
bra .21
|
||||
|
||||
.11 >MLICALL MLIGETEOF
|
||||
bcs .9
|
||||
bcs IO.OPEN.ERR
|
||||
|
||||
>MLICALL MLISETMARK
|
||||
.21 bcs .9
|
||||
.21 bcs IO.OPEN.ERR
|
||||
|
||||
.20 lda K.Open.FLAGS
|
||||
and #O.TEXT Text Mode ?
|
||||
|
@ -155,29 +157,27 @@ IO.OPEN.REG.E >LDYAI S.FD.REG
|
|||
lda #C.CR
|
||||
sta K.MLI.PARAMS+3
|
||||
>MLICALL MLINEWLINE
|
||||
bcs .9
|
||||
bcs IO.OPEN.ERR
|
||||
|
||||
.8 lda #$ff SELF MODIFIED
|
||||
.8 lda IO.hFD
|
||||
rts
|
||||
|
||||
.9 pha Save Error Code
|
||||
lda .8+1
|
||||
IO.OPEN.ERR pha Save Error Code
|
||||
lda IO.hFD
|
||||
jsr K.Close
|
||||
pla
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
IO.OPEN.CDEV
|
||||
IO.OPEN.BDEV sta .1+1 A=DEVID
|
||||
pha
|
||||
jsr K.IOCTL.GetPDrv
|
||||
IO.OPEN.BDEV jsr K.IOCTL.GetPDrv
|
||||
|
||||
ldx #IOCTL.OPEN
|
||||
pla pass A=DEVID To Driver
|
||||
lda IO.hDev
|
||||
jsr K.IOCTL.pDrvJmp
|
||||
bcs .9
|
||||
|
||||
.1 lda #$ff SELF MODIFIED
|
||||
lda IO.hDev
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
|
@ -254,6 +254,7 @@ IO.CLOSE.SSOCK
|
|||
rts
|
||||
*--------------------------------------
|
||||
IO.CLOSE.PIPE ldy #S.FD.PIPE.S
|
||||
|
||||
lda (pFD),y
|
||||
bmi .1 remote PS closed its end
|
||||
|
||||
|
@ -290,6 +291,9 @@ IO.CLOSE.NOD ldx #2
|
|||
.2 inx
|
||||
cpx #K.Nod.MAX+2
|
||||
bne .1
|
||||
|
||||
lda #E.INVH
|
||||
* sec
|
||||
rts
|
||||
*/--------------------------------------
|
||||
* # read (BLOCKING)
|
||||
|
@ -419,7 +423,7 @@ IO.READ.SSOCK ldy #S.FD.SSOCK.READ
|
|||
* (pStack)+0 buf
|
||||
*--------------------------------------
|
||||
IO.READ.PIPE ldy #S.FD.PIPE.Used+1
|
||||
|
||||
|
||||
lda (pFD),y Data ?
|
||||
dey
|
||||
ora (pFD),y
|
||||
|
@ -436,7 +440,7 @@ IO.READ.PIPE ldy #S.FD.PIPE.Used+1
|
|||
rts
|
||||
|
||||
.10 >PULLW .3+1 get buf
|
||||
|
||||
|
||||
>PULLA get cnt lo
|
||||
eor #$ff
|
||||
sta IO.Counter
|
||||
|
|
|
@ -255,7 +255,7 @@ K.MKFIFO
|
|||
* jsr K.pipe
|
||||
* bcs .9
|
||||
|
||||
* sta K.S.STAT+S.STAT.DEV
|
||||
* sta IO.hFD
|
||||
* stz K.S.STAT+S.STAT.MODE
|
||||
* stz K.S.STAT+S.STAT.MODE+1
|
||||
|
||||
|
@ -264,10 +264,7 @@ K.MKFIFO
|
|||
* jsr K.MkNod.I
|
||||
* bcc .9
|
||||
|
||||
* pha
|
||||
* lda K.S.STAT+S.STAT.DEV
|
||||
* jsr K.Close
|
||||
* pla
|
||||
* jmp IO.OPEN.ERR
|
||||
sec
|
||||
|
||||
rts
|
||||
|
|
|
@ -1072,19 +1072,12 @@ K.FOpen jsr PFT.CheckPathYA
|
|||
>PULLW K.Open.AUXTYPE
|
||||
|
||||
jsr IO.Open.I
|
||||
bcs .9
|
||||
bcs K.FClose.RTS
|
||||
|
||||
sta .1+1 save hFD
|
||||
|
||||
jsr STDIO.NewHFile
|
||||
bcc .9
|
||||
bcc K.FClose.RTS
|
||||
|
||||
pha save MLI error
|
||||
.1 lda #$ff SELF MODIFIED
|
||||
jsr K.Close
|
||||
pla get back MLI error
|
||||
sec
|
||||
.9 rts
|
||||
jmp IO.Open.ERR
|
||||
|
||||
K.FOpen.RET4 >RET 4
|
||||
*/--------------------------------------
|
||||
|
@ -1099,25 +1092,23 @@ K.FOpen.RET4 >RET 4
|
|||
* ## RETURN VALUE
|
||||
*\--------------------------------------
|
||||
K.FClose jsr PFT.CheckNodeA
|
||||
bcs .9
|
||||
bcs K.FClose.RTS
|
||||
|
||||
sta .1+1 store hFile
|
||||
|
||||
jsr IO.Close.I
|
||||
bcs .9
|
||||
bcs K.FClose.RTS
|
||||
|
||||
.1 ldx #$ff SELF MODIFIED
|
||||
stz OF.Table.hFD-1,x
|
||||
|
||||
lda OF.Table.hPath-1,x
|
||||
beq .9 special files have no path
|
||||
beq K.FClose.RTS special files have no path
|
||||
|
||||
stz OF.Table.hPath-1,x
|
||||
jmp K.FreeMem discard filename
|
||||
|
||||
* clc
|
||||
|
||||
.9 rts
|
||||
K.FClose.RTS rts
|
||||
*/--------------------------------------
|
||||
* # FRead (BLOCKING)
|
||||
* Read bytes from file
|
||||
|
|
Loading…
Reference in New Issue
Block a user