Zikzak - crummiest 8bit console/computer ever .. but I'm making it!


heh, nice twist there ;)

Until recently (a year or two back?), someone was making this IC:

https://www.sparkfun.com/datasheets/Kits/XR2206_104_020808.pdf

I think they've gone to make somethign different but similar (repairing some issues this had, but for another purpose), or maybe I misremember entirely; anyway, this IC there can do sine, sawtooth, square wave and others, in a pretty simple little package; probabyl needs an amp out the side, but use a headphone jack and no amp needed then (?) ..

Theres got to be something like that. (or someone has got to be making SID-knockoffs right? :)

jeff
 
You know, that's not a bad idea. Make a genuine pin-compatible SID knockoff, and I'm sure it'd sell for decent money. Apparently most of the cost of a C64 on Ebay these days is the SID chip, cos people are buying them to rip the chip out and use in their own chiptunes project, and believe it or not for such a successful old computer, they're starting to get rare.
 
Theres SIDstation and other dedicated SID based instruments as well .. the SID is definately in high demand. Whoever has the Commodore rights currently, is missing out on a mid-sized deal (small volume, high price.. come on, awesome :)

jeff
 
Holy cow, the 'eZ80' is Z80 compatible, but also can contain large flash (128 or 256KB flash); has 16KB SRAM built in. (I wonder how it differentiates between external and internal ram, and flash; must be lot so fregister magic going on.) It also has built in I2C, SPI, Ethernet, all sorts of shit. Totally insane.Runs up to 50MHz!

I'm going to go with Z180, since it was used in plenty of arcade boards, is basicly a Z80, but with some UARTs thrown in, and an MMU I won't use. And I have a couple :p

If you want to do some 'serious' Z80 stuff, the eZ80 may be the way to go, but with Zikzak aiming to be pretty low end, no need for all that (though having I2C and such would be handy as hell for talking to the mcu's for VGA and possible I/O controller, I'll see if I can get by.)

jeff
 
That's the reason I ordered a Z84C00xx "classic product" from Zilog.

Those are the chips that look the most like an original Z80, from what I've understood.

I took a 20MHz "flavored" one, since I want something powerful enough to do various thing. (probably a zikzak and some other experiments, later)
 
skeezix, you think like me, inside the frame, and then you make a very conscious effort in establishing what that frame is and keeping within it.

The frame of reference can be anything, unless it is a box and the contents fall within it. Love this thread. Feel free to document on the pandorawiki if you want.
 
There's also the attempt to emulate a SID on an ATmega8.

http://www.roboterclub-freiburg.de/atmega_sound/atmegaSID.html

That is pretty nifty; I have been fiddling with the idea of plopping another atmega into things as an I/O chip, and/or for audio .. or use a real audio chip like the AY above.

(I've not had time to get too far into the schematic for the zik-z80 ... see if I have enough lines free, and enough processor time.. ie: the VGA generator is pretty busy, so not sure it has any time to do audio, though it could probably handle keyboard receival.. but then how to ship the keyboard details back to main Z80 etc.. things to mull over as I get into it.)

jeff
 
I really should have put up a wiki or blog for this project, to follow it along for anyone outside our community who may care. Instead, this thread serves the purpose :p

If I ever get anywhere concrete, I'll put up the final schematics and pics and 'how it works' documentation and so on on a site, and of course the git has a bunch of random bits in it.. and then link back to this thread for 'ramblings and discussions' of how it got there :p

Right now, working on some cleanups and going to perfboard the zikburner, so I can clean off that breadboard and use it for the main zik-z80 experiments.

I need to take a week off, not tell anyone, and just hammer away at this ;)

jeff
 
The thing that's surprised me looking into all these old audio chips and circuits is that I can't find any that used sin wave modulation. The AY-8-8910 and SN76489 only generate square wave singnals and noise, and even the SID only generates square, sawtooth and triangle waves plus noise (although you can significantly distort those signals, especially on the SID).


In my own Audio experiments I've always started with a sin wave, meaning my prototype code is always rather slow with all those trig lookups. I've been thinking about using it with square waves and the likes, but only as part of a significant rewrite to make it a pluggable series of generators and filters.
 
Last edited by a moderator:
Well, that is the thing - Generating a good sine is difficult. Particularly in the digital domain. A lot of machines (even dedicated synths) went the cheap way and used triangle instead.
 
My day: Taking a few hours to make the start of a perfboard for zikburner; have a mini-B usb female side, which has 5 tiny little wires out the bottom; bend it just-so, solder it to perfboard; jack in a usb cable and deduce which is +5 and which is gnd, and make a guess as to the other 3 pins (guessing correctly.) Run the +5v and GND out as rails around perimeter of board so life is easy; make FTDI to DIP adaptor (SMT is a pain in the ass, killed one FTDI chip in the process, but I have 2) ... solder it to board, and start soldering all the connections up; all told, a bit messy, but a nice little board if I do say so myself.

-> then I plugged +5V into GND, and GND into +5V while doing a quick test.

*sigh*

I suspect that might be FTDI chip #2 killed in one day. Sometimes you just need to stop what you're doing for the day :)

They're only $1.50 or $2 ea, but I don't really want to order anymore. I do have an 'FTDI Basic' clone from China (of the Spark fun FTDI basic), but I rather like making my own bits, rather than using these little BoBs. But I guess I've had no luck today, so fusk it :/

jeff

edit: FWIW.. an FTDI Basic is $15 or so USD at Sparkfun or a dealer; around here, you can get them for about $25CDN (grumble). But from China, free shipping, for $5 or less; note that the USB B mini connector itself is about $4 here, and the FTDI of $2 from Digikey, and capacitors and so on, and you're easily up to about $10 or more in parts, so $15 is okay by 'local prices' .. but its around $25 where convenient to me.  But $5 including free shipping from China .. is why I ordered a few of those - I rather figured to use one in damned near every project I ever make, since serial/usb debugging is too awesome; I hate to use a ready to go BoB and make my board uglier and bigger, but *damn* if thats not a great price, making it worth it. I got 5 for $20 all in, and they work perfectly (FT232 IC onboard.) Check ebay.

--> so, yeah, I'll finish this perfboard, but don't mind the red little 1" pcb in the corner. *damnit*
 
Last edited by a moderator:
An interesting 'tip' perhaps.. summary": when desparate for a 90degree bent over female header, an IC socket (or half of one :p ) can work!

Given I managed to kill (or make unstable) my two little FTDI SMT ICs,I'm just going to use an "FTDI Basic" clone as noted above. (FTDI ICs are a buck or two from various sources, but add in a SMT->DIP adapter pcb, USB B mini connector, some caps and so forth and you're up to $10+, and I got clone FTDI Basics for $4ea ready to use), I'm going to use them.

The ones I have are on a little red pcb maybe 1"x0.5", with header-holes all around the outside and a male header on the end; so you can add header pins to it and jack it straight down like an IC, or you can use its male headers and put on a female header strip. Slick.

Image of something similar to what I have (though mine is smaller, and has the header holes around the perimeter):

%24(KGrHqQOKo8FI!E,zgP8BSB0Ph71WQ~~60_35.JPG

Anyway, I went looking around for a female header strip, with 90degree pins out the back of it (so, lieing flat, not upright.) Nada around town. I already have an assportment of headers, including female and male, but soldering male onto the female at 90deg is a little annoying, and possibly fragile for something you want to apply force to. The pins on the back of my female header aren't long enough to bend over and still poke through the PCB material .. though could slip up some tiny wire clips to make it.. bleh.

Had an idea though.. some low end IC sockets are dirt cheap; the good ones tend to be 10c/pin around here (very expensive; a 40pin socket for a mcu is like $4 itself!), but you can get the tin low end cheap plastic ones pretty cheap; I ended up finding a 3 pack of 16p sockets for $1.00 total; nice.

Get the IC socket, squash the pins over 90degree on one side using a piece of wood or a vice, and good to go .. instant female socket with 90degree orientation :p

Sort of goofy, but works a treat :)

jeff
 
OKay, next perfboard I make is going to be twice as big or more than minimum size :eek: This zikburner perfboard1 is pretty tiny, and with all these address, data and control lines, and somie other stuff on there (serial/usb comms, crystals, caps, etc) .. its a nightmare .. all bunched together, a hundred solder joints... bleh :)

Next time, nice spacious area to work in, nice long traces :p

jeff
 
OKay, I totally rushed it, but I've built a zikburner eeprom burner onto perfboard; this is a second one, a rush one -- the first attempt I started the other day was going great, but I was stupid and hooked up Vcc/GND swapped during late night test and made it unstable .. so I dismantled it all and rebuilt one nice and solid.

Its a poor arrangement (lesson: use a much larger perfboard than you need, so you have space to work in), which lead right to a poor solder job (so many wires in such a small area, that can't manueaver right and do a good solder job); they're solid, but it won't last forever.. I'm sure some wire will get loose eventually; I'll lay down some thick tape or epoxy on this sucker maybe, reduce the chance of that :p Stick it into a project box maybe, so nothing touches the wire-side.

Something that keeps biting me when I make perfboards is ... order of operations; you need to plan where the components go (just like for a etched PCB), and its non-intuitive; you need to figure out how to place them to make wiring it up later easier; you need to wire in the right order, so as to not cover up parts of the board you need to work in later. For instance.. with RAM and EEPROMs and mcu's, youi've got a lot of wiring, all close together and often crossing over. Given 2 ICs that hook up like this on a board: A B B A, you should do B-to-B and then A-to-A, right? But its never that clear cut. As you can see, I ended up with abotu 3 layers of wiring, and it forced my hand for part placement. You'll notice that I used an 'ftdi basic' clone (as noted above why), and if you look at top side of board, you'll see I could have turned the hookup female eader for that 90deg, so it'd face out towards the LED and not stick out side of board; that was the plan .. but to do that, I should've put _that_ on first. Instead, I did all the work and obscured the perfboard region near there, so I had to turn it 90deg so I had somewhere to place it and reasonable access to solder it.

Also note .. the two headers on the side for cable hookups, are unused; this pcb was actually the start of a zikzak r3-r4 cpu or gpu board; the goal at _that_ time was to simplify the pcb wiring for the big zikzak r3 (the dual framebuffer crossing over schematic one); in this particular arrangement, you could have cpu boards, interconnect/crossover boards, gpu boards, and I/O boards; then you could hook up some combination with cables to make a computer, or reconfigure it in a few ways; a neat design, but in the end I moved to zikzak r4 'mini', which dropped a lot of features (no dual framebuffer or page flipping), but reduced the chipcount to something like 10 ICs, much more doable for us hobbyists hacking around :)

Annnyway, without further ado, here are 3 pics .. and I know, looks like shit.

But sort of awesome, no?

_and it works first time!_ --> jack in the FTDI; board takes all power from usb port, and talks usb/serial to PC; command line tool does dumps and burns, and you can use a terminal like minicom to use the command line interface in the firmware to do various functions.

Firmware and source, pics, schematics, etc are all up in the github:

https://github.com/skeezix/zikburner

Top-side photo, hooked up with usb:

IMG_2819.JPG

Bottom (wire) side, the full mess; I have no shame :)

IMG_2821.JPG

And a clearer top side shot, unhooked up:

IMG_2823.JPG

What do you think?

jeff
 
Yeah. ROM-burners can get a bit messy on protoboards.

20130322_002.jpg


^ From a project I worked on with a friend, connects to ROM-card via ribbon cable.
 
Back
Top