mirror of
https://github.com/TomHarte/CLK.git
synced 2024-11-23 03:32:32 +00:00
Added an attempt, at least, at spotting the Activision titles. Which reduces back to only the one breakage, but this is getting a bit too much like spotting the hard-coded bytes.
This commit is contained in:
parent
2c07cce282
commit
0bcf9c30de
@ -90,6 +90,17 @@ static void DeterminePagingFor2kCartridge(StaticAnalyser::Target &target, const
|
||||
|
||||
static void DeterminePagingFor8kCartridge(StaticAnalyser::Target &target, const Storage::Cartridge::Cartridge::Segment &segment, const StaticAnalyser::MOS6502::Disassembly &disassembly)
|
||||
{
|
||||
// Activision stack titles have their vectors at the top of the low 4k, not the top, and
|
||||
// always list 0xf000 as both vectors; they do not repeat them
|
||||
if(
|
||||
segment.data[4095] == 0xf0 && segment.data[4093] == 0xf0 && segment.data[4094] == 0x00 && segment.data[4092] == 0x00 &&
|
||||
(segment.data[8191] != 0xf0 || segment.data[8189] != 0xf0 || segment.data[8190] != 0x00 || segment.data[8188] != 0x00)
|
||||
)
|
||||
{
|
||||
target.atari.paging_model = StaticAnalyser::Atari2600PagingModel::ActivisionStack;
|
||||
return;
|
||||
}
|
||||
|
||||
// make an assumption that this is the Atari paging model
|
||||
target.atari.paging_model = StaticAnalyser::Atari2600PagingModel::Atari8k;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user