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