DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Hard and Floppy Disks

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CR80 Hard and Floppy Disks

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦505ded601⟧ TextFile

    Length: 7190 (0x1c16)
    Types: TextFile
    Names: »FMSPARAMS.S«

Derivation

└─⟦b8af24a88⟧ Bits:30005796 CR80 Disc Pack ( MINICAMPS )
    └─ ⟦this⟧ »GENS.D!SWELLPREFIX.D!FMSPARAMS.S« 

TextFile

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