mirror of
https://github.com/sanni/cartreader.git
synced 2024-11-23 21:19:16 +01:00
Fix Led and missing word wrap
This commit is contained in:
parent
d64ce10391
commit
5a3b311feb
@ -717,15 +717,33 @@ void print_Msg(const __FlashStringHelper *string) {
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void print_Msg(const char string[]) {
|
void print_Msg(const char myString[]) {
|
||||||
#ifdef enable_LCD
|
#ifdef enable_LCD
|
||||||
display.print(string);
|
// test for word wrap
|
||||||
|
if ((display.tx + strlen(myString) * 6) > 128) {
|
||||||
|
int strPos = 0;
|
||||||
|
// Print until end of display
|
||||||
|
while (display.tx < 122) {
|
||||||
|
display.print(myString[strPos]);
|
||||||
|
strPos++;
|
||||||
|
}
|
||||||
|
// Newline
|
||||||
|
display.setCursor(0, display.ty + 8);
|
||||||
|
// Print remaining characters
|
||||||
|
while (strPos < strlen(myString)) {
|
||||||
|
display.print(myString[strPos]);
|
||||||
|
strPos++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
display.print(myString);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
#ifdef enable_OLED
|
#ifdef enable_OLED
|
||||||
display.print(string);
|
display.print(myString);
|
||||||
#endif
|
#endif
|
||||||
#ifdef enable_serial
|
#ifdef enable_serial
|
||||||
Serial.print(string);
|
Serial.print(myString);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -784,7 +802,7 @@ void print_Msg_PaddedHex32(unsigned long message) {
|
|||||||
|
|
||||||
void println_Msg(String string) {
|
void println_Msg(String string) {
|
||||||
#ifdef enable_LCD
|
#ifdef enable_LCD
|
||||||
display.println(string);
|
print_Msg(string);
|
||||||
display.setCursor(0, display.ty + 8);
|
display.setCursor(0, display.ty + 8);
|
||||||
#endif
|
#endif
|
||||||
#ifdef enable_OLED
|
#ifdef enable_OLED
|
||||||
@ -797,7 +815,7 @@ void println_Msg(String string) {
|
|||||||
|
|
||||||
void println_Msg(byte message, int outputFormat) {
|
void println_Msg(byte message, int outputFormat) {
|
||||||
#ifdef enable_LCD
|
#ifdef enable_LCD
|
||||||
display.println(message, outputFormat);
|
print_Msg(message, outputFormat);
|
||||||
display.setCursor(0, display.ty + 8);
|
display.setCursor(0, display.ty + 8);
|
||||||
#endif
|
#endif
|
||||||
#ifdef enable_OLED
|
#ifdef enable_OLED
|
||||||
@ -810,7 +828,7 @@ void println_Msg(byte message, int outputFormat) {
|
|||||||
|
|
||||||
void println_Msg(const char message[]) {
|
void println_Msg(const char message[]) {
|
||||||
#ifdef enable_LCD
|
#ifdef enable_LCD
|
||||||
display.println(message);
|
print_Msg(message);
|
||||||
display.setCursor(0, display.ty + 8);
|
display.setCursor(0, display.ty + 8);
|
||||||
#endif
|
#endif
|
||||||
#ifdef enable_OLED
|
#ifdef enable_OLED
|
||||||
@ -823,7 +841,7 @@ void println_Msg(const char message[]) {
|
|||||||
|
|
||||||
void println_Msg(const __FlashStringHelper *string) {
|
void println_Msg(const __FlashStringHelper *string) {
|
||||||
#ifdef enable_LCD
|
#ifdef enable_LCD
|
||||||
display.println(string);
|
print_Msg(string);
|
||||||
display.setCursor(0, display.ty + 8);
|
display.setCursor(0, display.ty + 8);
|
||||||
#endif
|
#endif
|
||||||
#ifdef enable_OLED
|
#ifdef enable_OLED
|
||||||
@ -836,7 +854,7 @@ void println_Msg(const __FlashStringHelper *string) {
|
|||||||
|
|
||||||
void println_Msg(long unsigned int message) {
|
void println_Msg(long unsigned int message) {
|
||||||
#ifdef enable_LCD
|
#ifdef enable_LCD
|
||||||
display.print(message);
|
print_Msg(message);
|
||||||
display.setCursor(0, display.ty + 8);
|
display.setCursor(0, display.ty + 8);
|
||||||
#endif
|
#endif
|
||||||
#ifdef enable_OLED
|
#ifdef enable_OLED
|
||||||
@ -910,7 +928,7 @@ void wait_serial() {
|
|||||||
for (unsigned long currByte = 0; currByte < fileSize; currByte++) {
|
for (unsigned long currByte = 0; currByte < fileSize; currByte++) {
|
||||||
// Blink led
|
// Blink led
|
||||||
if (currByte % 1024 == 0)
|
if (currByte % 1024 == 0)
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
Serial.write(myFile.read());
|
Serial.write(myFile.read());
|
||||||
}
|
}
|
||||||
// Close the file:
|
// Close the file:
|
||||||
@ -959,7 +977,7 @@ byte questionBox_Serial(const __FlashStringHelper* question, char answers[7][20]
|
|||||||
myFile.write(Serial.read());
|
myFile.write(Serial.read());
|
||||||
fileSize++;
|
fileSize++;
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Close the file:
|
// Close the file:
|
||||||
@ -1034,6 +1052,14 @@ void rgbLed(byte Color) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void blinkLED() {
|
||||||
|
#if defined(enable_OLED) || defined(enable_serial)
|
||||||
|
PORTB ^= (1 << 4);
|
||||||
|
#elif defined(enable_LCD)
|
||||||
|
PORTB ^= (1 << 7);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
/******************************************
|
/******************************************
|
||||||
LCD Menu Module
|
LCD Menu Module
|
||||||
*****************************************/
|
*****************************************/
|
||||||
|
@ -985,7 +985,7 @@ void eraseFlash29F032() {
|
|||||||
// After a completed erase D7 will output 1
|
// After a completed erase D7 will output 1
|
||||||
while ((statusReg & 0x80) != 0x80) {
|
while ((statusReg & 0x80) != 0x80) {
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
delay(100);
|
delay(100);
|
||||||
// Update Status
|
// Update Status
|
||||||
statusReg = readByte_Flash(0);
|
statusReg = readByte_Flash(0);
|
||||||
@ -1026,7 +1026,7 @@ void writeFlash29F032() {
|
|||||||
}
|
}
|
||||||
// Blink led
|
// Blink led
|
||||||
if (currByte % 2048 == 0)
|
if (currByte % 2048 == 0)
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
noInterrupts();
|
noInterrupts();
|
||||||
int blockfailcnt = 0;
|
int blockfailcnt = 0;
|
||||||
@ -1157,7 +1157,7 @@ void writeFlash29F1610() {
|
|||||||
|
|
||||||
// Blink led
|
// Blink led
|
||||||
if (currByte % 3072 == 0)
|
if (currByte % 3072 == 0)
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// Check if write is complete
|
// Check if write is complete
|
||||||
delayMicroseconds(100);
|
delayMicroseconds(100);
|
||||||
@ -1212,7 +1212,7 @@ void writeFlash29F1601() {
|
|||||||
|
|
||||||
// Blink led
|
// Blink led
|
||||||
if (currByte % 3072 == 0)
|
if (currByte % 3072 == 0)
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// Check if write is complete
|
// Check if write is complete
|
||||||
delayMicroseconds(100);
|
delayMicroseconds(100);
|
||||||
@ -1355,7 +1355,7 @@ void writeFlash29LV640() {
|
|||||||
myFile.read(sdBuffer, 512);
|
myFile.read(sdBuffer, 512);
|
||||||
// Blink led
|
// Blink led
|
||||||
if (currByte % 4096 == 0)
|
if (currByte % 4096 == 0)
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
for (int c = 0; c < 512; c++) {
|
for (int c = 0; c < 512; c++) {
|
||||||
// Write command sequence
|
// Write command sequence
|
||||||
writeByte_Flash(0x555 << 1, 0xaa);
|
writeByte_Flash(0x555 << 1, 0xaa);
|
||||||
@ -1400,7 +1400,7 @@ void writeFlash29GL(unsigned long sectorSize, byte bufferSize) {
|
|||||||
|
|
||||||
for (unsigned long currSector = 0; currSector < fileSize; currSector += sectorSize) {
|
for (unsigned long currSector = 0; currSector < fileSize; currSector += sectorSize) {
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// Write to flashrom
|
// Write to flashrom
|
||||||
for (unsigned long currSdBuffer = 0; currSdBuffer < sectorSize; currSdBuffer += 512) {
|
for (unsigned long currSdBuffer = 0; currSdBuffer < sectorSize; currSdBuffer += 512) {
|
||||||
@ -1471,7 +1471,7 @@ void writeFlash29F800() {
|
|||||||
myFile.read(sdBuffer, 512);
|
myFile.read(sdBuffer, 512);
|
||||||
// Blink led
|
// Blink led
|
||||||
if (currByte % 2048 == 0)
|
if (currByte % 2048 == 0)
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
for (int c = 0; c < 512; c++) {
|
for (int c = 0; c < 512; c++) {
|
||||||
// Write command sequence
|
// Write command sequence
|
||||||
@ -1537,7 +1537,7 @@ void eraseFlash28FXXX() {
|
|||||||
while ((readByte_Flash(ba) & 0x80) == 0x00);
|
while ((readByte_Flash(ba) & 0x80) == 0x00);
|
||||||
|
|
||||||
// blink LED
|
// blink LED
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1581,7 +1581,7 @@ void writeFlashE28FXXXJ3A() {
|
|||||||
|
|
||||||
// Blink led
|
// Blink led
|
||||||
if (currByte % 2048 == 0)
|
if (currByte % 2048 == 0)
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
block_addr = currByte & block_addr_mask;
|
block_addr = currByte & block_addr_mask;
|
||||||
|
|
||||||
@ -1626,7 +1626,7 @@ void writeFlashLH28F0XX() {
|
|||||||
myFile.read(sdBuffer, 512);
|
myFile.read(sdBuffer, 512);
|
||||||
// Blink led
|
// Blink led
|
||||||
if (currByte % 2048 == 0)
|
if (currByte % 2048 == 0)
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
for (uint32_t c = 0; c < 512; c += bufferSize) {
|
for (uint32_t c = 0; c < 512; c += bufferSize) {
|
||||||
// sequence load to page
|
// sequence load to page
|
||||||
@ -1820,7 +1820,7 @@ void writeFlash16() {
|
|||||||
|
|
||||||
// Blink led
|
// Blink led
|
||||||
if (currByte % 2048 == 0)
|
if (currByte % 2048 == 0)
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// Check if write is complete
|
// Check if write is complete
|
||||||
delayMicroseconds(100);
|
delayMicroseconds(100);
|
||||||
@ -1879,7 +1879,7 @@ void writeFlash16_29F1601() {
|
|||||||
|
|
||||||
// Blink led
|
// Blink led
|
||||||
if (currByte % 2048 == 0)
|
if (currByte % 2048 == 0)
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// Check if write is complete
|
// Check if write is complete
|
||||||
delayMicroseconds(100);
|
delayMicroseconds(100);
|
||||||
@ -2180,7 +2180,7 @@ void writeFlash16_29LV640() {
|
|||||||
|
|
||||||
// Blink led
|
// Blink led
|
||||||
if (currWord % 4096 == 0)
|
if (currWord % 4096 == 0)
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
for (int c = 0; c < 256; c++) {
|
for (int c = 0; c < 256; c++) {
|
||||||
// Write command sequence
|
// Write command sequence
|
||||||
@ -2396,7 +2396,7 @@ void write_Eprom() {
|
|||||||
|
|
||||||
// Blink led
|
// Blink led
|
||||||
if (currWord % 2048 == 0)
|
if (currWord % 2048 == 0)
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// Work through SD buffer
|
// Work through SD buffer
|
||||||
for (int c = 0; c < 256; c++) {
|
for (int c = 0; c < 256; c++) {
|
||||||
|
@ -1022,7 +1022,7 @@ void writeFlash29F_GB(byte MBC) {
|
|||||||
// After a completed erase D7 will output 1
|
// After a completed erase D7 will output 1
|
||||||
while ((statusReg & 0x80) != 0x80) {
|
while ((statusReg & 0x80) != 0x80) {
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
delay(100);
|
delay(100);
|
||||||
// Update Status
|
// Update Status
|
||||||
statusReg = readByte_GB(0);
|
statusReg = readByte_GB(0);
|
||||||
@ -1035,7 +1035,7 @@ void writeFlash29F_GB(byte MBC) {
|
|||||||
// Read x number of banks
|
// Read x number of banks
|
||||||
for (int currBank = 0; currBank < romBanks; currBank++) {
|
for (int currBank = 0; currBank < romBanks; currBank++) {
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
dataOut();
|
dataOut();
|
||||||
|
|
||||||
@ -1069,7 +1069,7 @@ void writeFlash29F_GB(byte MBC) {
|
|||||||
|
|
||||||
for (int currBank = 0; currBank < romBanks; currBank++) {
|
for (int currBank = 0; currBank < romBanks; currBank++) {
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// Set ROM bank
|
// Set ROM bank
|
||||||
writeByte_GB(0x2100, currBank);
|
writeByte_GB(0x2100, currBank);
|
||||||
@ -1120,7 +1120,7 @@ void writeFlash29F_GB(byte MBC) {
|
|||||||
|
|
||||||
for (int currBank = 0; currBank < romBanks; currBank++) {
|
for (int currBank = 0; currBank < romBanks; currBank++) {
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// Set ROM bank
|
// Set ROM bank
|
||||||
writeByte_GB(0x2000, currBank);
|
writeByte_GB(0x2000, currBank);
|
||||||
@ -1193,7 +1193,7 @@ void writeFlash29F_GB(byte MBC) {
|
|||||||
romAddress = 0x4000;
|
romAddress = 0x4000;
|
||||||
}
|
}
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// Read up to 7FFF per bank
|
// Read up to 7FFF per bank
|
||||||
while (romAddress <= 0x7FFF) {
|
while (romAddress <= 0x7FFF) {
|
||||||
@ -1423,7 +1423,7 @@ bool writeCFI_GB() {
|
|||||||
// After a completed erase D7 will output 1
|
// After a completed erase D7 will output 1
|
||||||
while ((statusReg & 0x80) != 0x80) {
|
while ((statusReg & 0x80) != 0x80) {
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
delay(100);
|
delay(100);
|
||||||
// Update Status
|
// Update Status
|
||||||
statusReg = readByte_GB(0);
|
statusReg = readByte_GB(0);
|
||||||
@ -1436,7 +1436,7 @@ bool writeCFI_GB() {
|
|||||||
// Read x number of banks
|
// Read x number of banks
|
||||||
for (int currBank = 0; currBank < romBanks; currBank++) {
|
for (int currBank = 0; currBank < romBanks; currBank++) {
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
dataOut();
|
dataOut();
|
||||||
|
|
||||||
@ -1469,7 +1469,7 @@ bool writeCFI_GB() {
|
|||||||
|
|
||||||
for (int currBank = 0; currBank < romBanks; currBank++) {
|
for (int currBank = 0; currBank < romBanks; currBank++) {
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// Set ROM bank
|
// Set ROM bank
|
||||||
writeByte_GB(0x2100, currBank);
|
writeByte_GB(0x2100, currBank);
|
||||||
@ -1562,7 +1562,7 @@ bool writeCFI_GB() {
|
|||||||
romAddress = 0x4000;
|
romAddress = 0x4000;
|
||||||
}
|
}
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// Read up to 7FFF per bank
|
// Read up to 7FFF per bank
|
||||||
while (romAddress <= 0x7FFF) {
|
while (romAddress <= 0x7FFF) {
|
||||||
|
@ -896,7 +896,7 @@ void readROM_GBA() {
|
|||||||
for (int myAddress = 0; myAddress < cartSize; myAddress += 512) {
|
for (int myAddress = 0; myAddress < cartSize; myAddress += 512) {
|
||||||
// Blink led
|
// Blink led
|
||||||
if (myAddress % 16384 == 0)
|
if (myAddress % 16384 == 0)
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
for (int currWord = 0; currWord < 512; currWord += 2) {
|
for (int currWord = 0; currWord < 512; currWord += 2) {
|
||||||
word tempWord = readWord_GBA(myAddress + currWord);
|
word tempWord = readWord_GBA(myAddress + currWord);
|
||||||
@ -2074,7 +2074,7 @@ void idFlashrom_GBA() {
|
|||||||
boolean blankcheckFlashrom_GBA() {
|
boolean blankcheckFlashrom_GBA() {
|
||||||
for (unsigned long currSector = 0; currSector < fileSize; currSector += 0x20000) {
|
for (unsigned long currSector = 0; currSector < fileSize; currSector += 0x20000) {
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
for (unsigned long currByte = 0; currByte < 0x20000; currByte += 2) {
|
for (unsigned long currByte = 0; currByte < 0x20000; currByte += 2) {
|
||||||
if (readWord_GBA(currSector + currByte) != 0xFFFF) {
|
if (readWord_GBA(currSector + currByte) != 0xFFFF) {
|
||||||
@ -2124,7 +2124,7 @@ void eraseIntel4000_GBA() {
|
|||||||
statusReg = readWord_GBA(currBlock);
|
statusReg = readWord_GBA(currBlock);
|
||||||
}
|
}
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Erase the second chip
|
// Erase the second chip
|
||||||
@ -2145,7 +2145,7 @@ void eraseIntel4000_GBA() {
|
|||||||
statusReg = readWord_GBA(currBlock);
|
statusReg = readWord_GBA(currBlock);
|
||||||
}
|
}
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4 blocks with 16kword each
|
// 4 blocks with 16kword each
|
||||||
@ -2164,7 +2164,7 @@ void eraseIntel4000_GBA() {
|
|||||||
statusReg = readWord_GBA(currBlock);
|
statusReg = readWord_GBA(currBlock);
|
||||||
}
|
}
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2208,7 +2208,7 @@ void eraseIntel4400_GBA() {
|
|||||||
statusReg = readWord_GBA(currBlock);
|
statusReg = readWord_GBA(currBlock);
|
||||||
}
|
}
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* No need to erase the second chip as max rom size is 32MB
|
/* No need to erase the second chip as max rom size is 32MB
|
||||||
@ -2229,7 +2229,7 @@ void eraseIntel4400_GBA() {
|
|||||||
statusReg = readWord_GBA(currBlock);
|
statusReg = readWord_GBA(currBlock);
|
||||||
}
|
}
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4 blocks with 16kword each
|
// 4 blocks with 16kword each
|
||||||
@ -2248,7 +2248,7 @@ void eraseIntel4400_GBA() {
|
|||||||
statusReg = readWord_GBA(currBlock);
|
statusReg = readWord_GBA(currBlock);
|
||||||
}
|
}
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
}
|
}
|
||||||
}*/
|
}*/
|
||||||
}
|
}
|
||||||
@ -2272,7 +2272,7 @@ void sectorEraseMSP55LV128_GBA() {
|
|||||||
statusReg = readWord_GAB(currSector);
|
statusReg = readWord_GAB(currSector);
|
||||||
}
|
}
|
||||||
// Blink LED
|
// Blink LED
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2295,14 +2295,14 @@ void sectorEraseMX29GL128E_GBA() {
|
|||||||
statusReg = readWord_GAB(currSector);
|
statusReg = readWord_GAB(currSector);
|
||||||
}
|
}
|
||||||
// Blink LED
|
// Blink LED
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void writeIntel4000_GBA() {
|
void writeIntel4000_GBA() {
|
||||||
for (unsigned long currBlock = 0; currBlock < fileSize; currBlock += 0x20000) {
|
for (unsigned long currBlock = 0; currBlock < fileSize; currBlock += 0x20000) {
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// Write to flashrom
|
// Write to flashrom
|
||||||
for (unsigned long currSdBuffer = 0; currSdBuffer < 0x20000; currSdBuffer += 512) {
|
for (unsigned long currSdBuffer = 0; currSdBuffer < 0x20000; currSdBuffer += 512) {
|
||||||
@ -2350,7 +2350,7 @@ void writeIntel4000_GBA() {
|
|||||||
void writeMSP55LV128_GBA() {
|
void writeMSP55LV128_GBA() {
|
||||||
for (unsigned long currSector = 0; currSector < fileSize; currSector += 0x10000) {
|
for (unsigned long currSector = 0; currSector < fileSize; currSector += 0x10000) {
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// Write to flashrom
|
// Write to flashrom
|
||||||
for (unsigned long currSdBuffer = 0; currSdBuffer < 0x10000; currSdBuffer += 512) {
|
for (unsigned long currSdBuffer = 0; currSdBuffer < 0x10000; currSdBuffer += 512) {
|
||||||
@ -2392,7 +2392,7 @@ void writeMSP55LV128_GBA() {
|
|||||||
void writeMX29GL128E_GBA() {
|
void writeMX29GL128E_GBA() {
|
||||||
for (unsigned long currSector = 0; currSector < fileSize; currSector += 0x20000) {
|
for (unsigned long currSector = 0; currSector < fileSize; currSector += 0x20000) {
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// Write to flashrom
|
// Write to flashrom
|
||||||
for (unsigned long currSdBuffer = 0; currSdBuffer < 0x20000; currSdBuffer += 512) {
|
for (unsigned long currSdBuffer = 0; currSdBuffer < 0x20000; currSdBuffer += 512) {
|
||||||
@ -2438,7 +2438,7 @@ boolean verifyFlashrom_GBA() {
|
|||||||
|
|
||||||
for (unsigned long currSector = 0; currSector < fileSize; currSector += 131072) {
|
for (unsigned long currSector = 0; currSector < fileSize; currSector += 131072) {
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
for (unsigned long currSdBuffer = 0; currSdBuffer < 131072; currSdBuffer += 512) {
|
for (unsigned long currSdBuffer = 0; currSdBuffer < 131072; currSdBuffer += 512) {
|
||||||
// Fill SD buffer
|
// Fill SD buffer
|
||||||
myFile.read(sdBuffer, 512);
|
myFile.read(sdBuffer, 512);
|
||||||
|
@ -601,7 +601,7 @@ void writeFlash_GBM() {
|
|||||||
// Write 63 banks
|
// Write 63 banks
|
||||||
for (byte currBank = 0x1; currBank < (fileSize / 0x4000); currBank++) {
|
for (byte currBank = 0x1; currBank < (fileSize / 0x4000); currBank++) {
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// all following banks: 0x4000-0x7FFF
|
// all following banks: 0x4000-0x7FFF
|
||||||
if (currBank > 1) {
|
if (currBank > 1) {
|
||||||
@ -863,7 +863,7 @@ void writeMapping_GBM() {
|
|||||||
// Fill flash buffer
|
// Fill flash buffer
|
||||||
for (word currByte = 0; currByte < 128; currByte++) {
|
for (word currByte = 0; currByte < 128; currByte++) {
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
writeByte_GBM(currByte, sdBuffer[currByte]);
|
writeByte_GBM(currByte, sdBuffer[currByte]);
|
||||||
}
|
}
|
||||||
|
@ -563,7 +563,7 @@ void gbSmartWriteFlashFromMyFile(uint32_t addr)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// blink LED
|
// blink LED
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t gbSmartVerifyFlash()
|
uint32_t gbSmartVerifyFlash()
|
||||||
@ -671,7 +671,7 @@ void gbSmartEraseFlash(uint8_t flash_start_bank)
|
|||||||
while ((readByte_GBS(0x0000) & 0x80) == 0x00);
|
while ((readByte_GBS(0x0000) & 0x80) == 0x00);
|
||||||
|
|
||||||
// blink LED
|
// blink LED
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// rest of flash block
|
// rest of flash block
|
||||||
for (uint32_t ba = gbSmartBanksPerFlashBlock; ba < gbSmartBanksPerFlashChip; ba += gbSmartBanksPerFlashBlock)
|
for (uint32_t ba = gbSmartBanksPerFlashBlock; ba < gbSmartBanksPerFlashChip; ba += gbSmartBanksPerFlashBlock)
|
||||||
@ -686,7 +686,7 @@ void gbSmartEraseFlash(uint8_t flash_start_bank)
|
|||||||
while ((readByte_GBS(0x4000) & 0x80) == 0x00);
|
while ((readByte_GBS(0x4000) & 0x80) == 0x00);
|
||||||
|
|
||||||
// blink LED
|
// blink LED
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1135,7 +1135,7 @@ void readROM_MD() {
|
|||||||
for (unsigned long currBuffer = 0; currBuffer < cartSize / 2; currBuffer += 512) {
|
for (unsigned long currBuffer = 0; currBuffer < cartSize / 2; currBuffer += 512) {
|
||||||
// Blink led
|
// Blink led
|
||||||
if (currBuffer % 16384 == 0)
|
if (currBuffer % 16384 == 0)
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
if (currBuffer == 0x200000) {
|
if (currBuffer == 0x200000) {
|
||||||
writeSSF2Map(0x50987E, 8); // 0xA130FD
|
writeSSF2Map(0x50987E, 8); // 0xA130FD
|
||||||
@ -1188,7 +1188,7 @@ void readROM_MD() {
|
|||||||
for (unsigned long currBuffer = 0; currBuffer < cartSizeLockon / 2; currBuffer += 512) {
|
for (unsigned long currBuffer = 0; currBuffer < cartSizeLockon / 2; currBuffer += 512) {
|
||||||
// Blink led
|
// Blink led
|
||||||
if (currBuffer % 16384 == 0)
|
if (currBuffer % 16384 == 0)
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
d = 0;
|
d = 0;
|
||||||
|
|
||||||
@ -1233,7 +1233,7 @@ void readROM_MD() {
|
|||||||
for (unsigned long currBuffer = 0; currBuffer < cartSizeSonic2 / 2; currBuffer += 512) {
|
for (unsigned long currBuffer = 0; currBuffer < cartSizeSonic2 / 2; currBuffer += 512) {
|
||||||
// Blink led
|
// Blink led
|
||||||
if (currBuffer % 16384 == 0)
|
if (currBuffer % 16384 == 0)
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
d = 0;
|
d = 0;
|
||||||
|
|
||||||
@ -1572,7 +1572,7 @@ void write29F1610_MD() {
|
|||||||
|
|
||||||
// Blink led
|
// Blink led
|
||||||
if (currByte % 4096 == 0) {
|
if (currByte % 4096 == 0) {
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Write command sequence
|
// Write command sequence
|
||||||
@ -1664,7 +1664,7 @@ void blankcheck_MD() {
|
|||||||
blank = 0;
|
blank = 0;
|
||||||
}
|
}
|
||||||
if (currByte % 4096 == 0) {
|
if (currByte % 4096 == 0) {
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!blank) {
|
if (!blank) {
|
||||||
@ -1685,7 +1685,7 @@ void verifyFlash_MD() {
|
|||||||
word d = 0;
|
word d = 0;
|
||||||
for (unsigned long currByte = 0; currByte < fileSize / 2; currByte += 256) {
|
for (unsigned long currByte = 0; currByte < fileSize / 2; currByte += 256) {
|
||||||
if (currByte % 4096 == 0) {
|
if (currByte % 4096 == 0) {
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
}
|
}
|
||||||
//fill sdBuffer
|
//fill sdBuffer
|
||||||
myFile.read(sdBuffer, 512);
|
myFile.read(sdBuffer, 512);
|
||||||
@ -2460,7 +2460,7 @@ void readRealtec_MD() {
|
|||||||
for (unsigned long currBuffer = 0; currBuffer < cartSize / 2; currBuffer += 256) {
|
for (unsigned long currBuffer = 0; currBuffer < cartSize / 2; currBuffer += 256) {
|
||||||
// Blink led
|
// Blink led
|
||||||
if (currBuffer % 16384 == 0)
|
if (currBuffer % 16384 == 0)
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
for (int currWord = 0; currWord < 256; currWord++) {
|
for (int currWord = 0; currWord < 256; currWord++) {
|
||||||
word myWord = readWord_MD(currBuffer + currWord);
|
word myWord = readWord_MD(currBuffer + currWord);
|
||||||
|
@ -2508,7 +2508,7 @@ void writeEeprom_CLK() {
|
|||||||
|
|
||||||
for (byte pageNumber = 0; pageNumber < 64; pageNumber++) {
|
for (byte pageNumber = 0; pageNumber < 64; pageNumber++) {
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// Wait ~50ms between page writes or eeprom will have write errors
|
// Wait ~50ms between page writes or eeprom will have write errors
|
||||||
pulseClock_N64(26000);
|
pulseClock_N64(26000);
|
||||||
@ -2573,7 +2573,7 @@ void readEeprom_CLK() {
|
|||||||
|
|
||||||
for (byte pageNumber = 0; pageNumber < 64; pageNumber++) {
|
for (byte pageNumber = 0; pageNumber < 64; pageNumber++) {
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// Send read command
|
// Send read command
|
||||||
sendData_CLK(0x04);
|
sendData_CLK(0x04);
|
||||||
@ -2634,7 +2634,7 @@ unsigned long verifyEeprom_CLK() {
|
|||||||
|
|
||||||
for (byte pageNumber = 0; pageNumber < 64; pageNumber++) {
|
for (byte pageNumber = 0; pageNumber < 64; pageNumber++) {
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// Send read command
|
// Send read command
|
||||||
sendData_CLK(0x04);
|
sendData_CLK(0x04);
|
||||||
@ -2755,7 +2755,7 @@ void writeEeprom() {
|
|||||||
|
|
||||||
for (byte pageNumber = 0; pageNumber < 64; pageNumber++) {
|
for (byte pageNumber = 0; pageNumber < 64; pageNumber++) {
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// Wait ~50ms between page writes or eeprom will have write errors, Arduino running at 16Mhz -> one nop = 62.5ns
|
// Wait ~50ms between page writes or eeprom will have write errors, Arduino running at 16Mhz -> one nop = 62.5ns
|
||||||
for (long i = 0; i < 115000; i++) {
|
for (long i = 0; i < 115000; i++) {
|
||||||
@ -2818,7 +2818,7 @@ void readEeprom() {
|
|||||||
|
|
||||||
for (byte pageNumber = 0; pageNumber < 64; pageNumber++) {
|
for (byte pageNumber = 0; pageNumber < 64; pageNumber++) {
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// Send read command
|
// Send read command
|
||||||
sendData(0x04);
|
sendData(0x04);
|
||||||
@ -2878,7 +2878,7 @@ unsigned long verifyEeprom() {
|
|||||||
|
|
||||||
for (byte pageNumber = 0; pageNumber < 64; pageNumber++) {
|
for (byte pageNumber = 0; pageNumber < 64; pageNumber++) {
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// Send read command
|
// Send read command
|
||||||
sendData(0x04);
|
sendData(0x04);
|
||||||
@ -3430,7 +3430,7 @@ redumpsamefolder:
|
|||||||
for (unsigned long currByte = romBase; currByte < (romBase + (cartSize * 1024 * 1024)); currByte += 512) {
|
for (unsigned long currByte = romBase; currByte < (romBase + (cartSize * 1024 * 1024)); currByte += 512) {
|
||||||
// Blink led
|
// Blink led
|
||||||
if (currByte % 16384 == 0)
|
if (currByte % 16384 == 0)
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// Set the address for the next 512 bytes
|
// Set the address for the next 512 bytes
|
||||||
setAddress_N64(currByte);
|
setAddress_N64(currByte);
|
||||||
@ -3483,7 +3483,7 @@ redumpsamefolder:
|
|||||||
for (unsigned long currByte = romBase; currByte < (romBase + (cartSize * 1024 * 1024)); currByte += 1024) {
|
for (unsigned long currByte = romBase; currByte < (romBase + (cartSize * 1024 * 1024)); currByte += 1024) {
|
||||||
// Blink led
|
// Blink led
|
||||||
if (currByte % 16384 == 0)
|
if (currByte % 16384 == 0)
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// Set the address for the first 512 bytes to dump
|
// Set the address for the first 512 bytes to dump
|
||||||
setAddress_N64(currByte);
|
setAddress_N64(currByte);
|
||||||
@ -4266,7 +4266,7 @@ void eraseIntel4400_N64() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if we should erase the second chip too
|
// Check if we should erase the second chip too
|
||||||
@ -4296,7 +4296,7 @@ void eraseIntel4400_N64() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4 blocks with 16kword each
|
// 4 blocks with 16kword each
|
||||||
@ -4333,7 +4333,7 @@ void eraseMSP55LV100_N64() {
|
|||||||
|
|
||||||
for (unsigned long currSector = 0; currSector < fileSize; currSector += sectorSize) {
|
for (unsigned long currSector = 0; currSector < fileSize; currSector += sectorSize) {
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// Send Erase Command to first chip
|
// Send Erase Command to first chip
|
||||||
setAddress_N64(flashBase + (0x555 << 1));
|
setAddress_N64(flashBase + (0x555 << 1));
|
||||||
@ -4393,7 +4393,7 @@ void eraseFlashrom_N64() {
|
|||||||
setAddress_N64(romBase);
|
setAddress_N64(romBase);
|
||||||
statusReg = readWord_N64();
|
statusReg = readWord_N64();
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
delay(500);
|
delay(500);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4407,7 +4407,7 @@ void eraseSector_N64(unsigned long sectorSize) {
|
|||||||
|
|
||||||
for (unsigned long currSector = 0; currSector < fileSize; currSector += sectorSize) {
|
for (unsigned long currSector = 0; currSector < fileSize; currSector += sectorSize) {
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// Spansion S29GL256N(32MB/64MB) with two flashrom chips
|
// Spansion S29GL256N(32MB/64MB) with two flashrom chips
|
||||||
if ((currSector == 0x2000000) && (strcmp(cartID, "2201") == 0) && (strcmp(flashid, "227E") == 0)) {
|
if ((currSector == 0x2000000) && (strcmp(cartID, "2201") == 0) && (strcmp(flashid, "227E") == 0)) {
|
||||||
@ -4447,7 +4447,7 @@ boolean blankcheckFlashrom_N64() {
|
|||||||
for (unsigned long currByte = romBase; currByte < romBase + fileSize; currByte += 512) {
|
for (unsigned long currByte = romBase; currByte < romBase + fileSize; currByte += 512) {
|
||||||
// Blink led
|
// Blink led
|
||||||
if (currByte % 131072 == 0)
|
if (currByte % 131072 == 0)
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// Set the address
|
// Set the address
|
||||||
setAddress_N64(currByte);
|
setAddress_N64(currByte);
|
||||||
@ -4465,7 +4465,7 @@ boolean blankcheckFlashrom_N64() {
|
|||||||
void writeIntel4400_N64() {
|
void writeIntel4400_N64() {
|
||||||
for (unsigned long currSector = 0; currSector < fileSize; currSector += 131072) {
|
for (unsigned long currSector = 0; currSector < fileSize; currSector += 131072) {
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// Write to flashrom
|
// Write to flashrom
|
||||||
for (unsigned long currSdBuffer = 0; currSdBuffer < 131072; currSdBuffer += 512) {
|
for (unsigned long currSdBuffer = 0; currSdBuffer < 131072; currSdBuffer += 512) {
|
||||||
@ -4519,7 +4519,7 @@ void writeMSP55LV100_N64(unsigned long sectorSize) {
|
|||||||
|
|
||||||
for (unsigned long currSector = 0; currSector < fileSize; currSector += sectorSize) {
|
for (unsigned long currSector = 0; currSector < fileSize; currSector += sectorSize) {
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// Write to flashrom
|
// Write to flashrom
|
||||||
for (unsigned long currSdBuffer = 0; currSdBuffer < sectorSize; currSdBuffer += 512) {
|
for (unsigned long currSdBuffer = 0; currSdBuffer < sectorSize; currSdBuffer += 512) {
|
||||||
@ -4576,7 +4576,7 @@ void writeFlashBuffer_N64(unsigned long sectorSize, byte bufferSize) {
|
|||||||
|
|
||||||
for (unsigned long currSector = 0; currSector < fileSize; currSector += sectorSize) {
|
for (unsigned long currSector = 0; currSector < fileSize; currSector += sectorSize) {
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// Spansion S29GL256N(32MB/64MB) with two flashrom chips
|
// Spansion S29GL256N(32MB/64MB) with two flashrom chips
|
||||||
if ((currSector == 0x2000000) && (strcmp(cartID, "2201") == 0)) {
|
if ((currSector == 0x2000000) && (strcmp(cartID, "2201") == 0)) {
|
||||||
@ -4638,7 +4638,7 @@ void writeFlashrom_N64(unsigned long sectorSize) {
|
|||||||
|
|
||||||
for (unsigned long currSector = 0; currSector < fileSize; currSector += sectorSize) {
|
for (unsigned long currSector = 0; currSector < fileSize; currSector += sectorSize) {
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// Macronix MX29LV640(8MB/16MB) with two flashrom chips
|
// Macronix MX29LV640(8MB/16MB) with two flashrom chips
|
||||||
if (currSector == 0x800000) {
|
if (currSector == 0x800000) {
|
||||||
@ -4683,7 +4683,7 @@ unsigned long verifyFlashrom_N64() {
|
|||||||
|
|
||||||
for (unsigned long currSector = 0; currSector < fileSize; currSector += 131072) {
|
for (unsigned long currSector = 0; currSector < fileSize; currSector += 131072) {
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
for (unsigned long currSdBuffer = 0; currSdBuffer < 131072; currSdBuffer += 512) {
|
for (unsigned long currSdBuffer = 0; currSdBuffer < 131072; currSdBuffer += 512) {
|
||||||
// Fill SD buffer
|
// Fill SD buffer
|
||||||
myFile.read(sdBuffer, 512);
|
myFile.read(sdBuffer, 512);
|
||||||
@ -4864,7 +4864,7 @@ void backupGameshark_N64() {
|
|||||||
for (unsigned long currByte = romBase + 0xC00000; currByte < (romBase + 0xC00000 + 262144); currByte += 512) {
|
for (unsigned long currByte = romBase + 0xC00000; currByte < (romBase + 0xC00000 + 262144); currByte += 512) {
|
||||||
// Blink led
|
// Blink led
|
||||||
if (currByte % 16384 == 0)
|
if (currByte % 16384 == 0)
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// Set the address for the next 512 bytes
|
// Set the address for the next 512 bytes
|
||||||
setAddress_N64(currByte);
|
setAddress_N64(currByte);
|
||||||
@ -4914,7 +4914,7 @@ void writeGameshark_N64() {
|
|||||||
// Fill SD buffer with twice the amount since we flash 2 chips
|
// Fill SD buffer with twice the amount since we flash 2 chips
|
||||||
myFile.read(sdBuffer, 256);
|
myFile.read(sdBuffer, 256);
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
//Send page write command to both flashroms
|
//Send page write command to both flashroms
|
||||||
setAddress_N64(romBase + 0xAAAA);
|
setAddress_N64(romBase + 0xAAAA);
|
||||||
@ -4944,7 +4944,7 @@ unsigned long verifyGameshark_N64() {
|
|||||||
|
|
||||||
for (unsigned long currSector = 0; currSector < fileSize; currSector += 131072) {
|
for (unsigned long currSector = 0; currSector < fileSize; currSector += 131072) {
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
for (unsigned long currSdBuffer = 0; currSdBuffer < 131072; currSdBuffer += 512) {
|
for (unsigned long currSdBuffer = 0; currSdBuffer < 131072; currSdBuffer += 512) {
|
||||||
// Fill SD buffer
|
// Fill SD buffer
|
||||||
myFile.read(sdBuffer, 512);
|
myFile.read(sdBuffer, 512);
|
||||||
|
@ -231,7 +231,7 @@ void readROM_NGP(char *outPathBuf, size_t bufferSize) {
|
|||||||
for (uint32_t addr = 0; addr < cartSize; addr += 512) {
|
for (uint32_t addr = 0; addr < cartSize; addr += 512) {
|
||||||
// blink LED
|
// blink LED
|
||||||
if ((addr & ((1 << 14) - 1)) == 0)
|
if ((addr & ((1 << 14) - 1)) == 0)
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// read block
|
// read block
|
||||||
for (uint32_t i = 0; i < 512; i++)
|
for (uint32_t i = 0; i < 512; i++)
|
||||||
|
@ -417,7 +417,7 @@ void readROM_SMS() {
|
|||||||
writeByte_SMS(0xFFFF, currBank);
|
writeByte_SMS(0xFFFF, currBank);
|
||||||
|
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
// Read 16KB from slot 2 which starts at 0x8000
|
// Read 16KB from slot 2 which starts at 0x8000
|
||||||
for (word currBuffer = 0; currBuffer < bankSize; currBuffer += 512) {
|
for (word currBuffer = 0; currBuffer < bankSize; currBuffer += 512) {
|
||||||
// Fill SD buffer
|
// Fill SD buffer
|
||||||
@ -479,7 +479,7 @@ void readSRAM_SMS() {
|
|||||||
writeByte_SMS(0xFFFC, 0x08 | (currBank << 2));
|
writeByte_SMS(0xFFFC, 0x08 | (currBank << 2));
|
||||||
|
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
// Read 16KB from slot 2 which starts at 0x8000
|
// Read 16KB from slot 2 which starts at 0x8000
|
||||||
for (word currBuffer = 0; currBuffer < bankSize; currBuffer += 512) {
|
for (word currBuffer = 0; currBuffer < bankSize; currBuffer += 512) {
|
||||||
// Fill SD buffer
|
// Fill SD buffer
|
||||||
@ -526,7 +526,7 @@ void writeSRAM_SMS() {
|
|||||||
word page_address = address - (currBank * bankSize);
|
word page_address = address - (currBank * bankSize);
|
||||||
writeByte_SMS(0xFFFC, 0x08 | (currBank << 2));
|
writeByte_SMS(0xFFFC, 0x08 | (currBank << 2));
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
myFile.read(sdBuffer, 512);
|
myFile.read(sdBuffer, 512);
|
||||||
for (int x = 0; x < 512; x++) {
|
for (int x = 0; x < 512; x++) {
|
||||||
writeByte_SMS(0x8000 + page_address + x, sdBuffer[x]);
|
writeByte_SMS(0x8000 + page_address + x, sdBuffer[x]);
|
||||||
@ -535,7 +535,7 @@ void writeSRAM_SMS() {
|
|||||||
myFile.close();
|
myFile.close();
|
||||||
|
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
println_Msg(F(""));
|
println_Msg(F(""));
|
||||||
println_Msg(F("DONE"));
|
println_Msg(F("DONE"));
|
||||||
|
@ -556,7 +556,7 @@ void readLoRomBanks( unsigned int start, unsigned int total, FsFile *file)
|
|||||||
PORTL = currBank;
|
PORTL = currBank;
|
||||||
|
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
currByte = 32768;
|
currByte = 32768;
|
||||||
while (1) {
|
while (1) {
|
||||||
@ -603,7 +603,7 @@ void readHiRomBanks( unsigned int start, unsigned int total, FsFile *file)
|
|||||||
PORTL = currBank;
|
PORTL = currBank;
|
||||||
|
|
||||||
// Blink led
|
// Blink led
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
currByte = 0;
|
currByte = 0;
|
||||||
while (1) {
|
while (1) {
|
||||||
|
@ -496,7 +496,7 @@ void readROM_WS(char *outPathBuf, size_t bufferSize)
|
|||||||
{
|
{
|
||||||
// blink LED
|
// blink LED
|
||||||
if ((addr & ((1 << 14) - 1)) == 0)
|
if ((addr & ((1 << 14) - 1)) == 0)
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
for (uint32_t w = 0; w < 512; w += 2)
|
for (uint32_t w = 0; w < 512; w += 2)
|
||||||
* ((uint16_t*)(sdBuffer + w)) = readWord_WS(0x20000 + addr + w);
|
* ((uint16_t*)(sdBuffer + w)) = readWord_WS(0x20000 + addr + w);
|
||||||
@ -556,7 +556,7 @@ void readSRAM_WS()
|
|||||||
{
|
{
|
||||||
// blink LED
|
// blink LED
|
||||||
if ((addr & ((1 << 14) - 1)) == 0)
|
if ((addr & ((1 << 14) - 1)) == 0)
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// SRAM data on D0-D7, with A-1 to select high/low byte
|
// SRAM data on D0-D7, with A-1 to select high/low byte
|
||||||
for (uint32_t w = 0; w < 512; w++)
|
for (uint32_t w = 0; w < 512; w++)
|
||||||
@ -658,7 +658,7 @@ void writeSRAM_WS()
|
|||||||
{
|
{
|
||||||
// blink LED
|
// blink LED
|
||||||
if ((addr & ((1 << 14) - 1)) == 0)
|
if ((addr & ((1 << 14) - 1)) == 0)
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
myFile.read(sdBuffer, 512);
|
myFile.read(sdBuffer, 512);
|
||||||
|
|
||||||
@ -711,7 +711,7 @@ void readEEPROM_WS()
|
|||||||
{
|
{
|
||||||
// blink LED
|
// blink LED
|
||||||
if ((j & 0x1f) == 0x00)
|
if ((j & 0x1f) == 0x00)
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
generateEepromInstruction_WS(wsEepromShiftReg, 0x2, ((i + j) >> 1));
|
generateEepromInstruction_WS(wsEepromShiftReg, 0x2, ((i + j) >> 1));
|
||||||
|
|
||||||
@ -756,7 +756,7 @@ void verifyEEPROM_WS()
|
|||||||
{
|
{
|
||||||
// blink LED
|
// blink LED
|
||||||
if ((j & 0x1f) == 0x00)
|
if ((j & 0x1f) == 0x00)
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
generateEepromInstruction_WS(wsEepromShiftReg, 0x2, ((i + j) >> 1));
|
generateEepromInstruction_WS(wsEepromShiftReg, 0x2, ((i + j) >> 1));
|
||||||
|
|
||||||
@ -825,7 +825,7 @@ void writeEEPROM_WS()
|
|||||||
{
|
{
|
||||||
// blink LED
|
// blink LED
|
||||||
if ((j & 0x1f) == 0x00)
|
if ((j & 0x1f) == 0x00)
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
generateEepromInstruction_WS(wsEepromShiftReg, 0x1, ((i + j) >> 1));
|
generateEepromInstruction_WS(wsEepromShiftReg, 0x1, ((i + j) >> 1));
|
||||||
|
|
||||||
@ -915,7 +915,7 @@ void writeWitchOS_WS()
|
|||||||
{
|
{
|
||||||
// blink LED
|
// blink LED
|
||||||
if ((i & 0x3ff) == 0)
|
if ((i & 0x3ff) == 0)
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
// reset key
|
// reset key
|
||||||
key = 0xff;
|
key = 0xff;
|
||||||
@ -973,7 +973,7 @@ void fastProgramWitchFlash_WS(uint32_t addr, uint16_t data)
|
|||||||
void eraseWitchFlashSector_WS(uint32_t sector_addr)
|
void eraseWitchFlashSector_WS(uint32_t sector_addr)
|
||||||
{
|
{
|
||||||
// blink LED
|
// blink LED
|
||||||
PORTB ^= (1 << 4);
|
blinkLED();
|
||||||
|
|
||||||
dataOut_WS();
|
dataOut_WS();
|
||||||
writeWord_WS(0x80aaa, 0xaaaa);
|
writeWord_WS(0x80aaa, 0xaaaa);
|
||||||
|
Loading…
Reference in New Issue
Block a user