Kernel version 0.8 :some progress upgrading external commands

This commit is contained in:
Rémy GIBERT 2016-10-08 22:53:45 +02:00
parent 278312cddb
commit c05dd7e16f
12 changed files with 116 additions and 327 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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