Mercurial > hg > Members > kono > nitros9-code
changeset 3180:1c75a05d3304
defs: Move boot track parameters into each port def file
Makes it easier to tune these for new ports.
Saves some special casing of Atari in krn.asm.
author | Boisy Pitre <coco@toughmac.com> |
---|---|
date | Tue, 16 May 2017 23:24:00 +0200 |
parents | b1efa6891f4e |
children | d9760f344c96 |
files | defs/atari.d defs/coco.d defs/dragon.d defs/os9.d level1/modules/kernel/krn.asm |
diffstat | 5 files changed, 58 insertions(+), 60 deletions(-) [+] |
line wrap: on
line diff
--- a/defs/atari.d Tue May 16 23:25:26 2017 +0200 +++ b/defs/atari.d Tue May 16 23:24:00 2017 +0200 @@ -89,6 +89,15 @@ * ************************************************* +******************************** +* Boot defs for NitrOS-9 Level 1 +* +* These defs are not strictly for 'Boot', but are for booting the +* system. +* +Bt.Start set $8000 +Bt.Size EQU $1080 Maximum size of bootfile +Bt.Track EQU $0000 HW.Page set $FF Device descriptor hardware page
--- a/defs/coco.d Tue May 16 23:25:26 2017 +0200 +++ b/defs/coco.d Tue May 16 23:24:00 2017 +0200 @@ -144,6 +144,40 @@ IFEQ Level-1 +******************************** +* Boot defs for NitrOS-9 Level 1 +* +* These defs are not strictly for 'Boot', but are for booting the +* system. +* +Bt.Start EQU $EE00 Start address of the boot track in memory + + ELSE + +****************************************** +* Boot defs for NitrOS-9 Level 2 and above +* +* These defs are not strictly for 'Boot', but are for booting the +* system. +* +Bt.Start SET $ED00 Start address of the boot track in memory +Bt.Block EQU $3B Block to map in for the 'OS9BOOT' screen +Bt.Flag EQU $8A34 Flag in Bt.Block to verify that it's unchanged +Bt.Offst EQU 2 Offset into the screen where the current ptr is + + ENDC + +* On the CoCo, the boot track is all of track 34 + +Bt.Track EQU 34 Boot track +Bt.Sec EQU 0 Start LSN of boot area on boot track + + +Bt.Size EQU $1080 Maximum size of bootfile + + + IFEQ Level-1 + ************************************************* * * NitrOS-9 Level 1 Section
--- a/defs/dragon.d Tue May 16 23:25:26 2017 +0200 +++ b/defs/dragon.d Tue May 16 23:24:00 2017 +0200 @@ -236,4 +236,17 @@ DensMask EQU %00000001 T80Mask EQU %00000010 - ENDC +******************************** +* Boot defs for NitrOS-9 Level 1 +* +* These defs are not strictly for 'Boot', but are for booting the +* system. +* +* Boot area size on Dragon is only 16 sectors=4K +Bt.Size EQU $1000 Max size of boot file +* Boot area on the Dragon starts on track 0 sector 2, immediately +* after the blockmap. +Bt.Track EQU 0 Boot track +Bt.Sec EQU 2 Start LSN of boot area on boot track + + ENDC
--- a/defs/os9.d Tue May 16 23:25:26 2017 +0200 +++ b/defs/os9.d Tue May 16 23:24:00 2017 +0200 @@ -1244,51 +1244,6 @@ E$DeadLk RMB 1 I/O Deadlock error - IFEQ Level-1 - -******************************** -* Boot defs for NitrOS-9 Level 1 -* -* These defs are not strictly for 'Boot', but are for booting the -* system. -* -Bt.Start EQU $EE00 Start address of the boot track in memory - -* Boot area size on Dragon is only 16 sectors=4K - IFNE DRAGON -Bt.Size EQU $1000 Max size of boot file - ELSE -Bt.Size EQU $1080 Maximum size of bootfile - ENDC - - ELSE - -****************************************** -* Boot defs for NitrOS-9 Level 2 and above -* -* These defs are not strictly for 'Boot', but are for booting the -* system. -* -Bt.Block EQU $3B Block to map in for the 'OS9BOOT' screen -Bt.Flag EQU $8A34 Flag in Bt.Block to verify that it's unchanged -Bt.Offst EQU 2 Offset into the screen where the current ptr is -Bt.Start EQU $ED00 Start address of the boot track in memory - - ENDC - -* Boot area on the Dragon starts on track 0 sector 2, imediatly -* after the blockmap. -* On the CoCo, the boot track is all of track 34 - - IFNE DRAGON -Bt.Track EQU 0 Boot track -Bt.Sec EQU 2 Start LSN of boot area on boot track - ELSE -Bt.Track EQU 34 Boot track -Bt.Sec EQU 0 Start LSN of boot area on boot track - ENDC - - IFGT Level-2 *************************** * Level 3 Defs
--- a/level1/modules/kernel/krn.asm Tue May 16 23:25:26 2017 +0200 +++ b/level1/modules/kernel/krn.asm Tue May 16 23:24:00 2017 +0200 @@ -70,9 +70,6 @@ ifp1 use defsfile - IFNE atari - use atari.d - ENDC endc tylg set Systm+Objct @@ -149,23 +146,13 @@ bne L00C2 nope, not RAM here! std ,y else restore org contents leax >$0100,y check top of next 256 block - IFNE atari - cmpx #$8000 stop short of ROM starting at $8000 - ELSE cmpx #Bt.Start stop short of boot track mem - ENDC bcs ChkRAM leay ,x * Here, Y = end of RAM L00C2 leax ,y X = end of RAM - ELSE - - IFNE atari - ldx #$8000 - ELSE - ldx #Bt.Start - ENDC + ldx #Bt.Start ENDC stx <D.MLIM save off memory limit