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