diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po
index e37c7e3a..eb8243d2 100644
Binary files a/A2OSX.BOOT.po and b/A2OSX.BOOT.po differ
diff --git a/A2OSX.SRC.po b/A2OSX.SRC.po
index c24bf806..e10ff716 100644
Binary files a/A2OSX.SRC.po and b/A2OSX.SRC.po differ
diff --git a/BIN/LS.S.txt b/BIN/LS.S.txt
index dac02819..9c1b7908 100644
--- a/BIN/LS.S.txt
+++ b/BIN/LS.S.txt
@@ -116,18 +116,10 @@ CS.RUN ldy #bCANCEL
ldy #bSTOP
lda (pData),y
bmi .8
-
+
jsr GetNextEntry
bcs .9
- lda ZPPtr1 set Ptr2=Ptr1+LEN-> S.STAT
- sec
- adc (ZPPtr1)
- sta ZPPtr2
- lda ZPPtr1+1
- adc #0
- sta ZPPtr2+1
-
ldy #hFilter
lda (pData),y
beq .4 No filter....
@@ -155,12 +147,8 @@ CS.RUN ldy #bCANCEL
lda (pData),y
bmi .91
- ldy #ColCount
- lda (pData),y
- beq .91
-
- lda #13
- >SYSCALL COutA
+ jsr CS.RUN.NewLine
+ bcs .99
.91 jsr LeaveSubDir
bcs .99
@@ -170,7 +158,6 @@ CS.RUN ldy #bCANCEL
.99 lda #0
sec
rts
-
*--------------------------------------
CS.RUN.DEV ldy #S.STAT.PRODOS.DEVBLOCKS+1
>PUSHB (ZPPtr2),y
@@ -191,7 +178,16 @@ CS.RUN.DEV ldy #S.STAT.PRODOS.DEVBLOCKS+1
>SYSCALL PrintFYA
rts
*--------------------------------------
-CS.RUN.DIR ldy #bLong
+CS.RUN.DIR ldy #bAllmostAll
+ lda (pData),y
+ bpl .10
+
+ ldy #1
+ lda (ZPPtr1),y
+ cmp #'.'
+ beq .5
+
+.10 ldy #bLong
lda (pData),y
bmi .4
@@ -210,20 +206,11 @@ CS.RUN.DIR ldy #bLong
phx
>SYSCALL COutA
plx
+ bcs .9
dex
bne .1
-.2 ldy #ColCount
- lda (pData),y
- inc
- sta (pData),y
- cmp #MAX.COL
- bne .5
-
- lda #0
- sta (pData),y
- lda #13
- >SYSCALL COutA
+.2 jsr CS.RUN.UpdateColCnt
bcc .5
rts
@@ -250,6 +237,9 @@ CS.RUN.DIR ldy #bLong
cmp #'.'
beq .8
+ jsr CS.RUN.NewLine
+ bcs .9
+
>LDYA ZPPtr1
jmp EnterSubDirYA
@@ -263,23 +253,9 @@ CS.RUN.FILE ldy #bLong
>PUSHW ZPPtr1
>LDYA L.MSG.FILE
>SYSCALL PrintFYA
+ bcs .9
- ldy #ColCount
- lda (pData),y
- inc
- sta (pData),y
- cmp #MAX.COL
- bne .7
-
- lda #0
- sta (pData),y
- lda #13
- >SYSCALL COutA
- rts
-
-.7 lda #' '
- >SYSCALL COutA
- rts
+ jmp CS.RUN.UpdateColCnt
.8 jsr CS.RUN.PUSHEXTRA
@@ -313,7 +289,7 @@ CS.RUN.FILE ldy #bLong
>PUSHW ZPPtr1
>LDYA L.MSG.FILEEXT
>SYSCALL PrintFYA
- rts
+.9 rts
*--------------------------------------
CS.RUN.PUSHEXTRA
>PUSHW L.TIME.Mod
@@ -342,6 +318,29 @@ CS.RUN.PUSHEXTRA
>PUSHW L.TIME.Create Create Time
rts
*--------------------------------------
+CS.RUN.UpdateColCnt
+ ldy #ColCount
+ lda (pData),y
+ inc
+ sta (pData),y
+ cmp #MAX.COL
+ bne CS.RUN.NewLine.8
+
+ lda #0
+ sta (pData),y
+ bra CS.RUN.NewLine.1
+*--------------------------------------
+CS.RUN.NewLine ldy #ColCount
+ lda (pData),y
+ beq CS.RUN.NewLine.8
+CS.RUN.NewLine.1
+ lda #13
+ >SYSCALL COutA
+ rts
+CS.RUN.NewLine.8
+ clc
+ rts
+*--------------------------------------
CS.DOEVENT ldy #S.EVT.hDEV is Event from active IN device?
lda (pEvent),y
ldy #S.PS.hINDEV
@@ -428,14 +427,14 @@ FileType2PSTR ldy #0
*--------------------------------------
CS.END
*--------------------------------------
-OptionList >PSTR "LR"
-OptionVars .DA #bLong,bRecurse
+OptionList >PSTR "ALR"
+OptionVars .DA #bAllmostAll,#bLong,#bRecurse
*--------------------------------------
MSG.DEV >CSTR "%15S S%d,D%d Blocks Used:%5D,Total:%5D\n"
MSG.DIR >CSTR "%S/"
-MSG.ENTER >CSTR "\nDirectory:%S...\n"
+MSG.ENTER >CSTR "Directory:%S\n"
MSG.DIREXT >CSTR "%16S
%a %S %S\n"
-MSG.FILE >CSTR "%18S"
+MSG.FILE >CSTR "%19S"
MSG.FILEEXT >CSTR "%15S %S $%H %a %10u %S %S\n"
*--------------------------------------
PRODOS.FT.HEX .HS 0406FAFCFDE2FF
@@ -465,6 +464,7 @@ hBasePath .BS 1
hFilter .BS 1
bSTOP .BS 1
bCANCEL .BS 1
+bAllmostAll .BS 1
bLong .BS 1
bRecurse .BS 1
ColCount .BS 1
diff --git a/BIN/X.CPLSMVRM.S.txt b/BIN/X.CPLSMVRM.S.txt
index 07333b2d..8ea52d28 100644
--- a/BIN/X.CPLSMVRM.S.txt
+++ b/BIN/X.CPLSMVRM.S.txt
@@ -85,11 +85,11 @@ InitSrcDirYA >SYSCALL GetFullPathYA
bcs .9
ldy #hDIRs
- sta (pData),y set hDIRs[1] = Src Hdir
+ sta (pData),y set hDIRs[0] = Src Hdir
ldy #index
lda #1
- sta (pData),y index=hDIRs[1]
+ sta (pData),y index=hDIRs[0]
jsr .9 Cleanup
@@ -101,6 +101,7 @@ InitSrcDirYA >SYSCALL GetFullPathYA
>SYSCALL FreeMemA
pla
sec
+InitSrcDirYA.RTS
rts
*--------------------------------------
GetNextEntry ldy #index
@@ -119,7 +120,7 @@ GetNextEntry ldy #index
lda (pData),y
>SYSCALL ReadDirA
- bcs .9
+ bcs InitSrcDirYA.RTS
>STYA ZPPtr1
ldy #index
@@ -128,7 +129,7 @@ GetNextEntry ldy #index
clc
adc #hDIRENTs-1
tay
- txa
+ txa get hDIRENT in A
sta (pData),y
pla get back index
@@ -148,7 +149,7 @@ GetNextEntry ldy #index
ldy #index
lda (pData),y
asl
- adc #oDIRENTs-1
+ adc #oDIRENTs-1 CC from ASL
tay
lda ZPPtr1
@@ -187,18 +188,29 @@ GetNextEntry ldy #index
asl
adc #oDIRENTs-1
tay
- lda (pData),y
+
+ lda (ZPPtr1) Add file len+1...
sec
- adc (ZPPtr1)
- adc #S.STAT
+ adc #S.STAT +S.STAT
+
+* clc from ADC
+ adc (pData),y Make oDIRENTs[i] point to next DIRENT
sta (pData),y
iny
lda (pData),y
adc #0
sta (pData),y
+ lda ZPPtr1 set Ptr2=Ptr1+LEN-> S.STAT
+ sec
+ adc (ZPPtr1)
+ sta ZPPtr2
+ lda ZPPtr1+1
+ adc #0
+ sta ZPPtr2+1
+
clc
-.9 rts
+ rts
*--------------------------------------
EnterSubDirYA >STYA ZPPtr2 save SUBDIR for StrCat
@@ -289,9 +301,7 @@ LeaveSubDir ldy #index
tya
sta (ZPPtr1) cut DIR2/ from /dir1/DIR2/
- >PUSHW ZPPtr1
- >LDYA L.MSG.ENTER
- >SYSCALL PrintFYA
+ clc
rts
.9 sec
diff --git a/README.md b/README.md
index 73f88371..89e260d3 100644
--- a/README.md
+++ b/README.md
@@ -19,6 +19,11 @@ Now it's time to make all external BINs use new API, then GUI development will r
OApple+1,OApple+2,OApple+3 to switch between screens : Kernel Log, text, DHGR.
(OApple+shift+1,OApple+shift+2,OApple+shift+3 on FR keyboard)
+### **** Documentation WANTED ****
+
+Is there anybody who could provide "appletalk programmer's guide for the apple ii" ?
+(Needed for KM.ATLK and AT commands development)
+
### **** Developers WANTED ****
!!! Help on writing this code should be greatly appreciated !!!
@@ -81,8 +86,9 @@ In Progress : moving TCPIP to socket API
| PS | Working | | 0.8 |
| MD | Working | | 0.8 |
| RM | Working | switches not yet implemented | |
-| LS | Working | -L long listing with size/date | 0.8 |
-| | | -R Recurse subdirectories | |
+| LS | Working | -A : Do Not Print . & .. | 0.8 |
+| | | -L : long listing with size/date | 0.8 |
+| | | -R : Recurse subdirectories | |
| CP | Working | switches not yet implemented | |
| ARP | Working | dump ARP cache, setup a static ARP entry | 0.8 |
| PING | Working | | |
diff --git a/SYS/KERNEL.S.ARG.txt b/SYS/KERNEL.S.ARG.txt
index 03c28961..6ddf5735 100644
--- a/SYS/KERNEL.S.ARG.txt
+++ b/SYS/KERNEL.S.ARG.txt
@@ -24,7 +24,6 @@ K.GetArgC jsr ARG.InitArgPtr1
bne .1
.8 txa
- clc
rts
*/--------------------------------------
* #GetArgA
diff --git a/SYS/KERNEL.S.CIO.txt b/SYS/KERNEL.S.CIO.txt
index 626f7cec..c6b656a4 100644
--- a/SYS/KERNEL.S.CIO.txt
+++ b/SYS/KERNEL.S.CIO.txt
@@ -122,18 +122,20 @@ K.SScanF.IsDigit cmp #'0'
* %N : pull 1 byte to Print high Nibble HEX
* %s : pull 2 bytes ptr to C-Style String
* %S : pull 2 bytes ptr to P-Style String
-* \e Print 'ESC' ($1B,27)
-* \n Print CR=13
-* \\ Print \
-* \% Print %
+* \e : Print 'ESC' ($1B,27)
+* \n : Print CR=13
+* \\ : Print \
+* \% : Print %
* Modifiers for len and padding :
-* %d '9' '12'
-* %2d ' 9' '12'
-* %02d '09' '12'
-* %11s 'ABCDEFGH '
-* %011s 'ABCDEFGH000'
-* %2f '3.14'
+* %d : '9' '12'
+* %2d : ' 9' '12'
+* %02d : '09' '12'
+* %11s : 'ABCDEFGH '
+* %011s : 'ABCDEFGH000'
+* %2f : '3.14'
* ##Out:
+* CC : success
+* CS : I/O error from COut
*\--------------------------------------
K.PrintFYA >STYA ZPQuickPtr1
@@ -244,6 +246,7 @@ PrintF.A >PULLW HEXBUF
tax
lda TYPES,x
jsr K.COutA
+ bcs .9
ldx #0
@@ -253,6 +256,7 @@ PrintF.A >PULLW HEXBUF
lda ACCESS,x
.2 jsr K.COutA
+ bcs .9
inx
cpx #8
@@ -263,14 +267,16 @@ PrintF.A >PULLW HEXBUF
bcc .4
lda ACCESS,x
-.4 jsr K.COutA
- rts
+.4 jmp K.COutA
+
+.9 rts
*--------------------------------------
PrintF.BB >PULLA
pha
jsr PrintF.B
pla
- bra PrintF.B.1
+ bcc PrintF.B.1
+PrintF.BB.RTS rts
*--------------------------------------
PrintF.B >PULLA
@@ -282,6 +288,7 @@ PrintF.B.1 ldx #8
adc #0 add Carry
jsr K.COutA
pla
+ bcs PrintF.BB.RTS
dex
bne .1
rts
@@ -395,6 +402,7 @@ PrintF.S >PULLW ZPQuickPtr2
beq .2
jsr K.COutA
+ bcs .9
iny
lda PADLEN
@@ -408,11 +416,13 @@ PrintF.S >PULLW ZPQuickPtr2
.3 lda PADCHAR
jsr K.COutA
+ bcs .9
iny
cpy PADLEN
bne .3
-.8 rts
+.8 clc
+.9 rts
*--------------------------------------
* PStr
*--------------------------------------
@@ -426,6 +436,7 @@ PrintF.SS >PULLW ZPQuickPtr2
.1 iny
lda (ZPQuickPtr2),y
jsr K.COutA
+ bcs .9
lda PADLEN
beq .2
@@ -440,11 +451,13 @@ PrintF.SS >PULLW ZPQuickPtr2
.3 lda PADCHAR
jsr K.COutA
+ bcs .9
iny
cpy PADLEN
bne .3
-.8 rts
+.8 clc
+.9 rts
*--------------------------------------
K.COutA phx
phy
@@ -534,7 +547,7 @@ PRINTDEC lda PADLEN any Len format ?
beq .4 Print always
ldy PADLEN no pad to fill, do not Print 0
- beq .9
+ beq .6
lda PADCHAR fill with PADCHAR
@@ -547,12 +560,14 @@ PRINTDEC lda PADLEN any Len format ?
pla
.5 jsr K.COutA
+ bcs .9
-.9 inx
+.6 inx
cpx #10
bne .2
- rts
+ clc
+.9 rts
*--------------------------------------
* Convert ASCBUF decimal to HEXBUF
*--------------------------------------