// AltoDefs.d - Definitions of places and things peculiar to Altos // Copyright Xerox Corporation 1979 // Last modified January 22, 1979 12:28 AM by Boggs manifest [ // page 1 displayListHead = 420b displayInterrupt = 421b mouseX = 424b mouseY = 425b cursorX = 426b cursorY = 427b realTimeClock = 430b cursorBitMap = 431b // through 450b wakeupsWaiting = 452b activeInterrupts = 453b maskTable = 460b interruptPC = 500b interruptVector = 501b // through 520b diskCommand = 521b diskStatus = 522b diskAddress = 523b trapPC = 527b trapVector = 530b // through 567b timeParams = 570b // through 577b // page 376 utilOut = 177016b XBus = 177020b // through 177023b (Alto II only) MEAR = 177024b // Memory Error Address Register (Alto II only) MESR = 177025b // Memory Error Status Register (Alto II only) MECR = 177026b // Memory Error Control Register (Alto II only) utilIn = 177030b // through 177033b kbdAd = 177034b // through 177037b // page 377 EIAOut = 177700b EIAIn = 177701b bankRegs = 177740b // through 177757 (Alto II only) ] //---------------------------------------------------------------------------- structure UtilIn: // format of UtilIn word (177030b) //---------------------------------------------------------------------------- [ blank bit 6 memConfig bit // 0 = normal; 1 = alternate blank bit keyset bit 5 = // 0 = depressed [ ks0 bit // left most ks1 bit ks2 bit ks3 bit ks4 bit // right most ] mouse bit 3 = // 0 = depressed [ red bit // top or left button blue bit // bottom or right button yellow bit // middle button ] ] //---------------------------------------------------------------------------- structure LTP: // Local Time Parameters //---------------------------------------------------------------------------- [ sign bit 1 // Zero if west of Greenwich, one if east zoneH bit 4 // Local time zone in hours from Greenwich blank bit 2 beginDST bit 9 // Day of year on or before which DST starts blank bit 1 zoneM bit 6 // Additional minutes of local time zone endDST bit 9 // Day of year on or before which DST ends ] //---------------------------------------------------------------------------- structure VERS: // format of value returned by VERS instruction //---------------------------------------------------------------------------- [ eng bit 4 // 0 or 1 => Alto I; 2 => Alto II; 3 => Alto II XM build bit 4 microcode bit 8 ] //---------------------------------------------------------------------------- structure BBT: // BitBlt Table //---------------------------------------------------------------------------- [ function word = [ blank bit 10 // must be zero sBank bit // source is in alternate bank dBank bit // destination is in alternate bank sType bit 2 // source type op bit 2 // operation ] blank word // unused (software stashes AC2 here) dbca word // destination bitmap core address dbmr word // destination bitmap raster dlx word // destination left X coordinate dty word // destination top Y coordinate dw word // destination block width dh word // destination block height sbca word // source bitmap core address sbmr word // source bitmap raster slx word // source left X sty word // source top y gray↑0,3 word // gray block ] manifest lBBT = size BBT/16 //---------------------------------------------------------------------------- structure DCB: // Display Control Block //---------------------------------------------------------------------------- [ next word // -> next DCB; 0 if last parwd word = [ resolution bit 1 // 0 = high; 1 = low background bit 1 // 0 = white; 1 = black indwidth bit 14 = [ indentation bit 6 // indent 16*indentation bits on the left width bit 8 // in words; must be even; zero is OK ] ] bitmap word // -> bit map; must be even height word // scan lines = 2*height (height in each field) ] manifest lDCB = size DCB/16