MD Sketch Improvements by skaman

IMPROVEMENTS:
Added read/write support for all Serial EEPROM cart types (Acclaim Type 1, Acclaim Type 2, Capcom, Codemasters, EA, and Sega).  Capcom EEPROM code is untested but should work the same as Sega EEPROM code.

Fixed SRAM code to handle all SRAM types.

Added identification of SRAM carts that have bad headers.

Added support for Super Street Fighter 2.

WARNINGS:
Serial EEPROM writes take time to complete.

Serial EEPROM support was tested using Serial Output only.  Support using the OLED Display might require some timing adjustment as display_Update() on Serial translates to delay(100).

ADDITIONAL NOTES:
I've included a save file for NBA Jam T.E. Rev 0.

NBA Jam T.E. Rev 0 has faulty code that will erase the EEPROM when the cart is played on the console.  The solution proposed by the publisher was to play the cart with two different sets of initials (XXX, NBA) to initialize the EEPROM.  The included save file was created after doing this special initialization.  My tests of the EEPROM show that it will still erase after the special initialization.

I did some additional tests and found a potential solution.  Write the included save file to the cart.  Play the cart on the console as normal.  Create new saves as needed.  When done playing, HOLD THE RESET BUTTON DOWN BEFORE TURNING THE CONSOLE OFF.  YMMV.
This commit is contained in:
sanni 2019-08-25 10:15:23 +02:00
parent f066c779a7
commit 13243cdba4
3 changed files with 921 additions and 53 deletions

View File

@ -2,8 +2,8 @@
Cartridge Reader for Arduino Mega2560
Author: sanni
Date: 23-08-2019
Version: 3.1
Date: 25-08-2019
Version: 3.2
SD lib: https://github.com/greiman/SdFat
LCD lib: https://github.com/adafruit/Adafruit_SSD1306
@ -16,7 +16,7 @@
MichlK - ROM-Reader for Super Nintendo
Jeff Saltzman - 4-Way Button
Wayne and Layne - Video-Game-Shield menu
skaman - SNES enhancements, SA1 sram support and GB flash fix
skaman - SNES enhancements, SA1 sram support,GB flash fix and MD improvements
nocash - Nintendo Power and GBA Eeprom commands and lots of other info
crazynation - N64 bus timing
hkz/themanbehindthecurtain - N64 flashram commands
@ -37,7 +37,7 @@
vogelfreiheit - N64 flashram fix
**********************************************************************************/
char ver[5] = "3.1";
char ver[5] = "3.2";
/******************************************
Define Starting Point
@ -504,7 +504,7 @@ void setup() {
// Serial Begin
Serial.begin(9600);
Serial.println(F("Cartridge Reader"));
Serial.println(F("2018 sanni"));
Serial.println(F("2019 sanni"));
Serial.println("");
// LED Error
rgb.setColor(0, 0, 255);

File diff suppressed because it is too large Load Diff

BIN
sd/NBAJAMTE.eep Normal file

Binary file not shown.