Intro and Forward:
The HB63C09M was an idea I hatched back two years ago when I was finishing up my first home-brew computer the HB6809. But it goes back further than that. The beginning is really around 2020 when I started building kit computers as a means to pass the time during the pandemic. I had purchased a kit from McJohn in Italy called the Z80-MBC2, by Fabio Defabis – an excellent little computer kit with a single logic chip, atmega32, Z80 CPU and a RAM chip. I was hooked on the small form factor and the things that I could do with my little computer. I made a few hardware expansions for it, most notably a joystick interface for my Tetris clone that I had programmed in pascal. At the time there were people asking Fabio on the Facebook group for the project if he was going to do other processors. Before long he was working on the V20-MBC (which I built) and later he went on to make the 68K-MBC which is architecturally slightly different. After a while, no new MBC computers were made, and by then I was on to building my 6809 based system, and still quite a novice at this (I am still!)
Things happened life got busy I spent some time working on other projects and about a year ago started playing around with Arduino – and digging very deeply into the Z80-MBC2. I really wanted to understand how memory was loaded using a microcontroller and I wanted to know how Fabio had shared the bus with the Z80. Right around the same time I had also stumbled onto an even older work, Brad Rodreguez’s “Scroungemaster” and I fell in love. The scroungemaster is (well was) a concept for a 6809 multi-processing build Brad had built on wire wrap. He had used a rather simple circuit to do clock stretching in order to hand off cleanly to the other CPU’s into common ram. He detailed this in a paper entitled “Multiprocessing for the Impoverished” (found at https://www.bradrodriguez.com/papers/) I quietly started to play around with the design and build a small expansion for the HB6809 that allowed me to use an Arduino like a peripheral without a latch simply by stretching the clock.
In his paper, Brad discusses the parallels between the Z80 and the 6809. I found a lot of parallels in my Arduino sketch and the work that Fabio had done with the Z80-MBC2, and after a few months I had a working prototype that could stage itself from the Arduino (at the time using latches) and boot into a machine language monitor. After that I streamlined the design, making it slightly more like the Z80-MBC2’s little brother the Z80-MBC by opening up a few address lines to the Arduino and then additionally solving a very difficult timing problem by changing from a controller generated clock to a synchronous clock (both the 63C09’s internal clock and the ATMEGA32 are clocked by the same 20Mhz crystal) and the board fully stages from ROM files saved to the SD card. No Rom code exists on the AVR EEPROM (save a small less than 40 byte program that bootstraps from the SD card). This allows the programmer and user to switch between environments without having to Flash a ROM onto the computer!
After a few revisions of the board, I found I could further shrink the form factor to a smaller 10x10 PCB – albeit 4 layers. The Exact same size PCB as the Z80-MBC2! For me, it was like coming full circle, and now I think I am ready to share this design with others. What I have is a fully functioning – ready to go 63C09 playground. But there's still some work on the software, this is where you come in.
What I am calling this board revision is “The Prerelease” edition. Essentially the hardware is finished. From this point, any and all architecture changes will need to be approved by the “Community” -- what that means specifically will have to depend on the group of developers that go ahead and early adopt the design for the express purpose of porting software to it. For now there is enough (really) for people to start playing around with the platform in earnest, basic, machine language monitor are all there. I have started this document which is a rough outline of a manual for programmers and developers. But to really go forward I need somebody who’s more versed in operating systems than I am. I could possibly figure out how to continue developing software and add LBA device support to basic and possibly the monitor – but I would very much be learning as I go. So The main purpose of this release is to get the boards out there in to peoples hands, hopefully people with considerably more systems knowledge who have a passion for the 6x09 CPU and can really take the lead on developing things like FLEX, Nitros09, Forth and hopefully a lot more!
4.1 / 4.2 Which is right for you?There are two different PCB revisions on the Github currently, the 4.1 revision is fully tested and working with minor "gotcha" type issues which are mainly cosmetic. 4.2 is the newest PCB which is currently at the production house, running through manufacturing. I expect the boards back within a week or so. There is no real reason the 4.2 boards should not work, but since they are "untested" I wanted to put a proviso on there that we are waiting on manufacturing. If you choose to have 4.2 built and I've made some terrible gaff, it is currently at your own risk.
BOM Selection, HC vs AHC:I've ordered a set of AHC chips to test if the design timing is compatible with the faster logic family as some have found prices for these through hole chips when buying brand new are significantly cheaper. I have also not fully tested these but expect them to be here within the week. I have no reason to expect that they will not work, but the play it safe encase Dave makes a gaff crowd should order HC instead. All of my provided BOM's are from Mouser as I have a fondness for getting things slightly faster and for whatever reason the other North American distributors aren't as good at getting parts to me as quick as they do - so the answer is 'YES' you can get a lot of these cheaper if you just look a bit harder than Dave did.
Finding a HD63C09PThe HB63C09M uses the internal clocked version of the 63C09 in order to reduce chip count, for this reason a 63C09E / EP / ECP will not work.
The best place for these is still Ebay, and unfortunately pulled chips from sellers in china. Nothing against them, I haven't recently had issue with the few parts I do buy from china. the last listing I used (over a year ago) is still up here:
https://www.ebay.com/itm/392620303721
You do have to buy 10, but the cost is only 11 dollars. I do see them on https://www.utsource.net/ in the their utsource "used" here though I've not used them for 63C09's that being said they only have a minimum 2, however they do not offer free shipping. That being said, they are significantly more reliable than on some things EBay for used parts at least in my experience.
What if I want to help, but without soldering:Contact me at Z80Dad@gmail.com and we can talk. I still have boards and some parts, and can do most of the work for you; in most cases If your seriously interested I have no problem sending you a board assembled from pre-production stock (this won't always be 4.2, but based on what I have on hand.)
Kits?For the time being, I don't have the resources to do this right. If somebody wants to do this -- by all means, you just have to honor the various licensing. I will be doing a SMD mount board, cost reduced units with a DIP socket that you'll be able to drop any version 63C09 into the board and it shoud l
Sponsorship:Through this whole process, PCB way has been our prototyping partner. They provided the boards for each and every test revision of the HB63C09M, So a big thank you and shout out goes to them for their tireless support of open hardware.
PCBWay manufactures quality PCB's, 3d prints, as well as, metal fabrication. Additionally they sponsor student projects, and hobbyist's open hardware projects. Talking with any one of their sales staff for even a short amount of time it is clear they truly do care about the next generation of engineers and about the importance of open hardware designs.
Without the generous help offered, it would be difficult for me to complete these projects just simply due to the cost associated, and for that I am truly grateful. So for your next project why not check out the services that they offer?
Thank you for taking the time to read about my project, for more details and information you can check the project Hack-a-day site or check out the schematics I've posted in this space if that interests you.
Comments