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
1 changed files with 41 additions and 28 deletions

View File

@ -1067,8 +1067,15 @@ static bool AttemptToLoadROM(char* ROMName)
FIL fp;
FRESULT res;
res = f_open(&fp, ROMName, FA_READ);
if (res == FR_OK)
char ROMName2[256] = "/roms/";
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;
SetACTLed(true);
@ -1191,8 +1198,7 @@ static void CheckOptions()
if (ROMName)
{
//DEBUG_LOG("%d Rom Name = %s\r\n", ROMIndex, ROMName);
res = f_open(&fp, ROMName, FA_READ);
if (res == FR_OK)
if (FR_OK == f_open(&fp, ROMName, FA_READ))
{
u32 bytesRead;
@ -1221,11 +1227,19 @@ static void CheckOptions()
{
roms.ROMValid[ROMIndex] = false;
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);
res = f_open(&fp, ROMName, FA_READ);
if (res == FR_OK)
if ( (FR_OK == f_open(&fp, ROMName, FA_READ))
|| (FR_OK == f_open(&fp, ROMName2, FA_READ)) )
{
u32 bytesRead;
@ -1249,7 +1263,6 @@ static void CheckOptions()
//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")))
{