[Back to MEMORY SWAG index] [Back to Main SWAG index] [Original]
{$A+,B-,D+,E+,F-,I-,L+,N-,O-,R+,S+,V+}
{$M 2048,0,0}
PROGRAM PhotoRAM(INPUT,OUTPUT);
{Rob Rosenberger VOX: (618) 632-7345
Barn Owl Software BBS: (618) 398-5703
P.O. Box #74 HST: (618) 398-2305
O'Fallon, IL 62269 CIS: 74017,1344
This program simply snapshots memory to disk. It was developed so a user
from across the country could take a snapshot of his memory configuration and
present it for inspection.
You'll need to change the "TotalRAM" constant if you have a system with
less than 640k of memory.
Version 1.00: released to the public domain on 27 August 1989.
See above for the reason why this program was created.}
CONST
TotalRAM = 640; {total memory, in kilobytes}
VAR
Index : WORD;
PhotoFile : FILE;
BEGIN {PhotoRAM}
{Initialize.}
Index := 0;
{Check for question mark, it means they want the help screen.}
IF ((PARAMSTR(1) = '')
OR (PARAMSTR(1) = '?'))
THEN {display a help screen}
BEGIN
WRITELN(OUTPUT,^M^J'Syntax: PHOTORAM filename'^M^J);
WRITELN(OUTPUT,'A public domain program by Rob Rosenberger (who?)'^M^J);
WRITELN(OUTPUT,'Takes a "snapshot" of RAM and sends it to the filename');
WRITELN(OUTPUT,'you specify. You must have at least 640k of free disk');
WRITELN(OUTPUT,'space for the snapshot file.'^M^J);
HALT(0)
END;
{If we get this far, PARAMSTR(1) contains a filename.}
{Open the file.}
ASSIGN(PhotoFile,PARAMSTR(1));
REWRITE(PhotoFile,1);
FOR Index := 0 TO ((TotalRAM DIV $40) - $1)
DO BEGIN
BLOCKWRITE(PhotoFile,PTR(Index,$0000)^,$8000);
BLOCKWRITE(PhotoFile,PTR(Index,$8000)^,$8000)
END;
CLOSE(PhotoFile)
{And that's all he wrote!}
END. {PhotoRAM}
[Back to MEMORY SWAG index] [Back to Main SWAG index] [Original]