A2osX/SYS/KERNEL.S.txt

106 lines
2.5 KiB
Plaintext
Raw Normal View History

2015-03-14 21:48:35 +00:00
PR#3
PREFIX /A2OSX.BUILD
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
.TF 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
.INB 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
ZPPtr1 .EQ ZPKERNEL
ZPPtr2 .EQ ZPKERNEL+2
2017-01-12 17:43:45 +00:00
ZPPtr3 .EQ ZPKERNEL+4
ZPPtr4 .EQ ZPKERNEL+6
sei
ldx #$FF
txs
sta SETALTZP
stx A2osX.SaveSM
stx A2osX.SaveSX
sta CLRALTZP Make sure MAIN ZP 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
.INB /A2OSX.SRC/X.PRINTF.S
.INB /A2OSX.SRC/SYS/KERNEL.S.INIT2
.INB /A2OSX.SRC/SYS/KERNEL.S.INIT3
2016-06-07 06:10:18 +00:00
* Global Page
A2osX.GP .PH $BD00
.INB /A2OSX.SRC/SYS/KERNEL.S.GP
2016-06-07 06:10:18 +00:00
.EP
A2osX.GP.E .EQ *
* LC AUX $D000 BANK1 API Calls $00-$3E
A2osX.D1 .PH $D000
2016-09-26 16:00:52 +00:00
.DA #RRAMWRAMBNK1
.INB /A2OSX.SRC/SYS/KERNEL.S.FIO
.INB /A2OSX.SRC/SYS/KERNEL.S.DRV
.INB /A2OSX.SRC/SYS/KERNEL.S.LIB
.INB /A2OSX.SRC/SYS/KERNEL.S.TIME
.INB /A2OSX.SRC/SYS/KERNEL.S.FILE
.INB /A2OSX.SRC/SYS/KERNEL.S.DIR
.INB /A2OSX.SRC/SYS/KERNEL.S.PFT
.INB /A2OSX.SRC/SYS/KERNEL.S.BIN
2016-06-07 06:10:18 +00:00
.EP
A2osX.D1.E .EQ *
* LC AUX $D000 BANK2 API Calls $40-$8E
A2osX.D2 .PH $D000
.DA #RRAMWRAMBNK2
.INB /A2OSX.SRC/SYS/KERNEL.S.CIO
.INB /A2OSX.SRC/SYS/KERNEL.S.STR
.INB /A2OSX.SRC/SYS/KERNEL.S.DEV
.INB /A2OSX.SRC/SYS/KERNEL.S.PS
.INB /A2OSX.SRC/SYS/KERNEL.S.ARG
.INB /A2OSX.SRC/SYS/KERNEL.S.ENV
.INB /A2OSX.SRC/SYS/KERNEL.S.RUN
.INB /A2OSX.SRC/SYS/KERNEL.S.EVT
.INB /A2OSX.SRC/SYS/KERNEL.S.TSK
.EP
A2osX.D2.E .EQ *
* LC AUX $E000 API Calls $80-$FE
A2osX.E0 .PH $E000
.INB /A2OSX.SRC/SYS/KERNEL.S.JMP
.INB /A2OSX.SRC/SYS/KERNEL.S.DAT
.INB /A2OSX.SRC/SYS/KERNEL.S.IRQ
.INB /A2OSX.SRC/SYS/KERNEL.S.MEM
.INB /A2OSX.SRC/SYS/KERNEL.S.CNV
.INB /A2OSX.SRC/SYS/KERNEL.S.CHR
* Make sure KERNEL.S.D01 is the last one
.INB /A2OSX.SRC/SYS/KERNEL.S.D01
2016-06-07 06:10:18 +00:00
.EP
A2osX.E0.E .EQ *
2016-09-26 16:00:52 +00:00
* CONTROL SECTION :
.LIST ON
A2osX.GP.S .EQ A2osX.GP.E-A2osX.GP
A2osX.D1.S .EQ A2osX.D1.E-A2osX.D1
A2osX.D2.S .EQ A2osX.D2.E-A2osX.D2
A2osX.E0.S .EQ A2osX.E0.E-A2osX.E0
.DO A2osX.GP.S>$1E0
* ERROR:GP too big
2016-09-26 16:00:52 +00:00
.FIN
.DO A2osX.D1.S>$1000
* ERROR:BNK1 too big
2016-09-26 16:00:52 +00:00
.FIN
.DO A2osX.D2.S>$1000
* ERROR:BNK2 too big
.FIN
.LIST OFF
2015-03-14 21:48:35 +00:00
MAN
SAVE /A2OSX.SRC/SYS/KERNEL.S
2015-03-14 21:48:35 +00:00
ASM