<> <> <> <> Addr Title Use Region: 0 RMForIFU IFU-addressable 0 NWW New Wakeups Waiting 1 CurrentPSB PDA-relative 2 CurrentTime Current process time, in ticks 3 XferFlags 4 TrapParam Xfer trap parameter 5 XTSReg Xfer trap state 6 WDc Wakeup disable counter 7 MDSHi high part of Main Data Space 10 RTempX 11 RTemp0 General temporaries 12 RTemp1 13 RTemp2 14 RTemp3 15 RTemp4 16 RTemp5 RVRel 16 & 17 must be temps for mul and dev subroutines 17 RTemp6 Region: 1 AEmRegs Alto Emulator (overlaid), accessable to IFU 0 R400 contains the constant 400b 1 TickCount make ticks from interrupts 2 Sticky Stick flags for floating point 3 MaintPanel 4 5 6 7 10 11 12 ETemp0 13 ETemp1 14 ETemp2 15 ETemp3 16 ETemp4 16 & 17 are temporaries for MulSub and DivSub 17 Temp17 Region: 2 BBRegs BitBlt registers, reusable by any other emulator-level microcode 0 BBDst address of next word to process 1 BBSrc 2 DstInc Address increment between scan lines 3 SrcInc negative if working top-to-bottom 4 DRast Raster length (words) 5 SRast 6 PrefDst Address of next munch to PreFetch 7 PrefSrc 10 DPrefOffset Offset of leftmost word of next scan line relative to first word of current scan line 11 SPrefOffset 12 VCount Vertical line count 13 MCount Horizontal munch count 14 ICnt Initial value of Cnt register for word loops 15 BBDisp Control flags and horizontal loop dispatch 16 BBCtrl Control flags 17 SrcWd Leftover source word -- must be RVREL 17 Region: 3 EIRegs Ethernet Input registers 0 EICB Pointer to IOCB being worked on 1 EIPtr Input main loop pointer/count 2 EITemp1 3 EITemp2 4 FltPipe0 5 FltPipe1 6 FltPointers 7 FltErrors 10 FaultVal 11 FaultMapVal 12 FaultInfo 13 FltMemPrt 14 FltTemp 15 FltEmuPC 16 17 Region: 4 EORegs Ethernet Output registers 0 EOCB Pointer to IOCB being worked on 1 EOPtr Output main loop pointer/count 2 EOTemp1 Output temporary 3 EOTemp2 4 EOTime Time at end of last packet successfully transmitted 5 RNum State for random number generator 6 RConst Constant (13849) for random number generator 7 AUTPC PC for Asynchronous Utility task requests 10 VirtualBanks Size of VM in units of 64K 11 RealPages Size of real memory in pages 12 13 14 15 16 17 Region: 5 DiskRegs Disk registers 0 KIOCB IOCB address 1 KDataLo address of end of data block 2 KDataHi 3 KCyl cylinder part of disk address 4 KHdSec head/sector part of disk address 5 Sector sector counter 6 MaxSectors maximum number of sectors expected 7 KPtr command block pointer 10 KCmmd disk command (hardware) 11 DskMAddr memory address for data 12 KStatus disk software status 13 KSelect 14 KTemp0 15 KTemp1 16 KTemp2 17 KTemp3 Region: 6 TWTRegion Alto Terminal (word task) registers 0 TAddress next munch address; also used as WCB flag 1 TCount munch count 2 TNextCount Initial munch count for next scan line 3 TNextAddrLo Long pointer to start of the next scan line 4 TNextAddrHi 5 TReaderPtrReg Initial FIFO address for next scan line 6 TNWrdsMinus1 (scan line length in words)-1 7 TSetNextWCB DHTFlags output_ command to set NextWCB flag 10 TChannelReg 0 for Channel A, 100000B for channel B 11 TScratch 12 TDCBChainReg Pointer to next DCB 13 TSLCReg (scan lines remaining)-1 for current DCB 14 TBRHiReg BRHi value for short bitmap addresses 15 LMargConst Left margin NLCB constant 16 17 Region: 7 THTRegion Alto terminal (horizontal task) registers 0 TVCWShadowReg Vertical control bits 1 TFieldAreaReg Remaining scan lines in field 2 TReg400C Constant 400B 3 TTemp0 4 TTemp1 5 TTemp2 6 DisplayConfig bit0: 1 iff DispM (or RastA) installed bit15: iff LF display is connected 7 TCursorYReg (scan lines remaining until cursor) * -2 10 TerminalHi accumulated terminal message 11 TerminalLo 12 BootTimer 0 or duration of boot button push 13 BootState Boot timer and action 14 TopBorderConst Scan lines from end of VSync to start of visible 15 VisibleLineConst All visible scan lines, including top and botton borders 16 VSyncConst Scan lines in vertical sync pulse 17 CursorXConst Cursor X NLCB constant Region: 10 AChannelRegion DispY A channel registers (RBase must have 0 in bit 2) 0 AAddress next munch address; also used as WCB flag 1 ACount munch count 2 ANextCount Initial munch count for next scan line 3 ANextAddrLo Long pointer to start of the next scan line 4 ANextAddrHi 5 AReaderPtrReg Initial FIFO address for next scan line 6 ANWrdsMinus1 (scan line length in words)-1 7 ASetNextWCB DHTFlags output_ command to set NextWCB flag 10 AChannelReg 0 for Channel A, 100000B for channel B 11 AScratch 12 AVCWShadowReg Copy of VCWShadowReg 13 AChanCtrlBlkPtr pointer to channel control block 14 AScanLineCount 15 16 17 Region: 11 DHTRegion Display horizontal task registers 0 VCWShadowReg Vertical control bits 1 FieldAreaReg Remaining scan lines in field 2 Reg400C Constant 400C 3 HTemp0 4 HTemp1 5 HTemp2 6 HTemp3 7 HTemp4 10 ColorCtrlBlkPtr pointer to color control block 11 MCBFlags infrequent operation flags 12 VBLeadVSTrail vertical control constants 13 VStoVB vertical control constants 14 VisibleLines vertical control constants 15 16 17 Region: 12 BChannelRegion DispY B channel registers (RBase must have 1 in bit 2) 0 BAddress next munch address; also used as WCB flag 1 BCount munch count 2 BNextCount Initial munch count for next scan line 3 BNextAddrLo Long pointer to start of the next scan line 4 BNextAddrHi 5 BReaderPtrReg Initial FIFO address for next scan line 6 BNWrdsMinus1 (scan line length in words)-1 7 BSetNextWCB DHTFlags output_ command to set NextWCB flag 10 BChannelReg 0 for Channel A, 100000B for channel B 11 BScratch 12 BVCWShadowReg Copy of VCWShadowReg 13 BChanCtrlBlkPtr pointer to channel control block 14 BScanLineCount 15 16 17 Region: 13 Events Junk task -- clock and event counters 0 RTClock 1 RTCDeltaLo Constant delta for DDA increment 2 RTC430 copy of VM 430 3 WakeupTime RTClock value at which to wakeup 4 EventAHi0 Event counter shadow registers 5 EventAHi1 6 EventALo 7 EventAPrev 10 EventBHi0 11 EventBHi1 12 EventBLo 13 EventBPrev 14 EventUpdateTimer 15 EventTemp0 Used only by emulator task 16 EventTemp1 Used only by emulator task 17 JunkTemp Used only by junk task Region: 14 Cpa stats (xfers and monitor entries) 0 CpaFlag taking stats if < 0 1 CpaTemp temp 2 CpaSaveT Save the incoming value of T 3 CpaSavePointers save membase, to restore 4 5 6 7 10 11 12 13 14 15 16 17 Region: 15 RCRegs Cedar reference counting opcodes 0 RCFlags 1 WPOffset Write pointer, relative to WPBR 2 RCWord 3 ZCTBlockLink 4 RCTemp0 5 RCTemp1 6 RCTemp2 7 RCTemp3 10 RCResidue 11 RCResMask residue mask from zct 12 13 14 15 16 17 Region: 16 NSIRegs 10MB input task 0 NSIIocb Must match location of NSOIocb 1 NSILength Must match location of NSOLength 2 NSIPtr Must match location of NSOPtr 3 NSITemp1 Must match location of NSOTemp1 4 NSIHost0 Host number checking storage 5 NSIHost1 Host number checking storage 6 NSIHost2 Host number checking storage 7 10 11 12 13 14 15 16 17 Region: 17 NSORegs 10MB output task 0 NSOIocb Must match location of NSIIocb 1 NSOLength Must match location of NSILength 2 NSOPtr Must match location of NSIPtr 3 NSOTemp1 Must match location of NSITemp1 4 5 6 7 10 11 12 13 14 15 16 17