Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-08-20 15:20:33 +02:00
parent 344cc66bb8
commit 99117310ee
15 changed files with 88 additions and 78 deletions

Binary file not shown.

Binary file not shown.

View File

@ -205,11 +205,15 @@ CL.CLR lda (ZPCLBuf)
*--------------------------------------
CL.Reset lda #0
sta (ZPCLBuf)
CL.Reset.1 lda #0
ldy #CL.Ptr
.1 sta (pData),y
iny
cpy #CL.bEscMode+1
bne .1
CL.Reset.1 >STA.G CL.Ptr
>STA.G CL.Len
>STA.G CL.bReady
>STA.G CL.bEscMode
rts
*--------------------------------------
CL.BS >LDA.G CL.Ptr

View File

@ -251,9 +251,7 @@ CMD.SET.EXEC jsr CORE.ArgV.NextChar skip "`"
jsr IO.Pipe.Out
bcs .9
>PUSHW ZPArgVBufPtr
>PUSHBI S.PS.F.CLOSEONX
>SYSCALL ExecL
jsr IO.Exec
bcs .9
jsr IO.Pipe.In
@ -610,6 +608,13 @@ CMD.FUNCTION lda (ZPArgVBufPtr)
pla
>PUSHYA DataLen
>SYSCALL SListAddData
bcs .99
>PUSHB.G hFuncList
>PUSHW ZPTmpW KeyID
>PUSHW L.PtrZero DataPtr
>PUSHWI 1 DataLen
>SYSCALL SListAddData Add Ending \0
rts
*--------------------------------------
CMD.CALL jsr CMD.CALL.GETFUNC
@ -693,10 +698,10 @@ CMD.EXIT.FILE jsr CORE.StkPullFree Code buffer
jsr CORE.StkPullInputBufPtr
jsr CORE.StkPull
sta ZPInputBuf+1
jsr CORE.StkPull
sta ZPInputBuf
jsr CORE.StkPull
sta ZPInputBuf+1
ldy #S.PS.RC
lda (pPS),y
@ -883,9 +888,7 @@ CMD.FOR.EXEC jsr CORE.ArgV.NextChar skip "`"
jsr IO.Pipe.Out
bcs FOR.FILE.9
>PUSHW ZPArgVBufPtr
>PUSHBI S.PS.F.CLOSEONX
>SYSCALL ExecL
jsr IO.Exec
bcs FOR.FILE.9
jsr IO.Pop.Out Restore OUT (NO close)

View File

@ -245,10 +245,8 @@ CORE.Run.7 jsr CORE.GetCharNB
jsr IO.Pipe.Out
bcs CORE.Run.Exit
lda #S.PS.F.HOLD Run in the background...
trb CORE.PSFlags
lda #S.PS.F.CLOSEONX ...and close PIPE OUT on exit
tsb CORE.PSFlags
lda #S.PS.F.HOLD+S.PS.F.CLOSEONX Run in the background...
tsb CORE.PSFlags ...and close PIPE OUT on exit
jsr CORE.ExecCmd

View File

@ -8,30 +8,28 @@ EXP.GET jsr CORE.ArgV.Next
clc
rts
.1 >LDYA ZPArgVBufPrev
jsr EXP.GetInt32YA To Int32 on stack
bcs .9
.1 >PUSHEA.G M32.BUF
>PUSHW L.FMT.Long
>LDYA ZPArgVBufPrev
jsr EXP.GetInt32YA To Int32 on stack
bcs .94 4 bytes on stack
.2 >LDYA L.EXP.OP.MATH + - .... ?
jsr CORE.LookupArgVBuf
bcs .94
bcs .98
stx CORE.Operator
jsr CORE.ArgV.Next get next argument
beq .94
beq .98
jsr EXP.GetInt32Arg To Int32 on stack
bcs .94
bcs .98
jsr EXP.FPU.EXEC
jsr CORE.ArgV.Next another op ?
bne .2
>PULLL M32.ACC Value on stack
>PUSHEA.G M32.BUF
>PUSHW L.FMT.Long
>PUSHL M32.ACC
>PUSHBI 4
>SYSCALL SPrintF
bcs .9
@ -39,6 +37,7 @@ EXP.GET jsr CORE.ArgV.Next
>LEA.G M32.BUF
rts
.98 jsr IncPStack4
.94 jsr IncPStack4
.9 jmp EXP.E.ESYN

View File

@ -157,6 +157,11 @@ IO.StatYA >PUSHYA
.9 rts
*--------------------------------------
IO.Exec >PUSHW ZPArgVBufPtr
>PUSHBI S.PS.F.CLOSEONX
>SYSCALL ExecL
rts
*--------------------------------------
IO.PrintBatchErrMsg
>LDYA ZPInputBuf
>STYA ZPPtr1

View File

@ -174,6 +174,7 @@ L.EXP.OP.BINARY .DA EXP.OP.BINARY
L.EXP.OP.MATH .DA EXP.OP.MATH
L.EXP.OP.LOGIC .DA EXP.OP.LOGIC
L.HOME.PROFILE .DA HOME.PROFILE
L.PtrZero .DA PtrZero
L.HOME .DA HOME
L.PS1 .DA PS1
.DA 0
@ -564,7 +565,7 @@ FMT.Long .AZ "%L"
FMT.Byte .AZ "%d"
*--------------------------------------
HOME.PROFILE .AZ "${HOME}profile"
.HS 00 To Make It ArgV
PtrZero .HS 00 To Make It ArgV
PS1 .AZ "${PS1}"
HOME .AZ "${HOME}"
*--------------------------------------

View File

@ -129,13 +129,13 @@ CS.RUN ldy #S.PS.ARGC
CS.RUN.LOOP0 >SLEEP
>PUSHW L.ENV.TERM
>SYSCALL UnSetEnv
>SYSCALL UnsetEnv
.1 >PUSHWI TELNETOPTS.LEN
>PUSHW L.TELNETOPTS
ldy #S.PS.hStdOut
lda (pPS),y
>SYSCALL fwrite
>SYSCALL FWrite
bcs CS.RUN.EXIT I/O error
lda #TIMEOUT.MAX
@ -146,7 +146,7 @@ CS.RUN.LOOP1 >SLEEP
ldy #S.PS.hStdIn
lda (pPS),y
>SYSCALL feof
>SYSCALL FEOF
bcs CS.RUN.9 I/O error
tay
bne .1 no char
@ -213,7 +213,7 @@ CS.RUN.IAC.CMD cmp #WILL
.7 ldy #S.PS.hStdOut
lda (pPS),y
>SYSCALL fwrite
>SYSCALL FWrite
.8 jmp CS.RUN.LOOP1
*--------------------------------------
CS.RUN.IAC.SB >SYSCALL GetChar Wait for IAC SB.IS or SEND

View File

@ -72,7 +72,7 @@ L.KEYWORDS.CONF .DA KEYWORDS.CONF
J.KEYWORDS.CONF .DA CS.RUN.CONF.SERVERNAME
.DA CS.RUN.CONF.LISTEN
.DA CS.RUN.CONF.DOCUMENTROOT
L.SA.Local .DA SA.Local
L.SA.LOCAL .DA SA.LOCAL
L.MSG.TCPWAIT .DA MSG.TCPWAIT
L.MSG.TCPIPERR .DA MSG.TCPIPERR
L.MSG.INITCONF .DA MSG.INITCONF
@ -118,12 +118,12 @@ CS.RUN >LDYA L.MSG.TCPWAIT
lda (ZPPtr1) Configured ?
bmi CS.RUN.INIT
lda Timeout
lda TimeOut
bcs .99
ldy #S.PS.hStdIn
lda (pPS),y
>SYSCALL feof
>SYSCALL FEOF
bcs CS.RUN.RTS I/O err
tay
bne .1
@ -216,7 +216,7 @@ CS.RUN.CONF >PUSHW L.ETCHTTPDCONF
.1 >PUSHWI 256
>PUSHW ZPLinePtr
lda hFile
>SYSCALL fgets
>SYSCALL FGetS
bcs .8
tya
@ -298,7 +298,7 @@ CS.RUN.CONF.SERVERNAME
.9 rts
CS.RUN.CONF.LISTEN
>SYSCALL atoi
>SYSCALL AToI
bcs .9
>STYA SA.LOCAL+S.SOCKADDR.PORT
@ -316,7 +316,7 @@ CS.RUN.CONF.DOCUMENTROOT
.9 rts
*--------------------------------------
CS.RUN.SERVER lda hSrvSocket
>LIBCALL hLIBTCPIP,LIBTCPIP.accept
>LIBCALL hLIBTCPIP,LIBTCPIP.Accept
bcs .8
sta CLN.hSocket
@ -343,7 +343,7 @@ CS.RUN.SERVER lda hSrvSocket
>PUSHW L.MSG.SKTCLOSE
>PUSHB CLN.hSocket
>PUSHBI 1
>SYSCALL printf
>SYSCALL PrintF
lda CLN.hSocket
>LIBCALL hLIBTCPIP,LIBTCPIP.Shutdown
@ -422,7 +422,7 @@ CS.RUN.CLIENT >LDYAI 1024
>SYSCALL FreeMem
.99 lda REP.hBuf
>SYSCALL freemem
>SYSCALL FreeMem
rts
*--------------------------------------
@ -435,7 +435,7 @@ CS.RUN.REQ.GetReq
>PUSHB REQ.hReq
>PUSHB CLN.hSocket
>PUSHBI 2
>SYSCALL printf
>SYSCALL PrintF
ldy #S.IP.TOTAL.LENGTH+1
lda (ZPRequestPtr),y
@ -504,7 +504,7 @@ CS.RUN.OpenFile >PUSHW L.MSG.FILE
>PUSHB CLN.hSocket
>PUSHEA.G REQ.FullPath
>PUSHBI 3
>SYSCALL printf
>SYSCALL PrintF
>PUSHEA.G REQ.FullPath
>PUSHBI O.RDONLY
@ -568,7 +568,7 @@ CS.RUN.SendFile >PUSHW ZPRepPtr
>PUSHL.G REQ.Stat+S.STAT.SIZE
>PUSHBI 6
>SYSCALL SPrintf
>SYSCALL SPrintF
bcs .9
jsr CS.RUN.SendBuf Y,A = car count
@ -576,7 +576,7 @@ CS.RUN.SendFile >PUSHW ZPRepPtr
.1 >PUSHWI 1024
>PUSHW ZPRepPtr
lda REQ.hFile
>SYSCALL fread
>SYSCALL FRead
bcs .8
jsr CS.RUN.SendBuf
@ -640,7 +640,7 @@ CS.RUN.REQ.GET ldy #0
.4 >PUSHW ZPPtr2
>PUSHEA.G REQ.FullPath
>SYSCALL realpath
>SYSCALL RealPath
.9 rts
*--------------------------------------
CS.RUN.REQ.Connection

View File

@ -60,12 +60,12 @@ CS.RUN ldy #S.PS.PID
ldy #S.PS.hStdIn
lda (pPS),y
>SYSCALL feof
>SYSCALL FEOF
bcs .99
tay
bne .1
>SYSCALL getchar
>SYSCALL GetChar
bcs .99
cmp #18 CTRL-R for Root mode
@ -82,7 +82,7 @@ CS.RUN ldy #S.PS.PID
.1 jsr CS.RUN.ETCINIT
bcs .99
.2 >SYSCALL getchar
.2 >SYSCALL GetChar
bcs .99
cmp #C.CR Ctrl.M
@ -136,7 +136,7 @@ CS.RUN.ETCINIT >LDYAI 256
.1 >PUSHWI 256
>PUSHW BufPtr
lda hFile
>SYSCALL fgets
>SYSCALL FGetS
bcs .80
lda (BufPtr)
@ -205,5 +205,5 @@ DS.START
DS.END .ED
*--------------------------------------
MAN
SAVE usr/src/sbin/initd
SAVE usr/src/sbin/initd.s
ASM

View File

@ -4,10 +4,10 @@ AUTO 4,1
.LIST OFF
.OP 65C02
.OR $2000
.TF SBIN/INSDRV
.TF sbin/insdrv
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB inc/macros.i
.INB inc/a2osx.i
*--------------------------------------
ZPPTR1 .EQ ZPBIN
ZPPTR2 .EQ ZPBIN+2
@ -80,5 +80,5 @@ MSG.USAGE .AZ "Usage: insdrv file.drv <args>"
MSG.LOAD .AZ "INSDRV:Loading %s...\r\n"
*--------------------------------------
MAN
SAVE USR/SRC/SBIN/INSDRV.S
SAVE usr/src/sbin/insdrv.s
ASM

View File

@ -5,10 +5,10 @@ NEW
.OR $2000
.TF sbin/login
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB INC/KERNEL.I
.INB INC/MLI.I
.INB inc/macros.i
.INB inc/a2osx.i
.INB inc/kernel.i
.INB inc/mli.i
*--------------------------------------
.DUMMY
.OR ZPBIN
@ -71,7 +71,7 @@ CS.INIT clc
CS.INIT.RTS rts
*--------------------------------------
CS.RUN >LDYA L.ETCISSUE
jsr CS.RUN.DUMPFILE
jsr CS.RUN.DumpFile
bcs CS.INIT.RTS
lda #0
@ -104,7 +104,7 @@ CS.RUN.AUTH lda #3
jsr CS.RUN.StrOut
bcs .9
>LEA.G USername
>LEA.G Username
ldx #16
clc
jsr CS.RUN.GetLine
@ -177,7 +177,7 @@ CS.RUN.EXEC >PUSHEA.G Username
ldy #S.PS.hStdIn
lda (pPS),y
sta S.Table.hFILE-1,x
sta S.Table.hFile-1,x
jsr CS.RUN.EXECPS
@ -189,7 +189,7 @@ CS.RUN.EXEC >PUSHEA.G Username
.8 ldx ZPNewSession
stz S.Table.hSID-1,x
stz S.Table.hFILE-1,x
stz S.Table.hFile-1,x
ldy #S.PS.hSession
lda ZPOldSession
@ -205,7 +205,7 @@ CS.RUN.GetLine >STYA ZPGetLinePtr
stz ZPGetLineLen
stz ZPbEsc
.1 >SYSCALL getchar
.1 >SYSCALL GetChar
bcs .9
bit ZPbEsc
@ -233,7 +233,7 @@ CS.RUN.GetLine >STYA ZPGetLinePtr
bit ZPbGetLineSecret
bmi .1
>SYSCALL putchar
>SYSCALL PutChar
bra .1
.2 cmp #3 Ctrl-C
@ -289,7 +289,7 @@ CS.RUN.DumpFile >PUSHYA
.1 >PUSHWI 256
>PUSHW ZPBufPtr
lda ZPhFile
>SYSCALL fgets
>SYSCALL FGetS
bcs .7
>PUSHW ZPBufPtr
@ -347,5 +347,5 @@ Username .BS 17
DS.END .ED
*--------------------------------------
MAN
SAVE USR/SRC/SBIN/LOGIN.S
SAVE usr/src/sbin/login.s
ASM

View File

@ -89,7 +89,7 @@ CS.INIT lda DevID
*--------------------------------------
CS.INIT.DEV >PUSHBI 0
>LDYA L.DEVNAME
>SYSCALL open
>SYSCALL Open
bcc .8
inc DEVNAME+8
@ -212,7 +212,7 @@ CS.INIT.CONF >LDYAI 64
.1 >PUSHWI 64
>PUSHW pBuf
lda hEtcNetwork
>SYSCALL fgets
>SYSCALL FGetS
bcs .80
>PUSHW L.MSG.EXEC
@ -222,7 +222,7 @@ CS.INIT.CONF >LDYAI 64
>PUSHW pBuf
>PUSHBI S.PS.F.HOLD
>SYSCALL execL
>SYSCALL ExecL
jsr CS.RUN.CheckErr
>SLEEP
bra .1
@ -267,7 +267,7 @@ CS.RUN >PUSHB DevID
bne .22
>PUSHBI 54
>SYSCALL printf
>SYSCALL PrintF
.23 .FIN
ldx #0
@ -362,7 +362,7 @@ CS.QUIT ldx #0
beq .7
phx
>SYSCALL UnLoadLib
>SYSCALL UnloadLib
plx
inx
bra .1

View File

@ -77,12 +77,12 @@ CS.RUN lda #TIMEOUT.MAX
lda (ZPIPCfgPtr) Configured ?
bmi CS.RUN.INIT
lda Timeout
lda TimeOut
beq .99
ldy #S.PS.hStdIn
lda (pPS),y
>SYSCALL feof
>SYSCALL FEOF
bcs .9 I/O err
tay
@ -115,7 +115,7 @@ CS.RUN.INIT ldx #3
lda #1
>SYSCALL ArgV
bcs CS.RUN.PORTOK
>SYSCALL atoi
>SYSCALL AToI
>STYA SA.LOCAL+S.SOCKADDR.PORT
CS.RUN.PORTOK >PUSHBI 0 no protocol
@ -183,23 +183,23 @@ CS.RUN.CLIENT >SLEEP give some time for TCPIP SYN/ACK
>PUSHW L.NOD.Template
>PUSHB hClientSocket
>PUSHBI 1
>SYSCALL sprintf
>SYSCALL SPrintF
CS.RUN.CLIENT1 >PUSHEA.G NodBuf
>PUSHW 0
>PUSHB hClientSocket
>SYSCALL mknod
>SYSCALL MKNod
bcs .9
>PUSHEA.G CmdBuf
>PUSHW L.CMD.Template
>PUSHEA.G NodBuf
>PUSHBI 2
>SYSCALL sprintf
>SYSCALL SPrintF
>PUSHEA.G CmdBuf
>PUSHBI 0
>SYSCALL execl
>SYSCALL ExecL
bcc .8
pha