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