by Steven B. Combs, Ph.D. tags: mega65 - c65 - rom
For those of us expecting our MEGA65 by Christmas, I have bad news. The MEGA65 is delayed until March! If, like me, you were on the short list to receive a MEGA65 before the end of 2020, looks like it will be the Easter bunny making the delivery instead of Santa. Here’s the official announcement from the Discord channel:
HO HO OH NO! SANTA IS IN QUARANTINE! But we make sure the Easter Bunny gets his booster vaccination. Due to the current situation it is impossible for us to send out any MEGA65s in December. We are holding our breath for March. Please bear with us! tl;dr version: We have been fighting shortage of electronic components for months and mostly succeeded. But now, last minute, seemingly trivial things like cardboard for your lovely printed boxes are unavailable! We most probably cannot ship before March 2022 and are truly sorry for this. The good news: We will then be able to ship larger quantities at once, which means you might face close to or no delay at all. We will keep you updated and continue doing what we all, you - the community and the MEGA65 team, believe in.
Am I disappointed? You bet I am; however, there are positives to this announcement (says the guy who always has a glass half full). Those who were on the second round of shipments will receive their MEGA65 at about, or on, the same date as the original first 400. If you want to receive one of the first shipments, stock is still available so you can be a part of the initial roll-out.
MEMBERSHIP: I now offer retroCombs memberships from $1 (PET level membership) to $20 (MEGA65 level membership) that include levels in between for all budgets (VIC-20, C64, Plus/4, and C128). If you’d like to support my content and get access to my Discord server along with other cool freebies, check out each level at https://www.buymeacoffee.com/retroCombs.
In these projects, I mention the closed ROM for the MEGA65 is available to purchasers of a MEGA65 or Dev Kit and those who’ve not purchased a Dev Kit must “technically/legally” use the open ROM; which is not yet ready for prime time.
Since the open ROM needs time to bake (the last update was four months ago), using it means mixed results. We can search and download the original Commodore 65 ROM and then patch that file with tools created by the MEGA65 team until the MEGA65 arrives. In this post and companion blog post, I’ll show the process and we will see if we can go back in time and load the original in development ROM in the emulator, Nexys4, and MEGA65 Dev Kit.
Before you read the rest of this post, take a look at my companion video below.
Table of Contents
Title: Patch the Original Commodore 65 ROM | Use with a FPGA, Dev Kit, or Xemu
In the video below, I show how to find, download, patch, and use the original C65 ROM with Xemu, a Nexys4, and on a MEGA65.
[2021-12-17] Tayger shared the following: “…In the Version history of the diff files detail view you will find BDF and RDF patch file for the same version.” Let’s look at that in detail:
v on the right side of the page. The RDF and BDF version history will display as shown in the image below:
[2022-05-15] Dan Sanderson posted a comment below noting changes since the original post. I have noted the changes.
Below are the links I mention in this blog post and companion video. All Amazon links are affiliate links. I’d like to thank everyone for your support of the blog and the YouTube channel by starting your purchases here!
The Open ROM is an interesting project. A group of developers are working to create a license free ROM that includes the updates from the MEGA65 Closed ROM and its own unique features. This project is a work in progress and even a simple program like the one below does not work:
10 PRINT "RETROCOMBS"; 20 GOTO 10
This caused many complaints from readers and viewers who wanted to install Xemu or build a Neyxs4 MEGA65. I get it. The Nexys4 is a $300 project and not having a working ROM does not scream, “value proposition.” Xemu without a working ROM is a simple exercise in frustration. Let’s fix that!
The prototype Commodore 65, formerly known as the C64 DX, never entered production in 1991. A successor to the C64/Plus/4/C128, the C65 was to be the 8-Bit computer to rule them all, including a super speedy 3.54 MHz CPU and graphics that rivaled the Commodore produced Amiga. Unfortunately, the C65 never saw the light of day beyond the believed to be 200 prototype machines which leaked out in a clearance sale at the end of Commodore’s life.
Owners fortunate enough to get an original C65 prototype have dumped the ROM file contents and shared them online. I’ll not link directly to the ROMs I found; however, below are steps to get your search started.
NOTE: As an owner of a MEGA65 Dev Kit, I own a license for the C65 ROM. I’ll share more on this topic below. [UPDATE: 2022-05-15] It has come to my attention that the C65 ROM is now part of Cloanto’s C64 Forever. I recommend every Commodore fan support this project and keep these ROMs available for all. I purchased the Amiga Forever package years ago and it is nice to know that I’m legal with the many emulators I’ve used. My one complaint, the software they include is for Windows.
NOTE: The file name of the
.BINfile is the date of the last official room; October 1, 1991.
920282.BINfile on your desktop or in another easy to find location.
With an original ROM available, it is time to patch it and add the new functions of the MEGA65.
WARNING: Downloading and patching the C65 ROM files is a legal sticky-wicket. I share this process to educate the community; however, in order to use the original ROM, you must own a MEGA65, Dev Kit, or an original C65 (you have one in your closet, right?). Cloanto owns the rights to C65 ROMs [UPDATE: 2022-05-15]
but does not include them in their C64 Forever license. Because of this legal issue for an abandoned 30-year old computer ROM, I take no responsibility for your legal/illegal use of original C65 ROMs.
I was curious to see if the original ROM would work in the emulator and on the two FPGA hardware options, the Neyxs4 and the MEGA65, and would modern MEGA65 software work with the original ROM? Are the MEGA65 developers honoring and respecting what came before in their upgraded version via compatibility? Let’s find out.
Xemu uses the Xmega65 emulator. I’ve shared how to set up and use Xemu on a Mac in an earlier post; however, I will again share the process to use the original C65 ROM file before I test it:
[UPDATE: 2022-05-15] From the menu, Disks | SD-card | Update files on SD image . The select your ROM image file window will appear as shown in the image below:
Select the ROM file and click OK. The prompt below will display:
System files on your SD-card image seems to be updated successfully. Next time you may need this function, you can use MEGA65.ROM which is a backup copy of your selected ROM. MEGA65 emulation is about to RESET now!
Click the OK button and xmega65 will boot, as shown in the image below:
Success! The original ROM does work with the software emulator. Let’s test it using a demo disk I’ve prepared from modern software created by various MEGA65 developers. As you will see in the companion video, every single title I threw at the original ROM worked and even Commodore 64 mode works! There is a high-level of compatibility between the original ROM and the updates the MEGA65 team is making to complete and add features. Bravo!
I have to admit, this put a huge smile on my face. When the original ROM booted, I felt as if someone magically transported me back to the Commodore headquarters in 1991 to experience the C65 in prototype form for the first time.
Now that we know the original ROM works with software emulation, will it work with the Nexys4 or MEGA65 Dev Kit FPGA? The process to update the ROM is the same for both FPGA boards:
In a pleasant surprise, the original ROM works on the Nexy4, as do several modern software titles.
Finally, I tested the original ROM on my MEGA65 Dev Kit. I suspected the same result as the Nexys4 and was not disappointed.
Using the original ROM is a vast improvement over the Open ROM; however, if you want the latest features of the MEGA65, the development team provides and option to patch the original ROM to include all the latest features of the Closed ROM. Here’s the process:
There are a couple of ways to patch the original ROM; however, I’ll share the easiest GUI method using M65 Connect. Since M65Connect is available for Mac, Linux, and Windows, everyone can patch the C65 ROM. Let’s download a copy of M65Connect:
M65Coand a list of M65Connect versions will display.
We are now ready to patch the original C65 ROM.
diff filesand the ROM patch file named
C65 ROM diff fileswill appear.
.BDFdiff file in the same location as the original C65 ROM file.
Let’s patch the original ROM with the diff file.
M65Connect makes patching the original C65 ROM a point and click process.
From the main menu, select File | Patch ROM File and the Patch ROM file dialog box will appear as shown below:
MEGA65.ROMand press the Save button and the new file will be saved to the same location as the two original files.
MEGA65.ROM file is now ready to use.
When the MEGA65 team releases an update to the DIFF file, use the same steps found in the previous section to update either the original or the recent updated ROM. The MEGA65 development team announced that we will soon be able to apply the DIFF updates from the MEGA65 by copying the diff file to an SD Card and use the Freezer on a MEGA65 to patch the ROM file.
Using the process outlined earlier to update the ROMs for both the software emulation and FPGA, it is time to see if the patch ROM works.
Once again, I loaded my
MEGA65-DEMOS.D81 disk image and checked C64 mode. The patched ROM worked without issues in emulation, but will it work on FPGA hardware?
Repeating the steps earlier to place the ROM file on the SD card for the FPGA, I loaded my
MEGA65-DEMOS.D81 disk image on both the Nexys4 and the MEGA65 Dev Kit. As suspected, everything worked without a hitch.
Help make this content better! Leave your comments, corrections, additions, and thoughts in the comments below. You can email me at firstname.lastname@example.org. Thanks for reading and if you are inclined, please let others know about the blog using the hashtag #retroCombs.
🕹️ retroCombs, OUT!