Wednesday, 2 February 2022

THEC64 and SuperCPU emulation

This is a question that I see in various places: "can the SuperCPU be emulated on THEC64/THEC64 Mini?", and I usually respond even though some people insist that I don't know what I'm talking about. I mean, how could I know more than they do anyway? The Raspberry Pi is likely able to emulate a system more powerful than a C64 with a SuperCPU, so THEC64 Classic and Mini (which many people wrongly assume is just a Raspberry Pi) must be able to do it. Right?

To establish the long answer, the short answer to which is "no", I'll firstly adumbrate my credentials so you, dear reader, will have some confidence that I do know - in a small way at least - what I'm talking about. Let's start at the beginning for me, my rekindling of my Commodore C64 hobby (some may say obsession).

I left School in 1993, and was working at the local Bacon Factory in the freezers before I'd officially left. It was around this time that I saw a magazine on the shelves called Commodore Force (CF), and shortly afterwards, I noticed that Your Sinclair (YS) was still just about going. I started buying CF and managed to get the last two issues of YS along the way. The first issue of CF that I picked up was no. 8, and was an avid reader until the end. I then had to switch to the other CF (Commodore Format). This was the year that I got back into the C64 platform, and not too long after this, I learnt about GEOS and the excellent hardware from Creative Micro Designs, Inc.

Despite my love of computing, I studied Health and Social Care, and around 1996 or so, I started working for Social Services. It wasn't until 2002 until I got my first computering job, that being the weekly Retro Computer Mart column for Micro Mart (MM) magazine.

On 4th May 2004, I started as a staff writer for Retro Gamer (RG) magazine, then published by Live Publishing on a business park just outside of Macclesfield, in Cheshire (UK). This wasn't "real" computering. I wasn't then a Computer Scientist. But I did know enough about the Commodore C64 platform specifically, and Commodore's 8-bits more generally, as well as some Sinclair machines, to pass myself off as a sometimes good enough writer for printed matter magazines, back when printed mattered.

The gig at RG didn't last too long (I wasn't then much of a writer, and still now am not significantly better). Anyway, around mid-2005 I started working with a guy called Paul Andrews, and shortly after that I was interviewed for an open freelance job by Darren Melbourne. The interview was somewhere in Manchester City Centre. His company was Ironstone Partners, and he spoke to me about an agreement whereby I'd work to track down any holders of intellectual properties, copyrights and trademarks to mainly Commodore but also other 8-bit software. I knew that this was something that Paul was doing, so I declined, but pointed Darren in Paul's direction. Eventually, they both worked together to bring THEC64 Mini, THEC64 Classic, THEVIC20 and now THEA500 Mini to the world. These machines probably wouldn't have happened had I took on Darren's offer in the first instance. So, you're welcome.

Between 2005 and around 2007, I did some other freelance writing for gamesTM (gTM) magazine and a few articles for RG. Returning to RG was quite stifling. Whereas I had a pretty free hand under Martyn Carroll's editorship (too free, in fact), it was quite the opposite with Darran Jones at the helm. I'd worked with Darran briefly for gTM, and I don't dislike him personally. But what he wanted from me wasn't what I wanted to do, so my second time at RG ended pretty quickly and there's no reason for me to write for this magazine again. Just a brief example here, for one of the issues I had to write one page guide (~600 words) about an Atari VCS-2600 PC emulator. I think it was called Stellar. I could have written it in about 60, and I think I managed to write six or eight steps for this guide. It was nearly all a work of fiction. None of the steps I described worked - at least not on my PC, although were mentioned briefly in the documentation. I'm guessing that Darran didn't check my guide step-by-step to ensure that it was factually correct, or didn't care. Either way, there was no point continuing, and that's before I tell you about the remakes that I "reviewed".

It was 2009 when I finally started my journey through the realm of Computer Science, thanks largely to Manchester Metropolitan University, but also briefly the University of Derby and Birmingham City University. All through this time, and up until I think 2014, I continued my freelance work for MM. But in 2012, I started as a PHP developer, and along the way I've done some C, ObjectiveC, C#, and of course JavaScript.

After 2014, there wasn't much for me in "retro" computers. I was no longer writing for MM (way too busy with developing web applications and websites), and had (and have) no reason to write for gTM (now defunct anyway) or RG. I did make some enquiries to try and rekindle my writing, but nothing happened, and some of the newer publications that had appeared between 2005 and 2014 were run by, edited by, or owned by people who I knew that I couldn't trust. The one thing I wanted to do, and still want to do, is to make some software for the SCPU platform, but am just a novice at 65x based machine language, and there is currently no good C compiler that can build 65816 binaries and executables.

Anyway, around 2016, I first learnt about THE64 Computer, and this project changed course somewhat due to the Kickstarter (or Indigogo) funding goals not being met, but THEC64 Mini did happen. Honestly, I wasn't keen on the original designs of THE64 Computer, so it was for the better in my opinion. I picked a THEC64 Mini up in 2017 I think, and shortly after Paul Andrews was in touch. He wanted me to help with testing of THEC64 Mini US Launch and sent me a test machine that I could test various versions of the firmware developed by Chris Smith. I spent a lot of time testing and noticed some anomalies that had not been discovered. One issue that I found was whilst testing with Turrican. It was a good game to test because it's quite easy to complete, but also technically very good, and enough to show any shortcomings of the emulation. After a certain amount of time into playing Turrican, I noticed sound drift that was quite obvious. Chris could not recreate the bug, so I recorded it for him so that he developed a suitable fix.

When the Covid-19 lockdown hit, I was put on the furlough scheme through my employer at the time. This wasn't great for me. I got very bored, and very quickly. So, around April 2020 I started looking for a new job. I eventually found employment at a company called Low6. I would not ever recommend working for this company as a developer or in any technical role, for reasons that I will not divulge here. It is the only job - not just developer job, but any full-time job - where I've only lasted three months. I think that says enough.

Shortly after leaving Low6, Paul Andrews found out that I was unemployed. I think it was through Facebook. He asked me for my CV and I was soon interviewed by Chris, and although the work was on a rolling monthly basis, I was offered a job at Retro Games Ltd (RGL). Of course, working on THEC64, a recreation of the best personal computer of the 20th century (and perhaps ever), who would turn that down?

I was lead tester and worked to introduce Scrum and Agile methodologies and QA processes. I worked on the firmware upgrades for all models of THEC64 to the January 2021 update, and shortly afterwards there was no more work for me at RGL. My work there was done. I also did some work on THEA500 Mini but found that the hardware was much more difficult for someone who hadn't used an Amiga of any description since the 1990s (remember that I upgraded to a C64 in 1993, leaving the Amiga platform behind).

You could say therefore that I know the Commodore C64 and C128 pretty well, not an expert, but good enough to do real testing and give accurate feedback and advice to help improve the user experience of THEC64 Classic and Mini. And, owning two CMD SCPUs, two RAMLinks, two CMD HDs, and three or four FD drives, I know the SCPU pretty well too. So here's why THEC64 Classic and Mini will not emulate the SCPU.

Firstly, RGL is meticulously in licencing all software (which SCPU emulation would be part of the firmware, so it would require licencing). Now, we know who owns the rights to the SCPU and other CMD hardware, but licencing will either be difficult to obtain, or expensive. So even if this was possible, this won't be in a firmware upgrade for THEC64 as all firmware updates have been released at no cost to the user, so far at least.

And secondly, THEC64 isn't just running an off-the-shelf version of VICE. It is a proprietary version of it. Some of it is of course open source. But not all. It has to be this way so that the user experience is good on the host hardware (which again isn't just a Raspberry Pi).

Sure, you may be able to hack a unit to run the XSCPU64 emulator. This may work well on THEC64 Classic. But on the Mini, I think you'll have at least sound drift issues that I experienced with Turrican on the bundled 'stock C64' emulator, or have to run the SCPU emulation at 25 or 30 frames per second (rather than 50 or 60). I suspect both compromises will have to be made. RGL won't add features that don't work well on all models of THEC64 for the obvious reason that the Mini is by far the best selling model. I suggest using VICE on an old PC rather than getting an inferior experience from hacking THEC64 Mini to emulate some of the SCPU 64 v2. You may use the joystick from THEC64 with VICE these days on your PC, so you can just pretend it's THEC64. Some people assume that there's no practical difference between VICE on a PC (say WinVICE) and THEC64 anyway.

On a personal note, it's great that this question keeps popping up. It shows that, regardless of what the C64 scene thinks about the SCPU, general users are curious about it. Even if it is only to play Metal Dust, which as you will know from my other blog posts, isn't the only game to play on this nifty C64 upgrade.

No comments:

Post a Comment