EMSCORE

(GIN Macro)

Defined in: COREMACROS

Used in: LOADERII867, SETLIST864, SETUPA867, SETUPB867

EMSCORE.mac.txt
 59Q# ...[??? EMSCORE SECT CENT FGN 32 DOC   
 5=26    #   
 5=FQ    [   
 5=^B    [ENTRY SEQUENCE TO SPECIAL EARLY MORNING START ROUTINE WHICH GETS CORE  
 5?F2    [FROM THE TOP END OF THE STORE  
 5?YL    [   
 5#D=    #MAC  EMSCORE   
 5#XW    [   
 5*CG    [THIS IS A SPECIAL EARLY MORNING START ROUTINE WHICH GETS A BLOCK OF
 5*X6    [CORE FROM THE TOP OF STORE 
 5BBQ    [   
 5BWB    SEMS  LDX   2  %A                  [LOAD AMOUNT REQUIRED
 5CB2          STO   2  GLOGLEN             [PRESERVE LOGICAL LENGTH 
 5CTL          ADN   2  A1   
 5D*=    #STR  %B
 5DSW    (   
 5F#G          BZE   %B SEMS1               [J IF BLOCK NEEDNT START AT IROUND   
 5FS6          LDX   1  BFREE+1             [ MULTIPLE   
 5G?Q          LDX   1  ASIZE(1)            [ELSE SET SIZE SO THAT BLOCK WILL
 5GBW ...#UNS CA1D   
 5GG2 ...      ANDX  1  CIRNDA   
 5GK6 ...#UNS CA1D   
 5GN= ...#SKI
 5GRB          ANDN  1  IROUND-1            [ START ON A MULTIPLE OF IROUND  
 5H?2          SBX   2  1
 5HB6 ...#UNS CA1D   
 5HF= ...      ADX   2  CIRNDA   
 5HJB ...#UNS CA1D   
 5HMG ...#SKI
 5HQL          ADN   2  IROUND-1 
 5J==          ANDX  2  IROUNDNG 
 5JPW          ADX   2  1
 5K9G    SEMS1   
 5KP6    )   
 5L8Q          LDX   1  BFREE+1             [FIND LAST BLOCK OF FREECORE 
 5LNB          LDX   0  ASIZE(1)            [ GET ITS SIZE   
 5M82          SBS   2  CFREE               [SUB AMOUNT GIVEN FROM CURRENT FREE  
 5MML          SBS   2  AFREE
 5N7=          SBX   0  2                   [SUB REQUIRED SIZE   
 5NLW          BNG   0  SERR                [J IF NOT ENOUGH 
 5P6G          BZE   0  SALL                [J IF ALL NEEDED 
 5PL6          SBS   2  ASIZE(1)            [SET NEW SIZE OF FREE BLOCK  
 5R52          ADX   1  0                   [CALC ADDRESS OF GOT BLOCK   
 5RJL          STO   2  ASIZE(1)            [STORE ITS SIZE  
 5RLJ ...#UNS ISFC   
 5RNG ...(   
 5RQD ...      SBX   1  0                   [RETURN TO THE FREE BLOCK
 5RSB ...      FREEOUT  1                   [DECHAIN FROM SIZE RING,AS SHORTER   
 5RW# ...      FREEIN   1                   [CHAIN INTO NEW SIZE RING
 5RY= ...      ADX   1  ASIZE(1)            [NOW BACK TO THE GOT BLOCK   
 5S28 ...)   
 5S4=          LDN   0  #10                 [ LOCK IT
 5SHW          STO   0  AFLAG(1) 
 5T3G          STOZ     ATYPE(1) 
 5TH6          STOZ     BACK1(1) 
 5W2Q          STOZ     BACK2(1) 
 5WGB          LDX   2  GLOGLEN             [SET LOGICAL LENGTH  
 5X22          STO   2  ALOGLEN(1)   
 5XFL          LDCT  2  #2   
 5X^=          STO   2  ARINGNO(1)   
 5YDW          LDX   2  FX2                 [CHAIN GOT BLOCK AFTER ACTIVITY  
 5YYG          LDX   0  FPTR(2)  
 5^D6          STO   1  FPTR(2)  
 5^XQ          STO   0  FPTR(1)  
 62CB          STO   2  BPTR(1)  
 62X2          SMO      0
 63BL          STO   1  BPTR 
 63W=          LDX   1  FX1  
 64*W          BRN      SEMSEND  
 64TG    SALL
 657X ...#UNS ISFC   
 65G# ...      FREEOUT  1                   [REMOVE BLK FROM SIZE RING   
 65SQ          LDN   0  #10                 [ LOCK IT
 66#B          STO   0  AFLAG(1) 
 66S2          STOZ     ATYPE(1) 
 67?L          STOZ     BACK1(1) 
 67R=          STOZ     BACK2(1) 
 68=W          CHAIN    1,FX2               [CHAIN IT
 68QG          BRN      SEMSEND  
 69=6    SERR  GEOERR   1,EMSCORE
 69PQ    SEMSEND 
 6=9B    #NOR