Old Slot 0 Flashing process (pre Release 0.96)
NOTE: there is a dedicated page for the procedure here https://mega65.atlassian.net/l/cp/UsC119bL
I’m still a little foggy on this, so will jot down what I understand so far, and this page can be updated to repair my understanding and reflect the current state of play better.
Lydon’s README.md
I will copy/paste the steps I saw in Lydon’s readme and flesh them out more on this page.
# UPGRADE Slot 0 Test
This is a testpackage intended for people that **own a Xilinx JTAG and can resurrect their MEGA65 using it!**
If you don't have a JTAG, **stop now**.
Note: there is a live video where I do this: [Slot 0 Flasher](https://www.youtube.com/watch?v=KmJzJX8upsI)
## Process
Read this first completly, than start doing it!
1) Put UPGRADE0.COR onto your SD card and put it into the internal SD Slot.
2) Make sure your slot 1 contains a MEGA65 core that boots when selected
3) Enable DIP SW 3
4) Power on MEGA65, press RUN/STOP if asked to do it, exit monitor with x
5) Push upgrade0.prg using m65: `m65 -4 -r upgrade0.prg`
6) Follow the instructions until it starts flashing, when it is halfway through:
**POWER OFF!**
7) now your Slot 0 is *broken*!
8) Power on, watch the Ambulance lights for 20-30 seconds, until slot 1 starts
9) repeat the process from 4 - RUN/STOP... but this time let the flash process
finish
10) enjoy your new slot 0 starting (no ambulance...) your slot 1
## Testing
After you have done this: go wild! Use external SD. Use HDMI with backpower,
globber the keyboard while booting and/or flashing. Do things I can't imagine.
And most importantly: write down what you did and if your system breaks, report
what has happened and what you did to make it break. But if you just broke slot 0
and slot 1 still did boot after while, everything is good.
And then resurrect your system with your JTAG (remember that I told you to not
do this if you don't have one?)
Lydon pointed me to builds on his 683-cartflash
branch here and said to grab the latest .7z from there:
https://builder.mega65.org/job/mega65-core/job/683-cartflash/
QUESTION: Does that mean the new mechanism is currently exclusive to this
683-cartflash
branch and we won’t be able to make use of .cor files from other branches yet?
You will then need to:
open your MEGA65 case
Find the dip switch labeled SW3 on the PCB and turn switch 3 to on
While switch 3 is on, upon every power up, you will see this screen in the hypervisor telling you that you should either:
Turn switch 3 off
or press
RUN/STOP
to continue
- For our present needs, we will always be pressingRUN/STOP
You may find yourself in the MEGA65 MONITOR afterwards, if so, just type
X
and then RETURN key
Push Lydon’s newer 683-cartflash bitstream via m65
I believe this new flashing technique only works on Lydon’s 683-cartflash bitstream for now. So you’d need to upload this bitstream temporarily via:
m65 --bitonly mega65r3-20230507.11-683-ca-cbe9bc9.bit
From here, there are two paths you can choose.
Path 1: Upgrade Slot 0 only
Rename the .cor file from your .7z to
UPGRADE0.COR
Copy it to your sd-card
Use m65 tool to push
upgrade0.prg
m65 --device COM7 --c64mode --run upgrade0.prg
Path 2: Upgrade any slot
Use m65 tool to push
mflash200.prg
m65 --device COM7 --c64mode --run mflash200.prg