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

⟦95446b06e⟧ TextFile

    Length: 25302 (0x62d6)
    Types: TextFile
    Names: »X2ION1«, »X2ION1.S«

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!ASM.D!X2ION1.S« 
└─⟦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!ASM.D!X2ION1.S« 
└─⟦e0c43619c⟧ Bits:30005797 CR80 Disc pack ( Vol:FNJ1 861029/EC CR80 S/W Package II+III+IV+V+VII )
    └─ ⟦this⟧ »CSP005_V0501.D!CSS821.D!X2ION1« 

TextFile

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; F I L E :   X 2 I O N 1
;
; CSS/821
;
; VERSION: 0602
;
; DATE: 840807
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

MESSAGE <:X2ION1 VS 0602, 840807:>

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; DEFINITIONS OF IO SYSTEM OPERATION CODES
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                                    ;
                                    ;   "MON IO" OPERATION:
CREATE:=           0                ;   CREATE:
DISMAE:=           1                ;   DISMANTLE:
CLOSEE:=           DISMAE           ;   CLOSE_MTFILE
PROTET:=           2                ;   PROTECT:
RESET:=            3                ;   RESET:
OFFER:=            4                ;   OFFER:
ACCEPT:=           5                ;   ACCEPT:
GETFIN:=           6                ;   GET FILE INFORMATIN:
GETMTN:=           GETFIN           ;   GET_MTFILE INFORMATION
ASSIGN:=           8                ;   ASSIGN:
ASSNMT:=           ASSIGN           ;   ASSIGN MAGTAPE DEVICE
DEASSN:=           9                ;   DEASSIGN:
MOUNT:=            10               ;   MOUNT:
DISMOT:=           11               ;   DISMOUNT:
FORMAT:=           12               ;   FORMAT:
GETROT:=           13               ;   GETROOT:
USERON:=           14               ;   USERON:
USEROF:=           15               ;   USEROFF:
ENTER:=            16               ;   ENTER:
LOOKUP:=           17               ;   LOOKUP:
DESCET:=           18               ;   DESCENT:
RENAME:=           19               ;   RENAME:
REMOVE:=           20               ;   REMOVE:
READSS:=           21               ;   READ SECTORS:
WRITES:=           22               ;   WRITE SECTORS:
WRITET:=           23               ;   WRITE AND PROTECT:
WRITEK:=           24               ;   WRITE AND MARK:
READBS:=           25               ;   READ BYTES:
MODIFS:=           26               ;   MODIFY BYTES:
APPENS:=           27               ;   APPEND BYTES:
INITRS:=           28               ;   INIT READ BYTES:
INITMS:=           29               ;   INIT MODIFY BYTES:
INITAS:=           30               ;   INIT APPEND BYTES:
WAITON:=           31               ;   WAIT OPERATION:
WAITOS:=           32               ;   WAIT OPERATIONS:
TESTON:=           33               ;   TEST OPERATION:
CANCEL:=           34               ;   CANCEL:
UPDATE:=           35               ;   UPDATE:
STARTE:=           36               ;   STARTDUALIZE:
FINISE:=           37               ;   FINISHDUALIZE:
DUALIS:=           38               ;   DUALIZESECTORS:
ASSIGL:=           39               ;   ASSIGN DUAL:
DISCAD:=           40               ;   DISCARD:
RESERE:=           41               ;   RESERVE DEVICE
RELEAE:=           42               ;   RELEASE DEVICE
MOUNMT:=           43               ;   MOUNT MAGTAPE
DISMMT:=           44               ;   DISMOUNT MAGTAPE
INITMT:=           45               ;   INITIATE MAGTAPE
REWIND:=           46               ;   REWIND MAGTAPE
CREATT:=           47               ;   CREATE MAGTAPE FILE
FINDMT:=           48               ;   FIND MAGTAPE FILE
SKIPMT:=           49               ;   SKIP MAGTAPE FILES
SKIPMS:=           50               ;   SKIP MAGTAPE BLOCKS
BREAKE:=           51               ;   BREAK MT FILE
RESUME:=           52               ;   RESUME MT FILE
UNMOUT:=           53               ;   UNMOUNT VOLUME
INIDUS:=           54               ;   INIT DUALIZE SECTORS
INIRDS:=           55               ;   INIT READ SECTORS
INIWRS:=           56               ;   INIT WRITE SECTORS
INIWMS:=           57               ;   INIT WRITE AND MARK SECTOR
INIWPS:=           58               ;   INIT WRITE AND PROTECT SECTOR
INIFMT:=           59               ;   INIT FORMAT
GTDVIN:=           60               ;   GET DEVICE INFORMATION
CHVLID:=           61               ;   CHANGE VOLUME ID
CHBOOT:=           62               ;   CHANGE BOOT ENTRY
SETFIE:=           63               ;   SETFILESIZE
EXMOUT:=           64               ;   EXMOUNT
INICRE:=           65               ;   INIT CREATE
INIDIS:=           66               ;   INIT DISMANTLE
INIPRO:=           67               ;   INIT PROTECT
INIRES:=           68               ;   INIT RESET
INIOFF:=           69               ;   INIT OFFER
INIACC:=           70               ;   INIT ACCEPT
INIGFN:=           71               ;   INIT GET FILE INFORMATION
INIASS:=           72               ;   INIT ASSIGN
INIDEA:=           73               ;   INIT DEASSIGN
INIMOU:=           74               ;   INIT MOUNT
INIDIV:=           75               ;   INIT DISMOUNT
INIGRT:=           76               ;   INIT GET ROOT
INIUON:=           77               ;   INIT USER ON
INIUOF:=           78               ;   INIT USER OFF
INIENT:=           79               ;   INIT INTER
INILOO:=           80               ;   INIT LOOKUP
INIDES:=           81               ;   INIT DESCENT
INIREN:=           82               ;   INIT RENAME
INIREM:=           83               ;   INIT REMOVE
INIUPD:=           84               ;   INIT UPDATE
INISDU:=           85               ;   INIT START DUALIZE
INIFDU:=           86               ;   INIT FINISH DUALIZE
INIASD:=           87               ;   INIT ASSIGN DUAL
INIDIC:=           88               ;   INIT DISCARD
INIRED:=           89               ;   INIT RESERVE
INIREL:=           90               ;   INIT RELEASE
INIUNM:=           91               ;   INIT UNMOUNT
INIGDV:=           92               ;   INIT GET DEVICE INFORMATION
INICHI:=           93               ;   INIT CHANGE VOLUME ID
INICHB:=           94               ;   INIT CHANGE BOOT ENTRY
INISFS:=           95               ;   INIT SET FILE SIZE
INIEXM:=           96               ;   INIT EXMOUNT
MULTIW:=           97               ;   MULTI WAIT
INCLDK:=           98               ;   INCLUDE DEVICE KIND
MIOMAX:=           INCLDK+1         ;   MAX IO OPERATION:



                                    ;   "MON STREAM" OPERATIONS:
CONNET:=           0                ;   CONNECT:
DISCOT:=           1                ;   DISCONNECT:
GETPON:=           2                ;   GET POSITION:
SETPON:=           3                ;   SET POSITION:
INBYTE:=           4                ;   INBYTE:
BACKSE:=           5                ;   BACKSPACE:
INREC:=            6                ;   INREC:
OUTBYE:=           7                ;   OUTBYTE:
OUTREC:=           8                ;   OUTREC:
FLUSH:=            9                ;   FLUSH:
INTYPE:=           10               ;   INTYPE
INELET:=           11               ;   INELEMENT
OUTTEP:=           12               ;   OUTTEXTP
OUTTEB:=           13               ;   OUTTEXTB
OUTHEA:=           14               ;   OUTHEXA
OUTINR:=           15               ;   OUTINTEGER
OUTLOR:=           16               ;   OUT LONG INTEGER
OUTNL:=            17               ;   OUTNL
INLINE:=           18               ;   INLINE
OUTLIE:=           19               ;   OUTLINE
MSTMAX:=           OUTLIE+1         ;   MAX ST OPERATION:
                                    ;


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; IO SYSTEM ERROR CODES.
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                                    ;
                                    ; IO SYSTEM COMPLETION CODES:
XIOOK:=            0                ;   NO ERRORS FOUND
XEOF:=             #0201            ;   END-OF-FILE
XNOFDS:=           #0202            ;   NO FDS AVAILABLE
XILLFD:=           #0203            ;   ILLEGAL FD
XNOIBS:=           #0204            ;   NO IBS AVAILABLE
XILLIB:=           #0205            ;   ILLEGAL IB
XNOSTS:=           #0206            ;   NO STREAM AVAILABLE
XILLST:=           #0207            ;   ILLEGAL STREM
XNOXFS:=           #0208            ;   NO XFELEMS AVAILABLE
XILADR:=           #0209            ;   ILLEGAL ADDRESS
XILBLE:=           #020A            ;   ILLEGAL BUFFER LIST ELEMENT
XFNOPN:=           #020B            ;   FILE NOT OPEN
XDIFFS:=           #020C            ;   DIFFERENT FILE SYSTEMS
XUNKFS:=           #020D            ;   UNKNOWN FILE SYSTEM
XILCMD:=           #020E            ;   ILLEGAL COMMAND (SYSTEM ERROR)
XIOSER:=           #020F            ;   IO SYSTEM ERROR
XNOSPC:=           #0210            ;   NOT ENOUGH SPACE
XILMOD:=           #0211            ;   ILLEGAL MODE
XILMEM:=           #0212            ;   ILLEGAL MEMORY PARM
XNOBUF:=           #0213            ;   NO BUFFER SPACE AVAILABLE
XSTNCN:=           #0214            ;   STREAM NOT CONNECTED
XNOUTM:=           #0215            ;   NOT OUTPUT MODE
XNINPM:=           #0216            ;   NOT INPUT MODE
XELOVF:=           #0217            ;   ELEMENT OVERFLOW
XSYNER:=           #0218            ;   SYNTAX ERROR
                                    ;


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; CHARACTER VALUES (ASCII)
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

BEL:=   7                           ;   BELL;
BS:=    8                           ;   BACK SPACE
LF:=    10                          ;   LINE FEED
NL:=    LF                          ;   NEW LINE
FF:=    12                          ;   FORM FEED
CR:=    13                          ;   CARRIAGE RETURN


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; STREAM MODES
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

XSTINP:=    0                       ;   INPUT MODE
XSTOUT:=    1                       ;   OUTPUT MODE

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; DEFINITION OF PARAMETER BLOCKS.
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; CONTROL BLOCK LENGHTS
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

XFDLNG:= #11                  ;   LENGTH OF FD
XIBLNG:= #22                  ;   LENGTH OF IOCB
XSTLNG:= #39                  ;   LENGTH OF STREAM
XTLLNG:=   5                  ;   LENGTH OF TLE

;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; DEVICE NAME.
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                                    ;
USE BASE              AX=BASE       ;   DEVICE NAME:
XDVNDN:=           AX,AX=AX+2       ;   DEVICE NAME
XDVNWL:=           AX               ;   DEVICE NAME WORD LENGTH
                                    ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; VOLUME NAME.
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                                    ;
USE BASE              AX=BASE       ;   VOLUME NAME:
XVLNVN:=           AX,AX=AX+8       ;   VOLUME NAME
XVLNWL:=           AX               ;   VOLUME NAME WORD LENGTH
                                    ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; MAGNETIC TAPE VOLUME NAME
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                                    ;
USE BASE              AX=BASE       ;   MT_VOLUME NAME:
XMTVLN:=           AX,AX=AX+3       ;     MT_VOLUME NAME
XMTVWL:=           AX               ;   MT_VOLUME NAME WORD LENGTH
                                    ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; FILE NAME.
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                                    ;
USE BASE              AX=BASE       ;   FILE NAME:
XFLNFN:=           AX,AX=AX+8       ;   FILE NAME
XFLNWL:=           AX               ;   FILE NAME WORD LENGTH
                                    ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; FILE NAMES.
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                                    ;
USE BASE              AX=BASE       ;   FILE NAMES:
XFNSON:=           AX,AX=AX+XFLNWL  ;   OLD NAME
XFNSNN:=           AX,AX=AX+XFLNWL  ;   NEW NAME
XFNSWL:=           AX               ;   FILE NAMES WORD LENGTH
                                    ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; MAGNETIC TAPE FILE NAME
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                                    ;
USE BASE              AX=BASE       ;   MT_NAME:
XMTNVN:=           AX,AX=AX+XMTVWL  ;     MT_VOLUME NAME
XMTNFN:=           AX,AX=AX+XFLNWL  ;     FILE NAME
XMTNWL:=           AX               ;   MT_NAME WORD LENGTH
                                    ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; FILE SYSTEM NAME.
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                                    ;
USE BASE              AX=BASE       ;   FILE SYSTEM NAME:
XFSNN0:=           AX,AX=AX+1       ;   FILE SYSTEM NAME NAME0
XFSNN1:=           AX,AX=AX+1       ;   FILE SYSTEM NAME NAME1
XFSNN2:=           AX,AX=AX+1       ;   FILE SYSTEM NAME NAME2
XFSNNI:=           AX,AX=AX+1       ;   FILE SYSTEM NAME NAMEI
XFSNG0:=           AX,AX=AX+1       ;   FILE SYSTEM NAME GROUP0
XFSNG1:=           AX,AX=AX+1       ;   FILE SYSTEM NAME GROUP1
XFSNWL:=           AX               ;   FILE SYSTEM NAME WORD LENGTH
                                    ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; FILE ATTRIBUTES.
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                                    ;
USE BASE              AX=BASE       ;   FILE ATTRIBUTES:
XFATVN:=           AX,AX=AX+XVLNWL  ;   VOLUME NAME:
XFATOR:=           AX,AX=AX+1       ;   FILE ORGANIZATION:
                                    ;     ORGANIZATIONS:
        XORDIR:=      10            ;     DIRECTORY:
        XORCON:=      12            ;     CONTIGUOUS:
        XORRAN:=      14            ;     RANDOM:
XFATAL:=           AX,AX=AX+2       ;   ALLOCSIZE:
XFATAR:=           AX,AX=AX+1       ;   AREASIZE:
XFATWL:=           AX               ;   FILE ATTRIBUTES WORD LENGTH
                                    ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; MAGNETIC TAPE FILE ATTRIBUTES
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                                    ;
USE BASE              AX=BASE       ;   MT_ATTRIBUTES:
XMTAMN:=           AX,AX=AX+XMTNWL  ;     MT_NAME
XMTAFV:=           AX,AX=AX+1       ;     FIXED/VARIABLE RECORDS
XMTABS:=           AX,AX=AX+1       ;     BLOCK SIZE
XMTARS:=           AX,AX=AX+1       ;     RECORD SIZE
XMTAWL:=           AX               ;   MT_ATTRIBUTES WORD LENGTH
                                    ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; FILE INFORMATION.
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                                    ;
USE BASE              AX=BASE       ;   FILE INFORMATION:
XFILIN:=           AX,AX=AX+2       ;   FILE INFORMATION
XFINWL:=           AX               ;   FILE INFORMATION WORD LENGTH
                                    ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; FILE INFORMATION TYPES.
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                                    ;
USE BASE              AX=BASE       ; FILE INFORMATION TYPES.
XGATOR:=           AX,AX=AX+1       ;   ORGANIZATION;
XGATSZ:=           AX,AX=AX+1       ;   SIZE (BYTES);
XGATAL:=           AX,AX=AX+1       ;   ALLOCSIZE (SECTORS FOR CONT.
                                    ;       ELSE AREAS);
XGATBA:=           AX,AX=AX+1       ;   BODY ADDR (LOGICAL SECTOR NO.
                                     ;       OF INDEX OR BODY);
XGATAR:=           AX,AX=AX+1       ;   AREA SIZE (SECTORS);
XGATFT:=           AX,AX=AX+1       ;   FILE THRESHOLD (BYTES);
XGATLK:=           AX,AX=AX+1       ;   LINKS (FROM DIRECTORIES);
XGATIB:=           AX,AX=AX+1       ;   IN_BFD (BOOLEAN);
XGATBN:=           AX,AX=AX+1       ;   BFD_BUMBER (ENTRY NO. IN BFD);
                                    ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; ACCESS DESCRIPTION.
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                                    ;
USE BASE              AX=BASE       ;   ACCEXX DESCRIPTION:
XACDUI:=           AX,AX=AX+XUSERH  ;   USER ID
XACDAC:=           AX,AX=AX+2       ;   ACCESS RIGHTS
        XACRBS:=      0             ;     READ BYTES
        XACMBS:=      1             ;     MODIFY BYTES
        XACABS:=      2             ;     APPEND BYTES
        XACENT:=      5             ;     ENTER
        XACLUP:=      6             ;     LOOK UP
        XACREN:=      7             ;     RENAME
        XACREM:=      8             ;     REMOVE
        XACRES:=      10            ;     RESET
        XACGET:=      11            ;     GET FILE INFORMATION;
        XACPRO:=      12            ;     PROTECT
        XACSFT:=      13            ;     SET_FILE_THRESHOLD
        XACOFF:=      14            ;     OFFER
XACDWL:=           AX               ;   ACCESS DESCRIPTION WORD LENGTH
                                    ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; DEVICE DESCRIPTION.
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                                    ;
USE BASE              AX=BASE       ;   DEVICE DESCRIPTION:
XDVDKN:=           AX,AX=AX+1       ;   DEVICE KUND:
                                    ;     KINDS:
        XKNSFL:=      10            ;     SINGLE FLOPPY:
        XKNDFL:=      12            ;     DOUBLE FLOPPY:
        XKNM12:=      20            ;     MMD 12 MB:
        XKNM24:=      22            ;     MMD 24 MB:
        XKNM81:=      24            ;     MMD 80 MB (1 MB FIXED):
        XKNM82:=      26            ;     MMD 80 MB(2 MB FIXED):
        XKNM16:=      28            ;     MMD 160 MB:
        XKNS40:=      40            ;     SMD 40 MB:
        XKNS80:=      42            ;     SMD 80 MB:
        XKNS15:=      44            ;     SMD 150 MB:
        XKNS30:=      46            ;     SMD 300 MB:
        XKNS60:=      48            ;     SMD 600 MB:
        XKNC32:=      60            ;     CMD 32 MB:
        XKNC64:=      62            ;     CMD 64 MB:
        XKNC96:=      64            ;     CMD 96 MB:
        XKNLPT:=      70            ;     LINE PRINTER:
        XKNPCR:=      72            ;     PUNCED CARD READER:
        XKNMTP:=      74            ;     MAGNETIC TAPE:
XDVD80:=           AX,AX=AX+1       ;   CR80 DEV.ADDR.+PRIOR.:
XDVDUN:=           AX,AX=AX+1       ;   UNIT:
XDVDSU:=           AX,AX=AX+1       ;   SUBUNIT:
XDVDDN:=           AX,AX=AX+XDVNWL  ;   DEVICE NAME:
XDVDWL:=           AX               ;   DEVICE DESCRIPTION WORD LENGTH
                                    ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; DEVICE DESCRIPTION DUAL.
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                                    ;
USE BASE              AX=BASE       ;    DEVICE DESCRIPTION DUAL:
XDDDKN:=           AX,AX=AX+1       ;   DEVICE KIND
XDD080:=           AX,AX=AX+1       ;   DEVICE ADDR, 0
XDD0UN:=           AX,AX=AX+1       ;   UNIT, 0
XDDDSU:=           AX,AX=AX+1       ;   SUBUNIT
XDDDDN:=           AX,AX=AX+XDVNWL  ;   DEVICE NAME
XDD180:=           AX,AX=AX+1       ;   DEVICE ADDR, 1
XDD1UN:=           AX,AX=AX+1       ;   UNIT, 1
XDDDWL:=           AX               ;   DEVICE DESCRIPTION DUAL WORD
                                    ;       LENGTH
                                    ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; PARTNER DEVICE ATTRIBUTES
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                                    ;
USE BASE              AX=BASE       ;   PARTNER DEVICE ATTRIBUTES:
XPDA80:=           AX,AX=AX+1       ;   DEVICE ADDR, PARTNER
XPDAUN:=           AX,AX=AX+1       ;   UNIT, PARTNER
XPDAWL:=           AX               ;   PARTNER DEV. ATT. WORD LENGTH
                                    ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; DEVICE KIND DESCRIPTION
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                                    ;
USE BASE                            ;
XDKDSL:=           10               ;   DEVICE KIND DESCRIPTION LENGTH
                                    ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; DEVICE INFORMATION
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                                    ;
USE BASE                            ;
XDVINL:=           40               ;   DEVICE INFORMATION WORD LENGTH
                                    ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; FILE ADDRESS.
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                                    ;
USE BASE              AX=BASE       ;   FILE ADDRESS:
XFADFB:=           AX,AX=AX+2       ;   FIRST BYTE
XFADBC:=           AX,AX=AX+2       ;   BYTE COUNT
XFADTB:=           AX,AX=AX+2       ;   TRANSFERRED BYTES
XFADWL:=           AX               ;   FILE ADDRESS WORD LENGTH

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; SECTOR ADDRESS.
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                                    ;
USE BASE              AX=BASE       ;   SECTOR ADDRESS:
XSADFS:=           AX,AX=AX+2       ;   FIRST SECTOR
XSADSC:=           AX,AX=AX+2       ;   SECTOR COUNT
XSADTS:=           AX,AX=AX+2       ;   TRANSFERRED SECTORS
XSADWL:=           AX               ;   SECTOR ADDRESS WORD LENGTH
                                    ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; BUFFER LIST ELEMENT.
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                                    ;
USE BASE              AX=BASE       ;   BUFFER LIST ELEMENT:
XBLETY:=           AX,AX=AX+1       ;   TYPE
                      BX=BASE       ;   TYPES:
XBLEUP:=           BX,BX=BX+1       ;     UPPER BYTE
XBLELC:=           BX,BX=BX+1       ;     LOCAL BUFFER
XBLEEX:=           BX,BX=BX+1       ;     EXTERNAL BUFFER
XBLETB:=           BX,BX=BX+1       ;     FIRST UNUSED BIT;
XBTYEX:=           1<XBLEEX         ;     EXTERNAL MASK
XBTYLL:=           1<XBLELC         ;     LOCAL LOWER BYTE MASK
XBTYLU:=           1<XBLELC     OR  %     LOCAL UPPER BYTE MASK
                   1<XBLEUP         ;
XBLELK:=           AX,AX=AX+1       ;   LINK(RELATIVE)
XBLEBA:=           AX,AX=AX+1       ;   BUF ADDRESS(RELATIVE)
XBLEBI:=           XBLEBA           ;   BUF ID
XBLEBS:=           AX,AX=AX+1       ;   BUF SIZE(BYTES)
XBLEWL:=           AX               ;   BUFFER LIST ELEMENT WORD LENGTH
                                    ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; STREAM POSITION.
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                                    ;
USE BASE              AX=BASE       ;   STREAM POSITION:
XSTRPO:=           AX,AX=AX+2       ;   STREAM POSITION
XSTPWL:=           AX               ;   STREAM POSITION WRD LENGTH
                                    ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; DEFINITIONS OF BYTE LENGTHS.
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                                    ;
XDVNBL:=      XDVNWL *2             ;   DEVICE NAME BYTE LENGTH
XVLNBL:=      XVLNWL *2             ;   VOLUME NAME BYTE LENGTH
XFLNBL:=      XFLNWL *2             ;   FILE NAME BYTE LENGTH
XFNSBL:=      XFNSWL *2             ;   FILE NAMES BYTE LENGTH
XFSNBL:=      XFSNWL *2             ;   FILE SYTSEM NAME BYTE LENGTH
XFATBL:=      XFATWL *2             ;   FILE ATTRIBUTES BYTE LENGTH
XFINBL:=      XFINWL *2             ;   FILE INFORMATION BYTE LENGTH
XUIDBL:=      XUSERH *2             ;   USER ID BYTE LENGTH
XACDBL:=      XACDWL *2             ;   ACCESS DESCRIPTION BYTE LENGTH
XDVDBL:=      XDVDWL *2             ;   DEVICE DESCRIPTION BYTE LENGTH
XDDDBL:=      XDDDWL *2             ;   DEVICE DESCRIPTION DUAL
                                    ;       BYTE LENGTH
XPDABL:=      XPDAWL *2             ;   PARTNER DEV. ATT. BYTE LENGTH
XKDKBL:=      XDKDSL *2             ;   DEVICE KIND DESCRIPTION BYTE LENTH
XDVIBL:=      XDVINL *2             ;   DEVICE INFORMATION BYTE LENGTH
XMTVBL:=      XMTVWL *2             ;   MT_VOLUME NAME BYTE LENGTH
XMTNBL:=      XMTNWL *2             ;   MT_NAME BYTE LENGTH
XMTABL:=      XMTAWL *2             ;   MT_ATTRIBUTES BYTE LENGTH
                                    ;