Logo

Retro computing with a touch of modern and the home for all things, retroCombs (aka Steven Combs).

Disclosure Statement: When you click on links to various merchants on this site and make a purchase, this can result in this site earning a commission. Affiliate programs and affiliations include, but are not limited to Amazon, the eBay Partner Network, and/or others.

Custom Stickers, Die Cut Stickers, Bumper Stickers - Sticker Mule
28 August 2024

MEGA65 User’s Guide Chapter 5 - Upgrading the MEGA65

by Steven B. Combs, Ph.D.

Welcome to another installment of the MEGA65 User Guide series! Today, we’re diving into Chapter 5: Upgrading the MEGA65. Get ready to explore how to upgrade your MEGA65 core, ROM, and system files, as well as how to install alternate cores and ROMs. We’ll also cover how to set core flags and understand the MEGA65 boot process.

As always, don’t forget to check out the companion YouTube videos and blog posts that supplement this guide. They are packed with links, errata, and resources to enhance your MEGA65 journey. Let’s get started!

MEGA65 Chapter 1 Image

MEGA65 User’s Guide Series Page

TABLE OF CONTENTS

TABLE OF CONTENTS LINKS


Below are the links you need to help you get the most out of your MEGA65.

MEGA65 Accessories

SUPPORT THE BLOG AND CHANNEL

Check out the supporters page to learn about my amazing supporters and how you can join our community.

COMPANION YOUTUBE VIDEO

Title: MEGA65 User’s Guide Chapter 5: Upgrading the MEGA65

VIDEO ERRATA

None as of 2024-08-28.

HOW A MEGA65 CAN BE UPGRADED

The MEGA65 platform consists of three major components:

  1. CORE: The core is a description of the chipset to run on the FPGA. You can upgrade the core to new versions or replace it with a different core entirely, such as one that emulates a different computer like a Commodore 64 or a ZX Spectrum. The core is stored in the MEGA65’s core flash memory.
  2. ROM: The ROM contains the Commodore-style operating system (KERNAL) and BASIC. You can switch between multiple ROM versions, including the original Commodore 65 prototype ROM.
  3. SYSTEM SOFTWARE: The system software includes features like the Freezer menu and other utilities.

You can upgrade these components as new releases are published, replace them individually, or maintain multiple versions. For instance, your SD card can contain not only the updated MEGA65 ROM, but if you want to see what it was like to own an original Commodore 65, you can also place the original ROM on the same SD card.

Likewise, you can have the official MEGA65 core installed on the MEGA65 along with the Commodore 64 core and even a ZX Spectrum core so your MEGA65 can emulate any of these systems.

Upgrading the core, ROM, and system software is easy if you know how, and that’s the focus of Chapter 5. So let’s dig in and learn how.

WHAT IS A CORE?

A core (and the core of our discussion!) in the MEGA65 system refers to the configuration that runs on the FPGA (Field-Programmable Gate Array), defining the hardware behavior of the MEGA65. This core is essentially the blueprint for the system’s functionality, allowing it to emulate different vintage computers like the Commodore 65, Commodore 64, ZX Spectrum, or arcade game cabinet. By updating the core, users can add new features, enhance performance, or fix bugs, ensuring their MEGA65 stays current with the latest developments. The core is stored in the MEGA65’s flash memory and can be managed through the Core Selection Menu, providing flexibility in choosing and switching between different hardware configurations.

This adaptability has an advantage, allowing seamless transitions between different cores for varied uses. The active MEGA65 community continually develops and shares new cores, contributing to a rich and evolving ecosystem. Understanding and managing cores is essential for maximizing the MEGA65’s potential, as it opens up a world of possibilities in retro computing and ensures the system remains a cutting-edge tool for both nostalgic users and developers.

Let’s learn about versions.

DETERMINING THE VERSIONS OF THINGS

All components of the MEGA65 platform have a version identifier and are listed in the Information Utility by following these steps:

  1. Switch on the MEGA65 and boot to BASIC.
  2. Open the Freezer: press and hold the RESTORE key for one second, then release it.
  3. Press the HELP key to open the MEGA65 Information Utility.

The Information Utility includes a lot of information, but germane to Chapter 5 are the following areas:

To exit the Information Utility and return to BASIC, press F3 twice.

Each core has a separate version for each hardware revision (The R3 “DevKit” and R3A or R6 computers, as of this video). The MEGA65 developers ensure parity of core releases for both hardware revisions. Alternate cores may or may not support both, so check with the core developers.

If you do not own a MEGA65, you cannot use the official MEGA65 ROM without a license. I cover this in my Patch a Commodore 65 ROM video and on the companion blog post.

So where do you get these files? That’s next!

OBTAINING THE LATEST FILES

To keep your MEGA65 up-to-date with the latest features and improvements, you’ll need to obtain the latest core, ROM, and system software files from the MEGA65 Filehost website. Follow these steps to ensure you get everything you need:

Step-by-Step Guide

Here’s a step-by-step guide to obtain the latest version of the files you need to keep your MEGA65 happy and healthy.

License Warning: Certain MEGA65 files, such as ROMS, are for personal use only, require the purchase of a MEGA65, and should not be redistributed.

Owner Registration:

  1. Go to files.mega65.org.
  2. If you haven’t already, sign up for an account on the MEGA65 Filehost website.
  3. If you purchased a MEGA65, redeem your owner code to access restricted files. This code, printed on a sheet of paper and probably found in your bound copy of the user’s manual, is provided with your MEGA65 purchase and ensures that only legitimate owners can download licensed files.
  4. Click the user icon in the upper-right corner of the Filehost screen.
  5. Select Redeem Code.
  6. Enter the owner code.

Download the Latest Release Package:

  1. Click the Files tab of the Filehost.
  2. In the left-hand search box, type “release” and the list will update to show only files with the word release in their title.
  3. Locate the entry named, “MEGA65 Core Release Package (mega65r6) incl. ROM” where “mega65r6” matches the hardware revision of your MEGA65 (as we identified earlier using the Information Utility).
  4. Click the entry to view a description of the package and files.
  5. Click Download to download the release package to your computer.

REMEMBER: If you have not redeemed your code, you will not see a version of the release package that includes a ROM. Make sure to register your code and ensure you are logged in to the Filehost.

Extract the Package:

  1. Locate the downloaded archive file on your computer.
  2. Right-click the file and select “Extract All” (or use your preferred extraction tool).
  3. Navigate into the destination folder to access the extracted files.

By following these steps, you’ll ensure that you have the latest core, ROM, and system files ready for your MEGA65. Next, we’ll learn how to use these files to upgrade our MEGA65.

THE CORE SELECTION MENU

While the MEGA65 identifies a default core to load, you can use the Core Selection Menu to change the core using the following steps:

  1. Switch off the MEGA65.
  2. Hold the NO SCROLL key and switch on the computer. The core selection menu appears, showing the eight core slots numbered 0 through 7.
  3. Use the cursor keys and RETURN to select a core slot or press the corresponding number on the keyboard.

The core you choose will be used as long as you don’t power cycle the computer. Using the reset button will not reset the core. By default, the MEGA65 will launch core 1 unless there is no core in slot 1, in which case it will launch the core in slot 0.

Slot 0: Slot 0, by design, is harder to upgrade than slots 1 through 7. This is your safe slot. If all other cores fail, you know you can always revert to slot 0. Refrain from modifying this slot unless directed to do so. I will show you how to do this later in this chapter, but you should not do this regularly and only when directed by the MEGA65 developers.

There is an option to “flag” slot 2 as a default core using a DIP switch on the main board. For example, I like to have the latest MEGA65 core in slot 1 and my Commodore 64 core in slot 2. This way, I can flip DIP switch #4 to the “on” position and boot my MEGA65 into the Commodore 64 core when I know it’s time for a long session of Commodore 64 gaming!

UPGRADING THE MEGA65 CORE, ROM, AND SYSTEM FILES

You can upgrade your MEGA65 core using the microSD card and a .cor file using these steps:

REMEMBER: Don’t use the internal SD card to upgrade your core. See chapter 4 for more information.

  1. Remove the microSD card from the back of your MEGA65.
  2. Place the microSD card into your PC (you may need an SD card reader).
  3. Copy the .cor file from the downloaded archive’s sdcard-files folder to the root directory of the microSD card.
  4. Copy the system files to the SD card, replacing the existing files.
  5. Eject the SD card from your PC and insert it into the MEGA65 (ensure the MEGA65 is off).
  6. Access the core selection menu by holding NO SCROLL while switching on the MEGA65.
  7. Hold CTRL and press the number of the slot you want to upgrade. The Slot Editor will display. This editor includes an option to change core flags. We’ll look at those options later.
  8. Press F3 to load a core file, select the .cor file, and press RETURN.
  9. Press F8 to flash the core slot. Wait for the process to complete (up to three minutes).
  10. After the flash process, press any key to return to the core selection menu.

The core is now upgraded and ready to use.

INSTALLING ALTERNATE CORES AND ROMS

An exciting feature of the MEGA65 is its ability to run alternate cores and ROMs, allowing you to transform your MEGA65 into different vintage computers and game cabinets. Let’s talk more about this capability.

TIP: I recommend you use slots 2 through 7 for alternate cores and reserve slot 1 for the official MEGA65 ROM; unless you have a very specific reason to use the default slot 1 to emulate another system.

As well as multiple cores, the MEGA65 can use multiple ROMs, when using a MEGA65 core, to boot to various versions of the MEGA65 all the way from the original C65 prototype to the state-of-the-art version of the MEGA65 system. You can use multiple .ROM files to:

  1. Try beta releases from the MEGA65 developers.
  2. Explore what the original Commodore 64DX, or C65, was like back in its early development days.
  3. Try the new Open Source, and Commodore code free, MEGA65 Open ROM project.

Here’s a step-by-step process:

Install Multiple .ROMs

  1. Visit the Filehost to download a .ROM file, purchase a licensed Commodore 65 .ROM from the Cloanto C64 Forever Express Edition (Windows Only), or download an archival .ROM from the Zimmers File Archive.
  2. The name of the default boot ROM is MEGA65.ROM. To add .ROM files to an SD card, use the format MEGA65x.ROM where x is a number from 0 to 7.
  3. Place the alternate .ROM files on the root directory of the SD card.

Boot an Alternate .ROM

To boot an alternate .ROM file using a MEGA65 core:

  1. Hold down a number key, from 0 to 7, that corresponds to the .ROM file installed on the SD card.
  2. Power on or reset the MEGA65.

The computer will boot with the MEGA65 core using the alternate .ROM file.

TIP: The default SD card that comes with your MEGA65 includes various .ROM files. Try them out!

SETTING CORE FLAGS

Mentioned earlier, the Slot Editor includes options, or flags, to allow you to set a core as the default or associate it with Commodore cartridges. Set a flag on the Slot Editor screen by tapping the associated numbers 1, 2, or 3.

  1. Default Core: Sets the core as the default when the MEGA65 boots. If you do not set a default core flag, the DIP switch we discussed earlier manages the core default.
  2. Cartridge: Set the core to boot when you insert a cartridge into the MEGA65 cartridge port. By default, when you insert a MEGA65 cartridge (none available at the time of this video), the MEGA65 core will load. When you insert a C64 cartridge into the MEGA65, the MEGA65 will boot into GO64 mode.
  3. C64/C128 Cartridge: Set the core to boot when you insert a C64 or C128 cartridge. This would be a good option to use if you want the C64 core to boot when you insert a C64 cartridge since the C64 core is more compatible than GO64 mode.

Once you make your selections, press F8 to “flash” the flag changes to either an existing core or a new core.

ERASING A CORE SLOT

Flashing a core on top of another core will replace the previous core. You can also erase a core using these steps:

  1. Access the core selection menu by holding NO SCROLL while switching on the MEGA65.
  2. Select a core using CTRL followed by 1 through 7, depending on the slot to erase, and the Slot Editor will load.
  3. Press F4 to select the erase slot option.
  4. Press F8 to flash the slot with empty data.

The MEGA65 will erase the core and display “EMPTY SLOT” on the Core Selection Menu.

UPGRADING THE FACTORY CORE IN SLOT 0

As mentioned earlier, we really don’t want to mess with slot 0; however, sometimes an upgrade to slot 0 is beneficial and directed by the MEGA65 developers. You’ll find those announcements on the MEGA65 Discord.

WARNING: It is important that you have at least one functional slot before beginning this process. For instance, if slot 1 is functional with your internal SD card, you are clear to proceed.

When directed and you have the latest, and functional, MEGA65 core in slot 1, use the steps below. These steps differ from flashing slots 1 through 7 to avoid an accidental flash of slot 0.

  1. Launch core slot 1 to confirm it works.
  2. Access the core selection menu by holding NO SCROLL while switching on the MEGA65.
  3. Hold the MEGA key and tap , to open the slot 0 editor.
  4. Type CONFIRM, all uppercase, and press RETURN to confirm your understanding of the message displayed.
  5. Complete the flashing process as directed. Flags are not available for slot 0.

If something goes wrong and slot 0 does not work, after a few minutes the MEGA65 will attempt to boot from slot 1 so you can try again. If, however, your MEGA65 does not boot and appears to be “stuck,” you can likely recover using an inexpensive, but sometimes low in stock, JTAG connector. If you find yourself in this situation, contact the developers on the MEGA65 Discord.

R3A Board Revision Only

If you have an R3A board with an original slot 0 core, the core does not include an option to press the MEGA key and , to launch the slot 0 core editor. Follow these steps instead:

  1. Ensure you have the latest core installed in slot 1.
  2. Access the core selection menu by holding NO SCROLL while switching on the MEGA65.
  3. Press 1 and then immediately press and hold the NO SCROLL key. The core selection menu opens again using slot 1.
  4. Now you can hold the MEGA key and tap , to open the slot 0 editor.
  5. Follow the steps in the previous section to upgrade slot 0.

Congratulations! You’ve now upgraded slot 0 and have the latest core version in slot 1. Monitor the MEGA65 Discord and/or Filehost for new versions of the cores and ROMs that add new features to your MEGA65.

UNDERSTANDING THE CORE BOOTING PROCESS

Understanding the MEGA65 boot process is helpful to manage and troubleshoot your system. To conclude this chapter, let’s review with a step-by-step explanation of the core booting process:

  1. Power On the MEGA65: When you press the power button, the MEGA65 begins its boot sequence.
  2. Initial Hardware Check: The system performs an initial check of the hardware components to ensure everything is functioning correctly. If there is an issue, the “ambulance lights” (the status LEDs) might flash to indicate a hardware fault.
  3. Loading the Hypervisor (HYPPO): The Hypervisor, known as HYPPO, is loaded. HYPPO is responsible for managing the boot process and initializing the system.
  4. Reading Core Slots: HYPPO reads the core slots to determine which core to load. The core slots are numbered from 0 to 7, with slot 0 typically reserved for the default core.
  5. Selecting the Core: HYPPO selects the core based on the following criteria:
    • Default Core: If a core is flagged as the default, it will be selected automatically.
    • Manual Selection: If no core is flagged as default, or if the user intervenes, the core selection menu can be accessed.
  6. Accessing the Core Selection Menu: To manually select a core, power off the MEGA65, hold the NO SCROLL key, and power it back on. The core selection menu will appear, displaying the available core slots.
  7. Loading the Core into the FPGA: The selected core is loaded into the FPGA (Field-Programmable Gate Array). This process configures the FPGA to emulate the chosen hardware configuration, such as the Commodore 65 or an alternate core.
  8. Initializing the Core: Once the core is loaded, the system initializes it. This includes setting up the necessary ROM and system files associated with the core.
  9. Booting the Operating System: After the core is initialized, the operating system (e.g., Commodore 65 KERNAL and BASIC) is booted. If multiple ROMs are available, you can select one by holding the associated 1 through 7 number key, or it will load the default ROM.
  10. System Ready: The MEGA65 is now ready for use, running the selected core and operating system. You can start using your MEGA65 as intended, whether for development, gaming, or other applications.

CONCLUSION

That wraps up Chapter 5 of our MEGA65 User Guide series. Upgrading your MEGA65 opens a world of possibilities and keeps your MEGA65 healthy. As mentioned, if you need help, reach out to the MEGA65 Discord. You can also join my Discord by supporting the channel. You can find information at https://www.buymeacoffee.com/retroCombs.

Until next time, happy upgrading and be sure to check out these other two chapters from the user’s guide series. 🕹️ retroCombs, OUT!