RexDump Release Notes

RexDump is a quick & dirty utility which I cobbled together as I figured out how to use the Rex system calls.  It is coded in Z80 assembly language.  It lets you browse just the 64K RAM of the REX;  the 2MB is called the "database", which is accessed via system calls.

Version 1.0 - 4/6/2001 - ultra simple: just up/down scrolling, one screen at a time
Version 1.1 - 4/7/2001 - added quick "jump 1000h" button
Version 1.2 - 5/4/2001 - added command line: Go/Search/Database/Write

RexDump buttons:
* Home	- exit
* Back 	- jumps forward 1000h
* Select 	- command line (see below)
* Up 	- scrolls forward one screen = 78h
* Down 	- scrolls back one screen = 78h

RexDump command line: 
All commands consist of a single letter (upper or lower case) followed (no space) by 4 or more hex digits.
(Watch out: there are currently no error messages!  I skimped on this for now.  So the fact that it took your command means nothing at all - it will accept ANYTHING!)

G####    go to specified address;  e.g., g40a0 means display 40a0h


S####	search for specified data;  e.g., s4142 means search for 4142h = "AB"
	If found, it will display memory starting at the found data location.  If you
	do the same search again, it will search forward for the next occurence.

	If no occurence of the data is found, it will simply redisplay at current location


DTTTTRRFF	database field retrieve:  fetch table type TTTT, record RR, field FF
	The specified field of the specified record is returned at f100h.
	# of records of specified type is returned at f0f0h (32 bit value)

	TTTT:	Contact = 03e8h
		Schedule = 07d0h
		Task = 0bb8h
		Memo = 0fa0h
		Picture = 2710h

	RR: record number, typically starts at 01h.  I limit you to (000000)ffh, but 
		obviously they can go to ffffffffh!

	FF: field numbers vary by table type TTTT;
		Field 01h is usually (always?) the ID # (32 bit)
		Field 02h is usually the filename pointer (16 bit)
		Field 03h uncertain
		Field 04h is usually the record size (# bytes, or, for memos, # lines)
		...


W####	write from Rex RAM starting at specified address, to a memo in database.
	
	Example:  w0000 creates a memo containing 1K of data from location 0000h
	in the Rex.  The memo is named the same as the command (e.g. "w0000"), and 
	may be uploaded	to a PC for further examination via Rex Tools.  For now, it
	is ASCII hex, not binary, so you must convert it to a binary image for most
	purposes (disassembly, etc.), using a PC utility of your choice.
	
	Also: don't bother trying to view such memos on your Rex - it will crash,
	and tell you to reset it.  I don't have the database record internal format
	completely nailed down yet!  I.E., the memo is "good enough" to transfer to your PC,
	but not good enough for your Rex.


LAAAANN	load data byte NN to location AAAA.  Note that most of the Rex RAM 
	is write protected (flash? shadowed?) and non-volatile.   


-------------------------------------------------------------------------------------------------------------------------------

I hope this little utility is of some use in satisfying your curiousity about the insides of the Rex 6000.  I cannot guarantee it will not crash your Rex, or even worse, wipe some data out.  

Have fun!

Chris Harris
Austin, Texas

harris8@io.com
http://www.io.com/~harris8

