# HG changeset patch # User Boisy Pitre # Date 1494969840 -7200 # Node ID 1c75a05d3304ecff36d632d68aa2774753181882 # Parent b1efa6891f4e06254c947396a8d61928958418f0 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. diff -r b1efa6891f4e -r 1c75a05d3304 defs/atari.d --- 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 diff -r b1efa6891f4e -r 1c75a05d3304 defs/coco.d --- 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 diff -r b1efa6891f4e -r 1c75a05d3304 defs/dragon.d --- 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 diff -r b1efa6891f4e -r 1c75a05d3304 defs/os9.d --- 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 diff -r b1efa6891f4e -r 1c75a05d3304 level1/modules/kernel/krn.asm --- 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