From 1ec69493f5854ab68d51de0acc69b14f0d8e06cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Wed, 29 Jan 2020 17:46:51 +0100 Subject: [PATCH] Kernel 0.93++ --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes INC/A2osX.I.txt | 8 +- SYS/KERNEL.S.ENVX.txt | 182 +++++++++++++-------------------------- SYS/KERNEL.S.SHARED.txt | 8 +- SYS/KERNEL.S.STRV.txt | 6 +- 5 files changed, 77 insertions(+), 127 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index cc86c8ed5da4d1596e5c2c1735a35283b490518b..d4772b5a4b05b31afe49984ad51502a0c9676f64 100644 GIT binary patch delta 6533 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 FORPNT -.3 .DO AUXENV=1 - sta SETREADAUX - .FIN - - ldy #$ff +.3 ldy #$ff .4 iny lda (ZPPtr3),y - sta (FORPNT),y + jsr SHARED.FORPNT.PutY bne .4 >LDYA FORPNT - .DO AUXENV=1 - sta CLRREADAUX - .FIN clc rts @@ -191,13 +161,20 @@ ENVX.GetEnv lda TXTPTR .9 >LDYAI 0 * sec .99 rts - -K.GetEnvDump ldy #S.PS.ENVPAGECNT +*-------------------------------------- +ENVX.Dump sta CLRREADAUX + sta CLRWRITEAUX + + ldy #S.PS.ENVPAGECNT lda (pPs),y sta .1+1 ldy #0 jsr K.getmem + + sta SETREADAUX + sta SETWRITEAUX + bcs .9 >STYA FORPNT @@ -212,26 +189,27 @@ K.GetEnvDump ldy #S.PS.ENVPAGECNT ldy #0 .2 lda (ZPPtr3),y - sta (FORPNT),y + jsr SHARED.FORPNT.PutY iny bne .2 - + inc ZPPtr3+1 + inc FORPNT+1 + + dex + bne .2 + .80 ldy #$ff SELF MODIFIED .81 lda #$ff SELF MODIFIED .82 ldx #$ff SELF MODIFIED - - .DO AUXENV=1 - sta CLRREADAUX - .FIN - + clc .9 rts *-------------------------------------- -ENVX.UnsetEnv jsr ENV.FindVar +ENVX.UnsetEnv jsr ENVX.FindVar bcs . 8 not found, quit - jsr ENV.DelVarP3 Ptr3 -> NAME=VALUE + jsr ENVX.DelVarP3 Ptr3 -> NAME=VALUE clc rts @@ -248,13 +226,7 @@ ENVX.UnsetEnv jsr ENV.FindVar * TXTPTR -> NAME * ZPPtr3 -> PTR to Ending 0 *-------------------------------------- -ENVX.FindVar - .DO AUXENV=1 - sta SETREADAUX - sta SETWRITEAUX - .FIN - - jsr ENV.InitEnvP3 Store ENV +ENVX.FindVar jsr ENVX.InitEnvP3 Store ENV .1 lda (ZPPtr3) beq .9 end of ENV @@ -262,11 +234,7 @@ ENVX.FindVar ldy #$ff .2 iny - .DO AUXENV=1 jsr SHARED.TXTPTR.GetY - .ELSE - lda (TXTPTR),y - .FIN beq .3 jsr SHARED.IsIDValid @@ -281,34 +249,22 @@ ENVX.FindVar cmp #'=' bne .4 - .DO AUXENV=1 - sta CLRREADAUX - sta CLRWRITEAUX - .FIN clc rts -.4 jsr ENV.NextEnvP3 Skip NAME=VALUE +.4 jsr ENVX.NextEnvP3 Skip NAME=VALUE bra .1 -.9 .DO AUXENV=1 - sta CLRREADAUX - sta CLRWRITEAUX - .FIN - sec +.9 sec rts *-------------------------------------- * ENV.DelVarP3 * In: * ZPPtr3 -> ENV.NAME to Discard *-------------------------------------- -ENV.DelVarP3 .DO AUXENV=1 - sta SETREADAUX - sta SETWRITEAUX - .FIN - >LDYA ZPPtr3 save actual Ptr +ENVX.DelVarP3 >LDYA ZPPtr3 save actual Ptr >STYA ZPPtr4 - jsr ENV.NextEnvP3 Skip NAME=VALUE + jsr ENVX.NextEnvP3 Skip NAME=VALUE .1 ldy #$ff @@ -321,46 +277,38 @@ ENV.DelVarP3 .DO AUXENV=1 beq .8 we moved back ending \0 - jsr ENV.NextEnvP3Y - jsr ENV.NextEnvP4Y + jsr ENVX.NextEnvP3Y + jsr ENVX.NextEnvP4Y bra .1 -.8 .DO AUXENV=1 - sta CLRREADAUX - sta CLRWRITEAUX - .FIN - rts +.8 rts *-------------------------------------- -ENV.InitEnvP3 .DO AUXENV=1 - sta CLRREADAUX - .FIN +ENVX.InitEnvP3 sta CLRREADAUX ldy #S.PS.hENV lda (pPs),y - .DO AUXENV=1 sta SETREADAUX - .FIN jsr K.GetMemPtr >STYA ZPPtr3 Store ENV rts *-------------------------------------- -ENV.NextEnvP3 jsr ENV.GetP3LenY +ENVX.NextEnvP3 jsr ENVX.GetP3LenY *-------------------------------------- -ENV.NextEnvP3Y tya -ENV.NextEnvP3A sec +ENVX.NextEnvP3Y tya +ENVX.NextEnvP3A sec adc ZPPtr3 sta ZPPtr3 bcc .8 inc ZPPtr3+1 .8 rts *-------------------------------------- -ENV.GetP3LenY ldy #$ff +ENVX.GetP3LenY ldy #$ff .1 iny lda (ZPPtr3),y bne .1 rts *-------------------------------------- -ENV.NextEnvP4Y tya +ENVX.NextEnvP4Y tya sec adc ZPPtr4 sta ZPPtr4 @@ -386,10 +334,6 @@ ENV.Dup.A sta .8+1 Store target page Count ldy #S.PS.hENV lda (pPs),y - .DO AUXENV=1 - sta SETREADAUX - sta SETWRITEAUX - .FIN jsr K.GetMemPtr >STYA .1+1 @@ -420,11 +364,7 @@ ENV.Dup.A sta .8+1 Store target page Count pla hMem clc -.9 .DO AUXENV=1 - sta CLRREADAUX - sta CLRWRITEAUX - .FIN - rts +.9 rts *-------------------------------------- MAN SAVE USR/SRC/SYS/KERNEL.S.ENVX diff --git a/SYS/KERNEL.S.SHARED.txt b/SYS/KERNEL.S.SHARED.txt index 39860279..272f6ced 100644 --- a/SYS/KERNEL.S.SHARED.txt +++ b/SYS/KERNEL.S.SHARED.txt @@ -97,6 +97,12 @@ SHARED.TXTPTR.Next inc TXTPTR+1 rts *-------------------------------------- +SHARED.FORPNT.getY + sta CLRREADAUX + sta (FORPNT),y + sta SETREADAUX + rts +*-------------------------------------- SHARED.FORPNT.PutY sta CLRWRITEAUX sta (FORPNT),y @@ -107,7 +113,7 @@ SHARED.FORPNT.PutNext sta CLRWRITEAUX sta (FORPNT) sta SETWRITEAUX -* SHARED.FORPNT.Next +SHARED.FORPNT.Next inc FORPNT bne SHARED.RTS inc FORPNT+1 diff --git a/SYS/KERNEL.S.STRV.txt b/SYS/KERNEL.S.STRV.txt index 6aab293a..a8e376cd 100644 --- a/SYS/KERNEL.S.STRV.txt +++ b/SYS/KERNEL.S.STRV.txt @@ -174,17 +174,21 @@ K.Str2StrV jsr K.Expand .3 cmp #C.SPACE bne .6 regular char ...store... tya - bmi .6 between quotes... store space... + bmi .4 between quotes... store space... inx Found one arg !!! lda #0 set this token End jsr SHARED.PutCharPtr2 bra .1 + +.4 lda #C.SPACE .6 jsr SHARED.PutCharPtr2 .7 jsr SHARED.GetCharPtr1 bne .2 + inx + .8 jsr SHARED.PutCharPtr2 set Argv[x] Ending 0 sta (ZPPtr2) set Array Ending 0