|
|
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 - metrics - download
Length: 12432 (0x3090)
Types: TextFile
Names: »IOSPARAMS.S«
└─⟦b8af24a88⟧ Bits:30005796 CR80 Disc Pack ( MINICAMPS )
└─⟦this⟧ »GENS.D!SWELLPREFIX.D!IOSPARAMS.S«
"-----------------------------------------------------------------------
"
"
" MODULE NAME: IO SYSTEM PARAMETERS (IOSPARAMS)
" MODULE ID NMB: CSS/872
" MODULE VERSION: 0105
" MODULE TYPE: PREFIX
" MERGE FILES: -
"
" SPECIFICATIONS: -
" AUTHOR/DATE: AEK/820120
"
" 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
"
"-----------------------------------------------------------------------
"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;
ASSIGNMT = ASSIGN;
MOUNTMT = #002B;
DISMOUNTMT = #002C;
INITMT = #002D;
REWIND = #002E;
CREATEMT = #002F;
FINDMT = #0030;
SKIPMT = #0031;
SKIPMTBLOCKS = #0032;
BREAKMTFILE = #0033;
RESUMEMTFILE = #0034;
"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; FILE_CLOSED = #40F;
FILES_OPEN = #410; NO_FILE_TO_ACCEPT = #411;
NONEXISTING_USER = #412; USER_ALREADY_ACTIVE = #413;
NO_CONNECTION = #414;
ILLEGAL_CALLER = #416; OTHER_USERS = #417;
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;
VOL_THRESHOLD_EXCEEDED = #424; FILE_THRESHOLD_EXCEEDED = #425;
VOL_THRESHOLD_TOO_LARGE = #426;
ILLEGAL_FILE_INF_TYPE = #428; NOT_DUAL_DISK = #429;
ILLEGAL_DISCARD = #42A;
UNKNOWN_COMMAND = #42C; END_OF_VOLUME = #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;
TAPE_NOT_INITIATED = #433; TAPE_NOT_WRITE_PROTECTED = #434;
BEGINNING_OF_TAPE_SENSED = #435; END_OF_TAPE_SENSED = #436;
LOGICAL_EOT_SENSED = #437; FILE_MARK_SENSED = #438;
INVALID_RECORD_LENGTH = #439; SHORT_DATA_RECORD = #43A;
LONG_DATA_RECORD = #43B; TAPE_MUST_BE_LABELED = #43C;
FILE_MUST_BE_OPEN_FOR_INPUT = #43D;
FILE_NOT_BREAKABLE = #43F; ILLEGAL_RESUME_TAPE = #43F;
WRITE_PROTECTED_DEVICE = #442; UNEXPEC_DISK_IF_STATUS = #443;
DATA_OR_SYNC_ERROR = #444; ADDRESS_OR_SYNC_ERROR = #445;
BAD_SECTOR = #446; WRITE_PROTECTED_SECTOR = #447;
ILLEGAL_SECTOR = #448; TIMING_ERROR = #449;
SUBBUS_OVERRUN = #44A; PARITY_ERROR = #44B;
BAD_SECTOR_READ = #44C; BAD_HOME_BLOCK = #44D;
"DEFINITIONS FOR FILE-NAME UTILITIES:
CONST
NAMELISTMAXINDEX = 10;
TYPE NAMELISTTYPE =
ARRAY [0..FNAMELENGTH*NAMELISTMAXINDEX-1] OF CHAR;
"END OF IOSPARAMS «a5»