mirror of
https://github.com/sanni/cartreader.git
synced 2024-12-25 04:21:53 +01:00
remove duplicate for SUPRACAN
This commit is contained in:
parent
4040d2b2a6
commit
9cbc8caad3
@ -44,9 +44,7 @@ void setup_SuprAcan() {
|
|||||||
PORTG |= (1 << 5);
|
PORTG |= (1 << 5);
|
||||||
|
|
||||||
dataOut_MD();
|
dataOut_MD();
|
||||||
writeWord_Acan(0xaaaa, 0xaaaa);
|
writeCommand_Acan(0, 0x9090);
|
||||||
writeWord_Acan(0x5555, 0x5555);
|
|
||||||
writeWord_Acan(0xaaaa, 0x9090);
|
|
||||||
|
|
||||||
dataIn_MD();
|
dataIn_MD();
|
||||||
eepbit[0] = readWord_Acan(0x2);
|
eepbit[0] = readWord_Acan(0x2);
|
||||||
@ -145,6 +143,26 @@ void suprAcanMenu() {
|
|||||||
wait();
|
wait();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void writeCommand_Acan(uint32_t offset, uint16_t command) {
|
||||||
|
writeWord_Acan(offset + 0xaaaa, 0xaaaa);
|
||||||
|
writeWord_Acan(offset + 0x5555, 0x5555);
|
||||||
|
writeWord_Acan(offset + 0xaaaa, command);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void openFile_Acan() {
|
||||||
|
filePath[0] = 0;
|
||||||
|
sd.chdir();
|
||||||
|
fileBrowser(FS(FSTRING_SELECT_FILE));
|
||||||
|
snprintf(filePath, FILEPATH_LENGTH, "%s/%s", filePath, fileName);
|
||||||
|
|
||||||
|
display_Clear();
|
||||||
|
|
||||||
|
if (!myFile.open(filePath, O_READ)) {
|
||||||
|
print_Error(FS(FSTRING_FILE_DOESNT_EXIST));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void readROM_Acan() {
|
static void readROM_Acan() {
|
||||||
uint32_t crc32 = 0xffffffff;
|
uint32_t crc32 = 0xffffffff;
|
||||||
|
|
||||||
@ -191,17 +209,7 @@ static void readSRAM_Acan() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void writeSRAM_Acan() {
|
static void writeSRAM_Acan() {
|
||||||
filePath[0] = 0;
|
openFile_Acan();
|
||||||
sd.chdir();
|
|
||||||
fileBrowser(FS(FSTRING_SELECT_FILE));
|
|
||||||
snprintf(filePath, FILEPATH_LENGTH, "%s/%s", filePath, fileName);
|
|
||||||
|
|
||||||
display_Clear();
|
|
||||||
|
|
||||||
if (!myFile.open(filePath, O_READ)) {
|
|
||||||
print_Error(FS(FSTRING_FILE_DOESNT_EXIST));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
print_Msg(F("Writing "));
|
print_Msg(F("Writing "));
|
||||||
print_Msg(filePath);
|
print_Msg(filePath);
|
||||||
@ -307,17 +315,7 @@ static void verifyUM6650() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void writeUM6650() {
|
static void writeUM6650() {
|
||||||
filePath[0] = 0;
|
openFile_Acan();
|
||||||
sd.chdir("/");
|
|
||||||
fileBrowser(FS(FSTRING_SELECT_FILE));
|
|
||||||
snprintf(filePath, FILEPATH_LENGTH, "%s/%s", filePath, fileName);
|
|
||||||
|
|
||||||
display_Clear();
|
|
||||||
|
|
||||||
if (!myFile.open(filePath, O_READ)) {
|
|
||||||
print_Error(FS(FSTRING_FILE_DOESNT_EXIST));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
uint16_t len = myFile.read(sdBuffer, 256);
|
uint16_t len = myFile.read(sdBuffer, 256);
|
||||||
myFile.close();
|
myFile.close();
|
||||||
@ -342,17 +340,7 @@ static void writeUM6650() {
|
|||||||
static void flashCart_Acan() {
|
static void flashCart_Acan() {
|
||||||
uint32_t *flash_size = (uint32_t *)(eepbit + 4);
|
uint32_t *flash_size = (uint32_t *)(eepbit + 4);
|
||||||
|
|
||||||
filePath[0] = 0;
|
openFile_Acan();
|
||||||
sd.chdir();
|
|
||||||
fileBrowser(FS(FSTRING_SELECT_FILE));
|
|
||||||
snprintf(filePath, FILEPATH_LENGTH, "%s/%s", filePath, fileName);
|
|
||||||
|
|
||||||
display_Clear();
|
|
||||||
|
|
||||||
if (!myFile.open(filePath, O_READ)) {
|
|
||||||
print_Error(FS(FSTRING_FILE_DOESNT_EXIST));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
print_Msg(F("Writing "));
|
print_Msg(F("Writing "));
|
||||||
print_Msg(filePath + 1);
|
print_Msg(filePath + 1);
|
||||||
@ -370,12 +358,8 @@ static void flashCart_Acan() {
|
|||||||
for (i = 0; i < file_length; i += *flash_size) {
|
for (i = 0; i < file_length; i += *flash_size) {
|
||||||
// erase chip
|
// erase chip
|
||||||
dataOut_MD();
|
dataOut_MD();
|
||||||
writeWord_Acan(i + 0xaaaa, 0xaaaa);
|
writeCommand_Acan(i, 0x8080);
|
||||||
writeWord_Acan(i + 0x5555, 0x5555);
|
writeCommand_Acan(i, 0x1010);
|
||||||
writeWord_Acan(i + 0xaaaa, 0x8080);
|
|
||||||
writeWord_Acan(i + 0xaaaa, 0xaaaa);
|
|
||||||
writeWord_Acan(i + 0x5555, 0x5555);
|
|
||||||
writeWord_Acan(i + 0xaaaa, 0x1010);
|
|
||||||
|
|
||||||
dataIn_MD();
|
dataIn_MD();
|
||||||
while (readWord_Acan(i) != 0xffff)
|
while (readWord_Acan(i) != 0xffff)
|
||||||
@ -388,9 +372,7 @@ static void flashCart_Acan() {
|
|||||||
data = *((uint16_t *)(sdBuffer + k));
|
data = *((uint16_t *)(sdBuffer + k));
|
||||||
|
|
||||||
dataOut_MD();
|
dataOut_MD();
|
||||||
writeWord_Acan(i + 0xaaaa, 0xaaaa);
|
writeCommand_Acan(i, 0xa0a0);
|
||||||
writeWord_Acan(i + 0x5555, 0x5555);
|
|
||||||
writeWord_Acan(i + 0xaaaa, 0xa0a0);
|
|
||||||
writeWord_Acan(i + j + k, data);
|
writeWord_Acan(i + j + k, data);
|
||||||
|
|
||||||
dataIn_MD();
|
dataIn_MD();
|
||||||
|
Loading…
Reference in New Issue
Block a user