Kernel 0.93

This commit is contained in:
Rémy GIBERT 2019-06-10 15:52:20 +02:00
parent f75c1173d9
commit 6b65d47c25
4 changed files with 50 additions and 40 deletions

Binary file not shown.

View File

@ -5,6 +5,7 @@ NEW
.OR $2000 .OR $2000
.TF LIB/LIBTCPIP .TF LIB/LIBTCPIP
*-------------------------------------- *--------------------------------------
AUXPIPE .EQ 1
IPDEBUG .EQ 0 IPDEBUG .EQ 0
*-------------------------------------- *--------------------------------------
.MA ADC16 .MA ADC16

View File

@ -124,7 +124,7 @@ Kernel.Init3 sta SETALTZP
>PUSHWI FD.NULL.NAME >PUSHWI FD.NULL.NAME
>LDYAI FD.NULL >LDYAI FD.NULL
>SYSCALL MKDev >SYSCALL2 MKDev
jsr SysScrInit jsr SysScrInit
bcs * bcs *
@ -133,7 +133,7 @@ Kernel.Init3 sta SETALTZP
>PUSHBI S.FI.T.TXT >PUSHBI S.FI.T.TXT
>PUSHBI O.RDWR >PUSHBI O.RDWR
>LDYAI DEV.CONSOLE >LDYAI DEV.CONSOLE
>SYSCALL fopen >SYSCALL2 fopen
bcs * bcs *
ldy #S.PS.hStdIn ldy #S.PS.hStdIn
@ -144,7 +144,7 @@ Kernel.Init3 sta SETALTZP
sta (pPs),y sta (pPs),y
*-------------------------------------- *--------------------------------------
Kernel.Init3C >LDYAI MSG.Init3 Kernel.Init3C >LDYAI MSG.Init3
>SYSCALL puts >SYSCALL2 puts
jsr CPU.Init.6502 jsr CPU.Init.6502
@ -170,7 +170,7 @@ Kernel.Init3C >LDYAI MSG.Init3
>PUSHBI 0 >PUSHBI 0
>LDYAI MSG.CTRLR >LDYAI MSG.CTRLR
>SYSCALL printf >SYSCALL2 printf
>PUSHBI 0 PS Flags >PUSHBI 0 PS Flags
>LDYAI CTRLR.SHELL >LDYAI CTRLR.SHELL
@ -179,18 +179,18 @@ Kernel.Init3C >LDYAI MSG.Init3
.7 >PUSHWI ETCINIT.CMDLINE .7 >PUSHWI ETCINIT.CMDLINE
>PUSHBI 2 >PUSHBI 2
>LDYAI MSG.EtcInit >LDYAI MSG.EtcInit
>SYSCALL printf >SYSCALL2 printf
>PUSHBI 0 PS Flags >PUSHBI 0 PS Flags
>LDYAI ETCINIT.CMDLINE >LDYAI ETCINIT.CMDLINE
.8 >SYSCALL ExecL .8 >SYSCALL2 ExecL
bcs Kernel.Init3.Err bcs Kernel.Init3.Err
>PUSHBI 0 >PUSHBI 0
>LDYAI MSG.Init3.OK >LDYAI MSG.Init3.OK
>SYSCALL printf >SYSCALL2 printf
>DEBUGOA >DEBUGOA
@ -200,7 +200,7 @@ Kernel.Init3.Err
>PUSHA >PUSHA
>PUSHBI 1 >PUSHBI 1
>LDYAI MSG.StartupErr >LDYAI MSG.StartupErr
>SYSCALL printf >SYSCALL2 printf
bra * No need to discard Expanded CMDLINE bra * No need to discard Expanded CMDLINE
*-------------------------------------- *--------------------------------------
* INIT2 Subs * INIT2 Subs
@ -326,7 +326,7 @@ SysScrInit >LDYAI Mem.XHiMem
>PUSHWI FD.CONSOLE.NAME >PUSHWI FD.CONSOLE.NAME
>LDYAI FD.TTY >LDYAI FD.TTY
>SYSCALL MKDev >SYSCALL2 MKDev
bcs .9 bcs .9
ldx A2osX.TTYDEVS ldx A2osX.TTYDEVS
@ -339,7 +339,7 @@ SysScrInit >LDYAI Mem.XHiMem
>PUSHWI FD.TTY.NAME >PUSHWI FD.TTY.NAME
>LDYAI FD.TTY >LDYAI FD.TTY
>SYSCALL MKDev >SYSCALL2 MKDev
plx plx
bcs .9 bcs .9
@ -391,7 +391,7 @@ SysScrInit.TTYPtrs
*-------------------------------------- *--------------------------------------
CPU.Init.6502 >PUSHBI 0 CPU.Init.6502 >PUSHBI 0
>LDYAI MSG.CPU >LDYAI MSG.CPU
>SYSCALL printf >SYSCALL2 printf
jsr Detect6502 A = CPU type jsr Detect6502 A = CPU type
sta A2osX.CPUTYPE sta A2osX.CPUTYPE
@ -402,7 +402,7 @@ CPU.Init.6502 >PUSHBI 0
ldy MSG.CPUTYPE,x ldy MSG.CPUTYPE,x
lda MSG.CPUTYPE+1,x lda MSG.CPUTYPE+1,x
>SYSCALL puts >SYSCALL2 puts
lda MACHID lda MACHID
and #MACHID.T and #MACHID.T
@ -413,7 +413,7 @@ CPU.Init.6502 >PUSHBI 0
.10 >PUSHBI 0 .10 >PUSHBI 0
>LDYAI MSG.CPU.SPEED >LDYAI MSG.CPU.SPEED
>SYSCALL printf >SYSCALL2 printf
stz A2osX.RANDOM16 stz A2osX.RANDOM16
stz A2osX.RANDOM16+1 stz A2osX.RANDOM16+1
@ -474,12 +474,12 @@ CPU.Init.6502 >PUSHBI 0
>PUSHA push CPU speed HI >PUSHA push CPU speed HI
>PUSHBI 2 >PUSHBI 2
>LDYAI MSG.CPU.SPEEDOK >LDYAI MSG.CPU.SPEEDOK
>SYSCALL printf >SYSCALL2 printf
rts rts
*-------------------------------------- *--------------------------------------
CPU.Init.Z80 >PUSHBI 0 CPU.Init.Z80 >PUSHBI 0
>LDYAI MSG.Z80 >LDYAI MSG.Z80
>SYSCALL printf >SYSCALL2 printf
jsr DetectZ80 jsr DetectZ80
bcs .9 bcs .9
@ -492,11 +492,11 @@ CPU.Init.Z80 >PUSHBI 0
>PUSHBI 1 >PUSHBI 1
>LDYAI MSG.Z80.OK >LDYAI MSG.Z80.OK
>SYSCALL printf >SYSCALL2 printf
rts rts
.9 >LDYAI MSG.Z80.KO .9 >LDYAI MSG.Z80.KO
>SYSCALL puts >SYSCALL2 puts
rts rts
*-------------------------------------- *--------------------------------------
* Out: * Out:
@ -571,7 +571,7 @@ DetectZ80 ldx #Z80Code.Size
* if irq not handled, jmp (S.IrqMgrOldFFFE) * if irq not handled, jmp (S.IrqMgrOldFFFE)
*-------------------------------------- *--------------------------------------
IrqMgrInit >LDYAI MSG.IRQ IrqMgrInit >LDYAI MSG.IRQ
>SYSCALL puts >SYSCALL2 puts
php php
sei sei
@ -602,7 +602,7 @@ IrqMgrInit >LDYAI MSG.IRQ
>STYA GP.IrqH.JSR+1 >STYA GP.IrqH.JSR+1
>LDYAI MSG.IRQ.CLOCK >LDYAI MSG.IRQ.CLOCK
>SYSCALL puts >SYSCALL2 puts
clc clc
rts rts
@ -618,7 +618,7 @@ IrqMgrInit >LDYAI MSG.IRQ
>STYA GP.IrqH.JSR+1 >STYA GP.IrqH.JSR+1
>LDYAI MSG.IRQ.VBL >LDYAI MSG.IRQ.VBL
>SYSCALL puts >SYSCALL2 puts
clc clc
rts rts
@ -629,7 +629,7 @@ IrqMgrInit >LDYAI MSG.IRQ
sta IRQ.Mode sta IRQ.Mode
>LDYAI MSG.IRQ.POLL >LDYAI MSG.IRQ.POLL
>SYSCALL puts >SYSCALL2 puts
clc clc
rts rts
@ -797,7 +797,7 @@ IrqMgrInit.HZ2Tick
rts rts
*-------------------------------------- *--------------------------------------
DevMgrInit >LDYAI MSG.DEV DevMgrInit >LDYAI MSG.DEV
>SYSCALL puts >SYSCALL2 puts
lda DEVCNT lda DEVCNT
sta .1+1 sta .1+1
@ -950,17 +950,17 @@ DevMgrInit.AddBDev
>PUSHWI FD.BDEV.NAME >PUSHWI FD.BDEV.NAME
>PUSHBI 4 >PUSHBI 4
>LDYAI MSG.BLKDEV >LDYAI MSG.BLKDEV
>SYSCALL printf >SYSCALL2 printf
>PUSHWI FD.BDEV.NAME >PUSHWI FD.BDEV.NAME
>LDYAI FD.BDEV >LDYAI FD.BDEV
>SYSCALL MKDev >SYSCALL2 MKDev
DevMgrInit.AddBDev.RTS DevMgrInit.AddBDev.RTS
rts rts
*-------------------------------------- *--------------------------------------
EvtMgrInit >LDYAI MSG.EVT EvtMgrInit >LDYAI MSG.EVT
>SYSCALL puts >SYSCALL2 puts
stz CORE.EvtCount stz CORE.EvtCount
@ -975,7 +975,7 @@ EvtMgrInit >LDYAI MSG.EVT
EvtMgrInit.RTS rts EvtMgrInit.RTS rts
*-------------------------------------- *--------------------------------------
TskMgrInit >LDYAI MSG.TSK TskMgrInit >LDYAI MSG.TSK
>SYSCALL puts >SYSCALL2 puts
>LDYAI K.ENV.SIZE get a buffer for ENV >LDYAI K.ENV.SIZE get a buffer for ENV
jsr K.GetMem jsr K.GetMem
@ -996,7 +996,7 @@ TskMgrInit >LDYAI MSG.TSK
sta (ZPPtr1) make sure blank!! sta (ZPPtr1) make sure blank!!
>LDYAI $2E0 Get ROOT from QC >LDYAI $2E0 Get ROOT from QC
>SYSCALL strdup >SYSCALL2 strdup
bcs .9 bcs .9
txa txa
@ -1004,34 +1004,33 @@ TskMgrInit >LDYAI MSG.TSK
>PUSHWI $2C0 Get BOOT from QC >PUSHWI $2C0 Get BOOT from QC
>LDYAI I.ENV.BOOT >LDYAI I.ENV.BOOT
>SYSCALL SetEnv >SYSCALL2 SetEnv
bcs .9 bcs .9
>PUSHWI $2E0 Get ROOT from QC >PUSHWI $2E0 Get ROOT from QC
>LDYAI I.ENV.ROOT >LDYAI I.ENV.ROOT
>SYSCALL SetEnv >SYSCALL2 SetEnv
bcs .9 bcs .9
>LDYAI I.ENV.PATH >LDYAI I.ENV.PATH
>SYSCALL PutEnv >SYSCALL2 PutEnv
bcs .9 bcs .9
>LDYAI I.ENV.LIB >LDYAI I.ENV.LIB
>SYSCALL PutEnv >SYSCALL2 PutEnv
bcs .9 bcs .9
>LDYAI I.ENV.DRV >LDYAI I.ENV.DRV
>SYSCALL PutEnv >SYSCALL2 PutEnv
.9 rts .9 rts
*-------------------------------------- *--------------------------------------
PwdMgrInit >LDYAI MSG.PWD PwdMgrInit >LDYAI MSG.PWD
>SYSCALL puts >SYSCALL2 puts
>PUSHWZ Aux type >PUSHWZ Aux type
>PUSHBI S.FI.T.TXT >PUSHBI S.FI.T.TXT
>PUSHBI O.RDONLY >PUSHBI O.RDONLY
>LDYAI ETCPASSWD >LDYAI ETCPASSWD
>SYSCALL LoadStkObj >SYSCALL2 LoadStkObj
bcs .1 bcs .1
stx PWD.hDB stx PWD.hDB
>STYA PWD.DBSize >STYA PWD.DBSize

View File

@ -242,7 +242,13 @@ IO.CLOSE.DIR ldy #S.FD.REG.REF
>MLICALL MLICLOSE >MLICALL MLICLOSE
.1 ldy #S.FD.REG.IOBUF .1 ldy #S.FD.REG.IOBUF
bra IO.CLOSE.FD lda (pFD),y
beq .2
jsr K.FreeMem
.2 lda IO.hFD
jmp K.FreeMem
*-------------------------------------- *--------------------------------------
IO.CLOSE.CDEV IO.CLOSE.CDEV
IO.CLOSE.BDEV IO.CLOSE.BDEV
@ -281,12 +287,16 @@ IO.CLOSE.PIPE ldy #S.FD.PIPE.S
ldy #S.FD.PIPE.hMem ldy #S.FD.PIPE.hMem
IO.CLOSE.FD lda (pFD),y lda (pFD),y
beq .1 beq .2
jsr K.Freemem .DO AUXPIPE=1
jsr K.FreeStkObj
.ELSE
jsr K.FreeMem
.FIN
.1 lda IO.hFD .2 lda IO.hFD
jmp K.FreeMem jmp K.FreeMem
*-------------------------------------- *--------------------------------------
IO.CLOSE.NOD ldx #2 IO.CLOSE.NOD ldx #2