:TITLE[AltoOccupied]; * Modification of MicOverlayOccupied.mc July 6, 1982 1:37 PM *Reserve locations on pages shared between Alto and Lisp so that *Lisp will not overwrite the main program unintentionally. *Allow only unused TimerTable entries and locations reserved in Timer.Mc to *be used by MicOverlay. Set[TTOffset,And[TimerTable,377]]; Set[TTEnd,Add[TTOffset,22]]; IMReserve[TimerPage,0,TTOffset]; *Locations before TimerTable IMReserve[TimerPage,TTOffset,1]; *Refresh timer :IF[With10MB]; *************************************** IMReserve[TimerPage,Add[TTOffset,Xor[enxTask,17]],1]; *10mb Ethernet output timer :ENDIF; ********************************************** :IF[With3MB]; *************************************** IMReserve[TimerPage,Add[TTOffset,Xor[eoTask,17]],1]; *Ethernet output timer :ENDIF; ********************************************** IMReserve[TimerPage,TTEnd,Sub[400,TTEnd]]; *Locations after TimerTable+21 *IMReserve[15,0,253]; *space for AMesa *IMReserve[15,364,1]; *For DOInt in Initialize.Mc :IF[WithMidas]; ***************************** * this is KernelOccupied.mc *IMReserve[16,1,14]; *No Kernel timer task reserve needed since *AMesa timer task is now running in its place. IMReserve[16,1,14]; *Only these are needed after Kernel is running *Locations reserved on page 17B IMReserve[17,0,1]; *7400 not needed after init IMReserve[17,3,1]; *7403 not needed after init IMReserve[17,1,2]; IMReserve[17,4,74]; IMReserve[17,120,1]; IMReserve[17,100,20]; *space for Midas overlays (7500-7517) :ENDIF; ************************************* :IF[And[With10MB, With3MB]]; IMreserve[eePage, 0, 222]; * reserve space for 3mb ether :ENDIF; *IFE[DoIntLoc,Add[LShift[15,10],364],,ER[Fixup.needed.for.DoIntLoc]]; :END[MicOverlayOccupied]; (1792)\487f5 55f0 33f5 15f0 34f5 109f0 33f5 4f0 6f5 4f0 29f5 55f0