ooooh snap, I went reading the ez80 .. they started showing up around 2008, so are pretty new.
_Holy crap_ are they pretty slick!
The one I was looking at .. 3.3V source, but tolerant up to 5.5V on pretty much all pins .. so easy hookup to damned near anything
- 24pin GPIO; a Z80 with gorramned GPIO's on it.. how slick is that? The GPIO pins IIRC double as UART pins and such, too
- i2c and so on
- 20 or 50MHz (though 50MHz seem to be commonly unavailable, 20MHz are cheap and available)
- built in flash (various sizes, less is cheaper)
- built in SRAM (various again) .. 0 wait state!
- handles external RAM up to 16MB
--> downside: LQFP100 package and up (ie: only SMT, whereas z180 is 64pin DIP)
I'm not sure from the quick flip through, but it might be able to just run on the internal flash (the RAM is easy, its just memory mapped so once you start running,m you could use it.) I would assume it could run without any other chips, like all the cmoon guys like PIC and avr etc. Pretty sweet!
Now, the minimum flash and ram ends up costing $5/chipm which is pretty good; the ram size is not really useful for us, but very fast. Likewise for ROMs, we want carts.. but a built in BIOS of sorts could be neat.
Its that blasted SMT barrier though; now, even if board design is for Z180, oen shoudl be able to drop in an ez80 on a DIP adaptor and work okay, I imagine. Then you'd be able to use those delicious GPIOs.
My current design is STM32 F4 on GPU duty, and some Z80 variant as brain, and possibly an I/O chipo as intermediary; if the STM32 can interleave RAM access with the z80 it'd be wicked-handy, and possibly alleviate need for an I/O chip; an ez80 has the GPIO pins and some peripherals, and higher speed, so certainly could handle a lot of I/Os.. certainly a keyboard and joystick shoudl be no problem, but it should be able to drive SD on its GPIOs, too. So in a way, the ez80+stm32 (plus cart, ram, sound chip etc of course) could be the whole board. With a z180, we very likely need the intermediate chip (an STM32 F2 say, or even another F4 for super power, if the price is right.)
The whole reason I'd been avoiding ez80 is trying ot be allergic to surface mount parts; if the whole board could be through hole, thats just peachy, right? Easy to solder for just about anyone! But now I'm pretty much married to an STM32 F4 as GPU, since its pretty awesome and affords a lot of power folks could go nuts with, and I'm also pretty sick of trying various options, and rather like the STM32
.. so thats one surface mount part. And again, I might just put a big-ass DIP socket on there, and then provide a 64pin QFP->DIP64 adaptor board.. so people could solder there on, or chip me a few bucksand have me solder it for them and provide the GPU-board as a plugin.
So thats 1 surface mount part.
Now, if we go straight out for a Z180 or Z80 proper in DIP, then we likely need an I/O chip; two main broad cases.. either talk i2c to the GPU if we can't swing RAM access, or if GPU and Z80 variant can share RAM, then we still need the I/O chip for doing interupty peripherals. I'm not over interested in putting in a SIO and PIO on the z80 .. fiddled around, they're pretty slick, but getting out of control. They _are_ retro as hell though
.. so, assuning they're out, then Z80 can't really talk to peripherals at all well. Having the GPU do it is potentially too much load on the GPU depending on the peripheral type, but as I found out.. at least with my experiments so far, that GPIO activityt is screwing with the DMA and/or data bus timings for VGA and causing turds. I'd rather not have random turds flicker for a frame every time you wiggle a joystick or hit a key or the like.
So .. if I'm going to add an I/O chip, I've also tried to narrow down on programmers and chip families; also, we want a pretty fast chip. So avoiding adding an atmel or PIC in there, it'd be wisest to stick with STM chips since we've already got the TM32 on therel; the STM8's aren't beefy enough.. not enough RAM etc. So we're talking about an STM32, and then might as well just go to an F2 or F4 again, keep them similar to the GPU so everyone is familiar.. figure out out, you get the other figured out for free; they're also not too pricey and awesome as hell. So, okay..
--> we likely have 2 surface mount chips on here already, plus the Z80 or Z180.
If we're going to have two surface mount chips _anyway_ (and possibly both of them in DIP sockets, so we can go out of control in other ways..), then it becomes sensible to just use an ez80 and the GPU (and the ram/rom/etc). ie: the ez80 could replace the z80/z180 _and_ the I/O chip, since it has some peripherals, and GPIOs, and 5V tolerance.
The only real problem is the damned LQFP100 and up. LQFP64 is bad enough to solder.. 100pin is a bit of a nightmare
On the one hand, theres a place near me that actually sells QFP64->DIP64 adaptors, which is what I use for prototyping.. but they're $10-$15 a piece (currently $15, ouch!), though a bit cheaper if you place some tricks. Still, I'd have to make my own.. really, shoudl be able to get them for $5 a piece if I make them myself, or less. Anyway. Very few reputable places make QFP100 and up adaptors.. I've got some from Thailand, but they're these big huuge affairs, and not the best.
So, I'm still really hesitant to go to the old SMT100+ route; SMT 64pin is bad neough, but pretty managable .. I'm okay with them. Having two on the board is goofy, but okay.
Man, I really want the damned ez80 now though, but I think I'd have to have that right on the board, and I'd have to solder them for everyone, and who knows, maybe thats a real bitch. I've done it before, a couple of times, without the heat gun (it was quite awhile ago), so it can be done, but yeesh.
So..
Z180 -> STM32 F2 or F4 (64pin surface mount ) -> STM32 F4 GPU (64pin surface mount), is still top contender. But ez80 -> STM32 GPU is pretty sexy idea.
jeff