A2osX/SYS/KERNEL.S.txt

128 lines
2.7 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
LOMEM $A00
2015-03-14 21:48:35 +00:00
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 /A2OSX.DEV/INC/MACROS.I
.INB /A2OSX.DEV/INC/A2OSX.I
.INB /A2OSX.DEV/INC/IO.I
.INB /A2OSX.DEV/INC/PRODOS.I
2017-02-13 07:26:18 +00:00
.INB /A2OSX.DEV/INC/MLI.ERR.I
2015-03-14 21:48:35 +00:00
*--------------------------------------
2016-06-07 06:10:18 +00:00
TmpPtr1 .EQ $0 for X.PRINTF.S
2017-01-12 17:43:45 +00:00
ZPPtr1 .EQ ZPKERNEL Temp Ptrs for use in very limited scope
ZPPtr2 .EQ ZPKERNEL+2 (could be trashed by any JSR)
ZPPtr3 .EQ ZPKERNEL+4
ZPPtr4 .EQ ZPKERNEL+6
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
jmp Kernel.Init3
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
2016-06-07 06:10:18 +00:00
* Global Page
A2osX.GP .EQ *
.PH $BD00
2016-06-07 06:10:18 +00:00
.INB SYS/KERNEL.S.GP
.EP
A2osX.GP.SIZE .EQ *-A2osX.GP
* LC AUX $D000 BANK1 API Calls $00-$3E
2016-06-07 06:10:18 +00:00
A2osX.D001 .EQ *
.PH $D000
2016-09-26 16:00:52 +00:00
.DA #RRAMWRAMBNK1
.INB SYS/KERNEL.S.FIO
2016-09-26 16:00:52 +00:00
.INB SYS/KERNEL.S.DRV
.INB SYS/KERNEL.S.LIB
.INB SYS/KERNEL.S.TIME
2016-09-26 16:00:52 +00:00
.INB SYS/KERNEL.S.FILE
.INB SYS/KERNEL.S.DIR
2016-09-26 16:00:52 +00:00
.INB SYS/KERNEL.S.PFT
.INB SYS/KERNEL.S.BIN
2016-06-07 06:10:18 +00:00
.EP
A2osX.D001.SIZE .EQ *-A2osX.D001
* LC AUX $D000 BANK2 API Calls $40-$8E
A2osX.D002 .EQ *
.PH $D000
.DA #RRAMWRAMBNK2
.INB SYS/KERNEL.S.CIO
.INB SYS/KERNEL.S.STR
.INB SYS/KERNEL.S.DEV
.INB SYS/KERNEL.S.PS
.INB SYS/KERNEL.S.ARG
.INB SYS/KERNEL.S.ENV
.INB SYS/KERNEL.S.RUN
.INB SYS/KERNEL.S.EVT
.INB SYS/KERNEL.S.TSK
.EP
A2osX.D002.SIZE .EQ *-A2osX.D002
* LC AUX $E000 API Calls $80-$FE
2017-01-12 17:43:45 +00:00
A2osX.E000 .EQ *
2016-06-07 06:10:18 +00:00
.PH $E000
2016-09-05 06:10:04 +00:00
.INB SYS/KERNEL.S.JMP
.INB SYS/KERNEL.S.DAT
2016-06-07 06:10:18 +00:00
.INB SYS/KERNEL.S.IRQ
.INB SYS/KERNEL.S.MEM
2017-03-09 07:11:44 +00:00
.INB SYS/KERNEL.S.CNV
2017-01-12 17:43:45 +00:00
.INB SYS/KERNEL.S.CHR
* Make sure KERNEL.S.D01 is the last one
.INB SYS/KERNEL.S.D01
2016-06-07 06:10:18 +00:00
.EP
A2osX.E000.SIZE .EQ *-A2osX.E000
2016-09-26 16:00:52 +00:00
* CONTROL SECTION :
2016-06-07 06:10:18 +00:00
.LIST ON
Check.GP .EQ A2osX.GP.SIZE
Check.D001 .EQ A2osX.D001.SIZE
Check.D002 .EQ A2osX.D002.SIZE
Check.E000 .EQ A2osX.E000.SIZE
2016-06-07 06:10:18 +00:00
.LIST OFF
.DO A2osX.GP.SIZE>$1E0
2016-09-26 16:00:52 +00:00
.LIST ON
2017-01-12 17:43:45 +00:00
* !!!!!!!!! ERROR:GP too big !!!!!!!!!!
2016-09-26 16:00:52 +00:00
.LIST OFF
.FIN
.DO A2osX.D001.SIZE>$1000
.LIST ON
2017-01-12 17:43:45 +00:00
* !!!!!!!!! ERROR:BNK1 too big !!!!!!!!
2016-09-26 16:00:52 +00:00
.LIST OFF
.FIN
.DO A2osX.D002.SIZE>$1000
.LIST ON
2017-01-12 17:43:45 +00:00
* !!!!!!!!! ERROR:BNK2 too big !!!!!!!!
2016-09-26 16:00:52 +00:00
.LIST OFF
.FIN
2015-03-14 21:48:35 +00:00
MAN
SAVE SYS/KERNEL.S
ASM