changeset 306:c863af5b4ea1

init.asm: extended (see os9defs( os9.asm: added code to set D.CRC based on flag in init module
author boisy
date Mon, 22 Jul 2002 23:15:21 +0000
parents 1ecde21f77f7
children 1580bbd1e2fc
files level1/modules/init.asm level1/modules/kernel.asm
diffstat 2 files changed, 22 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/level1/modules/init.asm	Mon Jul 22 23:14:27 2002 +0000
+++ b/level1/modules/init.asm	Mon Jul 22 23:15:21 2002 +0000
@@ -25,11 +25,21 @@
 
 * Init table
 start    equ   *
-         fcb   12                      number of IRQ polling entires
-         fdb   DefProg                 offset to program to fork
-         fdb   DefDev                  offset to default disk device
-         fdb   DefCons                 offset to default console device
-         fdb   DefBoot                 offset to boot module name
+         fcb   12         number of IRQ polling entires
+         fdb   DefProg    offset to program to fork
+         fdb   DefDev     offset to default disk device
+         fdb   DefCons    offset to default console device
+         fdb   DefBoot    offset to boot module name
+         fcb   $01        write protect flag (?)
+         fcb   Level      OS level
+         fcb   OS9Vrsn    OS version
+         fcb   OS9Major   OS major revision
+         fcb   OS9Minor   OS minor revision
+         fcb   CRCOn      compatibility flag #1
+* CCIO section
+         fcb   $00        unused
+         fcb   $1E        key repeat start constant
+         fcb   $03        key repeat
 
 name     fcs   "Init"
 
--- a/level1/modules/kernel.asm	Mon Jul 22 23:14:27 2002 +0000
+++ b/level1/modules/kernel.asm	Mon Jul 22 23:15:21 2002 +0000
@@ -12,6 +12,8 @@
 *        default case.  By default, D.CRC is set
 *        to 0, thus there is no CRC checking.  Speeds
 *        up module loads quite a bit.
+*        The Init module has a bit in a compatibility
+*        byte that can turn on/off CRC checking
 
 
          nam   OS9
@@ -220,7 +222,11 @@
          os9   F$Link
          lbcs  OS9Cold
          stu   <D.Init
-         ldd   MaxMem+1,u
+         lda   Compat1,u		get compatibility byte
+         bita  #CRCOn			CRC on?
+         beq   GetMem			branch if not (already cleared earlier)
+         inc   <D.CRC			else turn on CRC checking
+GetMem   ldd   MaxMem+1,u
          clrb
          cmpd  <D.MLIM
          bcc   L0158