Support for Amstrad expansions load at boot.

This commit is contained in:
sorgelig
2018-07-11 15:41:47 +08:00
parent 525a80f54b
commit fb016b4c1a

View File

@@ -148,6 +148,11 @@ char is_x86_core()
return (is_x86_type == 1);
}
char is_cpc_core()
{
return !strcasecmp(core_name, "amstrad");
}
static int is_no_type = 0;
static int disable_osd = 0;
char has_menu()
@@ -482,7 +487,7 @@ void user_io_init(const char *path)
{
// check for multipart rom
sprintf(mainpath, "%s/boot0.rom", user_io_get_core_name());
if (user_io_file_tx(mainpath))
if (!is_cpc_core() && user_io_file_tx(mainpath))
{
sprintf(mainpath, "%s/boot1.rom", user_io_get_core_name());
if (user_io_file_tx(mainpath, 0x40))
@@ -514,6 +519,19 @@ void user_io_init(const char *path)
}
}
if (is_cpc_core())
{
sprintf(mainpath, "%s/boot.eZZ", user_io_get_core_name());
user_io_file_tx(mainpath, 0x40);
sprintf(mainpath, "%s/boot.eZ0", user_io_get_core_name());
user_io_file_tx(mainpath, 0x40);
for (int i = 0; i < 256; i++)
{
sprintf(mainpath, "%s/boot.e%02X", user_io_get_core_name(), i);
user_io_file_tx(mainpath, 0x40);
}
}
// check if vhd present
sprintf(mainpath, "%s/boot.vhd", user_io_get_core_name());
user_io_set_index(0);