mirror of
https://github.com/A2osX/A2osX.git
synced 2025-03-22 11:32:55 +00:00
Kernel 0.93+
This commit is contained in:
parent
29a219bcfa
commit
9be1af0109
Binary file not shown.
@ -15,8 +15,7 @@ NEW
|
||||
ZS.START
|
||||
ZPPTR1 .BS 2
|
||||
EntryCount .BS 1
|
||||
ZS.END
|
||||
.ED
|
||||
ZS.END .ED
|
||||
*--------------------------------------
|
||||
* File Header (16 Bytes)
|
||||
*--------------------------------------
|
||||
@ -60,15 +59,19 @@ CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG is TCPIP loaded ?
|
||||
>STYA ZPPTR1
|
||||
lda (ZPPTR1) Configured ?
|
||||
bmi CS.RUN.IPOK
|
||||
|
||||
>LDYA L.MSG.IPKO
|
||||
>SYSCALL puts
|
||||
lda #E.SYN
|
||||
sec
|
||||
rts
|
||||
|
||||
CS.RUN.IPOK ldy #S.PS.ARGC
|
||||
lda (pPs),y
|
||||
bne .1
|
||||
|
||||
jmp CS.RUN.DUMP
|
||||
|
||||
.1 cmp #2
|
||||
beq CS.RUN.ADD
|
||||
>PUSHBI 0
|
||||
@ -83,18 +86,21 @@ CS.RUN.ADD >PUSHEA.G DST.IP+3
|
||||
>PUSHEA.G DST.IP+2
|
||||
>PUSHEA.G DST.IP+1
|
||||
>PUSHEA.G DST.IP
|
||||
|
||||
>PUSHBI 8 4 PTRs
|
||||
>PUSHW L.SSCANF.IP
|
||||
lda #2
|
||||
>SYSCALL ArgV
|
||||
>SYSCALL sscanf
|
||||
bcs .9
|
||||
|
||||
>PUSHEA.G DST.IP
|
||||
lda #1
|
||||
>SYSCALL ArgV
|
||||
>PUSHYA
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.DNS.ADD
|
||||
bcs .99
|
||||
|
||||
lda #0 tell TSKMGR that all done ok, but
|
||||
sec we do not want to stay in memory
|
||||
rts
|
||||
|
@ -952,16 +952,14 @@ CMD.FOR.EXEC jsr CORE.ArgV.NextChar skip "`"
|
||||
>LDYA ZPArgVBufPtr
|
||||
>SYSCALL execl
|
||||
bcs FOR.FILE.9
|
||||
>LDA.G IO.hOut
|
||||
ldy #S.PS.hStdOut
|
||||
sta (pPS),y
|
||||
>STZ.G IO.hOut
|
||||
>LEA.G IO.FIFO
|
||||
ldx #O.RDONLY+O.TEXT
|
||||
jsr IO.FOpenYAX
|
||||
|
||||
jsr IO.Pop.Out Restore OUT (NO close)
|
||||
|
||||
jsr IO.Pipe.OpenR
|
||||
|
||||
bcs FOR.FILE.9
|
||||
|
||||
CMD.FOR.PUSH jsr CORE.StkPush push hPIPE
|
||||
CMD.FOR.PUSH jsr CORE.StkPush push hPIPE for read
|
||||
jsr CORE.PushVarName Push hVARNAME
|
||||
bcs FOR.FILE.9
|
||||
|
||||
|
@ -106,6 +106,7 @@ CORE.Run.EOF jsr CORE.StkPull
|
||||
CORE.Run.SYN lda #E.SYN
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CORE.Run >LDYA ZPInputBufPtr Save Actual cmd for looping
|
||||
>STYA ZPInputCmdPtr
|
||||
|
||||
@ -117,23 +118,28 @@ CORE.Run >LDYA ZPInputBufPtr Save Actual cmd for looping
|
||||
sta CORE.PSFlags
|
||||
lda #$ff
|
||||
sta CORE.IntCmd assume external
|
||||
|
||||
jsr CORE.GetCharNB
|
||||
bcs CORE.Run.EOF
|
||||
cmp #'|'
|
||||
bne .21
|
||||
|
||||
jsr IO.Pipe.In
|
||||
bcs .9
|
||||
|
||||
jsr CORE.GetNextCharNB Skip |
|
||||
bcs CORE.Run.SYN
|
||||
|
||||
bra .3
|
||||
|
||||
.21 pha
|
||||
jsr IO.Reset
|
||||
pla
|
||||
|
||||
.3 cmp #C.CR empty line ?
|
||||
bne .33
|
||||
jsr CORE.GetNextChar skip CR...
|
||||
bra .8
|
||||
|
||||
.33 cmp #'#' commented line?
|
||||
bne .4
|
||||
|
||||
@ -143,6 +149,7 @@ CORE.Run >LDYA ZPInputBufPtr Save Actual cmd for looping
|
||||
lda #0
|
||||
clc
|
||||
.9 rts EOL, CS,A=0
|
||||
|
||||
.4 >LDYA L.CMD internal command ?
|
||||
jsr CORE.LookupInputBuf
|
||||
bcc .41
|
||||
@ -186,13 +193,17 @@ CORE.Run.5 >LDYA L.CORE.IO
|
||||
jsr CORE.IO.JMP
|
||||
bcs CORE.Run.RTS
|
||||
bra CORE.Run.7
|
||||
|
||||
CORE.Run.6 jsr CORE.ArgV.Add
|
||||
|
||||
CORE.Run.7 jsr CORE.GetCharNB
|
||||
bcs CORE.ExecCmd.1 Nothing to skip
|
||||
jsr CORE.IsEndCmd
|
||||
bcs CORE.Run.5
|
||||
|
||||
cmp #'|'
|
||||
bne CORE.ExecCmd skip CR, ;
|
||||
|
||||
jsr IO.Pipe.Out
|
||||
bcs CORE.Run.RTS
|
||||
|
||||
@ -200,7 +211,15 @@ CORE.Run.7 jsr CORE.GetCharNB
|
||||
and #$ff^S.PS.F.HOLD Run in the background...
|
||||
ora #S.PS.F.CLOSEONX ...and close PIPE on exit
|
||||
sta CORE.PSFlags
|
||||
bra CORE.ExecCmd.1 Do not skip |
|
||||
jsr CORE.ExecCmd.1 Do not skip |
|
||||
|
||||
php
|
||||
pha
|
||||
|
||||
jsr IO.Pop.Out restore Output
|
||||
|
||||
pla
|
||||
plp
|
||||
CORE.Run.RTS rts
|
||||
*--------------------------------------
|
||||
* Input : ZPArgVBuf
|
||||
@ -228,6 +247,7 @@ CORE.ExecExtCmd >PUSHB CORE.PSFlags
|
||||
lda CORE.PSFlags
|
||||
and #S.PS.F.HOLD
|
||||
bne .4
|
||||
|
||||
txa
|
||||
>PUSHA
|
||||
>PUSHBI 1
|
||||
@ -236,11 +256,13 @@ CORE.ExecExtCmd >PUSHB CORE.PSFlags
|
||||
lda (pPS),y
|
||||
>SYSCALL fprintf
|
||||
rts
|
||||
|
||||
.4 >SLEEP Suspend this PID
|
||||
sec
|
||||
ldy #S.PS.RC CPID will update S.PS.RC
|
||||
lda (pPs),y
|
||||
bne .9
|
||||
|
||||
.8 clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
|
@ -15,16 +15,20 @@ IO.Load pha
|
||||
>SYSCALL LoadTxtFile
|
||||
rts
|
||||
*--------------------------------------
|
||||
IO.Pipe.In >LDA.G IO.hOut
|
||||
ldy #S.PS.hStdOut
|
||||
sta (pPS),y
|
||||
>STZ.G IO.hOut
|
||||
|
||||
>LEA.G IO.FIFO
|
||||
ldx #O.RDONLY+O.TEXT
|
||||
jsr IO.FOpenYAX
|
||||
|
||||
IO.Pipe.In jsr IO.Pipe.OpenR Open last created PIPE
|
||||
bcs IO.Set.RTS
|
||||
|
||||
pha
|
||||
|
||||
ldy #S.PS.hStdIn
|
||||
lda (pPS),y
|
||||
>STA.G IO.hIn
|
||||
|
||||
pla
|
||||
|
||||
ldy #S.PS.hStdIn
|
||||
sta (pPS),y
|
||||
rts
|
||||
*--------------------------------------
|
||||
IO.Set.In pha
|
||||
jsr IO.Reset.In
|
||||
@ -35,9 +39,15 @@ IO.Set.In pha
|
||||
ldy #S.PS.hStdIn
|
||||
sta (pPS),y
|
||||
IO.Set.RTS rts
|
||||
*--------------------------------------
|
||||
IO.Pop.In clc
|
||||
.HS B0 BCS
|
||||
*--------------------------------------
|
||||
IO.Reset.In >LDA.G IO.hIn
|
||||
IO.Reset.In sec
|
||||
>LDA.G IO.hIn
|
||||
beq .8
|
||||
bcc .1
|
||||
|
||||
pha
|
||||
|
||||
ldy #S.PS.hStdIn
|
||||
@ -45,22 +55,32 @@ IO.Reset.In >LDA.G IO.hIn
|
||||
|
||||
>SYSCALL fclose
|
||||
pla
|
||||
ldy #S.PS.hStdIn
|
||||
|
||||
.1 ldy #S.PS.hStdIn
|
||||
sta (pPS),y
|
||||
>STZ.G IO.hIn
|
||||
|
||||
.8 clc
|
||||
IO.Reset.In.RTS rts
|
||||
*--------------------------------------
|
||||
IO.Pipe.Out >PUSHWZ mode
|
||||
>LEA.G IO.FIFO
|
||||
>SYSCALL MKFIFO
|
||||
bcs IO.Reset.In.RTS
|
||||
bcs IO.Reset.In.RTS Create a new PIPE
|
||||
|
||||
>LEA.G IO.FIFO
|
||||
ldx #O.WRONLY+O.TEXT
|
||||
jsr IO.FOpenYAX
|
||||
jsr IO.Pipe.OpenW Open for OUTPUT
|
||||
|
||||
bcs IO.Reset.In.RTS
|
||||
|
||||
pha
|
||||
ldy #S.PS.hStdOut
|
||||
lda (pPS),y
|
||||
>STA.G IO.hOut
|
||||
pla
|
||||
ldy #S.PS.hStdOut
|
||||
sta (pPS),y
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
IO.Set.Out pha
|
||||
jsr IO.Reset.Out
|
||||
@ -70,17 +90,25 @@ IO.Set.Out pha
|
||||
pla
|
||||
ldy #S.PS.hStdOut
|
||||
sta (pPS),y
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
IO.Reset.Out >LDA.G IO.hOut
|
||||
IO.Pop.Out clc
|
||||
.HS B0 BCS
|
||||
*--------------------------------------
|
||||
IO.Reset.Out sec
|
||||
>LDA.G IO.hOut
|
||||
beq .8
|
||||
|
||||
bcc .1
|
||||
|
||||
pha
|
||||
ldy #S.PS.hStdOut
|
||||
lda (pPS),y
|
||||
|
||||
>SYSCALL fclose
|
||||
pla
|
||||
ldy #S.PS.hStdOut
|
||||
|
||||
.1 ldy #S.PS.hStdOut
|
||||
sta (pPS),y
|
||||
>STZ.G IO.hOut
|
||||
.8 rts
|
||||
@ -107,14 +135,18 @@ IO.Reset.Err >LDA.G IO.hErr
|
||||
>STZ.G IO.hErr
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
IO.FOpenYAX phy
|
||||
pha
|
||||
IO.Pipe.OpenR ldx #O.RDONLY+O.TEXT
|
||||
.HS 2C BIT ABS
|
||||
|
||||
IO.Pipe.OpenW ldx #O.WRONLY+O.TEXT
|
||||
>LEA.G IO.FIFO
|
||||
*--------------------------------------
|
||||
IO.FOpenYAX pha
|
||||
>PUSHWZ Aux type
|
||||
>PUSHBI S.FI.T.TXT
|
||||
txa
|
||||
>PUSHA
|
||||
pla
|
||||
ply
|
||||
>SYSCALL fopen
|
||||
rts
|
||||
*--------------------------------------
|
||||
@ -228,6 +260,7 @@ IO.PrintErrMsg pha Save EC for PrintF
|
||||
>PUSHA
|
||||
>PUSHBI 3
|
||||
>PUSHW L.MSG.ERROR
|
||||
|
||||
IO.PrintErr ldy #S.PS.hStdErr
|
||||
lda (pPS),y
|
||||
>SYSCALL fprintf
|
||||
|
@ -7,24 +7,15 @@ NEW
|
||||
* **In:**
|
||||
* ## RETURN VALUE
|
||||
*\--------------------------------------
|
||||
ARP.Clear lda hARPCache
|
||||
bne .1
|
||||
|
||||
>LDYAI K.ARPCACHE.SIZE*S.ARPCACHE
|
||||
>SYSCALL2 GetMem0
|
||||
bcs .9
|
||||
|
||||
stx hARPCache
|
||||
rts
|
||||
|
||||
.1 jsr ARP.GetCache
|
||||
ARP.Clear jsr ARP.GetCache
|
||||
|
||||
lda #0
|
||||
tay
|
||||
|
||||
.2 sta (ZPCachePtr),y
|
||||
iny
|
||||
cpy #K.ARPCACHE.SIZE*S.ARPCACHE
|
||||
bne .1
|
||||
bne .2
|
||||
|
||||
clc
|
||||
.9 rts
|
||||
|
@ -164,15 +164,27 @@ LIB.LOAD ldx RefCount
|
||||
sta FD.DSOCK+S.FD.DSOCK.IOHANDLER
|
||||
sta FD.SSOCK+S.FD.SSOCK.IOHANDLER
|
||||
|
||||
jsr ARP.CLEAR
|
||||
>LDYAI K.ARPCACHE.SIZE*S.ARPCACHE
|
||||
>SYSCALL2 GetMem0
|
||||
bcs .9
|
||||
|
||||
stx hARPCache
|
||||
|
||||
jsr DNS.CLEAR
|
||||
.8 inc RefCount
|
||||
|
||||
clc
|
||||
rts
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
LIB.UNLOAD dec RefCount
|
||||
clc
|
||||
bne .8
|
||||
|
||||
lda hARPCache
|
||||
beq .8
|
||||
|
||||
>SYSCALL2 freemem
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
INCOMING sta hFrameIn
|
||||
|
@ -42,13 +42,18 @@ K.UnloadLib pha
|
||||
jsr K.GetMemPtr
|
||||
>STYA .2+1
|
||||
|
||||
jsr Mem.DecRefCnt
|
||||
ldy #S.MEM.REFCNT
|
||||
lda (ZPMemMgrSPtr),y
|
||||
dec
|
||||
bne .8
|
||||
.1 ldx #LIBMGR.UNLOAD
|
||||
|
||||
ldx #LIBMGR.UNLOAD
|
||||
.2 jsr $ffff Self Modified, Call LIB.UNLOAD function
|
||||
pla
|
||||
jmp K.FreeMem
|
||||
.8 pla
|
||||
|
||||
.8 sta (ZPMemMgrSPtr),y
|
||||
pla
|
||||
* clc
|
||||
rts
|
||||
*/--------------------------------------
|
||||
@ -263,7 +268,7 @@ BIN.RelExe ldy #H.BIN.T+1
|
||||
|
||||
.HS 2C bit abs
|
||||
*--------------------------------------
|
||||
BIN.RelDrv ldy #H.BIN.DRV.REL.TABLE
|
||||
BIN.RelDrv ldy #H.BIN.DRV.REL.TABLE
|
||||
|
||||
.1 iny
|
||||
lda (ZPPtr1),y HI in A
|
||||
|
Loading…
x
Reference in New Issue
Block a user