--File BootRam.mesa. Last edited August 17, 1981 5:01 PM By Glen Williams
--This is a general routine that takes microcode from a standard
-- br-format file and loads the ram on an Alto with it. It takes the boot locus vector
-- from the file also (and throws the symbol static away).
--This was written for use in ISL’s MesaPress implementation
DIRECTORY
AltoRam USING[LoadRamAndBoot],
Mopcodes USING [zLIW, zJRAM],
PressDefs;
BootRam: PROGRAM
IMPORTS AltoRam
EXPORTS PressDefs=

BEGIN
locationinRAM: CARDINAL = 500B;--location of silentbootinram

RamBoot
: PUBLIC PROCEDURE [fileName: STRING] =
BEGIN

AltoRam.LoadRamAndBoot[fileName, ];--lock in core and boot! Also add Cleanup Proc.
END;
-- of RamBoot



SilentBootInRam
: PROCEDURE [arg: CARDINAL] =

-- Argument is used by microcode. We are going to jump to a routine written in microcode with this procedure.

MACHINE CODE BEGIN

Mopcodes.zLIW, locationinRAM/256, locationinRAM MOD 256;
Mopcodes.zJRAM;

END;
-- of SilentBootInRam
END. --of BootRam