diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index fd1067fb..a6005363 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/BIN/SH.S.CORE.txt b/BIN/SH.S.CORE.txt index 413d2d3c..69d1754a 100644 --- a/BIN/SH.S.CORE.txt +++ b/BIN/SH.S.CORE.txt @@ -26,6 +26,7 @@ CORE.Load.YAX stx M32.ACC X = Code to Execute lda #8 jsr CORE.StkCheck bcs .9 + >LDYA ZPInputBuf jsr CORE.StkPushYA diff --git a/BIN/SH.S.HIS.txt b/BIN/SH.S.HIS.txt index 34acef6d..07b77d0c 100644 --- a/BIN/SH.S.HIS.txt +++ b/BIN/SH.S.HIS.txt @@ -3,17 +3,17 @@ NEW .LIST OFF *-------------------------------------- HIS.Init >LDYAI HISTORY.MAX Get a buffer for History - >SYSCALL GetMem + >SYSCALL NewStkObj bcs .9 - >STYA ZPPTR1 txa >STA.G HIS.hBuf - lda #0 - sta (ZPPTR1) - - >STA.G HIS.Count + >PUSHA + >PUSHWI 0 + >SYSCALL StrVAdd Reset Buffer + + >STZ.G HIS.Count >STA.G HIS.Index .9 rts *-------------------------------------- diff --git a/BIN/SH.S.txt b/BIN/SH.S.txt index 9d58acf6..2f64c5f4 100644 --- a/BIN/SH.S.txt +++ b/BIN/SH.S.txt @@ -435,10 +435,12 @@ CS.DOEVENT lda (pEvent) *-------------------------------------- CS.QUIT jsr CORE.FUNCRESET - ldy #HIS.hBuf - jsr .7 + >LDA.G HIS.hBuf + beq .1 + + >SYSCALL FreeStkObj - ldy #CL.hCLBuf +.1 ldy #CL.hCLBuf jsr .7 ldy #CORE.hArgVBuf diff --git a/SYS/KERNEL.S.JMP.txt b/SYS/KERNEL.S.JMP.txt index 3ea6bbd2..96672427 100644 --- a/SYS/KERNEL.S.JMP.txt +++ b/SYS/KERNEL.S.JMP.txt @@ -386,11 +386,11 @@ K.SYSCALL.BANK .DA #RRAMWRAMBNK1 $00 .DA #$80 .DA #0 PWD .DA #$80 - .DA #0 StrV + .DA #$C0 StrV .DA #$80 - .DA #0 + .DA #$C0 .DA #$80 - .DA #0 + .DA #$C0 .DA #$80 .DA #0 .DA #$80 diff --git a/SYS/KERNEL.S.STRV.txt b/SYS/KERNEL.S.STRV.txt index ca858818..85072b8d 100644 --- a/SYS/KERNEL.S.STRV.txt +++ b/SYS/KERNEL.S.STRV.txt @@ -8,12 +8,16 @@ NEW * `>SYSCALL StrVShift` * ## RETURN VALUE *\-------------------------------------- -K.StrVShift >PULLA index +K.StrVShift sta CLRREADAUX + + >PULLA index eor #$ff tax >PULLA - >SYSCALL GetMemPtr + sta SETREADAUX + + jsr K.GetMemPtr >STYA ZPPtr1 strV .1 inx @@ -43,13 +47,15 @@ K.StrVShift >PULLA index * CC: Y,A = Ptr * CS: Y,A = NULL *\-------------------------------------- -K.StrVGet >PULLW FORPNT ptr +K.StrVGet sta CLRREADAUX + >PULLW FORPNT ptr >PULLA index eor #$ff tax >PULLA + sta SETREADAUX jsr K.GetMemPtr >STYA ZPPtr1 strV @@ -75,7 +81,7 @@ K.StrVGet >PULLW FORPNT ptr .5 iny lda (ZPPtr1),y - sta (FORPNT),y + jsr SHARED.FORPNT.PutY bne .5 >LDYA FORPNT @@ -95,12 +101,21 @@ K.StrVGet >PULLW FORPNT ptr * CC : str added to hSTRV * CS : hSTRV full *\-------------------------------------- -K.StrVAdd >PULLW TXTPTR str +K.StrVAdd sta CLRREADAUX + >PULLW TXTPTR str >PULLA - >SYSCALL GetMemPtr + sta SETREADAUX + jsr K.GetMemPtr >STYA ZPPtr1 + + lda TXTPTR+1 + bne .10 - lda #1 for \0 + sta (ZPPtr1) + clc + rts + +.10 lda #1 for \0 sta ZPPtr2 stz ZPPtr2+1 @@ -113,7 +128,7 @@ K.StrVAdd >PULLW TXTPTR str .2 ldy #$ff .3 iny - lda (TXTPTR),y + jsr SHARED.TXTPTR.GetY bne .3 tya @@ -139,7 +154,7 @@ K.StrVAdd >PULLW TXTPTR str .4 ldy #$ff .5 iny - lda (TXTPTR),y + jsr SHARED.TXTPTR.GetY sta (ZPPtr1),y bne .5