DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

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

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦085639dd0⟧ TextFile

    Length: 2304 (0x900)
    Types: TextFile
    Names: »TUR-STAT.PAS«

Derivation

└─⟦692ac107c⟧ Bits:30005923 PolyPascal-80 V3.10 arbejdsdiskette 1
    └─ ⟦this⟧ »TUR-STAT.PAS« 

TextFile


PROGRAM V24monitor;
(* Skrevet af Max Arp-Hansen 1/4-86 *)

æ$C-å

TYPE
  register = RECORD
               ax,bx,cx,dx,bp,di,si,ds,es,flags: integer;
             END;

VAR
  stat:                 integer;
  reg:                  register;
  ah,al,ch,cl,dh,bitnr: byte;

PROCEDURE textstatus;
VAR
  counter:              integer;

BEGIN
  textcolor(9);
  gotoxy (10,1);  write('AX BIT');
  gotoxy (18,1);  write('V24 MONITOR:');
  FOR counter:=10 TO 62 DO
  BEGIN
    gotoxy (counter,2); write(chr(205));
  END;
  textcolor(3);
  gotoxy (18,3);  write('Clear to send ▶91◀ndret siden sidst.');
  gotoxy (18,4);  write('Data set ready ▶91◀ndret siden sidst.');
  gotoxy (18,5);  write('Bagerste flanke fra ring indikator. (Pind 22)');
  gotoxy (18,6);  write('Modtaget line signal ▶91◀ndret siden sidst.');
  gotoxy (18,7);  write('Clear to send.  (CTS pind 5)');
  gotoxy (18,8);  write('Data set ready. (DSR pind 6)');
  gotoxy (18,9);  write('Forreste flanke af ring indikator. (Pind 22)');
  gotoxy (18,10); write('Modtaget line signal indikering. (CD pind 8)');
  gotoxy (18,11); write('Data OK modtaget.');
  gotoxy (18,12); write('Overrun fejl');
  gotoxy (18,13); write('Paritets fejl');
  gotoxy (18,14); write('Forkert stopbit.');
  gotoxy (18,15); write('Break indikator.');
  gotoxy (18,16); write('Sender register tomt.');
  gotoxy (18,17); write('Sender skifteregister tomt.');
  gotoxy (18,18); write('Time out.');
  gotoxy (18,20); write('modtaget karakter.');
  gotoxy (25,23); write('>>>>> TAST FOR RETUR <<<<<');
END;

PROCEDURE cursor;
BEGIN
  ah:=$01;
  WITH reg DO
  BEGIN
    ax:=ah shl 8 + al;
    cx:=ch shl 8 + cl;
    intr($10,reg)
  END;
END;

FUNCTION commstat: integer;
BEGIN
  WITH reg DO
  BEGIN
    dx:=$0;
    ax:=ah shl 8 + al;
    intr($14,reg);
    commstat:=ax;
  END;
END;

BEGIN
  textmode;
  textstatus;
  ch:=$8; cl:=$0; cursor;
  REPEAT
    ah:=$03;
    stat:=commstat;
    FOR bitnr:=0 TO 15 DO
    BEGIN
      IF not odd(stat shr bitnr) THEN textcolor(2) ELSE textcolor(4);
      gotoxy (10,bitnr+3);
      write(chr(223),' ',bitnr:3);
    END;
    ah:=$02; textcolor(14);
    gotoxy (14,20); write(chr(commstat));
  UNTIL keypressed;
  ch:=$6; cl:=$7; cursor;
END.«eof»