A2osX/SYS/KERNEL.S.txt

136 lines
3.5 KiB
Plaintext
Raw Normal View History

2015-03-14 21:48:35 +00:00
PR#3
2015-06-03 18:30:57 +00:00
PREFIX /A2OSX.SRC
2015-03-14 21:48:35 +00:00
NEW
INC 1
AUTO 6
.LIST OFF
.OP 65C02
2016-06-07 06:10:18 +00:00
.OR $2000
2015-06-03 18:30:57 +00:00
.TF /A2OSX.BOOT/SYS/KERNEL
2015-03-14 21:48:35 +00:00
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB INC/IO.I
.INB INC/PRODOS.I
*--------------------------------------
2016-06-07 06:10:18 +00:00
TmpPtr1 .EQ $0 for X.PRINTF.S
2016-03-13 21:47:19 +00:00
ZPQuickPtr1 .EQ ZPKERNEL Temp Ptrs for use in very limited scope
ZPQuickPtr2 .EQ ZPKERNEL+2 (could be trashed by any JSR)
ZPQuickPtr3 .EQ ZPKERNEL+4
ZPQuickPtr4 .EQ ZPKERNEL+6
*--------------------------------------
* Kernel Init Stage 2
2015-03-14 21:48:35 +00:00
*--------------------------------------
sei
ldx #$FF init 6502 stack to highest
txs
sta SETALTZP
stx A2osX.SaveSM
stx A2osX.SaveSX
sta CLRALTZP Make sure MAIN ZP is enabled for X.PRINT.F
lda RROMBNK1 Make sure ROM is enabled for X.PRINT.F
cli
2016-08-28 20:48:01 +00:00
jsr Kernel.Init2
2016-06-07 06:10:18 +00:00
>DEBUGOA
*--------------------------------------
* Kernel Init Stage 3
2016-06-07 06:10:18 +00:00
*--------------------------------------
2016-09-26 16:00:52 +00:00
jsr GO.A2osX
2016-08-28 20:48:01 +00:00
jsr Kernel.Init3
>DEBUGOA
*--------------------------------------
2016-09-21 15:20:37 +00:00
jmp K.KernelRun
2015-03-14 21:48:35 +00:00
*--------------------------------------
2016-06-07 06:10:18 +00:00
.INB X.PRINTF.S
2016-08-28 20:48:01 +00:00
.INB SYS/KERNEL.S.INIT2
.INB SYS/KERNEL.S.INIT3
2015-03-14 21:48:35 +00:00
*--------------------------------------
2016-06-07 06:10:18 +00:00
* Global Page
2015-03-14 21:48:35 +00:00
*--------------------------------------
2016-06-07 06:10:18 +00:00
A2osX.BE00 .EQ *
.PH $BE00
.INB SYS/KERNEL.S.GP
.EP
A2osX.BE00.END .EQ *
*--------------------------------------
* LC AUX $D000 BANK1
*--------------------------------------
A2osX.D001 .EQ *
.PH $D000
2016-09-26 16:00:52 +00:00
.DA #RRAMWRAMBNK1
2016-06-24 06:02:32 +00:00
.INB SYS/KERNEL.S.RUN
2015-03-14 21:48:35 +00:00
.INB SYS/KERNEL.S.STR
2016-08-17 06:25:58 +00:00
.INB SYS/KERNEL.S.ARG
2016-06-07 06:10:18 +00:00
.INB SYS/KERNEL.S.ENV
2016-09-26 16:00:52 +00:00
.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
2016-06-07 06:10:18 +00:00
.EP
A2osX.D001.END .EQ *
*--------------------------------------
* LC AUX $D000 BANK2
*--------------------------------------
A2osX.D002 .EQ *
.PH $D000
2016-09-26 16:00:52 +00:00
.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
2016-09-26 16:00:52 +00:00
.INB SYS/KERNEL.S.FILE
.INB SYS/KERNEL.S.DIR
.INB SYS/KERNEL.S.PFT
2016-06-07 06:10:18 +00:00
.EP
A2osX.D002.END .EQ *
*--------------------------------------
* LC AUX $E000
*--------------------------------------
A2osX.E000 .EQ *
.PH $E000
2016-09-05 06:10:04 +00:00
.INB SYS/KERNEL.S.JMP
2016-06-07 06:10:18 +00:00
.INB SYS/KERNEL.S.IRQ
.INB SYS/KERNEL.S.MEM
*--------------------------------------
* Make sure KERNEL.S.DEV is the last one
2015-03-14 21:48:35 +00:00
*--------------------------------------
2015-06-03 18:30:57 +00:00
.INB SYS/KERNEL.S.DEV
2016-06-07 06:10:18 +00:00
.EP
A2osX.E000.END .EQ *
2016-09-26 16:00:52 +00:00
*--------------------------------------
* CONTROL SECTION :
2016-06-07 06:10:18 +00:00
*--------------------------------------
.LIST ON
2015-03-14 21:48:35 +00:00
*--------------------------------------
2016-06-07 06:10:18 +00:00
A2osX.BE00.SIZE .EQ A2osX.BE00.END-A2osX.BE00
A2osX.D001.SIZE .EQ A2osX.D001.END-A2osX.D001
A2osX.D002.SIZE .EQ A2osX.D002.END-A2osX.D002
A2osX.E000.SIZE .EQ A2osX.E000.END-A2osX.E000
*--------------------------------------
.LIST OFF
2016-09-26 16:00:52 +00:00
.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
*--------------------------------------
2015-03-14 21:48:35 +00:00
MAN
SAVE SYS/KERNEL.S
ASM