changeset 1345:1da8ab9ba433

Added consistent comments to each system call
author boisy
date Wed, 17 Sep 2003 17:26:37 +0000
parents dfd2e7080b4d
children 31463a4ca9bf
files level2/modules/kernel/fallimg.asm level2/modules/kernel/fallprc.asm level2/modules/kernel/fallram.asm level2/modules/kernel/falltsk.asm level2/modules/kernel/fclrblk.asm level2/modules/kernel/fcpymem.asm level2/modules/kernel/fcrcmod.asm level2/modules/kernel/fdatlog.asm level2/modules/kernel/fdelimg.asm level2/modules/kernel/fdelram.asm level2/modules/kernel/ffind64.asm level2/modules/kernel/ffmodul.asm level2/modules/kernel/ffreehb.asm level2/modules/kernel/fgblkmp.asm level2/modules/kernel/fgcmdir.asm level2/modules/kernel/fgmoddr.asm level2/modules/kernel/fgprdsc.asm level2/modules/kernel/fgprocp.asm level2/modules/kernel/fld.asm level2/modules/kernel/fldabx.asm level2/modules/kernel/flink.asm level2/modules/kernel/fmapblk.asm level2/modules/kernel/fmove.asm level2/modules/kernel/fprsnam.asm level2/modules/kernel/fsrqmem.asm level2/modules/kernel/fsuser.asm level2/modules/kernel/funload.asm level2/modules/kernel/krnp2.asm
diffstat 28 files changed, 496 insertions(+), 85 deletions(-) [+]
line wrap: on
line diff
--- a/level2/modules/kernel/fallimg.asm	Wed Sep 17 13:53:39 2003 +0000
+++ b/level2/modules/kernel/fallimg.asm	Wed Sep 17 17:26:37 2003 +0000
@@ -1,5 +1,16 @@
-* F$AllImg entry point
-* Entry: U=Register stack pointer
+**************************************************
+* System Call: F$AllImg
+*
+* Function: Allocate image RAM blocks
+*
+* Input:  A = Starting block number
+*         B = Number of blocks
+*         X = Process descriptor pointer
+*
+* Output: None
+*
+* Error:  CC = C bit set; B = error code
+*
 FAllImg  ldd   R$D,u        get starting block # & # of blocks
          ldx   R$X,u        get process descriptor pointer
 * Entry point from F$SRqMem
--- a/level2/modules/kernel/fallprc.asm	Wed Sep 17 13:53:39 2003 +0000
+++ b/level2/modules/kernel/fallprc.asm	Wed Sep 17 17:26:37 2003 +0000
@@ -1,5 +1,14 @@
-* F$AllPrc entry point
-* Entry: U=Register stack pointer
+**************************************************
+* System Call: F$AllPrc
+*
+* Function: Allocate process descriptor
+*
+* Input:  None
+*
+* Output: U = Process descriptor pointer
+*
+* Error:  CC = C bit set; B = error code
+*
 FAllPrc  pshs  u            preserve register stack pointer
          bsr   AllPrc       try & allocate descriptor
          bcs   L02E8        can't do, return
@@ -68,15 +77,41 @@
          clrb               clear carry
 L032F    rts                return
 
-* F$DelPrc entry point
+
+**************************************************
+* System Call: F$DelPrc
+*
+* Function: Deallocate Process Descriptor
+*
+* Input:  A = Process ID
+*
+* Output: None
+*
+* Error:  CC = C bit set; B = error code
+*
 FDelPrc  lda    R$A,u		get process #
          bra    L0386		delete it
 
-* F$Wait entry point
-* Checks all children to see if any died (done through linked child process
-*   list through P$CID for 1st one & P$SID for rest)
-* Will stick process into Wait Queue until either Waiting process receives
-*  signal or until child dies. Child dying does NOT send signal to parent
+
+**************************************************
+* System Call: F$Wait
+*
+* Function: Wait for child process to die
+*
+* Notes:
+* Checks all children to see if any died (done through linked
+* child process list through P$CID for 1st one & P$SID for rest)
+* Will stick process into Wait Queue until either Waiting process
+* receives signal or until child dies. Child dying does NOT send
+* signal to parent.
+*
+* Input:  None
+*
+* Output: A = Deceased child process' process ID
+*         B = Child process' exit status code
+*
+* Error:  CC = C bit set; B = error code
+*
 FWait    ldx    <D.Proc     get current process
          lda    P$CID,x     any children?
          beq    L0368       no, exit with error
--- a/level2/modules/kernel/fallram.asm	Wed Sep 17 13:53:39 2003 +0000
+++ b/level2/modules/kernel/fallram.asm	Wed Sep 17 17:26:37 2003 +0000
@@ -1,6 +1,14 @@
-* F$AllRam entry point
-* Entry: B=# blocks to allocate
-* Exit:  D=block # of start of contigously allocated blocks
+**************************************************
+* System Call: F$AllRAM
+*
+* Function: Allocate RAM blocks
+*
+* Input:  B = Desired block count
+*
+* Output: D = Beginning RAM block number
+*
+* Error:  CC = C bit set; B = error code
+*
 FAllRam  ldb   R$B,u        Get # blocks requested
          pshs  b,x,y        Save regs
          ldx   <D.BlkMap    Get ptr to start of block map
@@ -31,9 +39,18 @@
          stb   ,s
          puls  b,x,y,pc
 
-* F$AlHRam entry point
-* Entry: B=# blocks to allocate
-* Exit:  D=block # of start of contigously allocated blocks
+
+**************************************************
+* System Call: F$AlHRAM
+*
+* Function: Allocate RAM blocks from top of RAM
+*
+* Input:  B = Desired block count
+*
+* Output: D = Beginning RAM block number
+*
+* Error:  CC = C bit set; B = error code
+*
 FAlHRam  ldb   R$B,u        Get # blocks to allocate
          pshs  b,x,y        Preserve regs
          ldx   <D.BlkMap+2  Get ptr to end of block map
--- a/level2/modules/kernel/falltsk.asm	Wed Sep 17 13:53:39 2003 +0000
+++ b/level2/modules/kernel/falltsk.asm	Wed Sep 17 17:26:37 2003 +0000
@@ -1,4 +1,14 @@
-* F$AllTsk entry point
+**************************************************
+* System Call: F$AllTsk
+*
+* Function: Allocate process task number
+*
+* Input:  X = Process descriptor pointer
+*
+* Output: None
+*
+* Error:  CC = C bit set; B = error code
+*
 FAllTsk  ldx   R$X,u        get pointer to process descriptor
 L0C58    ldb   P$Task,x     already have a task #?
          bne   L0C64        yes, return
@@ -9,7 +19,18 @@
 L0C64    clrb               clear errors
 L0C65    rts                return
 
-* F$DelTsk entry point
+
+**************************************************
+* System Call: F$DelTsk
+*
+* Function: Deallocate process task number
+*
+* Input:  X = Process descriptor pointer
+*
+* Output: None
+*
+* Error:  CC = C bit set; B = error code
+*
 FDelTsk  ldx   R$X,u
 L0C68    ldb   P$Task,x   grab the current task number
          beq   L0C64      if system (or released), exit
@@ -28,7 +49,18 @@
          beq   L0C65      if not, exit now: don't clear carry, it's not needed
          fcb   $8C        skip LDX, below
 
-* F$SetTsk entry point
+
+**************************************************
+* System Call: F$SetTsk
+*
+* Function: Set process task DAT registers
+*
+* Input:  X = Process descriptor pointer
+*
+* Output: None
+*
+* Error:  CC = C bit set; B = error code
+*
 FSetTsk  ldx   R$X,u        get process descriptor pointer
 L0C79    equ   *
          IFNE  H6309
@@ -54,11 +86,23 @@
          lbsr  L0E93      go bash the hardware
 L0C9F    puls  cc,d,x,u,pc
 
-* F$ResTsk entry point
+
+**************************************************
+* System Call: F$ResTsk
+*
+* Function: Reserve task number
+*
+* Input:  None
+*
+* Output: B = Task number
+*
+* Error:  CC = C bit set; B = error code
+*
 FResTsk  bsr   L0CA6
          stb   R$B,u
 L0CA5    rts   
 
+
 * Find a free task in task map
 * Entry: None
 * Exit : B=Task #
@@ -79,8 +123,18 @@
          clra               clear carry
 L0CBF    puls  x,pc         restore & return
 
-* F$RelTsk entry point
-* no idea why B and X are saved.
+
+**************************************************
+* System Call: F$RelTsk
+*
+* Function: Release task number
+*
+* Input:  B = Task number
+*
+* Output: None
+*
+* Error:  CC = C bit set; B = error code
+*
 FRelTsk  ldb   R$B,u        Get task # to release
 L0CC3    pshs  b,x          Preserve it & X
 * ??? No idea why this stuff is done.  D.SysTsk is ALWAYS 0.
--- a/level2/modules/kernel/fclrblk.asm	Wed Sep 17 13:53:39 2003 +0000
+++ b/level2/modules/kernel/fclrblk.asm	Wed Sep 17 17:26:37 2003 +0000
@@ -1,4 +1,15 @@
-* F$ClrBlk entry point
+**************************************************
+* System Call: F$ClrBlk
+*
+* Function: Clear RAM blocks
+*
+* Input:  B = Number of blocks
+*         U = Address of first block
+*
+* Output: None
+*
+* Error:  CC = C bit set; B = error code
+*
 FClrBlk  ldb   R$B,u
          beq   L0BE9
          ldd   R$U,u
--- a/level2/modules/kernel/fcpymem.asm	Wed Sep 17 13:53:39 2003 +0000
+++ b/level2/modules/kernel/fcpymem.asm	Wed Sep 17 17:26:37 2003 +0000
@@ -1,10 +1,26 @@
+**************************************************
+* System Call: F$CpyMem
+*
+* Function: Copy external memory
+*
+* Input:  D = Starting memory block number
+*         X = Offset in block to begin copy
+*         Y = Byte count
+*         U = Caller's destination buffer
+*
+* Output: None
+*
+* Error:  CC = C bit set; B = error code
+*
          IFNE  H6309
-
-* F$CpyMem entry point
-* NOTE: It currently checks to see if the end of the buffer you are copying to
-*   will overflow past $FFFF, and exits if it does. Should this be changed to 
-*   check if it overflows past the data area of a process, or at least into
-*   Vector page RAM & I/O ($FE00-$FFFF)?
+* F$CpyMem for NitrOS-9 Level Two
+* Notes:
+* We currently check to see if the end of the buffer we are
+* copying to will overflow past $FFFF, and exit if it does.
+* Should this be changed to check if it overflows past the
+* data area of a process, or at least into Vector page RAM
+* and I/O ($FE00-$FFFF)???
+*
 FCpyMem  ldd   R$Y,u        get byte count
          beq   L0A01        nothing there so nothing to move, return
          addd  R$U,u        add it caller's buffer start ptr.
@@ -60,9 +76,7 @@
 
          ELSE
 
-*------------------------------------------------*
-*                     F$CpyMem
-*------------------------------------------------*
+* F$CpyMem for OS-9 Level Two
 FCpyMem  ldd   R$Y,u      byte count
          beq   L0A01      ..skip if none
          addd  R$U,u      plus dest buff
--- a/level2/modules/kernel/fcrcmod.asm	Wed Sep 17 13:53:39 2003 +0000
+++ b/level2/modules/kernel/fcrcmod.asm	Wed Sep 17 17:26:37 2003 +0000
@@ -1,11 +1,14 @@
-* F$CRCMod entry point - CHANGED 05/20/93
-* Entry : A = 0 Report current mode
-*           = 1 Shut CRC Checking off
-*           =>2 Turn CRC Checking on
-* Exit  : A = 0 CRC is off
-*             1 CRC is on
-*         no error can be returned
-*         except if call not available
+**************************************************
+* System Call: F$CRCMod
+*
+* Function: Changes CRC module reporting
+*
+* Input:  A = Flag (0 = report, 1 = CRC off, 2 = CRC on)
+*
+* Output: A = State (0 = CRC off, 1 = CRC on)
+*
+* Error:  CC = C bit set; B = error code
+*
 FCRCMod  lda    R$A,u       do they want a report or a toggle?
          beq    CRCRep      a report only
          deca               Check for OFF
--- a/level2/modules/kernel/fdatlog.asm	Wed Sep 17 13:53:39 2003 +0000
+++ b/level2/modules/kernel/fdatlog.asm	Wed Sep 17 17:26:37 2003 +0000
@@ -1,4 +1,15 @@
-* F$DATLog entry point
+**************************************************
+* System Call: F$DATLog
+*
+* Function: Convert DAT block/offset to logical address
+*
+* Input:  B = DAT image offset
+*         X = Block offset
+*
+* Output: X = Logical address
+*
+* Error:  CC = C bit set; B = error code
+*
 FDATLog  ldb   R$B,u          Get logical Block #
          ldx   R$X,u          Get offset into block
          bsr   CmpLBlk        Go modify X to be Logical address
--- a/level2/modules/kernel/fdelimg.asm	Wed Sep 17 13:53:39 2003 +0000
+++ b/level2/modules/kernel/fdelimg.asm	Wed Sep 17 17:26:37 2003 +0000
@@ -1,4 +1,16 @@
-* F$DelImg entry point
+**************************************************
+* System Call: F$DelImg
+*
+* Function: Deallocate image RAM blocks
+*
+* Input:  A = Beginning block number
+*         B = Block count
+*         X = Process descriptor pointer
+*
+* Output: None
+*
+* Error:  CC = C bit set; B = error code
+*
 FDelImg  ldx   R$X,u        get process pointer
          ldd   R$D,u        get start block & block count
          leau  <P$DATImg,x  point to DAT image
--- a/level2/modules/kernel/fdelram.asm	Wed Sep 17 13:53:39 2003 +0000
+++ b/level2/modules/kernel/fdelram.asm	Wed Sep 17 17:26:37 2003 +0000
@@ -1,6 +1,15 @@
-* F$DelRAM entry point --- moved over from OS9p2
-* Entry: B = # of blocks to de-allocate
-*        X = starting block #
+**************************************************
+* System Call: F$DelRam
+*
+* Function: Deallocate RAM blocks
+*
+* Input:  B = Number of blocks
+*         X = Beginning block number
+*
+* Output: None
+*
+* Error:  CC = C bit set; B = error code
+*
 FDelRAM  ldb   R$B,u      # of blocks to de-allocate
          beq   DelRAM.2   if none, exit
          ldd   <D.BlkMap+2 get end of the block map
--- a/level2/modules/kernel/ffind64.asm	Wed Sep 17 13:53:39 2003 +0000
+++ b/level2/modules/kernel/ffind64.asm	Wed Sep 17 17:26:37 2003 +0000
@@ -10,7 +10,6 @@
 *
 * Error:  CC = C bit set; B = error code
 *
-*
 FFind64  ldx   R$X,u        Get block tbl ptr
          lda   R$A,u        get path block #
 * Find a empty path block
--- a/level2/modules/kernel/ffmodul.asm	Wed Sep 17 13:53:39 2003 +0000
+++ b/level2/modules/kernel/ffmodul.asm	Wed Sep 17 17:26:37 2003 +0000
@@ -1,4 +1,19 @@
-* F$FModul entry point
+**************************************************
+* System Call: F$FModul
+*
+* Function: Find module directory entry
+*
+* Input:  A = Module type
+*         X = Module name string pointer
+*         Y = Name string DAT image pointer
+*
+* Output: A = Module type
+*         B = Module revision
+*         X = Updated past name string
+*         U = Module directory entry pointer
+*
+* Error:  CC = C bit set; B = error code
+*
 FFModul  pshs  u            preserve register stack pointer
          lda   R$A,u        get module type
          ldx   R$X,u        get pointer to name
--- a/level2/modules/kernel/ffreehb.asm	Wed Sep 17 13:53:39 2003 +0000
+++ b/level2/modules/kernel/ffreehb.asm	Wed Sep 17 17:26:37 2003 +0000
@@ -1,4 +1,17 @@
-* F$FreeHB entry point (Called from F$MapBlk - called from SS.MpGPB)
+**************************************************
+* System Call: F$FreeHB
+*
+* Function: Get free high block
+*
+* Called from F$MapBlk and from SS.MpGPB)
+*
+* Input:  B = Block count
+*         Y = DAT image pointer
+*
+* Output: A = High block number
+*
+* Error:  CC = C bit set; B = error code
+*
 FFreeHB  ldb   R$B,u          Get # blocks requested
          ldy   R$Y,u          Get DAT Img ptr
          bsr   L0A31          Go find free blocks in high part of DAT
@@ -41,8 +54,9 @@
 L0A82    leas  2,s            Eat temporary stack
          puls  d,x,pc         Restore reg, error code & return
 
-* F$FreeLB entry point (WHERE DOES THIS EVER GET CALLED FROM???)
-* Rodney says: "it's called via os9p1 syscall vector in line 393"
+
+* WHERE DOES THIS EVER GET CALLED FROM???
+* Rodney says: "It's called via os9p1 syscall vector in line 393"
 FSFreeLB ldb   R$B,u          Get block count
          ldy   R$Y,u          Get ptr to DAT Image
          bsr   L0A4B          Go find block #'s
@@ -57,7 +71,19 @@
          negb                 Negate so it is a positive # again
          bra   L0A56          Go into main find loop
 
-* F$FreeLB entry point
+
+**************************************************
+* System Call: F$FreeLB
+*
+* Function: Get free low block
+*
+* Input:  B = Block count
+*         Y = DAT image pointer
+*
+* Output: A = Low block number
+*
+* Error:  CC = C bit set; B = error code
+*
 FFreeLB  ldd   R$D,u
          ldx   R$X,u
          ldu   R$U,u
--- a/level2/modules/kernel/fgblkmp.asm	Wed Sep 17 13:53:39 2003 +0000
+++ b/level2/modules/kernel/fgblkmp.asm	Wed Sep 17 17:26:37 2003 +0000
@@ -1,4 +1,16 @@
-* F$GBlkMp entry point
+**************************************************
+* System Call: F$GBlkMp
+*
+* Function: 
+*
+* Input:  X = 1024 byte buffer pointer
+*
+* Output: D = Number of bytes per block
+*         Y = Size of system's memory block map
+*
+*
+* Error:  CC = C bit set; B = error code
+*
 FGBlkMp  ldd   #DAT.BlSz   # bytes per MMU block (8k)
          std   R$D,u       Put into caller's D register
          ldd   <D.BlkMap+2 Get end of system block map ptr
--- a/level2/modules/kernel/fgcmdir.asm	Wed Sep 17 13:53:39 2003 +0000
+++ b/level2/modules/kernel/fgcmdir.asm	Wed Sep 17 17:26:37 2003 +0000
@@ -1,7 +1,19 @@
-* F$GCMDir entry point
+**************************************************
+* System Call: F$GCMDir
+*
+* Notes:
+* This system call is only used by OS9p1 to get rid of all
+* the empty spaces in the module directory to keep it small
+* and compact.
 *
-* This system call is only used by OS9p1 to get rid of all the empty spaces
-* in the module directory to keep it small & compact.
+* Input:  X = Address of allocation bitmap
+*         D = Number of first bit to set
+*         Y = Bit count (number of bits to set)
+*
+* Output: None
+*
+* Error:  CC = C bit set; B = error code
+*
 FGCMDir  ldx   <D.ModDir    get pointer to module directory start
          bra   L0C1D        skip ahead
 L0C17    ldu   MD$MPDAT,x   DAT initialized?
--- a/level2/modules/kernel/fgmoddr.asm	Wed Sep 17 13:53:39 2003 +0000
+++ b/level2/modules/kernel/fgmoddr.asm	Wed Sep 17 17:26:37 2003 +0000
@@ -1,4 +1,14 @@
-* F$GModDr entry point
+**************************************************
+* System Call: F$GModDr
+*
+* Function: Get copy of module directory
+*
+* Input:  X = 2048 byte buffer pointer
+*
+* Output: None
+*
+* Error:  CC = C bit set; B = error code
+*
 FGModDr  ldd   <D.ModDir+2 Get end ptr of module directory
          subd  <D.ModDir   Calculate maximum size of module directory
          tfr   d,y         Put max. size in Y
--- a/level2/modules/kernel/fgprdsc.asm	Wed Sep 17 13:53:39 2003 +0000
+++ b/level2/modules/kernel/fgprdsc.asm	Wed Sep 17 17:26:37 2003 +0000
@@ -1,4 +1,15 @@
-* F$GPrDsc entry point
+**************************************************
+* System Call: F$GPrDsc
+*
+* Function: Get copy of process descriptor
+*
+* Input:  A = Desired process ID
+*         X = 512 byte buffer pointer
+*
+* Output: None
+*
+* Error:  CC = C bit set; B = error code
+*
 FGPrDsc  ldx   <D.Proc     Get current process dsc. ptr.
          ldb   P$Task,x    Get task number
          lda   R$A,u       Get requested process ID #
--- a/level2/modules/kernel/fgprocp.asm	Wed Sep 17 13:53:39 2003 +0000
+++ b/level2/modules/kernel/fgprocp.asm	Wed Sep 17 17:26:37 2003 +0000
@@ -1,4 +1,14 @@
-* F$GProcP entry point
+**************************************************
+* System Call: F$GProcP
+*
+* Function: Get process pointer
+*
+* Input:  A = Process ID
+*
+* Output: Y = Pointer to process descriptor
+*
+* Error:  CC = C bit set; B = error code
+*
 FGProcP  lda   R$A,u        get process #
          bsr   L0B2E        Get ptr to process descriptor
          bcs   L0B2D        If error, exit with it
--- a/level2/modules/kernel/fld.asm	Wed Sep 17 13:53:39 2003 +0000
+++ b/level2/modules/kernel/fld.asm	Wed Sep 17 17:26:37 2003 +0000
@@ -1,4 +1,15 @@
-* F$LDAXY entry point
+**************************************************
+* System Call: F$LDAXY
+*
+* Function: Load A [X,[Y]]
+*
+* Input:  X = Block offset
+*         Y = DAT image pointer
+*
+* Output: A = data byte at X offset of Y
+*
+* Error:  CC = C bit set; B = error code
+*
 FLDAXY   ldx   R$X,u          Get offset within block (S/B $0000-$1FFF)
          ldy   R$Y,u          Get ptr to DAT block entry
          bsr   L0AC8          Go get byte
@@ -42,7 +53,20 @@
          bhs   L0AEA          Yes, go adjust
          rts                  No, return
 
-* F$LDDDXY entry point
+
+**************************************************
+* System Call: F$LDDXY
+*
+* Function: Load D [D+X,[Y]]
+*
+* Input:  D = Offset to offset
+*         X = Offset
+*         Y = DAT image pointer
+*
+* Output: D = bytes address by [D+X,Y]
+*
+* Error:  CC = C bit set; B = error code
+*
 FLDDDXY  ldd   R$D,u          Get offset to offset within DAT Image
          leau  R$X,u          Point U to Offset
          pulu  x,y            Y=Offset within DAT Image, X=DAT Image ptr
--- a/level2/modules/kernel/fldabx.asm	Wed Sep 17 13:53:39 2003 +0000
+++ b/level2/modules/kernel/fldabx.asm	Wed Sep 17 17:26:37 2003 +0000
@@ -1,4 +1,15 @@
-* F$LDABX entry point
+**************************************************
+* System Call: F$LDABX
+*
+* Function: Load A from 0,X in task B
+*
+* Input:  B = Task number
+*         X = Data pointer
+*
+* Output: A = Data byte at 0,x in task's address space
+*
+* Error:  CC = C bit set; B = error code
+*
 FLDABX   ldb   R$B,u        Get task # to get byte from
          ldx   R$X,u        Get offset into task's DAT image to get byte from
 ***         bsr   L0C40        Go get the byte into B
@@ -27,7 +38,20 @@
 *         ldu   b,u          get pointer to task image (doesn't affect carry)
 *         rts                restore & return
 
-* F$STABX entry point
+
+**************************************************
+* System Call: F$STABX
+*
+* Function: Store A at 0,X in task B
+*
+* Input:  A = Data byte to store in task's address space
+*         B = Task number
+*         X = Logical address in task's address space
+*
+* Output: None
+*
+* Error:  CC = C bit set; B = error code
+*
 FSTABX   ldd   R$D,u
          ldx   R$X,u
 * Store a byte in another task
--- a/level2/modules/kernel/flink.asm	Wed Sep 17 13:53:39 2003 +0000
+++ b/level2/modules/kernel/flink.asm	Wed Sep 17 17:26:37 2003 +0000
@@ -1,10 +1,36 @@
-* F$SLink entry point
-* Entry: U=Register stack pointer
+**************************************************
+* System Call: F$SLink
+*
+* Function: System Link
+*
+* Input:  A = Module type
+*         X = Module name string pointer
+*         Y = Name string DAT image pointer
+*
+* Output: A = Module type
+*         B = Module revision
+*         X = Updated name string pointer
+*         Y = Module entry point
+*         U = Module pointer
+*
+* Error:  CC = C bit set; B = error code
+*
 FSLink   ldy    R$Y,u       get DAT image pointer of name
          bra    L0398       skip ahead
 
-* F$ELink entry point
-* Entry: U=Register stack pointer
+
+**************************************************
+* System Call: F$ELink
+*
+* Function: Link using module directory entry
+*
+* Input:  B = Module type
+*         X = Pointer to module directory entry
+*
+* Output: None
+*
+* Error:  CC = C bit set; B = error code
+*
 FELink   pshs   u           preserve register stack pointer
          ldb    R$B,u       get module type
          ldx    R$X,u       get pointer to module directory entry
--- a/level2/modules/kernel/fmapblk.asm	Wed Sep 17 13:53:39 2003 +0000
+++ b/level2/modules/kernel/fmapblk.asm	Wed Sep 17 17:26:37 2003 +0000
@@ -1,4 +1,15 @@
-* F$MapBlk entry point
+**************************************************
+* System Call: F$MapBlk
+*
+* Function: Map specific block
+*
+* Input:  B = Number of blocks
+*         X = Beginning block number
+*
+* Output: U = Address of first block
+*
+* Error:  CC = C bit set; B = error code
+*
 FMapBlk  lda   R$B,u        get # blocks
          beq   L0BAA        can't map 0 blocks, return error
          cmpa  #DAT.BlCt    within range of DAT image?
--- a/level2/modules/kernel/fmove.asm	Wed Sep 17 13:53:39 2003 +0000
+++ b/level2/modules/kernel/fmove.asm	Wed Sep 17 17:26:37 2003 +0000
@@ -1,15 +1,23 @@
-* F$Move entry point
-* Entry: U=Register stack pointer
+**************************************************
+* System Call: F$Move
+*
+* Function: Move data (low bound first)
+*
+* Input:  A = Source task #
+*         B = Destination task #
+*         X = Source pointer
+*         Y = Number of bytes to move
+*         U = Destination pointer
+*
+* Output: None
+*
+* Error:  CC = C bit set; B = error code
+*
          IFEQ  H6309
 L0A01    clrb
          rts
          ENDC
 
-* A = source task #
-* B = destination task #
-* Y = bytes to move
-* X = source pointer
-* U = destination pointer
 FMove    ldd   R$D,u        get source & destination task #'s
 L0B25    ldy   R$Y,u        Get # bytes to move
          beq   L0A01        None, exit without error
--- a/level2/modules/kernel/fprsnam.asm	Wed Sep 17 13:53:39 2003 +0000
+++ b/level2/modules/kernel/fprsnam.asm	Wed Sep 17 17:26:37 2003 +0000
@@ -3,6 +3,8 @@
 *
 * Function: Parse a path name
 *
+* Modification to allow '-' in filenames by WG
+*
 * Input:  X = Address of pathlist
 *
 * Output: X = Updated past optional "/" character
@@ -11,8 +13,6 @@
 *
 * Error:  CC = C bit set; B = error code
 *
-* Modification to allow '-' in filenames by WG
-*
 FPrsNam  ldx   <D.Proc      proc desc
          leay  <P$DATImg,x  Y=DAT image ptr
          ldx   R$X,u        X=name string
--- a/level2/modules/kernel/fsrqmem.asm	Wed Sep 17 13:53:39 2003 +0000
+++ b/level2/modules/kernel/fsrqmem.asm	Wed Sep 17 17:26:37 2003 +0000
@@ -3,15 +3,15 @@
 *
 * Function: Request memory
 *
+* It also updates 8K DAT blocks-if it finds an empty block, it re-does the 32
+* entries in the SMAP table to indicate that they are free
+*
 * Input:  D = Byte count
 *
 * Output: U = Address of allocated memory area
 *
 * Error:  CC = C bit set; B = error code
 *
-* It also updates 8K DAT blocks-if it finds an empty block, it re-does the 32
-* entries in the SMAP table to indicate that they are free
-*
 FSRqMem  ldd   R$D,u        get size requested
          addd  #$00FF       round it up to nearest 256 byte page
          clrb               Just keep # of pages (and start 8K block #)
@@ -194,8 +194,20 @@
 L08F2    clrb               clear errors
 L08F3    rts                return
 
-* Optimize F$Boot for size, as it's only called once...
-* F$Boot entry point
+
+**************************************************
+* System Call: F$Boot
+*
+* Function: Bootstrap the system
+*
+* Optimized for size, as it's only called once...
+*
+* Input:  None
+*
+* Output: None
+*
+* Error:  CC = C bit set; B = error code
+*
 FBoot    lda   #'t        tried to boot
          jsr   <D.BtBug
          coma               Set boot flag
@@ -243,6 +255,19 @@
          ldx   <D.BlkMap  point to the memory block map
          lbra  L01DF      and go mark the blocks as used.
 
+
+**************************************************
+* System Call: F$VBlock
+*
+* Function: ???
+*
+* Input:  D = Size of block to verify
+*         X = Start address to verify
+*
+* Output: None
+*
+* Error:  CC = C bit set; B = error code       
+*
 FVBlock  ldd   R$D,u      size of block to verify
          ldx   R$X,u      start address to verify
 
--- a/level2/modules/kernel/fsuser.asm	Wed Sep 17 13:53:39 2003 +0000
+++ b/level2/modules/kernel/fsuser.asm	Wed Sep 17 17:26:37 2003 +0000
@@ -1,4 +1,14 @@
-* F$User entry point
+**************************************************
+* System Call: F$SUser
+*
+* Function: Set User ID number
+*
+* Input:  Y = Desired user ID number
+*
+* Output: None
+*
+* Error:  CC = C bit set; B = error code       
+*
 FSUser   ldx   <D.Proc      get current process dsc ptr
          ldd   R$Y,u        get requested user number
          std   P$User,x     save new user # in process descriptor
--- a/level2/modules/kernel/funload.asm	Wed Sep 17 13:53:39 2003 +0000
+++ b/level2/modules/kernel/funload.asm	Wed Sep 17 17:26:37 2003 +0000
@@ -1,4 +1,15 @@
-* F$UnLoad entry point
+**************************************************
+* System Call: F$UnLoad
+*
+* Function: Unlink a module by name
+*
+* Input:  A = Module type
+*         X = Pointer to module name
+*
+* Output: None
+*
+* Error:  CC = C bit set; B = error code       
+*
 FUnLoad  pshs  u            preserve register stack pointer
          lda   R$A,u        get module type
          ldx   <D.Proc      get current process pointer
--- a/level2/modules/kernel/krnp2.asm	Wed Sep 17 13:53:39 2003 +0000
+++ b/level2/modules/kernel/krnp2.asm	Wed Sep 17 17:26:37 2003 +0000
@@ -1,5 +1,5 @@
 ********************************************************************
-* OS9p2 - NitrOS-9 Kernel Part II
+* OS9p2 - OS-9 Level Two Kernel Part 2
 *
 * $Id$
 *
@@ -58,7 +58,7 @@
 * 18r6  Back-ported to OS-9 Level Two from NitrOS-9 Level Two
 
          nam    OS9p2
-         ttl    NitrOS-9 Kernel Part II
+         ttl    OS-9 Level Two Kernel Part 2
 
 ** If Network I/O ptrs are disabled, F$Fork runs 72 cycles faster
 Network  equ    0             Set to 1 to enable network I/O ptrs