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


Quite alright, since we don't have a hardware hacking forum so to speak :p

I can't be posting every day.. i) this stuff takes time, and ii) I don't get a lot, and iii) my time is at midnight-3am, and with the amount of sleep I get, I have to think slow and hard or I bollox it all up..

.. so by all means, chat here (or make another thread), just to keep it interesting :)

right now I'm trying to work out the memory switcher using A/B multiplexers. I'm sure its not very hard, but my brain is slow tonight, and diagramming tools again all suck donkey balls. (Visio is okay, but is of course commercial; Dia is okay, but instead I fiddled with Kivio (now Calligra Flow) which turns out it can't save-as or export to anything other than its own format or odg ... and when you open the odg in LibreOffice, its all screwed up! Great, thanks for the waste of time guys!) .. I should just've used Dia or Inkscape since they're proven.. or gone right to Eagle. Ah well.

Anyway, I'll post a minimal schematic maybe tomorrow or next day, that shows where i'm going with hardware double-buffering .. that'll make stuff pretty slick!

jeff
 
If you could write to flash, why would they give you these piddly RAMs? Like avr 1280 with 128K flash but what, 8 orb16K of ram :/ my life would be so much easier if I could get 64 or 128K onboard an 8bit chip .. But that'd be cheating :)
 
I just talked about that to my girlfriend and she answered.

My Girlfriend said:
My Girlfriend said: We don't have enough space for an electronic shed here.
Haha, just remind her how Apple got started, in Steve Job's garage.


And you would be doing something very similar!  (about 38 years too late, but hey you don't have to mention that.)
 
Last edited by a moderator:
^^ Better late than never ;)

Well, I got through some of my old code that plays with leds, buttons and use PWM, timers and interrupts…

Now I just need to get a MSP430 to do the following :

  • generate a square Clock signal on a pin. Quite easy, I already made the code to blink a led using one of the µcontroller's timer. It allows to have an accurate clock signal and easily make it faster or slower.
  • generate a Latch signal on another pin. That should not be a problem, but it can only be sent every 20 generated clock signals, to allow the transmission of two octets. (I add a few clock cycles between two "latches" to prevent any problem)
  • listen to the Data stream and push every bits in RAM. That may be a bit tricky, I never used a generated signal to trigger a "listening" action.

I found someone that made something more or less similar to my SNES+ board, the µJoypad it's a NES one, so only one 4021 chip. It's friggin' tiny!  :ph34r:

2012-10-20-10.13.051.jpg

( he is using modern electronic components, I'm still using 80's technology  :lol:  … µcontrollers excepted, of course  )
 
Last edited by a moderator:
I usually fiddle on a "large breadboard", essentially 3 put together on a metal plate with some power terminals.

Not really enough surface area for the stuff I'm doing with this computer/console; I picked up a few more normal breadboards cheap yesterday, and then found (irony) a Canadian Tire store had a promotion and gave me a.. bread board (cutting board) made of wood; so, okay, I'm repurposing it.. going to stick breadboards to it! Now I need to head back to the shop to pick up 4 or 5 more, and then I'll have a giant mega breadboard, 10 BB's stuck together on one wooden surface. Win :)

jeff
 
^ That's how you do it.

I need to expand:

2013-04-27_00-52-22_79.jpg
 
What the hell is that little square wave display on the left? (besides being the most awesome thing ever!)

jeff
 
That is nearly the coolest thing ever :) Pretty low sampling frequency really, but still.. and for $50, its hard not to just order one for giggles.

But I'm clamping down spending .. I bought too many parts I won't likely use, when I was confused (still am..) about chip families; I got some wicked deals on LS chips, but I think now I'm going to stick with HC and HCT. But interopability between LS and HC and HCT .. I'm still rather unclear on reliability of mixing, so I need to hit the datasheets (again..), but trying to be useful rather than spend even more days in the sheets :p

So, yeah, not buying any more stuff damnit! :)

jeff
 
It's a fun little device for sure, I've used it occasionally at work to debug some of my test programs, pause on a specific part of the test and check if the I/Os are in the right state with the logic analyzer.. use the scope/meter mode to see if the channels are at the right voltage level. It's no good for looking at timings, but for general debug work I found it a nice device and better than wheeling out the full blown oscilloscope when I don't need something that powerful.
 
Haven't you shown that micro oscilloscope on another topic?

It seems pretty useful and terribly cool. 

But since I already own an Ikalogic logic analyzer… I don't think I can prove to my girlfriend that I need that  :lol:

I have to buy a few little thing like a rapid prototyping boards (needed to make a "joypad" with tact switches) and soldering tin to keep working on my current project.

About capacitors, I was wondering what should I buy? I think I may need to filter some signals or other things that need capacitors, but I really can't tell what kind or power to choose.  :wacko:
 
I have to run now, but .. lots of answers.. nneeeed.more.time!

Caps.. you need some mono ones, some ceramic ones, some little can electrolytic ones. Buy a big misc pack of them from ebay! Free shipping from China is sick!

Resistors.. I picke dup a pack of 5000 assorted (50 of each of a pile of resistances).. free shipping from China is sick!

Perfboards.. got a pack of 50 4"x3" ones .. free shipping from China is sick!

You definately have quality concerns from ebay China stuff, but you simply cannot argue with the pricing; local guy sells header pins in those breakable strips for about 5-10 cents per pin; really adds up.. you want an 80pin strip, goign to cost a few bucks. So I ordered a pack of 40 80-pin strips for about $5 from China.. free shipping.

Sure, takes about 3-6 weeks to arrive, but usually _does_ arrive! Pick a guy with a high rating, so you likely get the real product.

jeff
 
okay, here is the concept behind my memory switcher .. I'm not sure if its right yet, but the goal is .. two SRAMs, and two mcus working with them (the cpu, and the 'gpu' or VGA lines.)

The cpu needs to be able to set a pin hi/lo, and dpeending what that value is, the cpu gets ram1, and the gpu gets ram2, or vica versa. So big giant A/B switch, a crossover loom..

For each 4bits, it'd look like this picture; the MUX I use is a A/B MUX with 2*4bits in, and 4bits out; so if I want to add another 4 bits, add another two MUXes .. just more in the picture; 16bit addressing means 4MUXs + another MUX for control lines .. * 2 .. so 10 MUXes at

least?

I need to read data sheets and think on it.. too sleepy right now .. but do MUXes work 1 direction (in->out), or are they 'electrically connected' so that out->in as well? ie: for data lines, they are two way .. sometimes you need to write, sometimes you need to read; can I do this same MUX trick, or do they need to use .. buffers or latches? like an 8bit buffer * 4 .. 2 for each mcu; mcu1's pair catches the data value from both rams, but then only OE's the one that is switched? .. too tired!

zikzak_memswitch001.png


Waait.. thinking a minute .. I guess it would _not_ work for data lines, but definately should work for address and control 'write only' lines. The MUX mirrors the selected inpout to the output; so if I change the ram side based on address lines (this is what ram does), then .. MUX would be raising voltage sin other ways against the ram, whivh woudl probabyl kill the RAM or something.

I guess this weekends task is to think over how to manage the data lines, but my hardware double buffering is nearly there conceptually..
 
Last edited by a moderator:
Babies were nuts last night, only got 3-4 hours sleep, but had a couple thoughts come to mind regarding data lines.... might be able to get away with..                                                                                                             
                                                                                                                                                                       
        1 latched buffer, per ram, per mcu.                                                                                                                            
                                                                                                                                                                       
        So two mcus, 2 rams == 4 buffers.                                                                                                                              
                                                                                                                                                                       
        Each mcu hooks data lines to its 2 buffers; for direction-write, I                                                                                             
think I can just flow through to ram; for read, buffers can read from ram,                                                                                             
and then the mcu can use the bank-switching line to feed the OE/CE line on                                                                                             
the buffer; another pin for toggling the other buffer, or maybe use a hex                                                                                              
inverter for all 4 of these guys...                                                                                                                                    
                                                                                                                                                                       
        So mcu can be hooked up two both rams through buffers, with                                                                                                    
inverter on the OE/CE, so toggling the bank switch also toggles the                                                                                                    
buffers.                                                                                                                                                               
                                                                                                                                                                       
        Might even work, need to think it through my sleep dep haze; if it                                                                                             
does work, who knows, might even work instead of MUX for the other lines,                                                                                              
but the MUX is probably easier to use/control for those guys..                                                                                                         
 

... sorry to hit and run, but its on my mind :)

jeff
 
Just wanted to chime in and say that while I've no idea what anyone's talking about, I'm really digging the enthusiasm being expressed here.
Keep it up! :D
That's exactly what this thread is doing for me. I have no clue what they are on about but once I,have fuck you money and thus spare time I want in as it sounds like a lot of fun!

Sent from my Transformer TF101 using Tapatalk HD
 
^^ Yeah, messing with hardware is lot of fun! (and not that hard if you start with PIC or AVR chips)

I've started by trying to make a Knight Rider-like led "scanner" with a PIC and a few red leds. (it worked mainly with "cut and paste" code lol)

Then I wanted to know how simple things like joypads worked on various consoles. (even if it has been done a million time ;) )

Once I understood how SNES joypad worked (Megadrive/Genesis is a shitty mess imho -_- ), I wanted to learn how to really work with micro-controllers.

Mainly to be able to make "intelligent" joypads (programmable button combinations, smart auto-fire and various other features come to mind) and to have a better understanding on how simple computers works. (I've switched from pic to msp430 because the latter are quite interesting, as they run at low voltages and for quite long time on simple batteries.)

Now making an actual "complex computer" based on those µcontrollers is quite a feat. Especially if it's done by someone that's not an electronic engineer ;)
 
Last edited by a moderator:
Back
Top