diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index b84a38d2..5f457691 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/SYS/KERNEL.S.DIRENT.txt b/SYS/KERNEL.S.DIRENT.txt index 447445ad..8bd35d84 100644 --- a/SYS/KERNEL.S.DIRENT.txt +++ b/SYS/KERNEL.S.DIRENT.txt @@ -91,18 +91,16 @@ K.ReadDir.ROOT lda (pFD),y bne K.ReadDir.NoMore - stz K.MLI.PARAMS+1 All Volumes + stz K.MLI.PARAMS+1 All Volumes >LDYAI K.Buf256 >STYA K.MLI.PARAMS+2 >STYA ZPPtr2 >MLICALL MLIONLINE - bcc .10 + bcs K.ReadDir.RTS - sec -.99 rts * pass #1 compute BufSize..... -.10 lda #1 +1 for Ending 0 + lda #1 +1 for Ending 0 sta K.ReadDir.BufSize stz K.ReadDir.BufSize+1 @@ -131,7 +129,7 @@ K.ReadDir.ROOT * pass #2 Fill Buffer... jsr K.ReadDir.GetBuf - bcs .99 + bcs K.ReadDir.RTS .3 lda (ZPPtr2) and #$0F @@ -206,7 +204,7 @@ K.ReadDir.ROOT jmp K.ReadDir.EXIT *-------------------------------------- -K.ReadDir.DIR sta K.MLI.PARAMS+1 A=#S.DIR.PRODOS.REF +K.ReadDir.DIR sta K.MLI.PARAMS+1 A=#S.DIR.PRODOS.REF >LDYAI 512 Get a 512 bytes buffer for reading dir... jsr K.GetMem @@ -422,7 +420,7 @@ K.ReadDir.GetBuf >STYA ZPPtr4 .9 rts *-------------------------------------- -K.ReadDir.ADD. ldx #1 filename="1." +K.ReadDir.ADD. ldx #1 filename="1." .HS 2C bit abs K.ReadDir.ADD.. ldx #2 filename="2.." @@ -560,9 +558,9 @@ K.ReadDir.AddFNToBuf bne .8 txa - jsr K.ReadDir.AddToBuf +* jsr K.ReadDir.AddToBuf - rts +* rts *-------------------------------------- K.ReadDir.AddToBuf sta (ZPPtr4) diff --git a/SYS/KERNEL.S.ENV.txt b/SYS/KERNEL.S.ENV.txt index b612fdf2..4ba11a42 100644 --- a/SYS/KERNEL.S.ENV.txt +++ b/SYS/KERNEL.S.ENV.txt @@ -599,52 +599,22 @@ ENV.SysVarsPPID ldy #S.PS.PPID ENV.SysVarsPID ldy #S.PS.PID .HS 2C ENV.SysVarsCPID ldy #S.PS.CPID + lda (pPS),y -ENV.SysVarsNum stz .2+1 - stz .3+1 +ENV.SysVarsNum jsr MEM.Byte2Str102 - ldx #8 - sed + ldy #0 -.1 asl - pha -.2 lda #$ff Self Modified - adc .2+1 - sta .2+1 +.1 lda $102,y + beq .8 -.3 lda #$ff Self Modified - adc .3+1 - sta .3+1 + iny - pla - dex - bne .1 + jsr ENV.AddAToBuf + bra .1 - cld - - lda .3+1 - beq .4 - - jsr ENV.AddAToBuf30 - -.4 lda .2+1 - pha - lsr - lsr - lsr - lsr - beq .5 - - jsr ENV.AddAToBuf30 - -.5 pla - - and #$0f - -.8 jsr ENV.AddAToBuf30 - - clc +.8 clc rts *-------------------------------------- ENV.SysVarsArgs lda #1 @@ -762,8 +732,6 @@ ENV.NextEnvP4Y tya inc ZPPtr4+1 .8 rts *-------------------------------------- -ENV.AddAToBuf30 ora #$30 - ENV.AddAToBuf ldx ENV.BufLen sta K.Buf256,x inc ENV.BufLen diff --git a/SYS/KERNEL.S.MEM.txt b/SYS/KERNEL.S.MEM.txt index 027b60d8..91a2571c 100644 --- a/SYS/KERNEL.S.MEM.txt +++ b/SYS/KERNEL.S.MEM.txt @@ -717,13 +717,15 @@ MEM.SPtr2PPtr1 >STYA ZPPtr2 rts *-------------------------------------- MEM.GetCharPtr1 lda (ZPPtr1) - beq MEM.GetCharPtr1.8 + bne MEM.NextCharPtr1 + rts + +MEM.PutCharPtr1 sta (ZPPtr1) MEM.NextCharPtr1 inc ZPPtr1 - bne MEM.GetCharPtr1.8 + bne .8 inc ZPPtr1+1 never Z -MEM.GetCharPtr1.8 - rts +.8 rts *-------------------------------------- MEM.AddYp1ToPtr1 sec @@ -742,38 +744,72 @@ MEM.NextCharPtr2 bne .8 inc ZPPtr2+1 .8 rts -*/-------------------------------------- -* # GetMemStat -* **In:** -* Y,A = Ptr to 24 bytes buffer -* ## RETURN VALUE -* Buffer filled with memory stats -*\-------------------------------------- -K.GetMemStat >STYA ZPPtr1 +*-------------------------------------- +* Convert A to CSTR at $102 +*-------------------------------------- +MEM.Byte2Str102 stz .2+1 0xx + stz .3+1 x00 + + phx + + ldx #8 - ldy #23 - ldx #7 - -.1 lda DevMgr.Stat,x - sta (ZPPtr1),y - dey - dex - bpl .1 - - sta SETREADAUX - - jsr .2 - - sta CLRREADAUX - -.2 ldx #7 - -.3 lda Mem.Table,x - sta (ZPPtr1),y - dey - dex - bpl .3 + sed +.1 asl + pha + +.2 lda #$ff Self Modified + adc .2+1 + sta .2+1 + +.3 lda #$ff Self Modified + adc .3+1 + sta .3+1 + + pla + dex + bne .1 + + cld + + ldx #0 + + lda .3+1 x00 + beq .4 + + jsr .8 + +.4 lda .2+1 + pha + + lsr + lsr + lsr + lsr 0x0 + + bne .5 + + cpx #0 + beq .6 + +.5 jsr .8 + +.6 pla + + and #$0f 00x + + jsr .8 + + stz $102,x + + plx + + rts + +.8 ora #$30 + sta $102,x + inx rts *-------------------------------------- MAN diff --git a/SYS/KERNEL.S.PWDX.txt b/SYS/KERNEL.S.PWDX.txt index a8fb1553..1f4111eb 100644 --- a/SYS/KERNEL.S.PWDX.txt +++ b/SYS/KERNEL.S.PWDX.txt @@ -490,71 +490,33 @@ PWD.GetRecordLen jsr PWD.StoreChar txa - +PWD.GetRecordLen.RTS rts *-------------------------------------- PWD.StoreString iny jsr MEM.TXTPTR.GetY - beq .8 + beq PWD.GetRecordLen.RTS jsr PWD.StoreChar bra PWD.StoreString - -.8 rts *-------------------------------------- PWD.StoreByte php phx - stz .2+1 - stz .3+1 + jsr MEM.Byte2Str102 - ldx #8 - - sed - -.1 asl - pha -.2 lda #$ff Self Modified - adc .2+1 - sta .2+1 - -.3 lda #$ff Self Modified - adc .3+1 - sta .3+1 - - pla - dex - bne .1 - - cld plx plp - lda .3+1 - beq .4 + ldy #0 - jsr PWD.StoreChar30 +.1 lda $102,y + beq PWD.GetRecordLen.RTS -.4 lda .2+1 - beq PWD.StoreChar30 - - php - lsr - lsr - lsr - lsr - plp + iny - and #$0f plp corrupt Z - beq .5 - - jsr PWD.StoreChar30 - -.5 lda .2+1 - - and #$0f + jsr PWD.StoreChar + bra .1 *-------------------------------------- -PWD.StoreChar30 ora #$30 - PWD.StoreChar inx bcc .9 Dry run, no store diff --git a/SYS/KERNEL.S.STAT.txt b/SYS/KERNEL.S.STAT.txt index 4b06760d..2e9604d2 100644 --- a/SYS/KERNEL.S.STAT.txt +++ b/SYS/KERNEL.S.STAT.txt @@ -1,5 +1,38 @@ NEW AUTO 3,1 +*/-------------------------------------- +* # GetMemStat +* **In:** +* Y,A = Ptr to 24 bytes buffer +* ## RETURN VALUE +* Buffer filled with memory stats +*\-------------------------------------- +K.GetMemStat >STYA ZPPtr1 + + ldy #23 + ldx #7 + +.1 lda DevMgr.Stat,x + sta (ZPPtr1),y + dey + dex + bpl .1 + + sta SETREADAUX + + jsr .2 + + sta CLRREADAUX + +.2 ldx #7 + +.3 lda Mem.Table,x + sta (ZPPtr1),y + dey + dex + bpl .3 + + rts *-------------------------------------- * # ChMod * change permissions of a file diff --git a/SYS/KERNEL.S.STDIO.txt b/SYS/KERNEL.S.STDIO.txt index 5a363e97..e7f34f75 100644 --- a/SYS/KERNEL.S.STDIO.txt +++ b/SYS/KERNEL.S.STDIO.txt @@ -657,7 +657,7 @@ PrintF.F clc cmp (pStack) bcc .1 - bne .9 + bne .9 CS .1 tya sec +1 @@ -684,17 +684,15 @@ PrintF.F clc .2 lda $102,y beq .8 - jsr PrintF.COut - bcs .99 - iny - bne .2 + + jsr PrintF.COut + bcc .2 + +.9 rts .8 clc rts - -.9 sec -.99 rts *-------------------------------------- PrintF.S ldy #$ff CSTR .HS 2C bit abs @@ -1017,16 +1015,12 @@ K.SScanF jsr MEM.SPtr2PPtr1 ptr2=String to Scan,Ptr1=format cmp (ZPPtr2) Same char in string? bne .9 - inc ZPPtr2 - bne .1 - inc ZPPtr2+1 + jsr MEM.NextCharPtr2 bra .1 -.12 inc ZPPtr2 Space.... - bne .14 - inc ZPPtr2+1 - -.14 cmp (ZPPtr2) another one ? +.12 jsr MEM.NextCharPtr2 Space.... + + cmp (ZPPtr2) another one ? beq .12 bne .1 diff --git a/SYS/KERNEL.S.TERM.txt b/SYS/KERNEL.S.TERM.txt index 91a44302..ec45876e 100644 --- a/SYS/KERNEL.S.TERM.txt +++ b/SYS/KERNEL.S.TERM.txt @@ -1133,55 +1133,18 @@ DRV.TERM.CURBLNK.SET DRV.TERM.CURBLNK.RTS rts *-------------------------------------- -Decimal.Out stz ZPTmpWord - stz ZPTmpWord+1 - - ldx #8 - sed - - tay - -.1 tya - asl - tay - lda ZPTmpWord - adc ZPTmpWord - sta ZPTmpWord - lda ZPTmpWord+1 - adc ZPTmpWord+1 - sta ZPTmpWord+1 - dex - bne .1 - - cld - - stz ZPTmpBool No leading 0 - - lda ZPTmpWord+1 - and #$0f - beq .2 - - dec ZPTmpBool non zero, print everything +Decimal.Out jsr MEM.Byte2Str102 - jsr Char.Out.Put30 + ldx #0 -.2 lda ZPTmpWord - lsr - lsr - lsr - lsr - bne .3 +.1 lda $102,x - bit ZPTmpBool Print this digit ? - bpl .4 + beq DRV.TERM.CURBLNK.RTS -.3 jsr Char.Out.Put30 - -.4 lda ZPTmpWord - and #$0f + inx + jsr Char.Out.Put + bra .1 *-------------------------------------- -Char.Out.Put30 ora #$30 - Char.Out.Put pha save char ldy #S.DCB.TTY.OUTHEAD diff --git a/SYS/KERNEL.S.TIME.txt b/SYS/KERNEL.S.TIME.txt index b007a3c2..37487f0d 100644 --- a/SYS/KERNEL.S.TIME.txt +++ b/SYS/KERNEL.S.TIME.txt @@ -426,7 +426,7 @@ K.StrFTime jsr MEM.SPtr1PPtr2 cmp #'%' beq .2 - jsr K.StrFTime.addChar + jsr MEM.PutCharPtr1 bra .1 .2 ldx #K.StrFTime.JMP-K.StrFTime.Tbl-1 @@ -507,7 +507,7 @@ K.StrFTime.STR lda (ZPPtr3),y get required S.Time field value .3 iny lda (ZPPtr4),y - jsr K.StrFTime.addChar + jsr MEM.PutCharPtr1 tya cmp (ZPPtr4) beq .8 @@ -518,7 +518,7 @@ K.StrFTime.STR lda (ZPPtr3),y get required S.Time field value .9 ldx #3 lda #'?' -.99 jsr K.StrFTime.addChar +.99 jsr MEM.PutCharPtr1 dex bne .99 rts @@ -526,9 +526,10 @@ K.StrFTime.STR lda (ZPPtr3),y get required S.Time field value K.StrFTime.II ldy #S.Time.HOUR lda (ZPPtr3),y cmp #12 - bcc .1 + bcc K.StrFTime.addDecA sbc #12 -.1 bra K.StrFTime.addDecA + bra K.StrFTime.addDecA + K.StrFTime.P ldy #S.Time.HOUR lda (ZPPtr3),y cmp #12 @@ -536,11 +537,13 @@ K.StrFTime.P ldy #S.Time.HOUR lda #'p' .HS 2C bit abs .1 lda #'a' - jsr K.StrFTime.addChar + jsr MEM.PutCharPtr1 lda #'m' - bra K.StrFTime.addChar + jmp MEM.PutCharPtr1 + K.StrFTime.YY ldy #S.Time.CENTURY jsr K.StrFTime.addDecPtr1Y + K.StrFTime.Y ldy #S.Time.YEAR .HS 2C bit abs K.StrFTime.D ldy #S.Time.DAY @@ -558,40 +561,18 @@ K.StrFTime.MM ldy #S.Time.MINUTE K.StrFTime.addDecPtr1Y lda (ZPPtr3),y K.StrFTime.addDecA + jsr MEM.Byte2Str102 - stz .2+1 + lda $102 + ldx $103 - ldx #8 - sed - -.1 asl - pha -.2 lda #$ff Self Modified - - adc .2+1 - sta .2+1 - - pla - dex bne .1 + tax + lda #$30 - cld - - lda .2+1 - pha - lsr - lsr - lsr - lsr - ora #$30 - jsr K.StrFTime.addChar - pla - and #$0f - ora #$30 -*-------------------------------------- -K.StrFTime.addChar - sta (ZPPtr1) - jmp MEM.NextCharPtr1 +.1 jsr MEM.PutCharPtr1 + txa + jmp MEM.PutCharPtr1 *-------------------------------------- K.StrFTime.DAY >PSTR "Monday" >PSTR "Tuesday"