DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Hard and Floppy Disks

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CR80 Hard and Floppy Disks

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦a96f0fdf4⟧ TextFile

    Length: 12882 (0x3252)
    Types: TextFile
    Names: »TYPE.I«

Derivation

└─⟦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« 

TextFile

;-----------------------------------------------------------------------
;
;  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