Saturday, October 3, 2020

RACduino? What the heck is that?

Update 10-31-20: this entire post is stupid, because the Racduino has already been done! 

I found the project here while I was searching for a decent 1802 emulator.  Yo!

The linked project even has a better name. 

Anywhere, here's my post on the same damn idea: I am beginning to compose a great acoustic guitar/strings/voice tune; I'm going to call it "Eleanor Figby".  Oh well.

All this shelter in place stuff leaves me with way too much time on the weekends. What to do? See a movie? Nope, closed, Elmo. An A's game? Um, no--stadium is shut tight, and I don't get cable. Write songs/complain about covid/drink wine/eat pizza with my old fart rock and roll buddies? Sorry, can't. We are all afraid of losing our sense of smell, and then, without noses, how can we enjoy Neil Diamond

No ankle bracelet but we are all under house arrest. That's the ticket: Kill time! 

Enter the RACduino--my first machine code project ever. If that won't make the shelter-in-place-we-all-are-under-arrest OCD hours drop to nothing (like 80's one hit wonders) I don't know what will.  

"Let's get started". To postulate:

Drawing out the idea:

What's all this then?  The CPU on the left is an RCA180x--probably a 1806. Can I make it a tiny bit like a modern MPU? To find out, I could buy an RCA180x experimenters board and start coding right?  Nope. Too easy! 

Following the flowchart above I'll toggle the various data, address and other lines with a "real" Arduino (cheating kinda, but hey it's still outputting machine code) and just for S&G's set up a blinkenlight display on a paralleled Raspberry Pi4 with pygame Python code.

Best of all--the 180x RCA CPU may be the easiest chip in the world to write machine code for. So I think this is doable!!

Machine code--What? Yes, after working on computers for over 35 years, who knows how long, forever, it's time to finally see if I can get something working (anything!) blasting instructions in with 1s and 0s only, no assembler, no C, no Arduino IDE. Old school--real old school. So about the name: RCA is easily scrambled to RAC, and maybe I can get this machine code beast working a tiny bit like a modern MPU, say, Arduino?  Or I could fail. Go A's! Racduino!

1806--a great year right? Why this and not say a 6502?  For one, my neighbor and fellow DIYer mcvl had a few 1806's lying around and loaned (gave?) them to me. Score! BGmicro also had some 1802's on closeout so I got a few more. Trying to keep things simple: The instruction set for 180x seems easy, relatively finite and well documented. Also, it's easy to find simple hardware implementations for this CPU family.  Yep I am starting there.

OK, What else is needed? 

Digging around I found more dookies that might be useful for the RACduino in my junk box like ROMchips, static RAM and other things. MVCL also contributed. Will they be used? Who knows?

The RCA CPU is a 5V CMOS beast, but the PI4 is 3.3V, so I got a few TB0104 converters from Sparkfun.....TB0104 has 101 uses....details about this part are here.

PI-HOLE? Getting the PI4 hardware going was not as easy as I thought it'd be. The main thing I stumbled on was getting a damn SD card set up with a working, bootable OS. I ended up following the instructions here (Scroll down to the "do it yourself using NOOBs section") which worked, but it took me an evening of SD cards just not doing a thing--perhaps I was rushing. That's why it took me a whole evening. 

With that out of the way, I got the basics of the Pi4 GPIO/blinkenlight python code working, but I have to refine it a bit. Maybe next post. But overall, all good news--PI-os is Debian like (easy) and has gud-enuf  Thonny already installed. The pygames module imported no sweat on the PI4 using PIP.  We're cooking with oil!

The last thing needed is a CPU clock and stepper, I found an easy 3x 555 CPU clock design from legendary YouTube nerd Ben Eater. I unabashedly stole his design put it onto a PCB. (actually BE's entire breadboard computer series on YT--here--got me started on the retro-machine code path--check it out, Ben Eater rules the school--great stuff!)

Will any of it work? Does Doris get her oats? The jury is still out. Assuming I can get this working at all, I need to think about what to do with it, DIY or audio DIY wise, but to start I'd be happy just blinking an LED. 

I doubt the racduino could ever come close to a Pro Micro, but then again, what does? So this is primarily a learning experience for me, but that can be said about all of this.

OK, plenty of Part IIs part IIIs etc coming up.  I don't think I'll work on this one straight through however--doesn't matter, since over the past 8 months or so I've lost track of time. See ya!

No comments:

Post a Comment

ProMicro HID Keyboard Emulator

Quick one this time. The Arduino ProMicro (examples here and here ) is based on an Atmel 16u4 MCU and has HID keyboard emulation ready to go...