1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-11-23 03:32:32 +00:00

Extended test set a little, corrected current failures.

This commit is contained in:
Thomas Harte 2017-03-11 20:51:25 -05:00
parent 443d57bc32
commit c7e973aab4
2 changed files with 25 additions and 5 deletions

View File

@ -32,9 +32,19 @@ static NSDictionary<NSString *, AtariROMRecord *> *romRecordsBySHA1 = @{
Record(@"58dbcbdffbe80be97746e94a0a75614e64458fdc", None, NO) // 4kraVCS Record(@"58dbcbdffbe80be97746e94a0a75614e64458fdc", None, NO) // 4kraVCS
Record(@"9967a76efb68017f793188f691159f04e6bb4447", None, NO) // 'X'Mission Record(@"9967a76efb68017f793188f691159f04e6bb4447", None, NO) // 'X'Mission
Record(@"21d983f2f52b84c22ecae84b0943678ae2c31c10", None, NO) // 3d Tic-Tac-Toe Record(@"21d983f2f52b84c22ecae84b0943678ae2c31c10", None, NO) // 3d Tic-Tac-Toe
Record(@"d7c62df8300a68b21ce672cfaa4d0f2f4b3d0ce1", Atari32k, NO) // Acid Drop Record(@"d7c62df8300a68b21ce672cfaa4d0f2f4b3d0ce1", Atari16k, NO) // Acid Drop
Record(@"924ca836aa08eeffc141d487ac6b9b761b2f8ed5", None, NO) // Action Force Record(@"924ca836aa08eeffc141d487ac6b9b761b2f8ed5", None, NO) // Action Force
Record(@"e07e48d463d30321239a8acc00c490f27f1f7422", None, NO) // Adventure Record(@"e07e48d463d30321239a8acc00c490f27f1f7422", None, NO) // Adventure
Record(@"03a495c7bfa0671e24aa4d9460d232731f68cb43", None, NO) // Adventures of Tron
Record(@"6e420544bf91f603639188824a2b570738bb7e02", None, NO) // Adventures On GX12.a26
Record(@"3b02e7dacb418c44d0d3dc77d60a9663b90b0fbc", None, NO) // Air Raid
Record(@"29f5c73d1fe806a4284547274dd73f9972a7ed70", None, NO) // Air Raiders
Record(@"af5b9f33ccb7778b42957da4f20f2bc000992366", None, NO) // Air-Sea Battle
Record(@"0376c242819b785310b8af43c03b1d1156bd5f02", None, NO) // Airlock
Record(@"fb870ec3d51468fa4cf40e0efae9617e60c1c91c", None, NO) // AKA Space Adventure
Record(@"01d99bf307262825db58631e8002dd008a42cb1e", None, NO) // Alien
Record(@"a1f660827ce291f19719a5672f2c5d277d903b03", Atari8k, NO) // Alpha Beam with Ernie
Record(@"b89a5ac6593e83fbebee1fe7d4cec81a7032c544", None, NO) // Amidar
}; };
#undef Record #undef Record
@ -69,7 +79,7 @@ static NSDictionary<NSString *, AtariROMRecord *> *romRecordsBySHA1 = @{
AtariROMRecord *romRecord = [self romRecordForSHA1:sha1]; AtariROMRecord *romRecord = [self romRecordForSHA1:sha1];
if(!romRecord) if(!romRecord)
{ {
NSLog(@"No record for %@ with SHA1 %@", testFile, sha1); // NSLog(@"No record for %@ with SHA1 %@", testFile, sha1);
continue; continue;
} }

View File

@ -143,9 +143,19 @@ static void DeterminePagingForCartridge(StaticAnalyser::Target &target, const St
external_stores.insert(disassemblies.back().external_stores.begin(), disassemblies.back().external_stores.end()); external_stores.insert(disassemblies.back().external_stores.begin(), disassemblies.back().external_stores.end());
} }
if(segment.data.size() == 8192) switch(segment.data.size())
{ {
case 8192:
DeterminePagingFor8kCartridge(target, segment, disassemblies); DeterminePagingFor8kCartridge(target, segment, disassemblies);
break;
case 16384:
target.atari.paging_model = StaticAnalyser::Atari2600PagingModel::Atari16k;
break;
case 32768:
target.atari.paging_model = StaticAnalyser::Atari2600PagingModel::Atari32k;
break;
default:
break;
} }
// check for any sort of on-cartridge RAM; that might imply a Super Chip or else immediately tip the // check for any sort of on-cartridge RAM; that might imply a Super Chip or else immediately tip the
@ -166,7 +176,7 @@ static void DeterminePagingForCartridge(StaticAnalyser::Target &target, const St
if(is_ram_plus) target.atari.paging_model = StaticAnalyser::Atari2600PagingModel::CBSRamPlus; if(is_ram_plus) target.atari.paging_model = StaticAnalyser::Atari2600PagingModel::CBSRamPlus;
// check for a Tigervision or Tigervision-esque scheme // check for a Tigervision or Tigervision-esque scheme
if(target.atari.paging_model == StaticAnalyser::Atari2600PagingModel::None) if(target.atari.paging_model == StaticAnalyser::Atari2600PagingModel::None && segment.data.size() > 4096)
{ {
bool looks_like_tigervision = external_stores.find(0x3f) != external_stores.end(); bool looks_like_tigervision = external_stores.find(0x3f) != external_stores.end();
if(looks_like_tigervision) target.atari.paging_model = StaticAnalyser::Atari2600PagingModel::Tigervision; if(looks_like_tigervision) target.atari.paging_model = StaticAnalyser::Atari2600PagingModel::Tigervision;