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

⟦67766639c⟧ TextFile

    Length: 4992 (0x1380)
    Types: TextFile
    Names: »PREFIX«

Derivation

└─⟦8c5bcce80⟧ Bits:30005186 8" CR80 Floppy CR80FD_0183 ( CR/D/0436 PASCAL UTILITIES HPH Date 790524 Copy of CR/D/0958 )
    └─⟦12c79cc2c⟧ 
        └─ ⟦this⟧ »BLK.PREFIX« 
└─⟦9975dd352⟧ Bits:30005088 8" CR80 Floppy CR80FD_0043 ( CR/D/1032 PROMGEN (HBA) 790917 HBA PROMGEN BACKUP )
    └─⟦69b0db55a⟧ 
        └─ ⟦this⟧ »HBA.PREFIX« 

TextFile

"##################################################"
"CR80 SEQUENTIAL PASCAL STANDARD PREFIX. PHO-790330"
"##################################################"

CONST NL = '(:10:)';  FF = '(:12:)';  CR = '(:13:)';  EM = '(:25:)';
CONST NULL = '(:0:)';  SP = ' ';

CONST PAGELENGTH = 256;
TYPE PAGE = ARRAY [1..PAGELENGTH] OF INTEGER;


CONST LINELENGTH = 132;
TYPE LINE = ARRAY [1..LINELENGTH] OF CHAR;

CONST IDLENGTH = 12;
TYPE IDENTIFIER = ARRAY [1..IDLENGTH] OF CHAR;

TYPE FILE = 1..2;

TYPE ARGTAG = (NILTYPE, BOOLTYPE, INTTYPE, IDTYPE, PTRTYPE);

TYPE POINTER = @BOOLEAN;

TYPE ARGTYPE = RECORD
                 CASE TAG: ARGTAG OF
                   NILTYPE, BOOLTYPE: (BOOL: BOOLEAN);
                   INTTYPE: (INT: INTEGER);
                   IDTYPE: (ID: IDENTIFIER);
                   PTRTYPE: (PTR: POINTER)
               END;

CONST MAXARG = 10;
TYPE ARGLIST = ARRAY [1..MAXARG] OF ARGTYPE;
CONST S = 2;  P = 3;  O = 4;  N = 5;  D = 6;  L = 7;

TYPE ARGSEQ = (INP, OUT);

TYPE PROGRESULT = (TERMINATED, OVERFLOW, POINTERERROR,
                   RANGEERROR, VARIANTERROR, HEAPLIMIT,
                   STACKLIMIT, CODELIMIT, TIMELIMIT, CALLERROR);

TYPE BITPOSITION = 0..15;
TYPE BITFIELDLENGTH = 0..16;
TYPE BITVALUE = (LOW, HIGH);

TYPE MESSAGE_BUFFER = ARRAY (.1..5.) OF INTEGER;
TYPE EVENT_TYPE = (TIME_OUT, ANSWER, MESSAGE, INTERRUPT);

TYPE WORD_ADDRESS = RECORD
                      MEMORY_SECTION: INTEGER;
                      WORD_DISPLACEMENT:INTEGER
                    END;

TYPE BYTE_ADDRESS = RECORD
                      BYTE_DISPLACEMENT: INTEGER;
                      WORD_ADDR: WORD_ADDRESS
                    END;

TYPE PROCESS_NAME = RECORD
                      NAME: ARRAY [0..2] OF CHAR;
                      NAME_IDENT:INTEGER;
                      PROC_IDENT:INTEGER
                    END;

PROCEDURE READ(VAR C: CHAR);
PROCEDURE WRITE(C: CHAR);
PROCEDURE OPEN(F: FILE; ID: IDENTIFIER; VAR FOUND: BOOLEAN);
PROCEDURE CLOSE(F: FILE);
PROCEDURE GET(F: FILE; P: INTEGER; VAR BLOCK: UNIV PAGE);
PROCEDURE PUT(F: FILE; P: INTEGER; VAR BLOCK: UNIV PAGE);
PROCEDURE READARG(S: ARGSEQ; VAR ARG: ARGTYPE);
PROCEDURE WRITEARG(S: ARGSEQ; ARG: ARGTYPE);
PROCEDURE ACCEPT(VAR C:CHAR);
PROCEDURE DISPLAY(C: CHAR);

PROCEDURE MARK(VAR TOP: INTEGER);
PROCEDURE RELEASE(TOP: INTEGER);

PROCEDURE RUN(ID: IDENTIFIER; VAR PARAM: ARGLIST;
              VAR LINE: INTEGER; VAR RESULT: PROGRESULT);
PROCEDURE EXIT;
PROCEDURE HALT;

PROCEDURE SET_TRACE(MASK: INTEGER; DEVICE:IDENTIFIER);
PROCEDURE PRINT_TRACE(ON: BOOLEAN);

FUNCTION IAND(MASK1, MASK2: UNIV INTEGER): INTEGER;
FUNCTION IOR(MASK1, MASK2: UNIV INTEGER): INTEGER;
FUNCTION XOR(MASK1, MASK2: UNIV INTEGER): INTEGER;
FUNCTION INV(MASK: UNIV INTEGER): INTEGER;

FUNCTION LEFTSHIFT(BITS: UNIV INTEGER; SHIFTS: INTEGER): INTEGER;
FUNCTION RIGHTSHIFT(BITS: UNIV INTEGER; SHIFTS: INTEGER): INTEGER;

FUNCTION GETBITS(BITS: UNIV INTEGER; LEFTMOST: BITPOSITION;
                 FIELDLENGTH: BITFIELDLENGTH): INTEGER;
PROCEDURE PUTBITS(FROM: UNIV INTEGER; VAR TO_: UNIV INTEGER;
                  LEFTTO: BITPOSITION; FIELDLENGTH: BITFIELDLENGTH);
FUNCTION TESTBIT(BITS: UNIV INTEGER; BITNUMBER: BITPOSITION): BOOLEAN;
PROCEDURE SETBIT(VAR BITS: UNIV INTEGER; BITNUMBER: BITPOSITION);
PROCEDURE CLEARBIT(VAR BITS: UNIV INTEGER; BITNUMBER: BITPOSITION);

PROCEDURE PACK(UNPACKED, PACKED: IDENTIFIER; NO_OF_BYTES: INTEGER);
PROCEDURE UNPACK(PACKED, UNPACKED: IDENTIFIER; NO_OF_BYTES: INTEGER);
PROCEDURE PACK_SWAPPED(UNPACKED, PACKED: IDENTIFIER; NO_OF_BYTES: INTEGER);
PROCEDURE UNPACK_SWAPPED(PACKED, UNPACKED: IDENTIFIER; NO_OF_BYTES: INTEGER);

PROCEDURE RESERVE_INTERRUPT(DEVPR: INTEGER; VAR INTRPT: INTEGER);
PROCEDURE RELEASE_INTERRUPT(INTRPT: INTEGER);
PROCEDURE CLEAR_INTERRUPT(INTRPT: INTEGER; VAR COUNT: INTEGER);
PROCEDURE WAIT_INTERRUPT(DELAY: INTEGER; INTRPT: INTEGER;
                         VAR TIMED_OUT: BOOLEAN; VAR COUNT: INTEGER);

PROCEDURE SENSE_IO(DEVICE: INTEGER; VAR STATUS: INTEGER);
PROCEDURE READ_IO(DEVICE: INTEGER; VAR DATA: INTEGER);
PROCEDURE CONTROL_IO(DEVICE: INTEGER; STATUS: INTEGER);
PROCEDURE WRITE_IO(DEVICE: INTEGER; DATA: INTEGER);

PROCEDURE SEND_MESSAGE(RECEIVER: PROCESS_NAME; MSG:UNIV MESSAGE_BUFFER;
                       VAR EVENT: INTEGER);
PROCEDURE SEND_ANSWER(ANS: UNIV MESSAGE_BUFFER; EVENT: INTEGER);
PROCEDURE WAIT_ANSWER(DELAY: INTEGER; EVENT: INTEGER;
                      VAR ANS: UNIV MESSAGE_BUFFER; VAR TIMED_OUT: BOOLEAN);
PROCEDURE WAIT_MESSAGE(DELAY: INTEGER; VAR MSG: UNIV MESSAGE_BUFFER;
                       VAR EVENT: INTEGER; VAR TIMED_OUT: BOOLEAN);
PROCEDURE WAIT_EVENT(DELAY: INTEGER; INTRPT: INTEGER;
                     VAR MSG: UNIV MESSAGE_BUFFER;
                     VAR EVENT: INTEGER; VAR EVTTYPE: EVENT_TYPE;
                     VAR COUNT: INTEGER; VAR TIMED_OUT: BOOLEAN);
PROCEDURE RESUME_EVENT;

PROCEDURE COPY(SOURCE, DEST: BYTE_ADDRESS; NO_OF_BYTES: INTEGER);
PROCEDURE GET_ABS_ADDR(STRUCTURE: LINE; VAR WORD_ADDR: WORD_ADDRESS);
PROCEDURE GET_ABS_ADDR1(STRUCTURE: LINE; VAR WORD_ADDR: WORD_ADDRESS);
PROCEDURE GET_ABS_ADDR2(STRUCTURE: LINE; VAR WORD_ADDR: WORD_ADDRESS);
FUNCTION CURRENT_LINE: INTEGER;
PROCEDURE CURRENT_LEVEL(VAR LEVEL: INTEGER);
PROCEDURE LONG_EXIT(LEVEL: INTEGER);
PROCEDURE ASSIGNBITS(VALUE: UNIV BITVALUE; VAR P: UNIV PAGE;
                     FIRSTBIT, NO_OF_BITS: INTEGER);
PROCEDURE SKIPBITS(VALUE: UNIV BITVALUE; P: UNIV PAGE;
                   VAR FIRSTBIT: INTEGER; NO_OF_BITS: INTEGER;
                   VAR BITSSKIPPED: INTEGER);

PROGRAM MAIN(VAR PARAM: ARGLIST);
«eof»