(DEFINE-FILE-INFO READTABLE "INTERLISP" PACKAGE "INTERLISP" BASE 8) (FILECREATED " 7-Feb-2021 11:52:02" {DSK}larry>ilisp>medley>sources>LLPARAMS.;3 206133Q changes to%: (MACROS EMADDRESS) previous date%: "31-Jan-98 09:16:51" {DSK}larry>ilisp>medley>sources>LLPARAMS.;2) (PRETTYCOMPRINT LLPARAMSCOMS) (RPAQQ LLPARAMSCOMS ( (* ;; "This file defines the constants that control how a SYSOUT is laid out.") (FNS MAKERECORD) (* ;; "When you change the SYSOUT's layout in this file, you must also") (* ;; " Recreate RDSYS in the library, using (DORENAME 'R)") (* ;; " Recompile DLFIXINIT and anything else that uses the constants defined here.") (* ;; " Recompile LLFAULT. recompile VMEM") (DECLARE%: DONTCOPY (EXPORT (CONSTANTS (WINDFLG T)) (* ;;  "INITCONSTANTS are constants (e.g. \LISTPDTD) to be defined at init time.") (VARS INITCONSTANTS MISCSTATSLAYOUT IFPAGELAYOUT MAIKO.IFPAGELAYOUT IOPAGELAYOUT) [CONSTANTS * (for X in INITCONSTANTS when (FIXP (CADR X)) collect (LIST (CAR X) (CADR X] (CONSTANTS * \MPERRORS) (GLOBALVARS * (for X in INITCONSTANTS when [AND (NEQ (CAR X) '*) (NOT (FIXP (CADR X] collect (CAR X))) (P * (LIST (MAKERECORD 'MISCSTATS MISCSTATSLAYOUT) (COND ((EQ \MACHINETYPE \MAIKO) (MAKERECORD 'IFPAGE MAIKO.IFPAGELAYOUT)) (T (MAKERECORD 'IFPAGE IFPAGELAYOUT))) (MAKERECORD 'IOPAGE IOPAGELAYOUT))) (MACROS EMADDRESS EMGETBASE EMPUTBASE EMULATORSEGMENT EMPOINTER EMADDRESSP))) (PROP MAKEFILE-ENVIRONMENT LLPARAMS))) (* ;; "This file defines the constants that control how a SYSOUT is laid out.") (DEFINEQ (MAKERECORD [LAMBDA (NAME LAYOUT) (* bvm%: "29-NOV-82 17:40") (PROG ((I 0) PTRS M NAM) (RETURN `(BLOCKRECORD %, NAME %, [for X in LAYOUT collect (CONS (SETQ NAM (CAR X)) (COND ((EQ NAM '*) (CDR X)) (T (PROG1 [COND [[FIXP (SETQ M (CAR (SETQ X (CDR X] (LIST M (CAR (SETQ X (CDR X] (T (SETQ M (SELECTQ (CAR X) ((FIXP FULLXPOINTER) (OR (EVENP I WORDSPERCELL) (ERROR "Record field not aligned" (CONS NAM X))) 2) (WORD 1) (SHOULDNT))) (LIST (CAR X] [COND ((CADDR X) (SETQ PTRS (CONS (LIST (PACK* NAM 'PTR) `(\ADDBASE DATUM %, I)) PTRS] (add I M))] %,. [AND PTRS `((ACCESSFNS %, NAME %, PTRS] (CREATE (\ALLOCBLOCK %, (FOLDHI I WORDSPERCELL]) ) (* ;; "When you change the SYSOUT's layout in this file, you must also") (* ;; " Recreate RDSYS in the library, using (DORENAME 'R)") (* ;; " Recompile DLFIXINIT and anything else that uses the constants defined here.") (* ;; " Recompile LLFAULT. recompile VMEM") (DECLARE%: DONTCOPY (* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE (RPAQQ WINDFLG T) (CONSTANTS (WINDFLG T)) ) (RPAQQ INITCONSTANTS ( (* ;;; "(LISPNAME VALUE BCPLNAME UCODENAME)") (CDRCODING 1 T T) (* ;  "IF CDRCODING=0, CDR CODING IS OFF, OTHERWISE ON") (* ;; "type numbers -- repeated on LLBASIC too") (\SMALLP 1 SMALLTYPE SmallType) (\FIXP 2 INTEGERTYPE FixpType) (\FLOATP 3 FLTPTTYPE FloatpType) (\LITATOM 4 ATOMTYPE AtomType) (\LISTP 5 LISTTYPE ListType) (\ARRAYP 6 ARRAYPTRTYPE ArrayType) (\STRINGP 7 STRINGPTRTYPE) (\STACKP 10Q) (\CHARACTERP 11Q) (\VMEMPAGEP 12Q NIL VMemPagePType) (\STREAM 13Q NIL STREAMTYPE) (* ;; "TYPE TABLE CONSTANTS - - - - - - - - - - - - - - - - - - - - - -") (\TT.TYPEMASK 3777Q TTTypeMask T) (\TT.NOREF 100000Q NIL T) (\TT.SYMBOLP 40000Q NIL T) (\TT.FIXP 20000Q) (\TT.NUMBERP 10000Q) (\TT.ATOM 4000Q) (* ;;  "page map - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -") (\PMblockSize 40Q PMBLOCKSIZE) (\STATSsize 10Q T) (\NumPMTpages 10Q) (\EmptyPMTEntry 177777Q T) (\FirstVmemBlock 2 T) (\MAXVMPAGE 377775Q) (\MAXVMSEGMENT 377Q) (* ;; "interface page") (\IFPValidKey 12743Q T) (* ;; "MDS") (\FirstMDSPage 77776Q) (* ; "Was 37776Q pre 16-meg intiial") (\MaxMDSPage 1777775Q) (\DefaultSecondMDSPage 177774Q) (\MDSIncrement 1000Q) (\PagesPerMDSUnit 2) (* ;  "(FOLDLO \MDSIncrement WORDSPERPAGE)") (* ;; "arrays") (\ARRAYSPACE (56Q 0)) (\FirstArraySegment 56Q) (\FirstArrayPage 27000Q) (\ARRAYSPACE2 (100Q 0)) (\DefaultSecondArrayPage 100000Q) (* ; "Was 40000Q before 16meg initial") (* ;; "stack block constants") (\StackMask 160000Q T T) (\FxtnBlock 140000Q T T) (\GuardBlock 160000Q T T) (\BFBlock 100000Q T T) (\FreeStackBlock 120000Q T T) (\NotStackBlock 0) (* ; "none of the above") (\MinExtraStackWords 40Q T T) (* ;; "backspace kludge") (ERASECHARCODE 0 T) (* ;; "GC constants") (\HT1CNT 2000Q NIL T) (\HTSTKBIT 1000Q NIL T) (\HTCNTMASK 176000Q NIL T) (\HTMAINSIZE 200000Q NIL T) (\HTCOLLSIZE 4000000Q NIL T) (* ; "HTCOLL size in words") (\HTENDFREE 1 NIL T) (\HTFREEPTR 0 NIL T) (* ;; "pointers and lengths of various data spaces") (\ATOMSPACE (0 0) (ATOMspace NIL) (atomHiVal NIL)) (\AtomHI 0) (\CHARHI 7) (* ;  "overlap character space and the atom hash table space") (\AtomHashTable (25Q 0) (AHTspace AHTbase)) (\AtomHTpages 400Q AHTSIZE) (\LastAtomPage 377Q) (\MaxAtomFrLst 177777Q) (\SMALLPOSPSPACE (16Q 0)) (\SmallPosHi 16Q SMALLPOSspace smallpl) (\SMALLNEGSPACE (17Q 0)) (\SmallNegHi 17Q SMALLNEGspace smallneg) (\NumSmallPages 1000Q) (* ;; "PNAME SPACEin the old world; used for initial atoms now.") (\PNPSPACE (10Q 0) (PNPspace PNPbase)) (\PNAME.HI 10Q) (\OLDATOMSPACE (54Q 0)) (* ; "NEW ATOM SPACE") (\ATOM.HI 54Q) (* ; "HI PART OF NEW ATOM SPACE") (* ;; "Definitions in old atom world") (\DEFSPACE (12Q 0) (DEFspace DEFbase) (DEFspace DEFbase)) (\DEF.HI 12Q) (\VALSPACE (14Q 0) (TOPVALspace TOPVALbase) (VALspace VALbase)) (\VAL.HI 14Q) (\PLISTSPACE (2 0) (PLISTspace PLISTbase)) (\PLIST.HI 2) (\PAGEMAP (5 0) (PAGEMAPspace PAGEMAPbase)) (\NumPageMapPages 400Q) (\PageMapTBL (24Q 1000Q) (PMTspace PMTbase)) (\InterfacePage (24Q 0) (INTERFACEspace INTERFACEbase) (INTERFACEspace INTERFACEbase)) (\IOPAGE (0 177400Q)) (\DoveIORegion (0 40000Q)) (\IOCBPAGE (0 400Q)) (\FPTOVP (2 0)) (\MDSTypeTable (30Q 0) (MDSTYPEspace MDSTYPEbase) (MDSTYPEspace MDSTYPEbase)) (\MDSTTsize 2000Q T) (* ; "in Pages") (\MISCSTATS (24Q 5000Q) (STATSspace MISCSTATSbase)) (\UFNTable (24Q 6000Q) NIL (STATSspace UFNTablebase)) (\UFNTableSize 2) (\DTDSpaceBase (24Q 10000Q) (DTDspace DTDbase) (DTDspace DTDbase)) (\DTDSize 22Q T) (\LISTPDTD (24Q 10132Q)) (\EndTypeNumber 3777Q) (\LOCKEDPAGETABLE (24Q 70000Q)) (\NumLPTPages 20Q) (\STACKSPACE (1 0) (STACKspace NIL) (STACKspace NIL)) (\GuardStackAddr 170000Q) (\LastStackAddr 177776Q) (\STACKHI 1 T T) (\HTMAIN (26Q 0) (HTMAINspace HTMAINbase) (HTMAINspace HTMAINbase)) (\HTMAINnpages 400Q T) (\HTOVERFLOW (27Q 0) NIL (NIL HTOVERFLOWbase)) (\HTBIGCOUNT (27Q 100000Q)) (\HTCOLL (34Q 0) NIL (HTCOLLspace HTCOLLbase)) (\DISPLAYREGION (22Q 0)) (\D1BCPLspace 0 T LEmubrHiVal) (\D0BCPLspace 0 T) (* ;; "Interface Page locations") (\CurrentFXP 0 T T) (\ResetFXP 1 T T) (\SubovFXP 2 T T) (\KbdFXP 3 T T) (\HardReturnFXP 4 T T) (\GCFXP 5) (\FAULTFXP 6 T T) (\MiscFXP 16Q T T) (\TeleRaidFXP 30Q T T) (* ;; "emulator segment locations") (DCB.EM 420Q) (DISPINTERRUPT.EM 421Q) (CURSORBITMAP.EM 431Q) (KBDAD0.EM 177034Q) (KBDAD1.EM 177035Q) (KBDAD2.EM 177036Q) (KBDAD3.EM 177037Q) (UTILIN.EM 177030Q) (CURSORX.EM 426Q) (CURSORY.EM 427Q) (MOUSEX.EM 424Q) (MOUSEY.EM 425Q) (\LispKeyMask 20000Q T T) (\BcplKeyMask 10400Q T T) (* ; "Machine types") (\MAIKO 3) (\DOLPHIN 4) (\DORADO 5) (\DANDELION 6) (\DAYBREAK 10Q) (* ;; "FOR DLION (AND DAYBREAK)") (\VP.DISPLAY 11000Q) (\NP.DISPLAY 312Q) (* ;  "for Dorado display 1024x808 pixels / (16 pixels/word x 256 words/page)") (\NP.WIDEDOVEDISPLAY 363Q) (* ;  "Wide Dove display 1152x864 pixels") (\WIDEDOVEDISPLAYWIDTH 2200Q) (\RP.AFTERDISPLAY 316Q) (* ; "Includes 4 pages for cursor") (\RP.AFTERDOVEDISPLAY 363Q) (* ; "if big screen") (\RP.DISPLAY 0) (\RP.TEMPDISPLAY 5001Q) (\RP.MISCLOCKED 5364Q) (* ;  "(+ \RP.TEMPDISPLAY \NP.WIDEDOVEDISPLAY)") (\RP.STACK 1400Q) (\VP.STACK 400Q) (\RP.MAP 400Q) (\NP.MAP 400Q) (\RP.IOPAGE 1000Q) (* ;  "The DOVE IOCBPAGE can go anywhere, but should be under the 1mbyte range") (\RP.DOVEIOCBPAGE 1037Q) (\RP.DOVEIORGN 1040Q) (\VP.DOVEIORGN 100Q) (\DOVEIORGNSIZE 100Q) (\VP.IOPAGE 377Q) (\VP.IFPAGE 12000Q) (\VP.FPTOVP 1000Q) (\NP.FPTOVP 10000Q) (\RP.FPTOVP 2000Q) (\RP.STARTBUFFERS 1200Q) (\VP.TYPETABLE 14000Q) (\NP.TYPETABLE 2000Q) (\RP.TYPETABLE 12000Q) (\VP.GCTABLE 13000Q) (\NP.GCTABLE 400Q) (\RP.GCTABLE 14000Q) (\VP.GCOVERFLOW 13400Q) (\NP.GCOVERFLOW 1) (\RP.GCOVERFLOW 14400Q) (\FP.IFPAGE 2) (\VP.IOCBS 1) (\VP.PRIMARYMAP 12002Q) (\VP.SECONDARYMAP 2400Q) (\VP.LPT 12160Q) (\VP.INITSCRATCH 10Q) (\VP.RPT 200Q) (\VP.BUFFERS 332Q) (* ; "DLion processor commands") (\DL.PROCESSORBUSY 100000Q) (\DL.SETTOD 100001Q) (\DL.READTOD 100002Q) (\DL.READPID 100003Q) (\DL.BOOTBUTTON 100004Q))) (RPAQQ MISCSTATSLAYOUT ((STARTTIME FIXP MSstrtTime) (TOTALTIME FIXP) (SWAPWAITTIME FIXP T) (PAGEFAULTS FIXP T) (SWAPWRITES FIXP T) (DISKIOTIME FIXP T) (DISKOPS FIXP T) (KEYBOARDWAITTIME FIXP T) (GCTIME FIXP T) (NETIOTIME FIXP T) (NETIOOPS FIXP T) (SWAPTEMP0 FIXP) (SWAPTEMP1 FIXP) (RCLKSECOND FIXP) (SECONDSCLOCK FIXP) (MILLISECONDSCLOCK FIXP) (BASECLOCK FIXP) (RCLKTEMP0 FIXP) (SECONDSTMP FIXP) (MILLISECONDSTMP FIXP) (BASETMP FIXP) (EXCESSTIMETMP FIXP) (CLOCKTEMP0 FIXP) (DISKTEMP0 FIXP) (DISKTEMP1 FIXP) (TELERAIDTEMP1 FIXP) (TELERAIDTEMP2 FIXP) (TELERAIDTEMP3 FIXP) (LASTUSERACTION FIXP) (DLMOUSETIMER FIXP) (DLMOUSETEMP FIXP))) (RPAQQ IFPAGELAYOUT ((CurrentFXP WORD) (* ;  "First 7 items are FX values for user and 6 system contexts.") (ResetFXP WORD) (SubovFXP WORD) (KbdFXP WORD) (HardReturnFXP WORD) (GCFXP WORD) (FAULTFXP WORD) (EndOfStack WORD) (* ;  "Stack high-water mark: address of guard block at current end of stack") (LVersion WORD) (* ;  "Lisp version, followed by min versions of microcode and Bcpl compatible with this Lisp") (MinRVersion WORD) (MinBVersion WORD) (RVersion WORD) (* ;  "Bcpl fills in the actual microcode, Bcpl versions.") (BVersion WORD) (MachineType WORD) (MiscFXP WORD) (* ; "FX for MISC context") (Key WORD) (* ;  "= IFPValidKey if vmem consistent.") (SerialNumber WORD) (* ;  "Pup host number (Dorado/Dolphin)") (EmulatorSpace WORD) (* ;  "Hiloc of bcpl space (always zero now)") (ScreenWidth WORD) (NxtPMAddr WORD) (* ;  "Next page to be allocated in secondary page map table") (NActivePages WORD) (* ; "Length of vmem in use") (NDirtyPages WORD) (* ;  "not used, but maintained as = NActivePages") (filePnPMP0 WORD) (* ; "Sysout page number of first page of secondary page map table (\PAGEMAP), which is where the secondary map pages themselves live") (filePnPMT0 WORD) (* ;  "Sysout page number of first page of primary page map table") (TELERAIDFXP WORD) (* ; "FX for TeleRaid server context") (NATIVE-START-MEM-PAGE WORD) (* ;  "Unix page where native code starts") (NATIVE-LENGTH-PAGE WORD) (* ; "Unix page length of native code") (NATIVE-PAGE-OFFSET WORD) (* ;  "Lisp Disk Page offset of native code") (UserNameAddr WORD) (* ;  "Addresses in bcpl space (seg 0) of global user name and password") (UserPswdAddr WORD) (StackBase WORD) (* ;  "Stack address where user stack starts") (FAULTHI WORD) (* ;  "Microcode for page fault stores fault address here, then does context switch to FAULTFXP") (FAULTLO WORD) (DEVCONFIG WORD) (* ; "IT'S FOR KB,DISP TYPE") (* ;  "Formerly REALPAGETABLE, back when it was always in Bcpl space.") (RPTSIZE WORD) (* ;  "Number of entries in Real Page Table") (RPOFFSET WORD) (* ; "RP-RPOFFSET => index in table") (MAXETHERBYTES WORD) (* ;  "Number of bytes available in a pbi, not counting encapsulation (Dorado)") (EMBUFVP WORD) (* ;  "VP of a one-page emulator buffer") (NSHost0 WORD) (* ; "Machine's 48-bit NS host number. Lisp manages to compute this on all machines except Dolphin, where Bcpl fills it in.") (NSHost1 WORD) (NSHost2 WORD) (MDSZone WORD) (* ;  "Obsolete -- was used by Dolphin 10MB network code.") (MDSZoneLength WORD) (EMUBUFFERS WORD) (* ;  "Buffer space in segment 0 for swapping/disk activity") (EMUBUFLENGTH WORD) (* ; "Number of words of said space") (LASTNUMCHARS WORD) (* ; "No longer used?") (SYSDISK WORD) (* ;  "Address of sysDisk in Bcpl space -- disk obj for boot partition.") (ISFMAP WORD) (* ;; "The following 4 are for \MISCAPPLY* -- note that they are not ref counted, so don't pass the only pointer to something this way!") (MISCSTACKFN FULLXPOINTER) (MISCSTACKARG1 FULLXPOINTER) (MISCSTACKARG2 FULLXPOINTER) (MISCSTACKRESULT FULLXPOINTER) (NRealPages WORD) (* ; "Number pages of real memory") (LastLockedFilePage WORD) (* ;  "Last page of vmem that is locked--booting has to load at least that far.") (LastDominoFilePage WORD) (* ;  "Last sysout page reserved for Dandelion microcode") (FPTOVPStart WORD) (* ; "Sysout page where FPTOVP starts") (FAKEMOUSEBITS WORD) (* ;  "Used to implement fake middle button on 2-button Dandelion.") (DL24BitAddressable WORD) (* ;  "non-zero if DLion capable of addressing 32MB virtual memory") (REALPAGETABLEPTR FULLXPOINTER) (* ;  "Address of real page table, set up by Bcpl (but not chained together)") (DLLastVmemPage WORD) (* ;  "DLion booting microcode puts length of vmem file here.") (FullSpaceUsed WORD) (* ;  "Non-zero if vmem beyond initial 8MB has been allocated.") (FAKEKBDAD4 WORD) (FAKEKBDAD5 WORD) (* ;; "The following 9 items (6 words and 3 pointers) are 3 3-element vectors for the Dorado extended virtual memory code--indexed by 0,1,2 according to which of up to 3 virtual memory backing files you're working with.") (XVmemFmapBase WORD) (* ;  "Bcpl stores isf map pointer to each partition here. First is redundant with ISFMAP field above.") (NIL WORD) (NIL WORD) (XVmemFmapHighBase WORD) (* ;  "Bcpl stores the highest vm page contained in this or earlier partition.") (NIL WORD) (NIL WORD) (XVmemDiskBase FULLXPOINTER) (* ;  "Lisp stores disk objects here (just a convenient non-faulting contiguous block of storage).") (NIL FULLXPOINTER) (NIL FULLXPOINTER))) (RPAQQ MAIKO.IFPAGELAYOUT ((CurrentFXP WORD) (* ;  "First 7 items are FX values for user and 6 system contexts.") (ResetFXP WORD) (SubovFXP WORD) (KbdFXP WORD) (HardReturnFXP WORD) (GCFXP WORD) (FAULTFXP WORD) (EndOfStack WORD) (* ;  "Stack high-water mark: address of guard block at current end of stack") (LVersion WORD) (* ;  "Lisp version, followed by min versions of microcode and Bcpl compatible with this Lisp") (MinRVersion WORD) (MinBVersion WORD) (RVersion WORD) (* ;  "Bcpl fills in the actual microcode, Bcpl versions.") (BVersion WORD) (MachineType WORD) (MiscFXP WORD) (* ; "FX for MISC context") (Key WORD) (* ;  "= IFPValidKey if vmem consistent.") (SerialNumber WORD) (* ;  "Pup host number (Dorado/Dolphin)") (EmulatorSpace WORD) (* ;  "Hiloc of bcpl space (always zero now)") (ScreenWidth WORD) (NxtPMAddr WORD) (* ;  "Next page to be allocated in secondary page map table") (NIL WORD) (* ;  "WAS NActivePages, Length of vmem in use") (NIL WORD) (* ;  "WAS NDirtyPages, not used, but maintained as = NActivePages") (filePnPMP0 WORD) (* ; "Sysout page number of first page of secondary page map table (\PAGEMAP), which is where the secondary map pages themselves live") (filePnPMT0 WORD) (* ;  "Sysout page number of first page of primary page map table") (TELERAIDFXP WORD) (* ; "FX for TeleRaid server context") (NATIVE-START-MEM-PAGE WORD) (* ;  "Unix page where native code starts") (NATIVE-LENGTH-PAGE WORD) (* ; "Unix page length of native code") (NATIVE-PAGE-OFFSET WORD) (* ;  "Lisp Disk Page offset of native code") (UserNameAddr WORD) (* ;  "Addresses in bcpl space (seg 0) of global user name and password") (UserPswdAddr WORD) (StackBase WORD) (* ;  "Stack address where user stack starts") (FAULTHI WORD) (* ;  "Microcode for page fault stores fault address here, then does context switch to FAULTFXP") (FAULTLO WORD) (DEVCONFIG WORD) (* ; "IT'S FOR KB,DISP TYPE") (* ;  "Formerly REALPAGETABLE, back when it was always in Bcpl space.") (RPTSIZE WORD) (* ;  "Number of entries in Real Page Table") (RPOFFSET WORD) (* ; "RP-RPOFFSET => index in table") (MAXETHERBYTES WORD) (* ;  "Number of bytes available in a pbi, not counting encapsulation (Dorado)") (EMBUFVP WORD) (* ;  "VP of a one-page emulator buffer") (NSHost0 WORD) (* ; "Machine's 48-bit NS host number. Lisp manages to compute this on all machines except Dolphin, where Bcpl fills it in.") (NSHost1 WORD) (NSHost2 WORD) (MDSZone WORD) (* ;  "Obsolete -- was used by Dolphin 10MB network code.") (MDSZoneLength WORD) (EMUBUFFERS WORD) (* ;  "Buffer space in segment 0 for swapping/disk activity") (EMUBUFLENGTH WORD) (* ; "Number of words of said space") (* ;; "The following 2 are available if NEW_STOARGE is specified in C") (ProcessSize WORD) (* ;  "Process size for which can be use as LISP space") (StorageFullState WORD) (* ; "Save last storage state") (ISFMAP WORD) (* ;; "The following 4 are for \MISCAPPLY* -- note that they are not ref counted, so don't pass the only pointer to something this way!") (MISCSTACKFN FULLXPOINTER) (MISCSTACKARG1 FULLXPOINTER) (MISCSTACKARG2 FULLXPOINTER) (MISCSTACKRESULT FULLXPOINTER) (NRealPages WORD) (* ; "Number pages of real memory") (LastLockedFilePage WORD) (* ;  "Last page of vmem that is locked--booting has to load at least that far.") (LastDominoFilePage WORD) (* ;  "Last sysout page reserved for Dandelion microcode") (FPTOVPStart WORD) (* ; "Sysout page where FPTOVP starts") (FAKEMOUSEBITS WORD) (* ;  "Used to implement fake middle button on 2-button Dandelion.") (DL24BitAddressable WORD) (* ;  "non-zero if DLion capable of addressing 32MB virtual memory") (REALPAGETABLEPTR FULLXPOINTER) (* ;  "Address of real page table, set up by Bcpl (but not chained together)") (SYSDISK WORD) (* ;  "WAS DLLastVmemPage, DLion booting microcode puts length of vmem file here.") (FullSpaceUsed WORD) (* ;  "Non-zero if vmem beyond initial 8MB has been allocated.") (FAKEKBDAD4 WORD) (FAKEKBDAD5 WORD) (* ;; "The following 9 items (6 words and 3 pointers) are 3 3-element vectors for the Dorado extended virtual memory code--indexed by 0,1,2 according to which of up to 3 virtual memory backing files you're working with.") (XVmemFmapBase WORD) (* ;  "Bcpl stores isf map pointer to each partition here. First is redundant with ISFMAP field above.") (NIL WORD) (NIL WORD) (XVmemFmapHighBase WORD) (* ;  "Bcpl stores the highest vm page contained in this or earlier partition.") (NIL WORD) (NIL WORD) (XVmemDiskBase FULLXPOINTER) (* ;  "Lisp stores disk objects here (just a convenient non-faulting contiguous block of storage).") (NIL FULLXPOINTER) (NIL FULLXPOINTER) (DLLastVmemPage FIXP) (* ;  "DLion booting microcode puts length of vmem file here.") (NActivePages FIXP) (* ; "Length of vmem in use") (NDirtyPages FIXP) (* ;  "not used, but maintained as = NActivePages") )) (RPAQQ IOPAGELAYOUT ((NIL 22Q WORD) (DLMAINTPANEL WORD NIL T) (DLFLOPPYCMD WORD) (DLTTYPORTCMD WORD) (DLPROCESSORCMD WORD) (NEWMOUSESTATE WORD) (DLBEEPCMD WORD) (DLRS232CMISCCOMMAND WORD) (DLRS232CPUTFLAG WORD) (DLRS232CGETFLAG WORD) (NIL 6 WORD) (DLFLOPPY WORD) (DLTTYOUT WORD) (NIL 1 WORD) (DLTTYIN WORD) (NIL 1 WORD) (DLPROCESSOR2 WORD) (DLPROCESSOR1 WORD) (DLPROCESSOR0 WORD) (NEWMOUSEX WORD) (NEWMOUSEY WORD) (DLBEEPFREQ WORD) (DLRS232CPARAMETERCSBLO WORD) (DLRS232CPARAMETERCSBHI WORD) (DLRS232CSETRS366STATUS 3 WORD) (DLRS232CPUTCSBLO WORD) (DLRS232CPUTCSBHI WORD) (DLRS232CGETCSBLO WORD) (DLRS232CGETCSBHI WORD) (DLRS232CDEVICESTATUS WORD) (DLRS232CPARAMETEROUTCOME WORD) (DLTODVALID WORD) (DLTODLO WORD NIL T) (DLTODHI WORD) (DLTODLO2 WORD) (DLMOUSEX WORD NIL T) (DLMOUSEY WORD NIL T) (DLUTILIN WORD NIL T) (DLKBDAD0 WORD NIL T) (DLKBDAD1 WORD NIL T) (DLKBDAD2 WORD NIL T) (DLKBDAD3 WORD NIL T) (DLKBDAD4 WORD NIL T) (DLKBDAD5 WORD NIL T) (DLLSEPIMAGECSB 40Q WORD) (DLIOPHARDWARECONFIG WORD) (NIL 13Q WORD) (DLRS232CPARAMETERCSBLO.11 WORD) (DLRS232CPARAMETERCSBHI.11 WORD) (DLRS232CSETRS366STATUS.11 16Q WORD) (NIL 74Q WORD) (DLMAGTAPE 4 WORD) (DLETHERNET 14Q WORD NIL T) (NIL 37Q WORD) (DLDISPINTERRUPT WORD NIL T) (DLDISPCONTROL WORD) (DLDISPBORDER WORD) (DLCURSORX WORD NIL T) (DLCURSORY WORD NIL T) (DLCURSORBITMAP 20Q WORD NIL T))) (DECLARE%: EVAL@COMPILE (RPAQQ CDRCODING 1) (RPAQQ \SMALLP 1) (RPAQQ \FIXP 2) (RPAQQ \FLOATP 3) (RPAQQ \LITATOM 4) (RPAQQ \LISTP 5) (RPAQQ \ARRAYP 6) (RPAQQ \STRINGP 7) (RPAQQ \STACKP 10Q) (RPAQQ \CHARACTERP 11Q) (RPAQQ \VMEMPAGEP 12Q) (RPAQQ \STREAM 13Q) (RPAQQ \TT.TYPEMASK 3777Q) (RPAQQ \TT.NOREF 100000Q) (RPAQQ \TT.SYMBOLP 40000Q) (RPAQQ \TT.FIXP 20000Q) (RPAQQ \TT.NUMBERP 10000Q) (RPAQQ \TT.ATOM 4000Q) (RPAQQ \PMblockSize 40Q) (RPAQQ \STATSsize 10Q) (RPAQQ \NumPMTpages 10Q) (RPAQQ \EmptyPMTEntry 177777Q) (RPAQQ \FirstVmemBlock 2) (RPAQQ \MAXVMPAGE 377775Q) (RPAQQ \MAXVMSEGMENT 377Q) (RPAQQ \IFPValidKey 12743Q) (RPAQQ \FirstMDSPage 77776Q) (RPAQQ \MaxMDSPage 1777775Q) (RPAQQ \DefaultSecondMDSPage 177774Q) (RPAQQ \MDSIncrement 1000Q) (RPAQQ \PagesPerMDSUnit 2) (RPAQQ \FirstArraySegment 56Q) (RPAQQ \FirstArrayPage 27000Q) (RPAQQ \DefaultSecondArrayPage 100000Q) (RPAQQ \StackMask 160000Q) (RPAQQ \FxtnBlock 140000Q) (RPAQQ \GuardBlock 160000Q) (RPAQQ \BFBlock 100000Q) (RPAQQ \FreeStackBlock 120000Q) (RPAQQ \NotStackBlock 0) (RPAQQ \MinExtraStackWords 40Q) (RPAQQ ERASECHARCODE 0) (RPAQQ \HT1CNT 2000Q) (RPAQQ \HTSTKBIT 1000Q) (RPAQQ \HTCNTMASK 176000Q) (RPAQQ \HTMAINSIZE 200000Q) (RPAQQ \HTCOLLSIZE 4000000Q) (RPAQQ \HTENDFREE 1) (RPAQQ \HTFREEPTR 0) (RPAQQ \AtomHI 0) (RPAQQ \CHARHI 7) (RPAQQ \AtomHTpages 400Q) (RPAQQ \LastAtomPage 377Q) (RPAQQ \MaxAtomFrLst 177777Q) (RPAQQ \SmallPosHi 16Q) (RPAQQ \SmallNegHi 17Q) (RPAQQ \NumSmallPages 1000Q) (RPAQQ \PNAME.HI 10Q) (RPAQQ \ATOM.HI 54Q) (RPAQQ \DEF.HI 12Q) (RPAQQ \VAL.HI 14Q) (RPAQQ \PLIST.HI 2) (RPAQQ \NumPageMapPages 400Q) (RPAQQ \MDSTTsize 2000Q) (RPAQQ \UFNTableSize 2) (RPAQQ \DTDSize 22Q) (RPAQQ \EndTypeNumber 3777Q) (RPAQQ \NumLPTPages 20Q) (RPAQQ \GuardStackAddr 170000Q) (RPAQQ \LastStackAddr 177776Q) (RPAQQ \STACKHI 1) (RPAQQ \HTMAINnpages 400Q) (RPAQQ \D1BCPLspace 0) (RPAQQ \D0BCPLspace 0) (RPAQQ \CurrentFXP 0) (RPAQQ \ResetFXP 1) (RPAQQ \SubovFXP 2) (RPAQQ \KbdFXP 3) (RPAQQ \HardReturnFXP 4) (RPAQQ \GCFXP 5) (RPAQQ \FAULTFXP 6) (RPAQQ \MiscFXP 16Q) (RPAQQ \TeleRaidFXP 30Q) (RPAQQ DCB.EM 420Q) (RPAQQ DISPINTERRUPT.EM 421Q) (RPAQQ CURSORBITMAP.EM 431Q) (RPAQQ KBDAD0.EM 177034Q) (RPAQQ KBDAD1.EM 177035Q) (RPAQQ KBDAD2.EM 177036Q) (RPAQQ KBDAD3.EM 177037Q) (RPAQQ UTILIN.EM 177030Q) (RPAQQ CURSORX.EM 426Q) (RPAQQ CURSORY.EM 427Q) (RPAQQ MOUSEX.EM 424Q) (RPAQQ MOUSEY.EM 425Q) (RPAQQ \LispKeyMask 20000Q) (RPAQQ \BcplKeyMask 10400Q) (RPAQQ \MAIKO 3) (RPAQQ \DOLPHIN 4) (RPAQQ \DORADO 5) (RPAQQ \DANDELION 6) (RPAQQ \DAYBREAK 10Q) (RPAQQ \VP.DISPLAY 11000Q) (RPAQQ \NP.DISPLAY 312Q) (RPAQQ \NP.WIDEDOVEDISPLAY 363Q) (RPAQQ \WIDEDOVEDISPLAYWIDTH 2200Q) (RPAQQ \RP.AFTERDISPLAY 316Q) (RPAQQ \RP.AFTERDOVEDISPLAY 363Q) (RPAQQ \RP.DISPLAY 0) (RPAQQ \RP.TEMPDISPLAY 5001Q) (RPAQQ \RP.MISCLOCKED 5364Q) (RPAQQ \RP.STACK 1400Q) (RPAQQ \VP.STACK 400Q) (RPAQQ \RP.MAP 400Q) (RPAQQ \NP.MAP 400Q) (RPAQQ \RP.IOPAGE 1000Q) (RPAQQ \RP.DOVEIOCBPAGE 1037Q) (RPAQQ \RP.DOVEIORGN 1040Q) (RPAQQ \VP.DOVEIORGN 100Q) (RPAQQ \DOVEIORGNSIZE 100Q) (RPAQQ \VP.IOPAGE 377Q) (RPAQQ \VP.IFPAGE 12000Q) (RPAQQ \VP.FPTOVP 1000Q) (RPAQQ \NP.FPTOVP 10000Q) (RPAQQ \RP.FPTOVP 2000Q) (RPAQQ \RP.STARTBUFFERS 1200Q) (RPAQQ \VP.TYPETABLE 14000Q) (RPAQQ \NP.TYPETABLE 2000Q) (RPAQQ \RP.TYPETABLE 12000Q) (RPAQQ \VP.GCTABLE 13000Q) (RPAQQ \NP.GCTABLE 400Q) (RPAQQ \RP.GCTABLE 14000Q) (RPAQQ \VP.GCOVERFLOW 13400Q) (RPAQQ \NP.GCOVERFLOW 1) (RPAQQ \RP.GCOVERFLOW 14400Q) (RPAQQ \FP.IFPAGE 2) (RPAQQ \VP.IOCBS 1) (RPAQQ \VP.PRIMARYMAP 12002Q) (RPAQQ \VP.SECONDARYMAP 2400Q) (RPAQQ \VP.LPT 12160Q) (RPAQQ \VP.INITSCRATCH 10Q) (RPAQQ \VP.RPT 200Q) (RPAQQ \VP.BUFFERS 332Q) (RPAQQ \DL.PROCESSORBUSY 100000Q) (RPAQQ \DL.SETTOD 100001Q) (RPAQQ \DL.READTOD 100002Q) (RPAQQ \DL.READPID 100003Q) (RPAQQ \DL.BOOTBUTTON 100004Q) (CONSTANTS (CDRCODING 1) (\SMALLP 1) (\FIXP 2) (\FLOATP 3) (\LITATOM 4) (\LISTP 5) (\ARRAYP 6) (\STRINGP 7) (\STACKP 10Q) (\CHARACTERP 11Q) (\VMEMPAGEP 12Q) (\STREAM 13Q) (\TT.TYPEMASK 3777Q) (\TT.NOREF 100000Q) (\TT.SYMBOLP 40000Q) (\TT.FIXP 20000Q) (\TT.NUMBERP 10000Q) (\TT.ATOM 4000Q) (\PMblockSize 40Q) (\STATSsize 10Q) (\NumPMTpages 10Q) (\EmptyPMTEntry 177777Q) (\FirstVmemBlock 2) (\MAXVMPAGE 377775Q) (\MAXVMSEGMENT 377Q) (\IFPValidKey 12743Q) (\FirstMDSPage 77776Q) (\MaxMDSPage 1777775Q) (\DefaultSecondMDSPage 177774Q) (\MDSIncrement 1000Q) (\PagesPerMDSUnit 2) (\FirstArraySegment 56Q) (\FirstArrayPage 27000Q) (\DefaultSecondArrayPage 100000Q) (\StackMask 160000Q) (\FxtnBlock 140000Q) (\GuardBlock 160000Q) (\BFBlock 100000Q) (\FreeStackBlock 120000Q) (\NotStackBlock 0) (\MinExtraStackWords 40Q) (ERASECHARCODE 0) (\HT1CNT 2000Q) (\HTSTKBIT 1000Q) (\HTCNTMASK 176000Q) (\HTMAINSIZE 200000Q) (\HTCOLLSIZE 4000000Q) (\HTENDFREE 1) (\HTFREEPTR 0) (\AtomHI 0) (\CHARHI 7) (\AtomHTpages 400Q) (\LastAtomPage 377Q) (\MaxAtomFrLst 177777Q) (\SmallPosHi 16Q) (\SmallNegHi 17Q) (\NumSmallPages 1000Q) (\PNAME.HI 10Q) (\ATOM.HI 54Q) (\DEF.HI 12Q) (\VAL.HI 14Q) (\PLIST.HI 2) (\NumPageMapPages 400Q) (\MDSTTsize 2000Q) (\UFNTableSize 2) (\DTDSize 22Q) (\EndTypeNumber 3777Q) (\NumLPTPages 20Q) (\GuardStackAddr 170000Q) (\LastStackAddr 177776Q) (\STACKHI 1) (\HTMAINnpages 400Q) (\D1BCPLspace 0) (\D0BCPLspace 0) (\CurrentFXP 0) (\ResetFXP 1) (\SubovFXP 2) (\KbdFXP 3) (\HardReturnFXP 4) (\GCFXP 5) (\FAULTFXP 6) (\MiscFXP 16Q) (\TeleRaidFXP 30Q) (DCB.EM 420Q) (DISPINTERRUPT.EM 421Q) (CURSORBITMAP.EM 431Q) (KBDAD0.EM 177034Q) (KBDAD1.EM 177035Q) (KBDAD2.EM 177036Q) (KBDAD3.EM 177037Q) (UTILIN.EM 177030Q) (CURSORX.EM 426Q) (CURSORY.EM 427Q) (MOUSEX.EM 424Q) (MOUSEY.EM 425Q) (\LispKeyMask 20000Q) (\BcplKeyMask 10400Q) (\MAIKO 3) (\DOLPHIN 4) (\DORADO 5) (\DANDELION 6) (\DAYBREAK 10Q) (\VP.DISPLAY 11000Q) (\NP.DISPLAY 312Q) (\NP.WIDEDOVEDISPLAY 363Q) (\WIDEDOVEDISPLAYWIDTH 2200Q) (\RP.AFTERDISPLAY 316Q) (\RP.AFTERDOVEDISPLAY 363Q) (\RP.DISPLAY 0) (\RP.TEMPDISPLAY 5001Q) (\RP.MISCLOCKED 5364Q) (\RP.STACK 1400Q) (\VP.STACK 400Q) (\RP.MAP 400Q) (\NP.MAP 400Q) (\RP.IOPAGE 1000Q) (\RP.DOVEIOCBPAGE 1037Q) (\RP.DOVEIORGN 1040Q) (\VP.DOVEIORGN 100Q) (\DOVEIORGNSIZE 100Q) (\VP.IOPAGE 377Q) (\VP.IFPAGE 12000Q) (\VP.FPTOVP 1000Q) (\NP.FPTOVP 10000Q) (\RP.FPTOVP 2000Q) (\RP.STARTBUFFERS 1200Q) (\VP.TYPETABLE 14000Q) (\NP.TYPETABLE 2000Q) (\RP.TYPETABLE 12000Q) (\VP.GCTABLE 13000Q) (\NP.GCTABLE 400Q) (\RP.GCTABLE 14000Q) (\VP.GCOVERFLOW 13400Q) (\NP.GCOVERFLOW 1) (\RP.GCOVERFLOW 14400Q) (\FP.IFPAGE 2) (\VP.IOCBS 1) (\VP.PRIMARYMAP 12002Q) (\VP.SECONDARYMAP 2400Q) (\VP.LPT 12160Q) (\VP.INITSCRATCH 10Q) (\VP.RPT 200Q) (\VP.BUFFERS 332Q) (\DL.PROCESSORBUSY 100000Q) (\DL.SETTOD 100001Q) (\DL.READTOD 100002Q) (\DL.READPID 100003Q) (\DL.BOOTBUTTON 100004Q)) ) (RPAQQ \MPERRORS ((\MP.OBSOLETEVMEM 1) (\MP.INVALIDVMEM 2 "Vmem inconsistent at startup") (\MP.IOCBPAGE 3 "No place for IOCB page at startup") (\MP.MOB 4 "Map out of bounds") (\MP.INVALIDADDR 5) (\MP.INVALIDVP 6) (\MP.CHAIN.UNAVAIL 7 "Unavailable page on real page table chain") (\MP.SELECTLOOP 10Q "Loop in \SELECTREALPAGE") (\MP.NEWPAGE 11Q "Attempt to allocate already existing page") (\MP.NEWMAPPAGE 12Q "\DONEWPAGE failed to allocate new map page") (\MP.BADLOCKED 13Q "Locked page occupies a file page needed to lock another") (\MP.CLOCK0 14Q "Arg to CLOCK0 not an integer box") (\MP.RESIDENT 15Q "Fault on resident page") (\MP.STACKFAULT 16Q "Fault on stack") (\MP.VMEMTOOLONG 20Q "Attempt to extend Vmem File beyond fixed limit (8mb)") (\MP.WRITING.LOCKED.PAGE 21Q "Writing a locked page with UPDATEKEY = T") (\MP.UNINTERRUPTABLE 22Q "Error in uninterruptable system code") (\MP.STACKFULL 23Q) (\MP.MDSFULL 24Q) (\MP.UNKNOWN.UFN 25Q) (\MP.ATOMSFULL 26Q) (\MP.PNAMESFULL 27Q) (\MP.USECOUNTOVERFLOW 30Q) (\MP.MDSFULLWARNING 31Q) (\MP.BADMDSFREELIST 32Q) (\MP.BADARRAYBLOCK 33Q) (\MP.BADDELETEBLOCK 34Q) (\MP.BADARRAYRECLAIM 35Q) (\MP.BIGREFCNTMISSING 36Q "PTR refcnt previously overflowed, but not found in table.") (\MP.BIGREFCNTALREADYPRESENT 37Q "PTR already in overflow table") (\MP.DELREF0 40Q) (\MP.PROCERROR 41Q) (\MP.PROCNOFRAME 42Q "Failed to build frame for PROCESS use") (\MP.32MBINUSE 43Q) (\MP.TOPUNWOUND 44Q "Unexpected (RETTO T)") (\MP.STACKRELEASED 45Q) (\MP.FLUSHLOCKED 46Q) (\MP.MAPNOTLOCKED 47Q) (\MP.UNLOCKINGMAP 50Q) (\MP.SWAPDISKERROR 51Q "Hard Disk Error in swapper") (\MP.BADRUNTABLE 52Q "Malformed run table for vmem file"))) (DECLARE%: EVAL@COMPILE (RPAQQ \MP.OBSOLETEVMEM 1) (RPAQ \MP.INVALIDVMEM 2 "Vmem inconsistent at startup") (RPAQ \MP.IOCBPAGE 3 "No place for IOCB page at startup") (RPAQ \MP.MOB 4 "Map out of bounds") (RPAQQ \MP.INVALIDADDR 5) (RPAQQ \MP.INVALIDVP 6) (RPAQ \MP.CHAIN.UNAVAIL 7 "Unavailable page on real page table chain") (RPAQ \MP.SELECTLOOP 10Q "Loop in \SELECTREALPAGE") (RPAQ \MP.NEWPAGE 11Q "Attempt to allocate already existing page") (RPAQ \MP.NEWMAPPAGE 12Q "\DONEWPAGE failed to allocate new map page") (RPAQ \MP.BADLOCKED 13Q "Locked page occupies a file page needed to lock another") (RPAQ \MP.CLOCK0 14Q "Arg to CLOCK0 not an integer box") (RPAQ \MP.RESIDENT 15Q "Fault on resident page") (RPAQ \MP.STACKFAULT 16Q "Fault on stack") (RPAQ \MP.VMEMTOOLONG 20Q "Attempt to extend Vmem File beyond fixed limit (8mb)") (RPAQ \MP.WRITING.LOCKED.PAGE 21Q "Writing a locked page with UPDATEKEY = T") (RPAQ \MP.UNINTERRUPTABLE 22Q "Error in uninterruptable system code") (RPAQQ \MP.STACKFULL 23Q) (RPAQQ \MP.MDSFULL 24Q) (RPAQQ \MP.UNKNOWN.UFN 25Q) (RPAQQ \MP.ATOMSFULL 26Q) (RPAQQ \MP.PNAMESFULL 27Q) (RPAQQ \MP.USECOUNTOVERFLOW 30Q) (RPAQQ \MP.MDSFULLWARNING 31Q) (RPAQQ \MP.BADMDSFREELIST 32Q) (RPAQQ \MP.BADARRAYBLOCK 33Q) (RPAQQ \MP.BADDELETEBLOCK 34Q) (RPAQQ \MP.BADARRAYRECLAIM 35Q) (RPAQ \MP.BIGREFCNTMISSING 36Q "PTR refcnt previously overflowed, but not found in table.") (RPAQ \MP.BIGREFCNTALREADYPRESENT 37Q "PTR already in overflow table") (RPAQQ \MP.DELREF0 40Q) (RPAQQ \MP.PROCERROR 41Q) (RPAQ \MP.PROCNOFRAME 42Q "Failed to build frame for PROCESS use") (RPAQQ \MP.32MBINUSE 43Q) (RPAQ \MP.TOPUNWOUND 44Q "Unexpected (RETTO T)") (RPAQQ \MP.STACKRELEASED 45Q) (RPAQQ \MP.FLUSHLOCKED 46Q) (RPAQQ \MP.MAPNOTLOCKED 47Q) (RPAQQ \MP.UNLOCKINGMAP 50Q) (RPAQ \MP.SWAPDISKERROR 51Q "Hard Disk Error in swapper") (RPAQ \MP.BADRUNTABLE 52Q "Malformed run table for vmem file") (CONSTANTS (\MP.OBSOLETEVMEM 1) (\MP.INVALIDVMEM 2 "Vmem inconsistent at startup") (\MP.IOCBPAGE 3 "No place for IOCB page at startup") (\MP.MOB 4 "Map out of bounds") (\MP.INVALIDADDR 5) (\MP.INVALIDVP 6) (\MP.CHAIN.UNAVAIL 7 "Unavailable page on real page table chain") (\MP.SELECTLOOP 10Q "Loop in \SELECTREALPAGE") (\MP.NEWPAGE 11Q "Attempt to allocate already existing page") (\MP.NEWMAPPAGE 12Q "\DONEWPAGE failed to allocate new map page") (\MP.BADLOCKED 13Q "Locked page occupies a file page needed to lock another") (\MP.CLOCK0 14Q "Arg to CLOCK0 not an integer box") (\MP.RESIDENT 15Q "Fault on resident page") (\MP.STACKFAULT 16Q "Fault on stack") (\MP.VMEMTOOLONG 20Q "Attempt to extend Vmem File beyond fixed limit (8mb)") (\MP.WRITING.LOCKED.PAGE 21Q "Writing a locked page with UPDATEKEY = T") (\MP.UNINTERRUPTABLE 22Q "Error in uninterruptable system code") (\MP.STACKFULL 23Q) (\MP.MDSFULL 24Q) (\MP.UNKNOWN.UFN 25Q) (\MP.ATOMSFULL 26Q) (\MP.PNAMESFULL 27Q) (\MP.USECOUNTOVERFLOW 30Q) (\MP.MDSFULLWARNING 31Q) (\MP.BADMDSFREELIST 32Q) (\MP.BADARRAYBLOCK 33Q) (\MP.BADDELETEBLOCK 34Q) (\MP.BADARRAYRECLAIM 35Q) (\MP.BIGREFCNTMISSING 36Q "PTR refcnt previously overflowed, but not found in table.") (\MP.BIGREFCNTALREADYPRESENT 37Q "PTR already in overflow table") (\MP.DELREF0 40Q) (\MP.PROCERROR 41Q) (\MP.PROCNOFRAME 42Q "Failed to build frame for PROCESS use") (\MP.32MBINUSE 43Q) (\MP.TOPUNWOUND 44Q "Unexpected (RETTO T)") (\MP.STACKRELEASED 45Q) (\MP.FLUSHLOCKED 46Q) (\MP.MAPNOTLOCKED 47Q) (\MP.UNLOCKINGMAP 50Q) (\MP.SWAPDISKERROR 51Q "Hard Disk Error in swapper") (\MP.BADRUNTABLE 52Q "Malformed run table for vmem file")) ) (DECLARE%: DOEVAL@COMPILE DONTCOPY (GLOBALVARS \ARRAYSPACE \ARRAYSPACE2 \ATOMSPACE \AtomHashTable \SMALLPOSPSPACE \SMALLNEGSPACE \PNPSPACE \OLDATOMSPACE \DEFSPACE \VALSPACE \PLISTSPACE \PAGEMAP \PageMapTBL \InterfacePage \IOPAGE \DoveIORegion \IOCBPAGE \FPTOVP \MDSTypeTable \MISCSTATS \UFNTable \DTDSpaceBase \LISTPDTD \LOCKEDPAGETABLE \STACKSPACE \HTMAIN \HTOVERFLOW \HTBIGCOUNT \HTCOLL \DISPLAYREGION) ) (BLOCKRECORD MISCSTATS ((STARTTIME FIXP) (TOTALTIME FIXP) (SWAPWAITTIME FIXP) (PAGEFAULTS FIXP) (SWAPWRITES FIXP) (DISKIOTIME FIXP) (DISKOPS FIXP) (KEYBOARDWAITTIME FIXP) (GCTIME FIXP) (NETIOTIME FIXP) (NETIOOPS FIXP) (SWAPTEMP0 FIXP) (SWAPTEMP1 FIXP) (RCLKSECOND FIXP) (SECONDSCLOCK FIXP) (MILLISECONDSCLOCK FIXP) (BASECLOCK FIXP) (RCLKTEMP0 FIXP) (SECONDSTMP FIXP) (MILLISECONDSTMP FIXP) (BASETMP FIXP) (EXCESSTIMETMP FIXP) (CLOCKTEMP0 FIXP) (DISKTEMP0 FIXP) (DISKTEMP1 FIXP) (TELERAIDTEMP1 FIXP) (TELERAIDTEMP2 FIXP) (TELERAIDTEMP3 FIXP) (LASTUSERACTION FIXP) (DLMOUSETIMER FIXP) (DLMOUSETEMP FIXP)) (CREATE (\ALLOCBLOCK 37Q))) (BLOCKRECORD IFPAGE ((CurrentFXP WORD) (* ;  "First 7 items are FX values for user and 6 system contexts.") (ResetFXP WORD) (SubovFXP WORD) (KbdFXP WORD) (HardReturnFXP WORD) (GCFXP WORD) (FAULTFXP WORD) (EndOfStack WORD) (* ;  "Stack high-water mark: address of guard block at current end of stack") (LVersion WORD) (* ;  "Lisp version, followed by min versions of microcode and Bcpl compatible with this Lisp") (MinRVersion WORD) (MinBVersion WORD) (RVersion WORD) (* ;  "Bcpl fills in the actual microcode, Bcpl versions.") (BVersion WORD) (MachineType WORD) (MiscFXP WORD) (* ; "FX for MISC context") (Key WORD) (* ;  "= IFPValidKey if vmem consistent.") (SerialNumber WORD) (* ;  "Pup host number (Dorado/Dolphin)") (EmulatorSpace WORD) (* ;  "Hiloc of bcpl space (always zero now)") (ScreenWidth WORD) (NxtPMAddr WORD) (* ;  "Next page to be allocated in secondary page map table") (NIL WORD) (* ;  "WAS NActivePages, Length of vmem in use") (NIL WORD) (* ;  "WAS NDirtyPages, not used, but maintained as = NActivePages") (filePnPMP0 WORD) (* ; "Sysout page number of first page of secondary page map table (\PAGEMAP), which is where the secondary map pages themselves live") (filePnPMT0 WORD) (* ;  "Sysout page number of first page of primary page map table") (TELERAIDFXP WORD) (* ; "FX for TeleRaid server context") (NATIVE-START-MEM-PAGE WORD) (* ;  "Unix page where native code starts") (NATIVE-LENGTH-PAGE WORD) (* ; "Unix page length of native code") (NATIVE-PAGE-OFFSET WORD) (* ;  "Lisp Disk Page offset of native code") (UserNameAddr WORD) (* ;  "Addresses in bcpl space (seg 0) of global user name and password") (UserPswdAddr WORD) (StackBase WORD) (* ;  "Stack address where user stack starts") (FAULTHI WORD) (* ;  "Microcode for page fault stores fault address here, then does context switch to FAULTFXP") (FAULTLO WORD) (DEVCONFIG WORD) (* ; "IT'S FOR KB,DISP TYPE") (* ;  "Formerly REALPAGETABLE, back when it was always in Bcpl space.") (RPTSIZE WORD) (* ;  "Number of entries in Real Page Table") (RPOFFSET WORD) (* ; "RP-RPOFFSET => index in table") (MAXETHERBYTES WORD) (* ;  "Number of bytes available in a pbi, not counting encapsulation (Dorado)") (EMBUFVP WORD) (* ;  "VP of a one-page emulator buffer") (NSHost0 WORD) (* ; "Machine's 48-bit NS host number. Lisp manages to compute this on all machines except Dolphin, where Bcpl fills it in.") (NSHost1 WORD) (NSHost2 WORD) (MDSZone WORD) (* ;  "Obsolete -- was used by Dolphin 10MB network code.") (MDSZoneLength WORD) (EMUBUFFERS WORD) (* ;  "Buffer space in segment 0 for swapping/disk activity") (EMUBUFLENGTH WORD) (* ; "Number of words of said space") (* ;; "The following 2 are available if NEW_STOARGE is specified in C") (ProcessSize WORD) (* ;  "Process size for which can be use as LISP space") (StorageFullState WORD) (* ; "Save last storage state") (ISFMAP WORD) (* ;; "The following 4 are for \MISCAPPLY* -- note that they are not ref counted, so don't pass the only pointer to something this way!") (MISCSTACKFN FULLXPOINTER) (MISCSTACKARG1 FULLXPOINTER) (MISCSTACKARG2 FULLXPOINTER) (MISCSTACKRESULT FULLXPOINTER) (NRealPages WORD) (* ; "Number pages of real memory") (LastLockedFilePage WORD) (* ;  "Last page of vmem that is locked--booting has to load at least that far.") (LastDominoFilePage WORD) (* ;  "Last sysout page reserved for Dandelion microcode") (FPTOVPStart WORD) (* ; "Sysout page where FPTOVP starts") (FAKEMOUSEBITS WORD) (* ;  "Used to implement fake middle button on 2-button Dandelion.") (DL24BitAddressable WORD) (* ;  "non-zero if DLion capable of addressing 32MB virtual memory") (REALPAGETABLEPTR FULLXPOINTER) (* ;  "Address of real page table, set up by Bcpl (but not chained together)") (SYSDISK WORD) (* ;  "WAS DLLastVmemPage, DLion booting microcode puts length of vmem file here.") (FullSpaceUsed WORD) (* ;  "Non-zero if vmem beyond initial 8MB has been allocated.") (FAKEKBDAD4 WORD) (FAKEKBDAD5 WORD) (* ;; "The following 9 items (6 words and 3 pointers) are 3 3-element vectors for the Dorado extended virtual memory code--indexed by 0,1,2 according to which of up to 3 virtual memory backing files you're working with.") (XVmemFmapBase WORD) (* ;  "Bcpl stores isf map pointer to each partition here. First is redundant with ISFMAP field above.") (NIL WORD) (NIL WORD) (XVmemFmapHighBase WORD) (* ;  "Bcpl stores the highest vm page contained in this or earlier partition.") (NIL WORD) (NIL WORD) (XVmemDiskBase FULLXPOINTER) (* ;  "Lisp stores disk objects here (just a convenient non-faulting contiguous block of storage).") (NIL FULLXPOINTER) (NIL FULLXPOINTER) (DLLastVmemPage FIXP) (* ;  "DLion booting microcode puts length of vmem file here.") (NActivePages FIXP) (* ; "Length of vmem in use") (NDirtyPages FIXP) (* ;  "not used, but maintained as = NActivePages") ) (CREATE (\ALLOCBLOCK 53Q))) (BLOCKRECORD IOPAGE ((NIL 22Q WORD) (DLMAINTPANEL WORD) (DLFLOPPYCMD WORD) (DLTTYPORTCMD WORD) (DLPROCESSORCMD WORD) (NEWMOUSESTATE WORD) (DLBEEPCMD WORD) (DLRS232CMISCCOMMAND WORD) (DLRS232CPUTFLAG WORD) (DLRS232CGETFLAG WORD) (NIL 6 WORD) (DLFLOPPY WORD) (DLTTYOUT WORD) (NIL 1 WORD) (DLTTYIN WORD) (NIL 1 WORD) (DLPROCESSOR2 WORD) (DLPROCESSOR1 WORD) (DLPROCESSOR0 WORD) (NEWMOUSEX WORD) (NEWMOUSEY WORD) (DLBEEPFREQ WORD) (DLRS232CPARAMETERCSBLO WORD) (DLRS232CPARAMETERCSBHI WORD) (DLRS232CSETRS366STATUS 3 WORD) (DLRS232CPUTCSBLO WORD) (DLRS232CPUTCSBHI WORD) (DLRS232CGETCSBLO WORD) (DLRS232CGETCSBHI WORD) (DLRS232CDEVICESTATUS WORD) (DLRS232CPARAMETEROUTCOME WORD) (DLTODVALID WORD) (DLTODLO WORD) (DLTODHI WORD) (DLTODLO2 WORD) (DLMOUSEX WORD) (DLMOUSEY WORD) (DLUTILIN WORD) (DLKBDAD0 WORD) (DLKBDAD1 WORD) (DLKBDAD2 WORD) (DLKBDAD3 WORD) (DLKBDAD4 WORD) (DLKBDAD5 WORD) (DLLSEPIMAGECSB 40Q WORD) (DLIOPHARDWARECONFIG WORD) (NIL 13Q WORD) (DLRS232CPARAMETERCSBLO.11 WORD) (DLRS232CPARAMETERCSBHI.11 WORD) (DLRS232CSETRS366STATUS.11 16Q WORD) (NIL 74Q WORD) (DLMAGTAPE 4 WORD) (DLETHERNET 14Q WORD) (NIL 37Q WORD) (DLDISPINTERRUPT WORD) (DLDISPCONTROL WORD) (DLDISPBORDER WORD) (DLCURSORX WORD) (DLCURSORY WORD) (DLCURSORBITMAP 20Q WORD)) [ACCESSFNS IOPAGE ((DLCURSORBITMAPPTR (\ADDBASE DATUM 360Q)) (DLCURSORYPTR (\ADDBASE DATUM 357Q)) (DLCURSORXPTR (\ADDBASE DATUM 356Q)) (DLDISPINTERRUPTPTR (\ADDBASE DATUM 353Q)) (DLETHERNETPTR (\ADDBASE DATUM 300Q)) (DLKBDAD5PTR (\ADDBASE DATUM 103Q)) (DLKBDAD4PTR (\ADDBASE DATUM 102Q)) (DLKBDAD3PTR (\ADDBASE DATUM 101Q)) (DLKBDAD2PTR (\ADDBASE DATUM 100Q)) (DLKBDAD1PTR (\ADDBASE DATUM 77Q)) (DLKBDAD0PTR (\ADDBASE DATUM 76Q)) (DLUTILINPTR (\ADDBASE DATUM 75Q)) (DLMOUSEYPTR (\ADDBASE DATUM 74Q)) (DLMOUSEXPTR (\ADDBASE DATUM 73Q)) (DLTODLOPTR (\ADDBASE DATUM 70Q)) (DLMAINTPANELPTR (\ADDBASE DATUM 22Q] (CREATE (\ALLOCBLOCK 200Q))) (DECLARE%: EVAL@COMPILE (PUTPROPS EMADDRESS MACRO [ARGS ([LAMBDA (ADDR) (COND [(EQ \D1BCPLspace \D0BCPLspace) (LIST (LIST 'OPCODES 'GCONST 0 0 (LRSH ADDR 10Q) (LOGAND ADDR 377Q] (T `(\VAG2 (fetch EmulatorSpace of \InterfacePage ) %, ADDR] (EVAL (CAR ARGS]) (PUTPROPS EMGETBASE MACRO ((OFFSET) (\GETBASE (EMADDRESS OFFSET) 0))) (PUTPROPS EMPUTBASE MACRO ((OFFSET VAL) (\PUTBASE (EMADDRESS OFFSET) 0 VAL))) (PUTPROPS EMULATORSEGMENT MACRO (NIL (fetch EmulatorSpace of \InterfacePage))) (PUTPROPS EMPOINTER MACRO [X (COND ((NEQ \D1BCPLspace \D0BCPLspace) (LIST '\VAG2 '(fetch (IFPAGE EmulatorSpace) of \InterfacePage ) (CAR X))) ((ZEROP (CAR X)) NIL) (T (LIST '\VAG2 \D0BCPLspace (CAR X]) (PUTPROPS EMADDRESSP MACRO [X (LIST 'EQ (LIST '\HILOC (CAR X)) (COND ((EQ \D1BCPLspace \D0BCPLspace) \D0BCPLspace) (T '(fetch (IFPAGE EmulatorSpace) of \InterfacePage ]) ) (* "END EXPORTED DEFINITIONS") ) (PUTPROPS LLPARAMS MAKEFILE-ENVIRONMENT (:READTABLE "INTERLISP" :PACKAGE "INTERLISP" :BASE 10Q)) (DECLARE%: DONTCOPY (FILEMAP (NIL (5274Q 11316Q (MAKERECORD 5306Q . 11314Q))))) STOP