DataMuseum.dkPresents historical artifacts from the history of: CR80 Hard and Floppy Disks |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CR80 Hard and Floppy Disks Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 12882 (0x3252) Types: TextFile Names: »TYPE.I«
└─⟦8c095a7f3⟧ Bits:30005798 CR80 Disc Pack ( Vol ILS systemdisk XAMOS TOS 10:01 hard boot #43c 19-7-87/JFJ ) └─ ⟦this⟧ »PREFIXES.D!XAMOS.D!BCS.D!V0201.D!ASM.D!TYPE.I« └─ ⟦this⟧ »PREFIXES.D!XAMOS.D!BCS.D!V0202.D!ASM.D!TYPE.I« └─ ⟦this⟧ »PREFIXES.D!XAMOS.D!BCS.D!V02CT.D!ASM.D!TYPE.I« └─⟦c2e810e96⟧ Bits:30005799 CR80 Disc Pack ( XAMOS 841129 ILS TOS 10-01 System Disk Tilhører ILS/MSG hard boot boot entry #43c ) └─ ⟦this⟧ »PREFIXES.D!XAMOS.D!BCS.D!V0201.D!ASM.D!TYPE.I« └─ ⟦this⟧ »PREFIXES.D!XAMOS.D!BCS.D!V0202.D!ASM.D!TYPE.I« └─ ⟦this⟧ »PREFIXES.D!XAMOS.D!BCS.D!V02CT.D!ASM.D!TYPE.I«
;----------------------------------------------------------------------- ; ; PROJECT: CD-DED ; ; MODULE NAME: BASIC COMMUNICATION SERVICE INTERFACE ; MODULE ID NMB: CD/2008 ; MODULE TYPE: PREFIX ; MODULE FILES: TYPE.I ; PREFIX FILES: S2SYSS, X2HEADS, IOSPARS ; SPECIFICATIONS: CD-DED/PSP/0001 ; AUTHOR/DATE: JKK/PHC/PJA/840309 ; ; DELIVERABLE: YES ; SOURCE LANGUAGE: CR80 ASSEMBLER ; COMPILE COMPUTER: CR80 M ; TARGET COMPUTER: CR80 M/CR80 MX ; OPER. SYSTEM: XAMOS/MXAMOS ; ;----------------------------------------------------------------------- ; ; CHANGE RECORD ; ; VERSION AUTHOR/DATE DESCRIPTION OF CHANGE ; ------- ----------- --------------------- ; 0101 JKK/PHC/PJA/840309 INITIAL SUBMITTAL TO CD_SCL ; ; 0201 JKK/840807 INCLUDING BCS EVENT: ; 'BCS_POOL_NOT_CREATED' ; INCLUDING BCS ERROR CODE: ; 'BCS_QUEUE_NOT_INTERN' ; NEW FUNCTIONS: ; 'MULTI_WAIT_IO' ; 'DISPOSE_BUFFER' ; 'SET_MULTI_SERVER_PHASE' ; ; BCS EVENT MASK FACILITY INCLUDED ; IN 'BCS_EVENT_INFO' ; ;----------------------------------------------------------------------- USE BASE MESSAGE <:BCS INTERFACE V0201 840807:> ANY_QUEUE= #FFFF; ;--------------------------------------------- ; BCS FUNCTIONS ;--------------------------------------------- AX=0 LOGON:= AX, AX=AX+1 ; LOGOFF:= AX, AX=AX+1 ; WAIT:= AX, AX=AX+1 ; WAIT_EVENTS:= AX, AX=AX+1 ; WAIT_EVENTS_IO:= AX, AX=AX+1 ; MULTI_WAIT_IO:= AX, AX=AX+1 ; DEFQUEUE:= AX, AX=AX+1 ; DEFPRIVATE_QUEUE:= AX, AX=AX+1 ; REQUEST_QUEUE:= AX, AX=AX+1 ; SET_PRIORITY:= AX, AX=AX+1 ; REMOVE_QUEUE:= AX, AX=AX+1 ; TEST_QUEUE:= AX, AX=AX+1 ; SEND_MESSAGE:= AX, AX=AX+1 ; CREATE_MESSAGE:= AX, AX=AX+1 ; DISPOSE_MESSAGE:= AX, AX=AX+1 ; RETURN_MESSAGE:= AX, AX=AX+1 ; COPY_MESSAGE:= AX, AX=AX+1 ; WRITE_BLOCK:= AX, AX=AX+1 ; READ_BLOCK:= AX, AX=AX+1 ; PUT_HEADER:= AX, AX=AX+1 ; GET_HEADER:= AX, AX=AX+1 ; PUT_TRAILER:= AX, AX=AX+1 ; GET_TRAILER:= AX, AX=AX+1 ; SET_POSITION:= AX, AX=AX+1 ; JOIN:= AX, AX=AX+1 ; SPLIT:= AX, AX=AX+1 ; ALLOCATE_BUFFER:= AX, AX=AX+1 ; DISPOSE_BUFFER:= AX, AX=AX+1 ; CONNECT_BUFFER:= AX, AX=AX+1 ; GET_NEXT_BUFFER:= AX, AX=AX+1 ; CREATE_POOL:= AX, AX=AX+1 ; REMOVE_POOL:= AX, AX=AX+1 ; TEST_POOL:= AX, AX=AX+1 ; SET_TIMER:= AX, AX=AX+1 ; SETMPHASE:= AX ; ;--------------------------------------------- ; BCS_ERROR_CODES ;--------------------------------------------- AX=#3001 BCS_OK:= 0 ; ENDMESS:= AX, AX=AX+1 ; ILPOOL:= AX, AX=AX+1 ; BUFSHORTAGE:= AX, AX=AX+1 ; ILLQR:= AX, AX=AX+1 ; POOLSHORTAGE:= AX, AX=AX+1 ; MESSSHORTAGE:= AX, AX=AX+1 ; ILLSUBQUEUE:= AX, AX=AX+1 ; XTRASHORTAGE:= AX, AX=AX+1 ; LOGONERROR:= AX, AX=AX+1 ; ILNAME:= AX, AX=AX+1 ; ILMESSAGE:= AX, AX=AX+1 ; UNKNQUEUE:= AX, AX=AX+1 ; MEMSHORTAGE:= AX, AX=AX+1 ; ILPRIORITY:= AX, AX=AX+1 ; ILOPERATION:= AX, AX=AX+1 ; ILLBUFFER:= AX, AX=AX+1 ; ILLPARAMETER:= AX, AX=AX+1 ; MESCORRUPTED:= AX, AX=AX+1 ; MESEMPTY:= AX, AX=AX+1 ; THRESHOLD:= AX, AX=AX+1 ; UNKNFUNCTION:= AX, AX=AX+1 ; QUENTINTERN:= AX ; ;--------------------------------------------- ; BCS_EVENT_TYPE ;--------------------------------------------- AX=0 POOL_ERROR:= AX, AX=AX+1 ; QUENOT_DEFINED:= AX, AX=AX+1 ; POOLNOTCREATE:= AX, AX=AX+1 ; QUECLOSED:= AX, AX=AX+1 ; POOLCLOSED:= AX, AX=AX+1 ; QUE_DEFINED:= AX, AX=AX+1 ; POOLCREATE:= AX, AX=AX+1 ; MESSAGE_CREATED:= AX, AX=AX+1 ; BUFFERS_AVAILABLE:= AX, AX=AX+1 ; BUFFERS_RELEASED:= AX, AX=AX+1 ; BCS_TIMER:= AX, AX=AX+1 ; MESSAGE_RECEIVE:= AX, AX=AX+1 ; CALL_ERROR:= AX ; ;--------------------------------------------- ; BCS_EVENT_MASKS ;--------------------------------------------- BMP_ERROR:= 1 < POOL_ERROR ; BMQUECLOSED:= 1 < QUECLOSED ; BMQNOT_DEFINED:= 1 < QUENOT_DEFINED ; BMQ_DEFINED:= 1 < QUE_DEFINED ; BMP_CREATE:= 1 < POOLCREATE ; BMP_NOTCREATE:= 1 < POOLNOTCREATE ; BMP_CLOSED:= 1 < POOLCLOSED ; BMMESSAGE_CREATED:= 1 < MESSAGE_CREATED ; BMBUFFERS_AVAILABLE:= 1 < BUFFERS_AVAILABLE ; BMBUFFERS_RELEASED:= 1 < BUFFERS_RELEASED ; BMBCS_TIMER:= 1 < BCS_TIMER ; BMMESSAGE_RECEIVE:= 1 < MESSAGE_RECEIVE ; ;--------------------------------------------- ; BCS_EVENT_CLASS ;--------------------------------------------- AX=0 BCS_EVENTS:= AX, AX=AX+1 ; BCS_AMOS_EVENTS:= AX, AX=AX+1 ; BCS_IO_EVENTS:= AX ; ;--------------------------------------------- ; QUEUE_TYPE ;--------------------------------------------- AX=0 ACTIVE:= AX, AX=AX+1 ; STANDBY:= AX ; ;--------------------------------------------- ; RANGE_TYPE ;--------------------------------------------- AX=0 BLOCAL:= AX, AX=AX+1 ; BGLOBAL:= AX ; ;--------------------------------------------- ; SERVER_TYPE ;--------------------------------------------- AX=0 MONO:= AX, AX=AX+1 ; MULTI:= AX ; ;--------------------------------------------- ; ABS_ADDR ;--------------------------------------------- AX=0 OFFSET:= AX, AX=AX+1 ; PAGE:= AX, AX=AX+1 ; ABSALGT:= AX ; ;--------------------------------------------- ; BCS_SERVICE ;--------------------------------------------- AX=0 NO_FLOW:= AX, AX=AX+1 ; FLOW:= AX, AX=AX+1 ; FLOW_PLUS:= AX ; ;--------------------------------------------- ; POOL_INFO_TYPE ;--------------------------------------------- AX=0 ADDR:= AX, AX=AX+1 ; ALLOCATION:= AX, AX=AX+1 ; POOLILGT:= AX ; ;--------------------------------------------- ; QUEUE_NAME_TYPE ;--------------------------------------------- AX=0 QUENT0:= AX, AX=AX+1 ; QUENT1:= AX, AX=AX+1 ; QUENLGT:= AX ; ;--------------------------------------------- ; QUEUE_ATTRIBUTES ;--------------------------------------------- AX=0 QUEUE_KIND:= AX, AX=AX+1 ; RANGE:= AX, AX=AX+1 ; WINDOW:= AX, AX=AX+1 ; SERVICE:= AX, AX=AX+1 ; SUBQUEUE_NO:= AX, AX=AX+1 ; PRIO_SUB0:= AX, AX=AX+1 ; SERVER:= AX, AX=AX+1 ; QUEATTRLGT:= AX ; ;--------------------------------------------- ; QUEUE_INFO_TYPE ;--------------------------------------------- AX=0 BCSSERVICE:= AX, AX=AX+1 ; SUBQ_NO:= AX, AX=AX+1 ; WINDW:= AX, AX=AX+1 ; QUEINFLGT:= AX ; ;--------------------------------------------- ; SEND_INFO_TYPE ;--------------------------------------------- AX=0 SITHRESHOLD:= AX, AX=AX+1 ; SIPOOL:= AX, AX=AX+1 ; SIHEADER:= AX, AX=AX+1 ; SIHEADER_SIZE:= AX, AX=AX+1 ; SISENDINFLGT:= AX ; ;--------------------------------------------- ; WAIT_IO_TYPE ;--------------------------------------------- AX=0 W_OPS:= AX, AX=AX+1 ; W_MULTI:= AX, ; ;--------------------------------------------- ; BCS_EVENT_INFO ;--------------------------------------------- AX=0 HEADER:= AX, AX=AX+1 ; HEADER_SIZE:= AX, AX=AX+1 ; QUEUE:= AX, AX=AX+1 ; PRIORITY:= AX, AX=AX+1 ; B_EVENT_M:= AX, AX=AX+1 ; CLASS:= AX, AX=AX+1 ; ; CASE CLASS OF BX=AX ; BCS_EVENT: BCSEVT:= BX, BX=BX+1 ; ; CASE BCS_EVENT OF ; POOLCLOSED, ; POOLCREATE, ; POOLNOTCREATE, ; BUFFERS_AVAILABLE, CX=BX ; POOL_ERROR: POOL:= CX, CX=CX+1 ; FREEBUFS:= CX ; ; QUECLOSED, ; QUENOT_DEFINED: ; NOTHING; CX=BX ; QUE_DEFINED: QUEINFO:= CX ; ; MESSAGECREATED: AVLMESS:= CX ; ; BUFFERS_RELEASED: BUFCOUNT:= CX ; ; TIMERCOUNT: TIMER:= CX ; ; MESSAGE_RECEIVE: SUBQUEUE:= CX, CX=CX+1 ; BCSMESS:= CX, CX=CX+1 ; MESSLGT:= CX, CX=CX+1 ; NO_OF_MESSAGES:= CX ; ; SAVEBX=CX BX=AX ; BCS_AMOS_EVENT: EVTTYPE:= BX, BX=BX+1 ; AMOS_MESSAGE:= BX, BX=BX+1 ; EVENT_ID:= BX, BX=BX+1 ; IF BX GT SAVEBX THEN SAVEBX=BX FI ;«eot» BCS_IO_EVENT: W_IO_TYPE:= AX, AX=AX+1 ; CASE WAIT OPERATION OF BX=AX ; CX=BX ; WAIT_OPS : FAD:= CX, CX=CX+1 ; BLE:= CX, CX=CX+1 ; OPREF:= CX, CX=CX+1 ; FD:= CX, CX=CX+1 ; IO_CC:= CX, CX=CX+1 ; IF CX GT SAVEBX THEN ; SAVEBX=CX FI CX=BX ; WAIT_MULTI : MFAD:= CX, CX=CX+1 ; MSAD:= CX, CX=CX+1 ; MBLE:= CX, CX=CX+1 ; MOPREF:= CX, CX=CX+1 ; MFD:= CX, CX=CX+1 ; MSFD:= CX, CX=CX+1 ; MFINF:= CX, CX=CX+1 ; MUSOPID:= CX, CX=CX+1 ; MIO_CC:= CX, CX=CX+1 ; ; END; IF CX GT SAVEBX THEN ; END; SAVEBX=CX FI EVTTYPLGT:= SAVEBX ; MESSAGE <:BCS EVENT INFO LENGTH = :> ,SAVEBX