Look in /roms/ for roms (in addition to /)

This commit is contained in:
penfold42 2018-08-08 23:00:37 +10:00
parent 07143696fe
commit aed4baee1c

View file

@ -1067,8 +1067,15 @@ static bool AttemptToLoadROM(char* ROMName)
FIL fp; FIL fp;
FRESULT res; FRESULT res;
res = f_open(&fp, ROMName, FA_READ); char ROMName2[256] = "/roms/";
if (res == FR_OK)
if (ROMName[0] != '/') // not a full path, prepend /roms/
strncat (ROMName2, ROMName, 240);
else
ROMName2[0] = 0;
if ( (FR_OK == f_open(&fp, ROMName, FA_READ))
|| (FR_OK == f_open(&fp, ROMName2, FA_READ)) )
{ {
u32 bytesRead; u32 bytesRead;
SetACTLed(true); SetACTLed(true);
@ -1191,8 +1198,7 @@ static void CheckOptions()
if (ROMName) if (ROMName)
{ {
//DEBUG_LOG("%d Rom Name = %s\r\n", ROMIndex, ROMName); //DEBUG_LOG("%d Rom Name = %s\r\n", ROMIndex, ROMName);
res = f_open(&fp, ROMName, FA_READ); if (FR_OK == f_open(&fp, ROMName, FA_READ))
if (res == FR_OK)
{ {
u32 bytesRead; u32 bytesRead;
@ -1221,11 +1227,19 @@ static void CheckOptions()
{ {
roms.ROMValid[ROMIndex] = false; roms.ROMValid[ROMIndex] = false;
const char* ROMName = options.GetRomName(ROMIndex); const char* ROMName = options.GetRomName(ROMIndex);
if (ROMName[0]) char ROMName2[256] = "/roms/";
{
if (ROMName[0] == 0)
continue;
if (ROMName[0] != '/') // not a full path, prepend /roms/
strncat (ROMName2, ROMName, 240);
else
ROMName2[0] = 0;
//DEBUG_LOG("%d Rom Name = %s\r\n", ROMIndex, ROMName); //DEBUG_LOG("%d Rom Name = %s\r\n", ROMIndex, ROMName);
res = f_open(&fp, ROMName, FA_READ); if ( (FR_OK == f_open(&fp, ROMName, FA_READ))
if (res == FR_OK) || (FR_OK == f_open(&fp, ROMName2, FA_READ)) )
{ {
u32 bytesRead; u32 bytesRead;
@ -1249,7 +1263,6 @@ static void CheckOptions()
//DEBUG_LOG("Read ROM %s from options\r\n", ROMName); //DEBUG_LOG("Read ROM %s from options\r\n", ROMName);
} }
} }
}
if (roms.ROMValid[0] == false && !(AttemptToLoadROM("d1541.rom") || AttemptToLoadROM("dos1541") || AttemptToLoadROM("d1541II") || AttemptToLoadROM("Jiffy.bin"))) if (roms.ROMValid[0] == false && !(AttemptToLoadROM("d1541.rom") || AttemptToLoadROM("dos1541") || AttemptToLoadROM("d1541II") || AttemptToLoadROM("Jiffy.bin")))
{ {