// SysInternals.D -- OS definitions for internal use only
// Copyright Xerox Corporation 1979
// Last modified December 22, 1979  2:41 AM by Boggs

manifest
[
// finish codes for internal comsumption
fcOnceOnly = -10007

// some wired down locations in the OS core image
userDiskName = 1000b
diskPassword = 1200b
ftpOs = 1400b
]


//----------------------------------------------------------------------------
structure JT:		// Must agree with Level012.asm
//----------------------------------------------------------------------------
[
BootLabel word 8	// Label for reading boot file!
FinishAC2 word		// AC2 for simple finishes
FinishPC word		// ... and PC ...
jReason word		// 0 => finish else user proc from JC
jAtLevel word		// Level junta'ed to
jReturn word		// address to return to.
jLevels word		// Number of levels
jTable↑ 0,0 word	// table [name; start address]
]


manifest
[
swatInterruptLevel = 8
swatInterruptBit = 1 lshift swatInterruptLevel
swatTrapNo = 37b
]

//----------------------------------------------------------------------------
structure SCM:		// Must agree with SwatResident.asm
//----------------------------------------------------------------------------
[
blank word 4		// trapVector!swatTrapNo -> first word of table
Swatee word 5		// FPRD for Swatee
Swat word 5		// FPRD for Swat
// more stuff that is not published
]


manifest
[
// Parity
parityInterruptLevel = 0
parityInterruptBit = 1 lshift parityInterruptLevel
defaultMECR = 177773b  // correction on, report double-bit errors

// Keyboard
kbInterruptLevel = 12		// needed by Junta and by Kbd code
kbInterruptBit = 1 lshift kbInterruptLevel

// Display
nSysDisplayLines = 6
sysDisplayWidthInWords = 36

// normally active interrupt channels in the OS
OsActiveNormal = kbInterruptBit+swatInterruptBit+parityInterruptBit
]