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
phx X = loaded file hMem
jsr GetArgV Y,A = Args
plx
jsr CMD..EXEC.YAX Execute . Batch file
bcc CS.RUN.LOOP
jsr CORE.Load.YAX Exec Batch file
bcs CS.INIT.RTS
lda #$C0+C..
jsr CORE.StkPush
bra 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