(DEFINE-FILE-INFO READTABLE "INTERLISP" PACKAGE "INTERLISP") (FILECREATED "16-May-90 16:09:03" {DSK}local>lde>lispcore>sources>DOVEMISC.;2 13204 changes to%: (VARS DOVEMISCCOMS) previous date%: "24-Oct-86 13:06:41" {DSK}local>lde>lispcore>sources>DOVEMISC.;1) (* ; " Copyright (c) 1985, 1986, 1990 by Venue & Xerox Corporation. All rights reserved. ") (PRETTYCOMPRINT DOVEMISCCOMS) (RPAQQ DOVEMISCCOMS [(FNS \DoveMisc.BeepOff \DoveMisc.BeepOn \DoveMisc.BootButton \DoveMisc.DoProcessorCommand \DoveMisc.GetKBDBase \DoveMisc.GetMouseXBase \DoveMisc.GetMouseYBase \DoveMisc.Init \DoveMisc.ReadDisplayDesc \DoveMisc.ReadGMT \DoveMisc.ReadHostID \DoveMisc.ReadKeyboardType \DoveMisc.ReadPCType \DoveMisc.ReadRealMemDesc \DoveMisc.ReadVMMapDesc \DoveMisc.SetMousePosition \DoveMisc.TODValid \DoveMisc.WriteGMT ) (INITVARS (\DoveBeep.FCBPointer) (\DoveProcessor.FCBPointer) (\DoveKyMo.FCBPointer) (\DoveMP.FCBPointer)) (GLOBALVARS \DoveBeep.FCBPointer \DoveProcessor.FCBPointer \DoveKyMo.FCBPointer \DoveMP.FCBPointer) (DECLARE%: EVAL@COMPILE DONTCOPY (FILES (SOURCE) DOVEDECLS) (RECORDS Dove.BeepFCB Dove.KeyboardFCB Dove.ProcessorFCB Dove.TODFormat) (CONSTANTS (\DoveMisc.ReadGMT 1) (\DoveMisc.WriteGMT 2) (\DoveMisc.ReadHostID 3) (\DoveMisc.ReadVMMapDesc 4) (\DoveMisc.ReadRealMemDesc 5) (\DoveMisc.ReadDisplayDesc 6) (\DoveMisc.ReadKeyboardType 7) (\DoveMisc.ReadPCType 8) (\DoveMisc.BootButton 9))) (DECLARE%: DONTEVAL@LOAD DOCOPY (P (\DoveMisc.Init]) (DEFINEQ (\DoveMisc.BeepOff (LAMBDA NIL (* ejs%: "13-Sep-85 00:25") (replace (Dove.BeepFCB Frequency.BS) of \DoveBeep.FCBPointer with 0) (\DoveIO.NotifyIOP (fetch (Dove.BeepFCB BeepMask) of \DoveBeep.FCBPointer)))) (\DoveMisc.BeepOn (LAMBDA (FREQ) (DECLARE (GLOBALVARS \DoveIORegion)) (replace (Dove.BeepFCB Frequency.BS) of \DoveBeep.FCBPointer with (\DoveIO.ByteSwap (FIX (QUOTIENT 1000000 (IMAX FREQ 14))))) (\DoveIO.NotifyIOP (fetch (Dove.BeepFCB BeepMask) of \DoveBeep.FCBPointer)))) (\DoveMisc.BootButton (LAMBDA NIL (* mpl "23-Jul-85 23:46") (* * This fn re-boots the machine) (DECLARE (CONSTANTS \DoveMisc.BootButton)) (\DoveMisc.DoProcessorCommand \DoveMisc.BootButton) (until NIL do (NILL)))) (\DoveMisc.DoProcessorCommand (LAMBDA (CMD) (* ejs%: "14-Oct-85 00:04") (* * This fn stuffs commands at the mesa processor task) (replace (Dove.ProcessorFCB Command) of \DoveProcessor.FCBPointer with CMD) (\PUTBASE \IOPAGE 10 7000) (\DoveIO.NotifyIOP 0) (\PUTBASE \IOPAGE 10 7003) (until (EQ 0 (fetch (Dove.ProcessorFCB Command) of \DoveProcessor.FCBPointer))) (\PUTBASE \IOPAGE 10 7004))) (\DoveMisc.GetKBDBase (LAMBDA NIL (* ejs%: "12-Oct-85 21:22") (fetch (Dove.KeyboardFCB KeyBitsBase) of \DoveKyMo.FCBPointer))) (\DoveMisc.GetMouseXBase (LAMBDA NIL (DECLARE (GLOBALVARS \DoveIORegion) (CONSTANTS \Dove.Keyboard&MouseFCBOffset)) (* ejs%: "13-Sep-85 00:29") (\ADDBASE \DoveKyMo.FCBPointer (INDEXF (fetch (Dove.KeyboardFCB MouseX)))))) (\DoveMisc.GetMouseYBase (LAMBDA NIL (* ejs%: "13-Sep-85 00:30") (\ADDBASE \DoveKyMo.FCBPointer (INDEXF (fetch (Dove.KeyboardFCB MouseY)))))) (\DoveMisc.Init (LAMBDA NIL (* ejs%: "14-Oct-85 00:42") (MAPC '(\DoveMisc.GetKBDBase \DoveMisc.GetMouseXBase \DoveMisc.GetMouseYBase \DoveMisc.BeepOff \DoveMisc.SetMousePosition \DoveMisc.DoProcessorCommand \DoveMisc.ReadGMT \DoveMisc.ReadHostID \DoveMisc.BootButton) (FUNCTION \LOCKFN)) (MAPC '(\DoveBeep.FCBPointer \DoveProcessor.FCBPointer \DoveKyMo.FCBPointer \DoveMP.FCBPointer) (FUNCTION \LOCKVAR)))) (\DoveMisc.ReadDisplayDesc (LAMBDA NIL (* ejs%: "23-Oct-85 15:36") (\DoveMisc.DoProcessorCommand \DoveMisc.ReadDisplayDesc) (LIST (\DoveIO.ByteSwap (\GETBASE (fetch (Dove.ProcessorFCB Data) of \DoveProcessor.FCBPointer) 0)) (\DoveIO.ByteSwap (\GETBASE (fetch (Dove.ProcessorFCB Data) of \DoveProcessor.FCBPointer) 1)) (\DoveIO.ByteSwap (\GETBASE (fetch (Dove.ProcessorFCB Data) of \DoveProcessor.FCBPointer) 2))))) (\DoveMisc.ReadGMT (LAMBDA (CLOCKLOC) (* ejs%: "12-Oct-85 21:23") (COND ((EQ (fetch (Dove.ProcessorFCB TODValid) of \DoveProcessor.FCBPointer) \DoveIO.ByteTRUE) (* Set clock) (\DoveMisc.DoProcessorCommand \DoveMisc.ReadGMT) (\PUTBASE CLOCKLOC 0 (\DoveIO.ByteSwap (fetch (Dove.TODFormat ClockLow.BS) of (fetch (Dove.ProcessorFCB Data) of \DoveProcessor.FCBPointer )))) (\PUTBASE CLOCKLOC 1 (\DoveIO.ByteSwap (fetch (Dove.TODFormat ClockHigh.BS) of (fetch (Dove.ProcessorFCB Data) of \DoveProcessor.FCBPointer ))))) (T (* zero clock) (\PUTBASE CLOCKLOC 0 0) (\PUTBASE CLOCKLOC 1 0))))) (\DoveMisc.ReadHostID (LAMBDA (HOSTLOC) (* ejs%: "12-Oct-85 21:23") (* * Reads host id of this machine and smashes 3 words at HOSTLOC) (\DoveMisc.DoProcessorCommand \DoveMisc.ReadHostID) (\BLT HOSTLOC (fetch (Dove.ProcessorFCB Data) of \DoveProcessor.FCBPointer) 3) NIL)) (\DoveMisc.ReadKeyboardType (LAMBDA NIL (* ejs%: "23-Oct-85 15:31") (\DoveMisc.DoProcessorCommand \DoveMisc.ReadKeyboardType) (\DoveIO.ByteSwap (\GETBASE (fetch (Dove.ProcessorFCB Data) of \DoveProcessor.FCBPointer) 0)))) (\DoveMisc.ReadPCType (LAMBDA NIL (* ejs%: "23-Oct-85 15:31") (\DoveMisc.DoProcessorCommand \DoveMisc.ReadPCType) (\DoveIO.ByteSwap (\GETBASE (fetch (Dove.ProcessorFCB Data) of \DoveProcessor.FCBPointer) 0)))) (\DoveMisc.ReadRealMemDesc (LAMBDA NIL (* ejs%: "23-Oct-85 15:33") (\DoveMisc.DoProcessorCommand \DoveMisc.ReadRealMemDesc) (LIST (\DoveIO.ByteSwap (\GETBASE (fetch (Dove.ProcessorFCB Data) of \DoveProcessor.FCBPointer) 0)) (\DoveIO.ByteSwap (\GETBASE (fetch (Dove.ProcessorFCB Data) of \DoveProcessor.FCBPointer) 1)) (\DoveIO.ByteSwap (\GETBASE (fetch (Dove.ProcessorFCB Data) of \DoveProcessor.FCBPointer) 2))))) (\DoveMisc.ReadVMMapDesc (LAMBDA NIL (* ejs%: "23-Oct-85 15:35") (\DoveMisc.DoProcessorCommand \DoveMisc.ReadVMMapDesc) (LIST (\DoveIO.ByteSwap (\GETBASE (fetch (Dove.ProcessorFCB Data) of \DoveProcessor.FCBPointer) 0)) (\DoveIO.ByteSwap (\GETBASE (fetch (Dove.ProcessorFCB Data) of \DoveProcessor.FCBPointer) 1))))) (\DoveMisc.SetMousePosition (LAMBDA (X Y) (* ejs%: "13-Sep-85 00:30") (do (replace (Dove.KeyboardFCB MouseX) of \DoveKyMo.FCBPointer with X) (replace (Dove.KeyboardFCB MouseY) of \DoveKyMo.FCBPointer with Y) repeatuntil (AND (EQ X (fetch (Dove.KeyboardFCB MouseX) of \DoveKyMo.FCBPointer)) (EQ Y (fetch (Dove.KeyboardFCB MouseY) of \DoveKyMo.FCBPointer)))))) (\DoveMisc.TODValid (LAMBDA NIL (* ejs%: "29-Dec-85 15:23") (EQ \DoveIO.ByteTRUE (fetch (Dove.ProcessorFCB TODValid) of \DoveProcessor.FCBPointer)))) (\DoveMisc.WriteGMT (LAMBDA (CLOCKLOC) (* ejs%: "12-Oct-85 21:24") (* Set clock) (replace (Dove.TODFormat ClockLow.BS) of (fetch (Dove.ProcessorFCB Data) of \DoveProcessor.FCBPointer ) with (\DoveIO.ByteSwap (\GETBASE CLOCKLOC 0))) (replace (Dove.TODFormat ClockHigh.BS) of (fetch (Dove.ProcessorFCB Data) of \DoveProcessor.FCBPointer ) with (\DoveIO.ByteSwap (\GETBASE CLOCKLOC 1))) (\DoveMisc.DoProcessorCommand \DoveMisc.WriteGMT) (replace (Dove.ProcessorFCB TODValid) of \DoveProcessor.FCBPointer with \DoveIO.ByteTRUE))) ) (RPAQ? \DoveBeep.FCBPointer ) (RPAQ? \DoveProcessor.FCBPointer ) (RPAQ? \DoveKyMo.FCBPointer ) (RPAQ? \DoveMP.FCBPointer ) (DECLARE%: DOEVAL@COMPILE DONTCOPY (GLOBALVARS \DoveBeep.FCBPointer \DoveProcessor.FCBPointer \DoveKyMo.FCBPointer \DoveMP.FCBPointer) ) (DECLARE%: EVAL@COMPILE DONTCOPY (FILESLOAD (SOURCE) DOVEDECLS) (DECLARE%: EVAL@COMPILE (MESARECORD Dove.BeepFCB ((BeepTCB DoveIO.TaskContextBlock) (BeepCondition WORD) (BeepMask WORD) (Frequency.BS WORD))) (MESARECORD Dove.KeyboardFCB ((KeyboardTCB DoveIO.TaskContextBlock) (hexValue BYTE) (convertKeyCodeToBit BYTE) (frameErrorCnt.BS WORD) (overRunErrorCnt.BS WORD) (parityErrorCnt.BS WORD) (spuriousIntCnt.BS WORD) (watchDogCnt.BS WORD) (badInterruptCnt.BS WORD) (MouseX WORD) (MouseY WORD) (KeyBitsBase 9 WORD))) (MESARECORD Dove.ProcessorFCB ((notifiersLockMask WORD) (upNotifyBits 1 WORD) (downNotifyBits 2 WORD) (mesaClientCondition WORD) (mesaClientMask WORD) (TODValid BYTE) (Command BYTE) (Data 3 WORD) (ProcessorTCB DoveIO.TaskContextBlock) (ClientTCB DoveIO.TaskContextBlock))) (BLOCKRECORD Dove.TODFormat ((ClockLow.BS WORD) (ClockHigh.BS WORD))) ) (DECLARE%: EVAL@COMPILE (RPAQQ \DoveMisc.ReadGMT 1) (RPAQQ \DoveMisc.WriteGMT 2) (RPAQQ \DoveMisc.ReadHostID 3) (RPAQQ \DoveMisc.ReadVMMapDesc 4) (RPAQQ \DoveMisc.ReadRealMemDesc 5) (RPAQQ \DoveMisc.ReadDisplayDesc 6) (RPAQQ \DoveMisc.ReadKeyboardType 7) (RPAQQ \DoveMisc.ReadPCType 8) (RPAQQ \DoveMisc.BootButton 9) (CONSTANTS (\DoveMisc.ReadGMT 1) (\DoveMisc.WriteGMT 2) (\DoveMisc.ReadHostID 3) (\DoveMisc.ReadVMMapDesc 4) (\DoveMisc.ReadRealMemDesc 5) (\DoveMisc.ReadDisplayDesc 6) (\DoveMisc.ReadKeyboardType 7) (\DoveMisc.ReadPCType 8) (\DoveMisc.BootButton 9)) ) ) (DECLARE%: DONTEVAL@LOAD DOCOPY (\DoveMisc.Init) ) (PUTPROPS DOVEMISC COPYRIGHT ("Venue & Xerox Corporation" 1985 1986 1990)) (DECLARE%: DONTCOPY (FILEMAP (NIL (1918 10351 (\DoveMisc.BeepOff 1928 . 2222) (\DoveMisc.BeepOn 2224 . 2546) ( \DoveMisc.BootButton 2548 . 2876) (\DoveMisc.DoProcessorCommand 2878 . 3400) (\DoveMisc.GetKBDBase 3402 . 3601) (\DoveMisc.GetMouseXBase 3603 . 3871) (\DoveMisc.GetMouseYBase 3873 . 4083) ( \DoveMisc.Init 4085 . 4612) (\DoveMisc.ReadDisplayDesc 4614 . 5250) (\DoveMisc.ReadGMT 5252 . 6471) ( \DoveMisc.ReadHostID 6473 . 6859) (\DoveMisc.ReadKeyboardType 6861 . 7192) (\DoveMisc.ReadPCType 7194 . 7513) (\DoveMisc.ReadRealMemDesc 7515 . 8151) (\DoveMisc.ReadVMMapDesc 8153 . 8638) ( \DoveMisc.SetMousePosition 8640 . 9148) (\DoveMisc.TODValid 9150 . 9372) (\DoveMisc.WriteGMT 9374 . 10349))))) STOP