diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po
index 52e5d678..20bb5a7d 100644
Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ
diff --git a/.Floppies/A2OSX.SRC.po b/.Floppies/A2OSX.SRC.po
index 2c6fb274..9802c919 100644
Binary files a/.Floppies/A2OSX.SRC.po and b/.Floppies/A2OSX.SRC.po differ
diff --git a/BIN/LS.S.txt b/BIN/LS.S.txt
index f1da9c3b..07ff68e2 100644
--- a/BIN/LS.S.txt
+++ b/BIN/LS.S.txt
@@ -29,9 +29,10 @@ CS.START cld
.DA #$61 6502,Level 1 (65c02)
.DA #1 BIN Layout Version 1
.DA 0
- .DA CS.END-CS.START Code Length To Relocate
- .DA DS.END-DS.START Data Segment to Allocate
- .DA 0
+ .DA CS.END-CS.START CS
+ .DA DS.END-DS.START DS
+ .DA #16 SS
+ .DA #8 ZP
.DA 0
*--------------------------------------
* Relocation Table
@@ -47,20 +48,15 @@ L.MSG.DIREXT .DA MSG.DIREXT
L.MSG.FILE .DA MSG.FILE
L.MSG.FILEEXT .DA MSG.FILEEXT
L.PRODOS.FT.TXT .DA PRODOS.FT.TXT
-L.STAT .DA STAT
L.TIME.Format .DA TIME.Format
-L.TIME.Create .DA TIME.Create
-L.TIME.Mod .DA TIME.Mod
.DA 0
*--------------------------------------
-CS.INIT >SYSCALL GetArgC
- sta ArgCount
-
-.1 dec ArgCount
- beq .5
+CS.INIT ldy #S.PS.ARGC
+ lda (pPs),y
+ >STA.G ArgCount
+ beq .7
- lda ArgCount
- >SYSCALL GetArg.A
+.1 >SYSCALL GetArg.A
>STYA ZPPtr1
lda (ZPPtr1)
@@ -89,15 +85,18 @@ CS.INIT >SYSCALL GetArgC
.3 ldy OptionVars-1,x
lda #$80
sta (pData),y
- bra .1
+ bra .7
.4 >LDYA ZPPtr1
jsr InitSrcDirYA
bcs .9
- bra .1 scan for any other args
+ >LDA.G ArgCount
+ dec
+ sta (pData),y
+ bne .1 scan for any other args
-.5 ldy #index
+.7 ldy #index
lda (pData),y
bne .8
@@ -217,17 +216,14 @@ CS.RUN.DEV ldy #bLong
clc
.9 rts
*--------------------------------------
-CS.RUN.DIR ldy #bAllmostAll
- lda (pData),y
+CS.RUN.DIR >LDA.G bAllmostAll
bpl .10
- ldy #1
- lda (ZPFileName),y
+ lda (ZPFileName)
cmp #'.'
beq .5
-.10 ldy #bLong
- lda (pData),y
+.10 >LDA.G bLong
bmi .4
>PUSHW ZPFileName
@@ -235,19 +231,19 @@ CS.RUN.DIR ldy #bAllmostAll
>SYSCALL PrintF.YA
bcs .9
- lda #80/MAX.COL-2
- sec
- sbc (ZPFileName)
- beq .2
- tax
+ ldy #0
-.1 lda #' '
- phx
+.1 lda (ZPFileName),y
+ beq .11
+
+.11 lda #' '
+ phy
>SYSCALL PutChar.A
- plx
+ ply
bcs .9
- dex
- bne .1
+ iny
+ cpy #16
+ bne .11
.2 jsr CS.RUN.UpdateColCnt
bcc .5
@@ -271,8 +267,7 @@ CS.RUN.DIR ldy #bAllmostAll
lda (pData),y
bpl .8
- ldy #1
- lda (ZPFileName),y
+ lda (ZPFileName)
cmp #'.'
beq .8
@@ -354,7 +349,8 @@ CS.RUN.PUSHEXTRA
lda (ZPFileStat),y
beq .1 Month=0.....invalid date/time
- >PUSHW L.TIME.Mod
+ >LEA.G TIME.Mod
+ >PUSHYA
>PUSHW L.TIME.Format
lda ZPFileStat
clc
@@ -369,7 +365,8 @@ CS.RUN.PUSHEXTRA
lda (ZPFileStat),y
beq .2 Month=0.....invalid date/time
- >PUSHW L.TIME.Create
+ >LEA.G TIME.Create
+ >PUSHYA
>PUSHW L.TIME.Format
lda ZPFileStat
clc
@@ -380,8 +377,10 @@ CS.RUN.PUSHEXTRA
>PUSHYA
>SYSCALL StrFTime
-.2 >PUSHW L.TIME.Mod ModTime
- >PUSHW L.TIME.Create Create Time
+.2 >LEA.G TIME.Mod
+ >PUSHYA
+ >LEA.G TIME.Create
+ >PUSHYA
rts
*--------------------------------------
CS.RUN.UpdateColCnt
@@ -472,12 +471,12 @@ CS.END
OptionList >PSTR "ALRalr"
OptionVars .DA #bAllmostAll,#bLong,#bRecurse,#bAllmostAll,#bLong,#bRecurse
*--------------------------------------
-MSG.DEVEXT >CSTR "%15S S%d,D%d Blocks Used:%5D,Total:%5D\r\n"
-MSG.DIR >CSTR "%S/"
-MSG.ENTER >CSTR "Directory:%S\r\n"
-MSG.DIREXT >CSTR "%16S
%a %s %s\r\n"
-MSG.FILE >CSTR "%19S"
-MSG.FILEEXT >CSTR "%15S %S $%H %a %10u %s %s\r\n"
+MSG.DEVEXT >CSTR "%15s S%d,D%d Blocks Used:%5D Total:%5D\r\n"
+MSG.DIR >CSTR "%s/"
+MSG.ENTER >CSTR "Directory:%s\r\n"
+MSG.DIREXT >CSTR "%16s %a %s %s\r\n"
+MSG.FILE >CSTR "%19s"
+MSG.FILEEXT >CSTR "%15s %S $%H %a %10u %s %s\r\n"
*--------------------------------------
PRODOS.FT.HEX .HS 0406FAFCFDE2FF
PRODOS.FT.TXT >PSTR "TXT"
@@ -490,16 +489,19 @@ PRODOS.FT.TXT >PSTR "TXT"
PRODOS.FT.DFLT >PSTR "$ "
TIME.NODATE >CSTR " "
TIME.Format >CSTR "%d-%b-%y %H:%M"
-TIME.Create .BS 20
-TIME.Mod .BS 20
HEXDIGIT .AS '0123456789ABCDEF'
-STAT .BS S.STAT
-ArgCount .BS 1
*--------------------------------------
.DUMMY
.OR 0
DS.START
+ArgCount .BS 1
Index .BS 1
+STAT .BS S.STAT
+TIME.Create .BS 20
+TIME.Mod .BS 20
+
+hFullPath .BS 1
+bExists .BS 1
hDIRs .BS X.MAX.RECURSE
hDIRENTs .BS X.MAX.RECURSE
oDIRENTs .BS X.MAX.RECURSE*2
diff --git a/BIN/LSDEV.S.txt b/BIN/LSDEV.S.txt
index 95606ff8..8e35c985 100644
--- a/BIN/LSDEV.S.txt
+++ b/BIN/LSDEV.S.txt
@@ -22,9 +22,10 @@ CS.START cld
.DA #$61 6502,Level 1 (65c02)
.DA #1 BIN Layout Version 1
.DA 0
- .DA CS.END-CS.START Code Length To Relocate
- .DA 0 Data Segment to Allocate
- .DA 0
+ .DA CS.END-CS.START CS
+ .DA DS.END-DS.START DS
+ .DA #16 SS
+ .DA #4 ZP
.DA 0
*--------------------------------------
* Relocation Table
@@ -37,7 +38,6 @@ L.MSG0 .DA MSG0
L.MSG1 .DA MSG1
L.MSG2.C .DA MSG2.C
L.MSG2.B .DA MSG2.B
-L.DEV.SIZE .DA DEV.SIZE
.DA 0
*--------------------------------------
CS.INIT clc
@@ -46,11 +46,9 @@ CS.INIT clc
CS.RUN >LDYA L.MSG0
>SYSCALL PrintF.YA
- stz DEV.ID
+ >LDA.G DEV.ID
- lda DEV.ID
-
-.1 >SYSCALL GetDevByIDA
+.1 >SYSCALL GetDevByID.A
bcs .7
>STYA ZPPTR1
@@ -59,10 +57,10 @@ CS.RUN >LDYA L.MSG0
bcs .9
- lda DEV.ID
- >SYSCALL GetDevByIDA
+ >LDA.G DEV.ID
+ >SYSCALL GetDevByID.A
>STYA pDev
-
+
ldx #DEVMGR.STATUS
jsr pDevJmp
bcs .6
@@ -77,8 +75,9 @@ CS.RUN >LDYA L.MSG0
lda #10
>SYSCALL PutChar.A
-.7 inc DEV.ID
- lda DEV.ID
+.7 >LDA.G DEV.ID
+ inc
+ sta (pData),y
cmp #K.DEV.MAX
bne .1
@@ -106,28 +105,51 @@ DumpHeader ldy #S.DEV.DRV.JMP+1
>PUSHB (ZPPTR1),y
ldy #S.DEV.S
- >PUSHB (ZPPTR1),y
- sta DEV.S
+ lda (ZPPTR1),y
+ >STA.G DEV.S
- >PUSHB DEV.ID
+ ldy #DEV.SFLAGS+7
+ ldx #7
+
+.1 lsr
+ pha
+ lda #'-'
+ bcc .2
+ lda MSG.SFLAGS,x
+
+.2 sta (pData),y
+ pla
+ dey
+ dex
+ bpl .1
+
+ >LEA.G DEV.SFLAGS
+ >PUSHYA
+
+ >LDA.G DEV.ID
+ >PUSHA
>LDYA L.MSG1
>SYSCALL PrintF.YA
rts
*--------------------------------------
-DumpStatus bit DEV.S
+DumpStatus >LDA.G DEV.S
bpl .1
ldy #S.DEVSTAT.SIZE
lda (ZPPTR2),y
- sta DEV.SIZE
- iny
+ >STA.G DEV.SIZE
+
+ ldy #S.DEVSTAT.SIZE+1
lda (ZPPTR2),y
- sta DEV.SIZE+1
- iny
+ >STA.G DEV.SIZE+1
+
+ ldy #S.DEVSTAT.SIZE+2
lda (ZPPTR2),y
- sta DEV.SIZE+2
- >PUSHW L.DEV.SIZE
+ >STA.G DEV.SIZE+2
+
+ >LEA.G DEV.SIZE
+ >PUSHYA
.1 ldy #S.DEVSTAT.VERSION+1
>PUSHB (ZPPTR2),y
@@ -148,9 +170,9 @@ DumpStatus bit DEV.S
dey
>PUSHB (ZPPTR2),y
- bit DEV.S
+ >LDA.G DEV.S
bpl .2
-
+
>LDYA L.MSG2.B
bra .3
.2 >LDYA L.MSG2.C
@@ -166,13 +188,21 @@ CS.QUIT clc
*--------------------------------------
CS.END
MSG0 >CSTR "ID Status Flags Name Addr. Typ/Sub IDString Version Size (BLK)\r\n"
-MSG1 >CSTR "%03d %b %b %4S $%H "
+MSG1 >CSTR "%03d %s %b %4s $%H "
MSG2.B >CSTR "$%h/$%h %16S %03d.%03d %10u"
MSG2.C >CSTR "$%h/$%h %16S %03d.%03d n/a"
+MSG.SFLAGS .AS "BWRLNEIO"
*--------------------------------------
+ .DUMMY
+ .OR 0
+DS.START
DEV.ID .BS 1
DEV.S .BS 1
DEV.SIZE .BS 4
+DEV.SFLAGS .BS 9
+DS.END
+ .ED
+*--------------------------------------
MAN
SAVE /A2OSX.SRC/BIN/LSDEV.S
ASM
diff --git a/BIN/PS.S.txt b/BIN/PS.S.txt
index 642de745..78e24e83 100644
--- a/BIN/PS.S.txt
+++ b/BIN/PS.S.txt
@@ -20,9 +20,10 @@ CS.START cld
.DA #$61 6502,Level 1 (65c02)
.DA #1 BIN Layout Version 1
.DA 0
- .DA CS.END-CS.START Code Length To Relocate
- .DA 0 Data Segment to Allocate
- .DA 0
+ .DA CS.END-CS.START CS
+ .DA DS.END-DS.START DS
+ .DA #16 SS
+ .DA #2 ZP
.DA 0
*--------------------------------------
* Relocation Table
@@ -45,17 +46,18 @@ CS.RUN >LDYA pData
>SYSCALL PrintF.YA
lda (pData) PS.COUNT
- beq .8
+ beq .8
+.1 >LDA.G PS.Index
+ inc
+ sta (pData),y
-.1 dec
- asl
- tay
-
+ tay
lda (pData),y PID
+ >SYSCALL GetMemPtr.A
+ >STYA ZPPTR1
-
ldy #S.PS.hARGS
lda (ZPPTR1),y
>SYSCALL GetMemPtr.A
@@ -73,13 +75,6 @@ CS.RUN >LDYA pData
>PUSHA PID
>LDYA L.MSG1
>SYSCALL PrintF.YA
-
-.4 lda ZPPTR1
- clc
- adc #S.PS
- sta ZPPTR1
- bcc .5
- inc ZPPTR1+1
.7 lda (pData) PS.COUNT
dec
@@ -104,7 +99,8 @@ MSG1 >CSTR "%03d %b %03d %S\r\n"
.OR 0
DS.START
PS.COUNT .BS 1
-PS.DATA .BS K.PS.MAX+K.PS.MAX
+PS.DATA .BS K.PS.MAX
+PS.Index .BS 1
DS.END
.ED
*--------------------------------------
diff --git a/BIN/X.FILEENUM.S.txt b/BIN/X.FILEENUM.S.txt
index 90e248ce..50e0d50c 100644
--- a/BIN/X.FILEENUM.S.txt
+++ b/BIN/X.FILEENUM.S.txt
@@ -17,27 +17,33 @@ InitSrcDirYA >SYSCALL GetFullPath.YA
bcc .10
rts
-.10 stx .90+1
- >STYA ZPPtr1
+.10 >STYA ZPPtr1
+ txa
+ >STA.G hFullPath
- lda (ZPPtr1)
- cmp #1
+ ldy #1
+ lda (ZPPtr1),y
beq .5 we have '/'
- >PUSHW L.STAT
+ >LEA.G STAT
+ >PUSHYA
>PUSHW ZPPtr1
>SYSCALL Stat
ror
- sta .30+1 save file exists for later.....
+ >STA.G bExists save file exists for later.....
bmi .1 File/DIR does not exists, go extract pattern
- lda STAT+S.STAT.P.TYPE
+ >LDA.G STAT+S.STAT.P.TYPE
cmp #$0f
beq .5 TYPE=DIR, do not extract wildcard
-.1 lda (ZPPtr1) Get Src Path Len
- tay
+ ldy #0
+.1 iny
+ lda (ZPPtr1),y Get Src Path Len
+ bne .1
+
+ dey
ldx #0 Init Wildcard count
.2 lda (ZPPtr1),y search backward for a /
@@ -53,36 +59,29 @@ InitSrcDirYA >SYSCALL GetFullPath.YA
bne .2
.3 tya
- cmp (ZPPtr1)
- beq .5 Make sure at least one char
+* cmp (ZPPtr1)
+* beq .5 Make sure at least one char
txa
- bne .31 we have wc, go extract....
+ bne .4 we have wc, go extract....
.30 lda #$ff no wc, remember if file exists?
bmi .91 no, file not found....
-.31 ldx #0
- phy save / pos to trunk string later
+.4 tya save / pos to trunk string later
+ >STA.G index
-.4 iny
- inx
- lda (ZPPtr1),y
- sta UsrBuf256,x
tya
- cmp (ZPPtr1)
- bne .4
-
- pla get back / pos
- sta (ZPPtr1) trunk it for Opendir
- stx UsrBuf256 set pattern len
-
- >LDYAI UsrBuf256
- >SYSCALL NewPstrYA
+ clc
+ adc ZPPtr1
+ tay
+ lda ZPPtr1+1
+ adc #0
+
+ >SYSCALL Newstr.YA
bcs .9
txa
- ldy #hFilter
- sta (pData),y
+ >STA.G hFilter
.5 >LDYAI 256
>SYSCALL GetMem.YA Get a 256 buffer to store BasePath
@@ -90,29 +89,27 @@ InitSrcDirYA >SYSCALL GetFullPath.YA
>STYA ZPPtr2
txa
- ldy #hSrcBasePath
- sta (pData),y
+ >STA.G hSrcBasePath
- lda (ZPPtr1)
- pha
+ >LDA.G index
tay
-
-.6 lda (ZPPtr1),y
- sta (ZPPtr2),y
dey
- bne .6
-
- ply
lda #'/'
cmp (ZPPtr1),y
- beq .7
-
+ beq .51
iny
- sta (ZPPtr2),y
+ sta (ZPPtr1),y
-.7 tya
- sta (ZPPtr2)
-
+.51 lda #0
+ sta (ZPPtr1),y Trunk before filter string
+
+ ldy #$ff
+
+.6 iny
+ lda (ZPPtr1),y
+ sta (ZPPtr2),y
+ bne .6
+
>LDYA ZPPtr2
>SYSCALL OpenDir.YA
@@ -132,7 +129,7 @@ InitSrcDirYA >SYSCALL GetFullPath.YA
.91 lda #MLI.ERR.FNOTFND
.9 pha
-.90 lda #$ff self modified
+.90 >LDA.G hFullPath
>SYSCALL FreeMem.A
pla
sec
@@ -146,12 +143,13 @@ InitDstDirYA >SYSCALL GetFullPath.YA
stx .90+1
>STYA ZPPtr1
- >PUSHW L.STAT
+ >LEA.G STAT
+ >PUSHYA
>PUSHW ZPPtr1
>SYSCALL Stat
bcs .1 File/DIR does not exists, go extract DstFileName
- lda STAT+S.STAT.P.TYPE
+ >LDA.G STAT+S.STAT.P.TYPE
cmp #$0f
beq .5 Dst is a directory...no destfilename
@@ -236,8 +234,12 @@ InitDstDirYA >SYSCALL GetFullPath.YA
GetNextEntry jsr GetEntry
bcs .9
- lda (ZPFileName) Save actual file len for setting up
- tax new offset later
+ ldy #0
+
+.10 iny
+ lda (ZPFileName),y Save actual file len for setting up
+ bne .10
+ phy new offset later
lda ZPFileStat
clc
@@ -265,7 +267,7 @@ GetNextEntry jsr GetEntry
adc #oDIRENTs-1
tay
- txa Get back previous file len
+ pla Get back previous file len
sec
adc (pData),y
@@ -290,17 +292,26 @@ GetNextEntry jsr GetEntry
clc
rts
-.1 jsr GetEntry.ReadDir
+.1 pla
+ jsr GetEntry.ReadDir
bcs .9
lda (ZPFileName)
beq .99
+ ldy #0
+
+.2 iny
+ lda (ZPFileName),y
+ bne .2
+ tya
+
sec
adc ZPFileName
sta ZPFileStat
lda ZPFileName+1
adc #0
sta ZPFileStat+1
+
clc
.9 rts
@@ -451,7 +462,7 @@ EnterSubDirYA.1 lda (pData),y
>PUSHW ZPPtr2
>PUSHW ZPPtr1
- >SYSCALL PStrCat
+ >SYSCALL StrCat
lda (ZPPtr1)
inc
@@ -541,3 +552,5 @@ BasePath..1 lda (pData),y
*--------------------------------------
MAN
SAVE /A2OSX.SRC/BIN/X.FILEENUM.S
+LOAD /A2OSX.SRC/BIN/LS.S
+ASM
diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt
index 675a8227..28ddc89a 100644
--- a/INC/A2osX.I.txt
+++ b/INC/A2osX.I.txt
@@ -372,7 +372,7 @@ S.DEV.BUSID .EQ 6
S.DEV.DEVID .EQ 7
S.DEV.ROM.JMP .EQ 8 word
*
-S.DEV.NAME .EQ 11 L+4 MAX
+S.DEV.NAME .EQ 11 4+\0 MAX
*
S.DEV .EQ 16
*----------- Smartport ----------------
diff --git a/README.md b/README.md
index 25ada64e..19d777f2 100644
--- a/README.md
+++ b/README.md
@@ -73,10 +73,7 @@ Several subprojects are now indentified :
## General Information:
-** Kernel 0.9.1 rewrite in progress **
-
-(Kernel 0.9 has been archived)
-It is confined in Aux LC Bank 1 & 2 to leave enough room at $EOOO for Drivers.
+Kernel API is confined in Aux LC Bank 1 & 2 to leave enough room at $EOOO for Drivers.
Network drivers, Mouse, DHGR.DRV can load and fit in Aux LC.
Now it's time to make all external BINs use new API, then GUI development will resume.
@@ -101,11 +98,11 @@ OApple+1,OApple+2,OApple+3 to switch between screens : Kernel Log, text, DHGR.
| Name | Status | Comment | K.Ver |
| ---- | ------ | ------- | ------|
-| INSDRV | Working | | 0.9 |
-| GETTY | Working | | 0.9 |
-| LOGIN | In Progress | no auth using /etc/passd yet | 0.9 |
-| SHELL | Working | (See Internal Shell commands) | 0.9 |
-| KCONFIG | Working | Kernel Configuration Utility | 0.9 |
+| INSDRV | Working | | 0.9.1 |
+| GETTY | Working | | 0.9.1 |
+| LOGIN | In Progress | no auth using /etc/passd yet | 0.9.1 |
+| SHELL | Working | (See Internal Shell commands) | 0.9.1 |
+| KCONFIG | Working | Kernel Configuration Utility | 0.9.1 |
| ---- | ------ | ------- | ----- |
| TCPIP | Working | Socket API.ARP,IP,ICMP,UDP & TCP ok | 0.9 |
| DHCPCLNT| Working | rewritten to use new Socket API | 0.9 |
@@ -149,7 +146,7 @@ note : '$VAR' does NOT expand Variable
| Name | Status | Comment | K.Ver |
| ---- | ------ | ------- | ----- |
-| Console.DRV | Working | ANSI support in Progress. | 0.9 |
+| Console.DRV | Working | ANSI support in Progress. | 0.9.1 |
| SSC.DRV | Working | Apple "Super Serial Card" Driver | 0.9 |
| SSC.I.DRV | Working | Apple "Super Serial Card" Driver (IRQ enabled) | 0.9 |
| PIC.DRV | In Progress | Apple "Parallel Interface Card" Driver, renamed from PPIC.DRV | 0.9 |
@@ -164,9 +161,9 @@ note : '$VAR' does NOT expand Variable
## BIN,External Shell commands:
| Name | Status | Comment | K.Ver |
| ---- | ------ | ------- | ----- |
-| MEM | Working | Old dump behavior is now MEMDUMP. New MEM command displays MEMSTAT (Main, Aux & Kernel Memory) | 0.9 |
-| LSDEV | Working | | 0.9 |
-| PS | Working | | 0.9 |
+| MEM | Working | Old dump behavior is now MEMDUMP. New MEM command displays MEMSTAT (Main, Aux & Kernel Memory) | 0.9.1 |
+| LSDEV | Working | | 0.9.1 |
+| PS | Working | | 0.9.1 |
| MD | Working | | 0.9 |
| LS | Working | -A : Do Not Print . & .. | 0.9 |
| | | -L : long listing with size/date... | |
@@ -182,7 +179,7 @@ note : '$VAR' does NOT expand Variable
| | | -Q : Quiet | |
| | | -R : Recurse subdirectories | |
| | | -Y : Dont't Prompt For Override | |
-| CAT | Working | -A : Show All non printable caracters | 0.9 |
+| CAT | Working | -A : Show All non printable caracters | 0.9.1 |
| | | -N : Number all output lines | |
| | | -S : Suppress repeated empty output lines | |
| CHTYP | In Progress | -C : Continue On Error | 0.9 |
@@ -207,7 +204,7 @@ note : '$VAR' does NOT expand Variable
| Name | Status | Comment | K.Ver |
| ---- | ------ | ------- | ----- |
| ASM | In Progress | S-C MASM based multi CPU assembler | 0.9 |
-| MEMDUMP | Working | | 0.9 |
+| MEMDUMP | Working | | 0.9.1 |
| RPCDUMP | Working | tool based on UDP socket API, renamed from RPCINFO | 0.9 |
## Misc
diff --git a/SBIN/SHELL.S.CMD.txt b/SBIN/SHELL.S.CMD.txt
index 2f3ccdc2..174138aa 100644
--- a/SBIN/SHELL.S.CMD.txt
+++ b/SBIN/SHELL.S.CMD.txt
@@ -212,6 +212,9 @@ Cmd.Exec.EXT.TXT
* BIN : Launch "/PATH/CMD ARGS"
*--------------------------------------
Cmd.Exec.EXT.BIN
+ lda (ZPPTR2) Some ARGS ?
+ beq .1
+
jsr Cmd.Exec.EXT.SEP Add a space....
>PUSHW ZPPTR2
diff --git a/SBIN/SHELL.S.CSH.txt b/SBIN/SHELL.S.CSH.txt
index 23f87881..f3f302f6 100644
--- a/SBIN/SHELL.S.CSH.txt
+++ b/SBIN/SHELL.S.CSH.txt
@@ -163,7 +163,7 @@ CSH.Run jsr CSH.GetBuf
>STA.G bCmdBufexec
>LDA.G bEcho
-* beq .80
+ beq .80
>PUSHW ZPCMDBuf
>LDYA L.MSG.ECHO
diff --git a/SBIN/SHELL.S.txt b/SBIN/SHELL.S.txt
index e030f091..7a85a53d 100644
--- a/SBIN/SHELL.S.txt
+++ b/SBIN/SHELL.S.txt
@@ -156,7 +156,7 @@ CS.RUN >LDA.G bReadMode READ Command ?
jsr CMD.Parse
>LDA.G CmdBuflen
- beq .8 Empty line
+ beq .10 Empty line
jsr HIS.Add
@@ -539,7 +539,7 @@ CSHCMDS >PSTR "IF"
>PSTR "FLOAT"
.HS 00
*--------------------------------------
-MSG.GREETINGS >CSTR "\r\nA2osX-Shell\r\n\r\n"
+MSG.GREETINGS >CSTR "\r\nA2osX-Shell 0.9.1\r\n\r\n"
MSG.PROMPT >CSTR "%s$ "
MSG.ECHO >CSTR ">%s\r\n"
MSG.ERROR >CSTR "[$%h]:%S.\r\n"
diff --git a/SYS/KERNEL.S.INIT.txt b/SYS/KERNEL.S.INIT.txt
index 0a6adb5b..b041257c 100644
--- a/SYS/KERNEL.S.INIT.txt
+++ b/SYS/KERNEL.S.INIT.txt
@@ -514,8 +514,6 @@ IrqMgrInit >LDYAI MSG.IRQ
lda (ZPPtr1),y
sta K.IrqMgrVBL.MRM+1
- bit RROMBNK2 Renable ROM to allow MOUSE II firmware works properly
-
ldy #SETMOUSE
lda (ZPPtr1),y
sta .7+1
@@ -525,16 +523,20 @@ IrqMgrInit >LDYAI MSG.IRQ
ldx ZPPtr1+1 DEVSLOTCn
stx .7+2
ldy K.IrqMgrVBL.n0
-
+
+ bit RROMBNK2 Renable ROM to allow MOUSE II firmware works properly
+
.7 jsr $ffff self Modified, CALL SETMOUSE
bcs *
bit RRAMWRAMBNK1 Back To LC Ram
bit RRAMWRAMBNK1
-
inc K.IrkMgr.VBL set=1 awaiting IrqMgr confirmation
plp
+ lda #"V"
+ sta SYS.BASL0+37
+
>LDYAI MSG.IRQ.VBL
>SYSCALL PrintF.YA
clc
@@ -674,11 +676,11 @@ DevMgrInit.AddDev
lda DEV.HEADER+S.DEV.BUSID
ora #$30
- sta DEV.HEADER+S.DEV.NAME+2 SnDy
+ sta DEV.HEADER+S.DEV.NAME+1 SnDy
lda DEV.HEADER+S.DEV.DEVID
ora #$30
- sta DEV.HEADER+S.DEV.NAME+4 SxDn
+ sta DEV.HEADER+S.DEV.NAME+3 SxDn
ldy #S.DEV-1
@@ -702,7 +704,7 @@ DEV.HEADER clc
.BS 1 DEV.ID
.BS 2 ROM.JMP
.BS 1
- >PSTR "S1D1" 5 bytes
+ >CSTR "S1D1" 5 bytes
*--------------------------------------
SmartPort.OFS .HS 010305
SmartPort.SIG .HS 200003
diff --git a/SYS/KERNEL.S.IRQ.txt b/SYS/KERNEL.S.IRQ.txt
index dce97bfd..4a35e900 100644
--- a/SYS/KERNEL.S.IRQ.txt
+++ b/SYS/KERNEL.S.IRQ.txt
@@ -60,15 +60,16 @@ K.IrkMgr.VBLINT .BS 1
* ProDOS IRQ Manager (GP)
*--------------------------------------
K.IrqHandler lda K.IrkMgr.VBL
- beq .10 0, totally disabled....
-
+ beq K.IrqHandler.DEV 0, totally disabled....
+
+K.IrqHandler.VBL
jsr K.IrqMgrVBL.MSM SERVEMOUSE
- bcs .10 Not From Mouse
+ bcs K.IrqHandler.DEV Not From Mouse
ldx K.IrqMgrVBL.0n
lda $778,x
and #$08 IRQ was caused by VBL ?
- beq .10
+ beq K.IrqHandler.DEV
ldx K.IrqMgrVBL.MRM+2 $Cn
ldy K.IrqMgrVBL.n0
@@ -77,13 +78,16 @@ K.IrqHandler lda K.IrkMgr.VBL
inc K.IrkMgr.VBLINT
lda SYS.BASL0+37
- eor #'V'
- sta SYS.BASL0+37 Confirm VBL signal valid for EvtMgr
+ eor #$80
+ sta SYS.BASL0+37
+ sec
+ ror K.IrkMgr.VBL Confirm VBL signal valid for EvtMgr
clc
rts
-
-.10 >LDYAI DevMgr.Table
+*--------------------------------------
+K.IrqHandler.DEV
+ >LDYAI DevMgr.Table
>STYA $fe
ldx DevMgr.Count
diff --git a/SYS/KERNEL.S.PS.txt b/SYS/KERNEL.S.PS.txt
index 00ee2f56..553ea09e 100644
--- a/SYS/KERNEL.S.PS.txt
+++ b/SYS/KERNEL.S.PS.txt
@@ -173,12 +173,11 @@ PS.CreateChild ldx #0
.9 rts
*--------------------------------------
PS.CmdLine2Args >STYA ZPPtr1
-
ldy #0
.1 lda (ZPPtr1),y compute strlen in Y,X
beq .2
- cmp #'"' skip "" in computation....
+ cmp #'"' skip " in computation....
beq .1
iny
bne .1 max 255
@@ -227,9 +226,11 @@ PS.CmdLine2Args >STYA ZPPtr1
lda #0
.70 sta (ZPPtr2) yes, set this token len
+
.71 inc ZPPtr2
bne .72
inc ZPPtr2+1
+
.72 iny
bne .4
@@ -358,21 +359,22 @@ PS.DupEnv.A jsr K.GetMemPtr.A
*--------------------------------------
K.GetPSList.YA >STYA ZPPtr1
- lda CORE.PSCount
- sta (ZPPtr1)
-
ldx #0
- ldy #1
+ ldy #0
.1 lda PS.Table.PID,x
- sta (ZPPtr1),y
- iny
+ beq .2
+
lda PS.Table.hMem,x
- sta (ZPPtr1),y
iny
- inx
+ sta (ZPPtr1),y
+
+.2 inx
cpx CORE.PSCount
bne .1
+
+.9 tya
+ sta (ZPPtr1)
rts
*--------------------------------------
MAN
diff --git a/SYS/KERNEL.S.STDIO.txt b/SYS/KERNEL.S.STDIO.txt
index 359f1a9a..c01388b7 100644
--- a/SYS/KERNEL.S.STDIO.txt
+++ b/SYS/KERNEL.S.STDIO.txt
@@ -1073,11 +1073,13 @@ PrintF.SS ldy #$00 PSTR
.2 lda PADLEN
beq .8
-.3 lda PADCHAR
+.3 cpy PADLEN
+ beq .8
+
+ lda PADCHAR
jsr Printf.Cout
bcs .9
iny
- cpy PADLEN
bne .3
.8 clc