Graham's REX 6000 Notes

I have been experimenting with programming for the REX 6000. Anyone interested in this should definitely check out the Rex Extras site.

Cygwin

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.

Build_info

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.

Evtdemo

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.

Registry

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.

GRCLIB

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.

MemoIO

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.

STDIO

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.

Debugger

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.

Dynlink

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.

Dependencies between libraries

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


This page has been accessed Access counter times.

Graham Cobb