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: 7190 (0x1c16) Types: TextFile Names: »FMSPARAMS.S«
└─⟦b8af24a88⟧ Bits:30005796 CR80 Disc Pack ( MINICAMPS ) └─ ⟦this⟧ »GENS.D!SWELLPREFIX.D!FMSPARAMS.S«
"----------------------------------------------------------------------- " " " MODULE NAME: FMS PARAMETERS (FMSPARAMS.S) " MODULE ID NMB: CSS/877 " MODULE VERSION: 0107 " MODULE TYPE: PREFIX " MERGE FILES: - " " SPECIFICATIONS: - " AUTHOR/DATE: /AEK/810303 " " DELIVERABLE: - " SOURCE LANGUAGE: SWELL " COMPILE COMPUTER: CR80 " TARGET COMPUTER: CR80 " OPER. SYSTEM: AMOS " "----------------------------------------------------------------------- " " CHANGE RECORD " " VERSION AUTHOR/DATE DESCRIPTION OF CHANGE " ------- ----------- --------------------- " " 0103 MAC/801121 INITIAL RELEASE " THIS VERSION MAKES VS0101 & VS0102 OBSOLETE " " 0104 AEK/801212 COMMANDS ADDED FOR THE MAGTAPE_DRIVER " COMMANDS ADDED FOR FILE SYSTEM (#90,100,129) " " ERROR_CODES ADDED FOR THE FILE_SYSTEM " " 0105 AEK/801219 TQM_CMD CHANGED TO FIRST_TQM_CMD " FILE_CMD_ID ALSO CHANGED " " 0106 AEK/810211 COMMANDS ADDED FOR RESERVE AND RELEASE " ERROR_CODES ADDED FOR THE FILE_SYSTEM " 0107 AEK/810303 ERROR_CODES CHANGED FOR THE FILE SYSTEM " " 0108 AEK/810324 ERROR_CODES ADDED FOR THE MAGTAPE_DRIVER " " 0109 AEK/820120 COMMANDS ADDED FOR BREAK_MT_FILE AND " RESUME_MT_FILE "----------------------------------------------------------------------- "PAGE«ff» " NOTE: THIS PREFIX CANNOT BE USED IF THE PREFIX IOSPARAMS.S IS INCLUDED." " ====" "FILE MANAGER COMMAND IDENTIFICATIONS" "------------------------------------" CONST USER_ON_CMD = 2; USER_OFF_CMD = 4; ASSIGN_CMD = 8; ASSIGNDUAL_CMD = 9; DEASSIGN_CMD = 10; DISCARD_CMD = 11; RESERVE_CMD = 12; RELEASE_CMD = 13; MOUNT_CMD = 14; DISMOUNT_CMD = 16; UPDATE_CMD = 17; GET_ROOT_CMD = 18; SET_VOL_THRESHOLD_CMD = 19; GET_VOL_INF_CMD = 21; CREATE_CMD = 22; DISMANTLE_CMD = 24; RESET_CMD = 26; OFFER_CMD = 28; ACCEPT_CMD = 30; PROTECT_CMD = 34; SET_FILE_THRESHOLD_CMD = 35; GET_FILE_INF_CMD = 36; ENTER_CMD = 38; LOOKUP_CMD = 40; DESCENT_CMD = 42; RENAME_CMD = 44; REMOVE_CMD = 46; READ_BYTES_CMD = 50; MODIFY_BYTES_CMD = 52; APPEND_BYTES_CMD = 54; READ_SECTORS_CMD = 60; WRITE_SECTORS_CMD = 62; WRITE_AND_PROTECT_CMD = 64; WRITE_AND_MARK_CMD = 66; FORMAT_CMD = 70; MTBREAK_CMD = 78; MTRESUME_CMD = 79; MTINIT_CMD = 80; MTMOUNT_CMD = 81; MTDISMOUNT_CMD = 82; MTCREATE_CMD = 83; MTFINDFILE_CMD = 84; REWIND_CMD = 85; MTSKIPFILES_CMD = 86; MTSKIPRECS_CMD = 88; FIRST_TQM_CMD = 90; FIRST_CRAM_CMD = 100; LAST_CRAM_CMD = 129; TYPE FM_CMD_ID = USER_ON_CMD..FIRST_TQM_CMD - 1; USER_NAME = RECORD USER_ID : INTEGER; "IDENTITY OF THE USER" PROC_ID : INTEGER; "IDENTITY OF USER'S PROCESS" END "USER_NAME"; BYTE_POSN = (LOW_BYTE, HIGH_BYTE); WORD = ARRAY [BYTE_POSN] OF BYTE; TWO_CHARS = WORD; "TWO CHARACTERS PACKED INTO A WORD CONST DEV_NAME_SIZE = 4; TYPE DEVICE_NAME = ARRAY [0..DEV_NAME_SIZE/2-1] OF TWO_CHARS; CONST VOL_NAME_SIZE = 16; TYPE VOLUME_NAME = ARRAY [0..VOL_NAME_SIZE/2-1] OF TWO_CHARS; FILE_CMD = RECORD CMD_ID : FM_CMD_ID; CALLER : USER_NAME; FILE_1 : INTEGER; FILE_2 : INTEGER; FIRST_BYTE : LONG; BYTE_COUNT : LONG; END; SECT_CMD = RECORD CMD_ID : FM_CMD_ID; CALLER : USER_NAME; DEV_NAME : DEVICE_NAME; FIRST_SECT : LONG; SECT_COUNT : LONG; END; REPLY = RECORD RESULT : INTEGER; "COMPLETION CODE" RESULT_PAR : LONG; "COMMAND DEPENDANT RESULT PARAMETER" END "REPLY"; "FMS COMPLETION CODES CONST 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_A_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_WRITE_PROTECTED = #434; BEGINNING_OF_TAPE_SENSED = #435; END_OF_TAPE_SENSED = #436; LOGICAL_EOT_SENSED = #437; FILEMARK_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 = #43E; ILLEGAL_RESUME_TAPE = #43F; WRITE_PROTECTED_DEVICE = #442; UNEXPEC_DISK_I_F_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; "END OF FMSPARAMS