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 *** A2osX Startup file ***
echo Working Directory: echo Working Directory:
CD CD
SET PATH=${PATH};/A2OSX.DEV/BIN SET PATH=${PATH};/A2OSX.DEV/BIN/
echo Env: echo Env:
SET SET
# Main Screen # Main Screen

View File

@ -42,10 +42,7 @@ L.MSG0 .DA MSG0
L.MSG1 .DA MSG1 L.MSG1 .DA MSG1
.DA 0 .DA 0
*-------------------------------------- *--------------------------------------
CS.INIT stz hHostName CS.INIT >LDYA L.LIBSTR
stz hIP
>LDYA L.LIBSTR
>SYSCALL SYS.LoadLibYA >SYSCALL SYS.LoadLibYA
sta hLIBSTR sta hLIBSTR
@ -53,38 +50,24 @@ CS.INIT stz hHostName
>SYSCALL SYS.LoadLibYA >SYSCALL SYS.LoadLibYA
sta hLIBTCPIP sta hLIBTCPIP
ldy #S.PS.hARGS >SYSCALL SYS.GetArgC
lda (pPs),y cmp #1
bne CS.INIT.ADD beq CS.INIT.DUMP
jmp CS.INIT.DUMP *--------------------------------------
CS.INIT.ADD cmp #3
bne .9
CS.INIT.ADD >PUSHA
>PUSHBI $20 Push SEP=' '
>PUSHBI 1 Push 1 for getting hostname
>SYSCALL SYS.PStrGetTkn
bcs .91
sta hHostName
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.IP
>PUSHW L.SSCANF.IP >PUSHW L.SSCANF.IP
lda hIP lda #3
>SYSCALL SYS.GetMemPtrA >SYSCALL SYS.GetArgA
>PUSHYA >PUSHYA
>LIBCALL hLIBSTR,LIBSTR.SSCANF >LIBCALL hLIBSTR,LIBSTR.SSCANF
bcs .9 bcs .9
>PUSHW L.IP >PUSHW L.IP
lda hHostName lda #2
>SYSCALL SYS.GetMemPtrA >SYSCALL SYS.GetArgA
>PUSHYA >PUSHYA
>LIBCALL hLIBTCPIP,LIBTCPIP.DNS.ADD >LIBCALL hLIBTCPIP,LIBTCPIP.DNS.ADD
bcs .99 bcs .99
@ -96,7 +79,7 @@ CS.INIT.ADD >PUSHA
.9 lda #SYSMGR.ERRSYN .9 lda #SYSMGR.ERRSYN
sec sec
.99 rts .99 rts
*--------------------------------------
CS.INIT.DUMP >LIBCALL hLIBTCPIP,LIBTCPIP.DNS.GETCACHE CS.INIT.DUMP >LIBCALL hLIBTCPIP,LIBTCPIP.DNS.GETCACHE
>STYA ZPPTR1 >STYA ZPPTR1
>PUSHW L.MSG0 >PUSHW L.MSG0
@ -155,13 +138,7 @@ CS.RUN
CS.EVENT clc CS.EVENT clc
rts rts
*-------------------------------------- *--------------------------------------
CS.QUIT lda hHostName CS.QUIT lda hLIBTCPIP
beq .1
>SYSCALL SYS.FreeMemA
.1 lda hIP
beq .2
>SYSCALL SYS.FreeMemA
.2 lda hLIBTCPIP
>SYSCALL SYS.UnloadLibA >SYSCALL SYS.UnloadLibA
lda hLIBSTR lda hLIBSTR
>SYSCALL SYS.UnloadLibA >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" MSG1 >CSTRING "$%h $%H %32S %03d.%03d.%03d.%03d %L\n"
hLIBSTR .BS 1 hLIBSTR .BS 1
hLIBTCPIP .BS 1 hLIBTCPIP .BS 1
hHostName .BS 1
hIP .BS 1
IP .BS 4 IP .BS 4
EntryCount .BS 1 EntryCount .BS 1
MAN MAN

View File

@ -36,290 +36,93 @@ CS.START cld
.DA CS.RUN .DA CS.RUN
.DA CS.DOEVENT .DA CS.DOEVENT
.DA CS.QUIT .DA CS.QUIT
L.LIBSTR .DA LIBSTR L.MSG.Main .DA MSG.Main
L.MSG0 .DA MSG0 L.MSG.Aux .DA MSG.Aux
L.MSG1 .DA MSG1 L.MSG.Kernel .DA MSG.Kernel
L.MSG2 .DA MSG2 L.MSG.Stat .DA MSG.Stat
L.MSG3 .DA MSG3 L.MSG.End .DA MSG.End
L.MSG4 .DA MSG4 L.MemStat .DA MemStat
L.MSG5 .DA MSG5
L.MSG6 .DA MSG6
.DA 0 .DA 0
*-------------------------------------- *--------------------------------------
CS.INIT >LDYA L.LIBSTR CS.INIT >LDYA L.MemStat
>SYSCALL SYS.LoadLibYA >SYSCALL SYS.GetMemStatYA
bcs .9
sta hLIBSTR
lda #0 >LDYA L.MSG.Main
ldy #DS.END-DS.START-1 >SYSCALL SYS.PStrOutYA
.1 sta (pData),y lda MemStat+S.MEMSTAT.MF
dey
bpl .1
ldy #MEM.COUNT Skip SLOT0
lda (pData),y
inc
sta (pData),y
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
sec sec
sbc MemMgr.LoMem sbc MemStat+S.MEMSTAT.ML
tay tay
lda MemMgr.Free+1 lda MemStat+S.MEMSTAT.MF+1
sbc MemMgr.LoMem+1 sbc MemStat+S.MEMSTAT.ML+1
>PUSHYA >PUSHYA
>PUSHW L.MSG6
>LIBCALL hLIBSTR,LIBSTR.PRINTF >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 sec
rts rts
*-------------------------------------- *--------------------------------------
CS.RUN.PRINTMEM ldy #S.MEM.LEN CS.RUN
lda (ZPPTR1),y CS.DOEVENT
pha CS.QUIT clc
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
rts rts
*-------------------------------------- *--------------------------------------
CS.END CS.END
LIBSTR >PSTRING "libstr.o" MSG.Main >PSTRING "--- Main Memory ---------------\n"
MSG0 >CSTRING "hMem Flags PID REF PTR LEN BINPATH/DATA\n" MSG.Aux >PSTRING "--- Aux Memory ----------------\n"
MSG1 >CSTRING " %03d %b %03d %03d $%H %05D " MSG.Kernel >PSTRING "--- Kernel (Drivers) Memory ---\n"
MSG2 >CSTRING "\nAllocated hMem:%d, Total:%d\n" MSG.Stat >PSTRING " Low : $%H\n Free Ptr : $%H\n High : $%H\n Available Memory : %D Bytes\n"
MSG3 >CSTRING "High Memory: $%H\n" MSG.End >PSTRING "-------------------------------\n"
MSG4 >CSTRING "Free ULimit: $%H\n" MemStat .BS S.MEMSTAT
MSG5 >CSTRING "Low Memory: $%H\n"
MSG6 >CSTRING "\nFree Memory: %D Bytes.\n"
hLIBSTR .BS 1
*-------------------------------------- *--------------------------------------
.DUMMY .DUMMY
.OR 0 .OR 0
DS.START DS.START
LINE.COUNT .BS 1
MEM.COUNT .BS 1
USED.COUNT .BS 1
bSTOP .BS 1
bCANCEL .BS 1
DS.END DS.END
.ED .ED
*-------------------------------------- *--------------------------------------

View File

@ -51,13 +51,6 @@ CS.INIT >LDYA L.LIBSTR
bcs .9 bcs .9
sta hLIBSTR sta hLIBSTR
lda #0
ldy #DS.END-DS.START-1
.1 sta (pData),y
dey
bpl .1
ldy #MEM.COUNT Skip SLOT0 ldy #MEM.COUNT Skip SLOT0
lda (pData),y lda (pData),y
inc inc

View File

@ -503,5 +503,19 @@ S.PFT.DATA .EQ 24 8 bytes OPAQUE data for handler
* *
S.PFT .EQ 32 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 MAN
SAVE INC/A2OSX.I SAVE INC/A2OSX.I

View File

@ -7,7 +7,7 @@ Enhanced IIe (65c02 cpu) with 128k, //c, IIgs
Kernel 0.8 is out. Kernel 0.8 is out.
It is confined in Aux LC Bank 1 & 2 to leave enough room at $EOOO for Drivers. 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. 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 **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: ## BIN,External Shell commands:
| Name | Status | Comment | K.Ver | | 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 | | LSDEV | Working | | 0.8 |
| PS | Working | | | | PS | Working | | 0.8 |
| MD | Working | | | | MD | Working | | |
| RM | Working | switches not yet implemented | | | RM | Working | switches not yet implemented | |
| LS | Working | BUG: `ls dir` does not list dir content (`ls dir/` works) | | | LS | Working | BUG: `ls dir` does not list dir content (`ls dir/` works) | |
| CP | Working| switches not yet implemented | | | 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 | | | | PING | Working | | |
| DNSINFO | Working | dump DNS cache, setup a static DNS entry | | | 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 | | NETSTAT | Working | | 0.8 |
| EDIT | Working | still missing : find/replace | | | EDIT | Working | still missing : find/replace | |
| NSCUTIL | Working | Tool for setting time in NSC/DL1216E | | | NSCUTIL | Working | Tool for setting time in NSC/DL1216E | |

View File

@ -57,7 +57,7 @@ CS.INIT >LDYA L.MSG.INIT
ldx pDev+1 ldx pDev+1
phx phx
>STYA pDevGFX >STYA GoDevGFX+1
>STYA pDev >STYA pDev
ldx #DEVMGR.OPEN ldx #DEVMGR.OPEN
@ -74,12 +74,16 @@ CS.INIT >LDYA L.MSG.INIT
beq .21 No mouse found, skip mouse init beq .21 No mouse found, skip mouse init
.20 stx hDevMouse .20 stx hDevMouse
>STYA pDevMouse >STYA GoDevMouse+1
>STYA pDev >STYA pDev
ldx #DEVMGR.OPEN ldx #DEVMGR.OPEN
jsr GoDevMouse jsr GoDevMouse
ldx #DEVMGR.SELECT Mouse driver disturb graphic mode....
jsr GoDevGFX
.21 pla .21 pla
sta pDev+1 sta pDev+1
pla pla
@ -211,8 +215,8 @@ Destop.Paint lda #4
*-------------------------------------- *--------------------------------------
*-------------------------------------- *--------------------------------------
*-------------------------------------- *--------------------------------------
GoDevGFX jmp (pDevGFX) GoDevGFX jmp $ffff
GoDevMouse jmp (pDevMouse) GoDevMouse jmp $ffff
*-------------------------------------- *--------------------------------------
CS.END CS.END
DEVNAME.GFX >PSTRING "GFX" DEVNAME.GFX >PSTRING "GFX"
@ -221,9 +225,7 @@ LIBGFX >PSTRING "libgfx.o"
MSG.INIT >PSTRING "DESKTOP:Init...\n" MSG.INIT >PSTRING "DESKTOP:Init...\n"
hLibGFX .BS 1 hLibGFX .BS 1
hDevGFX .BS 1 hDevGFX .BS 1
pDevGFX .BS 2
hDevMouse .BS 1 hDevMouse .BS 1
pDevMouse .BS 2
SetPixel.X .BS 2 SetPixel.X .BS 2
SetPixel.Y .BS 2 SetPixel.Y .BS 2
SetPixel.Mode .BS 1 SetPixel.Mode .BS 1

View File

@ -311,7 +311,7 @@ K.STAT jsr PFT.CheckPathSTK
>PULLW ZPQuickPtr2 >PULLW ZPQuickPtr2
>MLICALL MLIGETFILEINFO >MLICALL MLIGETFILEINFO
bcs .9 bcs .9
jsr FILE.MLI2STAT.Types jsr FILE.MLI2STAT
clc clc
.9 rts .9 rts
*-------------------------------------- *--------------------------------------
@ -322,7 +322,7 @@ FILE.SetupPrt1A jsr K.GetMemPtrA
sta MLICALL.PARAMS+1 sta MLICALL.PARAMS+1
rts rts
*-------------------------------------- *--------------------------------------
FILE.MLI2STAT.Types FILE.MLI2STAT
lda MLICALL.PARAMS+S.FILEINFO.ACCESS lda MLICALL.PARAMS+S.FILEINFO.ACCESS
cmp #S.FILEINFO.ACCESS.FULL cmp #S.FILEINFO.ACCESS.FULL
bne .1 bne .1

View File

@ -307,6 +307,7 @@ K.FreeMemA phy
bit RRAMWRAMBNK2 bit RRAMWRAMBNK2
bit RRAMWRAMBNK2 bit RRAMWRAMBNK2
jsr DevMgr.SYS.Select
jsr PS.Select0 jsr PS.Select0
pla Get PC and sub 2 for calling address pla Get PC and sub 2 for calling address