Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-08-11 20:55:28 +02:00
parent c288baded3
commit 70b226c525
9 changed files with 45 additions and 38 deletions

Binary file not shown.

Binary file not shown.

View File

@ -264,8 +264,10 @@ CL.DEL pha
rts
*--------------------------------------
CL.PrintEOL >LDA.G CL.Ptr
.1 >CMP.G CL.Len
beq .2
pha
tay
lda (ZPCLBuf),y
@ -277,14 +279,17 @@ CL.PrintEOL >LDA.G CL.Ptr
.2 lda #C.SPACE
>SYSCALL PutChar
>LDA.G CL.Ptr
.3 >CMP.G CL.Len
beq .4
pha
lda #C.BS
>SYSCALL PutChar
pla
inc
bra .3
.4 lda #C.BS
>SYSCALL PutChar

View File

@ -3,19 +3,20 @@ NEW
.LIST OFF
*--------------------------------------
CMD.. lda (ZPArgVBufPtr)
beq .9
beq CMD...9
>LDYA ZPArgVBufPtr
jsr IO.Load
bcs CMD.SHIFTA.RTS
>LDYA ZPArgVBufPtr
jsr CORE.Load.YAX Exec . file
CMD..EXEC.YAX jsr CORE.Load.YAX Exec . file
bcs CMD.SHIFTA.RTS
lda #$C0+C..
jmp CORE.StkPush
.9
CMD...9 jmp CMD.E.CSYN
*--------------------------------------
CMD.NOHUP lda (ZPArgVBufPtr)
@ -46,6 +47,7 @@ CMD.PUSHD >LDA.G PUSHD.STACK
jsr GetCWD
>SYSCALL StrDup
bcs CMD.POPD.CSYN
>INC.G PUSHD.STACK
tay
txa
@ -621,7 +623,7 @@ CMD.CALL jsr CMD.CALL.GETFUNC
>PUSHWI $ffff all
>PUSHWZ From Start
>SYSCALL SListGetData
>SYSCALL SListGetData X = hMem
bcs CMD.CALL.RTS
>LDYA ZPArgVBufPtr FUNC PARAM1 PARAM2...

View File

@ -16,6 +16,13 @@ CORE.FUNCRESET >LDA.G hFuncList
.8 rts
*--------------------------------------
* stack-6 InputBuf
* stack-4 InputBufPtr
* stack-3 old ARGC
* stack-2 old ARGV
* stack-1 new hCode
* stack
*--------------------------------------
CORE.Load.YAX stx M32.ACC X = Code to Execute
>SYSCALL ArgVDup Y,A = ArgV

View File

@ -179,7 +179,7 @@ L.PS1 .DA PS1
.DA 0
*--------------------------------------
CS.INIT clc
CS.INIT.RTS rts
rts
*--------------------------------------
CS.RUN jsr CL.Init
jsr CORE.Init
@ -195,6 +195,7 @@ CS.RUN jsr CL.Init
jsr GetArgV
>STYA ZPPtr1
lda (ZPPtr1)
cmp #'-'
bne .1
@ -217,38 +218,35 @@ CS.RUN jsr CL.Init
jsr GetArgV
jmp CS.RUN.CMDLINE
.1 jsr GetArgV
.1 jsr GetArgV Load SH batch file
jsr IO.Load
bcs CS.INIT.RTS
bcs .9
jsr GetArgV
jsr CORE.Load.YAX Exec Batch file
bcs CS.INIT.RTS
lda #$C0+C..
jsr CORE.StkPush
bra CS.RUN.LOOP
phx X = loaded file hMem
jsr GetArgV Y,A = Args
plx
jsr CMD..EXEC.YAX Execute . Batch file
bcc CS.RUN.LOOP
.9 rts
*--------------------------------------
.2 jsr CMD.CD.HOME
jsr HIS.Init
.99 bcs CS.INIT.RTS
bcs .9
>PUSHW L.MSG.GREETINGS
>PUSHB #K.VER
>PUSHB /K.VER
>PUSHBI 2
>SYSCALL PrintF
bcs .99
bcs .9
>LDYA L.HOME.PROFILE
jsr IO.Load
bcs CS.RUN.LOOP No profile...
>LDYA L.HOME.PROFILE
jsr CORE.Load.YAX Exec profile and continue
bcs CS.RUN.LOOP
lda #$C0+C..
jsr CORE.StkPush
jsr CMD..EXEC.YAX Execute . ${home}profile
*--------------------------------------
CS.RUN.LOOP >SLEEP
@ -347,7 +345,9 @@ CS.RUN.INTERACTIVE
CS.RUN.CMDLINE >SYSCALL StrDup
bcs CS.RUN.CMDLINE.8
jsr GetArgV Y,A=ARGV, X=strdup
phx
jsr GetArgV
plx Y,A=ARGV, X=strdup
jsr CORE.Load.YAX Exec CL
bcs CS.RUN.CMDLINE.9
@ -468,16 +468,13 @@ CS.QUIT jsr CORE.FUNCRESET
.8 clc
rts
*--------------------------------------
GetCWD phx
ldy #S.PS.hCWD
GetCWD ldy #S.PS.hCWD
bra GetArgV.1
*--------------------------------------
GetArgV phx
ldy #S.PS.hARGV
GetArgV ldy #S.PS.hARGV
GetArgV.1 lda (pPS),y
>SYSCALL GetMemPtr
plx
rts
*--------------------------------------
CheckLFAfterCR ldy #S.PS.hStdIn Check for any extra LF

View File

@ -133,7 +133,6 @@ L538E lda A4L get command #
jsr XRW.TestWP 0 = status
bcs XRW.E.WP
lda #0
bra XRW.E.OK
.1 cmp #4 3 = format
@ -145,8 +144,7 @@ L538E lda A4L get command #
jsr XRW.TestWP
bcs XRW.E.WP
*--------------------------------------
.2 lda A4L get command #
jsr regrwts
.2 jsr regrwts
bcs XRW.E.IO
inc buf+1
@ -154,7 +152,6 @@ L538E lda A4L get command #
inc XRW.ReqSector
inc XRW.ReqSector
lda A4L get command #
jsr regrwts get 2nd half of block
dec buf+1
@ -167,7 +164,6 @@ XRW.E.OK bit IO.D2.DrvOff,x turn off
XRW.E.IO lda #MLI.E.IO
.HS 2C BIT ABS
XRW.E.WP lda #MLI.E.WRTPROT
.HS 2C BIT ABS
XRW.E.ND lda #MLI.E.NODEV
@ -178,6 +174,8 @@ XRW.E.ND lda #MLI.E.NODEV
regrwts ldy #1
sty XRW.RecalibrateCnt
lda A4L get command #
lsr set carry = 1 for read, 0 for write.
bcs .1 must prenibblize for write

View File

@ -142,9 +142,8 @@ CS.RUN.ETCINIT >LDYAI 256
beq .1
>PUSHW BufPtr
>PUSHBI S.PS.F.NOHUP
>PUSHBI S.PS.F.NOHUP+S.PS.F.HOLD
>SYSCALL ExecL
>SLEEP
bra .1

View File

@ -23,7 +23,7 @@ DBG .EQ 0
ZS.START
pNETCFG .BS 2
pBuf .BS 2
hNetworkFile .BS 1
hEtcNetwork .BS 1
hLineBuf .BS 1
hFrameIn .BS 1
ZS.END .ED
@ -207,11 +207,11 @@ CS.INIT.CONF >LDYAI 64
>SYSCALL FOpen
bcs .98
sta hNetworkFile
sta hEtcNetwork
.1 >PUSHWI 64
>PUSHW pBuf
lda hNetworkFile
lda hEtcNetwork
>SYSCALL fgets
bcs .80
@ -223,7 +223,6 @@ CS.INIT.CONF >LDYAI 64
>PUSHW pBuf
>PUSHBI S.PS.F.HOLD
>SYSCALL execL
jsr CS.RUN.CheckErr
>SLEEP
bra .1
@ -234,7 +233,7 @@ CS.INIT.CONF >LDYAI 64
sec
rts
.80 lda hNetworkFile
.80 lda hEtcNetwork
>SYSCALL FClose
.81 lda hLineBuf