changeset 3164:f3e0210ecd83

L2 kernel: Small corrections and expansion of comments (no functional change)
author Neal Crook <foofoobedoo@gmail.com>
date Thu, 06 Apr 2017 22:18:39 +0100
parents 29885731c4bb
children 2d22d31bc74b
files level2/modules/kernel/fsrqmem.asm level2/modules/kernel/fvmodul.asm
diffstat 2 files changed, 17 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/level2/modules/kernel/fsrqmem.asm	Thu Apr 06 22:08:57 2017 +0100
+++ b/level2/modules/kernel/fsrqmem.asm	Thu Apr 06 22:18:39 2017 +0100
@@ -258,7 +258,7 @@
 * Link to module and execute
 L090C    lda   #Systm+Objct
          os9   F$Link
-         bcs   L08F3
+         bcs   L08F3        return with error
          lda   #'b          calling boot
          jsr   <D.BtBug
          jsr   ,y           load boot file
@@ -325,7 +325,7 @@
          bpl   name.prt
          lda   #C$SPAC      a space
          jsr   <D.BtBug
-         puls  x
+         puls  x            address of module header
 
          IFNE  H6309
          ldd   ,s           offset into block
@@ -333,7 +333,7 @@
          ELSE
          tfr   x,d
          subd  ,s
-         tfr   d,x
+         tfr   d,x          offset into block of module header
          ENDC
          tfr   y,d
          os9   F$VModul
@@ -346,12 +346,12 @@
          leax  d,x
          puls  b
          ENDC
-         bcc   L094E
-         cmpb  #E$KwnMod
-         bne   L0954
-L094E    ldd   M$Size,x
-         leax  d,x
-         fcb   $8C          skip 2 bytes
+         bcc   L094E        success
+         cmpb  #E$KwnMod    Known module?
+         bne   L0954        No. Assume a case of mistaken identity and continue
+L094E    ldd   M$Size,x     get the module size
+         leax  d,x          and step over it
+         fcb   $8C          skip 2 bytes (continue at L0956)
 
 L0954    leax  1,x          move to next byte
 L0956    cmpx  2,s          gone thru whole bootfile?
--- a/level2/modules/kernel/fvmodul.asm	Thu Apr 06 22:08:57 2017 +0100
+++ b/level2/modules/kernel/fvmodul.asm	Thu Apr 06 22:18:39 2017 +0100
@@ -1,9 +1,13 @@
 **************************************************
 * System Call: F$VModul
 *
-* Function: Verify a module
+* Function: Validate a module.
+*
+* Checks the module header parity and (if enabled)
+* the CRC bytes of the module.
 *
 * Input:  X = Address of module to verify
+*         D = DAT image pointer
 *
 * Output: U = Address of module directory entry
 *
@@ -24,14 +28,14 @@
          lbsr   L0586        Go check module ID & header parity
          bcs    L0495        Error, exit
          ldd    #M$Type      Get offset to module type
-         lbsr   L0B02        get it
+         lbsr   L0B02        go get 2 bytes (module type)
          andb   #LangMask    Just keep language mask
          pshs   d            Preserve ??? & language
          ldd    #M$Name      get offset to module name
-         lbsr   L0B02
+         lbsr   L0B02        go get 2 bytes (offset)
          leax   d,x          Point X to module name
          puls   a            Restore type/language
-         lbsr   L068D
+         lbsr   L068D        Find module in module directory
          puls   a
          bcs    L0497
          andb   #$0F