Kernel version 0.8 : MLI API Removed

This commit is contained in:
Rémy GIBERT 2016-09-26 18:00:52 +02:00
parent 7984c2ba74
commit f6e3d2e9b3
12 changed files with 217 additions and 332 deletions

View File

@ -28,10 +28,10 @@ K.GetArgC jsr S.InitArgPtr1
* CC : Y,A = PStr To Arg[A]
* CS : Out Of Bound
*--------------------------------------
K.GetArgA sta K.GetArgA.Idx
K.GetArgA sta .2+1
jsr S.InitArgPtr1
lda K.GetArgA.Idx
lda .2+1
beq .8
ldx #0
@ -39,7 +39,7 @@ K.GetArgA sta K.GetArgA.Idx
.1 lda (ZPQuickPtr1)
beq .9
cpx K.GetArgA.Idx
.2 cpx #$ff Self Modified
beq .8
jsr S.NextArgPtr1
@ -67,8 +67,6 @@ S.NextArgPtr1 lda ZPQuickPtr1
inc ZPQuickPtr1+1
.8 rts
*--------------------------------------
K.GetArgA.Idx .BS 1
*--------------------------------------
MAN
SAVE SYS/KERNEL.S.ARG
LOAD SYS/KERNEL.S

View File

@ -34,7 +34,15 @@ K.LoadBinYA >STYA K.LoadBin.Filename
clc
rts
.3 >PUSHWI $2000 Aux type
.3 >PUSHWI KrnBuf256
>PUSHW K.LoadBin.Filename
jsr K.STAT Look for AUXTYPE
bcs .99
>LDYA KrnBuf256+S.STAT.AUXTYPE
>STYA K.LoadBin.OldBase
>PUSHYA
>PUSHBI 6 S.FILEINFO.TYPE.BIN
>PUSHBI SYS.FOPEN.R
>PUSHW K.LoadBin.Filename
@ -47,27 +55,8 @@ K.LoadBinYA >STYA K.LoadBin.Filename
jsr K.GetMemPtrA
>STYA K.LoadBin.NewBase
>LDYA K.LoadBin.Filename
jsr K.MLIGetFileInfoYA Get File Info for AUXTYPE
bcs .98
>STYA ZPQuickPtr1
ldy #2 get AUXTYPE
lda (ZPQuickPtr1),y
sta K.LoadBin.OldBase
iny
lda (ZPQuickPtr1),y
sta K.LoadBin.OldBase+1
bit RRAMWRAMBNK2
bit RRAMWRAMBNK2
jsr K.InsBin
bit RRAMWRAMBNK1
bit RRAMWRAMBNK1
bcs .98 relocation error, dicard Code segment
>LDYA K.LoadBin.Filename get back bin path

View File

@ -507,26 +507,6 @@ K.READDIRA.AddToBuf
inc ZPQuickPtr4+1
.8 rts
*--------------------------------------
lda MLICALL.PARAMS+S.FILEINFO.ACCESS
cmp #S.FILEINFO.ACCESS.FULL
bne .5
lda #S.STAT.MODE.XO+S.STAT.MODE.WO+S.STAT.MODE.RO
bra .6
.5 and #S.FILEINFO.ACCESS.R
beq .6
lda #S.STAT.MODE.XO+S.STAT.MODE.RO
.6 ldy #S.STAT.MODE
sta (ZPQuickPtr3),y
ldy #S.STAT.BLOCKS
lda MLICALL.PARAMS+S.FILEINFO.AUXTYPE
sta (ZPQuickPtr3),y
iny
lda MLICALL.PARAMS+S.FILEINFO.AUXTYPE
sta (ZPQuickPtr3),y
ldy #S.STAT.BLKSIZE+1
lda #2 Block size is $200 for ProDOS
sta (ZPQuickPtr3),y

View File

@ -46,14 +46,8 @@ K.LoadDrvYA >STYA K.LoadDrv.CmdArray
bcs .97
bit RRAMWRAMBNK2
bit RRAMWRAMBNK2
jsr K.InsDrv
bit RRAMWRAMBNK1
bit RRAMWRAMBNK1
bcs .97
ldy #S.DEV.F

View File

@ -144,7 +144,7 @@ K.FCLOSEA.1 ldy #S.FILE.PRODOS.REF
*--------------------------------------
K.FREAD jsr K.PFTCheckFileSTK
>PULLA
jsr FIL.SetupPrt1A
jsr FILE.SetupPrt1A
>PULLW MLICALL.PARAMS+4
>PULLW MLICALL.PARAMS+2
>MLICALL MLIREAD
@ -162,7 +162,7 @@ K.FREAD jsr K.PFTCheckFileSTK
*--------------------------------------
K.FWRITE jsr K.PFTCheckFileSTK
>PULLA
jsr FIL.SetupPrt1A
jsr FILE.SetupPrt1A
>PULLW MLICALL.PARAMS+4
>PULLW MLICALL.PARAMS+2
>MLICALL MLIWRITE
@ -175,7 +175,7 @@ K.FWRITE jsr K.PFTCheckFileSTK
* A = hFILE
*--------------------------------------
K.FFLUSHA jsr K.PFTCheckFileA
jsr FIL.SetupPrt1A
jsr FILE.SetupPrt1A
>MLICALL MLIFLUSH
rts
*--------------------------------------
@ -188,7 +188,7 @@ K.FFLUSHA jsr K.PFTCheckFileA
*--------------------------------------
K.FSEEK jsr K.PFTCheckFileSTK
>PULLA
jsr FIL.SetupPrt1A
jsr FILE.SetupPrt1A
>PULLB K.FSEEK.FROM
>PULLW K.FSEEK.OFFSET
>PULLW K.FSEEK.OFFSET+2
@ -245,7 +245,7 @@ K.FSEEK.OFFSET .BS 4
* Y,A,X = Offset
*--------------------------------------
K.FTELLA jsr K.PFTCheckFileA
K.FTELLA.1 jsr FIL.SetupPrt1A
K.FTELLA.1 jsr FILE.SetupPrt1A
>MLICALL MLIGETMARK
bcs .9
>LDYA MLICALL.PARAMS+2
@ -262,7 +262,7 @@ K.FTELLA.1 jsr FIL.SetupPrt1A
* CS :
*--------------------------------------
K.FEOFA jsr K.PFTCheckFileA
jsr FIL.SetupPrt1A
jsr FILE.SetupPrt1A
jsr K.FTELLA.1
bcs .9
>STYA K.FEOFA.MARK
@ -304,43 +304,48 @@ K.RENAME jsr K.PFTCheckPathSTK
*--------------------------------------
* K.STAT
* In :
* PULLB = hFILE
* PULLW = PTR to S.STAT buffer
*--------------------------------------
K.STAT jsr K.PFTCheckFileA
>PULLA
jsr FIL.SetupPrt1A
>PULLW ZPQuickPtr2
>MLICALL MLIGETFILEINFO
bcs .9
>LDYAI MLICALL.PARAMS+3
.9 rts
*--------------------------------------
* K.FSTAT
* In :
* PULLW = PTR to Filename
* PULLW = PTR to S.STAT buffer
*--------------------------------------
K.FSTAT jsr K.PFTCheckPathSTK
K.STAT jsr K.PFTCheckPathSTK
>PULLW MLICALL.PARAMS+1
>PULLW ZPQuickPtr2
>MLICALL MLIGETFILEINFO
bcs .9
>LDYAI MLICALL.PARAMS+3
jsr FILE.MLI2STAT.Types
clc
.9 rts
*--------------------------------------
FIL.SetupPrt1A jsr K.GetMemPtrA
FILE.SetupPrt1A jsr K.GetMemPtrA
>STYA ZPQuickPtr1
ldy #S.FILE.PRODOS.REF
lda (ZPQuickPtr1),y
sta MLICALL.PARAMS+1
rts
*--------------------------------------
*--------------------------------------
FILE.MLI2STAT.Types
lda MLICALL.PARAMS+S.FILEINFO.ACCESS
cmp #S.FILEINFO.ACCESS.FULL
bne .1
lda #S.STAT.MODE.XO+S.STAT.MODE.WO+S.STAT.MODE.RO
bra .2
.1 and #S.FILEINFO.ACCESS.R
beq .2
lda #S.STAT.MODE.XO+S.STAT.MODE.RO
.2 ldy #S.STAT.MODE
sta (ZPQuickPtr3),y
ldy #S.STAT.BLOCKS
lda MLICALL.PARAMS+S.FILEINFO.AUXTYPE
sta (ZPQuickPtr3),y
iny
lda MLICALL.PARAMS+S.FILEINFO.AUXTYPE+1
sta (ZPQuickPtr3),y
rts
*--------------------------------------
MAN
SAVE SYS/KERNEL.S.FILE
LOAD SYS/KERNEL.S

View File

@ -5,30 +5,6 @@ INC 1
AUTO 6
.LIST OFF
*--------------------------------------
* PUBLIC
*--------------------------------------
K.CheckPrefixYA >STYA MLICALL.PARAMS+1
>STYA ZPQuickPtr1
lda (ZPQuickPtr1)
beq .98
tax
ldy #1
lda (ZPQuickPtr1),y
cmp #'/'
bne .98
cpx #1 "/" allowed for listing online volumes
beq .8
>MLICALL MLIGETFILEINFO
bcs .98 No, invalid path...
lda MLICALL.PARAMS+4 Check file type
cmp #$0F Directory?
bne .98
.8 clc
rts
.98 lda #SYSMGR.ERRIDIR
.99 sec
rts
*--------------------------------------
* K.FileSearch
* in :
* PULLW = PSTR to File Name (PSTRING)
@ -78,10 +54,11 @@ K.FileSearch >PULLW ZPQuickPtr4 ZPQuickPtr1 trashed by ExpandPStrYA
cmp (ZPQuickPtr4)
bne .4
stx KrnBuf256 set string length
stx KrnBuf256 set string length
>LDYAI KrnBuf256
jsr K.MLIGetFileInfoYA
>PUSHWI KrnSTAT
>PUSHWI KrnBuf256
jsr K.STAT
bcs .1 Failed...retry next path...
lda K.FileSearch.hSrch Discard Expanded hSrch list
@ -95,7 +72,6 @@ K.FileSearch >PULLW ZPQuickPtr4 ZPQuickPtr1 trashed by ExpandPStrYA
sec
.99 rts
*--------------------------------------
K.FileSearch.File .BS 2
K.FileSearch.hSrch .BS 1
K.FileSearch.Index .BS 1
*--------------------------------------

View File

@ -5,14 +5,16 @@ INC 1
AUTO 6
.LIST OFF
*--------------------------------------
* A2osX.SYSCALL (AUXLC to AUXLC)
* SYSCALL (AUXLC to AUXLC)
* Used by user & kernel for inter bank Calls
* In:
* X = SYSfnc.Index
* Y,A = free for Inline param
*--------------------------------------
A2osX.GP.Start jmp A2osX.SYSCALL1
jmp A2osX.SYSCALL1
*--------------------------------------
* LIBCALL (AUXLC to AUXLC)
* Used by user
* In:
* Y = LIB.ID
* X = LIBfnc.Index
@ -20,7 +22,8 @@ A2osX.GP.Start jmp A2osX.SYSCALL1
*--------------------------------------
jmp A2osX.LIBCALL1
*--------------------------------------
* Kernel.MLICALL (AUXLC to MAINLC)
* MLICALL (AUXLC to MAINLC)
* Used by Kernel
* In:
* X = MLI Function
* A = Param Count
@ -35,46 +38,66 @@ A2osX.GP.Start jmp A2osX.SYSCALL1
jmp (pDev) pDevJmp
.BS $BE20-*
*--------------------------------------
GO.Reset jsr GO.AUXLC
GO.Reset jsr GO.A2osX
jmp K.KernelRun
*--------------------------------------
A2osX.SYSCALL1 phx
bit KERNEL.SYSCALL.FLAGS,x
bmi .2
ldx #RRAMWRAMBNK1
.HS 2C
.2 ldx #RRAMWRAMBNK2
bit $C000,x
bit $C000,x
plx
jmp (KERNEL.SYSCALL,x)
* *** MUST BE REINTRANT ***
*--------------------------------------
A2osX.LIBCALL1 pha
phx
tya
>SYSCALL SYS.GetMemPtrA
>STYA .1+1
plx
A2osX.SYSCALL1 bit KERNEL.SYSCALL.FLAGS,x
bpl .8 in $E000, no BNK change
sta .7+1 save A (Func Arg)
lda KERNEL.SYSCALL.FLAGS+1,x Get Target BNK
cmp $D000 #RRAMWRAMBNK1 or #RRAMWRAMBNK2
beq .7 same as actual BNK...go restore A and JMP
stx .6+1 save X (Func ID)
tax set Target BNK in x
lda $D000 get source BNK
bit $C000,x switch to Target BNK
bit $C000,x
pha
jsr .7 go to kernel.....
stx .5+1 save X
plx get back Source BNK
bit $C000,x
bit $C000,x
.5 ldx #$FF Self Modified
rts Unmodified Carry
.6 ldx #$FF Self Modified
.7 lda #$FF Self Modified
.8 jmp (KERNEL.SYSCALL,x)
*--------------------------------------
A2osX.LIBCALL1 pha No need to save X, K.GetMemPtrA will leave it unmodified
tya Get LIB hMem in A
jsr K.GetMemPtrA Get LIB Code Segment (MemMgr in $E000, no BNK change)
>STYA pLib
pla
.1 jmp $FFFF
jmp (pLib)
*--------------------------------------
A2osX.MLICALL1 jsr GO.MAINLC
stx .1
A2osX.MLICALL1 stx .1
sta MLICALL.PARAMS
jsr GO.ProDOS
jsr MLI
.1 .BS 1
.DA MLICALL.PARAMS
jsr GO.AUXLC
jsr GO.A2osX
rts
*--------------------------------------
GO.MAINLC asl RDLCBNK2 We re coming from AUXLC, saving bank...
ror A2osX.SaveLCBNK
GO.ProDOS lda $D000 We re coming from AUXLC, saving bank...
sta GO.A2osX.BNK+1
php
clc
.HS 2C bit abs
GO.AUXLC php
GO.A2osX php
sec
sei
@ -96,7 +119,7 @@ GO.AUXLC php
ldy pStack
bcs .2 if CS, go AUXLC
bcs GO.A2osX.BNK if CS, go AUXLC
bit RRAMWRAMBNK1 Go MAINLC (ProDOS), always BNK1
bit RRAMWRAMBNK1
@ -108,11 +131,7 @@ GO.AUXLC php
sta CLRALTZP
bra GO.EXIT
.2 bit A2osX.SaveLCBNK Go AUXLC....Previous Go MAINLC Coming from BNK2 ?
bmi .3
ldx #RRAMWRAMBNK1
.HS 2C bit abs
.3 ldx #RRAMWRAMBNK2
GO.A2osX.BNK ldx #$FF Self Modified
bit $C000,x
bit $C000,x
@ -129,9 +148,8 @@ GO.EXIT sty pStack
ldx A2osX.SaveX
lda A2osX.SaveA
plp
GO.EXIT.JMP jmp $FFFF
GO.EXIT.JMP jmp $FFFF Self Modified
*--------------------------------------
A2osX.SaveLCBNK .BS 1
A2osX.SaveA .BS 1
A2osX.SaveX .BS 1
A2osX.SaveY .BS 1
@ -140,14 +158,6 @@ BrkHandler bra *
*--------------------------------------
IrqHandler bra *
*--------------------------------------
A2osX.GP.End .EQ *
*--------------------------------------
* CONTROL SECTION :
*--------------------------------------
.DO A2osX.GP.End>$BEDF
ERROR:GP too big
.FIN
*--------------------------------------
MAN
SAVE SYS/KERNEL.S.GP
LOAD SYS/KERNEL.S

View File

@ -71,7 +71,7 @@ Kernel.Init2 >LDAXI MSG.Init2
>LDAXI MSG.Setup
jsr PrintCStrAX
jsr GO.AUXLC
jsr GO.A2osX
jsr K.IrqMgrInit
bcs *
@ -86,7 +86,7 @@ Kernel.Init2 >LDAXI MSG.Init2
jsr K.TskMgrInit
bcs *
jsr GO.MAINLC Make sure MAIN ZP...
jsr GO.ProDOS Make sure MAIN ZP...
lda RROMBNK1 ... & ROM is enabled for X.PRINT.F
>LDAXI MSG.Init2.OK

View File

@ -43,7 +43,7 @@ KERNEL.SYSCALL .DA K.GetMem $00
.DA K.GetEnvYA
.DA K.UnsetEnvYA
*--------------------------------------
.DA K.MLICreateFile $40
.DA 0 $40
.DA 0
.DA 0
.DA 0
@ -52,32 +52,32 @@ KERNEL.SYSCALL .DA K.GetMem $00
.DA 0
.DA 0
*--------------------------------------
.DA K.MLIGetFileInfoYA $50
.DA 0 $50
.DA 0
.DA 0
.DA 0
.DA 0
.DA 0
.DA 0
.DA K.MLIOpenYA
*--------------------------------------
.DA K.MLINewLine $60
.DA K.MLIRead
.DA K.MLIWrite
.DA K.MLICloseA
.DA 0
.DA 0
.DA 0
.DA 0
*--------------------------------------
.DA 0 $70
.DA 0
.DA 0
.DA 0
.DA 0
.DA 0
.DA 0
.DA K.FOPEN $60
.DA K.FCLOSEA
.DA K.FREAD
.DA K.FWRITE
.DA K.FFLUSHA
.DA K.FSEEK
.DA K.FTELLA
.DA K.FEOFA
*--------------------------------------
.DA K.REMOVEYA $70
.DA K.RENAME
.DA K.STAT
.DA 0
.DA K.OPENDIRYA
.DA K.READDIRA
.DA K.CLOSEDIRA
.DA K.MKDIRYA
*--------------------------------------
.DA K.GetDevByIDA $80
.DA 0
@ -97,7 +97,7 @@ KERNEL.SYSCALL .DA K.GetMem $00
.DA K.Sleep
.DA 0
*--------------------------------------
.DA K.CheckPrefixYA $A0
.DA 0 $A0
.DA K.FileSearch
.DA K.GetFullPathYA
.DA 0
@ -133,26 +133,32 @@ KERNEL.SYSCALL .DA K.GetMem $00
.DA K.DecOutA
.DA K.DecOutYA
*--------------------------------------
.DA K.FOPEN $E0
.DA K.FCLOSEA
.DA K.FREAD
.DA K.FWRITE
.DA K.FFLUSHA
.DA K.FSEEK
.DA K.FTELLA
.DA K.FEOFA
.DA 0 $E0
.DA 0
.DA 0
.DA 0
.DA 0
.DA 0
.DA 0
.DA 0
*--------------------------------------
.DA K.REMOVEYA $F0
.DA K.RENAME
.DA K.STAT
.DA K.FSTAT
.DA K.OPENDIRYA
.DA K.READDIRA
.DA K.CLOSEDIRA
.DA K.MKDIRYA
.DA 0 $F0
.DA 0
.DA 0
.DA 0
.DA 0
.DA 0
.DA 0
.DA 0
*--------------------------------------
* LO Byte :
* #RRAMWRAMBNK1 or #RRAMWRAMBNK2
* LO Byte :
*--------------------------------------
KERNEL.SYSCALL.FLAGS
.DA 0 $00
*--------------------------------------
.DA 0 $00 : MEM $E000
.DA 0
.DA 0
.DA 0
@ -161,7 +167,7 @@ KERNEL.SYSCALL.FLAGS
.DA 0
.DA 0
*--------------------------------------
.DA 0 $10
.DA 0 $10 : STR $D001
.DA 0
.DA 0
.DA 0
@ -170,14 +176,22 @@ KERNEL.SYSCALL.FLAGS
.DA 0
.DA 0
*--------------------------------------
.DA 0 $20
.DA 0
.DA 0
.DA 0
.DA $80
.DA $80
.DA $80
.DA $80
.DA #RRAMWRAMBNK2 $20 : BIN,DRV,LIB (REL) $D002
.DA #0
.DA #RRAMWRAMBNK2
.DA #0
.DA #RRAMWRAMBNK2
.DA #0
.DA 0
.DA #RRAMWRAMBNK2 $28 : TIME $D002
.DA #0
.DA #RRAMWRAMBNK2
.DA #0
.DA #RRAMWRAMBNK2
.DA #0
.DA #RRAMWRAMBNK2
.DA #0
*--------------------------------------
.DA 0 $30
.DA 0

View File

@ -1,117 +0,0 @@
PR#3
PREFIX /A2OSX.SRC
NEW
INC 1
AUTO 6
.LIST OFF
*--------------------------------------
* PUBLIC
*--------------------------------------
K.MLICreateFile >PULLW MLICALL.PARAMS+1
>PULLB MLICALL.PARAMS+3 Access
>PULLB MLICALL.PARAMS+4 File type
>PULLW MLICALL.PARAMS+5 Aux type
lda #$01 Storage=Standard Files
sta MLICALL.PARAMS+7
>MLICALL MLICREATE
rts
*--------------------------------------
* K.MLIGetFileInfoYA
* in :
* Y,A = FileName
* out :
* Y,A = PTR To Buffer (L=15)
*--------------------------------------
K.MLIGetFileInfoYA
>STYA MLICALL.PARAMS+1
>MLICALL MLIGETFILEINFO
bcs .9
>LDYAI MLICALL.PARAMS+3
.9 rts
*--------------------------------------
* K.MLIOpenYA
* in :
* YA = FileName
* out :
* A = ref_num
* X = buf hMem
*--------------------------------------
K.MLIOpenYA >STYA MLICALL.PARAMS+1
>PUSHWI 1024 get a ProDOS IO buffer
>PUSHBI S.MEM.F.ALIGN+S.MEM.F.NOMOVE
jsr K.GetMem
bcs .99
phx save Prodos Buffer hMem
>STYA MLICALL.PARAMS+3
>MLICALL MLIOPEN
bcs .98
lda MLICALL.PARAMS+5 get ref_num
plx get back Prodos Buffer hMem
rts CC
.98 plx get back Prodos Buffer hMem
pha save MLI error
txa
jsr K.FreeMemA discard Prodos Buffer
pla get back MLI error
sec
.99 rts
*--------------------------------------
* K.MLINewline
* in :
* PULLB = ref_num
* PULLB = Enable Mask
* PULLB = Newline Char
*--------------------------------------
K.MLINewLine >PULLB MLICALL.PARAMS+1
>PULLB MLICALL.PARAMS+2
>PULLB MLICALL.PARAMS+3
>MLICALL MLINEWLINE
rts
*--------------------------------------
* K.MLIRead
* in :
* PULLB = ref_num
* PULLW = Dest PTR
* PULLW = Bytes To Read
* out :
* Y,A = Bytes Read
*--------------------------------------
K.MLIRead >PULLB MLICALL.PARAMS+1
>PULLW MLICALL.PARAMS+2
>PULLW MLICALL.PARAMS+4
>MLICALL MLIREAD
bcs .9
>LDYA MLICALL.PARAMS+6
.9 rts
*--------------------------------------
* K.MLIWrite
* in :
* PULLB = ref_num
* PULLW = Src PTR
* PULLW = Bytes To Write
* out :
* Y,A = Bytes Written
*--------------------------------------
K.MLIWrite >PULLB MLICALL.PARAMS+1
>PULLW MLICALL.PARAMS+2
>PULLW MLICALL.PARAMS+4
>MLICALL MLIWRITE
bcs .9
>LDYA MLICALL.PARAMS+6
.9 rts
*--------------------------------------
* K.MLICloseA
* in :
* A = ref_num
* out :
*--------------------------------------
K.MLICloseA sta MLICALL.PARAMS+1
>MLICALL MLICLOSE
rts
*--------------------------------------
MAN
SAVE SYS/KERNEL.S.MLI
LOAD SYS/KERNEL.S
ASM

View File

@ -5,9 +5,26 @@ INC 1
AUTO 6
.LIST OFF
*--------------------------------------
* In :
* PULLW/Y,A = PATH (PSTR)
* Out :
* K.PFTAdd
* In :
* Out :
*--------------------------------------
K.PFTAdd
clc
rts
*--------------------------------------
* K.PFTRemove
* In :
* Out :
*--------------------------------------
K.PFTRemove
clc
rts
*--------------------------------------
* K.PFTCheckPath___
* In :
* PULLW/Y,A = PATH (PSTR)
* Out :
*--------------------------------------
K.PFTCheckPathSTK
lda (pStack) read PTR.LO on top of stack
@ -63,9 +80,10 @@ K.PFTCheckPathYA
ldx S.PFT.SYSCALL
rts
*--------------------------------------
* In :
* PULLB/A = hFILE/hDIR
* Out :
* K.PFTCheck___
* In :
* PULLB/A = hFILE/hDIR
* Out :
*--------------------------------------
K.PFTCheckFileSTK
lda (pStack) read hFILE on top of stack

View File

@ -38,7 +38,7 @@ ZPQuickPtr4 .EQ ZPKERNEL+6
*--------------------------------------
* Kernel Init Stage 3
*--------------------------------------
jsr GO.AUXLC
jsr GO.A2osX
jsr Kernel.Init3
>DEBUGOA
@ -61,13 +61,13 @@ A2osX.BE00.END .EQ *
*--------------------------------------
A2osX.D001 .EQ *
.PH $D000
.DA #RRAMWRAMBNK1
.INB SYS/KERNEL.S.RUN
.INB SYS/KERNEL.S.STR
.INB SYS/KERNEL.S.CIO
.INB SYS/KERNEL.S.FIO
.INB SYS/KERNEL.S.MLI
.INB SYS/KERNEL.S.ARG
.INB SYS/KERNEL.S.ENV
.INB SYS/KERNEL.S.CIO
.INB SYS/KERNEL.S.FIO
.INB SYS/KERNEL.S.EVT
.INB SYS/KERNEL.S.TSK
.INB SYS/KERNEL.S.PS
@ -78,8 +78,15 @@ A2osX.D001.END .EQ *
*--------------------------------------
A2osX.D002 .EQ *
.PH $D000
.DA #RRAMWRAMBNK2
.INB SYS/KERNEL.S.BIN
.INB SYS/KERNEL.S.DRV
.INB SYS/KERNEL.S.LIB
.INB SYS/KERNEL.S.REL
.INB SYS/KERNEL.S.TIME
.INB SYS/KERNEL.S.FILE
.INB SYS/KERNEL.S.DIR
.INB SYS/KERNEL.S.PFT
.EP
A2osX.D002.END .EQ *
*--------------------------------------
@ -90,19 +97,14 @@ A2osX.E000 .EQ *
.INB SYS/KERNEL.S.JMP
.INB SYS/KERNEL.S.IRQ
.INB SYS/KERNEL.S.MEM
.INB SYS/KERNEL.S.BIN
.INB SYS/KERNEL.S.DRV
.INB SYS/KERNEL.S.LIB
*--------------------------------------
.INB SYS/KERNEL.S.PFT
.INB SYS/KERNEL.S.FILE
.INB SYS/KERNEL.S.DIR
*--------------------------------------
* Make sure KERNEL.S.DEV is the last one
*--------------------------------------
.INB SYS/KERNEL.S.DEV
.EP
A2osX.E000.END .EQ *
*--------------------------------------
* CONTROL SECTION :
*--------------------------------------
.LIST ON
*--------------------------------------
@ -112,6 +114,22 @@ A2osX.D002.SIZE .EQ A2osX.D002.END-A2osX.D002
A2osX.E000.SIZE .EQ A2osX.E000.END-A2osX.E000
*--------------------------------------
.LIST OFF
.DO A2osX.BE00.SIZE>$E0
.LIST ON
* !!!!!!!!!!!!! ERROR:GP too big !!!!!!!!!!!!
.LIST OFF
.FIN
.DO A2osX.D001.SIZE>$1000
.LIST ON
* !!!!!!!!!!!!! ERROR:BNK1 too big !!!!!!!!!!
.LIST OFF
.FIN
.DO A2osX.D002.SIZE>$1000
.LIST ON
* !!!!!!!!!!!!! ERROR:BNK2 too big !!!!!!!!!!
.LIST OFF
.FIN
*--------------------------------------
MAN
SAVE SYS/KERNEL.S
ASM