Kernel 0.93+

This commit is contained in:
Rémy GIBERT 2020-01-14 16:26:24 +01:00
parent 8ba8817cc1
commit 3fd1609f94
5 changed files with 31 additions and 31 deletions

Binary file not shown.

View File

@ -166,21 +166,16 @@ CMD.SET lda (ZPArgVBufPtr)
>STYA ZPPTR1 >STYA ZPPTR1
.1 lda (ZPPTR1) .1 lda (ZPPTR1)
beq .9 Ending 0 ? beq .8 Ending 0 ?
>PUSHW L.MSG.PRINTENV >LDYA ZPPTR1
>SYSCALL puts
bcs .9
>PUSHW ZPPTR1 Push name
jsr GetPtr1NextString jsr GetPtr1NextString
bra .1
>PUSHW ZPPTR1 Push value .8
jsr GetPtr1NextString * clc
>PUSHBI 4
>SYSCALL printf2
bcc .1
.9 rts .9 rts
*-------------------------------------- *--------------------------------------
* SET +X VAR = VALUE1 op VALUE2 op VALUE3 ... * SET +X VAR = VALUE1 op VALUE2 op VALUE3 ...
@ -262,15 +257,7 @@ CMD.SET.GET >LDYA ZPVarNamePtr
clc clc
rts rts
.1 pha .1 >SYSCALL puts
>PUSHW L.MSG.PRINTENV
>PUSHW ZPVarNamePtr push name
pla
>PUSHYA push value
>PUSHBI 4
>SYSCALL printf2
rts rts
*-------------------------------------- *--------------------------------------
CMD.SET.EXEC jsr CORE.ArgV.NextChar skip "`" CMD.SET.EXEC jsr CORE.ArgV.NextChar skip "`"

View File

@ -119,7 +119,6 @@ L.MSG.ECHOCRLF .DA MSG.ECHOCRLF
L.MSG.BATCHLINE .DA MSG.BATCHLINE L.MSG.BATCHLINE .DA MSG.BATCHLINE
L.MSG.BATCHERR .DA MSG.BATCHERR L.MSG.BATCHERR .DA MSG.BATCHERR
L.MSG.ERROR .DA MSG.ERROR L.MSG.ERROR .DA MSG.ERROR
L.MSG.PRINTENV .DA MSG.PRINTENV
L.MSG.PID .DA MSG.PID L.MSG.PID .DA MSG.PID
L.FMT.DATE .DA FMT.DATE L.FMT.DATE .DA FMT.DATE
L.FMT.Long .DA FMT.Long L.FMT.Long .DA FMT.Long
@ -569,7 +568,6 @@ MSG.BATCHLINE .AZ "%s\r\n"
MSG.BATCHERR .AZ "%s^\r\nLine #%D:" MSG.BATCHERR .AZ "%s^\r\nLine #%D:"
MSG.ERROR .AS "[$%h]:%S." MSG.ERROR .AS "[$%h]:%S."
MSG.ECHOCRLF .AZ "\r\n" MSG.ECHOCRLF .AZ "\r\n"
MSG.PRINTENV .AZ "%s = %s\r\n"
MSG.PID .AZ "PID=%d\r\n" MSG.PID .AZ "PID=%d\r\n"
FMT.DATE .AZ "%A, %B %d %Y %H:%M:%S" FMT.DATE .AZ "%A, %B %d %Y %H:%M:%S"
FMT.Long .AZ "%L" FMT.Long .AZ "%L"

View File

@ -88,9 +88,11 @@ K.ExpandStr stz ENV.hMem Reset Intermediate string...
.40 jsr ENV.ExpandStrVar .40 jsr ENV.ExpandStrVar
bcc .70 bcc .70
.50 jsr ENV.FindVarP1 .50 jsr ENV.FindVarP1
bcs .70 bcs .70
jsr ENV.NextEnvP3
jsr ENV.NextEnvP3Y Skip NAME=
jsr ENV.AddP3ToBuf jsr ENV.AddP3ToBuf
.70 ldy #$ff .70 ldy #$ff
@ -242,6 +244,7 @@ K.PutEnv >STYA ZPPtr2 NAME=VALUE
.1 lda (ZPPtr2),y copy NAME to K.Buf256 .1 lda (ZPPtr2),y copy NAME to K.Buf256
beq .9 beq .9
cmp #'=' cmp #'='
beq .2 beq .2
@ -337,6 +340,9 @@ K.SetEnv.I jsr K.UnsetEnv.I
sta (ZPPtr3),y sta (ZPPtr3),y
bne .23 bne .23
lda #'='
sta (ZPPtr3),y
jsr ENV.NextEnvP3Y jsr ENV.NextEnvP3Y
ldy #$ff ldy #$ff
@ -364,10 +370,11 @@ K.SetEnv.I jsr K.UnsetEnv.I
* CS : not found * CS : not found
*\-------------------------------------- *\--------------------------------------
K.GetEnv >STYA ZPPtr1 K.GetEnv >STYA ZPPtr1
jsr ENV.FindVarP1 jsr ENV.FindVarP1
bcs .9 bcs .9
jsr ENV.NextEnvP3 Skip NAME jsr ENV.NextEnvP3Y Skip NAME=
clc just in case ADC in NextEnvPtr3 disturb CC clc just in case ADC in NextEnvPtr3 disturb CC
.9 >LDYA ZPPtr3 \0 .9 >LDYA ZPPtr3 \0
@ -387,7 +394,7 @@ K.UnsetEnv >STYA ZPPtr1 Store VAR Name
K.UnsetEnv.I jsr ENV.FindVarP1 K.UnsetEnv.I jsr ENV.FindVarP1
bcs K.UnsetEnv.I.8 not found, quit bcs K.UnsetEnv.I.8 not found, quit
jsr ENV.DelVarP3 Ptr3 -> ENVNAME jsr ENV.DelVarP3 Ptr3 -> NAME=VALUE
K.UnsetEnv.I.8 clc K.UnsetEnv.I.8 clc
K.UnsetEnv.I.9 rts K.UnsetEnv.I.9 rts
*-------------------------------------- *--------------------------------------
@ -513,7 +520,7 @@ ENV.StrVarsSession
* CC: Found * CC: Found
* Y = NAME len * Y = NAME len
* ZPPtr1 -> NAME * ZPPtr1 -> NAME
* ZPPtr3 -> ENV.NAME * ZPPtr3 -> NAME=VALUE
* CS: Not Found * CS: Not Found
* ZPPtr1 -> NAME * ZPPtr1 -> NAME
* ZPPtr3 -> PTR to Ending 0 * ZPPtr3 -> PTR to Ending 0
@ -522,24 +529,28 @@ ENV.FindVarP1 jsr ENV.InitEnvP3 Store ENV
.1 lda (ZPPtr3) .1 lda (ZPPtr3)
beq .9 end of ENV beq .9 end of ENV
ldy #$ff ldy #$ff
.2 iny .2 iny
lda (ZPPtr1),y lda (ZPPtr1),y
beq .3 beq .3
jsr SHARED.IsIDValid jsr SHARED.IsIDValid
bcs .3 bcs .3
cmp (ZPPtr3),y cmp (ZPPtr3),y
beq .2 beq .2
bra .4 bra .4
.3 lda (ZPPtr3),y .3 lda (ZPPtr3),y
cmp #'='
bne .4 bne .4
clc clc
rts rts
.4 jsr ENV.NextEnvP3x2 Skip NAME & VALUE .4 jsr ENV.NextEnvP3 Skip NAME=VALUE
bra .1 bra .1
.9 sec .9 sec
@ -551,7 +562,7 @@ ENV.FindVarP1 jsr ENV.InitEnvP3 Store ENV
*-------------------------------------- *--------------------------------------
ENV.DelVarP3 >LDYA ZPPtr3 save actual Ptr ENV.DelVarP3 >LDYA ZPPtr3 save actual Ptr
>STYA ZPPtr4 >STYA ZPPtr4
jsr ENV.NextEnvP3x2 Skip NAME & VALUE jsr ENV.NextEnvP3 Skip NAME=VALUE
.1 ldy #$ff .1 ldy #$ff
@ -577,8 +588,6 @@ ENV.InitEnvP3 ldy #S.PS.hENV
ENV.InitEnvP3.RTS ENV.InitEnvP3.RTS
rts rts
*-------------------------------------- *--------------------------------------
ENV.NextEnvP3x2 jsr ENV.NextEnvP3
*--------------------------------------
ENV.NextEnvP3 jsr ENV.GetP3LenY ENV.NextEnvP3 jsr ENV.GetP3LenY
*-------------------------------------- *--------------------------------------
ENV.NextEnvP3Y tya ENV.NextEnvP3Y tya

View File

@ -80,6 +80,12 @@ SHARED.TXTPTR.GetY
sta SETREADAUX sta SETREADAUX
rts rts
*-------------------------------------- *--------------------------------------
SHARED.FORPNT.PutY
sta CLRWRITEAUX
sta (FORPNT),y
sta SETWRITEAUX
rts
*--------------------------------------
SHARED.TXTPTR.GetNext SHARED.TXTPTR.GetNext
sta CLRREADAUX sta CLRREADAUX
lda (TXTPTR) lda (TXTPTR)