mirror of
https://github.com/sanni/cartreader.git
synced 2024-12-18 00:51:49 +01:00
Add option to set rom size manually for SMS
This commit is contained in:
parent
f62a215bb0
commit
430f8e3952
@ -354,7 +354,7 @@ static const char modeItem4[] PROGMEM = "Game Boy";
|
|||||||
static const char modeItem5[] PROGMEM = "NES/Famicom";
|
static const char modeItem5[] PROGMEM = "NES/Famicom";
|
||||||
static const char modeItem6[] PROGMEM = "Flashrom Programmer";
|
static const char modeItem6[] PROGMEM = "Flashrom Programmer";
|
||||||
static const char modeItem7[] PROGMEM = "PC Engine/TG16";
|
static const char modeItem7[] PROGMEM = "PC Engine/TG16";
|
||||||
static const char modeItem8[] PROGMEM = "Sega Master System";
|
static const char modeItem8[] PROGMEM = "SMS/GG/MIII/SG-1000";
|
||||||
static const char modeItem9[] PROGMEM = "WonderSwan";
|
static const char modeItem9[] PROGMEM = "WonderSwan";
|
||||||
static const char modeItem10[] PROGMEM = "NeoGeo Pocket";
|
static const char modeItem10[] PROGMEM = "NeoGeo Pocket";
|
||||||
static const char modeItem11[] PROGMEM = "About";
|
static const char modeItem11[] PROGMEM = "About";
|
||||||
@ -486,7 +486,7 @@ static const char* const modeOptions[] PROGMEM = {modeItem1, modeItem2, modeItem
|
|||||||
static const char addonsItem1[] PROGMEM = "NES/Famicom";
|
static const char addonsItem1[] PROGMEM = "NES/Famicom";
|
||||||
static const char addonsItem2[] PROGMEM = "Flashrom Programmer";
|
static const char addonsItem2[] PROGMEM = "Flashrom Programmer";
|
||||||
static const char addonsItem3[] PROGMEM = "PC Engine/TG16";
|
static const char addonsItem3[] PROGMEM = "PC Engine/TG16";
|
||||||
static const char addonsItem4[] PROGMEM = "Sega Master System";
|
static const char addonsItem4[] PROGMEM = "SMS/GG/MIII/SG-1000";
|
||||||
static const char addonsItem5[] PROGMEM = "WonderSwan";
|
static const char addonsItem5[] PROGMEM = "WonderSwan";
|
||||||
static const char addonsItem6[] PROGMEM = "NeoGeo Pocket";
|
static const char addonsItem6[] PROGMEM = "NeoGeo Pocket";
|
||||||
static const char addonsItem7[] PROGMEM = "Reset";
|
static const char addonsItem7[] PROGMEM = "Reset";
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
//******************************************
|
//**********************************************
|
||||||
// SEGA MASTER SYSTEM MODULE
|
// SEGA MASTER SYSTEM/SG-1000/GAME GEAR MODULE
|
||||||
//******************************************
|
//**********************************************
|
||||||
|
|
||||||
#include "options.h"
|
#include "options.h"
|
||||||
#ifdef enable_MD
|
#ifdef enable_MD
|
||||||
@ -20,6 +20,16 @@ static const char SMSMenuItem4[] PROGMEM = "Change Retrode Mode";
|
|||||||
static const char SMSMenuItem5[] PROGMEM = "Reset";
|
static const char SMSMenuItem5[] PROGMEM = "Reset";
|
||||||
static const char* const menuOptionsSMS[] PROGMEM = {SMSMenuItem1, SMSMenuItem2, SMSMenuItem3, SMSMenuItem4, SMSMenuItem5};
|
static const char* const menuOptionsSMS[] PROGMEM = {SMSMenuItem1, SMSMenuItem2, SMSMenuItem3, SMSMenuItem4, SMSMenuItem5};
|
||||||
|
|
||||||
|
// Rom Size menu
|
||||||
|
static const char SMSRomItem1[] PROGMEM = "8KB";
|
||||||
|
static const char SMSRomItem2[] PROGMEM = "16KB";
|
||||||
|
static const char SMSRomItem3[] PROGMEM = "24KB";
|
||||||
|
static const char SMSRomItem4[] PROGMEM = "32KB";
|
||||||
|
static const char SMSRomItem5[] PROGMEM = "40KB";
|
||||||
|
static const char SMSRomItem6[] PROGMEM = "48KB";
|
||||||
|
static const char SMSRomItem7[] PROGMEM = "512KB";
|
||||||
|
static const char* const romOptionsSMS[] PROGMEM = {SMSRomItem1, SMSRomItem2, SMSRomItem3, SMSRomItem4, SMSRomItem5, SMSRomItem6, SMSRomItem7};
|
||||||
|
|
||||||
// Set retrode_mode to true when using a retrode SMS/GG adapter
|
// Set retrode_mode to true when using a retrode SMS/GG adapter
|
||||||
static bool retrode_mode = false;
|
static bool retrode_mode = false;
|
||||||
static bool retrode_mode_sms = false; // true: SMS/Mark3 false: GG
|
static bool retrode_mode_sms = false; // true: SMS/Mark3 false: GG
|
||||||
@ -373,20 +383,76 @@ void getCartInfo_SMS() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
display_Clear();
|
// SMS header not found
|
||||||
println_Msg(F("Cart Info"));
|
|
||||||
println_Msg(F(" "));
|
|
||||||
print_Msg(F("Name: "));
|
|
||||||
println_Msg(romName);
|
|
||||||
print_Msg(F("Size: "));
|
|
||||||
print_Msg(cartSize / 1024);
|
|
||||||
println_Msg(F("KB"));
|
|
||||||
println_Msg(F(" "));
|
|
||||||
|
|
||||||
if (strcmp(romName, "TMR SEGA") != 0) {
|
if (strcmp(romName, "TMR SEGA") != 0) {
|
||||||
print_Error(F("Not working yet"), false);
|
// Set cartsize manually
|
||||||
sprintf(romName, "ERROR");
|
unsigned char SMSRomMenu;
|
||||||
cartSize = 48 * 1024UL;
|
// Copy menuOptions out of progmem
|
||||||
|
convertPgm(romOptionsSMS, 7);
|
||||||
|
SMSRomMenu = question_box(F("Select ROM size"), menuOptions, 7, 0);
|
||||||
|
|
||||||
|
// wait for user choice to come back from the question box menu
|
||||||
|
switch (SMSRomMenu)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
// 8KB
|
||||||
|
cartSize = 8 * 1024UL;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
// 16KB
|
||||||
|
cartSize = 16 * 1024UL;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
// 24KB
|
||||||
|
cartSize = 24 * 1024UL;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
// 32KB
|
||||||
|
cartSize = 32 * 1024UL;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 4:
|
||||||
|
// 40KB
|
||||||
|
cartSize = 40 * 1024UL;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 5:
|
||||||
|
// 48KB
|
||||||
|
cartSize = 48 * 1024UL;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 6:
|
||||||
|
// 512KB
|
||||||
|
cartSize = 512 * 1024UL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
display_Clear();
|
||||||
|
println_Msg(F("SMS Header not found"));
|
||||||
|
println_Msg(F(" "));
|
||||||
|
print_Msg(F("Name: "));
|
||||||
|
println_Msg(romName);
|
||||||
|
print_Msg(F("Selected Size: "));
|
||||||
|
print_Msg(cartSize / 1024);
|
||||||
|
println_Msg(F("KB"));
|
||||||
|
println_Msg(F(" "));
|
||||||
|
sprintf(romName, "UNKNOWN");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Header found
|
||||||
|
else {
|
||||||
|
display_Clear();
|
||||||
|
println_Msg(F("SMS Header Info"));
|
||||||
|
println_Msg(F(" "));
|
||||||
|
print_Msg(F("Name: "));
|
||||||
|
println_Msg(romName);
|
||||||
|
print_Msg(F("Size: "));
|
||||||
|
print_Msg(cartSize / 1024);
|
||||||
|
println_Msg(F("KB"));
|
||||||
|
println_Msg(F(" "));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wait for user input
|
// Wait for user input
|
||||||
|
Loading…
Reference in New Issue
Block a user