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

⟦23b5dfe72⟧ TextFile

    Length: 21674 (0x54aa)
    Types: TextFile
    Names: »IOSPARAMS.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!SWELL.D!IOSPARAMS.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!SWELL.D!IOSPARAMS.S« 

TextFile

"-----------------------------------------------------------------------
"
"
"  MODULE NAME:      IO SYSTEM PARAMETERS (IOSPARAMS)
"  MODULE ID NMB:    CSS/872
"  MODULE VERSION:   02
"  MODULE TYPE:      PREFIX
"  MERGE  FILES:     -
"
"  SPECIFICATIONS:   -
"  AUTHOR/DATE:      PHF/850418
"
"  DELIVERABLE:      -
"  SOURCE LANGUAGE:  SWELL
"  COMPILE COMPUTER: CR80
"  TARGET COMPUTER:  CR80
"  OPER. SYSTEM:     AMOS
"
"-----------------------------------------------------------------------
"
"  CHANGE RECORD
"
"  VERSION    AUTHOR/DATE    DESCRIPTION OF CHANGE
"  -------    -----------    ---------------------
"
"    0102     JSL /801030    LAYOUT CHANGED TO SCL STANDARD
"
"    0103     AEK /801105    MAGTAPE = 74, ADDED TO
"                            DEVICE SPECIFICATION CONSTANTS
"
"    0104     AEK /810211    DEVICE_DESCRIPTION_DUAL CHANGED
"
"    0105     AEK /820120    MAGTAPE_DRIVER FUNCTION NAMES ADDED
"
"    0106     SMA /830201    PARTNER_DEVICE_ATTRIBUTES ADDED.
"                            STARTDUALIZE, FINISHDUALIZE AND
"                            DUALIZESECTORS ADDED.
"
"    0107     FP/830928      SETFILETHRESHOLD, SETVOLUMETHRESHOLD,
"                            AND GETVOLUMEINFORMATION DELETED.
"
"                            UNMOUNT, INITDUALIZESECTORS,
"                            INITREADSECTORS, INITWRITESECTORS,
"                            INITWRITEANDMARKSECTORS,
"                            INITWRITEANDPROTECTSECTORS,
"                            INITFORMAT, AND GETDEVICEINFORMATION
"                            ADDED.
"
"    0108     JAS/831027     DEVICE_INFORMATION TYPE ADDED.
"                            MAGTAPE COMPLETION CODES CHANGED.
"                            NEW FMS COMPLETION CODES ADDED.
"                            CHANGEVOLUMEID, CHANGEBOOTENTRY,
"                            RESERVE AND RELEASE ADDED.
"
"    0109     JAS/840405     DEVICE_INFORMATION TYPE CHANGED.
"                            SETFILESIZE AND EXMOUNT CMDS ADDED.
"                            NEW DISK TYPE, FMD675, KIND 30.
"                            NEW COMPLETION CODES.
"
"    0110     FP/840702      NEW COMMANDS:
"                            INITCREATE,INITDISMANTLE,INITPROTECT,
"                            INITRESET,INITOFFER,INITACCEPT,
"                            INITGETFILEINFORMATION,INITASSIGN,INITDEASSIGN,
"                            INITMOUNT,INITDISMOUNT,INITGETROOT,INITUSERON,
"                            INITUSEROFF,INITENTER,INITLOOKUP,INITDESCENT,
"                            INITRENAME,INITREMOVE,INITUPDATE,INITSTARTDUALIZE,
"                            INITFINISHDUALIZE,INITASSIGNDUAL,INITDISCARD,
"                            INITRESERVE,INITRELEASE,INITUNMOUNT,
"                            INITGETDEVICEINFORMATION,INITCHANGEVOLUMEID,
"                            INITCHANGEBOOTENTRY,INITSETFILESIZE,
"                            INITEXMOUNT,MULTIAWAIT.
"                            END_OF_VOLUME CC RESTORED AS A MAGTAPE CC.
"
"    0111     JAS/840807     NEW VOLUME USE - PARTIAL_DUALIZABLE_VOL.
"                            DEVICE TABLE ENTRY TYPE ADDED.
"                            INCLUDEDEVICEKIND CMD ADDED.
"                            NEW COMPLETION CODE.
"                            ACCESS_TYPES TYPE ADDED (FOR THIS PREFIX TO
"                            BE ABLE TO CO-EXIST WITH VOL_STRUCTURES.S)
"
"    0201     PHF/850418     New file types describing VDUs
"-----------------------------------------------------------------------
"PAGE«ff»
"GENERAL TYPES

TYPE  FD      = INTEGER;  "FILE DESCRIPTION IDENTIFIER
TYPE  TSTREAM = INTEGER;  "STREAM IDENTIFIER

TYPE  STREAM_MODE = (INPUT_MODE, OUTPUT_MODE);

"EXIT DEFINITIONS

TYPE  INELEMENT_EXITS = (IE_ERROR, IE_NUMBER, IE_IDENTIFIER, IE_SPECIAL);
TYPE  INFILEID_EXITS  = (IF_ERROR, IF_SYNTAX, IF_DONE);

CONST  DNAMELENGTH   =  4;
TYPE  DEVICE_NAME = ARRAY[0..DNAMELENGTH-1] OF CHAR;
CONST  VNAMELENGTH   = 16;
TYPE  VOLUME_NAME = ARRAY[0..VNAMELENGTH-1] OF CHAR;
CONST  FNAMELENGTH   = 16;
TYPE  FILE_NAME   = ARRAY[0..FNAMELENGTH-1] OF CHAR;

TYPE  FILE_NAMES  =
        RECORD
          OLD_NAME:     FILE_NAME;
          NEW_NAME:     FILE_NAME;
        END;

TYPE  VOLUME_USE = ( SINGLE_VOL, DUAL_VOL, DUALIZABLE_VOL,
                     PARTIAL_DUALIZABLE_VOL );

"DEVICE SPECIFICATION
CONST
                          "FLOPPY DISK TYPES
      FD_SINGLE   = 10;   "SINGLE SIDED
      FD_DOUBLE   = 12;   "DUAL SIDED
                          "MINI MODULE DRIVES
      MMD12       = 20;
      MMD24       = 22;
      MMD81       = 24;   "80MB (1MB FIXED)
      MMD82       = 26;   "80MB (2MB FIXED)
      MMD160      = 28;
      FMD675      = 30;
                          "STORAGE MODULE DRIVES
      SMD40       = 40;
      SMD80       = 42;
      SMD150      = 44;
      SMD300      = 46;
      SMD600      = 48;
                          "CARTRIDGE MODULE DRIVES
      CMD32       = 60;
      CMD64       = 62;
      CMD96       = 64;
                          "OTHER DEVICES
      LINEPRINTER = 70;
      CARDREADER  = 72;
      MAGTAPE     = 74;

TYPE  DEVICE_KIND = FD_SINGLE..CARDREADER;

TYPE  CDC_TYPE = (MINI_MODULE, STORAGE_MODULE, CARTRIDGE_MODULE);


TYPE  DRIVER_KIND = (FLOPPY_DRIVER,CDC_DRIVER,
                     PRINTER_DRIVER,CARD_READER_DRIVER,
                     MAGNETIC_TAPE_DRIVER);

TYPE  DEVICE_TABLE_ENTRY =
        RECORD
          DEV_KIND             : DEVICE_KIND;
          CDC                  : CDC_TYPE;
          DRIVER               : DRIVER_KIND;
          LAST_UNIT            : INTEGER;      "LAST UNIT ALLOWED BY DRIVER"
          SECTOR_COUNT0        : LONG;         "SECTORS ON SUBUNIT 0"
          SECTORS_PR_CYLINDER0 : INTEGER;      "SECTORS/CYLINDER ON SUBUNIT 0"
          SECTOR_COUNT1        : LONG;
          SECTORS_PR_CYLINDER1 : INTEGER;
        END "DEVICE_TABLE_ENTRY";

TYPE  DEVICE_DESCRIPTION =
        RECORD
          IO_KIND:      DEVICE_KIND;
          IO_ADDR:      INTEGER;
          UNIT:         INTEGER;
          SUBUNIT:      INTEGER;
          NAME:         DEVICE_NAME;
        END;

TYPE  DUAL_DEVICE_DESCRIPTION =
        RECORD
          DEV_DESC:     DEVICE_DESCRIPTION;
          IO_ADDR_1:    INTEGER;
          UNIT_1:       INTEGER;
        END;

TYPE  PARTNER_DEVICE_ATTRIBUTES =
        RECORD
          IO_ADDR:      INTEGER;
          UNIT:         INTEGER;
        END;

TYPE  FILE_SYSTEM_NAME =
        RECORD
          PNAME:      PROCESS_NAME;
          GNAME:      GROUP_NAME;
        END;

CONST
      GT400       =  1;       "VDU TYPE GT400
      ANSI        =  2;       " -    -  ANSI (VT100)
      VT52        =  3;       " -    -  VT52
      Teletype    =  4;       " -    -  Teletype

      DIRECTORY   = 10;       "TYPE DIRECTORY FILE
      CONTIGUOUS  = 12;       "TYPE CONTIGUOUS FILE
      RANDOM      = 14;       "TYPE RANDOM FILE

TYPE  FILE_ORGANIZATION = GT400..RANDOM;

TYPE  FILE_ATTRIBUTES =
        RECORD
          VOLUME:           VOLUME_NAME;
          ORGANIZATION:     FILE_ORGANIZATION;
          ALLOCATION_SIZE:  LONG;
          AREA_SIZE:        INTEGER;
        END;

TYPE  VOLUME_THRESHOLD = LONG;
TYPE  FILE_THRESHOLD   = LONG;
TYPE  FILE_INFORMATION = LONG;

TYPE  FILE_INFORMATION_TYPE =
       (F_ORGANIZATION,
        F_BYTESIZE,
        F_ALLOCATIONSIZE,   "IF CONT FILE THEN SECTORS ELSE AREAS
        F_BODYADDRESS,      "LOGICAL SECTOR NUMBER OF INDEX OR BODY
        F_AREASIZE,         "SECTORS
        F_FILETHRESHOLD,    "BYTES
        F_LINKS,            "FROM DIRECTORIES
        F_IN_BFD,           "BOOLEAN
        F_BFD_NUMBER,       "BFD ENTRY NUMBER
        F_NBR_OF_USERS);    "NBR OF USERS OF FILE

TYPE  DEV_STATE       = (UNUSED, ASSIGNED, RESERVED, MOUNTED, DISK_CHANGED,
                         WRITE_PROTECTED);
TYPE  VOL_STATE       = (AMOS_VOL, MOUNTED_SINGLE, MOUNTED_DUAL,
                         DISMOUNTED_SINGLE, DISMOUNTED_DUAL,
                         DUALIZING_VOL);
TYPE  BFDNBR          =  LONG;
TYPE  DUAL_DISK_STATE = (DISK_OPENED, DISK_REDUALISING, DISK_DUALISING,
                         DISK_CLOSED, DISK_DISCARDED);

TYPE  LOGICAL_DEVICE_INFO =
        RECORD
          STATE:       DEV_STATE;    "ASSIGNED, RESERVED OR MOUNTED
          RESERVER:    INTEGER;      "USER ID - ONLY VALID IF RESERVED
          DEVNAME:     DEVICE_NAME;  "LOG DEVICE NAME
          DUAL:        BOOLEAN;      "DUAL DISK OR NOT
          SECTORCOUNT: LONG;         "NUMBER OF SECTORS ON VOLUME
          NBR_ERRORS:  INTEGER;      "NUMBER OF NON_REPORTED ERRORS
                                     "HAVE OCCURED ON THIS DEVICE
        END;


TYPE CTRL_INFO =
       RECORD
         IOADDR : INTEGER;
         RAMADDR: INTEGER;
       END;


TYPE  PHYSICAL_DEVICE_INFO =
        RECORD
          KIND           : DEVICE_KIND;
          USED_UNIT      : INTEGER;    "BIT 0     : SUB_UNIT
                                       "BIT 1 - 15: UNIT
          CONTROLLER_INFO: CTRL_INFO;
          STATUS         : DUAL_DISK_STATE;
        END;


TYPE  TIME = ARRAY [0..2] OF INTEGER;


TYPE  VOLUME_INFO =
        RECORD
          VOLNAME:       VOLUME_NAME;  "NAME ASSIGNED TO VOLUME
          FREE_ENTRIES:  LONG;         "NUMBER OF FREE ENTRIES IN BFD
          BOOT_ENTRY:    BFDNBR;       "BFD NUMBER
          CREATION_DATE: TIME;
          ACCESS_DATE:   TIME;
          FORMAT:        INTEGER;      "IDENTIFICATION OF FORMAT OF VOLUME
          STATE:         VOL_STATE;
        END;


TYPE  DEVICE_INFORMATION =
        RECORD
          LOG_DEV_INFO:  LOGICAL_DEVICE_INFO;
          PHYS_DEV_INFO: ARRAY [0..1] OF PHYSICAL_DEVICE_INFO;
          VOL_INFO:      VOLUME_INFO;      "ONLY VALID IF VOLUME MOUNTED
          FILLER:        ARRAY [38..39] OF INTEGER;
        END;

TYPE  SECTOR_ADDRESS =
        RECORD
          FIRST_SECTOR:         LONG;
          SECTOR_COUNT:         LONG;
          TRANSFERRED_SECTORS:  LONG;
        END;

TYPE  FILE_ADDRESS =
        RECORD
          FIRST_BYTE:           LONG;
          BYTE_COUNT:           LONG;
          TRANSFERRED_BYTES:    LONG;
        END;

TYPE  FILE_IDENT =
        RECORD
          NAME:   FILE_NAME;
          D:      FD;       "DIRECTORY FD
          F:      FD;       "FILE FD
          S:      TSTREAM;  "STREAM IDENTIFIER
        END;

TYPE  ACCESS_TYPES =
        RECORD
          ACCESS1: INTEGER;
          ACCESS2: INTEGER;
        END;

TYPE  ACCESS_DESCRIPTION =
        RECORD
          USER:   USERID;
          RIGHTS: ARRAY[0..1] OF BITS;     " = ACCESS_TYPES
        END;

"ACCESS RIGHT DEFINITIONS
CONST
      BNAREADBYTES           = 0;
      BNAMODIFYBYTES         = 1;
      BNAAPPENDBYTES         = 2;
      BNAENTER               = 5;
      BNALOOKUP              = 6;
      BNARENAME              = 7;
      BNAREMOVE              = 8;
      BNARESET               = 10;
      BNAGETFILEINFORMATION  = 11;
      BNAPROTECT             = 12;
      BNASETFILETHRESHOLD    = 13;
      BNAOFFER               = 14;

"BUFFER TYPE DESIGNATIONS
CONST
      BNUPPERBYTE     = 0;
      BNLOCALBUFFER   = 1;
      BNEXTERNALBUFFER= 2;

      BMLOCALLOWER    = 1 SHIFTLL BNLOCALBUFFER;
      BMLOCALUPPER    = 1 SHIFTLL BNLOCALBUFFER + 1 SHIFTLL BNUPPERBYTE;
      BMEXTERNAL      = 1 SHIFTLL BNEXTERNALBUFFER;

TYPE  BUFFER_TYPE     = BMLOCALLOWER..BMEXTERNAL;

TYPE  BUFFER_LIST_ELEMENT =
        RECORD
          KIND:       BUFFER_TYPE;
          LINK:       RELPTR;
          ADDR:       RELPTR;
          BYTE_SIZE:  INTEGER;
        END;

TYPE  STREAM_POSITION = LONG;

"IOS MONITOR PROCEDURE SUBNAME DEFINITIONS

CONST
      CREATE                  =   #0000;
      DISMANTLE               =   #0001;
      PROTECT                 =   #0002;
      RESET                   =   #0003;
      OFFER                   =   #0004;
      ACCEPT                  =   #0005;
      GETFILEINFORMATION      =   #0006;
      SPECIAL                 =   #0007;
      ASSIGN                  =   #0008;
      DEASSIGN                =   #0009;
      MOUNT                   =   #000A;
      DISMOUNT                =   #000B;
      FORMAT                  =   #000C;
      GETROOT                 =   #000D;
      USERON                  =   #000E;
      USEROFF                 =   #000F;
      ENTERFILE               =   #0010;
      LOOKUP                  =   #0011;
      DESCENT                 =   #0012;
      RENAME                  =   #0013;
      REMOVE                  =   #0014;
      READSECTORS             =   #0015;
      WRITESECTORS            =   #0016;
      WRITEANDPROTECT         =   #0017;
      WRITEANDMARK            =   #0018;
      READBYTES               =   #0019;
      MODIFYBYTES             =   #001A;
      APPENDBYTES             =   #001B;
      INITREADBYTES           =   #001C;
      INITMODIFYBYTES         =   #001D;
      INITAPPENDBYTES         =   #001E;
      WAITOPERATION           =   #001F;
      WAITOPERATIONS          =   #0020;
      TESTOPERATION           =   #0021;
      CANCEL                  =   #0022;
      UPDATE                  =   #0023;
      STARTDUALIZE            =   #0024;
      FINISHDUALIZE           =   #0025;
      DUALIZESECTORS          =   #0026;
      ASSIGNDUAL              =   #0027;
      DISCARD                 =   #0028;
      RESERVE                 =   #0029;
      RELEASE                 =   #002A;

      ASSIGNMT                =   ASSIGN;
      MOUNTMT                 =   #002B;
      DISMOUNTMT              =   #002C;
      INITMT                  =   #002D;
      REWIND                  =   #002E;
      CREATEMT                =   #002F;
      FINDMT                  =   #0030;
      SKIPMT                  =   #0031;
      SKIPMTBLOCKS            =   #0032;
      BREAKMTFILE             =   #0033;
      RESUMEMTFILE            =   #0034;

      UNMOUNT                 =      53;
      INITDUALIZESECTORS      =      54;
      INITREADSECTORS         =      55;
      INITWRITESECTORS        =      56;
      INITWRITEANDMARKSECTORS =      57;
      INITWRITEANDPROTECTSECTORS =   58;
      INITFORMAT              =      59;
      GETDEVICEINFORMATION    =      60;
      CHANGEVOLUMEID          =      61;
      CHANGEBOOTENTRY         =      62;
      SETFILESIZE             =      63;
      EXMOUNT                 =      64;
      INITCREATE              =      65;
      INITDISMANTLE           =      66;
      INITPROTECT             =      67;
      INITRESET               =      68;
      INITOFFER               =      69;
      INITACCEPT              =      70;
      INITGETFILEINFORMATION  =      71;
      INITASSIGN              =      72;
      INITDEASSIGN            =      73;
      INITMOUNT               =      74;
      INITDISMOUNT            =      75;
      INITGETROOT             =      76;
      INITUSERON              =      77;
      INITUSEROFF             =      78;
      INITENTER               =      79;
      INITLOOKUP              =      80;
      INITDESCENT             =      81;
      INITRENAME              =      82;
      INITREMOVE              =      83;
      INITUPDATE              =      84;
      INITSTARTDUALIZE        =      85;
      INITFINISHDUALIZE       =      86;
      INITASSIGNDUAL          =      87;
      INITDISCARD             =      88;
      INITRESERVE             =      89;
      INITRELEASE             =      90;
      INITUNMOUNT             =      91;
      INITGETDEVICEINFORMATION=      92;
      INITCHANGEVOLUMEID      =      93;
      INITCHANGEBOOTENTRY     =      94;
      INITSETFILESIZE         =      95;
      INITEXMOUNT             =      96;
      MULTIAWAIT              =      97;
      INCLUDEDEVICEKIND       =      98;

"STREAM PROCEDURES
CONST
      CONNECT                 =   #0000;
      DISCONNECT              =   #0001;
      GETPOSITION             =   #0002;
      SETPOSITION             =   #0003;
      INBYTE                  =   #0004;
      BACKSPACE               =   #0005;
      INREC                   =   #0006;
      OUTBYTE                 =   #0007;
      OUTREC                  =   #0008;
      FLUSH                   =   #0009;
      INTYPE                  =   #000A;
      INELEMENT               =   #000B;
      OUTTEXTP                =   #000C;
      OUTTEXTB                =   #000D;
      OUTHEXA                 =   #000E;
      OUTINTEGER              =   #000F;
      OUTLONGINTEGER          =   #0010;
      OUTNL                   =   #0011;
      INLINE                  =   #0012;
      OUTLINE                 =   #0013;



"IOS,  FMS,  DISK AND  MT  COMPLETION AND ERROR CODES
CONST
      IO_OK                    =    0;   EOF                      = #201;
      NO_FDS_AVAILABLE         = #202;   ILLEGAL_FD               = #203;
      NO_IOCBS_AVAILABLE       = #204;   ILLEGAL_IOCB             = #205;
      NO_STREAMS_AVAILABLE     = #206;   ILLEGAL_STREAM           = #207;
      NO_XFELEMS_AVAILABLE     = #208;   ILLEGAL_ADDRESS          = #209;
      ILLEGAL_BLE              = #20A;   FILE_NOT_OPEN            = #20B;
      DIFFERENT_FILE_SYSTEMS   = #20C;   UNKNOWN_FILE_SYSTEM      = #20D;
      ILLEGAL_COMMAND          = #20E;   IO_SYSTEM_ERROR          = #20F;
      NOT_ENOUGH_SPACE         = #210;   ILLEGAL_MODE             = #211;
      ILLEGAL_MEMORY_PARM      = #212;   NO_BUFFER_SPACE          = #213;
      NOT_CONNECTED            = #214;   NOT_OUTPUT_MODE          = #215;
      NOT_INPUT_MODE           = #216;   ELEMENT_OVERFLOW         = #217;
      SYNTAX_ERROR             = #218;


      NONEXISTING_DEVICE       = #400;   ILLEGAL_DEVICE_KIND      = #401;
      ILLEGAL_CR80_ADDR        = #402;   DEVICE_NAME_IN_USE       = #403;
      ILLEGAL_UNIT             = #404;   ILLEGAL_SUBUNIT          = #405;
      WRONG_VOLUME_NAME        = #406;   NONEXISTING_VOLUME       = #407;
      VOLUME_MOUNTED           = #408;   DIFFERENT_VOLUMES        = #409;
      ILLEGAL_FILE             = #40A;   ILLEGAL_ORGANIZATION     = #40B;
      ILLEGAL_ALLOC_SIZE       = #40C;   ILLEGAL_AREA_SIZE        = #40D;
      ILLEGAL_WRITE            = #40E;   FILE_CLOSED              = #40F;
      FILES_OPEN               = #410;   NO_FILE_TO_ACCEPT        = #411;
      NONEXISTING_USER         = #412;   USER_ALREADY_ACTIVE      = #413;
      NO_CONNECTION            = #414;   ILLEGAL_USERGROUP        = #415;
      ILLEGAL_CALLER           = #416;   OTHER_USERS              = #417;
      NOT_CONTIGUOUS_DUALIZE   = #418;   OUT_OF_RANGE             = #419;
                                         FILE_FULL                = #41B;
      ACL_FULL                 = #41C;   PROTECTION_FAILURE       = #41D;

      ILLEGAL_DIRECTORY        = #420;   NAME_EXISTS              = #421;
      NONEXISTING_NAME         = #422;   NOT_ALLOCATABLE          = #423;
                                         KIND_UNIT_CONFLICT       = #425;
      KIND_CTRLR_CONFLICT      = #426;
      ILLEGAL_FILE_INF_TYPE    = #428;   NOT_A_DUAL_DISK          = #429;
      ILLEGAL_DISCARD          = #42A;
      UNKNOWN_COMMAND          = #42C;   BAD_SECTOR_DURING_FORMAT = #42D;
      BAD_SECTOR_TABLE_FULL    = #42E;   UNIT_IS_IN_USE           = #42F;
      VOLUME_NAME_IS_IN_USE    = #430;   DEVICE_NOT_RESERVED      = #431;
      DEVICE_ALREADY_RESERVED  = #432;   DEVICE_NOT_SINGLE        = #433;
      DEVICE_NOT_DUAL          = #434;   ILLEGAL_DCB_INDEX        = #435;
      UNKNOWN_VOLUME_USE       = #436;   ILLEGAL_FINISH_DUALIZE   = #437;
                                         ILLEGAL_START_DUALIZE    = #43B;
      NOT_DUALIZING            = #43C;   DUALIZING_WITHOUT_MOUNT  = #43D;
                                         BAD_SECTOR_READ          = #441;
      CORRUPT_HOMEBLOCK        = #442;   BAD_SECTOR_IN_ASF        = #443;
      BST_FULL                 = #444;
      BAD_SECTOR_REPLACED      = #448;   LAST_BAD_SECTOR_REPLACED = #449;
      DIFFERENT_VOLUME_NAMES   = #44A;   DIFFERENT_ACCESS_DATES   = #44B;
      NOT_ASSIGNED_DUAL        = #44C;   NOT_DISMOUNTED_DUAL      = #44D;
      NOT_MOUNTED_DUAL         = #44E;   SECTOR_COUNT_CONFLICT    = #44F;
      BST_SIZE_TOO_BIG         = #450;   NOT_EMPTY_DIRECTORY      = #451;
      NO_DISK_CHANGE           = #452;   NO_SPARE_DEVICE_KINDS    = #453;

                                         DRIVE_NOT_READY          = #481;
      WRITE_PROTECTED_DEVICE   = #482;   UNEXPEC_DISK_I_F_STATUS  = #483;
      DATA_OR_SYNC_ERROR       = #484;   ADDRESS_OR_SYNC_ERROR    = #485;
      BAD_SECTOR               = #486;   WRITE_PROTECTED_SECTOR   = #487;
      ILLEGAL_SECTOR           = #488;   TIMING_ERROR             = #489;
      SUBBUS_OVERRUN           = #48A;   PARITY_ERROR             = #48B;
      SELFTEST_RUNNING         = #48C;   CONTROLLER_RESET         = #48D;
      SELFTEST_FAILED          = #48E;   CONTROLLER_FAILURE       = #48F;

      TAPE_DEVICE_FAILURE      = #B00;   TAPE_SOFT_FAILURE        = #B01;
                                         TAPE_NOT_INITIATED       = #B03;
      TAPE_WRITE_PROTECTED     = #B04;   BEGINNING_OF_TAPE_SENSED = #B05;
      END_OF_TAPE_SENSED       = #B06;   LOGICAL_EOT_SENSED       = #B07;
      FILE_MARK_SENSED         = #B08;   INVALID_RECORD_LENGTH    = #B09;
      SHORT_DATA_RECORD        = #B0A;   LONG_DATA_RECORD         = #B0B;
      TAPE_MUST_BE_LABELED     = #B0C;
      FILE_MUST_BE_OPEN_FOR_INPUT        = #B0D;
      FILE_NOT_BREAKABLE       = #B0E;   ILLEGAL_RESUME_TAPE      = #B0F;
      END_OF_VOLUME            = #B10;



"DEFINITIONS FOR FILE-NAME UTILITIES:
CONST
     NAMELISTMAXINDEX = 10;
TYPE NAMELISTTYPE     =
     ARRAY [0..FNAMELENGTH*NAMELISTMAXINDEX-1] OF CHAR;



"END OF IOSPARAMS