Kernel 0.92

This commit is contained in:
Rémy GIBERT 2018-11-23 17:20:19 +01:00
parent d9a3b4eb87
commit fe897c3257
16 changed files with 340 additions and 177 deletions

View File

@ -62,7 +62,7 @@ CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GET.IPCFG
.1 ldy #S.PS.ARGC
lda (pPs),y
cmp #2
cmp #1
bcs .2
jmp CS.RUN.DUMP
@ -81,7 +81,7 @@ CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GET.IPCFG
ldy #S.PS.ARGC
lda (pPs),y
cmp #2
cmp #1
beq CS.RUN.QUERY
cmp #3

View File

@ -63,7 +63,6 @@ CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GET.IPCFG is TCPIP loaded ?
CS.RUN.IPOK ldy #S.PS.ARGC
lda (pPs),y
cmp #1
bne .1
jmp CS.RUN.DUMP

View File

@ -42,8 +42,7 @@ L.MSG.ERR .DA MSG.ERR
*--------------------------------------
CS.INIT ldy #S.PS.ARGC
lda (pPs),y
cmp #2
bcc .90
beq .90
.1 >INC.G ArgIndex

View File

@ -49,7 +49,6 @@ CS.INIT >LDYA L.LIBCRYPT
*--------------------------------------
CS.RUN ldy #S.PS.ARGC
lda (pPs),y
dec
beq .99
.1 >INC.G ArgIndex

View File

@ -46,7 +46,7 @@ CS.INIT clc
*--------------------------------------
CS.RUN ldy #S.PS.ARGC
lda (pPs),y
cmp #2
cmp #1
bcs CS.RUN.SET
CS.RUN.READ jsr NSC.Init

View File

@ -54,7 +54,7 @@ CL.CHARIN tax
.1 cpx #$7f
bne .2
jmp CL.DEL
jmp CL.SUPPR
.2 jmp CL.Insert
@ -68,12 +68,12 @@ CL.CHARIN.CTRL cpx #C.CR
>LDYA L.MSG.ECHOCRLF
>SYSCALL printf
>LDA.G CL.Ptr
tay
lda #0
sta (ZPCLBuf),y
tya
>STA.G CL.Len
* >LDA.G CL.Ptr
* tay
* lda #0
* sta (ZPCLBuf),y
* tya
* >STA.G CL.Len
lda #$ff
>STA.G CL.bExec
@ -96,7 +96,7 @@ CL.CHARIN.CTRL cpx #C.CR
.12 cpx #24 Ctrl-X
bne .13
jmp CL.SUPPR
jmp CL.DEL
.13 clc
rts
@ -478,9 +478,9 @@ CL.CheckCmd.RTS
*--------------------------------------
* TXT : add "/PATH/SHELL" "/PATH/CMD"
*--------------------------------------
CL.CheckCmd.TXT >LDYA L.SHELL
jsr CL.AddYAToArgV
bcs CL.CheckCmd.90
*CL.CheckCmd.TXT >LDYA L.SHELL
* jsr CL.AddYAToArgV
* bcs CL.CheckCmd.90
*--------------------------------------
* BIN : add "/PATH/CMD"
*--------------------------------------

View File

@ -96,12 +96,10 @@ L.MSG.BATCHERR .DA MSG.BATCHERR
L.MSG.ERROR .DA MSG.ERROR
L.MSG.PRINTENV .DA MSG.PRINTENV
L.MSG.PID .DA MSG.PID
L.SHELL .DA SHELL
L.ENV.ROOT .DA ENV.ROOT
L.ENV.PATH .DA ENV.PATH
L.ENV.PWD .DA ENV.PWD
L.ENV.PS1 .DA ENV.PS1
L.ENV.SHELL .DA ENV.SHELL
L.ENV.HOME .DA ENV.HOME
L.FMT.DATE .DA FMT.DATE
L.FMT.TIME .DA FMT.TIME
@ -173,12 +171,6 @@ CS.RUN jsr CMD.Init
lda (pPS),y
beq .1 no arg, continue starting interactive
>PUSHW L.ENV.SHELL
lda #0
>SYSCALL ArgV
>SYSCALL setenv
bcs CS.INIT.RTS
lda #1
>SYSCALL ArgV
@ -566,13 +558,11 @@ MSG.PID .AZ "PID=%d\r\n"
FMT.DATE .AZ "%A (%w), %B %d %Y"
FMT.TIME .AZ "%H:%M:%S (%I:%M:%S%p)"
*--------------------------------------
SHELL .AZ "${ROOT}SBIN/SHELL"
ENV.ROOT .AZ "ROOT"
ENV.PATH .AZ "PATH"
ENV.PWD .AZ "PWD"
ENV.PS1 .AZ "PS1"
ENV.HOME .AZ "HOME"
ENV.SHELL .AZ "SHELL"
*--------------------------------------
* https://www.tldp.org/LDP/abs/html/io-redirection.html
*--------------------------------------

View File

@ -73,7 +73,7 @@ CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GET.IPCFG is TCPIP loaded ?
CS.RUN.IPOK ldy #S.PS.ARGC
lda (pPs),y
cmp #2
cmp #1
bcc .9
ldy #S.IPCFG.IP+3

View File

@ -47,7 +47,7 @@ CS.INIT clc
*--------------------------------------
CS.RUN ldy #S.PS.ARGC
lda (pPs),y
cmp #3
cmp #2
bcc .9

View File

@ -38,7 +38,7 @@ L.MSG.LOAD .DA MSG.LOAD
*--------------------------------------
CS.RUN ldy #S.PS.ARGC
lda (pPs),y
cmp #2
cmp #1
bcc .9
lda #1 get PTR to ARG[1] (Driver name)

View File

@ -35,7 +35,10 @@ CS.START cld
.DA CS.QUIT
L.MSG.LOGIN .DA MSG.LOGIN
L.MSG.PASSWORD .DA MSG.PASSWORD
L.ENV.SHELL .DA ENV.SHELL
L.SHELL .DA SHELL
L.ENV.HOME .DA ENV.HOME
L.HOME .DA HOME
.DA 0
*--------------------------------------
CS.INIT clc
@ -92,11 +95,27 @@ CS.RUN lda #0
>SYSCALL PutChar
bcs .9
jsr CS.RUN.SETENV
bcs .9
>PUSHBI S.PS.F.HOLD
>LDYA L.SHELL
>SYSCALL ExecL
rts
*--------------------------------------
CS.RUN.SETENV >PUSHW L.ENV.HOME
>LDYA L.HOME
>SYSCALL setenv
bcs .9
>PUSHW L.ENV.SHELL
>LDYA L.SHELL
>SYSCALL setenv
bcs .9
.9 rts
*--------------------------------------
CS.DOEVENT
sec
rts
@ -184,7 +203,10 @@ INPUT.LINEIN ldy #INPUT.Status
CS.END
MSG.LOGIN .AZ "\r\nlogin:"
MSG.PASSWORD .AZ "\r\npassword:"
ENV.SHELL .AZ "SHELL"
ENV.HOME .AZ "HOME"
SHELL .AZ "${ROOT}SBIN/SHELL"
HOME .AZ "${ROOT}ROOT"
.HS 00
*--------------------------------------
.DUMMY

171
SYS/KERNEL.S.DEF.txt Normal file
View File

@ -0,0 +1,171 @@
NEW
PREFIX
AUTO 4,1
*--------------------------------------
ZPKERNEL .EQ $0
ZPMEMMGR .EQ $10
*--------------------------------------
ZPPtr1 .EQ ZPKERNEL
ZPPtr2 .EQ ZPKERNEL+2
ZPPtr3 .EQ ZPKERNEL+4
ZPPtr4 .EQ ZPKERNEL+6
pFD .EQ ZPKERNEL+10
pDRV .EQ ZPKERNEL+12
pIOCTL .EQ ZPKERNEL+12
pIOBuf .EQ ZPKERNEL+14
*--------------------------------------
SYS.BASL0 .EQ $800
*--------------------------------------
* AuxMove / XFer
*--------------------------------------
A1L .EQ $3C
A2L .EQ $3E
A4L .EQ $42
XFer.JMP .EQ $3ED
AuxMove .EQ $C311
XFer .EQ $C314 CS:M->X, VS:Use Aux ZP
*--------------------------------------
* $42-$47 ProDOS Block Device Drivers Main
*--------------------------------------
DRV.BLK.Cmd .EQ $42
DRV.BLK.UnitNum .EQ $43
DRV.BLK.Buf .EQ $44
DRV.BLK.BlkNum .EQ $47
*--------------------------------------
* $5E-$C8 RESERVED APPLESOFT Main/Aux (ROM Call, no need to switch back MainZP)
*--------------------------------------
SIGNFLG .EQ $16 COS,SIN,TAN
INDEX .EQ $5E ->$5F
FORPNT .EQ $85 ->$86
FAC .EQ $9D ->$A1
FAC.SIGN .EQ $A2
ARG .EQ $A5 -> $A9 (5 bytes)
ARG.SIGN .EQ $AA
*FAC.EXTENSION .EQ $AC
TXTPTR .EQ $B8
*--------------------------------------
* ROM Entry Point
*--------------------------------------
ROM.FSUB .EQ 0
ROM.FADD .EQ 2
ROM.LTOF .EQ 4
ROM.LOG .EQ 6
ROM.FMULT .EQ 8
ROM.SETARG .EQ 10
ROM.FDIV .EQ 12
ROM.SETFAC .EQ 14
ROM.GETFAC .EQ 16 Copy FAC to (FORPNT)
ROM.FCOMP .EQ 18
ROM.QINT .EQ 20
ROM.FIN .EQ 22
ROM.FOUT .EQ 24
ROM.SQR .EQ 26
ROM.PWR .EQ 28
ROM.EXP .EQ 30
ROM.COS .EQ 32
ROM.SIN .EQ 34
ROM.TAN .EQ 36
ROM.ATAN .EQ 38
*--------------------------------------
* Memory Map
*--------------------------------------
A2osX.SaveSM .EQ $100 Aux
A2osX.SaveSX .EQ $101 Aux
*--------------------------------------
* Main $200 -> 2FF : (Used By ProDOS,Clock DRV....)
* Main $300 -> 3EF : <free>
* Main $3F0 -> 3FF : SYS Vectors (reset,IRQ...)
* Aux $200 -> 3FD : /RAM Driver
* Aux $3FE -> 3FF : IRQ Vector
*--------------------------------------
K.S.STAT .EQ $0300 S.STAT for internal kernel operations
*K.S.DIB .EQ $0340 S.DIB=25 or higher depends on dev type
K.S.IOCTL .EQ $0360 9 bytes
K.MLI.PATH .EQ $0369 64+1
K.MLI.PARAMS .EQ $03AA Main, 18 bytes min for GetFileInfo (ATLK needs MORE!!!...32 max for now)
*--------------------------------------
K.STACKTOP .EQ $03ED XFer !!! down to $3E0
*--------------------------------------
*** $3F0-$3FF IRQ Handler.... ***
*--------------------------------------
* Main/Aux $400 -> $7FF : TXT PAGE1 Console Screen
* Main/Aux $800 -> $BFF : TXT PAGE2 System Screen
*--------------------------------------
* free $0C00->$17FF = $C00 (3072) Aux
*--------------------------------------
Dev.Table.hPath .EQ $0C00 K.Dev.MAX
Dev.Table.hFD .EQ $0C20 K.Dev.MAX
*--------------------------------------
Nod.Table.hPath .EQ $0C40 K.NOD.MAX
Nod.Table.hFD .EQ $0C60 K.NOD.MAX
*--------------------------------------
PS.Table.PID .EQ $0C80 K.PS.MAX
PS.Table.hPS .EQ $0CA0 K.PS.MAX
PS.Table.Hits .EQ $0CC0 K.PS.MAX
PS.Table.Stats .EQ $0CE0 K.PS.MAX
*--------------------------------------
OF.Table.hPath .EQ $0D00 K.OF.MAX
OF.Table.hFD .EQ $0D20 K.OF.MAX
*--------------------------------------
Evt.Table .EQ $0D60 K.EVT.MAX*S.EVT.SIZE=4*8=32b
*--------------------------------------
Flt.Table .EQ $0D80 K.FLT.MAX*S.FLT.SIZE=4*32=128b
*--------------------------------------
K.Buf256 .EQ $0E00
*--------------------------------------
K.IOBuf .EQ $0F00
*--------------------------------------
*** Z80 Reserved $1000-10FF***
*--------------------------------------
Z80CODE .EQ $1000 (00000h) Up To $10FF
Z80STACK .EQ $10FF (000FFh) Down to $1000
*--------------------------------------
* CORE $1100->$17FF = $700 Main
*--------------------------------------
* MemMgr : $1800->$1FFF MAIN/AUX (2 kBytes)
*--------------------------------------
Mem.Table .EQ $1800 Slot 0 is Reserved
Mem.LoMem .EQ $1800
Mem.Free .EQ $1802
Mem.HiMem .EQ $1804
Mem.LastSlot .EQ $1806
*--------------------------------------
Mem.MLoMem .EQ $2000
Mem.MHiMem .EQ $BD00
Mem.XLoMem .EQ $2000
Mem.XHiMem .EQ $C000
*--------------------------------------
DevMgr.HiMem .EQ $FFFA Protect IRQ vectors in Aux LC
*--------------------------------------
H.BIN.T .EQ 0
H.BIN.T.DRV65 .EQ $4CD8 6502:cld,jmp abs
H.BIN.T.LIB65 .EQ $7CD8 6502:cld,jmp (abs,x)
H.BIN.T.BIN65 .EQ $7CD8 6502:cld,jmp (abs,x)
*H.BIN.T.LIB80 .EQ $A28D Z80:
*H.BIN.T.BIN80 .EQ $A28D Z80:
H.BIN.JMP .EQ 2
H.BIN.CPU .EQ 4
H.BIN.CPU.6502 .EQ $60
H.BIN.CPU.65C02 .EQ $61
H.BIN.CPU.65R02 .EQ $62
H.BIN.CPU.65816 .EQ $63
H.BIN.V .EQ 5
H.BIN.F .EQ 6
H.BIN.CS.SIZE .EQ 8
H.BIN.DS.SIZE .EQ 10
H.BIN.SS.SIZE .EQ 12
H.BIN.ZP.SIZE .EQ 13
*
H.BIN.EXE.REL.TABLE .EQ 16
*
H.BIN.DRV.REL.TABLE .EQ 2 Including main jmp
*--------------------------------------
MAN
SAVE INC/KERNEL.I
LOAD USR/SRC/SYS/KERNEL.S
ASM

View File

@ -138,11 +138,11 @@ Kernel.Init3 sta SETALTZP
>LDYAI MSG.Prefix
>SYSCALL printf
* lda KBD
* bpl .1
* sta KBDSTROBE
* cmp #$84 CTRL-D for Maintenace mode
* bne .1
lda KBD
bpl .1
sta KBDSTROBE
cmp #$84 CTRL-D for Maintenace mode
bne .1
>PUSHBI 0
>LDYAI MSG.CTRLD

View File

@ -741,6 +741,43 @@ MEM.PutCharPtr2 sta (ZPPtr2)
bne .8
inc ZPPtr2+1
.8 rts
*/--------------------------------------
* # GetPSStat
* **In:**
* Y,A = Ptr to K.PS.MAX*2+1 bytes buffer
* ## RETURN VALUE
* Buffer filled with PS stats
*\--------------------------------------
K.GetPSStat >STYA ZPPtr1
ldx #0
ldy #1
lda CORE.InKernelStats
sta (ZPPtr1),y
iny
.1 lda PS.Table.PID,x
beq .2
lda PS.Table.hPS,x
sta (ZPPtr1),y
iny
lda PS.Table.Stats,x
sta (ZPPtr1),y
iny
.2 inx
cpx #K.PS.MAX
bne .1
.9 tya
lsr
dec
sta (ZPPtr1)
rts
*--------------------------------------
* 6502/65C02/65816 OPCODES
* Bit 3 : 1 = absolute addressing

View File

@ -59,14 +59,11 @@ K.ExecV >STYA PS.ArgV
PS.Exec stz PS.Load.hBIN
jsr PS.CreateChild Child S.PS at ZPPtr3
jsr PS.CreateChild Child S.PS at ZPPtr3,PS.Load.hMem
bcs .9
sta .8+1
jsr PS.Load
bcs .90
jsr PS.AddArgV
bcc .8
@ -82,7 +79,7 @@ PS.Exec stz PS.Load.hBIN
sec
rts
.8 lda #$ff self modified
.8 lda PS.Load.hMem
.9 rts
*--------------------------------------
* PS.CreateChild
@ -131,6 +128,7 @@ PS.CreateChild ldx CORE.PSCount
bcs .99
>STYA ZPPtr3
stx PS.Load.hMem
txa
plx
sta PS.Table.hPS,x
@ -217,17 +215,17 @@ PS.Load >PUSHWI K.S.STAT
cmp #S.FI.T.BIN
beq PS.LoadBIN
cmp #S.FI.T.TXT
beq .10
cmp #S.FI.T.SYS
bne .98
bra *
* beq .10
* cmp #S.FI.T.SYS
* bra *
.10 jsr PS.LoadGetHeader
bcs .99
>LDYAI PS.Load.ROOT
jsr K.GetEnv
jsr K.GetEnv ZPPtr3 Trashed
bcs .97
>STYA .21+1
@ -235,8 +233,8 @@ PS.Load >PUSHWI K.S.STAT
ldx #$ff
.2 inx
.21 lda $ffff,x
sta K.Buf256,x
.21 lda $ffff,x SELF MODIFIED
sta K.IOBuf,x
bne .2
ldy #0
@ -251,10 +249,19 @@ PS.Load >PUSHWI K.S.STAT
.4 iny
inx
lda K.IOBuf+128-1,y
sta K.Buf256-1,x
sta K.IOBuf-1,x
bne .4
>LDYAI K.Buf256
>PUSHWI K.S.STAT
>LDYAI K.IOBuf
>SYSCALL stat BANK 1
bcs .99
lda PS.Load.hMem Restore ZPPtr3 trashed by GetEnv
jsr K.GetMemPtr
>STYA ZPPtr3
>LDYAI K.IOBuf
>SYSCALL NewStr
bcs .99
stx PS.Load.hBIN
@ -271,7 +278,7 @@ PS.LoadBIN >LDYA PS.ArgV
PS.LoadBIN.YA jsr BIN.Load
bcs .9
>STYA ZPPtr4 save PTR to Code Segment
phy
ldy #S.PS.ZP.CODE+1
sta (ZPPtr3),y save pCode HI...
@ -364,7 +371,7 @@ PS.LoadGetHeader
>PUSHBI O.RDONLY
>LDYA PS.ArgV
>SYSCALL fopen
bcs .99
bcs PS.LoadGetHeader.RTS
sta .1+1
>PUSHWI 128
@ -378,12 +385,14 @@ PS.LoadGetHeader
>SYSCALL fclose
pla
plp
.99 rts
PS.LoadGetHeader.RTS
rts
*--------------------------------------
PS.Load.ROOT .AZ "ROOT"
PS.Load.HEADER .AZ "#!/"
PS.Load.hBIN .BS 1
PS.Load.ArgSize .BS 2
PS.Load.hMem .BS 1
*--------------------------------------
* hBIN + PS.ArgV -> #S.PS.hARGV
*--------------------------------------
@ -394,19 +403,25 @@ PS.AddArgV stz PS.Load.ArgSize
beq .10
jsr K.GetMemPtr
jsr K.strlen
iny +1 for \0
>STYA PS.Load.ArgSize
ldx #0 ARGC-1
.HS 2C
.10 ldx #$ff ARGC-1
>LDYA PS.ArgV
>STYA ZPPtr1
>STYA ZPPtr2
.1 lda (ZPPtr2)
.1 lda (ZPPtr1)
beq .4
inx
ldy #0
.2 iny
lda (ZPPtr2),y
lda (ZPPtr1),y
bne .2
tya
@ -417,84 +432,46 @@ PS.AddArgV stz PS.Load.ArgSize
inc PS.Load.ArgSize+1
.3 tya
sec
adc ZPPtr2
sta ZPPtr2
bcc .1
inc ZPPtr2+1
.3 jsr PS.AddYp1ToPtr1
bra .1
.4 >LDYA PS.Load.ArgSize
.4 txa
ldy #S.PS.ARGC
sta (ZPPtr3),y
>LDYA PS.Load.ArgSize Add 1 for ending 0
iny
bne .5
inc
jsr K.GetMem
bcs .9
.5 jsr K.GetMem
bcs PS.LoadGetHeader.RTS
bcs .9
>STYA ZPPtr2 Target Buffer
txa
ldy #S.PS.hARGV
sta (ZPPtr3),y
dey S.PS.ARGC
txa
dec don't include $0
sta (ZPPtr3),y
lda PS.Load.hBIN
beq .6
* clc
jsr K.GetMemPtr
>STYA ZPPtr1
jsr PS.AddPtr1ToStrV
.6 >LDYA PS.ArgV
>STYA ZPPtr1
.7 lda (ZPPtr1)
sta (ZPPtr2)
beq .8 Ending \0
jsr PS.AddPtr1ToStrV
bra .7
.8 clc
.9 rts
*--------------------------------------
* PS.DupArgs
* In:
* Y,A = Ptr To Args[]
* Out:
* A = hMem
* X = Count
*--------------------------------------
PS.DupArgs >STYA ZPPtr1
>STYA ZPPtr2
lda #1
sta .7+1
lda #0
sta .8+1 len = 1 for array ending 0
.1 lda (ZPPtr2)
beq .7
ldy #0
.2 iny
lda (ZPPtr2),y
bne .2
tya
sec
adc .7+1
sta .7+1
bcc .3
inc .8+1
.3 tya
sec
adc ZPPtr2
sta ZPPtr2
bcc .1
inc ZPPtr2+1
bra .1
.7 ldy #$ff SELF MODIFIED
.8 lda #$ff SELF MODIFIED
bra PS.DupStrV
*--------------------------------------
* PS.DupEnv
* In:
* A = ENV hMem To Duplicate
@ -507,22 +484,27 @@ PS.DupEnv jsr K.GetMemPtr
>LDYAI K.ENV.SIZE
PS.DupStrV jsr K.GetMem
jsr K.GetMem
bcs .9
>STYA ZPPtr2
>STYA ZPPtr2 Target Buffer
phx save hMem
jsr PS.SetMemOwner Set Ownership
ldx #0 Count
.1 lda (ZPPtr1)
sta (ZPPtr2)
beq .8 Ending \0
inx
jsr PS.AddPtr1ToStrV
bra .1
.8 pla hMem
clc
.9 rts
*--------------------------------------
PS.AddPtr1ToStrV
ldy #0
.2 iny
@ -530,26 +512,26 @@ PS.DupStrV jsr K.GetMem
sta (ZPPtr2),y
bne .2
jsr PS.AddYp1ToPtr1
tya
sec
adc ZPPtr1
sta ZPPtr1
bcc .3
inc ZPPtr1+1
.3 tya
sec
adc ZPPtr2
sta ZPPtr2
bcc .1
bcc .8
inc ZPPtr2+1
bra .1
.8 rts
*--------------------------------------
PS.AddYp1ToPtr1 tya
sec
adc ZPPtr1
sta ZPPtr1
bcc .8
.8 pla hMem
inc ZPPtr1+1
clc
.9 rts
.8 rts
*--------------------------------------
PS.SetMemOwner lda CORE.LastPSID
ldy #S.MEM.OWNERPID
@ -567,43 +549,6 @@ K.GetPSStatus jsr CORE.GetPSByID
>STYA ZPPtr1
lda (ZPPtr1)
.9 rts
*/--------------------------------------
* # GetPSStat
* **In:**
* Y,A = Ptr to K.PS.MAX*2+1 bytes buffer
* ## RETURN VALUE
* Buffer filled with PS stats
*\--------------------------------------
K.GetPSStat >STYA ZPPtr1
ldx #0
ldy #1
lda CORE.InKernelStats
sta (ZPPtr1),y
iny
.1 lda PS.Table.PID,x
beq .2
lda PS.Table.hPS,x
sta (ZPPtr1),y
iny
lda PS.Table.Stats,x
sta (ZPPtr1),y
iny
.2 inx
cpx #K.PS.MAX
bne .1
.9 tya
lsr
dec
sta (ZPPtr1)
rts
*--------------------------------------
MAN
SAVE USR/SRC/SYS/KERNEL.S.PS

View File

@ -46,7 +46,6 @@ A2osX.D2 .PH $D000
.INB USR/SRC/SYS/KERNEL.S.PS
.INB USR/SRC/SYS/KERNEL.S.ARG
.INB USR/SRC/SYS/KERNEL.S.ENV
.INB USR/SRC/SYS/KERNEL.S.MATH
.EP
A2osX.E0 .PH $E000
.INB USR/SRC/SYS/KERNEL.S.JMP
@ -55,6 +54,8 @@ A2osX.E0 .PH $E000
********* TMP ***** go to A2osX.D1
.INB USR/SRC/SYS/KERNEL.S.FIO
.INB USR/SRC/SYS/KERNEL.S.IO
********* TMP ***** go to A2osX.D2
.INB USR/SRC/SYS/KERNEL.S.MATH
.LIST ON
DevMgr.FreeMem .EQ *
.LIST OFF