Jump to content

promicron 2000 / Digelec 804 / Wavetek EP804 EPROM programmer

Recommended Posts

I have this "Promicron 2000" eprom programmer, which is the same as the "Digelec 804" or the "Wavetek EP804" with a different name.
I'm looking for the adapter number 8045 for this, required to program some devices like the 8748 microcontroller. Does anyone have such an adapter, or a schematic for it?

Also if anyone has any additional schematic, manual, firmware revisions to share, it would be great as info about this programmer is scarce and scattered around the web.



I currently have the following documentation:

- Digelec 804 1985 manual (english)
- Digelec 804 1986 manual (english)
- Digelec 804 Feb_1988 Programming Guide (english)
- Digelec 804 Nov_1988 Programming Guide (english)
- Digelec 804 3.32 Remote Mode (english)
- Digelec 804 3.32 Update Info (english)
- Promicron 2000 Manual (german)
- Promicron Celink DOS Software manual (german)
- Schematic of the programmer

I also found a copy of the CELINK software for DOS, altough I haven't tested it. One of the best thing about this programmer is that it doesn't need a software on the computer. Just use a terminal emulator to communicate with it through the serial port.

Edited by alex_79

Share this post

Link to post
Share on other sites

I've been asked if I could share the docs I have about this programmer, so here they are:


















Apart for the german 1986 Promicron 2000 manual, which I scanned as it was included with my unit, the rest of these were sourced online from various places. I have them in djvu format with searchable OCR text, which also results in smaller files and it's the file type I like to use for scanned documents. Anyway, I converted them to pdf (and jpeg for the color brochures) for uploading here. OCR text has been lost in the conversion, though.
If anyone is interested in the djvu versions, just ask here and I will upload them too.


It's been a while since I last used the programmer, so I don't remember all the details, but I found these notes that I wrote years ago with the intention to post them here, but in the end I never did as I felt there was no interest in this device.



The ep804 is an eprom programmer and eprom emulator which consists of a z80 based computer. It can operate in stand-alone mode using the control panel or remotely from a PC through a serial connection. The rom image is stored in RAM before burning it to eprom and can be manipulated directly using the programmer (from the control panel or the remote PC). The amount of ram installed varies depending on hardware revisions and year of production and can be expanded. (mine has 16k of ram which can be expanded up to 32K). This refers to the ram portion that is used to store the rom images (to be burned on eproms or of the eprom emulator); there's an additional 2kb ram chip used by the z80 cpu to run the firmware. You can select the eprom address range that you want to program, so you can burn eproms which are bigger than the installed ram by programming them in multiple steps.

At power-on the programmer will display a "POWER FAILURE" message. That's normal, it just means that previous settings are lost and reverted to default values, because there's not battery backed memory or other permanent storage in the unit. Press "CLR" to start the SELF CHECK procedure. If successful, the display will show "TEST OK mmmm vv", where "mmmm" is the max RAM address available and "vv" the firmware version number.

I have 16Kb of RAM and firmware version 2.1

Connection cable:


To connect to the PC you use the rs232 port located in the upper left corner of the control panel.

The programmer needs a crossed (NULL MODEM) cable wired for full hardware handshaking. It has a female DB-25 connector, while usually a male DE-9 connector is used for the PC serial port (also on usb-to-rs232 adapters), so in most cases you need a male DB-25 to female DE-9 cable.

Here's the pinout if you want to build it yourself.


       DB-25 M      DE-9 F
            1   ------  shield
            2   ------  2
            3   ------  3
            4   ------  8
            5   ------  7
            6   ------  4
            7   ------  5
            20  ------  6


Some cheap usb to serial adapters lacks the signals required for harware handshaking. In this case you can use a NULL-MODEM cable wired for "loop back handshaking", but you might have to decrease the transmission speed to have reliable transfers. Better yet, get yourself a quality usb serial adapter or install a real serial port if you have a desktop PC. Even if modern PC do not have the connector anymore, many motherboards still have headers connectors for serial (and often even parallel) ports, so you just need to install the external connector and enable the port in the bios in that case.

More info on serial cables here: http://www.lammertbies.nl/comm/cable/RS-232.html



Serial port settings:


The default settings for serial connection are:
9600 baud 7O1 (7 bits, Odd parity, 1 stop bit).

You can change that configuration by selecting the "initialize" function, but all settings are lost when you unplug the power cord. I just prefer using the default ones and set the PC serial port accordingly.




Data format:


Data is sent/received by the programmer in ASCII text format. So you can't send the eprom image as a binary file, but you must first convert it using one of the binary-to-text encodings supported by the programmer. The format can be selected with the "initialize" function, and as with the serial port settings, I use the default one that is "Intel HEX".

There's plenty of file converters, with GUI or command line, either as standalone tool or integrated in other software (like HEX editors) so just search one for your operating system that suits your taste.

On Linux, I use srec_cat, which is part of the SRecord package.

If I have a binary file called "rom.bin" I convert it into the Intel HEX file "rom.hex" compatible with the programmer by typing the following command:

srec_cat rom.bin -binary -output rom.hex -intel -output_block_size 16 -address-lenght=3

And this is for converting from HEX to bin:

srec_cat rom.hex -intel -output rom.bin -binary


To connect to the ep804, you can use a terminal emulator (I use minicom. A common choice on Windows was Hyper Terminal, but I don't know if it's still available on current windows versions). Connect the cable, set the correct serial port and configure it with correct baudrate, framing, parity and stop bits (9600 7O1 in case of the default values, as stated above) and turn on the programmer.

You can control the programmer entirely from the terminal by selecting the "Remote" function. See the User Manual for a list of all the commands. You should turn on the "local echo" of characters either on the terminal emulator software or on the ep804 (use the "initialize" function for that) or you won't see what you're typing.

Anyway, I prefer the "Key" mode, where you use the control panel on the programmer itself and just need the serial connection to send and receive the rom images. In this case I just use the linux shell to send the hex file directly to the serial port instead of the terminal emulator.

First I set the serial port (/dev/ttyS0 in this example) with the correct parameters using stty:

stty -F /dev/ttyS0 cs7 parenb parodd -cstopb -icrnl -onlcr crtscts

Then I can do

cat rom.hex > /dev/ttyS0

to send the file, and

cat /dev/ttyS0 > rom.hex

to receive.

By using the serial port as input or output file in srec_cat I can avoid generating the intermediate Hex file and I work directly with binary:

to send:

srec_cat rom.bin -binary -output /dev/ttyS0 -intel -output_block_size 16 -address-length=3

to receive:

srec_cat /dev/ttyS0 -intel -output rom.bin -binary

Of course I don't type all that stuff every time. Instead I wrote 2 simple bash script called "upload_ep804" and "dump_ep804".
so all I have to do is

upload_ep804 rom.bin


dump_ep804 rom.bin

to send and receive data respectively.



Eprom simulator:


The large 37 pin d-sub connector on the lower left of the control panel is labeled "SIM" and it's used for the "Eprom simulator" function. By building the appropriate cable for the kind of eprom you have to emulate (pinout is printed on the control panel itself, and can also in the manuals), you can connect the programmer in place of an eprom and test your code without the need to erase and reprogram chips. I used this feature to test games on some consoles for which I don't own a flash cartridge, such as an Interton VC4000 and a Videopac.
Just set the programmer to the correct eprom type, then upload the data (from serial port, or by reading a rom/eprom plugged in the zif socket), then press the "SIM" Key on the programmer. At this point you can power on the target device that will read the data as if it was programmed in a real chip.



Edited by alex_79
  • Thanks 1

Share this post

Link to post
Share on other sites

Alex this is Awesome,

Never thought I'd see any of this. I was not able to get the ROM simulator on my s-100 up and running again. Getting my programmer to do it is icing on the cake. This should work nicely in s-100's stead!

An invaluable set of resources all in place.



Edited by _The Doctor__

Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

  • Create New...