- MEMSCAN: Bit Mapped Graphics Memory Scanner -
Scott A. Mebust
1601 Belmont Avenue
South Bend, IN. 46615
NOTE: Program must be run on CGA video compatible machine
This program is a utility for programmers and other curiosity seekers
who wish to view their PC in a different way... a more visual way. Memscan
allows the user to see inside the 1-meg of PC memory, in 8 kbyte chunks.
The program is primarily intended for locating bit mapped graphics, like
graphic font tables (i.e. $FA6E in IBM ROMS). Even so, it can be used as a
tool for locating certain 'objects' in memory, like program data tables,
stack areas, code areas, available ram, missing ram, etc.
It is also interesting to note the striking likeness of some memory
patterns to silicon chip patterns. Hey - heres an idea... recursive
fractalized computer programs - DNA in code! Anyway...
The program runs in CGA Hires 640x200 mode. It displays a 64x * 128y
array of bytes (8 pixels per byte, 8 bits per byte), with the offset address
of the byte increasing by 1 when the y coordinate changes by 1, and by 128
when the x coordinate changes by 1. A lit pixel indicates a true bit.
The following keys perform functions in the program -
'0'..'9' : Segment = #000h (coarse tuning)
'a'..'f' : Segment = #000h
'+' : Segment = Segment + 0200h (fine tuning)
'-' : Segment = Segment - 0200h
This program is just a preliminary release without source code. Source
will be released when polished. Any mistakes or bugs are purely coincidental.
Any useability is totally accidental. Any request for donations is laughable.
Any commenting parties are laudable. Any copyright is unthinkable. And the
source code is pretty much illegible... for now.
Comments can be directed to the Indiana University ACCESS BBS (812) 335-7252
c/o Scott Mebust.
Program is Hybrid Turbo Pascal and direct memory manipulation -
The program only writes to graphics memory, and reads the full
$00000 - $FFFFF range of PC memory
The program displays system memory in a bit mapped graphic fashion -
in a 64x*128y ($2000=8192= 8k bytes) visual array where each byte is
represented by 8 consecutive horizontal pixels with the bit values
128, 64, 32, 16, 8, 4, 2, 1, left to right, respectively.