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