MJoergen / C64MEGA65

Commodore 64 core for the MEGA65 based on the MiSTer FPGA C64 core
GNU General Public License v3.0
24 stars 4 forks source link

Final Cartridge III needs manual reset(s) to start #77

Open sy2002 opened 1 year ago

sy2002 commented 1 year ago

Symptom (1)

Final Cartridge III hardware cartridge starts into BASIC instead of starting into the FCIII main menu.

Tested with HDMI: Flicker-free ON and OFF. Behavior of the FCIII does not change.

After that, to start the FCIII you need to do the following:

  1. Press RESET on the FCIII
  2. Press RESET on the MEGA65

And then it works.

Symptom (2)

FCIII starts into a "blue screen" (empty screen with standard C64 colors).

In this case you need to repeat "RESET on the FCIII" and "RESET on the MEGA65" multiple times until it works.

Important fact

In general, the FCIII is not able to reset the MEGA65 at all on R2, R3 and R3A MEGA65 machines. This is due to the MEGA65's hardware architecture: We simply cannot "receive" any reset signal. Daniel Mantione pointed this out on Discord, quoting him:

Be aware of the reset situation, a reset from the computer doesn't reset the FC3.
A reset from the FC3 resets both the FC3 and the computer.

Because the Mega65 cannot be reset from the cartridge port,
you must reset the FC3 with its own button first and then reset
the computer manually in order to get a reliable reset.

If you reset the computer only, I would expect that the FC3 appears disabled,
because the FC3 keeps the C64 normally in normal mode. Then after a computer-side
reset the C64 is still in normal mode, so won't boot a cartridge.

About this issue

It is not sure, yet, if we can ever have a stable bootup behavior for the FCIII. This issue is about to investigate this and in case it is fixable, then to fix it.

sy2002 commented 2 weeks ago

The new 2024 MEGA65s (aka R6) can recieve the reset signal due to R6's improved hardware. To be tested if the FCIII already works better on R6 MEGA65s even without a C64 core improvement.

sy2002 commented 2 weeks ago

Seems to work on R6 boards: https://www.forum64.de/index.php?thread/125676-c64-core-f%C3%BCr-den-mega65/&postID=2159280#post2159280