Spring cleaning

This commit is contained in:
sanni 2021-10-01 12:04:26 +02:00
parent ce9aa7bfab
commit 4fd07a98f8
20 changed files with 11 additions and 104 deletions

View File

@ -1,7 +1,8 @@
![image](https://dl.dropboxusercontent.com/s/w39fnwop0yypt8a/free.png?dl=1) ![image](https://dl.dropboxusercontent.com/s/94j412n2inh681p/c3378c2cb507ebb.pn?dl=1)
# Open Source Cartridge Reader
This project represents a community-driven effort to provide an easy to build and easy to modify cartridge dumper. All the Arduino source code along with the PCB design files and detailed build guides can be found in this Github. Happy making. 🔧🔨😊
This project represents a community-driven effort to provide an easy to build and easy to modify cartridge dumper.
Happy making. 🔧🔨😊
[![image](https://dl.dropboxusercontent.com/s/0udh1gkl7kem90v/cartbatttop.jpg?dl=1)](https://dl.dropboxusercontent.com/s/p1s0selosoxr86f/1.jpg?dl=1)
@ -43,5 +44,3 @@ And be sure to check the guides in the [Wiki](https://github.com/sanni/cartreade
- Reads NeoGeo Pocket cartridges
- Programs flashrom chips like AM29F016B/D, AM29F032B, MBM29F033C, MX29F1601, MX29F1610, MX29L3211, MX29LV160, MX29LV320, S29GL032M, MX26L6420, MBM29F800BA, AM29F800BB, LH28F016SUT, AM29F400AB, E28FXXXJ3A and AM29LV033C
- Programs M27C322 eproms
[![](https://dl.dropboxusercontent.com/s/h2e08skmn9pbi2y/savegameyouprev.jpg?dl=1)](https://www.youtube.com/watch?v=r0J9Dplejjg)

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 89 KiB

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 45 KiB

View File

@ -1,5 +0,0 @@
#### pocketsnes.zip is a smaller variant of the Cart Reader PCB made by Niltonn. To order the PCB please refer to: https://docs.easyeda.com/en/PCB/Order-PCB
![image](https://dl.dropboxusercontent.com/s/g0bhixbcrzjuye8/pocketsnes.jpg?dl=1)
More info: https://forum.arduino.cc/index.php?topic=158974.msg4381465#msg4381465

Binary file not shown.

View File

@ -31,105 +31,18 @@ Savetypes:
5 = 4K Eeprom
6 = 16K Eeprom
#### nes20db.txt
Database for NES cartridges.
#### PCE_CRC_LIST.txt
Placing this file into the root of the SD card will enable verify and automatic game name identifier.
#### snes.txt
This file is needed for odd sized SNES games like Final Fantasy (JAP), Super Metroid(US/JAP) or Tales of Symphonia. Without this file you will get overdumps and the checksum calculation will fail. This list was generated by a simple script and might contain many errors.
Example:
A172,24,48
checksum, size in Mbit, number of banks (lorom needs twice as many banks as hirom for the same rom size, lorom: 32kb banks, hirom: 64kb banks)
checksum, size in Mbit, number of banks (lorom needs twice as many banks as hirom for the same rom size, lorom: 32kb banks, hirom: 64kb banks)
#### PCE_CRC_LIST.txt
Placing this file into the root of the SD card will enable verify and automatic game name identifier.
#### hirom64.map
This is a Nintendo Power SF Memory mapping file that changes the mapping to a single 4MB HiRom game with 64Kbit/8KByte save. The first byte is used to specify the mapping.
Bit0-1 SRAM Size (0=2K, 1=8K, 2=32K, 3=None) ;ie. 2K SHL (N*2)
Bit2-4 ROM Size (0=512K, 2=1.5M, 5=3M, 7=4M) ;ie. 512K*(N+1)
Bit5 Zero (maybe MSB of ROM Size for carts with three FLASH chips) (set for HIROM:ALL)
Bit6-7 Mode (0=Lorom, 1=Hirom, 2=Forced HIROM:MENU, 3=Forced HIROM:ALL)
More info: http://problemkaputt.de/fullsnes.htm#snescartnintendopowerflashcard
Example:
0x5d = 0b 01 0 111 01
01 -> Hirom
0
111 -> 4M
01 -> 8K
#### lorom256.map
This is a Nintendo Power SF Memory mapping file that changes the mapping to a single 4MB LoRom game with 256Kbit/32 KByte save.
Example:
0x1e = 0b 00 0 111 10
00 -> Lorom
0
0b111 -> 7 -> 4M
0x10 -> 2 ->32k
#### mbc5.map
This is a Nintendo Power GB Memory mapping file that changes the mapping to a single 1MB MBC5 game with 32 KByte save.
GB Mapping Info (by skaman)
Entries start at 0x0 divided into 3 Byte segments
For example, let's look at the start of the mapping for a multi-game cart:
A8 00 00 71 04 00 48 94 04 separates into
A8 00 00 MENU
71 04 00 GAME 1
48 94 04 GAME 2
Byte 00 of each entry contains the MBC Type, ROM Size, and SRAM Size (start).
SRAM Size is 3 bits across Byte 00 and Byte 01.
MBC SZE SRAM
A8 = 101 010 00 0 MBC5, size 2 = 128KB
71 = 011 100 01 0 MBC3, size 4 = 512KB, SRAM 8KB
48 = 010 010 00 1 MBC2, size 2 = 128KB, SRAM MBC2
Byte 00: 1st 3 Bits = MBC Type
000 = MBC0
001 = MBC1
010 = MBC2
011 = MBC3
101 = MBC5
Byte 00: 2nd 3 Bits = ROM Size (minimum size is 128KB due to block size)
010 = Size 2 - 128KB
011 = Size 3 - 256KB
100 = Size 4 - 512KB
101 = Size 5 - 1MB
Byte 00: Last 2 Bits (bit1..bit0) + Byte 01: 1st Bit (bit7) = SRAM Size
00 0 = NONE
00 1 = SRAM MBC2
01 0 = SRAM 8KB
01 1 = SRAM 32KB
Byte 01 contains the SRAM Size (end) and ROM Block in the Flash.
ROM Blocks are 128KB (8 total)
Byte 01: Last 7 Bits (bit6..bit0) = ROM Block
00 = ROM Block 0 start offset 0KB
04 = ROM Block 1 start offset 128KB
08 = ROM Block 2 start offset 256KB
0C = ROM Block 3 start offset 384KB
10 = ROM Block 4 start offset 512KB
14 = ROM Block 5 start offset 640KB
18 = ROM Block 6 start offset 768KB
1C = ROM Block 7 start offset 896KB
Byte 02 contains the RAM Block in the SRAM.
RAM Blocks are 8KB (16 total)
Byte 02: RAM Block:
00 = RAM Block 0 start offset 0KB
04 = RAM Block 1 start offset 8KB
08 = RAM Block 2 start offset 16KB
0C = RAM Block 3 start offset 24KB
and so on until RAM Block 15.
Going back to our example cart:
A8 00 00 MENU: MBC5, size 2 = 128KB, ROM Block 0, RAM Block 0 (Ignored since SRAM is 000)
71 04 00 GAME 1: MBC3, size 4 = 512KB, SRAM 8KB, ROM Block 1, RAM Block 0
48 94 04 GAME 2: MBC2, size 2 = 128KB, SRAM MBC2, ROM Block 5, RAM Block 1
#### NBAJAMTE.eep
NBA Jam T.E. Rev 0 has faulty code that will erase the EEPROM when the cart is played on the console. Solution: Write the included save file to the cart. Play the cart on the console as normal. Create new saves as needed. When done playing, HOLD THE RESET BUTTON DOWN BEFORE TURNING THE CONSOLE OFF.
#### snes_clk.txt
Calibration data for clock generator.

Binary file not shown.

Binary file not shown.

Binary file not shown.