mirror of
https://github.com/sanni/cartreader.git
synced 2024-11-27 23:14:14 +01:00
V25D: Fixed Derby Stallion 96 (thanks to skaman and tamanegi_taro)
This commit is contained in:
parent
876190b17e
commit
4958b83e48
@ -2,8 +2,8 @@
|
||||
Cartridge Reader for Arduino Mega2560
|
||||
|
||||
Author: sanni
|
||||
Date: 2017-06-06
|
||||
Version: V25C
|
||||
Date: 2017-06-10
|
||||
Version: V25D
|
||||
|
||||
SD lib: https://github.com/greiman/SdFat
|
||||
LCD lib: https://github.com/adafruit/Adafruit_SSD1306
|
||||
@ -34,7 +34,7 @@
|
||||
YamaArashi - GBA flashrom bank switch command
|
||||
|
||||
**********************************************************************************/
|
||||
char ver[5] = "V25C";
|
||||
char ver[5] = "V25D";
|
||||
|
||||
/******************************************
|
||||
Define Output
|
||||
|
@ -841,8 +841,31 @@ void readROM_SNES() {
|
||||
print_Error(F("Can't create file on SD"), true);
|
||||
}
|
||||
|
||||
// Check if LoROM or HiROM...
|
||||
if (romType == LO) {
|
||||
//Dump Derby Stallion '96 (Japan) Actual Size is 24Mb
|
||||
if ((romType == LO) && (numBanks == 128) && (strcmp("CC86", checksumStr) == 0)) {
|
||||
// Read Banks 0x00-0x3F for the 1st/2nd MB
|
||||
for (int currBank = 0; currBank < 64; currBank++) {
|
||||
// Dump the bytes to SD 512B at a time
|
||||
for (long currByte = 32768; currByte < 65536; currByte += 512) {
|
||||
for (int c = 0; c < 512; c++) {
|
||||
sdBuffer[c] = readBank_SNES(currBank, currByte + c);
|
||||
}
|
||||
myFile.write(sdBuffer, 512);
|
||||
}
|
||||
}
|
||||
//Read Bank 0x80-9F for the 3rd MB
|
||||
for (int currBank = 128; currBank < 160; currBank++) {
|
||||
// Dump the bytes to SD 512B at a time
|
||||
for (long currByte = 32768; currByte < 65536; currByte += 512) {
|
||||
for (int c = 0; c < 512; c++) {
|
||||
sdBuffer[c] = readBank_SNES(currBank, currByte + c);
|
||||
}
|
||||
myFile.write(sdBuffer, 512);
|
||||
}
|
||||
}
|
||||
}
|
||||
//Dump Low-type ROM
|
||||
else if (romType == LO) {
|
||||
// Read up to 96 banks starting at bank 0×00.
|
||||
for (int currBank = 0; currBank < numBanks; currBank++) {
|
||||
// Dump the bytes to SD 512B at a time
|
||||
|
Loading…
Reference in New Issue
Block a user