Kernel 0.9.2

This commit is contained in:
Rémy GIBERT 2018-10-29 09:41:10 +01:00
parent 62ee438acb
commit 8bcf18386a
13 changed files with 172 additions and 161 deletions

View File

@ -452,6 +452,13 @@ A = hMem
Y,A = ZPMemMgrSPtr = PTR to S.MEM
(X unmodified)
# GetMemStat
**In:**
Y,A = Ptr to 24 bytes buffer
## RETURN VALUE
Buffer filled with memory stats
# NewStr
Create a new copy of this C-String
Y,A = Ptr to source C-String
@ -570,13 +577,6 @@ A = Child PSID
## RETURN VALUE
A = Child PSID
# GetMemStat
**In:**
Y,A = Ptr to 24 bytes buffer
## RETURN VALUE
Buffer filled with memory stats
# GetPSStatus
**In:**
A = PID

Binary file not shown.

Binary file not shown.

View File

@ -28,7 +28,8 @@ CS.START cld
jmp (.1,x)
.DA #$61 6502,Level 1 (65c02)
.DA #1 BIN Layout Version 1
.DA 0
.DA #0
.DA #0
.DA CS.END-CS.START CS
.DA DS.END-DS.START DS
.DA #16 SS
@ -99,41 +100,13 @@ J.CTRL .DA Ctrl.Invalid
.DA Ctrl.Invalid
.DA 0
*--------------------------------------
CS.INIT lda #$ff
>STA.G bSaved
ldy #S.PS.ARGC
lda (pPs),y
beq .1 No arg, new file....
lda #1
>SYSCALL ArgV
>SYSCALL RealPath
txa
>STA.G hFileName
jsr LoadFile
bcc .8 if CS, Failed to load file, keep name, but new file....
.1 >LDYAI 1 buffer size = 0 (+ 1 for ending 0)
>SYSCALL GetMem0
bcs .9
txa
ldy #hBuffer FileLen already set to 0
sta (pData),y
.8 lda (pPs)
ora #S.PS.F.EVENT Now accept events
sta (pPs)
clc
.9 rts
CS.INIT clc
rts
*--------------------------------------
CS.RUN >PUSHBI 0
>LDYA L.SEQ.DETECT
>SYSCALL printf Send Query for term W & H
bcs .9
bcs CS.RUN.RTS
.1 >SLEEP
>SYSCALL GetChar
@ -144,22 +117,47 @@ CS.RUN >PUSHBI 0
>LDA.G ScreenW Wait for Response from terminal for W & H
beq .1
jsr SCRN.Init
bcs .9
lda #1
>SYSCALL ArgV
bcs .2 No arg, new file....
>SYSCALL RealPath
txa
>STA.G hFileName
.2 >LDA.G bCancel
bne .99
>SLEEP
jsr LoadFile
bcc .3 if CS, Failed to load file, keep name, but new file....
.2 >LDYAI 1 buffer size = 0 (+ 1 for ending 0)
>SYSCALL GetMem0
bcs CS.RUN.RTS
txa
>STA.G hBuffer FileLen already set to 0
.3 lda #$ff
>STA.G bSaved
jsr SCRN.Init
bcs CS.RUN.RTS
CS.RUN.LOOP >SLEEP
>SYSCALL GetChar
bcs .2
bcs CS.RUN.LOOP
jsr CharIn
bra .2
.99 lda #0
.9
>LDA.G bCancel
bpl CS.RUN.LOOP
>PUSHBI 0
>LDYA L.SEQ.RESET
>SYSCALL printf
lda #0
sec
CS.RUN.RTS rts
*--------------------------------------
CS.DOEVENT sec
rts
@ -174,12 +172,6 @@ CS.QUIT ldy #hBuffer
jsr .8
ldy #hFileName
jsr .8
>PUSHBI 0
>LDYA L.SEQ.RESET
>SYSCALL printf
rts
.8 lda (pData),y
beq .9

View File

@ -125,7 +125,7 @@ CS.RUN.DUMP >LDYA L.MSG0.L
>LDYA L.MSG1.DEV
>SYSCALL printf
lda DCB.NIC+S.DCB.NIC.FLAGS
>LDA.G DCB.NIC+S.DCB.NIC.FLAGS
and #S.DCB.NIC.FLAGS.ARPOFFLOAD
beq .2
@ -136,7 +136,7 @@ CS.RUN.DUMP >LDYA L.MSG0.L
>LDYA L.MSG1.DEV.ARP
>SYSCALL printf
lda DCB.NIC+S.DCB.NIC.FLAGS
>LDA.G DCB.NIC+S.DCB.NIC.FLAGS
and #S.DCB.NIC.FLAGS.IPOFFLOAD
beq .3
@ -148,7 +148,7 @@ CS.RUN.DUMP >LDYA L.MSG0.L
>LDYA L.MSG1.DEV.IP
>SYSCALL printf
lda DCB.NIC+S.DCB.NIC.LINK
>LDA.G DCB.NIC+S.DCB.NIC.LINK
and #S.DCB.NIC.LINK.OK
bne CS.RUN.LINK
@ -163,7 +163,7 @@ CS.RUN.LINK >LDYA L.MSG1.LINK.OK
>LDYA L.MSG1.LINKSPEED
>SYSCALL printf
lda DCB.NIC+S.DCB.NIC.SPEED
>LDA.G DCB.NIC+S.DCB.NIC.SPEED
and #$0F
tax
@ -174,7 +174,7 @@ CS.RUN.LINK >LDYA L.MSG1.LINK.OK
dex
bne .4
lda DCB.NIC+S.DCB.NIC.LINK
>LDA.G DCB.NIC+S.DCB.NIC.LINK
and #S.DCB.NIC.LINK.FD
bne .5

View File

@ -157,7 +157,7 @@ CS.RUN.OPENSKT ldx #3
sta (pData),y
>PUSHW L.Socket
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.New
>LIBCALL hLIBTCPIP,LIBTCPIP.socket
bcc .2
>LDYA L.MSG.SKTKO
@ -194,7 +194,7 @@ CS.RUN.SEND.ECHO
>PUSHWI ICMP.RequestLen
>PUSHW L.ICMP.Request
>LDA.G hSocket
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.Send
>LIBCALL hLIBTCPIP,LIBTCPIP.send
bcs CS.RUN.ERR
jsr Init.Timeout
@ -207,7 +207,7 @@ CS.RUN.WAIT.REPLY
beq CS.RUN.ERR CS
.1 >LDA.G hSocket
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.Rcvd
>LIBCALL hLIBTCPIP,LIBTCPIP.Recv
bcc .2
jsr Wait.Timeout
bcc CS.RUN.WAIT.REPLY
@ -316,7 +316,7 @@ CS.QUIT >LDA.G hFrame
.1 >LDA.G hSocket
beq .2
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.Close
>SYSCALL fclose
.2 lda hLIBTCPIP
beq .8
@ -338,7 +338,7 @@ Wait.TimeOut sec
.9 rts
*--------------------------------------
CS.END
LIBTCPIP .AZ "libtcpip.o"
LIBTCPIP .AZ "libtcpip"
MSG.IPKO .AZ "TCP/IP Not Loaded/Configured."
MSG.USAGE .AS "Usage : PING <ip|host>\r\n"
.AZ " -1-9 : Ping Count\r\n"

View File

@ -151,11 +151,6 @@ OPEN sta A2osX.SCRNDEVS DEV.ID in A
lda #S.DIB.S.OPENED
tsb DIB+S.DIB.S
stz CURON
stz bEscMode
stz bEscModeCSI
stz OutPtr
stz OutCnt
@ -358,7 +353,8 @@ COUT.EscMode bit bEscModeCSI
.2 cmp EscCodes,x
beq .3
dex
bne .2
bpl .2
clc
rts
@ -589,7 +585,13 @@ COUT.IAC.DONT
clc
rts
*--------------------------------------
RESET jsr CLRSCR
RESET stz CURON
stz bEscMode
stz bEscModeCSI
jsr CLRSCR
lda #23
sta SCROLLBOT
lda #0
@ -647,6 +649,7 @@ ClrScr stz CH
sta SETWRITEAUX
ldy #39
.2 sta (ZPBaseL1),y
dey
bpl .2

View File

@ -107,7 +107,7 @@ CS.INIT >LDYA L.LIBTCPIP
*--------------------------------------
CS.RUN >PUSHW L.Socket
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.New
>LIBCALL hLIBTCPIP,LIBTCPIP.Socket
bcc .1
jmp CS.RUN.KO
@ -122,7 +122,7 @@ CS.RUN.SDISC >PUSHWI DHCP.DISC.LEN
>PUSHW L.DHCP.DISC
>LDA.G hSocket
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.Send
>LIBCALL hLIBTCPIP,LIBTCPIP.Send
bcc .1
jmp CS.RUN.KO
@ -159,7 +159,7 @@ CS.RUN.SREQ ldx #3
>PUSHWI DHCP.REQ.LEN
>PUSHW L.DHCP.REQ
>LDA.G hSocket
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.Send
>LIBCALL hLIBTCPIP,LIBTCPIP.Send
bcs CS.RUN.KO
lda #S.IPCFG.STATUS.SREQ
@ -212,7 +212,7 @@ CS.RUN.KO pha
rts
*--------------------------------------
CS.RUN.SKT.RCVD >LDA.G hSocket
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.Rcvd
>LIBCALL hLIBTCPIP,LIBTCPIP.Recv
bcs .9
>STA.G hFrame
@ -236,7 +236,7 @@ CS.DOEVENT lda (pEvent)
CS.QUIT >LDA.G hSocket
beq .1
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.Close
>SYSCALL fclose
.1 lda hLIBTCPIP
>SYSCALL UnloadLib

View File

@ -111,9 +111,9 @@ CS.RUN.Loop >SLEEP
jsr CS.RUN.Save
bcc .8
>PUSHA
>PUSHBI 0
>PUSHBI 1
>LDYA L.MSG.QUIT.ERR
>SYSCALL printf
bra .9
.1 cmp #20 Ctrl-T
@ -157,9 +157,10 @@ CS.RUN.Loop >SLEEP
.8 >PUSHBI 0
>LDYA L.MSG.QUIT
>SYSCALL printf
.9 lda #0
.9 >SYSCALL printf
lda #0
sec
rts
*--------------------------------------
@ -327,13 +328,11 @@ CS.RUN.DumpConfYA
CS.DOEVENT sec do not discard TIMER event
rts
*--------------------------------------
CS.QUIT ldy #hFileBuf
lda (pData),y
CS.QUIT >LDA.G hFileBuf
beq .1
>SYSCALL FreeMem
.1 ldy #hFileName
lda (pData),y
.1 >LDA.G hFileName
beq .8
>SYSCALL FreeMem

View File

@ -8,10 +8,22 @@ CMD.Init >LDYAI 256
bcs .9
>STYA ZPCMDBuf
txa
>STA.G hCmdBuf
>STA.G CMD.hCmdBuf
>LDYAI 256
>SYSCALL GetMem
bcs .9
>STYA ZPArgVBuf
txa
>STA.G CMD.hArgVBuf
.9 rts
*--------------------------------------
CMD.Quit >LDA.G hCmdBuf
CMD.Quit >LDA.G CMD.hArgVBuf
beq .1
>SYSCALL FreeMem
.1 >LDA.G CMD.hCmdBuf
beq .9
>SYSCALL FreeMem
.9 rts
@ -24,7 +36,7 @@ CMD.Quit >LDA.G hCmdBuf
* - or -
* intcmd\0 arg1\0 arg2\0 ... \0
*--------------------------------------
Cmd.Parse >STZ.G CMD.bCmd
Cmd.Parse >STZ.G CMD.IntCmd
lda #S.PS.F.HOLD+S.PS.F.DUPENV
>STA.G CMD.PSFlags
@ -34,13 +46,6 @@ Cmd.Parse >STZ.G CMD.bCmd
>SYSCALL Args2ArgV
>LDYAI 256
>SYSCALL GetMem
bcs .9
>STYA ZPArgVBuf
txa
>STA.G CMD.hArgVBuf
lda #0
sta (ZPArgVBuf)
@ -50,7 +55,7 @@ Cmd.Parse >STZ.G CMD.bCmd
.1 cmp #'#' comment ?
beq .8 yes, ignore remaining
>LDA.G CMD.bCmd
>LDA.G CMD.IntCmd
bne .6 we already have Cmd, go check args
ldy #2
@ -72,7 +77,7 @@ Cmd.Parse >STZ.G CMD.bCmd
rts
.6 jsr CMD.AddTokenToArgV
.6 jsr CMD.AddCmdBufTokenToArgV
bcs .9
.7 jsr CMD.NextCmdBufToken
@ -107,13 +112,19 @@ Cmd.CheckCmd ldy #$ff
phx
plx
beq .3 if STARTPROC, skip keyword
bne .3
jsr CMD.AddYAToArgV X unmodified
>LDA.G CMD.PSFlags if STARTPROC, skip keyword...
and #$ff^S.PS.F.HOLD
sta (pData),y ...and toggle S.PS.F.HOLD flag
clc
rts
.3 jsr CMD.AddYAToArgV X unmodified
bcs .9
.3 txa
>STA.G CMD.bCmd
txa
>STA.G CMD.IntCmd
clc
.9 rts
@ -144,6 +155,9 @@ Cmd.CheckCmd ldy #$ff
>SYSCALL STAT
bcs Cmd.CheckCmd.90
lda #$ff
>STA.G CMD.IntCmd
ldy #CMD.Stat+S.STAT.P.TYPE
lda (pData),y
cmp #S.FI.T.TXT
@ -180,9 +194,7 @@ Cmd.CheckCmd.BIN
>LDA.G CMD.hCmdLine
>SYSCALL GetMemPtr
jsr CMD.AddYAToArgV
bcs Cmd.CheckCmd.90
lda #$ff
>STA.G CMD.bCmd
bra Cmd.CheckCmd.90
*--------------------------------------
Cmd.CheckCmd.SYS
@ -202,11 +214,8 @@ Cmd.SearchExt pha
>SYSCALL FileSearch
rts
*--------------------------------------
Cmd.Exec lda (ZPArgVBuf)
cmp #'/'
beq .1
>LDA.G CMD.bCmd
Cmd.Exec >LDA.G CMD.IntCmd
bmi .1
tax
jmp (J.CMD.INT,x)
@ -218,10 +227,6 @@ Cmd.Exec lda (ZPArgVBuf)
* STARTPROC : intcmd = 0
*--------------------------------------
Cmd.INT.STARTPROC
>LDA.G CMD.PSFlags
and #$ff^S.PS.F.HOLD
sta (pData),y
clc
rts
*--------------------------------------
@ -263,6 +268,23 @@ Cmd.INT.CD ldx #1
cmp #S.FI.T.DIR
bne Cmd.Exec.ERRSYN
ldy #0
.5 iny
lda (ZPCMDBuf),y
bne .5
dey
lda #'/'
cmp (ZPCMDBuf),y
beq .8
iny
sta (ZPCMDBuf),y
iny
lda #0
sta (ZPCMDBuf),y
.8 >LDYA ZPCMDBuf
>SYSCALL NewStr
bcs .90
@ -370,7 +392,6 @@ Cmd.INT.SETVAR >STYA ZPPTR1
sta (ZPPTR1),y
>LDYA ZPPTR1 String is "VAR"...
>DEBUG
>SYSCALL UnsetEnv
rts
@ -450,10 +471,10 @@ Cmd.INT.ECHO ldx #1
.71 >LDA.G bECHO.N
bmi .8
* >PUSHBI 0
* >LDYA L.MSG.ECHOCRLF
* >SYSCALL printf
* rts
>PUSHBI 0
>LDYA L.MSG.ECHOCRLF
>SYSCALL printf
rts
.8 clc
.9 rts
@ -632,7 +653,7 @@ CMD.NextCmdBufToken
bne CMD.NextCmdBufToken
rts
*--------------------------------------
CMD.AddTokenToArgV
CMD.AddCmdBufTokenToArgV
>LDYA ZPCmdBuf
CMD.AddYAToArgV >STYA ZPPtr1

View File

@ -198,6 +198,9 @@ CS.RUN >LDA.G bReadMode READ Command ?
>LDA.G bCmdBufExec Something to execute ?
bpl .1
lda (ZPCMDBuf)
beq .10 Empty line
jsr HIS.Add
jsr CMD.Parse
@ -286,6 +289,9 @@ CS.RUN.BATCH >SYSCALL GetChar
.7 >LDA.G bCmdBufExec
bpl .8 Empty line....nothing to do....
lda (ZPCMDBuf)
beq .8
jsr CMD.Parse
bcs .8
@ -412,7 +418,6 @@ EscChars.Cnt .EQ *-EscChars
.DUMMY
.OR 0
DS.START
hCmdBuf .BS 1
CmdBufPtr .BS 1
CmdBuflen .BS 1
bCmdBufexec .BS 1
@ -427,8 +432,9 @@ bSecureRead .BS 1
Sleep .BS 4
CMD.IntCmd .BS 1
CMD.hCmdLine .BS 1
CMD.bCmd .BS 1
CMD.hCmdBuf .BS 1
CMD.hArgVBuf .BS 1
CMD.PSFlags .BS 1

View File

@ -319,21 +319,15 @@ K.SetEnv.I jsr K.UnsetEnv.I
iny
bne .16
.17 tya
sec
adc ZPPtr4
sta ZPPtr4
bcc .18
inc ZPPtr4+1
.18 ldy #0
.17 jsr ENV.NextEnvP4Y
.19 lda (ZPPtr2),y
beq .20
iny
ldy #$ff
.19 iny
lda (ZPPtr2),y
bne .19
.20 tya
tya
sec
adc ZPPtr4
tax
@ -352,14 +346,9 @@ K.SetEnv.I jsr K.UnsetEnv.I
sta (ZPPtr3),y
bne .22
tya
sec
adc ZPPtr3
sta ZPPtr3
bcc .23
inc ZPPtr3+1
jsr ENV.NextEnvP3Y
.23 ldy #$ff
ldy #$ff
.24 iny
lda (ZPPtr2),y
@ -615,27 +604,19 @@ ENV.DelVarP3 >LDYA ZPPtr3 save actual Ptr
jsr ENV.NextEnvP3 Skip current NAME....
jsr ENV.NextEnvP3 Skip current VALUE....
ldy #0
.1 ldy #$ff
.1 lda (ZPPtr3),y Move back CSTRs...
.2 sta (ZPPtr4),y
beq .3 0 ended....
iny
bne .1
inc ZPPtr3+1
inc ZPPtr4+1
bra .1
.3 iny
bne .4
inc ZPPtr3+1
inc ZPPtr4+1
.4 lda (ZPPtr3),y
bne .2 Until array ending 0
.2 iny
lda (ZPPtr3),y Move back CSTRs...
sta (ZPPtr4),y
bne .2
tya
beq .8 we moved back ending \0
jsr ENV.NextEnvP3Y
jsr ENV.NextEnvP4Y
bra .1
.8 rts
*--------------------------------------
@ -651,7 +632,7 @@ ENV.NextEnvP3 ldy #$ff
lda (ZPPtr3),y
bne .1
tya
ENV.NextEnvP3Y tya
sec
adc ZPPtr3
sta ZPPtr3
@ -659,6 +640,14 @@ ENV.NextEnvP3 ldy #$ff
inc ZPPtr3+1
.8 rts
*--------------------------------------
ENV.NextEnvP4Y tya
sec
adc ZPPtr4
sta ZPPtr4
bcc .8
inc ZPPtr4+1
.8 rts
*--------------------------------------
ENV.AddAToBuf30 ora #$30
ENV.AddAToBuf ldx ENV.BufLen

View File

@ -293,6 +293,7 @@ STDLIB.32.Clear ldx #3
* CS : A = Error Code
*\--------------------------------------
K.realpath >STYA ZPPtr1
ldx #$ff
lda (ZPPtr1)