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: 4896 (0x1320) Types: TextFile Names: »DISKDRVPARAMS.S«
└─⟦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!DISKDRVPARAMS.S«
"----------------------------------------------------------------------- " " MODULE NAME: DISK DRIVER PARAMETERS " ---------------------- " " " MODULE ID NMB: CSS/881 " MODULE VERSION: 0102 " MODULE TYPE: PREFIX " MODULE FILES: - " MERGE FILES: - " " SPECIFICATIONS: CR80 DISK DRIVER PRODUCT SPECIFICATION, " CSS/006/PSP/0005. " AUTHOR/DATE: JHO/790323 " " DELIVERABLE: YES " SOURCE LANGUAGE: SWELL " COMPILE COMPUTER: CR80 " TARGET COMPUTER: CR80 " OPER. SYSTEM: AMOS " " "----------------------------------------------------------------------- " " CHANGE RECORD " " VERSION AUTHOR/DATE DESCRIPTION OF CHANGE " ------- ----------- --------------------- " " 001 GMC/801020 INITIAL RELEASE. " " 0102 AEK/810211 CHANGE TO DISK_XFER_MSG TO FACILITATE " HANDLING OF THE SPECIFICATION OF THE " SECTORS TO BE TRANSFERRED "----------------------------------------------------------------------- "THROUGHOUT, A SECTORS'S NUMBER MEANS ITS LOGICAL SECTOR NUMBER, AS "DEFINED IN THE DISK DRIVER PSP. NOTE THAT THIS IS A 3 BYTE INTEGER. "PAGE«ff» "COMMANDS "-------- CONST DISK_READ = 0; DISK_WRITE = 1; DISK_WRITE_AND_PROTECT = 2; DISK_WRITE_AND_MARK = 3; DISK_FORMAT = 4; DISK_CHECK = 6; DISK_INITIALISE = 7; DISK_INCLUDE = 8; DISK_EXCLUDE = 9; TYPE DISK_DRV_CMD = DISK_READ..DISK_EXCLUDE; "FORMAT OF A DISK TRANSFER REQUEST "--------------------------------- CONST FIRST_MOST = 0; SECT_COUNT = 1; TYPE LOGICAL_SECTORS_SPEC = RECORD FIRST_LEAST : INTEGER; "2 LEAST SIGNIF BYTES OF 1ST SECT'S NBR FIELD2 : ARRAY [FIRST_MOST..SECT_COUNT] OF BYTE END; TYPE DISK_XFER_MSG = RECORD STD : INTEGER; "STANDARD, NOT USED CMD_PRIV_UNIT : INTEGER; "COMPOUND OF COMMAND, PRIVACY, UNIT " AND SUBUNIT FIELDS SECTORS : LOGICAL_SECTORS_SPEC; "SPECIFICATION OF SECTORS "TO BE TRANSFERRED BUF_ADDR : ABSPTR "ABSOLUTE ADDRESS OF FIRST SECTOR'S BUFFER END "DISK XFER MSG"; "COMPOSITION OF CMD_PRIV_UNIT FIELD CONST DISK_CMD_POSN = 0; DISK_CMD_LENGTH = 4; DISK_PRIV_POSN = 4; DISK_PRIV_LENGTH = 2; DISK_UNIT_POSN = 8; DISK_UNIT_LENGTH = 2; DISK_SUBUNIT_POSN = 12; DISK_SUBUNIT_LENGTH = 1; "FORMAT OF A DISK TRANSFER REPLY "------------------------------- "COMPOSITION OF CC FIELD CONST PRIMARY_CC_POSN = 0; PRIMARY_CC_LENGTH = 4; SECONDARY_CC_POSN = 4; SECONDARY_CC_LENGTH = 11; "(PRIMARY) COMPLETION CODES DISK_OKAY = 0; WRITE_PROTECTED_DRV = 2; UNEXPECTED_STATUS = 3; DATA_OR_SYNC_ERR = 4; ADDR_OR_SYNC_ERR = 5; BAD_SECT = 6; WRITE_PROTECTED = 7; ILLEGAL_SECT = 8; TIMING_ERR = 9; SUBBUS_OVERR = 10; PARITY_ERR = 11; TYPE DISK_CC = DISK_OKAY..PARITY_ERR; TYPE DISK_DRV_ANS = RECORD RESULT : INTEGER; "STANDARAD RESULT, DEFINED IN DRIVERPARAMS.S CC : DISK_CC; "DISK DRIVER COMPLETION CODE LAST : LONG; "IF RESULT IS OKAY, THEN THIS IS THE NUMBER "OF THE LAST SECTOR ACCESSED + 1. OTHERWISE, "IT IS THE NUMBER OF THE LAST SECTOR ACCESSED. "N.B. CONTENTS OF THE MOST SIGNIFICANT BYTE "ARE UNDEFINED. BUF_ADDR : ABSPTR "ABSOLUTE ADDRESS OF THE FIRST SECTOR'S BUFFER END "DISK DRV ANS"; "FORMAT OF AN INCLUDE (SUB)UNIT REQUEST "------------------------------------- TYPE DISK_INCLUDE_MSG = RECORD STD : INTEGER; "STANDARD, NOT USED CMD_TYPE_UNIT : INTEGER; "COMPOUND OF COMMAND, TYPE, UNIT & SUBUNIT MAX_SECT_NBR : LONG; "MAXIMUM SECTOR NUMBER OF THE (SUB)UNIT SECTS_PER_CYL : INTEGER; "NUMBER OF PHYSICAL SECTORS PER CYLINDER, "FOR THIS (SUB)UNIT END "DISK INCLUDE MSG"; "COMPOSITION OF CMD_TYPE_UNIT FIELD CONST "THE COMMAND AND UNIT FIELDS ARE AS FOR A TRANSFER REQUEST DISK_TYPE_POSN = 4; DISK_TYPE_LENGTH = 2; "TYPE FIELD TYPE CDC_TYPE = (MINI_MODULE, STORAGE_MODULE, CARTRIDGE_MODULE); "FORMAT OF A INITIALISE REQUEST "------------------------------ TYPE DISK_INIT_MSG = RECORD STD : INTEGER; "STANDARD, NOT USED CMD : DISK_DRV_CMD; ADDR : INTEGER; "COMPOUND OF PRIORITY AND I/O ADDRESS NOT_USED : ARRAY [3..5] OF INTEGER END "DISK INIT MSG"; "COMPOSITION OF PRI_AND_ADDR FIELD CONST PRIORITY_POSN = 0; PRIORITY_LENGTH = 2; ADDRESS_POSN = 2; ADDRESS_LENGTH = 6;