V4.8: Add Reset Option to sub menues

This commit is contained in:
sanni 2020-04-12 11:11:10 +02:00
parent aa4621a54d
commit 7b263115a5
7 changed files with 43 additions and 23 deletions

View File

@ -2,8 +2,8 @@
Cartridge Reader for Arduino Mega2560 Cartridge Reader for Arduino Mega2560
Author: sanni Author: sanni
Date: 19.03.2020 Date: 12.04.2020
Version: 4.7 Version: 4.8
SD lib: https://github.com/greiman/SdFat SD lib: https://github.com/greiman/SdFat
LCD lib: https://github.com/adafruit/Adafruit_SSD1306 LCD lib: https://github.com/adafruit/Adafruit_SSD1306
@ -43,7 +43,7 @@
**********************************************************************************/ **********************************************************************************/
#include <SdFat.h> #include <SdFat.h>
char ver[5] = "4.7"; char ver[5] = "4.8";
/****************************************** /******************************************
Options Options
@ -393,7 +393,7 @@ void aboutScreen() {
display.drawBitmap(0, 0, sig, 128, 64, 1); display.drawBitmap(0, 0, sig, 128, 64, 1);
println_Msg(F("Cartridge Reader")); println_Msg(F("Cartridge Reader"));
println_Msg(F("github.com/sanni")); println_Msg(F("github.com/sanni"));
print_Msg(F("2019 Version ")); print_Msg(F("2020 Version "));
println_Msg(ver); println_Msg(ver);
println_Msg(F("")); println_Msg(F(""));
println_Msg(F("")); println_Msg(F(""));
@ -621,7 +621,7 @@ void setup() {
// Serial Begin // Serial Begin
Serial.begin(9600); Serial.begin(9600);
Serial.println(F("Cartridge Reader")); Serial.println(F("Cartridge Reader"));
Serial.println(F("2019 sanni")); Serial.println(F("2020 sanni"));
Serial.println(""); Serial.println("");
// LED Error // LED Error
rgb.setColor(0, 0, 255); rgb.setColor(0, 0, 255);

View File

@ -22,7 +22,8 @@ boolean hiROM = 1;
static const char flashMenuItem1[] PROGMEM = "8bit Flash adapter"; static const char flashMenuItem1[] PROGMEM = "8bit Flash adapter";
static const char flashMenuItem2[] PROGMEM = "Eprom adapter"; static const char flashMenuItem2[] PROGMEM = "Eprom adapter";
static const char flashMenuItem3[] PROGMEM = "MX26L6420 adapter"; static const char flashMenuItem3[] PROGMEM = "MX26L6420 adapter";
static const char* const menuOptionsFlash[] PROGMEM = {flashMenuItem1, flashMenuItem2, flashMenuItem3}; static const char flashMenuItem4[] PROGMEM = "Reset";
static const char* const menuOptionsFlash[] PROGMEM = {flashMenuItem1, flashMenuItem2, flashMenuItem3, flashMenuItem4};
// 8bit Flash menu items // 8bit Flash menu items
static const char flash8MenuItem1[] PROGMEM = "Blankcheck"; static const char flash8MenuItem1[] PROGMEM = "Blankcheck";
@ -57,8 +58,8 @@ void flashMenu() {
// create menu with title and 3 options to choose from // create menu with title and 3 options to choose from
unsigned char flashSlot; unsigned char flashSlot;
// Copy menuOptions out of progmem // Copy menuOptions out of progmem
convertPgm(menuOptionsFlash, 3); convertPgm(menuOptionsFlash, 4);
flashSlot = question_box(F("Select adapter PCB"), menuOptions, 3, 0); flashSlot = question_box(F("Select adapter PCB"), menuOptions, 4, 0);
// wait for user choice to come back from the question box menu // wait for user choice to come back from the question box menu
switch (flashSlot) switch (flashSlot)
@ -88,6 +89,10 @@ void flashMenu() {
wait(); wait();
mode = mode_FLASH16; mode = mode_FLASH16;
break; break;
case 3:
resetArduino();
break;
} }
} }

View File

@ -18,7 +18,8 @@ static const char gbxMenuItem1[] PROGMEM = "Game Boy (Color)";
static const char gbxMenuItem2[] PROGMEM = "Game Boy Advance"; static const char gbxMenuItem2[] PROGMEM = "Game Boy Advance";
static const char gbxMenuItem3[] PROGMEM = "NPower GB Memory"; static const char gbxMenuItem3[] PROGMEM = "NPower GB Memory";
static const char gbxMenuItem4[] PROGMEM = "GB Smart"; static const char gbxMenuItem4[] PROGMEM = "GB Smart";
static const char* const menuOptionsGBx[] PROGMEM = {gbxMenuItem1, gbxMenuItem2, gbxMenuItem3, gbxMenuItem4}; static const char gbxMenuItem5[] PROGMEM = "Reset";
static const char* const menuOptionsGBx[] PROGMEM = {gbxMenuItem1, gbxMenuItem2, gbxMenuItem3, gbxMenuItem4, gbxMenuItem5};
// GB menu items // GB menu items
static const char GBMenuItem1[] PROGMEM = "Read Rom"; static const char GBMenuItem1[] PROGMEM = "Read Rom";
@ -31,11 +32,11 @@ static const char* const menuOptionsGB[] PROGMEM = {GBMenuItem1, GBMenuItem2, GB
// Start menu for both GB and GBA // Start menu for both GB and GBA
void gbxMenu() { void gbxMenu() {
// create menu with title and 3 options to choose from // create menu with title and 5 options to choose from
unsigned char gbType; unsigned char gbType;
// Copy menuOptions out of progmem // Copy menuOptions out of progmem
convertPgm(menuOptionsGBx, 4); convertPgm(menuOptionsGBx, 5);
gbType = question_box(F("Select Game Boy"), menuOptions, 4, 0); gbType = question_box(F("Select Game Boy"), menuOptions, 5, 0);
// wait for user choice to come back from the question box menu // wait for user choice to come back from the question box menu
switch (gbType) switch (gbType)
@ -67,6 +68,10 @@ void gbxMenu() {
setup_GBSmart(); setup_GBSmart();
mode = mode_GB_GBSmart; mode = mode_GB_GBSmart;
break; break;
case 4:
resetArduino();
break;
} }
} }

View File

@ -96,11 +96,11 @@ static const char* const saveOptionsN64[] PROGMEM = {N64SaveItem1, N64SaveItem2,
// N64 start menu // N64 start menu
void n64Menu() { void n64Menu() {
// create menu with title and 3 options to choose from // create menu with title and 5 options to choose from
unsigned char n64Dev; unsigned char n64Dev;
// Copy menuOptions out of progmem // Copy menuOptions out of progmem
convertPgm(menuOptionsN64, 4); convertPgm(menuOptionsN64, 5);
n64Dev = question_box(F("Select N64 device"), menuOptions, 4, 0); n64Dev = question_box(F("Select N64 device"), menuOptions, 5, 0);
// wait for user choice to come back from the question box menu // wait for user choice to come back from the question box menu
switch (n64Dev) switch (n64Dev)

View File

@ -47,7 +47,8 @@ uint8_t pce_internal_mode; //0 - HuCARD, 1 - TurboChip
// PCE start menu // PCE start menu
static const char pceMenuItem1[] PROGMEM = "HuCARD"; static const char pceMenuItem1[] PROGMEM = "HuCARD";
static const char pceMenuItem2[] PROGMEM = "Turbochip"; static const char pceMenuItem2[] PROGMEM = "Turbochip";
static const char* const menuOptionspce[] PROGMEM = {pceMenuItem1, pceMenuItem2}; static const char pceMenuItem3[] PROGMEM = "Reset";
static const char* const menuOptionspce[] PROGMEM = {pceMenuItem1, pceMenuItem2, pceMenuItem3};
// PCE card menu items // PCE card menu items
static const char pceCartMenuItem1[] PROGMEM = "Read Rom"; static const char pceCartMenuItem1[] PROGMEM = "Read Rom";
@ -66,8 +67,8 @@ void pcsMenu(void) {
// create menu with title and 3 options to choose from // create menu with title and 3 options to choose from
unsigned char pceDev; unsigned char pceDev;
// Copy menuOptions out of progmem // Copy menuOptions out of progmem
convertPgm(menuOptionspce, 2); convertPgm(menuOptionspce, 3);
pceDev = question_box(F("Select device"), menuOptions, 2, 0); pceDev = question_box(F("Select device"), menuOptions, 3, 0);
// wait for user choice to come back from the question box menu // wait for user choice to come back from the question box menu
switch (pceDev) switch (pceDev)
@ -89,6 +90,10 @@ void pcsMenu(void) {
setup_cart_PCE(); setup_cart_PCE();
mode = mode_PCE; mode = mode_PCE;
break; break;
case 2:
resetArduino();
break;
} }
} }

View File

@ -35,7 +35,7 @@ void smsMenu() {
case 1: case 1:
// Reset // Reset
asm volatile (" jmp 0"); resetArduino();
break; break;
} }
println_Msg(F("")); println_Msg(F(""));

View File

@ -32,7 +32,8 @@ static const char snsMenuItem2[] PROGMEM = "NPower SF Memory";
static const char snsMenuItem3[] PROGMEM = "Satellaview BS-X"; static const char snsMenuItem3[] PROGMEM = "Satellaview BS-X";
static const char snsMenuItem4[] PROGMEM = "HiROM repro"; static const char snsMenuItem4[] PROGMEM = "HiROM repro";
static const char snsMenuItem5[] PROGMEM = "LoROM repro"; static const char snsMenuItem5[] PROGMEM = "LoROM repro";
static const char* const menuOptionsSNS[] PROGMEM = {snsMenuItem1, snsMenuItem2, snsMenuItem3, snsMenuItem4, snsMenuItem5}; static const char snsMenuItem6[] PROGMEM = "Reset";
static const char* const menuOptionsSNS[] PROGMEM = {snsMenuItem1, snsMenuItem2, snsMenuItem3, snsMenuItem4, snsMenuItem5, snsMenuItem6};
// SNES menu items // SNES menu items
static const char SnesMenuItem1[] PROGMEM = "Read Rom"; static const char SnesMenuItem1[] PROGMEM = "Read Rom";
@ -53,11 +54,11 @@ static const char* const menuOptionsConfManual[] PROGMEM = {confMenuItem1, confM
// SNES start menu // SNES start menu
void snsMenu() { void snsMenu() {
// create menu with title and 4 options to choose from // create menu with title and 6 options to choose from
unsigned char snsCart; unsigned char snsCart;
// Copy menuOptions out of progmem // Copy menuOptions out of progmem
convertPgm(menuOptionsSNS, 5); convertPgm(menuOptionsSNS, 6);
snsCart = question_box(F("Select Cart Type"), menuOptions, 5, 0); snsCart = question_box(F("Select Cart Type"), menuOptions, 6, 0);
// wait for user choice to come back from the question box menu // wait for user choice to come back from the question box menu
switch (snsCart) switch (snsCart)
@ -102,6 +103,10 @@ void snsMenu() {
wait(); wait();
mode = mode_FLASH8; mode = mode_FLASH8;
break; break;
case 5:
resetArduino();
break;
} }
} }