changeset 3091:4bd97bf42856

Added comments in level1 boot section, based on learnings while debugging multicomp09 port.
author Neal Crook <foofoobedoo@gmail.com>
date Tue, 13 Oct 2015 22:53:45 +0100
parents 3ccef1f7f44b
children 20dd91f1ef1a
files level1/modules/rel.asm
diffstat 1 files changed, 34 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/level1/modules/rel.asm	Tue Oct 13 22:38:26 2015 +0100
+++ b/level1/modules/rel.asm	Tue Oct 13 22:53:45 2015 +0100
@@ -49,13 +49,17 @@
 
          IFGT  Level-1
 
-L001F    fcb   $6C MMU, IRQ, Vector page, SCS
-         fcb   $00 map type 0
-         fcb   $00 no FIRQ
-         fcb   $00 no IRQ
-         fdb   $0900 timer
-         fcb   $00 unused
-         fcb   $00 unused
+*************************************************************************
+* Level2/level3
+*************************************************************************
+
+L001F    fcb   $6C      MMU, IRQ, Vector page, SCS
+         fcb   $00      map type 0
+         fcb   $00      no FIRQ
+         fcb   $00      no IRQ
+         fdb   $0900    timer
+         fcb   $00      unused
+         fcb   $00      unused
          IFEQ  TkPerSec-50
          fcb   $0B	50Hz refresh, alphanumeric display, 8 lines/char row
          ELSE
@@ -93,6 +97,10 @@
          clrb
          fcb   $8C        skip 2 bytes
 
+*************************************************************************
+* Entry point for level2/3
+*************************************************************************
+
 reset    equ   *          later on, have reset different from start?
 start    ldb   #$FF       negative - do complete boot
          clr   >$FFDF     added for OS-9 ROM Kit boots +BGP+
@@ -277,12 +285,17 @@
 
 Pad      fill  $39,$127-*
 
-         ELSE
+         ELSE                          match IFGT Level-1
 
-Start    clr   PIA0Base+3
+*************************************************************************
+* Entry point for level1
+*************************************************************************
+
+Start
+         clr   PIA0Base+3
 
          IFNE  (tano+d64+dalpha)
-         clr   PIA0Base+1		added for Dragon, works on CoCo
+         clr   PIA0Base+1              added for Dragon, works on CoCo
          ENDC
          IFNE  H6309
          ldmd  #3                      native mode
@@ -315,7 +328,7 @@
          leay  -1,y
          bne   L263B
 
-* Copy "OS9 BOOT" to screen area
+* Copy "NITROS9 BOOT" to screen area
          ldx   #ScStart+$10A
          leay  <BootMsg,pcr
          ldb   #BootMLen
@@ -332,6 +345,10 @@
          ENDC
 
          beq   L266E
+
+* Copy boot track from $2600 to $EE00 - not quite all of it though. The whole boot
+* track is $1200 bytes and would take us right up to $FFFF. We actually copy up to
+* $FE80.
          leau  >Begin-XX.Size,pcr
          ldx   #Bt.Size
          ldy   #Bt.Start
@@ -339,7 +356,12 @@
          sta   ,y+
          leax  -1,x
          bne   L2663
+
+* go to L266E but in high memory
          jmp   >Offset+L266E
+
+* now executing in high memory. Compute the absolute address of the entry
+* point of the next module (which must be krn) and go there.
 L266E    leax  <eom,pcr
          ldd   M$Exec,x
          jmp   d,x
@@ -352,7 +374,7 @@
          fcc   /BOOT/
 BootMLen equ   *-BootMsg
 
-         ENDC
+         ENDC                   match IFGT Level-1
 
          emod
 eom      equ   *