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 *--------------------------------------