mirror of
https://github.com/sanni/cartreader.git
synced 2024-11-13 08:25:05 +01:00
V3.9: Add SMS
This commit is contained in:
parent
623a3d22e4
commit
c681fbaec3
@ -2,8 +2,8 @@
|
|||||||
Cartridge Reader for Arduino Mega2560
|
Cartridge Reader for Arduino Mega2560
|
||||||
|
|
||||||
Author: sanni
|
Author: sanni
|
||||||
Date: 08-09-2019
|
Date: 20-09-2019
|
||||||
Version: 3.8
|
Version: 3.9
|
||||||
|
|
||||||
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
|
||||||
@ -41,7 +41,7 @@
|
|||||||
**********************************************************************************/
|
**********************************************************************************/
|
||||||
#include <SdFat.h>
|
#include <SdFat.h>
|
||||||
|
|
||||||
char ver[5] = "3.8";
|
char ver[5] = "3.9";
|
||||||
|
|
||||||
/******************************************
|
/******************************************
|
||||||
Options
|
Options
|
||||||
|
@ -51,15 +51,17 @@ void setup_SMS() {
|
|||||||
// Set Address Pins to Output
|
// Set Address Pins to Output
|
||||||
//A0-A7
|
//A0-A7
|
||||||
DDRF = 0xFF;
|
DDRF = 0xFF;
|
||||||
//A8-A15
|
//A8-A14
|
||||||
DDRK = 0xFF;
|
DDRK = 0xFF;
|
||||||
|
//A15
|
||||||
|
DDRH |= (1 << 3);
|
||||||
|
|
||||||
// Set Control Pins to Output RST(PH0) WR(PH5) OE(PH6)
|
// Set Control Pins to Output RST(PH0) WR(PH5) OE(PH6)
|
||||||
DDRH |= (1 << 0) | (1 << 5) | (1 << 6);
|
DDRH |= (1 << 0) | (1 << 5) | (1 << 6);
|
||||||
// CE(PL1)
|
// CE(PL1)
|
||||||
DDRL |= (1 << 1);
|
DDRL |= (1 << 1);
|
||||||
|
|
||||||
// Setting RST(PH0) WR(PH5) OE(PH6) HIGH
|
// Setting RST(PH0) WR(PH5) OE(PH6) HIGH
|
||||||
PORTH |= (1 << 0) | (1 << 5) | (1 << 6);
|
PORTH |= (1 << 0) | (1 << 5) | (1 << 6);
|
||||||
// CE(PL1)
|
// CE(PL1)
|
||||||
PORTL |= (1 << 1);
|
PORTL |= (1 << 1);
|
||||||
@ -92,6 +94,7 @@ void writeByte_SMS(word myAddress, byte myData) {
|
|||||||
// Set address
|
// Set address
|
||||||
PORTF = myAddress & 0xFF;
|
PORTF = myAddress & 0xFF;
|
||||||
PORTK = (myAddress >> 8) & 0xFF;
|
PORTK = (myAddress >> 8) & 0xFF;
|
||||||
|
PORTH = (PORTH & 0b11110111) | ((myAddress >> 12) & 0b00001000);
|
||||||
// Output data
|
// Output data
|
||||||
PORTC = myData;
|
PORTC = myData;
|
||||||
|
|
||||||
@ -124,6 +127,7 @@ byte readByte_SMS(word myAddress) {
|
|||||||
// Set Address
|
// Set Address
|
||||||
PORTF = myAddress & 0xFF;
|
PORTF = myAddress & 0xFF;
|
||||||
PORTK = (myAddress >> 8) & 0xFF;
|
PORTK = (myAddress >> 8) & 0xFF;
|
||||||
|
PORTH = (PORTH & 0b11110111) | ((myAddress >> 12) & 0b00001000);
|
||||||
|
|
||||||
__asm__("nop\n\t""nop\n\t""nop\n\t""nop\n\t");
|
__asm__("nop\n\t""nop\n\t""nop\n\t""nop\n\t");
|
||||||
|
|
||||||
|
@ -23,6 +23,7 @@ Be sure to check the guides in the [Wiki](https://github.com/sanni/cartreader/wi
|
|||||||
- Reads Game Boy Advance roms and reads/writes most of the save games(4K Eeprom, 64K Eeprom, Sram/Fram, SST39VF512 512K flash + MX29L010 1M flash)
|
- Reads Game Boy Advance roms and reads/writes most of the save games(4K Eeprom, 64K Eeprom, Sram/Fram, SST39VF512 512K flash + MX29L010 1M flash)
|
||||||
- Reflashes some Chinese GBA repros with Intel 4000L0YBQ0, Macronix MX29GL128E or Fujitsu MSP55LV128 flashroms
|
- Reflashes some Chinese GBA repros with Intel 4000L0YBQ0, Macronix MX29GL128E or Fujitsu MSP55LV128 flashroms
|
||||||
- Reads Sega Mega Drive roms and reads/writes save games(Sram/Fram, Eeprom)
|
- Reads Sega Mega Drive roms and reads/writes save games(Sram/Fram, Eeprom)
|
||||||
|
- Reads Sega Master System roms (only default mapper and no SRAM supported so far)
|
||||||
- Reads PC engine/TG16 (custom-made adapter needed)
|
- Reads PC engine/TG16 (custom-made adapter needed)
|
||||||
- Programs Flashroms like 29F016, 29F032 and 29F033, 29F1601, 29F1610, 29L3211, 29LV160, 29LV320 and S29GL032M
|
- Programs Flashroms like 29F016, 29F032 and 29F033, 29F1601, 29F1610, 29L3211, 29LV160, 29LV320 and S29GL032M
|
||||||
- Programs 27C322 Eproms
|
- Programs 27C322 Eproms
|
||||||
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
@ -6,6 +6,10 @@
|
|||||||
|
|
||||||
![image](https://dl.dropboxusercontent.com/s/z2atlcly642sewj/nes_adapter.png?dl=1)
|
![image](https://dl.dropboxusercontent.com/s/z2atlcly642sewj/nes_adapter.png?dl=1)
|
||||||
|
|
||||||
|
#### sms_adapter.zip is an add-on for reading Sega Master System carts. You can order a 2.54mm 50pin SMS slot [here](https://www.aliexpress.com/item/32818469880.html).
|
||||||
|
|
||||||
|
![image](https://dl.dropboxusercontent.com/s/r6lavgoaccjtrz7/sms_adapter.png?dl=1)
|
||||||
|
|
||||||
#### flash_adapter.zip is an add-on for writing flashroms like the 29F032, 29L3211, 29LV160, [PCB thickness needs to be changed to 1.2mm](https://dl.dropboxusercontent.com/s/va1c72073cqfy90/pcb12.jpg?dl=1), this is very important or else it won't fit into the SNES slot.
|
#### flash_adapter.zip is an add-on for writing flashroms like the 29F032, 29L3211, 29LV160, [PCB thickness needs to be changed to 1.2mm](https://dl.dropboxusercontent.com/s/va1c72073cqfy90/pcb12.jpg?dl=1), this is very important or else it won't fit into the SNES slot.
|
||||||
|
|
||||||
![image](https://dl.dropboxusercontent.com/s/afrfmiuwvmvg9px/flash_adapter.png?dl=1)
|
![image](https://dl.dropboxusercontent.com/s/afrfmiuwvmvg9px/flash_adapter.png?dl=1)
|
||||||
|
BIN
extras/pcb/sms_adapter.zip
Normal file
BIN
extras/pcb/sms_adapter.zip
Normal file
Binary file not shown.
BIN
extras/pcb/sms_adapter_schematics.png
Normal file
BIN
extras/pcb/sms_adapter_schematics.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 38 KiB |
Loading…
Reference in New Issue
Block a user