Building the Commodore that should have existed, an interview with Stefany Allaire
Last month, the 100,000th hardware engineer registered on SnapEDA, so I thought it would be fun to reach out to learn more about what they were working on. Little did I know that it would turn out to be so epic!
Stefany Allaire is building the Commodore 256, what she believes should have been the successor to the Commodore 64 and 128, the best-selling computer line in history. Stefany – who has designed hardware for $60 billion companies, startups, and everything in between – also shared insights into her design process, including the PCB design tools she uses, and how she integrates electronics and mechanical design.
I was fascinated and inspired by this project and I hope you will be too!
Name: Stefany Allaire
Role: Engineer (Hardware & software)
Location: Waterloo, ON
Stefany, you’re working on a very interesting project. Can you tell us more about it?
Sure! Not too long ago, I was watching this YouTube channel called The 8 Bit Guy, whose creator David Murray, reviews retro computers – things like the Commodore 64, and also homemade computers. On his April 12th episode, he did a review of a computer based solely on TTL logic called the Gigatron.
At the end of the episode, he made the remark that he’d never encountered his perfect computer. He went on to post his full wishlist on his website. Already looking for a new project and in the “retro” mood, it felt like the perfect project. Considering that I was part of the whole Commodore 64 revolution, it brought me back down memory lane. This revolution was also the reason I got into electronics design in the first place.
You have to realize that David’s wish list, is pretty much the specifications for what a Commodore C256 could have been. I set out to make his dream a reality.
Wow! Why do you think this computer never got made?
The story goes that the person behind the creation of the Commodore 64 was Jack Tramiel who was Commodore’s president. Over time, problems with the board ensued, and without getting too deeply into the details (since that story has been told many times), Jack left Commodore for Atari and brought a bunch of employees with him to create the Atari ST. In the meantime, Commodore ended up buying the computer company Amiga.
By the time the Amiga was part of Commodore and the Amiga 500 was released, there was never a real successor to the C64 and C128, since the spirit of the creators wasn’t there anymore. So, this is why I believe David’s specifications resemble what a C256 would have been. I’m calling my version, which is heavily based on David’s wish list, the “C256 Foenix”.
If you were to go back in time to 1987, this is probably similar to what would have replaced the Amiga if Jack Tramiel had never left Commodore. I’m designing it as though it was 1987 in terms of parts. For example, the connectivity, joystick ports, I/Os, cartridge port, and Serial I/O for the floppy, all keep the same vibe as the original Commodore 64, but with some new improvements needed for the time.
Finally, I made the choice to make it completely open source, from its 3D printable enclosure design, PCB, firmware, as well as the FPGA code so that anybody can reproduce it and hopefully we can create new software for it. Obviously, mostly games.
What types of components are you using for the design?
The computer will still be based on the 65C816 from Western Digital, and will be clocked at 14Mhz, just like the Commodore 64, but way faster.
It will have more memory of course than the C64, and a lot of graphics features, as well as sound. However, I believe that restriction is the mother of creativity, so I’m trying to restrict myself to keep it limited to what would have been available back then.
By limiting its resources, future developers will have to be clever to find new ways to create amazing things that early on we thought we could never do. Memory is cheap, so I could easily spend the same amount of money on a single chip that could have given me the chance to fill the memory space with RAM. But instead, I am choosing to use many chips with much lower capacity. It’s more limiting, but that’s the point. I want programmers to be more thoughtful about the resources they have available to implement their features.
I was able to find the symbols and footprints for some of these parts on SnapEDA, but of course, they were no longer being sold by distributors.
If the parts are no longer available from distributors, how do you find them?
Basically, you go to China. The surplus of stock in China is amazing for old parts. Sites like Alibaba and even eBay have plenty of older parts.
Interesting. Tell us more about your design process. Which tools do you use for circuit board design, and why?
In my last job at a bigger company, we used Altium, which is awesome, but expensive.
Being that this is a personal project, I needed to find new tools, so I decided to choose Eagle. By the first night, I was really comfortable with it. Overall, it’s really awesome, but there’s a learning curve, especially around finding the libraries, and figuring out how devices, symbols and footprints all link together. It is quite different from other software in that area. That’s how I came across SnapEDA.
Do you do schematic, layout, or both?
I do both. That’s part of the fun.
Can you tell us a bit more about your design process?
I usually design the enclosure first, so I can have a full vision of the product I am trying to create. Then, I try to put myself in the user’s shoes to make connectivity decisions. For example, should I put connectors in the front or the back, and will it create conflicts with either the product itself, or the exterior world?
Then, I move on to fitting the design in, considering things like heat and noise. Throughout the process, I do the schematic, part placement, routing, PCB fab, purchasing/sourcing, and assembly. Along the way, I make sure to check the design, once, twice, thrice (I am still working on that). Then it’s debug time, which includes my favorite part – power bring-up.
At this point – if I managed to not set my place on fire, or be the witness of a smoke show – I decide whether the design is a ‘go’ or ‘no go’. From here, I either go back to square one, or I move on to the final part of the process – writing and debugging the code, and finalizing the product.
Do you use 3D in your PCB layout. If yes, how?
Yes, I do mechanical design for the enclosures. In general, I like to start with the enclosure and then design the PCB to fit within the enclosure. Then I’ll import the design back into the mechanical side, and ensure that the connectors and other components are all still fitting, refine the design, deal with heating issues, etc.
When it comes to finding 3D models, it’s usually the specialty components that are hard to find. Some manufacturers are awesome and create all parts for you. Like CUI, for example. I love these guys and I’m going to use their parts on purpose just because they bothered to make all the models available. For some other companies they don’t have the models, or you have to register to get them, and that’s overhead that you sometimes just don’t want to bother with.
4-5 years ago nothing like this existed, and if it did, it was right in its infancy so I had to make all 3D packages from scratch. They weren’t as beautiful and not as precise, but good enough that when migrating from the PCB to the mechanical design I could see if it would fit in the enclosure.
What is the most interesting technical aspect about what you’re working on now?
Technically speaking, this is not a complicated design, meaning that I am not dealing with very high frequency and/or very wide bus or very touchy technology. Fundamentally, there is very little limitation. But! Keeping the design to the time period is, I would say, the technical challenge. It is like trying to recreate from scratch a model T from the early century with the actual material and technology of the day. This is the most interesting aspect!
Do you have any words of wisdom for electronics engineers, or those wishing to pursue a career in our industry?
Learn as many skills as you can. Learn to do mechanical design. If you’re doing hardware, learn how to program. If you do firmware and/or software, learn how to create hardware. And if you do know how to program and to do schematic and PCB then learn how to program FPGAs.
The more skills you know, the more flexible and uniquely qualified you become. Become a “Jack of all Trades”. Over time, it will benefit you when it comes to finding a new job or tackling new challenges. Having a better understanding of all aspects of a design will make you a better asset.
But bear in mind that this type of profile doesn’t always fit everywhere (such as large billion dollar companies where they often prefer specialists).
When and where can someone get access to the computer or the design files?
I’ve given myself a year to complete this. Within the next few months I’ll have the PCB completed, and then the 3D casing can be printed. At that point, the platform will be ready for software to be developed on top of.
I’m hoping to bring more people on board to help make this vision happen faster – on the software side especially. If anyone is interested in helping, they can contact me at firstname.lastname@example.org, or learn more at the C256 Foenix website.
June 7, 2018 at 11:43 am
“I want programmers to be more thoughtful about the resources they have available to implement their features.”
I really like this statement. Having started to program on mainframes with only 64 k of memory, I still try to think about every statement and database query to make sure it’s efficient.
June 7, 2018 at 6:00 pm
I look forward to seeing this.
Bil Herd – C128 Designer
June 7, 2018 at 7:41 pm
Very cool project, Stefany! You should check out samtec.com for your connector needs… parts are rarely if ever obsoleted and you can get FREE, 24-hour samples to your door. Use this search tool and it will return both mated set part numbers. https://www.samtec.com/solutionator
June 8, 2018 at 12:57 am
I will try to do my best, not to disappoint you… 😉
Wow, that’s a lot of pressure! 😉 Funny, I got myself a C128 and I received it yesterday as I wanted to use it as a reference!
It is going to be one hell of a ride! Stay tuned!
June 8, 2018 at 12:58 am
Thanks, Ashley, I will look into it!
June 8, 2018 at 6:08 am
I like computer HW designs, myself designed some simpler things – like storage adapters for oldies.
Story about some plans for 256 KB C64 follower is interesting. But I think that 16-bit machines took over the market, and even some much faster 8-bitter was not of interest anymore. Btw. C128 was really good considering compatibility with C64, something best I seen,
I really can not judge how successful can something like 256KB C64 compatible today. Surely lot of people will be attracted, as C64 was most sold home computer. Myself care mostly about compatibility with old good SW. Even today some new stuff – HW add-ons, SW, even games arrive.
I have question about storage used in project – what are plans ? I guess no floppies – that’s really unreliable now, and can’t get new disks, not even drives, I guess. Beside it, Flash cards are now cheap, and lot of retro stuff can use them. I can help on that part … Keep up good work 🙂
June 8, 2018 at 7:17 pm
Many things are straight forward and heck the onboard RAM in FPGA’s might even be enough. The switching between the Z80 and the 6502 has some intricacies requiring some understanding of how the Z80 want’s to access memory, given that it’s not used to being assigned windows in time (it normally does a memory cuycle whenever it wants)
The first place that trips up everyone that tries this is the VICII chip, it is complex in just teh documented modes and then has dozens of artifacts of operation that programs used (not to mention the demo scene) that can only be detected by running lots and lots of software.
The second item is the stupid 80 column chip, it was broken from day one and the “bugs” became “features”.
Lastly C64 compatibility means some non-intuitive things like the IOSEL lines HAVE to be glitchy, developers used the glitches in multiple stupid ways.
I recommend getting a good support group of software testers. There are people that know a 1000 times mre about my machine than I remember. I have a forum at C128.com that is kind of dormant since I don’t put the time in, there is Lemon64 and a bunch of Facebook groups that would probably love to load a 100 titles and give you a report.
When Jeri Ellworth did the DTV64 she was able to control some things by virtue of having the (game) software built in, so it was a finite set of programs and the code could be modified for the differences between 35 years ago and now.
I am at bherd at c128.com if you have any questions.
I recommend a good 8 bit analyzer to help follow why the processor hates you (speaking of the way an infinite number f programs can crash) , I started to design one and then lost interest. 😉
June 9, 2018 at 6:32 am
Interesting project, however, I would like to see more details. And there is not much on project’s site too, if I see it correct. What kind of storage this will use ?
June 10, 2018 at 1:34 am
I think there is some confusion here… C256 doesn’t stand for 256K of memory. It stands for the number of Colors that the system will drive the screen and it is also a logic number following the C128.
I understand that back then the nomenclature after the letter C was about the memory size. Although, after the Amiga 500, I think things have changed.
Since the C256 Foenix, will have 1.5M installed, it would be difficult to call it the C1536
I would suggest that you go on the forum on the website, where I have extensively describe the features…
I would considering it, more like a bridge between the C64/C128 and Amiga 500…
Thanks for the interest.
June 11, 2018 at 12:23 am
So the 264 will be similar in concept to the unreleased Commodore 65 from 1991?
June 11, 2018 at 5:18 pm
“based on the 65C816 from Western Digital”
This is a common mistake. The 65xx series parts come from WDC, which stands for “Western Design Center.” It is a fabless chip supplier based in Arizona. They license, among other technologies, the 65xx series IP. It was founded by Bill Mensch, the engineer behind the original 6502. It has nothing to do with the storage company “Western Digital.”
June 17, 2018 at 2:00 am
This is unbelievable Stefani! I just posted how I was saving my money up for a C128 and Amiga mini. I was told that the C128 Mini would “never happen”. Well that’s ok, because I’d much rather have this! Bil Herd. You are an awesome guy for helping Stefani get this project to fruition, because you created the C128, which make your help invaluable! It would be great for people like Dave Hanie, Jeri Ellsworth, and yourself to get with Stefani and make this a reality. I wished I was an engineer, because I would sign up for this immediately! But hey! Chuck Taylor didn’t know how to make shoes, but he still got his name put on the side of some! I have ideas for a new line of Amiga computers, and would love to share them with you guys!
July 14, 2018 at 3:03 am
I love your enthusiasm about the project… However, Bil was kind enough to offer his opinion about the project which was unexpected and really cool. I think Jeri is very much past Commodore project and she’s very much focused on her AR stuff.
At this point, I think I am going to be just fine on my own and all the great people that have joined the C256 community and among them, some will be major contributors and may have in the future their own story to tell in many years to come. They may even have their place in history of retro computing as I see the C256 as potentially a great hit among the “new retro” era and it won’t be because of me but all this excitement and dedication to make this unit a worthy successor to the original Commodore line.
Check the website for updated info about the project.
June 17, 2018 at 4:40 pm
This is almost. epic…
FPGA ? check
Next Commodore ? check
65C816 ???? check
e voila: Failed project by Jeri aka ‘I m cutting corners’ , called Commodore-One!
July 14, 2018 at 3:11 am
I am not sure if you are taking a jab at Jeri’s failed project or your are trying to imply that the C256 will end up being the same?
I have a lot of respect for Jeri and I admire her for being so consistent in her latest endeavors. However, for the little I know of her, I think early on in her career, she was very much caught with the “Sparkling Syndrome” like all the creative people suffers from and I felt that she wasn’t very focused back then.
At this point, I am not Jeri Ellsworth and I fully intend to bring this vision to fruition and to make something that people will remember and use and have fun with.
So, stay tuned because… “IT! will be EPIC!” ;o)
July 21, 2018 at 9:50 am
” It would be great for people like Dave Hanie, Jeri Ellsworth, and yourself to get with Stefani and make this a reality.”
I don’t know how much time Jeri can directly commit a lot of time to this project beyond what she learned and such with the C-One & C64DTV and sharing but as for doing, I don’t know. She is busy on a lot of things.
It doesn’t hurt to ask her for insights, thoughts, and so forth for what she had learned and done previously that can be useful.