I have been experimenting with programming for the REX 6000. Anyone interested in this should definitely check out the Rex Extras site.
I am using the rexdk development kit. I don't use an IDE but I prefer to work in Cygwin's BASH shell rather than the DOS command shell so I have adapted the standard MAKE.BAT into a standard makefile.
Note 1: If you have Cygwin installed on your system, replace the CYGWIN1.DLL in the REXDK\BIN directory with the CYGWIN1.DLL from your system (it is in C:\CYGWIN\BIN on my system).
Note 2: BIN2MOT from the rexdx kit will not work under Cygwin, for some reason. So I use Mike Ludwig's REX2EMU instead.
I use a shell script (build_info) to automatically track information about the last time the program was built (which can be displayed in an "About" screen for example). This is used by the standard makefile, above, and the Evtdemo addin, below.
For more information, execute build_info with the --help option. Alternatively, the --help output is here.
I had some difficulty understanding the event handling documentation so I created a trivial addin just to play with events. It just displays all the events it sees. To exit from the add-in you must send it three CLOSE events. Do this by touching the silk-screened application buttons at the bottom of the screen three times.
The source is here: evtdemo.c about.c. The addin is here: evtdemo.rex.
I have created a Registry library, which provides a simple registry (similar to the Microsoft Windows registry) for the Rex.
More information is available here.
I have a small library of useful functions for the Rex Addin programmer. This library is used by some of my other software and it may be required to make use of those other programs.
More information is available here.
I have written a library to support Memo reading and writing in a similar
way to the standard C stdio
library.
More information is available here.
I have extended the z88dk STDIO support to the Rex. This allows normal C-style I/O including console input and output, file (memo) reading and writing and printf support
More information is available here.
I have created a simple debugger for the Rex. This allows developers to add debugger traps to their code and then examine and modify registers and memory.
More information is available here.
The Dynamic Linking library is now obsolete as it has been replaced by the library mechanism provided by rexdk.
The old, obsolete information is still available here.
This table shows which additional libraries must be linked in when linking one of the libraries.
Linking library | Using | Also requires |
---|---|---|
grclib | GRClib routines | Nothing |
grclib-so | GRClib routines | Nothing |
registry | Import/export | GRClib, MemoIO |
registry | Other registry routines | Nothing |
registry-so | Any registry routines | GRClib |
memoio | Memo routines | GRClib |
memoio-so | Memo routines | GRClib |
stdio-so | STDIO routines | Nothing |
printf | printf and friends | stdio-so |
This table shows which library addins are dependent on which others. If a required addin is missing, a fatal error will occur.
Library addin | Implements | Depends on |
---|---|---|
GRCLIB1 | GRClib routines | Nothing |
REGISTRY | Basic Registry routines | Nothing |
REGISTRY2 | Registry import/export | REGISTRY, MEMOIO-READ, MEMOIO-WRITE (for export only) |
MEMOIO-READ | Memo reading | Nothing |
MEMOIO-WRITE | Memo writing | MEMOIO-READ |
STDIO1 | stdio.h routines | STDIO2, STDIO3 |
STDIO2 | stdio.h routines | STDIO1, STDIO3 |
STDIO3 | stdio.h routines, printf routines | STDIO1, STDIO2 |