mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-05 23:37:46 -04:00
sms, memory mapping improvements
This commit is contained in:
parent
47ea630f6d
commit
032c76a3a2
4 changed files with 69 additions and 41 deletions
11
pico/media.c
11
pico/media.c
|
@ -35,8 +35,8 @@ static int detect_media(const char *fname)
|
|||
{
|
||||
static const short sms_offsets[] = { 0x7ff0, 0x3ff0, 0x1ff0 };
|
||||
static const char *sms_exts[] = { "sms", "gg", "sg" };
|
||||
static const char *md_exts[] = { "gen", "bin", "smd" };
|
||||
char buff0[32], buff[32];
|
||||
static const char *md_exts[] = { "gen", "smd" };
|
||||
char buff0[512], buff[32];
|
||||
unsigned short *d16;
|
||||
pm_file *pmf;
|
||||
char ext[5];
|
||||
|
@ -56,7 +56,7 @@ static int detect_media(const char *fname)
|
|||
if (pmf == NULL)
|
||||
return PM_BAD_DETECT;
|
||||
|
||||
if (pm_read(buff0, 32, pmf) != 32) {
|
||||
if (pm_read(buff0, 512, pmf) != 512) {
|
||||
pm_close(pmf);
|
||||
return PM_BAD_DETECT;
|
||||
}
|
||||
|
@ -111,6 +111,11 @@ extension_check:
|
|||
lprintf("bad MD reset vector, assuming SMS\n");
|
||||
goto looks_like_sms;
|
||||
}
|
||||
d16 = (unsigned short *)(buff0 + 0x1a0);
|
||||
if ((((d16[0] << 16) | d16[1]) & 0xffffff) != 0) {
|
||||
lprintf("bad MD rom start, assuming SMS\n");
|
||||
goto looks_like_sms;
|
||||
}
|
||||
|
||||
looks_like_md:
|
||||
pm_close(pmf);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue