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

⟦8fee50cc7⟧ TextFile

    Length: 10720 (0x29e0)
    Types: TextFile
    Names: »IOSPARAMS.S«

Derivation

└─⟦732a9e2da⟧ Bits:30005117 8" CR80 Floppy CR80FD_0076 ( CR/D/2322 Diverse systemmoduler SWELL PREFIX F Copy af CRD2315 I K CRD2322 810225 AEK S )
    └─⟦b9b5abdc9⟧ 
        └─ ⟦this⟧ »SWELLPREFIX.D!IOSPARAMS.S« 

TextFile

"-----------------------------------------------------------------------
"
"
"  MODULE NAME:      IO SYSTEM PARAMETERS (IOSPARAMS)
"  MODULE ID NMB:    CSS/872
"  MODULE VERSION:   0104
"  MODULE TYPE:      PREFIX
"  MERGE  FILES:     -
"  
"  SPECIFICATIONS:   -
"  AUTHOR/DATE:      AEK/810211
"
"  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
"-----------------------------------------------------------------------
"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;
  
"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;
                          "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  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  FILE_SYSTEM_NAME =
        RECORD
          PNAME:      PROCESS_NAME;
          GNAME:      GROUP_NAME;
        END;
  
CONST
      DIRECTORY   = 10;       "TYPE DIRECTORY FILE
      CONTIGUOUS  = 12;       "TYPE CONTIGUOUS FILE
      RANDOM      = 14;       "TYPE RANDOM FILE
 
TYPE  FILE_ORGANIZATION = DIRECTORY..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
  
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_DESCRIPTION =
        RECORD
          USER:   USERID;
          RIGHTS: ARRAY[0..1] OF BITS;
        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;
      SETVOLUMETHRESHOLD      =   #0024;
      GETVOLUMETHRESHOLD      =   #0025;
      SETFILETHRESHOLD        =   #0026;
      ASSIGNDUAL              =   #0027;
      DISCARD                 =   #0028;
  
  
"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 AND FMS 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;   NOT_USED_1               = #40F;
      FILES_OPEN               = #410;   NO_FILE_TO_ACCEPT        = #411;
      NONEXISTING_USER         = #412;   USER_ALREADY_ACTIVE      = #413;
      NO_CONNECTION            = #414;   NOT_USED_2               = #415;
      ILLEGAL_CALLER           = #416;   OTHER_USERS              = #417;
      NOT_USED_3               = #418;   OUT_OF_RANGE             = #419;
      DISK_DRIVER_FAILURE      = #41A;   FILE_FULL                = #41B;
      ACL_FULL                 = #41C;   PROTECTION_FAILURE       = #41D;
      NOT_USED_4               = #41E;   NOT_USED_5               = #41F;
      ILLEGAL_DIRECTORY        = #420;   NAME_EXISTS              = #421;
      NONEXISTING_NAME         = #422;   NOT_ALLOCATABLE          = #423;








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










"END OF IOSPARAMS