mirror of
https://github.com/sanni/cartreader.git
synced 2025-02-26 01:23:32 +01:00
V4.6: Increase SA1 compatibility
This commit is contained in:
parent
f9ca4f9108
commit
5cec7afd1f
@ -2,15 +2,15 @@
|
|||||||
Cartridge Reader for Arduino Mega2560
|
Cartridge Reader for Arduino Mega2560
|
||||||
|
|
||||||
Author: sanni
|
Author: sanni
|
||||||
Date: 03.03.2020
|
Date: 17.03.2020
|
||||||
Version: 4.5
|
Version: 4.6
|
||||||
|
|
||||||
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
|
||||||
Clockgen: https://github.com/etherkit/Si5351Arduino
|
Clockgen: https://github.com/etherkit/Si5351Arduino
|
||||||
RGB Tools lib: https://github.com/joushx/Arduino-RGB-Tools
|
RGB Tools lib: https://github.com/joushx/Arduino-RGB-Tools
|
||||||
|
|
||||||
Compiled with Arduino 1.8.10
|
Compiled with Arduino 1.8.12
|
||||||
|
|
||||||
Thanks to:
|
Thanks to:
|
||||||
MichlK - ROM-Reader for Super Nintendo
|
MichlK - ROM-Reader for Super Nintendo
|
||||||
@ -43,7 +43,7 @@
|
|||||||
**********************************************************************************/
|
**********************************************************************************/
|
||||||
#include <SdFat.h>
|
#include <SdFat.h>
|
||||||
|
|
||||||
char ver[5] = "4.5";
|
char ver[5] = "4.6";
|
||||||
|
|
||||||
/******************************************
|
/******************************************
|
||||||
Options
|
Options
|
||||||
|
@ -547,6 +547,26 @@ void readHiRomBanks( unsigned int start, unsigned int total, SdFile *file)
|
|||||||
void getCartInfo_SNES() {
|
void getCartInfo_SNES() {
|
||||||
boolean manualConfig = 0;
|
boolean manualConfig = 0;
|
||||||
|
|
||||||
|
//Prime SA1 cartridge
|
||||||
|
uint16_t c = 0;
|
||||||
|
uint16_t currByte = 0;
|
||||||
|
byte buffer[1024] = { 0 };
|
||||||
|
PORTL = 192;
|
||||||
|
while (c < 1024) {
|
||||||
|
PORTF = (currByte & 0xFF);
|
||||||
|
PORTK = ((currByte >> 8) & 0xFF);
|
||||||
|
|
||||||
|
// Wait for the Byte to appear on the data bus
|
||||||
|
// Arduino running at 16Mhz -> one nop = 62.5ns
|
||||||
|
// slowRom is good for 200ns, fastRom is <= 120ns; S-CPU best case read speed: 3.57MHz / 280ns
|
||||||
|
// let's be conservative and use 6 x 62.5 = 375ns
|
||||||
|
NOP; NOP; NOP; NOP; NOP; NOP;
|
||||||
|
|
||||||
|
buffer[c] = PINC;
|
||||||
|
c++;
|
||||||
|
currByte++;
|
||||||
|
}
|
||||||
|
|
||||||
// Print start page
|
// Print start page
|
||||||
if (checkcart_SNES() == 0) {
|
if (checkcart_SNES() == 0) {
|
||||||
// Checksum either corrupt or 0000
|
// Checksum either corrupt or 0000
|
||||||
|
Loading…
x
Reference in New Issue
Block a user