Heater. wrote: »
Seems over complicated. Just use CP/M in a match box: http://hackaday.com/2009/12/27/zilog-in-a-matchbox/
cbmeeks wrote: »
I looked into those variants and, from what I could tell, none of them will run 100% Z80 code.
I am building a retro console/computer similar to the Propeddle. However, my goal is to use a real Z80 (retro coolness) but also use the prop to emulate the TMS9918 and various sound chips like the AY-3-8910 and SN76489. This console will hopefully run ColecoVision games.
Now, I have several of these:https://www.sparkfun.com/products/12009
What I thought I might do is check out the schematic of those (seem pretty simple) and design something similar for the two-way communication of my 3.3v components and 5v components.
I still have to study the datasheets more, however, to see how feasible that is.
Not really trying to run CP/M. Trying to play Donkey Kong instead. lol
By using a second Schottky diode in parallel the 10K is no longer a limiting factor. This reduces some of the RC risetime bandwidth limits. It’s not adequate to obtain a higher speed 5MHz bidirectional operation. The RC problem is addressed with the bypass cap. The addition of the 200pf cap restores the risetime edges on both sides of the series resistor, regardless of the resistor value.
So now the size of the resistor can be adjusted to fit the 5V side of the circuit. The size of the resistor will depend on the Z80 input specs and how hard the Prop needs to drive in order to reach Vil/Vih specs. The jury is still out on that one.
For a couple of reasons I’m opposed to using protection diodes for level shifting. It may seem to work but that doesn’t qualify it as a good practice for a reliable product. Better to always work within manufactures specs.
The addition of a stouter diode in parallel protects the protection diode. Because the cathode is connected to the Vcc pin and anode to the output of the Prop, it clamps the two pins together during power down. This boosts the max current protection from 50ua to 2 amps per pin. This allows safe operation regardless of what the LDO regulator decides to do.
I like this solution because of its simplicity, low parts count, performance and meeting all of the ops original requests. Plus it doesn’t require a control pin for direction of the data bus.
Seems I missed this post first time around.
I'm not trying to discourage you from taking on this project but emulating the TMS9918 looks like a pretty formidable task.
There are already emulators for the AY-3-8910 and SN76489 (http://obex.parallax.com/object/153 and http://obex.parallax.com/object/548), so integrating them to work with the rest of the software is the remaining task.
Although the Propeller and the TMS both generate signals for a TV the way the image is created internally is quite different. I am not sure the Propeller has the processing power and memory to decode the commands meant for the TMS into something the video circuitry of the Propeller can use. Perhaps someone with more in depth knowledge of the TMS9918 and the Propeller video can chime in here.
- No current draw through the protection diodes
- Defined low level if Z80 in reset
- Much faster than a series 3.9k resistor
- Will draw about 1mA when the Prop outputs a high level.
I would have thought that the CMOS Z80s would be OK (at a reduced clock) at 3.3V. I see that the Z182 (wiki) quotes 33MHz @ 5V and 20MHz @ 3.3V. I have pushed a Prop up to 4.2V (it didn't die) to do the British sort of thing, and meet halfway.
9V does kill props (fully tested), but then, the Z80 would be troubled too.
If the goal is to be able to build a retro console to play ColecoVision games then the first thing to do should be to determine what hardware was in the ColecoVision console. Once you have a list of the chips used and the ram/rom/eprom requirements you will have a much better idea of how to approach this project.
There are cmos versions of the Z80 (from Zilog no less) that should run at 3.3V so all this concern over the 3.3V to 5V level conversion may be a moot point. Even if you end up having both voltages, it is a minor issue, and simple to resolve. I would suggest starting a new thread with creating a ColecoVision console using a Propeller and Z80 as the topic and go from there.
Provide as much information on the ColecoVision hardware as you can in the first post, and your thoughts on how the Propeller/Z80 combo would be built in the second post.