diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po index 3dc00ac4..30b74607 100644 Binary files a/A2OSX.BOOT.po and b/A2OSX.BOOT.po differ diff --git a/A2OSX.DEV.po b/A2OSX.DEV.po index 52e5d4ec..117ff089 100644 Binary files a/A2OSX.DEV.po and b/A2OSX.DEV.po differ diff --git a/A2OSX.SRC.po b/A2OSX.SRC.po index 4ab117ac..17c2c409 100644 Binary files a/A2OSX.SRC.po and b/A2OSX.SRC.po differ diff --git a/A2osX.STARTUP.txt b/A2osX.STARTUP.txt index 56054a90..7fa3e415 100644 --- a/A2osX.STARTUP.txt +++ b/A2osX.STARTUP.txt @@ -6,7 +6,7 @@ AUTO 6 ECHO *** A2osX Startup file *** echo Working Directory: CD -SET PATH=${PATH};/A2OSX.DEV/BIN +SET PATH=${PATH};/A2OSX.DEV/BIN/ echo Env: SET # Main Screen diff --git a/BIN/DNSINFO.S.txt b/BIN/DNSINFO.S.txt index 11dadfb8..a26bd19f 100644 --- a/BIN/DNSINFO.S.txt +++ b/BIN/DNSINFO.S.txt @@ -42,10 +42,7 @@ L.MSG0 .DA MSG0 L.MSG1 .DA MSG1 .DA 0 *-------------------------------------- -CS.INIT stz hHostName - stz hIP - - >LDYA L.LIBSTR +CS.INIT >LDYA L.LIBSTR >SYSCALL SYS.LoadLibYA sta hLIBSTR @@ -53,38 +50,24 @@ CS.INIT stz hHostName >SYSCALL SYS.LoadLibYA sta hLIBTCPIP - ldy #S.PS.hARGS - lda (pPs),y - bne CS.INIT.ADD - jmp CS.INIT.DUMP - -CS.INIT.ADD >PUSHA - >PUSHBI $20 Push SEP=' ' - >PUSHBI 1 Push 1 for getting hostname - >SYSCALL SYS.PStrGetTkn - bcs .91 - sta hHostName + >SYSCALL SYS.GetArgC + cmp #1 + beq CS.INIT.DUMP +*-------------------------------------- +CS.INIT.ADD cmp #3 + bne .9 - ldy #S.PS.hARGS - lda (pPs),y - >PUSHA - >PUSHBI $20 Push SEP=' ' - >PUSHBI 2 Push 2 for getting IP - >SYSCALL SYS.PStrGetTkn -.91 bcs .9 - - sta hIP >PUSHW L.IP >PUSHW L.SSCANF.IP - lda hIP - >SYSCALL SYS.GetMemPtrA + lda #3 + >SYSCALL SYS.GetArgA >PUSHYA >LIBCALL hLIBSTR,LIBSTR.SSCANF bcs .9 >PUSHW L.IP - lda hHostName - >SYSCALL SYS.GetMemPtrA + lda #2 + >SYSCALL SYS.GetArgA >PUSHYA >LIBCALL hLIBTCPIP,LIBTCPIP.DNS.ADD bcs .99 @@ -96,7 +79,7 @@ CS.INIT.ADD >PUSHA .9 lda #SYSMGR.ERRSYN sec .99 rts - +*-------------------------------------- CS.INIT.DUMP >LIBCALL hLIBTCPIP,LIBTCPIP.DNS.GETCACHE >STYA ZPPTR1 >PUSHW L.MSG0 @@ -155,13 +138,7 @@ CS.RUN CS.EVENT clc rts *-------------------------------------- -CS.QUIT lda hHostName - beq .1 - >SYSCALL SYS.FreeMemA -.1 lda hIP - beq .2 - >SYSCALL SYS.FreeMemA -.2 lda hLIBTCPIP +CS.QUIT lda hLIBTCPIP >SYSCALL SYS.UnloadLibA lda hLIBSTR >SYSCALL SYS.UnloadLibA @@ -176,8 +153,7 @@ MSG0 >CSTRING "STS TR.ID Hostname IP Address TTL\ MSG1 >CSTRING "$%h $%H %32S %03d.%03d.%03d.%03d %L\n" hLIBSTR .BS 1 hLIBTCPIP .BS 1 -hHostName .BS 1 -hIP .BS 1 + IP .BS 4 EntryCount .BS 1 MAN diff --git a/BIN/MEM.S.txt b/BIN/MEM.S.txt index 8328521f..e0095d2e 100644 --- a/BIN/MEM.S.txt +++ b/BIN/MEM.S.txt @@ -36,290 +36,93 @@ CS.START cld .DA CS.RUN .DA CS.DOEVENT .DA CS.QUIT -L.LIBSTR .DA LIBSTR -L.MSG0 .DA MSG0 -L.MSG1 .DA MSG1 -L.MSG2 .DA MSG2 -L.MSG3 .DA MSG3 -L.MSG4 .DA MSG4 -L.MSG5 .DA MSG5 -L.MSG6 .DA MSG6 +L.MSG.Main .DA MSG.Main +L.MSG.Aux .DA MSG.Aux +L.MSG.Kernel .DA MSG.Kernel +L.MSG.Stat .DA MSG.Stat +L.MSG.End .DA MSG.End +L.MemStat .DA MemStat .DA 0 *-------------------------------------- -CS.INIT >LDYA L.LIBSTR - >SYSCALL SYS.LoadLibYA - bcs .9 - sta hLIBSTR +CS.INIT >LDYA L.MemStat + >SYSCALL SYS.GetMemStatYA - lda #0 - ldy #DS.END-DS.START-1 - -.1 sta (pData),y - dey - bpl .1 - - ldy #MEM.COUNT Skip SLOT0 - lda (pData),y - inc - sta (pData),y + >LDYA L.MSG.Main + >SYSCALL SYS.PStrOutYA - lda (pPs) - ora #S.PS.F.EVENT Now accept events - sta (pPs) - clc -.9 rts -*-------------------------------------- -CS.RUN ldy #bCANCEL - lda (pData),y - bne .9 - - ldy #bSTOP - lda (pData),y - bne .8 - - ldy #MEM.COUNT - lda (pData),y - cmp MemMgr.LastSlot - beq .10 - - ldy #LINE.COUNT - lda (pData),y - bne .1 - - >PUSHW L.MSG0 - >LIBCALL hLIBSTR,LIBSTR.PRINTF - -.1 ldy #MEM.COUNT - lda (pData),y - >SYSCALL SYS.GetMemByIDA - >STYA ZPPTR1 - lda (ZPPTR1) - bpl .2 - - ldy #USED.COUNT - lda (pData),y - inc - sta (pData),y - -.2 jsr CS.RUN.PRINTMEM - - ldy #MEM.COUNT - lda (pData),y - inc - sta (pData),y - -.8 clc - rts - -.9 sec - rts - -.10 ldy #LINE.COUNT - lda (pData),y - clc - adc #FOOTERLEN - cmp #PAGELEN - bcc .11 - - lda #$FF - ldy #bSTOP - sta (pData),y - - lda #0 - ldy #LINE.COUNT - sta (pData),y - - clc - rts - -.11 ldy #MEM.COUNT - >PUSHB (pData),y - ldy #USED.COUNT - >PUSHB (pData),y - >PUSHW L.MSG2 - >LIBCALL hLIBSTR,LIBSTR.PRINTF - - >PUSHW MemMgr.HiMem - >PUSHW L.MSG3 - >LIBCALL hLIBSTR,LIBSTR.PRINTF - - >PUSHW MemMgr.Free - >PUSHW L.MSG4 - >LIBCALL hLIBSTR,LIBSTR.PRINTF - - >PUSHW MemMgr.LoMem - >PUSHW L.MSG5 - >LIBCALL hLIBSTR,LIBSTR.PRINTF - - lda MemMgr.Free + lda MemStat+S.MEMSTAT.MF sec - sbc MemMgr.LoMem + sbc MemStat+S.MEMSTAT.ML tay - lda MemMgr.Free+1 - sbc MemMgr.LoMem+1 - + lda MemStat+S.MEMSTAT.MF+1 + sbc MemStat+S.MEMSTAT.ML+1 >PUSHYA - >PUSHW L.MSG6 - >LIBCALL hLIBSTR,LIBSTR.PRINTF - sec + + >PUSHW MemStat+S.MEMSTAT.MH + >PUSHW MemStat+S.MEMSTAT.MF + >PUSHW MemStat+S.MEMSTAT.ML + + >LDYA L.MSG.Stat + >SYSCALL SYS.PStrOutYA +*-------------------------------------- + >LDYA L.MSG.Aux + >SYSCALL SYS.PStrOutYA + + lda MemStat+S.MEMSTAT.XF + sec + sbc MemStat+S.MEMSTAT.XL + tay + lda MemStat+S.MEMSTAT.XF+1 + sbc MemStat+S.MEMSTAT.XL+1 + >PUSHYA + + >PUSHW MemStat+S.MEMSTAT.XH + >PUSHW MemStat+S.MEMSTAT.XF + >PUSHW MemStat+S.MEMSTAT.XL + + >LDYA L.MSG.Stat + >SYSCALL SYS.PStrOutYA +*-------------------------------------- + >LDYA L.MSG.Kernel + >SYSCALL SYS.PStrOutYA + + lda MemStat+S.MEMSTAT.DH + sec + sbc MemStat+S.MEMSTAT.DF + tay + lda MemStat+S.MEMSTAT.DH+1 + sbc MemStat+S.MEMSTAT.DF+1 + >PUSHYA + + >PUSHW MemStat+S.MEMSTAT.DH + >PUSHW MemStat+S.MEMSTAT.DF + >PUSHW MemStat+S.MEMSTAT.DL + + >LDYA L.MSG.Stat + >SYSCALL SYS.PStrOutYA + + >LDYA L.MSG.End + >SYSCALL SYS.PStrOutYA + lda #0 + sec rts *-------------------------------------- -CS.RUN.PRINTMEM ldy #S.MEM.LEN - lda (ZPPTR1),y - pha - iny - lda (ZPPTR1),y - ply - >PUSHYA - - ldy #S.MEM.PTR - lda (ZPPTR1),y - pha - iny - lda (ZPPTR1),y - ply - >PUSHYA - - ldy #S.MEM.REFCNT - lda (ZPPTR1),y - >PUSHA - - ldy #S.MEM.OWNERPID - lda (ZPPTR1),y - >PUSHA - - lda (ZPPTR1) - >PUSHA - - ldy #MEM.COUNT - lda (pData),y - >PUSHA - - >PUSHW L.MSG1 - >LIBCALL hLIBSTR,LIBSTR.PRINTF - - ldy #S.MEM.BIN - lda (ZPPTR1),y - bne .3 - - ldy #S.MEM.PTR - lda (ZPPTR1),y - sta ZPPTR2 - iny - lda (ZPPTR1),y - sta ZPPTR2+1 - lda #"{" - >SYSCALL SYS.COutA - lda (ZPPTR2) - >SYSCALL SYS.HexOutA - lda #"|" - >SYSCALL SYS.COutA - ldy #1 - -.1 lda (ZPPTR2),y - cmp #$20 - bcs .2 - - ora #$20 -.2 >SYSCALL SYS.COutA - iny - cpy #40 - bne .1 - - lda #"}" - >SYSCALL SYS.COutA - bra .4 - -.3 >SYSCALL SYS.GetMemPtrA - >PUSHYA - >LIBCALL hLIBSTR,LIBSTR.PRINTP - -.4 lda #13 - >SYSCALL SYS.COutA - ldy #LINE.COUNT - lda (pData),y - inc - sta (pData),y - cmp #PAGELEN - bne .5 - - lda #$FF - ldy #bSTOP - sta (pData),y - - ldy #LINE.COUNT - lda #0 - sta (pData),y - -.5 rts -*-------------------------------------- -CS.DOEVENT ldy #S.EVT.hDEV is Event from active IN device? - lda (pEvent),y - ldy #S.PS.hINDEV - cmp (pPs),y - bne .9 - - lda (pEvent) - and #S.EVT.F.KEY is it a KEY event? - beq .9 - - ldy #S.EVT.DATAHI is it an O or SAPPLE key ? - lda (pEvent),y - bne .9 - - ldy #S.EVT.DATALO - lda (pEvent),y - cmp #$03 Ctrl-C - bne .1 - - lda #$FF - ldy #bCANCEL - sta (pData),y - bra .8 - -.1 cmp #$13 Ctrl-S - bne .2 - - ldy #bSTOP - lda (pData),y - eor #$FF - sta (pData),y - bra .8 - -.2 ldy #bSTOP - lda #0 - sta (pData),y - -.8 clc - rts - -.9 sec - rts -*-------------------------------------- -CS.QUIT lda hLIBSTR - >SYSCALL SYS.UnloadLibA - clc +CS.RUN +CS.DOEVENT +CS.QUIT clc rts *-------------------------------------- CS.END -LIBSTR >PSTRING "libstr.o" -MSG0 >CSTRING "hMem Flags PID REF PTR LEN BINPATH/DATA\n" -MSG1 >CSTRING " %03d %b %03d %03d $%H %05D " -MSG2 >CSTRING "\nAllocated hMem:%d, Total:%d\n" -MSG3 >CSTRING "High Memory: $%H\n" -MSG4 >CSTRING "Free ULimit: $%H\n" -MSG5 >CSTRING "Low Memory: $%H\n" -MSG6 >CSTRING "\nFree Memory: %D Bytes.\n" -hLIBSTR .BS 1 +MSG.Main >PSTRING "--- Main Memory ---------------\n" +MSG.Aux >PSTRING "--- Aux Memory ----------------\n" +MSG.Kernel >PSTRING "--- Kernel (Drivers) Memory ---\n" +MSG.Stat >PSTRING " Low : $%H\n Free Ptr : $%H\n High : $%H\n Available Memory : %D Bytes\n" +MSG.End >PSTRING "-------------------------------\n" +MemStat .BS S.MEMSTAT *-------------------------------------- .DUMMY .OR 0 DS.START -LINE.COUNT .BS 1 -MEM.COUNT .BS 1 -USED.COUNT .BS 1 -bSTOP .BS 1 -bCANCEL .BS 1 DS.END .ED *-------------------------------------- diff --git a/BIN/MEMDUMP.S.txt b/BIN/MEMDUMP.S.txt index 366e1161..43038703 100644 --- a/BIN/MEMDUMP.S.txt +++ b/BIN/MEMDUMP.S.txt @@ -51,13 +51,6 @@ CS.INIT >LDYA L.LIBSTR bcs .9 sta hLIBSTR - lda #0 - ldy #DS.END-DS.START-1 - -.1 sta (pData),y - dey - bpl .1 - ldy #MEM.COUNT Skip SLOT0 lda (pData),y inc diff --git a/INC/A2osX.I.txt b/INC/A2osX.I.txt index df8f1a11..b6f64560 100644 --- a/INC/A2osX.I.txt +++ b/INC/A2osX.I.txt @@ -503,5 +503,19 @@ S.PFT.DATA .EQ 24 8 bytes OPAQUE data for handler * S.PFT .EQ 32 *-------------------------------------- +S.MEMSTAT.ML .EQ 0 +S.MEMSTAT.MF .EQ 2 +S.MEMSTAT.MH .EQ 4 +* +S.MEMSTAT.XL .EQ 8 +S.MEMSTAT.XF .EQ 10 +S.MEMSTAT.XH .EQ 12 +* +S.MEMSTAT.DL .EQ 16 +S.MEMSTAT.DF .EQ 18 +S.MEMSTAT.DH .EQ 20 +* +S.MEMSTAT .EQ 24 +*-------------------------------------- MAN SAVE INC/A2OSX.I diff --git a/README.md b/README.md index f18a1a2b..403b367b 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ Enhanced IIe (65c02 cpu) with 128k, //c, IIgs Kernel 0.8 is out. It is confined in Aux LC Bank 1 & 2 to leave enough room at $EOOO for Drivers. -Now, Network drivers, Mouse, DHGR.DRV can load and fit in Aux LC. +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. **A2OSX.BOOT.po** : 140k A2osX boot disk with all binaries @@ -74,17 +74,17 @@ In Progress : moving TCPIP to socket API ## BIN,External Shell commands: | Name | Status | Comment | K.Ver | | ---- | ------ | ------- | ----- | -| MEM | Working | | | +| MEM | Working | Old dump behavior is now MEMDUMP, New MEM displays MEMSTAT (Main Aux & Kernel Memory | 0.8 | | LSDEV | Working | | 0.8 | -| PS | Working | | | +| PS | Working | | 0.8 | | MD | Working | | | | RM | Working | switches not yet implemented | | | LS | Working | BUG: `ls dir` does not list dir content (`ls dir/` works) | | | CP | Working| switches not yet implemented | | -| ARP | Working | dump ARP cache, setup a static ARP entry | | +| ARP | Working | dump ARP cache, setup a static ARP entry | 0.8 | | PING | Working | | | | DNSINFO | Working | dump DNS cache, setup a static DNS entry | | -| IPCONFIG | Working | renamed from NETINFO | | +| IPCONFIG | Working | renamed from NETINFO | 0.8 | | NETSTAT | Working | | 0.8 | | EDIT | Working | still missing : find/replace | | | NSCUTIL | Working | Tool for setting time in NSC/DL1216E | | diff --git a/SBIN/DESKTOP.S.txt b/SBIN/DESKTOP.S.txt index c2c5190c..c0ab6118 100644 --- a/SBIN/DESKTOP.S.txt +++ b/SBIN/DESKTOP.S.txt @@ -57,7 +57,7 @@ CS.INIT >LDYA L.MSG.INIT ldx pDev+1 phx - >STYA pDevGFX + >STYA GoDevGFX+1 >STYA pDev ldx #DEVMGR.OPEN @@ -74,12 +74,16 @@ CS.INIT >LDYA L.MSG.INIT beq .21 No mouse found, skip mouse init .20 stx hDevMouse - >STYA pDevMouse + >STYA GoDevMouse+1 >STYA pDev ldx #DEVMGR.OPEN jsr GoDevMouse + ldx #DEVMGR.SELECT Mouse driver disturb graphic mode.... + jsr GoDevGFX + + .21 pla sta pDev+1 pla @@ -211,8 +215,8 @@ Destop.Paint lda #4 *-------------------------------------- *-------------------------------------- *-------------------------------------- -GoDevGFX jmp (pDevGFX) -GoDevMouse jmp (pDevMouse) +GoDevGFX jmp $ffff +GoDevMouse jmp $ffff *-------------------------------------- CS.END DEVNAME.GFX >PSTRING "GFX" @@ -221,9 +225,7 @@ LIBGFX >PSTRING "libgfx.o" MSG.INIT >PSTRING "DESKTOP:Init...\n" hLibGFX .BS 1 hDevGFX .BS 1 -pDevGFX .BS 2 hDevMouse .BS 1 -pDevMouse .BS 2 SetPixel.X .BS 2 SetPixel.Y .BS 2 SetPixel.Mode .BS 1 diff --git a/SYS/KERNEL.S.FILE.txt b/SYS/KERNEL.S.FILE.txt index 93d0d04b..140938d6 100644 --- a/SYS/KERNEL.S.FILE.txt +++ b/SYS/KERNEL.S.FILE.txt @@ -311,7 +311,7 @@ K.STAT jsr PFT.CheckPathSTK >PULLW ZPQuickPtr2 >MLICALL MLIGETFILEINFO bcs .9 - jsr FILE.MLI2STAT.Types + jsr FILE.MLI2STAT clc .9 rts *-------------------------------------- @@ -322,7 +322,7 @@ FILE.SetupPrt1A jsr K.GetMemPtrA sta MLICALL.PARAMS+1 rts *-------------------------------------- -FILE.MLI2STAT.Types +FILE.MLI2STAT lda MLICALL.PARAMS+S.FILEINFO.ACCESS cmp #S.FILEINFO.ACCESS.FULL bne .1 diff --git a/SYS/KERNEL.S.MEM.txt b/SYS/KERNEL.S.MEM.txt index 593b2e25..6961fd0e 100644 --- a/SYS/KERNEL.S.MEM.txt +++ b/SYS/KERNEL.S.MEM.txt @@ -307,6 +307,7 @@ K.FreeMemA phy bit RRAMWRAMBNK2 bit RRAMWRAMBNK2 + jsr DevMgr.SYS.Select jsr PS.Select0 pla Get PC and sub 2 for calling address