README.TXT for ORDINATOR emulator v0.1

The enclosed OrdEmu.exe (a Windows console application) emulates a very basic
version of the DJO Eindhoven ORDINATOR system, a custom-built Z80 multi-user
system. It requires the enclosed ROM files which were obtained directly from
the original ORDINATOR ROM chips.

The ORDINATOR design is Copyright (C) 1983-1993, ORDGROUP.
The ORDINATOR emulation is Copyright (C) 2002, Luc Rooijakkers.
The Z80 emulation engine is Copyright (C) 1994-2002, Marat Fayzullin.
Many thanks to DJO Eindhoven for many years of invaluable support.

This version of the emulator contains the bare minimum to support DIAMOND,
the ORDINATOR ROM monitor, but it includes the 64K, 128K and 256K DRAM cards.
Note that the 256K card is really the 64K one rebuilt for larger DRAM chips
and hence these never actually existed together in the original ORDINATOR.
Oh, the joys of emulation...

More emulation is planned, but there really is no point in doing this
until some software (preferably the TimeSharing system) can be salvaged.
Work is in progress on that; anyone who has any ORDINATOR floppy please
contact the author at the address given at the bottom of the document.

Also included is a basic i/o port and memory segment documentation.

Here is a DIAMOND command reference, for those who have forgotten :-)

<Space> - show version
<Return> - continue hexdump/disassembly
A - alter memory
B - set breakpoint
C - call subroutine
D - disassemble memory
E - execute program
F - boot from floppy
G - casette???
H - hexdump memory
I - inspect registers
J - jump to program
K - clear segments
L - link memory
M - move memory
O - output to printer
P - port io / EPROM programmer
Q - write video registers
R - display registers
S - casette???
T - test memory
U - initialize utility
V - set jump addres/stack
W - (unused)
X - receive/transmit data
Y - (unused)
Z - halt processor

After reset, you can try the following:

	L .
	L 0 BF 3E
	D 0100

This will display the beginning of DIAMOND.
Enter a small program:

	A 1100
	3E
	21
	CF
	00
	FF
	<Esc>
	I SP 1100
	E 1100

This will run a small program at 1100 displaying an exclamation sign.
Look at the program:

	D 1100

You can marvel at the enormous amount of memory in the system:

	T

Yes, thats a whopping total of 64+128+256 = 448 KB!
You can access the first 64K of that memory by using	

	L 0 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F <Enter>

But note that 0000-00FF will always contain DIAMOND. You can change
this from a running program by doing an IN from port FF (this turns
on the so-called CP/M mode), but that makes it impossible to use
DIAMOND debugging and system calls except by keeping the DIAMOND segment
in segment zero. However, you can use NMI to regain control from
such a program as it forcibly turns off the CP/M mode.

Good luck with your own personal ORDINATOR!

	Luc Rooijakkers
	mailto:luc@emmia.nl

PS. DJO Eindhoven has a website at http://www.djoe.nl

