// // Wrapper for FindPkg Alto microcode // last edited September 18, 1980 12:32 PM // // Copyright Xerox Corporation 1980 external [ fRamImage ] // (workarea, fixedram/-1, error) -> ramImage external [ // RWREG ReadConReg ReadInsReg RegWorkArea WriteInsReg ] let fRamImage(workarea, fixedram, error) = valof [ let RamImage = nil get "findpkg.ls" // Sets RamImage if fixedram ge 0 then [ let v = vec 2 for i = 0 to fixedram-1 do [ let p = RamImage+400b+2*i WriteInsReg(i, p) ReadInsReg(i, v) if (v!0 ne p!0) % (v!1 ne p!1) then error("Can't write into RAM") ] RegWorkArea = workarea for i = 1 to 377b do if RamImage!i ne 0 then if ReadConReg(i) ne RamImage!i then error("Bad constant memory") ] resultis RamImage ]