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

⟦654f2fc12⟧ TextFile

    Length: 1196 (0x4ac)
    Types: TextFile
    Names: »READ.S«

Derivation

└─⟦f81e11cf7⟧ Bits:30005196 8" CR80 Floppy CR80FD_0194 ( CR/D/2497 TEST-TDX VS0102 Source moduler Att. Holger Bay 820208/AEK )
    └─⟦d066df9e9⟧ 
        └─ ⟦this⟧ »READ.S« 

TextFile

«ff»
"READ.S"
"----------------"

PROCEDURE INT_READ(PC, SP : INTEGER;VAR CC : COMPLETION_CODE);
"**********************************************************************
  AUTHOR:           TLM
  DATE:             810323
***********************************************************************
  COMMENTS:
**********************************************************************"
VAR   FILE_ADR    :  FILE_ADDRESS;
      CRID        :  INTEGER;
      NOOFBYTES   :  INTEGER;
      PATTERNNO   :  INTEGER;
      BUFFERNO    :  INTEGER;
BEGIN
   VM := CODE[PC + XVARMASK];
   GET_PARAMETER(VM, 1, PC, SP, CRID);
   GET_PARAMETER(VM, 2, PC, SP, NOOFBYTES);
   BUFFERNO := CODE[PC + XPARAMS + 3];
   GET_PARAMETER(VM, 4, PC, SP, PATTERNNO);

   GET_FD(CRID, F);

   FILE_ADR.FIRST_BYTE := 0L;
   FILE_ADR.BYTE_COUNT := LONG(NOOFBYTES);
   FILE_ADR.TRANSFERRED_BYTES := 0L;
   
   BLEP@.LINK := NIL;
   BLEP@.XL   := LOCAL;
   BLEP@.BUFADDR := REL_ADDR(BUFFERS[BUFFERNO].BUFFER[0]);
   BLEP@.BUFSIZE_IN_BYTES := NOOFBYTES;

   READ_BYTES(F, FILE_ADR, BLEP, CC);
   CHECK_TRANSFER(FILE_ADR, CC);
   IF (PATTERNNO <> 0) AND (CC = IO_OK) THEN
      CHECK_DATA(NOOFBYTES, PATTERNNO, BUFFERNO);
END; " INT_READ "