comparison system.c @ 1893:7b62e6805e6a

Only look at low 24-bits of reset vector in ROM type detection heuristic
author Michael Pavone <pavone@retrodev.com>
date Thu, 05 Dec 2019 09:33:30 -0800
parents 360d5bab199f
children c3c62dbf1ceb
comparison
equal deleted inserted replaced
1892:1afd6e85ec26 1893:7b62e6805e6a
37 } 37 }
38 38
39 //More certain checks failed, look for a valid 68K reset vector 39 //More certain checks failed, look for a valid 68K reset vector
40 if (media->size >= 8) { 40 if (media->size >= 8) {
41 char *rom = media->buffer; 41 char *rom = media->buffer;
42 uint32_t reset = rom[4] << 24 | rom[5] << 16 | rom[6] << 8 | rom[7]; 42 uint32_t reset = rom[5] << 16 | rom[6] << 8 | rom[7];
43 if (!(reset & 1) && reset < media->size) { 43 if (!(reset & 1) && reset < media->size) {
44 //we have a valid looking reset vector, assume it's a Genesis ROM 44 //we have a valid looking reset vector, assume it's a Genesis ROM
45 return SYSTEM_GENESIS; 45 return SYSTEM_GENESIS;
46 } 46 }
47 } 47 }