Support for Amstrad expansions load at boot.
This commit is contained in:
20
user_io.cpp
20
user_io.cpp
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user