(FILECREATED "13-Oct-85 14:00:00" {ERIS}<LISPCORE>SOURCES>DOVEINPUTOUTPUT.;24 4474 changes to: (FNS \DoveIO.InitializeIORegionPtrs) previous date: "16-Sep-85 13:08:31" {ERIS}<LISPCORE>SOURCES>DOVEINPUTOUTPUT.;23) (* Copyright (c) 1985 by Xerox Corporation. All rights reserved.) (PRETTYCOMPRINT DOVEINPUTOUTPUTCOMS) (RPAQQ DOVEINPUTOUTPUTCOMS ((FNS \DoveIO.EQOpieAddrs \DoveIO.GetHandlerIORegionPtr \DoveIO.Init \DoveIO.InitializeIORegionPtrs \DoveIO.MakeOpieAddress \DoveIO.NilOpieAddress \DoveIO.PointerFromOpieAddress) (DECLARE: EVAL@COMPILE DONTCOPY (FILES (SOURCE) DOVEDECLS) (EXPORT (MACROS \DoveIO.InitFCBPtr))) (DECLARE: DONTEVAL@LOAD DOCOPY (P (\DoveIO.Init))))) (DEFINEQ (\DoveIO.EQOpieAddrs [LAMBDA (A1 A2) (AND (EQ (\GETBASE A1 0) (\GETBASE A2 0)) (EQ (\GETBASE A1 1) (\GETBASE A2 1]) (\DoveIO.GetHandlerIORegionPtr (LAMBDA (HandlerID) (* ejs: "12-Sep-85 19:08") (* * Return the base address of the pointer to the requested handler) (\ADDBASE \DoveIORegion (ITIMES DoveIO.SegmentGranularity (IDIFFERENCE (\DoveIO.ByteSwap (fetch (DoveIO.SegmentRec ioRegionSegment) of (\ADDBASE (fetch (DoveIO.IORTable segments) of \DoveIORegion) (ITIMES HandlerID (MESASIZE DoveIO.SegmentRec))))) DoveIO.iorSegmentBase))))) (\DoveIO.Init (LAMBDA NIL (* ejs: "16-Sep-85 13:03") (MAPC (QUOTE (\DoveIO.MakeOpieAddress \DoveIO.PointerFromOpieAddress \DoveIO.NilOpieAddress \DoveIO.EQOpieAddrs \DoveIO.InitializeIORegionPtrs)) (FUNCTION \LOCKFN)))) (\DoveIO.InitializeIORegionPtrs (LAMBDA NIL (* ejs: "13-Oct-85 13:59") (* * Set the values of the FCB pointers in the Dove IO Region) (\DoveIO.InitFCBPtr \DoveBeep.FCBPointer DoveIO.beepHandler) (\DoveIO.InitFCBPtr \DoveDisk.FCBPointer DoveIO.diskHandler) (\DoveIO.InitFCBPtr \DoveDisplay.FCBPointer DoveIO.displayHandler) (\DoveIO.InitFCBPtr \DoveEther.FCBPointer DoveIO.ethernetHandler) (\DoveIO.InitFCBPtr \DoveFloppy.FCBPointer DoveIO.floppyHandler) (\DoveIO.InitFCBPtr \DoveKyMo.FCBPointer DoveIO.kymoHandler) (\DoveIO.InitFCBPtr \DoveProcessor.FCBPointer DoveIO.lispHandler) (\DoveIO.InitFCBPtr \DoveMP.FCBPointer DoveIO.mpHandler))) (\DoveIO.MakeOpieAddress (LAMBDA (DESTLOC SRCPTR) (* ejs: "12-Aug-85 07:01") (* * This function takes SRCPTR as a Lisp pointer and smashes the two words at DESTLOC with an OpieAddress that corresponds to the pointer) (replace (Dove.OpieAddress LoPart.BS) of DESTLOC with (\DoveIO.ByteSwap (\LOLOC SRCPTR))) (replace (Dove.OpieAddress HiPart) of DESTLOC with (\HILOC SRCPTR)) (COND ((NEQ (\HILOC SRCPTR) 0) (replace (Dove.OpieAddress AddrType) of DESTLOC with \DoveIO.VirtualWordType)) (T (replace (Dove.OpieAddress AddrType) of DESTLOC with \DoveIO.VirtualFirst64KRelativeType))))) (\DoveIO.NilOpieAddress [LAMBDA (PTRTOADDRESS) (AND (EQ 0 (\GETBASE PTRTOADDRESS 0)) (EQ 0 (\GETBASE PTRTOADDRESS 1]) (\DoveIO.PointerFromOpieAddress [LAMBDA (ADDRESSLOC) (\VAG2 (fetch (Dove.OpieAddress HiPart) of ADDRESSLOC) (\DoveIO.ByteSwap (fetch (Dove.OpieAddress LoPart.BS) of ADDRESSLOC]) ) (DECLARE: EVAL@COMPILE DONTCOPY (FILESLOAD (SOURCE) DOVEDECLS) (* FOLLOWING DEFINITIONS EXPORTED) (DECLARE: EVAL@COMPILE (DEFMACRO \DoveIO.InitFCBPtr (FCBPointer HandlerID) (COND ((NOT (BOUNDP FCBPointer)) (printout T "*** WARNING: " FCBPointer " is unbound in call to \DoveIO.InitFCBPtr ***" T))) (COND ((NOT (BOUNDP HandlerID)) (printout T "*** WARNING: " HandlerID " is unbound in call to \DoveIO.InitFCBPtr ***" T))) (BQUOTE (SETQ , FCBPointer (\DoveIO.GetHandlerIORegionPtr , HandlerID)))) ) (* END EXPORTED DEFINITIONS) ) (DECLARE: DONTEVAL@LOAD DOCOPY (\DoveIO.Init) ) (PUTPROPS DOVEINPUTOUTPUT COPYRIGHT ("Xerox Corporation" 1985)) (DECLARE: DONTCOPY (FILEMAP (NIL (756 3758 (\DoveIO.EQOpieAddrs 766 . 933) (\DoveIO.GetHandlerIORegionPtr 935 . 1582) ( \DoveIO.Init 1584 . 1891) (\DoveIO.InitializeIORegionPtrs 1893 . 2638) (\DoveIO.MakeOpieAddress 2640 . 3392) (\DoveIO.NilOpieAddress 3394 . 3543) (\DoveIO.PointerFromOpieAddress 3545 . 3756))))) STOP