Bringing up Rhococo (first boot, and firmware development)
|Project Bringing up Rhococo|
|This tells the story of how the firmware and software was developed that gives rhococo its functionality|
This page describes the initial bringing up (designing and installing firmware and software) that will give Rhococo its functionality.
First we have to install the tools we need. For programming the propeller we have to install the propeller IDE, https://developer.parallax.com/propelleride/ . Fortunately I have already installed the latest version, when doing some initial research, and I have it working with my propeller based game development system, I bought some ten years ago, when thinking about building my own home computer was still a pipe dream.
May 1, 2019 First attempts at sending a propeller program to Rhococo
I tried to send a modified version of LEDblink to Rhococo but failed (my debug LED is on A0, just like the Hydra). I was not sure my USB-serial adapter was compatible, and I used an oscilloscope to check, but that wasn't it, the adapter, which is intended for small Arduino compatibles without a built in serial programming port, seemed okay, and DTR was toggled by the programming software. Only for some unclear reason the nRESET input on the propeller stayed low. The USB dongle had a 100nF cap in its DTR line, but that could not be it. I removed the 2N3904 transistor, but nRESET kept being stuck low. All the schematics I could find about the programming interface seemed to imply that the nRESET pin had a built in pullup, so I hadn't implement an external one, but it seemed that without one nRESET didn't go high. So I added a 10K pullup, and now nRESET goes high, but without a new 2N3904 I have to wait till next week to try again.
May 2, 2019 Found out why nReset "floats"
its because I have tied the brownout input (BOEn) high, this turns off the built in 5K pullup. BOEn should be tied low instead.
May 3, 2019 updated schematic and Layout
new version is revision 2.0 (after version 1.9) it has BOEn tied low, and other recent updates, such as bleeder resistors, an 5mm pitch caps. schematic is here: File:RHOCOCO rev2.0.pdf
May 4, 2019 programming the propeller works ITS ALIVE!
I managed to get BlinkLEDRhococo.spin to upload, and program into the Rhococos EEPROM, and the blinking program starts when turning on the USB supply.
May 22, 2019 trying to get a standard VGA driver (32 x 16 text driver) to work
I'm trying to convert VGA.SPIN so that it works with RhoCoCo. It works on a Hydra game development system, but Hydra isn't hardware compatible with rhococo, so I have to change a few things. I managed to make it work with a 5MHz crystal, instead of the Hydra's 10MHz crystal, but Rhococo also has its VGA hardware on a different set of pins, namely gpio-0 to gpio-7, while Hydra seems to have in on gpio-16 to gpio-23 (hydra documentation is vague). These are the three .SPIN files, each using a COG that demonstrate the VGA text mode driver already modified for a 5MHz xtal: File:Vga text demo spin.pdf, File:Vga text spin.pdf, File:Vga spin.pdf
I'm also figuring out the version of the propeller IDE for Linux, which isn't the same as the Windows version described in the Hydra documentation.
The progress is painfully slow, but I am convinced that i'm close to success.
This will just be a placeholder VGA driver, so I have a textmode display for my z80 uploading debug work.