view level2/modules/kernel/fdelimg.asm @ 2758:e4a0f58a5f9b

Found that people who do not have the envirornment variable NITROS9DIR set before building the project get a error missing file "/rules.mak". Found this is caused do to the fact that the code to set this envirornment variable is in the rules.mak which can't get loaded. To fix this the code needed to set the envirornment variable that is in the rules.mak is now in the makefile(s) right before the include for the rules.mak file. This should fix the problem for those who do not have the NITROS9DIR envirornment variable preset.
author drencor-xeen
date Mon, 14 Jan 2013 14:37:46 -0600
parents 1da8ab9ba433
children 039ddb7c8ad7
line wrap: on
line source

**************************************************
* 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
         lsla               2 bytes per block entry
         leau  a,u          Point U to block entry
* Block count in B
L0B55    
         IFNE  H6309
         ldw   ,u           Get block #
         addw  <D.BlkMap    Add it to map ptr
         aim   #^RAMinUse,0,w
         ldw   #DAT.Free    get empty block marker
         stw   ,u++         save it to process descriptor
         decb               done?
         bne   L0B55        No, keep going
         oim   #ImgChg,P$State,x
         ELSE
         clra
         tfr   d,y
         pshs  x
L0BLoop  ldd   ,u
         addd  <D.BlkMap
         tfr   d,x
         lda   ,x
         anda  #^RAMinUse
         sta   ,x
         ldd   #DAT.Free
         std   ,u++
         leay  -1,y
         bne   L0BLoop

         puls  x
         lda   P$State,x
         ora   #ImgChg
         sta   P$State,x
         ENDC
         clrb  
         rts