{File: [Iris]CommonDefs.asm HGM, 3-Nov-82 15:03:21: Changes for Burdock Modification History: Dennis Grundler: 1-Sep-84 17:21:03: Added copyright notice Michael A Thatcher: 27-Feb-84 16:23:22: Changed RS232CMiscCSBLoc from 0FF2C to 0FF70 Michael A Thatcher: 27-Dec-83 8:53:14: Chancge in RS232CMiscCSBSize for Flow control. Jim Frandeen August 3, 1982 10:14 AM: Change IOPage format Jim Frandeen May 3, 1982 10:20 AM: rewrite Domino Created by Roy Ogus May 13, 1980 11:46 AM } { Copyright (C) 1980, 1982, 1983 by Xerox Corporation. All rights reserved.} ; Multi-Tasker definitions. ; Task Control Block (TCB) index values TCBStkp equ 1 ; Saved task Stack pointer TCBStkChk equ 3 ; Location of Constant used to mark end of stack TCBStkChkVal equ 0ABH ; Value of constant used to mark end of stack TCBSize EQU 62 ; CP Port Control Block (PCB) indexes. CPportCtlBlkSize equ 8 ; Size of CPport control block (bytes) ; CP address occupies 4 bytes, least significant to most significant. CPAddr3 equ 0 ; CP address byte 3 CPAddr equ CPAddr3 ; Index of CP address (low) in Control Block CPAddr2 equ 1 ; CP address byte 2 CPAddr1 equ 2 ; CP address byte 1 NotifyFlag equ 3 ; Completion flag CPCnt equ 4 ; Low byte of Count (in bytes) CPCntHi equ 5 ; High byte of Count (in bytes) CPIOPAddr equ 6 ; IOP address pointer (low byte) CPIOPAddrHigh equ 6 ; IOP address pointer (high byte) ; CP microcode commands. CPWriteCmd equ 2 ; Write CP block CPReadCmd equ 1 ; Read CP block CPNotifyCmd equ 0 ; Naked Notify ; Dma Control Block indexes. DmaBufCnt equ 0 ; CP address byte 2 DmaBufAddr equ 2 ; CP address byte 2 ; Maintenance Panel progress codes. ; Domino Exec: MPStartDomino equ 500 ; In Exec MPInitTOD equ 501 ; In Exec MPInitTODDone equ 502 ; In Exec ; Maintenance Panel error codes. ; These codes will blink in the Maintenance Panel. BlinkConst equ 60000 ; Blink constant (~.5 sec) ; Domino Exec: ErrorCSParity equ 505 ; CS parity error detected ErrorBurdockCPDisabled equ 506 ; Burdock attempted to use EtherKludge ErrorCPBurdockDisabled equ 507 ; CP attempted to use EtherKludge ErrorIOPBreak equ 508 ; Assembled in IOP breakpoint with no IOP kernel ; CPSubs: 510-519 ErrorBadMapEntry equ 510 ; In CPSubs ErrorNoCPDmaComplete equ 511 ; In CPSubs ErrorNoCPDmaChannel equ 512 ; In CPSubs ErrorReadCPPortDead equ 513 ; Read CPPort timeout ErrorWriteCPPortDead equ 514 ; Write CPPort timeout ErrorIllegalSIOInterrupt EQU 515 ; MultiTask: 520-? ErrorStackOverflow equ 520 ; In MultiTask ; KBTask: ErrorInvToneCmd equ 565 ; In KBTask ; MPTask: 570 - 575 ErrorInvProcCmd equ 570 ; In MPTask ErrorUnImplCmd equ 571 ; In MPTask ErrorSetTOD equ 572 ; In MPTask ; LSEPTask: 576 ErrorLSEPCtlOVR equ 576 ; LSEP Control CSB overrun set (shouldn't occur) ; FloppyTask: 580 - 590 ErrorNoValidCommand equ 580 ; Invalid IOCB command ErrorUnImplFloppyCmd equ 581 ; Unimplemented IOCB command ErrorInvalidEscapeCmd equ 582 ; Invalid Escape command ErrorCommandTrackError equ 583 ; Track register is not correct ErrorTrackToBig equ 584 ; Track number is too large ErrorBadDmaChannel equ 585 ; Couldn't program Dma Controller channel ErrorNoDmaEndCount1 equ 586 ; External Dma End Count not set ErrorNoDmaEndCount2 equ 587 ; Internal Dma End Count not set KBDiagWait equ 2247 ; Wait value of ~ 15 msec for KB Diag ; ; --------------Addresses in main memory ------------------------------ ; Device CSB's CPIOPageHi equ 0 ; virtual address high of IOPage ; LSEP CSB CommandLoc EQU 0FF10H LSEPDataLoc EQU 0FF10H LSEPStatusLoc EQU 0FF11H MPNumberLoc EQU 0FF12H FloppyIocbLoc EQU 0FF13H TTYCommandLoc EQU 0FF14H ProcCommandLoc EQU 0FF15H MouseChangeFlagLoc EQU 0FF16H ToneCommandLoc EQU 0FF17H RS232CMiscFlagLoc EQU 0FF18H RS232CPutFlagLoc EQU 0FF19H RS232CGetFlagLoc EQU 0FF1AH BurdockIocbLoc EQU 0FF1BH ; *** HGM CommandDataSize: EQU 12*2 ; *** HGM ;Reserve space for 3 new commands *** HGM LSEPCSBLoc EQU 0FF1FH LSEPCSBSize EQU 2*2 FloppyCSBLoc EQU 0FF21H FloppyCSBSize EQU 1*2 TTYOutCSBLoc EQU 0FF22H TTYOutCSBSize EQU 2*2 TTYInCSBLoc EQU 0FF24H TTYDeviceStatusLoc EQU 0FF25H TTYInCSBSize EQU 2*2 ProcessorCSBLoc EQU 0FF26H ProcessorCSBSize EQU 3*2 MouseChgCSBLoc EQU 0FF29H MouseChgCSBSize EQU 2*2 ToneCSBLoc EQU 0FF2BH ToneCSBSize EQU 1*2 RS232CMiscCSBLoc EQU 0FF70H ;note change from FF2C RS232CMiscCSBSize EQU 8*2 RS232CPutCSBLoc EQU 0FF31H RS232CPutCSBSize EQU 2*2 RS232CGetCSBLoc EQU 0FF33H RS232CGetCSBSize EQU 2*2 RS232CDeviceStatusLoc EQU 0FF35H RS232CDeviceStatusSize EQU 1*2 RS232CParameterLoc EQU 0FF36H RS232CParameterSize EQU 1*2 ;Other IO Page areas TODLoc EQU 0FF37H TODSize EQU 8 ;Size in bytes of TOD MXLoc EQU 0FF3BH MStateSize EQU 6 KBLoc EQU 0FF3EH KeyMapSize EQU 12 ; --------------------------------------------------------------- ; Ethernet Host address information. ; The Ethernet host number in logical format is a 48-bit number: ; B5 B4 B3 B2 B1 B0, where Bi is a byte. ; The address is transmitted as: B0 B1, B2 B3, B4 B5 (High, Middle, Low words). ; B0 B1 B2 B3 (high, middle words) is fixed for Dandelions as 00 00, AA 00 (Hex). ; B4 B5 (low word) is the variable processor ID. EtherHostHigh equ 0000H ; B0..B1 EtherHostMiddle equ 0AA00H ; B2..B3 ; --------------------------------------------------------------- END ExecDefs