MEGA65 / mega65-core

MEGA65 FPGA core
Other
240 stars 85 forks source link

MEGAFLASH: build target dependent flasher invocation #617

Closed lydon42 closed 1 year ago

lydon42 commented 1 year ago

Actually MEGAFLASH is ran every boot, as it is the thing that decides if it starts slot 1 or slot 2.

But actually entering the flasher and not booting the core is decided by looking at certain inputs like keyboard and/or joysticks,

What interactions trigger entering the flasher menu should be dependent on the build, as certain platform might need different triggers, For example the Nexys board (or any other development board) has on board triggers that could be used, or a MEGAPHONE perhaps needs some button press combination that we don't want on a desktop machine.

lydon42 commented 1 year ago

I made the decision that we should keep fixed megaflash builds for core inclusion. For the TAB function a TAB_FOR_MENU build flag was added, which currently will get automatically set by specifying A100T (which would be nexys).

What is missing is determining which key presses are available on certain platform/keyboard combos. I think the TAB comes from a widget board connected C64 keyboard, which don't has a NO SCROLL key.

lydon42 commented 1 year ago

This is now sufficient, for new targets (wukong etc.) the repective developers should check if they need to implement a special key, or better map some board input to NO SCROLL/TAB instead.