Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - ZAX Z80H in-circuit emulator / ER308 / ERX 308P (was: What's in a devkit, anyway?)

Reply to topic
Author Message
  • Joined: 28 Sep 1999
  • Posts: 1149
Reply with quote
ZAX Z80H in-circuit emulator / ER308 / ERX 308P (was: What's in a devkit, anyway?)
Post Posted: Sun Nov 22, 2009 12:06 am
So just what did Sega send to their Genesis developers (and/or Z80 programmers) back in 1993? Take a look:



ER308 for Z80 Command Manual
ER308 for Z80 User's Manual
ERICE Z80 v2.21 Original Software for ERX In-circuit Emulator (5.25" floppy!)
ZAX is/was a Japanese company that designed in-circuit emulators for a variety of 8, 16, and 32-bit CPUs.



ZAX Z80H In Circuit Emulator. Two cables attach to two ISA cards, the other cable is a 40-pin DIP header to replace a Z80.



ZAX ICE ISA card 1 of 2



ZAX ICE ISA card 2 of 2

Both have a lot of SRAM and PALs. Very high-tech stuff for that time period, it must have cost a lot. Note the interconnect cable to bridge the two cards together.



SRAM-based Genesis development cartridge. Has a connector on the reverse side for uploading data to RAM, but I don't know if it plugs into a dedicated card or a parallel port. The two EPROMs are some kind of firmware/bootloader.

There is also a 3.5" disk with demo software and tools relating to the SRAM board, not pictured.



9V AC Adapter
3-button Genesis Controller
20-pin DIP test clip
Test clip leads
2-pin header to DB9 connector
A/V cable
Audio cable (don't know what this plugs into)

The clip and cables are for the ICE it seems, so it can snoop a data bus on the other side of some buffers.

(MOD: Fairy attachment stored images locally)
zaxsw.jpg (56.17 KB)
zaxsw.jpg
zaxice.jpg (75.16 KB)
zaxice.jpg
zaxisa1.jpg (54.29 KB)
zaxisa1.jpg
zaxisa2.jpg (43.65 KB)
zaxisa2.jpg
cablesfp.jpg (84.08 KB)
cablesfp.jpg
cablesh.jpg (61.53 KB)
cablesh.jpg

  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 08 Jul 2001
  • Posts: 8181
  • Location: Paris, France
Reply with quote
Post Posted: Sun Nov 22, 2009 4:44 am
Attached is the content of the SegaDev32 floppy disk.
SEGADEV.EXE
SEGALOAD.EXE
DEMOCODE.ZIP
SEGADEV3.TXT
(c) 1993 Western Technologies, Inc
segadisk.zip (123.63 KB)

  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 08 Jul 2001
  • Posts: 8181
  • Location: Paris, France
Reply with quote
Post Posted: Sun Nov 22, 2009 4:54 am
Also attached are some other pictures originally from the seller.
DSC09332.jpg (80.55 KB)
DSC09332.jpg
DSC09333.jpg (81.21 KB)
DSC09333.jpg
DSC09334.jpg (75.69 KB)
DSC09334.jpg
DSC09335.jpg (62.23 KB)
DSC09335.jpg
DSC09336.jpg (35.65 KB)
DSC09336.jpg
DSC09337.jpg (51.93 KB)
DSC09337.jpg

  View user's profile Send private message Visit poster's website
  • Joined: 28 Sep 1999
  • Posts: 1149
Reply with quote
Post Posted: Sun Nov 22, 2009 5:32 am
More data on the SRAM board. This is what's printed on the PCB:

(C) 1991 Western Technologies, Inc.
GENESIS DEVELOPMENT CARD REV C
SC DS4992

Memory capacity:

2MB of SRAM (16x Sony CXK581000P 128Kx8 100ns SRAM)
8K of EPROM (2x 27C16)

Upon initial inspection it appears to have an IEEE 1284 (Centronics) connector on the back that interfaces to a standard PC parallel port. On the 68000 side this appears as an 8-bit I/O port at $A13000, which is in the /TIME range yet that pin is not connected on the cartridge. It may do its own address decoding instead.

One ZIP file contains the original EPROM dumps and an interleaved, emulator-compatible ROM image. However the software waits for communication before doing anything, so you'll get a black screen in an emulator.

The other ZIP file contains the EPROM dump of the firmware used by the Z80 inside the ICE unit. The ICE hardware is very cool stuff, I will try to write more about it later.
segadev-monitor.zip (10.1 KB)
zaxrom.zip (1.32 KB)

  View user's profile Send private message Visit poster's website
  • Joined: 27 Oct 2009
  • Posts: 138
Reply with quote
Post Posted: Wed Nov 25, 2009 2:10 am
Looks interesting, thanks for posting. I'm very thankful these days we have much better development environments because it would have been rather awful back then. I read stories about NES developers having to write out a lot of their code on paper and only being able to test it a few times a week.
  View user's profile Send private message Visit poster's website
  • Joined: 28 Sep 1999
  • Posts: 1149
Reply with quote
Post Posted: Fri Nov 27, 2009 4:07 am
More stuff from the manual:

ERX308I is the pair of ISA cards

ERX308P is the ICE unit itself which supports the Z80 and allegedly the 6301X/Y/V, 64180, 6801. I don't see how that could work without changing at least one of the boards in the 308P itself. It can replace a NMOS Z80,Z80A,Z80B,Z80L,Z80H NMOS, and a CMOS Z8C400.

The IBM PC/AT, NEC PC-9801, Oki RX-120, Fujitsu FM-R personal computers are all supported. To interface to these very different systems an AT expansion chassis (EVX388) was made so the ISA cards are common to all PC types, and the interface board between the PC and EVX388 is the only thing that changes per computer.

It can trace the data, address, and control buses in real time for 4K steps, starting and stopping by specific events. This way you could trigger an event before going into some potentially buggy code and see exactly what the CPU did next. It's like having a 32-channel logic analyzer hooked up to the Z80. Consider that nowadays you can get a 34-channel, 2K logic analyzer for around $400. Imagine the cost back then!

Has 64K of high-speed RAM ("emulation memory") that can be selectively mapped over the target system address space in 1K units. Units can be classified as read only, read/write, user (target system) memory, or unmapped. This function is to overlay a ROM in the target system with RAM, so you can do real-time reloads and patching of virtual ROM data during development. The read-only classification ensures the program can't overwrite virtual ROM data by accident.

The Z80 can be stopped under certain conditions: Single stepping (after each step), Event trigger, Software trigger, trace history full, PC software requested stop, timeout condition (e.g. /WAIT stuck low by external hardware), and write to read-only memory. It can create a virtual breakpoint instruction by detecting execution of an illegal instruction (I wonder which one(s) they picked) and responding with an NMI when that opcode is fetched. Like 'int 3' on 80x86 CPUs.

It has three 48-bit timers that can measure the Z80 cycle count (handy for optimization), the length of events that occur, and the number of events. To do this it uses five 8253 PITs cascaded together.

Finally the PC-hosted software can load symbol tables and let you trace through code with all the original labels and symbols intact. The PC software has a high-level language for scripting and a textual interface for accessing the functions like trace history, breakpoints, etc. (this is all DOS, no GUI!)

Clearly this tool was essential for Z80 programming. The trace function would make finding bugs a snap, and the counters would simplify optimization immensely -- you could use the events to monitor how often an important routine is called, how long it lasts for, and get a very good idea of which functions were eating up the most time. How about finding out exactly how many cycles your line interrupt or V-Blank interrupt routine ran for? I don't know if any emulators come close to having features like this, though Emukon certainly has a lot of nice things for developers. And of course nothing beats development on the Real Thing, which the ERX308 allowed for.

The hardware is a three PCB stack, one to interface with the two ISA cards, one with the Z80 computer system, and another to interface with the target system. It uses a large number of PLS153 and PLS173 PLAs to implement glue logic, an interesting design choice from a time when gate arrays were prohibitively expensive and the PAL architecture hadn't caught on yet. The design is very robust: thick PCBs to resist sag, all ICs decoupled, important parts are socketed and uncommon parts are labeled on the silkscreen to facilitate repair. Only one post-production wiring patch was made to the board. Most connectors have latching and keyed headers and there is even a fan to keep everything cool. The cables to the Z80 system have a ground 'guard' wire for every signal as a twisted pair to improve integrity over long lengths, allowing the ICE to be placed comfortably away from the target system.

The ERX308 is incredibly well made -- It is a triumph of engineering IMO. And it is thrilling to think ZAX came up with this idea so long ago, and implemented it as well as they did. I gotta find their 68000 ICE now. :D
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13154
  • Location: London
Reply with quote
Post Posted: Fri Nov 27, 2009 8:19 am
Charles MacDonald wrote
It has three 48-bit timers that can measure the Z80 cycle count (handy for optimization), the length of events that occur, and the number of events.

48 bits is 2.5 years at 3.5MHz. Slight overkill - although 32 bits is only 20 minutes and thus maybe too few for non-game applications.

Charles MacDonald wrote
I don't know if any emulators come close to having features like this

Meka does cycle counting (CLOCK command). But there's plenty of ideas in there for new debugger features.
  View user's profile Send private message Visit poster's website
  • Joined: 28 Sep 1999
  • Posts: 1149
Reply with quote
Post Posted: Fri Nov 27, 2009 6:12 pm
Maxim wrote

48 bits is 2.5 years at 3.5MHz. Slight overkill - although 32 bits is only 20 minutes and thus maybe too few for non-game applications.


Yeah, and as the timers are on the ISA cards they could be applied to their 80386 ICE running at 16 or 20 MHz. :)
  View user's profile Send private message Visit poster's website
  • Joined: 05 Apr 2010
  • Posts: 2
Reply with quote
Post Posted: Mon Apr 05, 2010 12:53 pm
Charles MacDonald wrote
More data on the SRAM board. This is what's printed on the PCB:

(C) 1991 Western Technologies, Inc.
GENESIS DEVELOPMENT CARD REV C
SC DS4992

Memory capacity:

2MB of SRAM (16x Sony CXK581000P 128Kx8 100ns SRAM)
8K of EPROM (2x 27C16)


I'm new here on the board, but wanted to ask something about this.
You say it uses the 27C16 eprom, but that one is only 2KByte. So two of them is only 4 and the eprom dump holds actual data for at least 8KByte.

Furthermore, the file size suggests that 2X 8KByte eproms are used (27C64).

The reason i'm bringing this up is that i recently acquired the same board (rev.D) but it isn't responding to the software. I ruled out parallel port troubles because it gives different time-out error codes when the dev cart is on or off.

I'm suspecting the eproms (they are kinda old) so i wanted to completely replace them. Btw.. thanks for posting all the information on this devkit :)
  View user's profile Send private message
  • Joined: 28 Sep 1999
  • Posts: 1149
Reply with quote
Post Posted: Mon Apr 05, 2010 8:51 pm
Quote
I'm new here on the board, but wanted to ask something about this.
You say it uses the 27C16 eprom, but that one is only 2KByte. So two of them is only 4 and the eprom dump holds actual data for at least 8KByte.


I didn't want to remove the EPROM labels so I didn't check the ROM part number, I think I assumed the device type based on the dump size, but it looks like I made a mistake. Thanks for pointing this out.

Quote
The reason i'm bringing this up is that i recently acquired the same board (rev.D) but it isn't responding to the software. I ruled out parallel port troubles because it gives different time-out error codes when the dev cart is on or off.


I haven't actually tried using the one I am holding onto. If you can't get yours to work, should I try to get mine to work? Maybe we can find out what's going on -- perhaps the DOS software could be rewritten if that is the source of problems.

EDIT: Also I need to eventually post about the devcart hardware from the 68000 side. It should be possible to write your own BIOS replacement for full control over the communication scheme.
  View user's profile Send private message Visit poster's website
  • Joined: 05 Apr 2010
  • Posts: 2
Reply with quote
Post Posted: Tue Apr 06, 2010 4:56 pm
Ofcourse you don't want to remove the labels, you'll risk erasing or at least damaging the data on the eprom. I haven't removed the labels on mine either, i'm waiting for my eprom reader/writer to arrive in the mail and then i will first read the data from the original eproms before taking further action.

I already removed one of the eproms and underneath there is the number '64' printed on the pcb. I think it refers to 27c64 eprom type used. Btw.. the dos util (segaload.exe) gives the same time-out error as the windows based util (segadev.exe), so there is probably nothing wrong with it.

The idea of disassembling the monitor code and rewriting it, is a rather cool one. At this time i have no idea of the hardware capabilities of the devboard, but i'm sure there is some cool function possible ;)

It is not really needed that you connect your board, but aren't you curious to see it working?
  View user's profile Send private message
  • Joined: 16 Apr 2010
  • Posts: 8
Reply with quote
Post Posted: Thu Mar 29, 2012 12:56 am
Sorry for the massive 2-year bump on this thread, but I wanted to ask if you still have this kit Charles, and if you've given any thought to uploading the ZAX software, or scanning in the manuals? There's very little info about these ZAX ICE units available online, and I'm interested in knowing a bit more about the features provided by these units. Developers also used ZAX systems for Mega Drive development, and if the opportunity ever arises to pick up the ZAX ERX 318P for the M68000, I'd be interested in knowing what the unit can do, to figure out how useful it'd be from a development point of view.
  View user's profile Send private message
  • Joined: 28 Sep 1999
  • Posts: 1149
Reply with quote
Post Posted: Thu Mar 29, 2012 5:04 am
Nemesis wrote
Sorry for the massive 2-year bump on this thread, but I wanted to ask if you still have this kit Charles, and if you've given any thought to uploading the ZAX software, or scanning in the manuals? There's very little info about these ZAX ICE units available online, and I'm interested in knowing a bit more about the features provided by these units. Developers also used ZAX systems for Mega Drive development, and if the opportunity ever arises to pick up the ZAX ERX 318P for the M68000, I'd be interested in knowing what the unit can do, to figure out how useful it'd be from a development point of view.


The unit is going back to Bock soon (just need to find a very large and very sturdy box) and I'm sure he'll be preserving every aspect of it faithfully. :)

It's not the exact same manual, but there are some Z80 ICE manuals from Zax that are on bitsavers (this is a mirror):

http://e3k.computer-refuge.org/bitsavers/pdf/zax/

The same feature set is common across all their ICE products, so all the things it does for the Z80 it does for the 68000, 80386, etc.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 08 Jul 2001
  • Posts: 8181
  • Location: Paris, France
Reply with quote
Post Posted: Thu Mar 29, 2012 8:50 am
Charles if you have a 5.25" maybe you could try getting hold of the software to post it here earlier?
  View user's profile Send private message Visit poster's website
  • Joined: 05 Jun 2010
  • Posts: 690
  • Location: Pennsylvania, USA
Reply with quote
Post Posted: Thu Mar 29, 2012 4:19 pm
I have a 5.25 drive that works and the computer is used daily so copying the software would be no issue.
  View user's profile Send private message Visit poster's website
  • Joined: 16 Apr 2010
  • Posts: 8
Reply with quote
Post Posted: Fri Mar 30, 2012 1:47 am
Any chance of some better pictures of the SegaDev cart, and the back of it in particular? Those few pictures you posted in this thread are about the only proof on the internet that the SegaDev card even exists.
  View user's profile Send private message
  • Joined: 28 Sep 1999
  • Posts: 1149
Reply with quote
Post Posted: Fri Mar 30, 2012 4:10 am
Nemesis wrote
Any chance of some better pictures of the SegaDev cart, and the back of it in particular? Those few pictures you posted in this thread are about the only proof on the internet that the SegaDev card even exists.


Is there anything in particular you are looking for on the board?
  View user's profile Send private message Visit poster's website
  • Joined: 16 Apr 2010
  • Posts: 8
Reply with quote
Post Posted: Thu May 24, 2012 3:53 am
Charles MacDonald wrote
Nemesis wrote
Any chance of some better pictures of the SegaDev cart, and the back of it in particular? Those few pictures you posted in this thread are about the only proof on the internet that the SegaDev card even exists.


Is there anything in particular you are looking for on the board?

Sorry, totally forgot I posted this question here. I was just curious to see some more info about the card. This is a mainstream official piece of dev hardware for the Mega Drive, yet this is the only time I've ever seen a picture or heard about it. I was wondering if we could get a few clearer pictures of the card front and back just for curiosity's sake if nothing else.

At the time I was researching the official dev hardware that existed for this system, and the SegaDev hardware is listed in the official documentation (32x Development Tools Overview, page 11), so I was just curious to know more about it. The two other pieces of development hardware that are missing, which would be extremely interesting to get our hands on, are the "Super Mega Drive" and "32x Target" systems, which were really hardcore development systems for the Mega Drive and 32x platforms, integrating a lot of powerful debugging features and providing easy connections to ICE units, kind of like a Sophia system is for the Sega Saturn, but for the Mega Drive. The 32x Target is described briefly in the 32x docs. I have scans of a manual for the "Super Mega Drive" that I'm not allowed to post online at this time. I don't think either one of these units has ever fallen into the hands of a collector, or had a picture of them posted online.
  View user's profile Send private message
  • Joined: 28 Sep 1999
  • Posts: 1149
Reply with quote
Post Posted: Tue Jun 19, 2012 7:30 pm
Here are high resolution pictures of the card, front and back.

Both transistors are 2N3904.
segadev-front.jpg (584.1 KB)
Front of card
segadev-front.jpg
segadev-back.jpg (501.07 KB)
Back of card
segadev-back.jpg

  View user's profile Send private message Visit poster's website
  • Joined: 31 Oct 2007
  • Posts: 847
  • Location: Estonia, Rapla city
Reply with quote
Post Posted: Wed Jun 20, 2012 9:25 am
wow, 16mbit of SRAM
  View user's profile Send private message Visit poster's website
  • Joined: 28 Sep 1999
  • Posts: 1149
Reply with quote
Post Posted: Wed Jun 20, 2012 2:14 pm
TmEE wrote
wow, 16mbit of SRAM


That must have cost a billion dollars back then. :D
  View user's profile Send private message Visit poster's website
Reply to topic



Back to the top of this page

Back to SMS Power!