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


For lulz, I've been working on decoding the PS2 game controllers, to use on my robot cars/etc .. its a very simple protocol, so threw my scope on a PS2 and figured it out, and then used some random online sources to fix up a few mistakes in my gueses.. and works a treat. (You can buy wireless PS2 game controllers for $8 on ebay, shipped! Sick! There you've got dual analogs, dual dpads, and a host of other buttons.. 4 shoulders, the start/etc .. instead of spending $100-$300 on a RC transmitter for an airplane or car, just use an $8 ebay ps2 controller, and get many more buttons... shorter range, but eeeeehhhh..)

Anyway, so Zikzak can now use Atari/Commodore style sticks, or even PS2 controllers.

Sick. Still useless, but sick :)

jeff
 
Keep thinking of coming back to the Zikzak project; was a lot of fun; got myself sidetracked too many times.. and now that I've assembled a 3d printer, I've reaaaaally gotten sidetracked.. currently trying to 'design' a tricopter (pfft, quad's are boring!) .. getting there. Anyway :)

A number of things still yet unfinished..

- an actual little 3d printed casem with joystick ports and all that on there

- SD card 'shield' for it, so it can use that instead of cart

- oh, some actual carts, not just test and 'yeup, it reads/writes'

- audio 'shield' mod, so it can use an emulated SID instead of AY-3-8910/YM2149 for audio

For Zikzak, I had designed it under a lot of self improsed constraints, just to force me down a road that woudl be fun, and learn a lot, and get somethign done (ie: not toil around forever.) So, now I've done that.. a pretty good (for various definitions of good ;) working design.  If you want to look at it and sort of see where the 'limiting factors' are (in terms of .. making it more broadly interesting to other people), some random things come to mind..

- parts availability; choosing a modern-ish z80 variant is okay, since its still in production and inexpensive.. but selecting a AY-3-8910 variant audio chip is retro awesome, but pricey and hard to get (ie: supply depends on ebay)

- pcb cost; I mean, its still rediculously cheap by comparison to a few years ago, but I still dislike that pinch.. by going from 4" to 6" pcb, the price went fro $12 for 10 units, to what was it.. 30 or 40$ for 5-10 units; when doing pcb versions ("oops, I cocked up this or that little thing..") its pretty painful to watch that money evaporate (factor in shipping.. either takes 6 weeks to arrive, or you pay $35 for fedex and get it a week later.) So, moving to 4" pcb's would be nice again. (Earlier versions were actually 4" gpu board and 4" cpu board, for just this reason.. but then, using ribbon cables to join them together ewas really really annoying .. being like a 8pin data bus, 8pin control bus, 20pin address bus .. thats 3-4 cables right off, plus power and some others)

- being cart based ... this was of course retro-fun, but ROMs are annoying yet cheap; eeprom's .. I need to review the space again but the ones I was using were pretty inexpensive and small, but are now discontinued I think, so hard to get; parallel eeproms seem to be vanished, unless you want really large sizes. They're tending to be serial eeproms for cheap now.. so not somethign you direct memory map on a memory bus, but instead use like a SD card .. you pull data into main memory from it. So that implies you need more main RAM, and that whatever size rom/eeprom...)

- RAM .. I think my alst version bumped it up to 512KB max which is plenty, but if you want to do 'more', it can be limiting, espeically in light of previous item

So, I dunno; its tempting to revisit it, with some of the restrictions taken off. But then, you can easily end up with just a single chip solution, and then you might as wlel just go raspberry-pi2 or something. So.. whats the point? The goal of Zikzak? To be fun to hack on and into, to learn. If you don't want to learn how the internals work, you go r-pi2 or whatever.

But then, so far, its good enough for me; I wonder if anyone actually wnts one.. obviosuly, not too badly :) But if I widened up thre audience, broadcast to make sites etc, I wonder if anyone would like it? is there any use as an 'open hardware experiment' here, or is it really just a good learning experience for me? (I'm okay with that! learnt a shit-tonne!)

Hmf. Anyway, just thought I'd post, and see if anyone is still interested, if anyone has any ongoing interest in direction.

FWIW, I still use these parts .. I've got a couple little robot cars where the zikzak or zikzak old cpu board is the brains, for instance :) For my tricopter, the zikzak might just end up being the flight controller, though I'm currently steering into letting it by a driver for fail mod (if radio is lost, or other interupt happens.. what to do? etc..)

jeff
 
I'd love to say I'd play with it, but alas I struggle for time. It's always been a bit of a dream of mine to make my own console too - so much so that I bought the Black Art of Video Game Console Design, though I have yet to read any more than the synopsis on the back :(

It'd be great to see your 3D printed console in a "completed" shape, and also your tricopter :)
 
Thats actually quite a good book in a lot of ways (I also picke dit up, to help me start.) But what I found out was.. it was much more effective (for me, anyway) to just _get doing_; the book is not enough detail in a lot of aras, and too much in others, and it was very easy to fall into the trap of 'this looks easy, but it must've taken a lot of knowledge to get there'; I browsed a few chapters, got bogged in details, and said fook it... and once I started putting some bits on a breadboard, and that very first wall to climb over, it all came into perspective fast.

ie:

First step.. so you want to (say) get a micro controller going?

(I didn't want to use an arduino or something 'ready to go'.. thats cheating; also, I wanted to learn what the hell an arduino really _Was_ ..)

- what micro? well shit, research time, minute zero! In my case.. 68k? z80? 6502? 6809?... some nice simple stuff in that book above, about those, btw

.. well, how to bring a micro up? First problem.. read the basic specs on a micro, and digest how to read the specs without understanding

--> you see the power requirement part on the first couple pages.. so okay, now you know your target chip is 5V, or 3V, or 1.8V or what.. so how to make power? (again, I didnt' want to just buy a $5 regulator pcb off ebay.. cheating); making a basic regulator is easy-sauce, but it took a couple days to get a few parts, get them on a breadboard, make it work; that trains you to look thign sup online (schematics etc) -- find out _where to do that_ (avr freaks, etc), find good youtube sites (eevblog for instance), get a little used to your tools (multimeter, scope if you got one, or find out you now need one, etc), get you to find a good pair of wirestrippers and side cutters, a good breadboard, some wire, etc; wire can be expensive due to weight, so you find a local shop? well, now you're looking through electronics shops.. hawt!

--> so you see, just fgetting started is putting oyu in a half dozen directions, all simple, but things you need to do; looking through the book won't do any of this.

Then you stumble and trip on a few basics.. now youv'e got power coming to a breadboard, how do you stick a micro into it? if its a thru-hole part you're likely okay, but if its surface mount.. well, what do you do? learn to make a pcb? or get a ebay pcb adaptor (to through-hole from smt)? and how to wire it up? -> read specs more..

... and then you find out stuff like, oooh, digital chips should have a decoupling capacitor across teir power pairs; why? who cares, just do it, move on... etc. You'll find a dozen tricks very fast, from the forum you read etc..

... siuddenly, after a couple intense weeks of mad science, you suddenly have learned a dozen tricks, and _now you are powerful_, you can do crazy stuff.

Its not that hard, but its that first few weeks where you stumble and learn, and then you're awesome :)

jeff
 
.. fascinating! I never journeyed beyond  the 555 chip (it has a counter and can do binary math, 's all I remember). Where an engineer taught me how to create these knight-rider lights, and how to rewire to get other effects.

Skeezix, ever thought of creating a book? Your style of narration is fun to read, and what you tell is insightful. This whole thread is a narration of the fruition of the ZikZak, could be reused for that.

Though you make it sound so easy... I had to re-resolder once this flat cable with lots of connectors (like those IDE cables) even top, uneven bottom... only to see that I made a mistake and had to redo half of it.

I connected led lights to 9v batteries....without a resistor (don't do it! Leds might just zizzle and die... but can also explode *scary*). O shorted an XT power... and the whole house had no lights...

I got zapped by my VCR, 5 minutes after having it plugged off, the condensers still had charge... and have seen arcs from up close... too close for comfort (in a train, in the hall, the ceiling was open, and it suddenly this blue light was everywhere, and I was lucky I had no metal things....).

At least I do manage to change a lightbulb by myself....
 
Last edited by a moderator:
It'd be great to see your 3D printed console in a "completed" shape, and also your tricopter :)
The tricopter seems ready to fly, but I've not actually gotten it off the ground for more than 2 seconds yet ('hover test, with wicked drifting, subsequant panic and turn throttle off'); still, it took off :)

Mostly, thats nerves and inexperience; my dad is a huge RC aircraft nerd, so as a kid I watched him fly around a lot, and got an appreciation for danger (ie: how not to get your crotch slashed up by a 10,000 rpm propeller), but I never actually flew for more than 5 mins.. like, 20 years ago or more :) So now, here I suddenly have a device that has 3 props and could lop your fingers off, and 3 small kids; so, need to escape out to a field (hard to find time, the kids being around when its light out!) and see about getting it off the ground. I've read the natural instinct is like the brake in a car.. anything funny, slam it.. which is of course wrong in both car, and aircraft sense. If you cut throttle on a 'copter, it'll drop like a rock, and that mistake can cost you a couple hundred bucks (or worse if you plunge it into something). So the instinct shoudl generally be, with a copter.. keep it up; if you panic, you're going to kill it.. so learn how to hover first, then spend hours and hours learning how to hover better, and maybe some hops, and turns, and keep it under control.. and after quite a long time of getting practice 'at all', and tweaking your controls and setup, maybe you can actually branch out a bit.. ie: The default control on an RC transmitter is for a plane, and 'linear'; but linear motor control is not what you want.. the motor power enough to lift off is about half throttle; so if you're spending a lto of throttle motion on the joystick-thing cranking up through wasted space, and never goign to max throttle ( no need to shoot up into the stratosphere in 1seconf flat!), than your only usable space is the small bit in the middle.. and you can't wquite hit it so woudl end up bobbing up and down and losing control and crashing; theres a thing I just learnt about called 'throttle curve', where you warp the linear space.. so the first few degrees of motion skips quite a lot of actual throttle, then most of your throttle stick motion moves throttle very slowly granularly across the useful space, and then at the top end it ramps up fast again. This gives you much mroe fine control over the good parts of throttle, so you can try to just get off the ground (not like a rocket), and then tweak just a bit to go up, or balance and hover. Awesome. You can also set up multiple control sets and swithc between them, and things like 'expos' (exponential curves, or splines between points you set on the response line..) So instead of being a formal curve, or a linear motion, you can set up a whole custom curve and scale it by various multipliers... so you can have all sorts of control.

And thats just one small piece of the whole apparently standard control set up; calibrate your motors (3 of them in my case) to your peed controllersd (the 'H bridge' current feeders, that input from the brains), and calibrate the transmitter to the receiver, and so on and so forth. Sort of nuts. So its 'extra hard' on a new set of devices, on a total noob who has no idea what the customizations are, who has no nerves or skills to handle the problems inherent in a new setup; old pros recognize the change in sound, or a wobble, or any nunber of things and can tweak controls right away, where a newbie will have it flip over, kill the pops, break some parts off :)

Quite interesting.

I've actually built the full stack from scratch.. my own transmitter and controller and all that -- ie: use a PS2 (playstation 2) wireless controller, voltage boost the radio transmitter, and in open field the damned thing gets like 100' to 150' of distance (!!), and has a digital packet system so you get a lot of channels of data in there. But using my own transmitter and receiver, and my own flight control electronics, and my own speed conrtollers, and my own frame desigtn etc.. its too much surface.. too many things to worry about and screw up at once; so now I'm using a standard RC transmitter (the dual stick kind everyone uses) and a cheapo but common flight controller brain, so its my frame (heavily influenced by awesome folks at 3d printer sites.. its basicly 90% other peoples design with my tweaks, as I imported more and more of their exprertise and designs into my cad files :) .. but still, way awesome; 3d printed frame, add some wood, add some motors and bits, and voila.

See the pic.. its quite ghetto, with wires sticking out all over; an the wiring is heavy.. way too heavy (weight against lift and all that). Still, I think it'll work.

I'm tempted to change target and move to a quad.. they have more carry capactiy with smaller props (since more engines), and are generally more stable and easier to fly; a tri is much more unique and interesting.. flies more like a plane, since it swoops and turns more like a plane, whereas a quad is obviosuly very digital in motion; move-stop-tilt-stop.. not smooth. But that makes a quad easier to fly.... maybe better for noobies.

The great thing is, can just 3d print out a different frame, bolt on all the goods, and good to go; I could convert to a quad over a week, say. Got other peoples designs all ready to go really, just need to change the motor mounts, boom arm lengths to suit my props and motors, and poof, good to go.

3d printers are awesome for this.

Its fricking nuts to have Zikzak brain (non-gpu part), the fricking Z80, driving a flying machine, though. Can you imagine? a 20mgz goddamn Z80, flying a tricopter.

Sick :)

pic:

https://www.dropbox.com/s/cllczzlzid4e1l9/tri%20frame-assembled%20electronics-in.jpg?dl=0
 
Last edited by a moderator:
.. fascinating! I never journeyed beyond  the 555 chip (it has a counter and can do binary math, 's all I remember). Where an engineer taught me how to create these knight-rider lights, and how to rewire to get other effects.

Skeezix, ever thought of creating a book? Your style of narration is fun to read, and what you tell is insightful. This whole thread is a narration of the fruition of the ZikZak, could be reused for that.

Though you make it sound so easy... I had to re-resolder once this flat cable with lots of connectors (like those IDE cables) even top, uneven bottom... only to see that I made a mistake and had to redo half of it.

I connected led lights to 9v batteries....without a resistor (don't do it! Leds might just zizzle and die... but can also explode *scary*). O shorted an XT power... and the whole house had no lights...

I got zapped by my VCR, 5 minutes after having it plugged off, the condensers still had charge... and have seen arcs from up close... too close for comfort (in a train, in the hall, the ceiling was open, and it suddenly this blue light was everywhere, and I was lucky I had no metal things....).

At least I do manage to change a lightbulb by myself....
You have to be fearless; the chance of killing yourself or anything of value is low, and you surely will kill some LEDs, microprocessors, caps and junk.. but thats half the fun, right? If you're afraid to break stuff, you'll never make stuff. Breaking is part of the job, just like being lost is part of exploring.

I had to learn that and many lessons too - an LED has a current limit; it can't run backwards (its a diode after all), and it can only handle so much; it basicly acts as a short, with the current making light; so if you just plug it into a microcontroller without resistor, it'll suck out all the powee and the mcu will brownout or melt; if you just plug a LED into power, it'll blow up, just like adding a wire will. You need to put a 'current limiting resistor' in place. (That was a stumbling block for sure - all the nomenclature peopel use; a decoupling capacitor? a current limiting resistor? are those special kinds? ... no, they're just well known use-cases for those devices, so everyone knows. Except when you don't :)

I've thought about writing a book, but a few things came to mind..

1) others have done it far FAR better (this never stopped ayone before, but I hate to be the total newb who makes a lot of newb mistakes, when others like Andrew LaMothe have killed it ;)

2) (1) leads to.. lliability? If you make a book, full of mistakes or risks .. and someone burns down their house? That'd be badfeal, but also, are you liable?

3) Books don't make any money, and do take a lot of time; thats fine, and I'd love to be a published author.. but I'm pretty short on time

Still, it might be something to write up not a ook, but an Instructable or MAKE-zine article or somethintg, with a big fat 'risk, not an Electrical Engineer, just an enthusiastic asshole' :)

Theres lots of good stuff to cover.. 'how to make your own pcb, starting from nothign but  CAD and no knowledge'; a lot of the thigns online come at it from 'you're a EE student, know somethign, heres some tips'. But coming from software or no EE background makes it totally different, since you lack the foundations. You don't even know what tools you need.

So yeah... thats why I made www.zikzak.ca .. a place to write up articles, how-to's, schematics, and all that.. but then, I never really got to it, tempting as it is :)

If I've inspired _anyone_ here, then.. mission accomplished; I learnt a tonne, and now am dangerous (sheeit, I've made a small tank, with sensors and basic AI.. a water gone turret for shooting raccoons, a small computer, a 3d printer, and now a tricopter.) A lot of sdtuff swiped from more knowledgable people (see reprap forums, for instance about 3d printers), but being swept into the whole 'maker' scene is quite fun. No time for boring hobbies, I got a lab in the basement, got stuff to hack on! :)

Hack the planet ;)
 
I should look into usb or bluetooth-serial, so as to make adding a keyboard easier than PS2. Its hard to find a small scale ps2 keyboiard, for adding to a mini case :)
 
Anyone still watching this space?

As winter is coming, its back to more Zikzak hacking. Got pretty far at the beginning of this year, with the Zikzak single board computer working 'pretty well'; video was coming out, the Z80 and STM32 as gpu working together pretty well.. and then I decided to start looking into making a case, which lead into a big distraction desiging my own CNC and 3d printer, and then buying half a kit and making some monstosity, that more or less works... and then, being summer, using that to desig and make a tricopter and quadcopter. Summer, gotta bring the kids outside, so.. make flying blenders right?
... but all that aside, time to get back to the zak :)

The main goal is still 'get it into a case, so I can at least plug it into the family TV or monitor at work and show people, so I can say its 'done'' sort of thing. That actually breaks into quite a few pieces..
- the rev3 SBC (single board computer) was working pretty well*, but was all header pins (and a lot of them) - didn't want to commit ot any particular part for jacks (like VGA port, etc), so just header pins; figured down the road I could just mount jacks onto a case and jumper from the header pins to the jacks ... well, turns out that is annoying as heck to do; theres a lot of jacks (vga, joystick 1 and 2, PS/2 keyboard, serial, headphone, power, and various optionals .. and even WIP stuff like SD slot.) Also, making a plastic printed case that holds all those jacks is annoying.. hacks take force in and out, and its tricky to make any treal substance there without an inner and outer shield, really rteally annoying stuff to design and make.
- the existing code is a lot of individual test cases, over the life of the project (2014 mostly, my first real electronics project.. see earlier in thread for long diatribes :) - so while ps/2 keyboard code was built and workig, it actually used a different mcu (cpu), so I can't really say how well tested the current SBC pcb is .. some of the tesdt cases use same/similar schematic, but not tested on latest pcb.. so thats essentially not tested, right? so while video, ram, cart rom, etc works fine, I need to do a cohesive run down all the test cases and write up a bunch of current solid test code or a test mode (or a test mode cartridge, how cool would that be?)
- some parts I used have now become pricey or unavailable, just the standard lifecycle of parts
... and more

So, some current thoughts
-> I've ebay ordered a bunch of jacks for pcb mounting (istead of face mounting); 20x of each, really .. which is not a lot, but its enough that if this is only for me, I can go through a few iterations of boards/machines and not run out, and likely a few spares if anyone else wants one; also, the parts i question look pretty generic styled, so I should be able to at least get more in the future or minor pcb update to adjust to new parts
-> I have waffled between going back to two board design instead of one board, since it makes things cheaper and more flexible, but a single board is nifier in a lot of ways ... so I think I'll try to stick with that, but not married to it
-> I'm going to try to squeeze the jacks right onto this SBC pcb; its quite a tight fit already (6"x4" pcb) but if I drop a couple breakout headers, it should be doable; I'll keep what I can, as I love having lots of extra breakouts on there (ie: thats how the SD slot goes on there now)... but if I drop some breakout pins, get some space back from physical pinheaders and traces, it makes life easier to fit on stuff like a big ass VGA port. I'll keep what I can.. we'll just see. if I can't get all those jacks on there, I'll figure out next steps then. (I'm going to aim to get 1 joystick jack on there, with second stick maybe as header pins ... since really, how many of these would need dual player anyway?)
--> RAM is still pretty good at 512KB or less; don't see much need to go more
--> ROM cart (eeprom really, so can be flashed from the zikzak or other things easily) .. the 32KB and 128KB chips I use now are very hard to get and pricey, yet flash chips with same pinout more or less as the eeproms are available; I'm thinking of picking up a 10 pack of them at $2 each, and desiging a cart pcb to support them, that fits into activision atari 2600 cart cases; 512KB of cart space and 512KB of RAM is pretty swank (zikzak is aiming at low rez 320x200 sort of video, but it can actually manage about 800x600 in color when running flat our, but without much framebuffer its tricky to generate that stuff; can do fractals and stuff okay though, and sprite stuff..)
--> also need to redesign the power supply pcb, since its huge right now (was my first or second pcb, so used up a large space since space didn't matter to price; but who needs a 2"x4" pcb for power, when it could be a little 1" square or something; now that I'm aiming for a case, smaller is better
-> I suppose I should work more on the optional add-on SD slot, and a serial board; right now it uses serial for logging out of the two main chips, but does it at mai board voltage of 3.3V not serial level; can use an FTDI chip to change it to USB-serial.. I use $1 "FTDI Basic" boards from ebay to save me doing it up, but maybe I should see if I can roll together an expansion pcb with SD and serial and stuff on it, or something. I've done that on one of my other experiments so no big deal..

Codewise, need to work on the full test stuff as noted above, and actually start workign on BIOS; the BIOS I have so far is very basic .. and is compiled into games on the cart; I might try to move it to be generic BIOS hosted by the eZ80 small flash it has, but we'll see how it goes.. more like old school machines is not to bother, just keep it all on cart, with only a simple bootlaoder on the base zikzak (check for cart, and if not present, do something like show BASIC or whatever :)..

I should also work on a basic space invader game or something, so theres a useful demo, and as sample code. There a couple people who are interested  a bit, bit not really interested in jumping into new undefied crappy hardware without any sample code, so if I can get a new SBC board, with jacks on it, and a sample working cart with simple code that builds with open source tools.. maybe I could put out a little zikzak dev package for a couple people. I need to make a reference section on the zikzak website too, with memory map and what BIOS functions available and how to call them, etc.

So thats goal 2 .. 1) make a cased unit thats fully tested and with some basic demos, and 2) make a useful package in case someone wants one.

Aighjt? Aight.

If n one cares, I'll shut up, but I think a few peopel still liek to see homebrew console hacking :)

http://www.zikzak.ca

jeff

edit: Still using the AY-3-891x ("PSG" pokey famous chip) for audio; they're getting harder to find - at least, the AY-3-8913 I use is - but the AY-3-8912 is pretty common still; its tempting to switch back to that chip and order 10 or 20 to have (can always make some synths out of them), but I've still got 4 or 5 -8913's around. (They're all the same essentially.. -8910 has a couple parallel ports you can use; -8912 has 1, -8913 has none; so you get smaller chip and less pins as you go down the family, and as I don't need the extra functionality why pay the space price? .. but the -8912 and -8910 were more commoly used back in the day so more available.)
 
 
Last edited by a moderator:
as i mentioned in PM - i'm definitely interested in a 'finished' unit. in its current state, it's a bit too woolly for me at my level of electronics knowledge, but with some more polish, i'd be able to get a better handhold on what's possible. i definitely like the idea of programming on a real Z80, but i'd need some sort of help with setting up the dev 'toolchain'.
 
Same here, I'd also add a dev project to my todo list - just make sure it's easy to set up a dev env (or provide a virtualbox image :) ) and some sample code
 
Still with ya.  I would like to see the case you make.  I would have bought one because if I tried to make a case myself it would probably be terrible.  Also, I would get distracted by everything else and probably never get back around to making a case for the computer.

I need to come back and reread this and a few other posts later (I am supposed to be sleeping right now, but I can't).  I may have some questions or maybe a comment.  I vote for Tetris instead of space invaders, but I love Tetris.
 
Timeline is still awhile .. the various jacks ordered are ebay from china, so could be 4-6 weeks, at which time I can do the pcb tweaks .. since it is part specific, and I need to measure out the sizing very precisely. The cart eeprom/flash chips are quick - order from the US, they'd be here overnight once I do the order. The software new test cases and so on is stuff I can do now on the existing prototypes and parts, just a functionm of free time.

The existing designs are pretty solid and working very well .. just without jacks right on the pcbs, and I'd like to do more rigourous up to date testing, while waiting for parts to show up to do the pcb tweaks.

So parallel streams...

software side:
-> test case recoding -> demos -> bios work -> sample cart
(software test cases and boring demos include .. sprite mode, text modes, various resolutions, joystick1, joystick2, audio, ps2 keyboard, serial from both, ram, rom, flashing of each, vga colour and straightness...)

hardware:
- main hardware side: await parts -> tweak pcb design for jacks
- power pcb hardware: tweak pcb design to reduce size
- cart hardware tweak: order and await part -> redesign for the 512KB chip
---> once all hardware tweaks are done, then send the order to pcb house to knock out the prototype pcbs (get 10-15 of each) .. takes about 2-3 weeks for production and shipping -> solder populate a pcb of each and run tests -> hopefully good to go

so as you can see, theres a lot of things to do so no rush :)

the trick is 'productionizing' .. since I've got the flashing hardware, I just reflash the gpu as needed; ultimately, I should build a cart-flasher sort of thing.. so you could jack into serial, upload image to the cart, and then reboot to cause one or both main chips to reflash, or various things so you can avoid having the flash hardware.. thats a level of step I've not worried about, since its just for me. But to ship any out, without risk of having to send them back for reflashes, means thinking that all through..

jeff
 
I've not worried about NTSC and PAL and any of that rubbish; when I first started out what 2 years ago or so, I was doing NTSC Composite to a C64 monitor, which was awesome and a real bitch (encoding the chroma and all that sucks real bad.) In the end I ditched that because it was so astoundingly annoying, and I didn't want to get into PAL as well, and I didn't have any other displays.. figured VGA is the way to go _today_ (virtually everyone alive has VGA on their TV or monitor still, and its an analog easy to generate signal, yet still high res.) Goign to HDMI is a big drag due to all the protocol bullshit, so you need encoding chips and high speed framebuffer sharing and all kinds of junk .. stuff that makes it impenetrable to really understand whats going on full stack, which is the point of this exercise.

So with VGA, do I have to care about any of that NTSC/PAL stuff? VGA is VGA, right? In this case I'm using tweaked resolutions and such (my own sloppy timings), but if it works here on most monitors, it should work everywhere right? (especially if I stick to 320x240 or 640x480 or the like, right?)

Theres no oddities from country to country there, right?

jeff
 
The fun thing about composite is that you can use a monochrome monitor if you are into that sort of thing.  No one probably is (except weirdos like me).
 
Yeah, VGA is VGA.  It's still there on most TVs, but getting to the point where it's on life support.  Computer monitors have started appearing containing only digital inputs for example.  The old DE-9 CGA/Amiga/other video connector ran at 50 or 60Hz depending on nationality, and had a goodly variety of pinouts, but by the time VGA rolled around, everyone settled on 60Hz, progressive.

I get the feeling that even once VGA connectors do disappear from TVs (if they haven't already), VGA to HDMI adaptors will be around for a long while.
 
I've looked briefly into VGA->HDMI, and some of them look pretty slick (ie: headphone and VGA -> HDMI with audio, beauty!) like this guy on Amazon Canada for $20:
http://www.amazon.ca/Patec®-Converter-Adapter-Monitor-Support/dp/B00K76K37M/ref=sr_1_4?ie=UTF8&qid=1445370585&sr=8-4&keywords=vga+to+hdmi+adapter

But I wonder how compatible with resolutions they are; ie: very stirct VESA VGA resolution, or all over the place mode-X or random made up resolutions like I've been toying with :)

So yeah, thats been my backup plan .. aim for VGA, and someday can always do VGA->HDMI adapter for cheap; not currently worth investigating HDMI on board. If at some point want to go to that level, should be designing a 'good' machine, not a 'learning hacker toy crazy' machine. (It wouldn't be hard to make up something like a dingoo or gp2x etc these days, I could design that in no time; but thats no fun, and been done! ED is on top of the latest awesome, so my space is learning and futzing aroudn with 8bit :)

jeff
 
I wonder if a super 16-bit style machine might actually be a commercially saleable idea, given the sudden death of 2d games (in the West at least) at the end of that era and the start of the 32-bit one.  The Japanese still produce 2d scrolling shooters by the bucketload, and over this side of the world indie games are reviving some other 2d genres.  A machine that is built around retro tech that could actually play modern retro revival games would be pretty smart, I reckon.

But finish your ZikZak80 first.
 
offtopic:  Has anyone tried a scanline generator with the VGA to HDMI adaptors?  If there is already a thread about scanline generators ignore this and point me in the right direction, because I have tons of questions.
 
Distracted by real life, but working as best I can through ps/2 keyboard code running on the eZ80-side. Brought over my simple code that was from Atmel atmega chip (worked great), and its very spotty right now so trying to debug. Debugging interupt (timig) based code on an embedded chip is really quite a pita - you've got not much RAM to dump logs into; its happening too fast to dump it out serial; you can't debug it live (ie: pause things, look around) since you lose all the incoming interupts. So.. seeing whats going on is mostly just logic plus whatever you can see on instruments (such as an oscciliscope); another option is to turn on and off IO pins somewhere and have your o-scope log that, and use that as a primitive form of logging, but thats a big drag...

So what I'm working on right now is a primitive in-ram debug library, so that I can just dump strings into RAM (keeping a rolling window of say 20 or 40 strings, with a max RAM size of say 1K or something), so that ca at least jump over to a point in RAM and take a look; annoyigly, to make my life 'easier' I'm using the official (free, closed source, based on Visual Studio) Zilog dev tools; gcc and friends for Z80 is virtually non0existant, and some of the open source Z80 compilers.. well, I'm still fiddling with that stuff, and making useful debuggers and such. Anyway, so offivcial Vis Studio can at least show a bank of memory dump .. so on Z80 side, fi I just start dumping strings to (say) 0x00D0000 (my external RAM chip), then I can point the ram page window at that, and see whats in there. Good enough I suppose, we shall see.

But mostly, time to point the o-scope at the ps/2 CLK and DATA pins, make sure things are coming through okay .. could be the Z80 has some resistant or capacitance causing rise-time issues on the clock say, or maybe the vblank interupt from the stm32 is hammering the z80 too much and causing interupt loss, or various other things; the prime candidate for concern I've got right now is.. theres 3 gpio 8bit ports on the eZ80, and I've tried to keep one unused so that it can be used for expansion later. So one port is joy0, the other is joy1; either of those can double as a serial port (mostly fo debugging, not a modem) .. so I use joy1 as serial for debug logging, and joy0 as joystick test port. The serial lines donm't use all 8 pins in my book but they can .. so I use a couple of those pins for keyboard interupt lines. It may be that when serial is active on the eZ80, on that gpio port, that using the 'sort of unused pins' as ps/2 interupt pins is not cool; so if I turn off the serial, and use in-ram debugging as mentioned above, and if ps/2 keyboard suddely starts workig.. that'll be interesting, and then can make a note 'use ps/2 keyboard, or serial, not both' (or move the ps/2 keyboard to the other gpio bank, which I've been saving for debug).

Anyway, proving what is going on (or if its just hardware or software bugs), is what is on my mind the last week or so, but not a lot of time to nail it down.

Course, its complicated by the lame ass ps/2 female jack I have .. picked up 2 at a local shop a year or two back; really crap quality, and the one just fell apart the other night; like, literally fell apart; so it may be that all is well and the jack was just coming apart at the wrong time, and making it look funky. ie: could've bene bad solder joint or something. I've got one more of those crummy ones, so will haev to solder it up (onto a little prototype perfboard, so I can break out the pins of interest, and jumper them over to the zikzak rev3 prototype board).

So, first.. solder together new breakout miniboard for ps/2 female jack to see if it all magicly works now, and if not .. finish up the little crummy in-ram debug library, start trying to prove what the colision/problem is..

jeff
 
Back
Top