mirror of
https://github.com/sanni/cartreader.git
synced 2024-11-14 17:05:08 +01:00
V2.1: Slow down reading of N64 eeprom
This commit is contained in:
parent
7e0e7bd08c
commit
7356a93710
@ -2,8 +2,8 @@
|
|||||||
Cartridge Reader for Arduino Mega2560
|
Cartridge Reader for Arduino Mega2560
|
||||||
|
|
||||||
Author: sanni
|
Author: sanni
|
||||||
Date: 14-10-2018
|
Date: 20-10-2018
|
||||||
Version: 2.0
|
Version: 2.1
|
||||||
|
|
||||||
SD lib: https://github.com/greiman/SdFat
|
SD lib: https://github.com/greiman/SdFat
|
||||||
LCD lib: https://github.com/adafruit/Adafruit_SSD1306
|
LCD lib: https://github.com/adafruit/Adafruit_SSD1306
|
||||||
@ -37,7 +37,7 @@
|
|||||||
vogelfreiheit - N64 flashram fix
|
vogelfreiheit - N64 flashram fix
|
||||||
|
|
||||||
**********************************************************************************/
|
**********************************************************************************/
|
||||||
char ver[5] = "2.0";
|
char ver[5] = "2.1";
|
||||||
|
|
||||||
/******************************************
|
/******************************************
|
||||||
Define Starting Point
|
Define Starting Point
|
||||||
|
@ -1471,8 +1471,8 @@ void writeEeprom() {
|
|||||||
void readEeprom() {
|
void readEeprom() {
|
||||||
if ((saveType == 5) || (saveType == 6)) {
|
if ((saveType == 5) || (saveType == 6)) {
|
||||||
|
|
||||||
// Wait 0.6ms
|
// Wait 50ms or eeprom might lock up
|
||||||
pulseClock_N64(300);
|
pulseClock_N64(26000);
|
||||||
|
|
||||||
// Get name, add extension and convert to char array for sd lib
|
// Get name, add extension and convert to char array for sd lib
|
||||||
strcpy(fileName, romName);
|
strcpy(fileName, romName);
|
||||||
@ -1513,8 +1513,8 @@ void readEeprom() {
|
|||||||
for (byte j = 0; j < 64; j += 8) {
|
for (byte j = 0; j < 64; j += 8) {
|
||||||
sdBuffer[(pageNumber * 8) + (j / 8)] = tempBits[0 + j] << 7 | tempBits[1 + j] << 6 | tempBits[2 + j] << 5 | tempBits[3 + j] << 4 | tempBits[4 + j] << 3 | tempBits[5 + j] << 2 | tempBits[6 + j] << 1 | tempBits[7 + j];
|
sdBuffer[(pageNumber * 8) + (j / 8)] = tempBits[0 + j] << 7 | tempBits[1 + j] << 6 | tempBits[2 + j] << 5 | tempBits[3 + j] << 4 | tempBits[4 + j] << 3 | tempBits[5 + j] << 2 | tempBits[6 + j] << 1 | tempBits[7 + j];
|
||||||
}
|
}
|
||||||
// Wait ~0.6ms between pages or eeprom will lock up
|
// Wait 50ms between pages or eeprom might lock up
|
||||||
pulseClock_N64(300);
|
pulseClock_N64(26000);
|
||||||
}
|
}
|
||||||
interrupts();
|
interrupts();
|
||||||
|
|
||||||
@ -1540,8 +1540,8 @@ unsigned long verifyEeprom() {
|
|||||||
if ((saveType == 5) || (saveType == 6)) {
|
if ((saveType == 5) || (saveType == 6)) {
|
||||||
writeErrors = 0;
|
writeErrors = 0;
|
||||||
|
|
||||||
// Wait 0.6ms
|
// Wait 50ms or eeprom might lock up
|
||||||
pulseClock_N64(300);
|
pulseClock_N64(26000);
|
||||||
|
|
||||||
print_Msg(F("Verifying against "));
|
print_Msg(F("Verifying against "));
|
||||||
println_Msg(filePath);
|
println_Msg(filePath);
|
||||||
@ -1566,14 +1566,12 @@ unsigned long verifyEeprom() {
|
|||||||
readData();
|
readData();
|
||||||
sendStop();
|
sendStop();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// OR 8 bits into one byte for a total of 8 bytes
|
// OR 8 bits into one byte for a total of 8 bytes
|
||||||
for (byte j = 0; j < 64; j += 8) {
|
for (byte j = 0; j < 64; j += 8) {
|
||||||
sdBuffer[(pageNumber * 8) + (j / 8)] = tempBits[0 + j] << 7 | tempBits[1 + j] << 6 | tempBits[2 + j] << 5 | tempBits[3 + j] << 4 | tempBits[4 + j] << 3 | tempBits[5 + j] << 2 | tempBits[6 + j] << 1 | tempBits[7 + j];
|
sdBuffer[(pageNumber * 8) + (j / 8)] = tempBits[0 + j] << 7 | tempBits[1 + j] << 6 | tempBits[2 + j] << 5 | tempBits[3 + j] << 4 | tempBits[4 + j] << 3 | tempBits[5 + j] << 2 | tempBits[6 + j] << 1 | tempBits[7 + j];
|
||||||
}
|
}
|
||||||
// Wait ~0.6ms between pages or eeprom will lock up
|
// Wait 50ms between pages or eeprom might lock up
|
||||||
pulseClock_N64(300);
|
pulseClock_N64(26000);
|
||||||
}
|
}
|
||||||
interrupts();
|
interrupts();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user