Release verification 0.96 (Batch 3 - MEGA65r6 bringup)

Intro

This page describes the testing procedures for MEGA65 Release 0.96. The release is purely aimed at the new mega65r6 board, which will be the base for the next batches of MEGA65 machines.

Important: the cores have only been tested for r3a and up boards by the developers. We know that on r3 or earlier and on third party boards (nexys, wukong), at least the new flasher will not work! We do appreciate testing on those platforms, but we cannot accommodate any fixes for this release. All the platforms will be supported again in the 0.97 Release, which we aim to release in May 2024.

Why is this this way? Because we don’t want to delay the next batch any more. And we think that is explanation enough.

WARNING: the testing of slot 0 flashing is currently only recommended for people that own a JTAG interface. We are aiming to make the flashing of slot 0 as secure as possible with this release, so that people without a JTAG can use it afterwards.

What is a release?

The release includes the core bitstream (which is put into the SPI Flash, so the FPGA can load it from there) and everything inside of it (FDISK, ONBOARD, CONFIG), the FREEZER (which you need to put on your SD card) and the new release ROM (also needs to go onto the SD card.

General Testing

We are not really telling you what to test (except testing of MEGAFLASH). But here are some additional choices:

  • the Intro disks. @Gurce Isikyildiz provided some updated versions on filehost

  • your favorite programs

  • most importantly: your own software

Testing on Batch 1+2 Machines

On the mega65r3a board the testing of the upgrade Slot 0 procedure is important. Especially by starting from a Release 0.95 core in slot 0, which we do provide a version of, which is exactly the same as the actual release, but has 2 bytes in the header changed, so it is compatible to the new flashers.

Testing on mega65r5 demo PCBs

Testing on the 10 demo PCBs is obviously the most important part. The bitstream must work in a way the new users can start their machines and try out the intro disks. And they must be able to flash new core, and also need to be able to upgrade their factory core in slot 0.

There might be bugs or missing features we can’t fix anymore. This is why Release 0.97 will follow 0.96 shortly after. Essentially we want to make sure that the machines go out without delay and that the owners can directly update to the latest version when they get their machines.

Installation Procedure

Getting the files

The latest files to test can be found here. You need both the Core Release Package for your machine, as well as the latest ROM.

Direct links:

Warning: if you don’t own a JTAG, we recommend removing all peripherals from your MEGA65 and to use only the internal SD card slot, as a precaution to any interference while flashing.

No JTAG Installation method

This method is recommended, even if you have a JTAG. Why? Because we want you to test this procedure for all the people out there that don’t own a JTAG. And as you have a JTAG, you can recover even if something goes bad!

Don’t try breaking a flash without having a JTAG! The process is stable enough to work, but there are still windows in the flashing cycle that will break recovery via slot 1!

There is also a https://mega65.atlassian.net/wiki/spaces/MEGA65/pages/83689488 with pictures, that also goes through the process explained below.

  1. Copy the COR file from your PC to the SD card.
    MEGAFLASH now supports (and defaults to) the CORE subdirectory, but if you are doing the full upgrade, you will need to copy the COR file to the ROOT (i.e. the toplevel directory) as the old flasher does not support subdirs!

  2. Hold down NO SCROLL and power on your MEGA65
    This will get you into your good old MEGAFLASH which is in your slot 0 factory core.
    Note: for a realistic test first install Release 0.95 back into Slot 0!

  3. Flash the release test core file into slot 1
    This is nothing special, just what you always did with the various cores…
    Note: it must be slot 1!

  4. Start the newly flashed core by pressing 1 followed immediately by holding down NO SCROLL
    We want to start then MEGAFLASH inside the new core, because this has the new FACTORY flash function.

  5. Confirm that you are in the new MEGAFLASH by pressing HELP and comparing the MEGAFLASH Version with the version of the release test core

  6. Press MEGA-COMMA to start flashing slot 0
    This will ask you for confirmation. Do that. You need to type UPPERCASE without any errors!

  7. Press F3 and select the COR file again
    It will not let you select cores from wrong platforms, or non MEGA65 cores or cores that are not intended for slot 0.

  8. Press F8 to start flashing
    You can abort this with STOP while the core is loading. After it has started flashing this is no longer possible!

  9. Done!

With JTAG Installation method

This method is for quick tests. But we would really like you to test the no-JTAG version for your fellow MEGA65 Owners that did not buy a JTAG interface!

Changes to the no-JTAG Version:

  • replace steps 2-4 with: hold down NO SCROLL and push the BIT file via JTAG to your MEGA65
    If you don’t remember how this is done: m65 -q mega65rX-XXX-YYY.bit

Specific Tests

MEGAFLASH

MEGAFLASH is the thing you get when holding down NO SCROLL and then powering on the machine. It displays a menu of the cores, but also lets you manipulate them.

What to look for:

  • proofread all the text

  • erase slot 1 or replace it with a non MEGA65 core, then try to flash slot 0 again

  • test the fileselector

  • do weird things while flashing

    • let the cat run over the keyboard

    • wiggle your plugged in peripheral (that’s the mouse, keep it away from the cat, though!)

    • do something I can’t think of

  • DO BREAK a slot 0 flash!

    • so start flashing slot 0

    • when it starts erasing or flashing, just power off your MEGA65

    • the Release 0.95 Factory core has additional two places that will break rescue booting into slot 1, which are located here (first sector is the actual start of the bitstream, the other two are problematic).
      If you manage to power off while one of those is still there, the system will never reach slot 1 for rescue.

      rel095-syncwords.png
      The three sectors containing a sync word in release 0.95
    • there are two windows of opportunity in the new flasher where you can break slot 1 recovers:

      • at the start the flash while the sync word sectors are erased

      • at the end of the flash before all sync word sectors are written

      • so while flasher is writing sectors downward, it should be save to power off and still reach slot 1 for recovery

    • hold down NO SCROLL, power it back on and wait (while holding NO SCROLL) at least 1 Minute

    • you should be in slot 1 MEGAFLASH again

  • edit flags of an existing slots

    • when in Edit Slot screen you can use the number keys to change the cartridge/default slot flags

    • F8 will show up in the bottom bar, try to flash

    • Note: only the flags of the slot you edit are changed. And the flag set in the lowest slot wins! So it is possible that you change a flag and nothing changes!

    • Example: Slot 2 is C64 slot. You add C64 flag to slot 5. Slot 2 will still be the C64 slot. Now remove C64 flag from slot 2, see what happens…

System setup

Test CONFIG, FDISK and ONBOARD. The first two you get by holding down ALT while powering on. For ONBOARD you need to either do FDISK, or you can force it by asking CONFIG to erase your config sector.

There are some changed options. Don’t forget that there are sometimes second pages! Read the help.

What to look for:

  • proofread all the text

  • is the MAC address all zero or is it random?

FREEZER Tools

Enter the new FREEZER and check all it’s features. You did copy the SD card files from the folder in the CORE Release Package onto your SD card, right? FDISK can do that for you from the installed core…

What to look for:

  • FREEZER has some new navigation and menu changes

    • change slots with left/right, up/down, comma/period, home

    • look at Fkey bar while doing that

    • try to press keys that are currently not displayed as an option

  • ROMLOAD works

    • it will sort dirs and but the special ROMS dir always at the top of the selection

    • it can load .BIN now (that’s what you get on filehost when downloading a ROM)

    • it also can load charsets…

  • AUDIOMIX simple mode now has an effect

    • sorry, no setting save and restore yet!

  • and also test the rest, but don’t expect to much from SPRITED, it still needs more love!

ROM and Applications

Tests the latest ROM with all the applications you can think of.

There are new and updated old Intro disks available.

Special: hands-free BRINGUP

There is a special hands-free BRINGUP procedure that will be used by Trenz to setup slot 0 for the first time. This can be tested with the special BRINGUP core we will also provide for testing.

We provide a test BRINGUP.COR in the latest release test post on discord.

  1. put the special BRINGUP.COR into the root of your SD card

  2. power on MEGA65 and push the release bitstream via your JTAG
    this is m65 -q mega65rX-XXX-YYY.bit

  3. Watch while your MEGA65 automatically flashes slot 0

  4. Do normal bootups while keeping BRINGUP.COR on the SD, check that it does not flash slot 0 again!

Special: Trenz Production Test

We have a special production test which is run by Trenz for each finished MEGA65, to make sure everything works as expected.

Please run this production test with the latest release and check if everything works as expected.

You can find the test program production_test.prg in the mega65-tools repository (build your own), and also in the latest release test post on discord.

Useful Files

  • Release 0.95 mega65r3 core with modern CRC32 CORE header on discord