mirror of
https://github.com/TomHarte/CLK.git
synced 2025-02-18 01:30:56 +00:00
Adds extended ROM information for the CPC and ColecoVision.
This commit is contained in:
parent
3c68a5ca65
commit
712cb473f7
@ -781,24 +781,33 @@ template <bool has_fdc> class ConcreteMachine:
|
|||||||
ay_.ay().set_port_handler(&key_state_);
|
ay_.ay().set_port_handler(&key_state_);
|
||||||
|
|
||||||
// construct the list of necessary ROMs
|
// construct the list of necessary ROMs
|
||||||
std::vector<ROMMachine::ROM> required_roms = { {"amsdos.rom"} };
|
std::vector<ROMMachine::ROM> required_roms = {
|
||||||
|
ROMMachine::ROM("the Amstrad Disk Operating System", "amsdos.rom", 16*1024, 0x1fe22ecd)
|
||||||
|
};
|
||||||
std::string model_number;
|
std::string model_number;
|
||||||
|
uint32_t crcs[2];
|
||||||
switch(target.model) {
|
switch(target.model) {
|
||||||
default:
|
default:
|
||||||
model_number = "6128";
|
model_number = "6128";
|
||||||
has_128k_ = true;
|
has_128k_ = true;
|
||||||
|
crcs[0] = 0x0219bb74;
|
||||||
|
crcs[1] = 0xca6af63d;
|
||||||
break;
|
break;
|
||||||
case Analyser::Static::AmstradCPC::Target::Model::CPC464:
|
case Analyser::Static::AmstradCPC::Target::Model::CPC464:
|
||||||
model_number = "464";
|
model_number = "464";
|
||||||
has_128k_ = false;
|
has_128k_ = false;
|
||||||
|
crcs[0] = 0x815752df;
|
||||||
|
crcs[1] = 0x7d9a3bac;
|
||||||
break;
|
break;
|
||||||
case Analyser::Static::AmstradCPC::Target::Model::CPC664:
|
case Analyser::Static::AmstradCPC::Target::Model::CPC664:
|
||||||
model_number = "664";
|
model_number = "664";
|
||||||
has_128k_ = false;
|
has_128k_ = false;
|
||||||
|
crcs[0] = 0x3f5a6dc4;
|
||||||
|
crcs[1] = 0x32fee492;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
required_roms.push_back("os" + model_number + ".rom");
|
required_roms.emplace_back("the CPC " + model_number + "firmware", "os" + model_number + ".rom", 16*1024, crcs[0]);
|
||||||
required_roms.push_back("basic" + model_number + ".rom");
|
required_roms.emplace_back("the CPC " + model_number + "BASIC ROM", "basic" + model_number + ".rom", 16*1024, crcs[1]);
|
||||||
|
|
||||||
// fetch and verify the ROMs
|
// fetch and verify the ROMs
|
||||||
const auto roms = rom_fetcher("AmstradCPC", required_roms);
|
const auto roms = rom_fetcher("AmstradCPC", required_roms);
|
||||||
|
@ -132,7 +132,7 @@ class ConcreteMachine:
|
|||||||
|
|
||||||
const auto roms = rom_fetcher(
|
const auto roms = rom_fetcher(
|
||||||
"ColecoVision",
|
"ColecoVision",
|
||||||
{ ROMMachine::ROM("coleco.rom") });
|
{ ROMMachine::ROM("the ColecoVision BIOS", "coleco.rom", 8*1024, 0x3aa93ef3) });
|
||||||
|
|
||||||
if(!roms[0]) {
|
if(!roms[0]) {
|
||||||
throw ROMMachine::Error::MissingROMs;
|
throw ROMMachine::Error::MissingROMs;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user