home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
simtel
/
sigm
/
vols000
/
vol021
/
peek.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1984-04-29
|
1KB
|
56 lines
(*****************************************************
*
* PEEK/POKE PROGRAM
*
* Bob Harsch said he needed this for a program and
* afterward thought someone else could use it so he
* gave us a copy for the Pascal/Z Users Group.
*
* August 1980
*
*******************************************************
{$E+ }
PROGRAM PEEKPOKE;
TYPE BYTE= 0..255;
CONTENTS= PACKED RECORD
BYT: BYTE { byte in memory }
END; { of record }
FORM=(INTEGR,ADDRESS);
REFERENCE= RECORD
CASE FORM OF
INTEGR: (I: INTEGER);
ADDRESS: (P: ^CONTENTS)
END;
VAR K,I: INTEGER;
FUNCTION PEEK(ADDR: INTEGER): BYTE;
VAR TEMP: REFERENCE;
BEGIN { of function peek }
TEMP.I:= ADDR;
PEEK:= TEMP.P^.BYT
END; { of function peek }
PROCEDURE POKE(ADDR: INTEGER; BITS8: BYTE);
VAR TEMP: REFERENCE;
BEGIN { of procedure poke }
TEMP.I:= ADDR;
TEMP.P^.BYT:= BITS8
END; { of procedure poke }
BEGIN { of main program }
K:= -1024 + 5*64; { screen address }
WRITE(PEEK(128):3,'--');
FOR I:= 129 TO 160 DO
BEGIN
WRITE(CHR(PEEK(I)));
POKE(K, PEEK(I));
K:= K + 1;
END;
WRITELN
END.