mirror of
https://github.com/A2osX/A2osX.git
synced 2024-10-21 05:24:15 +00:00
Kernel 0.9.2
This commit is contained in:
parent
98617e93dc
commit
7f60e0e325
@ -1,6 +1,7 @@
|
|||||||
*** Auto generated by docgen.cmd ***
|
*** Auto generated by docgen.cmd ***
|
||||||
|
|
||||||
# Args2ArgV
|
# Args2ArgV
|
||||||
|
int args2argv(char* args, char* argv[])
|
||||||
|
|
||||||
## ASM
|
## ASM
|
||||||
`>PUSHW argv`
|
`>PUSHW argv`
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -5,14 +5,14 @@ ECHO *** A2osX Startup Script ***
|
|||||||
SET PS1='$PWD'
|
SET PS1='$PWD'
|
||||||
# Main Screen
|
# Main Screen
|
||||||
INSDRV CONSOLE.DRV
|
INSDRV CONSOLE.DRV
|
||||||
|
STARTPROC GETTY /DEV/CON ${A2OSX}SBIN/LOGIN
|
||||||
# Serial Login
|
# Serial Login
|
||||||
#INSDRV SSC.DRV 9600,N,8,1,X
|
#INSDRV SSC.DRV 9600,N,8,1,X
|
||||||
INSDRV SSC.I.DRV 9600,N,8,1,X
|
#INSDRV SSC.I.DRV 9600,N,8,1,X
|
||||||
STARTPROC GETTY /DEV/CON ${A2OSX}SBIN/LOGIN
|
#STARTPROC GETTY /DEV/COM2 ${A2OSX}SBIN/LOGIN
|
||||||
STARTPROC GETTY /DEV/COM2 ${A2OSX}SBIN/LOGIN
|
|
||||||
#INSDRV PIC.DRV
|
#INSDRV PIC.DRV
|
||||||
# Network Section
|
# Network Section
|
||||||
INSDRV UTHERNET.DRV 00:0E:3A:12:34:56
|
#INSDRV UTHERNET.DRV 00:0E:3A:12:34:56
|
||||||
#INSDRV LANCEGS.DRV
|
#INSDRV LANCEGS.DRV
|
||||||
#INSDRV UTHER2.AI.DRV 00:08:DC:12:34:56
|
#INSDRV UTHER2.AI.DRV 00:08:DC:12:34:56
|
||||||
#INSDRV UTHERNET2.DRV 00:08:DC:12:34:56
|
#INSDRV UTHERNET2.DRV 00:08:DC:12:34:56
|
||||||
@ -22,12 +22,10 @@ INSDRV UTHERNET.DRV 00:0E:3A:12:34:56
|
|||||||
#STARTPROC HTTPD
|
#STARTPROC HTTPD
|
||||||
#NFSMOUNT 192.168.1.5:/A2OSX /MNT/A2OSX
|
#NFSMOUNT 192.168.1.5:/A2OSX /MNT/A2OSX
|
||||||
#CIFSMOUNT 192.168.1.5:/MSSHARE /MNT/MSSHARE
|
#CIFSMOUNT 192.168.1.5:/MSSHARE /MNT/MSSHARE
|
||||||
# End Network Section
|
|
||||||
# GUI Section
|
# GUI Section
|
||||||
#INSDRV MOUSE.DRV
|
#INSDRV MOUSE.DRV
|
||||||
#INSDRV DHGR.DRV
|
#INSDRV DHGR.DRV
|
||||||
#STARTPROC DESKTOP
|
#STARTPROC DESKTOP
|
||||||
# End GUI Section
|
|
||||||
ECHO *** End A2osX Startup file ***
|
ECHO *** End A2osX Startup file ***
|
||||||
MAN
|
MAN
|
||||||
TEXT A2OSX.STARTUP
|
TEXT A2OSX.STARTUP
|
||||||
|
@ -46,7 +46,8 @@ CS.INIT clc
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN ldy #S.PS.ARGC
|
CS.RUN ldy #S.PS.ARGC
|
||||||
lda (pPs),y
|
lda (pPs),y
|
||||||
cmp #2
|
cmp #3
|
||||||
|
|
||||||
bcc .90
|
bcc .90
|
||||||
|
|
||||||
>PUSHWI 0 auxtype
|
>PUSHWI 0 auxtype
|
||||||
@ -69,7 +70,7 @@ CS.RUN ldy #S.PS.ARGC
|
|||||||
|
|
||||||
.90 >LDYA L.MSG.USAGE
|
.90 >LDYA L.MSG.USAGE
|
||||||
>SYSCALL puts
|
>SYSCALL puts
|
||||||
lda #0
|
lda #K.E.SYN
|
||||||
sec
|
sec
|
||||||
.9 rts
|
.9 rts
|
||||||
|
|
||||||
@ -115,6 +116,12 @@ CS.RUN.LOOP1 >SLEEP
|
|||||||
bcc CS.RUN.LOOP1
|
bcc CS.RUN.LOOP1
|
||||||
|
|
||||||
.2 >PUSHBI S.PS.F.DUPENV+S.PS.F.HOLD
|
.2 >PUSHBI S.PS.F.DUPENV+S.PS.F.HOLD
|
||||||
|
|
||||||
|
|
||||||
|
lda #2
|
||||||
|
>SYSCALL ArgV
|
||||||
|
>SYSCALL puts
|
||||||
|
|
||||||
lda #2
|
lda #2
|
||||||
>SYSCALL ArgV
|
>SYSCALL ArgV
|
||||||
>SYSCALL Exec
|
>SYSCALL Exec
|
||||||
|
@ -32,13 +32,14 @@ CS.START cld
|
|||||||
.DA CS.RUN
|
.DA CS.RUN
|
||||||
.DA CS.DOEVENT
|
.DA CS.DOEVENT
|
||||||
.DA CS.QUIT
|
.DA CS.QUIT
|
||||||
L.MSG.HELP .DA MSG.HELP
|
L.MSG.USAGE .DA MSG.USAGE
|
||||||
L.MSG.LOAD .DA MSG.LOAD
|
L.MSG.LOAD .DA MSG.LOAD
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN ldy #S.PS.ARGC
|
CS.RUN ldy #S.PS.ARGC
|
||||||
lda (pPs),y
|
lda (pPs),y
|
||||||
beq .9
|
cmp #2
|
||||||
|
bne .9
|
||||||
|
|
||||||
lda #1 get PTR to ARG[1] (Driver name)
|
lda #1 get PTR to ARG[1] (Driver name)
|
||||||
>SYSCALL ArgV
|
>SYSCALL ArgV
|
||||||
@ -58,9 +59,9 @@ CS.RUN ldy #S.PS.ARGC
|
|||||||
sec we do not want to stay in memory
|
sec we do not want to stay in memory
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.9 >LDYA L.MSG.HELP
|
.9 >LDYA L.MSG.USAGE
|
||||||
>SYSCALL puts
|
>SYSCALL puts
|
||||||
lda #0 tell TSKMGR that all done ok, but
|
lda #K.E.SYN tell TSKMGR that all done ok, but
|
||||||
sec we do not want to stay in memory
|
sec we do not want to stay in memory
|
||||||
.99 rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -73,7 +74,7 @@ CS.DOEVENT sec
|
|||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.END
|
CS.END
|
||||||
MSG.HELP .AZ "Usage: insdrv file.drv <args>"
|
MSG.USAGE .AZ "Usage: insdrv file.drv <args>"
|
||||||
MSG.LOAD .AZ "INSDRV:Loading %s...\r\n"
|
MSG.LOAD .AZ "INSDRV:Loading %s...\r\n"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
|
@ -94,21 +94,8 @@ CS.RUN lda #0
|
|||||||
|
|
||||||
>PUSHBI S.PS.F.HOLD
|
>PUSHBI S.PS.F.HOLD
|
||||||
>LDYA L.SHELL
|
>LDYA L.SHELL
|
||||||
>SYSCALL ExpandStr
|
|
||||||
bcs .9
|
|
||||||
|
|
||||||
phx
|
|
||||||
>SYSCALL Exec
|
>SYSCALL Exec
|
||||||
|
|
||||||
plx
|
|
||||||
|
|
||||||
php
|
|
||||||
pha
|
|
||||||
txa
|
|
||||||
>SYSCALL FreeMem
|
|
||||||
pla
|
|
||||||
plp
|
|
||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.DOEVENT
|
CS.DOEVENT
|
||||||
@ -199,6 +186,7 @@ CS.END
|
|||||||
MSG.LOGIN .AZ "\r\nlogin:"
|
MSG.LOGIN .AZ "\r\nlogin:"
|
||||||
MSG.PASSWORD .AZ "\r\npassword:"
|
MSG.PASSWORD .AZ "\r\npassword:"
|
||||||
SHELL .AZ "${A2OSX}SBIN/SHELL"
|
SHELL .AZ "${A2OSX}SBIN/SHELL"
|
||||||
|
.HS 00
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DUMMY
|
.DUMMY
|
||||||
.OR 0
|
.OR 0
|
||||||
|
@ -26,52 +26,12 @@ Cmd.Parse >LDYA ZPCMDBuf
|
|||||||
>SYSCALL ExpandStr
|
>SYSCALL ExpandStr
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
>STYA ZPPtr1 Ptr to expanded CMD ARGS\0
|
phx save expanded string
|
||||||
|
pha
|
||||||
txa
|
>PUSHW ZPCMDBuf
|
||||||
>STA.G CMD.hCmdLine
|
pla
|
||||||
|
>SYSCALL Args2ArgV
|
||||||
ldy #0
|
plx
|
||||||
|
|
||||||
lda (ZPPtr1) empty line...quit
|
|
||||||
beq .9
|
|
||||||
|
|
||||||
.1 jsr Cmd.NextCharPtr1
|
|
||||||
beq .8 no more char, exit
|
|
||||||
|
|
||||||
cmp #' ' skip leading spaces
|
|
||||||
beq .1
|
|
||||||
|
|
||||||
cmp #'#' Comment ?
|
|
||||||
beq .8 ignore remaining chars
|
|
||||||
|
|
||||||
.3 sta (ZPCMDBuf),y add char to buffer
|
|
||||||
iny
|
|
||||||
|
|
||||||
jsr Cmd.NextCharPtr1
|
|
||||||
beq .8
|
|
||||||
|
|
||||||
cmp #' '
|
|
||||||
bne .3
|
|
||||||
|
|
||||||
lda #0
|
|
||||||
sta (ZPCMDBuf),y add \0 to buffer
|
|
||||||
iny
|
|
||||||
|
|
||||||
.5 jsr Cmd.NextCharPtr1
|
|
||||||
beq .8
|
|
||||||
|
|
||||||
cmp #' '
|
|
||||||
beq .5 skip additional spaces
|
|
||||||
bne .3 no more space, add next word...
|
|
||||||
|
|
||||||
.8 lda #0
|
|
||||||
sta (ZPCMDBuf),y
|
|
||||||
|
|
||||||
.9 tya
|
|
||||||
>STA.G CmdBuflen
|
|
||||||
|
|
||||||
.90 >LDA.G CMD.hCmdLine
|
|
||||||
>SYSCALL FreeMem
|
>SYSCALL FreeMem
|
||||||
|
|
||||||
.99 rts
|
.99 rts
|
||||||
@ -162,7 +122,9 @@ Cmd.Exec.EXT ldy #0
|
|||||||
|
|
||||||
* CMD.hCmdLine = /path/bin
|
* CMD.hCmdLine = /path/bin
|
||||||
|
|
||||||
.2 ldx #0
|
.2 >DEBUG
|
||||||
|
|
||||||
|
ldx #0
|
||||||
jsr Cmd.RemoveStrAtX
|
jsr Cmd.RemoveStrAtX
|
||||||
|
|
||||||
>LDA.G CMD.hCmdLine
|
>LDA.G CMD.hCmdLine
|
||||||
|
@ -186,7 +186,7 @@ CSH.Run jsr CL.RESET
|
|||||||
>STA.G bCmdBufexec
|
>STA.G bCmdBufexec
|
||||||
|
|
||||||
>LDA.G bSET.X
|
>LDA.G bSET.X
|
||||||
beq .80
|
* beq .80
|
||||||
|
|
||||||
>PUSHW ZPCMDBuf
|
>PUSHW ZPCMDBuf
|
||||||
>PUSHBI 2
|
>PUSHBI 2
|
||||||
|
@ -3,6 +3,7 @@ PREFIX /A2OSX.BUILD
|
|||||||
AUTO 4,1
|
AUTO 4,1
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # Args2ArgV
|
* # Args2ArgV
|
||||||
|
* int args2argv(char* args, char* argv[])
|
||||||
* ## ASM
|
* ## ASM
|
||||||
* `>PUSHW argv`
|
* `>PUSHW argv`
|
||||||
* `>LDYA args`
|
* `>LDYA args`
|
||||||
@ -13,45 +14,44 @@ ARG.bInQuote .BS 1
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.Args2ArgV jsr MEM.SPtr1PPtr2
|
K.Args2ArgV jsr MEM.SPtr1PPtr2
|
||||||
|
|
||||||
stz ARG.bInQuote
|
|
||||||
|
|
||||||
ldy #$ff
|
|
||||||
ldx #0 Arg Count
|
ldx #0 Arg Count
|
||||||
|
|
||||||
.4 iny
|
stz ARG.bInQuote
|
||||||
lda (ZPPtr1),y
|
|
||||||
beq .7
|
.1 jsr ARG.GetCharPtr1
|
||||||
|
beq .8
|
||||||
|
cmp #C.SPACE
|
||||||
|
beq .1 skip leading spaces
|
||||||
|
|
||||||
|
.2 cmp #'"' found a quote ?
|
||||||
|
bne .3
|
||||||
|
|
||||||
cmp #'"' found a quote ?
|
|
||||||
bne .5
|
|
||||||
lda ARG.bInQuote
|
lda ARG.bInQuote
|
||||||
eor #$ff
|
eor #$ff
|
||||||
sta ARG.bInQuote
|
sta ARG.bInQuote
|
||||||
bra .4
|
bra .7 skip quote and check next char
|
||||||
|
|
||||||
.5 cmp #' '
|
.3 cmp #C.SPACE
|
||||||
bne .6
|
bne .6 regular char ...store...
|
||||||
|
|
||||||
bit ARG.bInQuote
|
bit ARG.bInQuote
|
||||||
bmi .6
|
bmi .6 between quotes... store space...
|
||||||
|
|
||||||
inx Found one arg !!!
|
inx Found one arg !!!
|
||||||
lda #0 set this token End
|
lda #0 set this token End
|
||||||
|
jsr ARG.PutCharPtr2
|
||||||
|
bra .1
|
||||||
|
|
||||||
.6 sta (ZPPtr2)
|
.6 jsr ARG.PutCharPtr2
|
||||||
|
|
||||||
inc ZPPtr2
|
.7 jsr ARG.GetCharPtr1
|
||||||
bne .4
|
bne .2
|
||||||
inc ZPPtr2+1
|
|
||||||
bra .4
|
|
||||||
|
|
||||||
.7 sta (ZPPtr2) set Arg Ending 0
|
inx
|
||||||
|
|
||||||
inc ZPPtr2
|
.8 jsr ARG.PutCharPtr2 set Argv[x] Ending 0
|
||||||
bne .8
|
|
||||||
inc ZPPtr2+1
|
|
||||||
|
|
||||||
.8 sta (ZPPtr2) set Array Ending 0
|
sta (ZPPtr2) set Array Ending 0
|
||||||
|
|
||||||
txa X=Arg Count
|
txa X=Arg Count
|
||||||
|
|
||||||
@ -67,39 +67,28 @@ K.Args2ArgV jsr MEM.SPtr1PPtr2
|
|||||||
* Y,A = PTR To Arg[A]
|
* Y,A = PTR To Arg[A]
|
||||||
* CS : Out Of Bound
|
* CS : Out Of Bound
|
||||||
*\--------------------------------------
|
*\--------------------------------------
|
||||||
K.ArgV pha save requested arg#
|
K.ArgV tax save requested arg#
|
||||||
|
|
||||||
ldy #S.PS.hARGV
|
ldy #S.PS.hARGV
|
||||||
lda (pPs),y
|
lda (pPs),y
|
||||||
jsr K.GetMemPtr
|
jsr K.GetMemPtr
|
||||||
|
|
||||||
plx we want 0 ?
|
>STYA ZPPtr1
|
||||||
|
|
||||||
beq .8 yes, returns MemPtr
|
|
||||||
|
|
||||||
>STYA ZPPtr1 no, save it
|
|
||||||
|
|
||||||
.1 lda (ZPPtr1) end of ARGV[] ?
|
.1 lda (ZPPtr1) end of ARGV[] ?
|
||||||
|
|
||||||
beq .9 yes, not found....
|
beq .9 yes, not found....
|
||||||
|
|
||||||
.3 inc ZPPtr1 skip next one....
|
dex
|
||||||
bne .4
|
bmi .7
|
||||||
inc ZPPtr1+1
|
|
||||||
|
|
||||||
.4 lda (ZPPtr1)
|
.3 jsr ARG.GetCharPtr1 skip str
|
||||||
bne .3
|
bne .3
|
||||||
|
|
||||||
inc ZPPtr1 ....and point to next, or ending 0
|
jsr ARG.NextCharPtr1 skip \0
|
||||||
bne .5
|
bra .1
|
||||||
inc ZPPtr1+1
|
|
||||||
|
|
||||||
.5 dex
|
.7 >LDYA ZPPtr1
|
||||||
bne .1 stop here....
|
|
||||||
|
|
||||||
lda (ZPPtr1) at end of ARGV[] ?
|
|
||||||
beq .9
|
|
||||||
|
|
||||||
>LDYA ZPPtr1
|
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
@ -107,12 +96,19 @@ K.ArgV pha save requested arg#
|
|||||||
.9 sec
|
.9 sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
ARG.NextChrPtr1 lda (ZPPtr1)
|
ARG.GetCharPtr1 lda (ZPPtr1)
|
||||||
beq .8
|
beq ARG.GetCharPtr1.8
|
||||||
|
ARG.NextCharPtr1
|
||||||
inc ZPPtr1
|
inc ZPPtr1
|
||||||
bne .8
|
bne ARG.GetCharPtr1.8
|
||||||
inc ZPPtr1+1 never Z
|
inc ZPPtr1+1 never Z
|
||||||
|
ARG.GetCharPtr1.8
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
ARG.PutCharPtr2 sta (ZPPtr2)
|
||||||
|
inc ZPPtr2
|
||||||
|
bne .8
|
||||||
|
inc ZPPtr2+1
|
||||||
.8 rts
|
.8 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
|
@ -140,11 +140,11 @@ Kernel.Init3 sta SETALTZP
|
|||||||
>LDYAI MSG.Prefix
|
>LDYAI MSG.Prefix
|
||||||
>SYSCALL printf
|
>SYSCALL printf
|
||||||
|
|
||||||
lda KBD
|
* lda KBD
|
||||||
bpl .1
|
* bpl .1
|
||||||
sta KBDSTROBE
|
* sta KBDSTROBE
|
||||||
cmp #$84 CTRL-D for Maintenace mode
|
* cmp #$84 CTRL-D for Maintenace mode
|
||||||
bne .1
|
* bne .1
|
||||||
|
|
||||||
>PUSHBI 0
|
>PUSHBI 0
|
||||||
>LDYAI MSG.MMode
|
>LDYAI MSG.MMode
|
||||||
|
Loading…
Reference in New Issue
Block a user