Real life does get in the way of projects sometimes! Anyway, the zikzak PCBs so far are working out very well - the cpu/base pcb ribbonned over to the gpu pcb, and with a eeprom cartridge plugged in.. all working exactly right. The power pcb's first stage is a 7805 which gets very hot at nearly 1A draw, before feeding into the TI chips to downvolt to 3.3 (which runs super cool, even over spec.) .. ultimately I think I need to cut over to switching voltage regulator instead of LDOs, so I do not have any heat problems. Using a giant heatsink on a little pcb is goofy :)
The PCB layouts are not ideal either .. the ribbon cables have to twist in a spaghetti-like fashion to marry up, which is slightly annoying – gets in the way of the reset buttons and is just too ugly for me.. very distracting. But alas, as these are not 'final solution' boards, that was okay.
A few options did present themselves in the way of workarounds .. make a tiny inexpensive little bridge pcb that acts in place of the ribbon cables, but the connectors are all over the GPU board and overly distant, making for a large mostly empty bridge pcb; best to pass; could redesign the boards so the connectors are the proper orientation and on closest-facing sides as Dobbs intended, but a redesign of the mini pcbs seems wasteful. Redesigning to make them stackable is pretty slick - the boards work great, and a redesign of the actual PCB routing would be hard work (a couple weeks effort), but be really nifty – redoing the power PCB at same time would be joyous - imagine a 3 stack of PCBs, with a cart stick out of one. Awesome. But all of these ideas merely distract from the original goal .. a single board computer, or SBC. Still, the options come to mind so I thought I'd share them.. and they came to mind because the Zikzak pcbs so far, using full size through hole components, are fairly challenging (ie: time consuming) to route. It would seem SMT chip designers (the eZ80 and STM32) love putting pins all over the place and not in continuous regions, so you end up routing a mess; what happened to the days when a bus would come straight out the side of a chip and go straight across a pcb, with all the daughter components leaching off in orderly fashion? Anyway, the SBC board is fairly complex (fair number of components, a lot of traces, and not a lot of space to work in.) I've upped the pcb size a little, which costs quite a bit more. (At my preferred boardhouse, a 4“ square PCB is 10 for $12 more or less; add an inch or two, and its $30+ for 5. Add shipping and it starts to hurt. First world problems :O)
Anyway, I've slogged through and submitted a first rev of the zik80 SBC edition.. a single board (plus the power board, so it can be updated without concern); rushed it a bit so its not as ideal or attractively laid out, but it should prove an excellent test to see if I've merged the schematics correctly (merging multiple smaller PCBs into one larger one); I've also optimized a little.. taken out a bunch of headers (some are duplicates when you merge boards, but some are no longer needed .. theoretically, the breakout headers for Address and Dada bus for example are not needed, since its all on one pcb; I've left some on for test headers, but you see where I'm going.) Also a few fixes .. better sizing on drill holes, needed pullups on the PS/2 keyboard section, stuff like that. I have high hopes it'll work as I've had good luck so far, but you never know; still, it should mostly work, if not fully work, I think .. will find out in a week or two!
As real life has been busy, the firmware side has not progressed at all; once the zik80 SBC has been tested basicly (add the eZ80 and STM32 and sockets for audio chip, RAM, etc), can get back to coding; I'd like to get a basic cartridge template going, and a basic .. not OS, but say 'monitor' and 'BIOS'/boot test. Some basic code to establish 'BIOS' subroutine vector table, some firmware to check for presence of cart and do one thing if found, another if not (ie: go to a monitor or BASIC, say, for lulz.) Would like to add some built-in cart flash code for example, so you can flash a cartridge via serial or USB, without needing dev tools or electronics experience.
Lots to do, and all very fun; but so far, so good!