Commit Graph

592 Commits

Author SHA1 Message Date
Dakkaron
34e7f90d70 Extracts user interaction from writeSRAM_GB() and writeFlash_GB() to allow for more flexibility 2021-07-02 08:11:44 +02:00
sanni
9fb439a27f Update version number 2021-06-09 11:30:55 +02:00
sanni
527f3562ed V6.4: Add ExLoRom and ExHiRom flash options
- LoRom (P0) will write up to 8MB starting from file 0x0 to flashrom 0x0.

- HiRom (P0) will write up to 4MB starting from file 0x0 to flashrom 0x0.

- ExLoRom (P1) will write the first 4MB starting from file 0x0 to flashrom 0x400000. And then a second block up to 4MB from file 0x400000 to flashrom 0x0.

- ExHiRom (P1) will write the first 4MB starting from file 0x0 to flashrom 0x400000. And then a second block up to 4MB from file 0x400000 to flashrom 0x0.
2021-06-09 11:28:39 +02:00
sanni
78b5f7cb10 Update Cart_Reader.ino 2021-06-02 12:30:59 +02:00
sanni
96ed5efbf4 Add chip erase for unknown N64 repro 2021-05-27 17:50:19 +02:00
sanni
6f849921bb V6.3: Add sector size menu for N64 repro 2021-05-27 15:21:24 +02:00
sanni
f96f854b4e Add 64 byte write buffer for N64 repro 2021-05-26 17:07:26 +02:00
sanni
0c99780c5d V6.2: Add option to manually config N64 repro 2021-05-26 16:29:57 +02:00
sanni
c343094966 Add option to force A23 to high while flashing HiROM repros
A23-> low enables P0 and A23->high enables P1 flashrom.
2021-05-12 17:42:49 +02:00
Kreeblah
2c6c1c7f07 Updated snes_clk for exFAT changes 2021-04-28 00:44:11 -07:00
sanni
e78d6e99e0 V6.1: Add support for exFAT SD cards (>32GB) 2021-04-26 18:20:30 +02:00
sanni
d7cc26c560 V6.0: Update SdFat to Version 2 2021-04-26 10:14:37 +02:00
sanni
72fa1ea8b4 V5.7: Add Clockgen option to N64 Eeprom
Uncomment #define clockgen_installed in options.h and switch CLK1 switch to ON position. With Adafruit clockgen the eeprom now runs at the correct 2Mhz.
2021-04-15 16:26:29 +02:00
sdhizumi
540542ab23 SMS: add a strange checksum from The Pro Yakyuu '91 (Game Gear). 2021-04-11 00:21:08 +09:00
sanni
202057879e Fix Ramtron GB Save read/write
- [Ramtron datasheet](https://github.com/sanni/cartreader/files/6263159/001-86207_FM18W08_256-Kbit_32_K_8_Wide_Voltage_Byt-476756.zip)
- [Write/Read capture](https://github.com/sanni/cartreader/files/6263148/write_read_gameboy_sram.zip) of the changed GB.ino from [Logic Analyzer](https://downloads.saleae.com/logic2/Logic+Setup+2.3.24-master.exe)
2021-04-06 14:20:32 +02:00
Kreeblah
8c21071b99 Corrected type 2021-02-07 23:07:02 -08:00
Kreeblah
cf477ee629 Implemented custom atoi methods, as the included one only has 16-bit precision 2021-02-07 20:34:39 -08:00
Kreeblah
97e5e21962 Switched to 32-bit sizes 2021-02-07 19:07:47 -08:00
Kreeblah
ebcaeee36b Corrected miscalculated CRC32 for headered NES ROMs 2021-01-31 23:53:51 -08:00
Kreeblah
ab9490b880 Output unheadered NES ROMs as CART.bin 2021-01-31 17:12:40 -08:00
sanni
1bf1d2b720 Up version number and default to clock correction factor 0 2021-01-31 13:31:23 +01:00
Kreeblah
b5847b2ab1 Additional checks to reduce the possibility of user error with snes_clk.txt clock offset file. 2021-01-31 00:16:16 -08:00
Kreeblah
b90aa90131 Fixed return value 2021-01-26 23:09:17 -08:00
Kreeblah
c471a9161e Added attempt to load SNES clock offset from /snes_clk.txt before defaulting to -16000 2021-01-26 23:05:25 -08:00
Kreeblah
fb7bf59668 Added additional comments about functions returning pointers which need to be freed after use 2021-01-26 01:29:37 -08:00
Kreeblah
dcafe9b5a9 Tested and verified NES 2.0 header functionality 2021-01-26 00:16:08 -08:00
Kreeblah
01402abfa2 Corrected syntax 2021-01-25 15:06:58 -08:00
Kreeblah
592fa7b83e Corrected syntax 2021-01-25 15:04:33 -08:00
Kreeblah
8077e1e21b Corrected syntax 2021-01-24 14:20:05 -08:00
Kreeblah
12b4f81c9f Added additional check for header retrieval 2021-01-24 02:15:25 -08:00
Kreeblah
77cbb25b67 Corrected file reading calls 2021-01-24 02:13:58 -08:00
Kreeblah
ed293c2628 Simplified char to nibble function 2021-01-24 02:08:02 -08:00
Kreeblah
358ebf88f4 Initial code for NES 2.0 database support 2021-01-24 01:44:14 -08:00
sanni
5ee9997ea0 Fix Megadrive Zero Wing (J)
thx to tamanegi_taro
2020-12-10 12:04:25 +01:00
sanni
1b74a17813 Update Cart_Reader.ino 2020-11-03 11:19:16 +01:00
sanni
9eca87d975 V5.5: Reduce memory usage in Filebrowser 2020-10-28 18:44:13 +01:00
jiyunomegami
1e3833fe8d retrode SMS plugin support, SMS cart size detection 2020-10-18 02:12:09 +09:00
jiyunomegami
d7a133188d actually recheck DQ 7 in busyCheck29F032 2020-10-17 22:48:35 +09:00
sanni
4e590f7114 Merge pull request #54 from jiyunomegami/master
Merge commits by jiyunomegami
2020-08-19 20:44:57 +02:00
splash5
64173ad2ed Add more developerId
Fix some game could not dump properly
2020-08-16 00:05:58 +08:00
jiyunomegami
a3417eeb23 Non swapped HuCARD adapter support. Changed Tennokoe Bank support to read/write files for each 2KB bank, one at a time. 2020-08-14 19:05:27 +09:00
jiyunomegami
2096ec7597 writeFlash29F032: Retry writing, for when /RESET is not connected (floating) 2020-08-14 19:03:42 +09:00
jiyunomegami
712c4cc83d busyCheck29F032 changes to match the datasheet 2020-08-14 19:02:37 +09:00
jiyunomegami
4c6fb7bd8c Detect Flash ID 04D5 MBM29F080C 2020-08-14 18:58:20 +09:00
jiyunomegami
80c19a0bc4 fix verifySram_MD and writeSram_MD 2020-07-13 19:23:51 +09:00
jiyunomegami
83b53b47bd Correct comment about segaSram16bit 2 2020-07-12 21:14:58 +09:00
jiyunomegami
d07d80a4b7 pad the extra space like the retrode does when segaSram16bit is 2 2020-07-12 20:21:38 +09:00
jiyunomegami
f3b2fe8252 SRAM detection fix for Psy-o-blade, segaSram16bit setting in md.txt 2020-07-12 00:14:37 +09:00
jiyunomegami
e73ee4b171 modular compilation fixes 2020-07-11 20:39:12 +09:00
sanni
4eaac930ed Update README.md 2020-07-06 08:33:49 +02:00
jiyunomegami
39be20d32b SMS SRAM save data writing 2020-07-05 01:42:05 +09:00
jiyunomegami
29093b1bf3 add #ifdef enable_XXX check to each module 2020-07-05 00:07:14 +09:00
jiyunomegami
cb938a65bc SMS retrode mode toggle and SRAM save data reading 2020-07-05 00:05:06 +09:00
jiyunomegami
82ea59b942 add options.h 2020-07-04 22:37:02 +09:00
jiyunomegami
6d0ddda980 Make the retrode mode work after using the normal mode by accident 2020-07-04 22:33:50 +09:00
jiyunomegami
b0d8bf15ee add enable_XXX define for each module 2020-07-04 21:02:34 +09:00
jiyunomegami
d22f35b2ef use local sramBanks variable in SNES.ino 2020-07-04 20:57:54 +09:00
jiyunomegami
bc3dd3dd13 Retrode SMS/GG adapter support 2020-07-04 19:16:14 +09:00
jiyunomegami
c385323ce3 mapper 26 Madara support 2020-07-04 02:01:35 +09:00
jiyunomegami
169b853f1b saveType 5 for Dragon Slayer Eiyuu Densetsu 2020-07-04 02:01:03 +09:00
jiyunomegami
61b439e09a add print_Msg_PaddedHex32 function 2020-07-04 01:25:52 +09:00
jiyunomegami
9a77da1e66 Only use the lower half of bramCheck.
Was reading 0x0104 and 0x0704 from a Japanese RAM cart,
when B2 /MRES and B27 /VRES were not connected.
2020-07-03 23:48:16 +09:00
jiyunomegami
c9938b177f print MD bramCheck and chksum using print_Msg_PaddedHexByte 2020-07-03 22:19:47 +09:00
jiyunomegami
b1ad42bded add print_Msg_PaddedHexByte function 2020-07-03 22:15:26 +09:00
sanni
4d6594c0aa V5.3: Update snes.txt database
Created with this Processing script parsing the No-Intro set from Dezember 2019 with all beta, proto, unlicensed, sample and missing checksun ROMs removed:

https://www.dropbox.com/s/379g607k6ka8bfq/snesdata.pde?dl=1
2020-06-30 12:52:08 +02:00
sanni
ea6722d0c5 V5.2: Fix bug in GB code 2020-06-18 14:33:21 +02:00
sanni
c9f5c9ac36 V5.1: Fix Mapper 21 carts
Fix for Wai Wai World 2 (VRC4a) and Ganbare Goemon Gaiden 2 (VRC4c)
Thanks to skaman
2020-05-25 07:34:18 +02:00
sanni
8794e4c878 Update Cart_Reader.ino 2020-05-13 13:05:10 +02:00
sanni
615ef8d68c V5.0: Add suport for NeoGeo Pocket
Many thanks to splash5
2020-05-12 13:52:03 +02:00
sanni
cfb9e39cbf V4.9: Improve WS Initialization
Thanks to skaman.
The code does a deeper sanity check of the header data when initializing the cart.  It avoids having to constantly press buttons to reinit the cart.  Carts can still not initialize the MBC properly but that's normal for the WonderSwan.  Clean the pins on the cart and check that the cart and adapter are seated properly.  If the cart doesn't unlock immediately, then let the sketch run for a bit.  For stubborn carts, a power cycle might be necessary.
The sketch fixes a few typos, removes some trailing spaces, and adds another ROM size (used by Benesse Pocket Challenge V2 carts).
2020-04-20 10:35:48 +02:00
sanni
7b263115a5 V4.8: Add Reset Option to sub menues 2020-04-12 11:11:10 +02:00
sanni
aa4621a54d V4.7: Increase SA1 compatibility
Somehow a lower clock seems to work better, maybe the clock generator draws less power this way?!
2020-03-19 18:21:41 +01:00
sanni
83aacd4c66 Update SNES.ino 2020-03-17 16:38:44 +01:00
sanni
5cec7afd1f V4.6: Increase SA1 compatibility 2020-03-17 14:09:47 +01:00
sanni
f9ca4f9108 V4.5 Fix VRC4e carts (Mapper 23)
The code change only affects readCHR().  It shortens the check to a single byte but that is enough to identify the four VRC4e carts.  The original list of VRC4e carts that I referenced only showed Boku Dracula-kun and Tiny Toon Adventures.  I found out that all four of the Mapper 23 VRC4 carts use the VRC4e submapper.  Mapper 23 includes VRC4f but there are no known examples (BTW, VRC4f = VRC2b).
2020-03-03 11:16:27 +01:00
sanni
4a1b441ae5 V4.4: Add ST M29W128GH GBA repro
Thanks to xybots for testing
2019-12-21 21:24:39 +01:00
sanni
e4cab438ca Update GBA.ino 2019-12-20 16:02:57 +01:00
sanni
0c54882042 V4.3: Add BS-X sram read/write thx to skaman 2019-12-17 19:53:21 +01:00
sanni
b24f4c0b01 Upload Files
More info:
Also added Pocket SNES PCB by Niltonn
https://forum.arduino.cc/index.php?topic=158974.msg4381465#msg4381465
2019-11-27 10:02:50 +01:00
sanni
b856459fee Update NES.ino (thx to skaman)
Changes:
Adds Mapper 30 (NESmaker) support with read/write Flash support.
Adds PRG-RAM read/write support for Mappers 4 (MMC6), 19, 80, 82.
Adds SRAM support for Family Basic (Mapper 0) carts.
2019-11-25 11:53:45 +01:00
sanni
1f2b9dcc4a
Forgot to advance version number after fixing var index to type int a couple of weeks ago 2019-11-12 09:49:24 +01:00
sanni
087585f8f6 Add cycle cart for MD multi game carts
Thanks to BASSIX
2019-10-31 08:43:10 +01:00
sanni
20fc59f89b
Merge pull request #49 from splash5/master
Add WonderSwan adapter PCB and schematics
2019-10-29 13:58:03 +01:00
splash5
d615f433f3 Add WonderSwan adapter PCB and schematics 2019-10-29 20:30:37 +08:00
Phil Eichinger
8e7ae83576 Add support for Intel PC28F256M29
Tested with 2 repro carts
2019-10-24 21:58:32 +02:00
splash5
1fc7bb27e9 Adjust clk count for unlocking MMC 2019-10-18 22:29:48 +08:00
splash5
7f5088cc2a Merge remote-tracking branch 'sanni/master' 2019-10-18 13:05:42 +08:00
splash5
e3a70af141 Add developerId 0Bh(SUM) 2019-10-18 13:02:58 +08:00
splash5
55356796db Fix typo in developer name 2019-10-18 12:27:45 +08:00
splash5
e0e4cad606 Clean up code 2019-10-18 12:20:34 +08:00
splash5
651c45b0db Add some developer name 2019-10-18 12:10:14 +08:00
splash5
c45bdbf07d Change IO? pin as input
Simplify MMC unlock procedure
2019-10-18 11:31:35 +08:00
splash5
7deb455d41 Blinking LEDs on cartridge (only for BANC33) 2019-10-18 01:54:30 +08:00
sanni
d4935ef326 Change var index to type int 2019-10-17 17:14:08 +02:00
splash5
025ca2461c Fix wrong block address 2019-10-17 12:37:33 +08:00
splash5
3f0fc3b577 Add support for flashing witch os
(fbin from witch kit)
2019-10-15 12:00:35 +08:00
splash5
dcc0fa88d2 Correct menu item count 2019-10-14 11:19:01 +08:00
splash5
423f8dfb19 Add some description about cartridge pinout 2019-10-14 01:26:50 +08:00
splash5
5e77331912 Patching header for some games
(No affect on rom file dumping)
2019-10-13 02:02:49 +08:00
splash5
92c7a41c97 Fix typo again 2019-10-11 22:13:10 +08:00
splash5
5c1d28a0d6 Fix typo 2019-10-11 21:15:59 +08:00
splash5
1771104fe5 Add WonderSwan support 2019-10-11 20:57:23 +08:00
splash5
0712e8e5ae Add "showCartInfo_GB" function 2019-10-07 11:34:55 +08:00
splash5
6fcd374e2a Add support for AM29F400AB, E28FXXXJ3A and AM29LV033C
(E28FXXXJ3A and AM29LV033C need custom adapter)
2019-10-07 11:34:41 +08:00
splash5
991c7f8d6c Fix buffer overflow in fileBrowser 2019-10-07 11:34:22 +08:00
sanni
faccad90c3 Move needed libraries into Releases 2019-10-04 12:57:52 +02:00
sanni
ee730623fc Add Realtec Mapper to MD.ino thx to skaman 2019-09-29 12:33:02 +02:00
sanni
5da151f072 Update SMS.ino 2019-09-27 23:01:45 +02:00
sanni
34d6871f7d Set eeprom location for folder number to 0 again 2019-09-27 17:38:42 +02:00
sanni
1fe0b53a0d V4.0: Add complete N64 Controller Test 2019-09-27 17:06:17 +02:00
sanni
f6f442f47a
Update README.md 2019-09-27 09:36:30 +02:00
sanni
adb2b6c56f
Update Cart_Reader.ino 2019-09-27 09:31:11 +02:00
splash5
edcbc842b3 Add support for MBM29F800BA/AM29F800BB and LH28F016SUT 2019-09-26 18:33:08 +08:00
splash5
a5f629df78 Add support for EMS GB Smart 32M flash cart 2019-09-26 13:38:03 +08:00
sanni
5d49302305
Update GB.ino 2019-09-22 08:33:55 +02:00
sanni
5ff1705faa
Update FLASH.ino 2019-09-22 08:32:58 +02:00
sanni
96ea8efb52
Update SMS.ino 2019-09-20 14:50:25 +02:00
sanni
c681fbaec3 V3.9: Add SMS 2019-09-20 14:30:57 +02:00
sanni
026e774b43 Update SMS.ino 2019-09-20 11:50:54 +02:00
sanni
4a2d3d81dc Update SMS.ino 2019-09-20 11:16:53 +02:00
sanni
4555ce1da7 Update SMS.ino 2019-09-19 16:06:19 +02:00
sanni
8f2346f145 Update SMS.ino 2019-09-19 13:42:46 +02:00
sanni
6cb577e19f
Update NES.ino 2019-09-18 22:43:49 +02:00
Modman
1128720bdd
Update N64.ino
Included new strcmp function to ignore case when comparing checksums.
2019-09-17 13:01:05 -07:00
Robert Neumann
60cfbda563 N64: Blink LED for EEP operations (they do take a while and the blinking tells users that there is progress); silence warning on the bitmaps; convert use of Arduino's "not" to exclamation mark 2019-09-13 18:13:37 +02:00
Robert Neumann
29e8109606 SNES, MD: avoid dumping/writing 0 Byte files to SD card 2019-09-11 20:02:26 +02:00
sanni
ec13a58ec3 Get rid of compiler warning 2019-09-10 17:38:56 +02:00
sanni
41e9517504 Add tip to use Arduino AVR Boards Version 1.6.21
Current Arduino IDE has a bug preventing compiling at random times.

See: https://forum.arduino.cc/index.php?topic=595550.0
2019-09-08 20:41:56 +02:00
sanni
8c3ad0aed9 Update NP.ino 2019-09-08 20:27:05 +02:00
sanni
ece384c2dc Update Cart_Reader.ino 2019-09-08 20:21:46 +02:00
sanni
9b2011c95c V3.8: Fix SF Memory 2019-09-08 15:53:46 +02:00
sanni
f79c169782 V3.7: Add MX26L6420
thanks to Ice Man for testing
2019-09-07 15:57:37 +02:00
sanni
b250fffbc4 Update FLASH.ino 2019-09-07 14:13:39 +02:00
sanni
1e6a37858d Update NES.ino 2019-09-05 22:18:18 +02:00
Robert Neumann
6c2b9a9732 various: work on SNES SA-1 init / reset; LED: skip red in attract mode, as red usually indicates an error to the user 2019-09-05 15:43:27 +02:00
sanni
b8552090c8
Update Cart_Reader.ino 2019-09-05 10:34:14 +02:00
sanni
28d37cd661
Update README.md 2019-09-05 08:18:19 +02:00
sanni
cb540d5ee7
Fix typo 2019-09-05 08:14:51 +02:00
sanni
bbdff75a6f V3.6: Code Clean-up and NES integration(untested)
Copy&pasted all the functions from "Famicom Dumper" by skaman into NES.ino and modified them to fit the enviroment.
Not tested yet.
2019-09-05 00:48:39 +02:00
Robert Neumann
1d6bd2ae86 various: forward declaration for "T" type used in EEPROM functions, necessary for non Arduino IDE 2019-09-02 20:11:08 +02:00
sanni
d39a438c4d Update MD.ino 2019-09-02 18:34:25 +02:00
sanni
1cafca33f7
Update MD.ino 2019-09-02 18:27:33 +02:00
sanni
0c75bf8aed V3.5 Change Menu and add Sega CD Ram Cart
Thanks to skaman for the Sega CD Ram Cart code.  Writes to the Sega CD Backup RAM Cart require an extra wire from MRES (B02) to VRES (B27).
2019-09-01 14:36:53 +02:00
Robert Neumann
85992eff80 SNES: blink LED while dumping (as with the other modules); show total elapsed time, including the checksum check 2019-08-31 02:51:02 +02:00
sanni
f6390d1604 V3.4: Add MD Checksum and autoformat all ino files 2019-08-30 20:20:41 +02:00
Robert Neumann
ad7e188311 speedup and progress bar for MD module; display the ROM stored CRC in overview 2019-08-29 23:46:15 +02:00
Robert Neumann
4246ba4e07 progress_bar: Included the progress bar in the N64 and SNES modules; some OLED formatting; reverting the Arduino reset to basically jmp 0 again (due to issues with some Mega2560 bootloaders probably, my module would sometimes just hang) 2019-08-29 19:13:50 +02:00
Robert Neumann
07561bdaf0 n64_speedup: roughly double n64 dumping performance by using the 1024 byte file buffer and combining the checksum and dumping code; also some cleanup 2019-08-28 23:48:44 +02:00
Robert Neumann
f7b61cc656 strings_to_flash: conserve ~ 800 byte SRAM by putting menu strings in progmem. Free bytes now: ~ 4000 2019-08-28 12:02:17 +02:00
Robert Neumann
c5c26110fb arduino_reset: replace the assembler jmp 0 reset method with resetArduino() that uses the watchdog timer to reset the device. This is the preferred method, as it initializes the device more correctly. 2019-08-27 21:43:48 +02:00
Robert Neumann
41e7e0f6f5 small change that allows using Visual Micro instead of the Arduino IDE 2019-08-27 19:15:52 +01:00
sanni
86340db9a9
Update Cart_Reader.ino 2019-08-27 11:35:20 +02:00
Robert Neumann
9dc087720b snes_speedup: optimized SNES dumping performance by reducing ROM read delays and increasing the SD card buffer from 512B to 1024kB; dumps a 32Mbit cart in 14 seconds now, 10 of which are for the SD card access :) 2019-08-27 00:19:54 +01:00
sanni
3559eb3185 Fix for Codemasters Duplicate Checksums 2019-08-26 07:23:05 +02:00
sanni
13243cdba4 MD Sketch Improvements by skaman
IMPROVEMENTS:
Added read/write support for all Serial EEPROM cart types (Acclaim Type 1, Acclaim Type 2, Capcom, Codemasters, EA, and Sega).  Capcom EEPROM code is untested but should work the same as Sega EEPROM code.

Fixed SRAM code to handle all SRAM types.

Added identification of SRAM carts that have bad headers.

Added support for Super Street Fighter 2.

WARNINGS:
Serial EEPROM writes take time to complete.

Serial EEPROM support was tested using Serial Output only.  Support using the OLED Display might require some timing adjustment as display_Update() on Serial translates to delay(100).

ADDITIONAL NOTES:
I've included a save file for NBA Jam T.E. Rev 0.

NBA Jam T.E. Rev 0 has faulty code that will erase the EEPROM when the cart is played on the console.  The solution proposed by the publisher was to play the cart with two different sets of initials (XXX, NBA) to initialize the EEPROM.  The included save file was created after doing this special initialization.  My tests of the EEPROM show that it will still erase after the special initialization.

I did some additional tests and found a potential 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.  YMMV.
2019-08-25 10:15:23 +02:00
sanni
e537d7623a
Update Cart_Reader.ino 2019-08-23 12:47:53 +02:00
sanni
7463a6d7a5
Fix Krusty's Super Fun House (U) 1.0 & Contra 3 (U), thanks to skaman
Quote: "Contra 3 has a bad header.  The internal ROM name is too long and overwrites 0xFFD5 which is the ROM speed setting.  Krusty's Super Fun House 1.0 has the same problem."
2019-08-23 12:43:15 +02:00
sanni
4c7e428938
Added PC Engine Tennokoe Bank RAM read/write support, thanks to Tamanegi_taro 2019-08-12 15:45:14 +02:00
sanni
2451cd8cdd
Update Cart_Reader.ino 2019-08-06 18:58:35 +02:00
sanni
17522c4040
Update Cart_Reader.ino 2019-08-01 16:44:44 +02:00
sanni
79c6877fce V3.0: Update libraries to latest version 2019-03-22 22:47:59 +01:00
sanni
eee9b165a0 V2.9: Fix writing MBC3 flashcart 2019-03-01 19:16:33 +01:00
sanni
94a0d9ed1d V2.8: Fix GBA Sram issue
Thanks to Cyber_Akuma
2019-02-18 13:36:00 +01:00
sanni
a6efb62513
Merge pull request #31 from arasabbasi/master
Minor changes, not tested
2019-02-09 00:01:50 +01:00
sanni
c02727d674
Update README.md 2019-02-08 23:39:20 +01:00
sanni
7f74f22ce7 V2.7: Fix flashing 29F032 Snes repro 2019-01-31 15:30:00 +01:00
Aras Abbasi
0d65828c73
Update GB.ino 2019-01-28 21:52:28 +01:00
Aras Abbasi
a0f85d788e
Update PCE.ino 2019-01-28 21:40:03 +01:00
Aras Abbasi
094d9fcdd3
Update GB.ino 2019-01-28 18:23:37 +01:00
sanni
a6e2613379 V2.6 Auto backup current Gameshark ROM 2019-01-18 14:37:22 +01:00
sanni
642139ca1a V2.5 Add Support for Gameshark N64 reflashing (beta)
Sometimes the Gameshark will lock itself up, in this case it helps if you put a 6102 game into the Gamesharks slot and then put both into the Cart Reader and just start dumping the rom as if it was a game.
2019-01-16 16:50:55 +01:00
sanni
8173115c93 V2.4 Add support for SST29LE010 N64 Repro (128KB only)
For some reason I can only read or write the first 128KB while the second 128KB remain 0x00.

You might have to re-calculate your homebrew rom's checksum if you had to trim it down to 128KB. In this case you can use chksum64.exe out of the libdragon devkit. Not sure if this is needed though.

And yes by "SST29LE010 N64 Repro" I'm  jokingly referring to the Gameshark.

I wanted to turn the Gameshark into an import adapter using Lac's boot emu but the boot emu just restarts itself since the Gameshark isn't switching to the top cart slot.

Sometimes the Gameshark locks up, then you have to plug a 6102 cartridge into the Gamebuster's top slot and then connect both to the cart reader and read the rom. After that it should be accessible again.

Don't use this to update your working Gameshark since you can't read nor write the whole 256KB right now.
But if you have a broken one, have fun. :)

I tested this with a Gameshark V2.0
2019-01-13 06:15:11 +01:00
sanni
2e0f5f82e6
Update README.md 2018-10-30 21:11:05 +01:00
sanni
a27ee157e8
V2.3: Remove 16bit flash adapter menu
If you're still using the old 16bit adapter(the one with the additional pins left and right on the snes cart edge) you can enable the menu again by changing one line in Cart_Reader.ino:  
// Enable 16bit flash adapter menu
#define enable_flash16
2018-10-30 21:08:59 +01:00
sanni
ce4f7aeeee V2.2: Add Satellaview support
Supported carts so far:
-BS-X Sorewa Namaewo Nusumareta Machino Monogatari
2018-10-22 20:29:49 +02:00
sanni
7356a93710 V2.1: Slow down reading of N64 eeprom 2018-10-20 17:38:24 +02:00
sanni
7e0e7bd08c
V2.0: Increment version number after merge 2018-10-14 10:41:16 +02:00
sanni
4f6f79b3b1
Merge branch 'master' into patch-1 2018-10-14 10:16:07 +02:00
sanni
4631475619
Add files via upload 2018-10-14 10:09:25 +02:00
vogelfreiheit
10c55a9059
Add support to N64.ino for some cartridges with alternative FlashRAM ICs
Some cartridges might have differing versions depending on the region they were released to.  In most cases, the IC identifies as something else not presently covered by the current code, but they are ABI compatible with the existent FlashRAM supported types.

This will add support for 29L1100KC-15B0 compatible ICs like the MX29L1101.
2018-10-14 05:30:51 +02:00
sanni
ee6d1b8f81
V1.9: Fix bug with Arduino IDE 1.8.7 2018-10-05 18:33:09 +02:00
sanni
478f9c6a27
V1.8: Disable SRAM when flashing LoROM repro
[Imgur](https://i.imgur.com/YSI1xRq.jpg)
2018-09-20 02:30:23 +02:00
sanni
b7c96ef0ed
V1.7: Add repro entries to SNES menu
These two new entries just forward the user to the flashrom functions inside of flash.ino.     
I have only tested custom-made 29F033 repros using original SHVC-1J3M-20 and SHVC-1A3M-30 PCBs as shown here: https://github.com/sanni/cartreader/wiki/Reflashing-SNES-Repros
2018-09-12 20:59:48 +02:00
sanni
b816918e70
V1.6: Add support for S29GL032M flashrom (byte mode) 2018-08-29 14:10:28 +02:00
sanni
540e698e7f
V1.5: Enable 27C322 burning code again
Needs a special eprom adapter that provides 6V VCC and 12V VPP while programming. This can be achieved with two step-ups and a transistor.
2018-08-24 16:48:35 +02:00
sanni
38aa8aad39
V1.4: Add support for MX29LV320 T/B TSOP48 2018-08-16 19:00:53 +02:00
sanni
3015b1037c
V1.3: Set byte pin to low in 8bit mode 2018-07-29 11:19:25 +02:00
sanni
32734db2cb
Add files via upload 2018-06-21 12:25:44 +02:00
sanni
904e23cecd
V1.2: CX4 support by skaman
Thanks alot :)
2018-06-21 11:38:42 +02:00
sanni
f7bd4878eb
V1.1: Add support for Intel 512M29EW (64MB) N64 repro
Haven't tested it myself but should work thx to BASSIX
2018-06-11 09:42:35 +02:00
sanni
40d2361855
V1.0: Change versioning to the more common #.# format 2018-05-05 20:58:49 +02:00
sanni
bec6426901
Update README.md 2018-05-05 20:56:33 +02:00
sanni
f8f78cc5a1
V33C: Fixed writing first 20 bytes of 27C322 eprom
Apparently the step-up converter needs a little delay before it can provide the 12V VPP.
The verify function still does not work though, I have no clue why.
2018-04-21 19:39:56 +02:00
sanni
f9c89d4666
V33B: Updated 27C322 timings
The first 10 words still do not get written though, not sure if I need something like a setup delay or if my eprom is broken.   
Too enable the eprom menu for testing 27C322 flashing change the following lines in Flash.ino:     
  // create menu with title and 3 options to choose from     
  unsigned char flashSlot;      
  // Copy menuOptions out of progmem      
  convertPgm(menuOptionsFlash, 3);      
  flashSlot = question_box("Select flashrom slot", menuOptions, 3, 0);
2018-04-21 17:14:11 +02:00
sanni
72a1a6d7c8
V33A: Accidentally left 27C322 eprom menu enabled
Eprom programming is still highly experimental and does not work 100% yet.
2018-04-21 14:23:13 +02:00
sanni
b77519d104 V33: Add PCE support by tamanegi_taro
Many thanks to tamanegi_taro, great work.
2018-04-18 16:58:02 +02:00
sanni
09d122369f
V32A: Add verifying ST M27C322 Eproms (beta) 2018-04-05 16:47:19 +02:00
sanni
45f67ed300
V32: Add writing ST M27C322 Eproms (beta)
Needs custom flash adapter with 12V step-up converter modul for VPP.   
5V VCC seems to work even though datasheet specifies 6.25V VCC while programming.
2018-04-04 22:20:53 +02:00
sanni
8f4e33e20b
V31A: Fix writing Game Boy custom MBC3 Flashcart with MX29F016 flashrom
These: https://www.jrodrigo.net/wiki/how-to-diy-a-gameboy-flash-cartridge-with-a-rom-adapter-board/
2018-04-03 16:45:45 +02:00
sanni
b37d95b3b5
V31: Add flashing in 16bit mode for 29LV160/320/640 flashroms 2018-04-02 20:23:31 +02:00
sanni
11a12f5926
Fix Copy&Paste error 2018-03-19 12:30:17 +01:00
sanni
2c2eb0e8bd
V30K: Add Momotaro Dentetsu Happy detection
and also the updated checksum calculation out of skaman's enhanced snes sketch
2018-03-19 12:24:13 +01:00
sanni
742e96151a
V30J: Fix SA1 sram write
Mayne thanks to Oatburner and skaman.
2018-03-12 13:58:03 +01:00
sanni
b369318a32
V30I: Add option to enable/disable N64 CRC32 checking
In Cart_Reader.ino line 71 change "boolean n64crc = 1" to "boolean n64crc = 0" to disable the CRC32 check when dumping roms. This is useful if you rather calculate the checksums on your much faster computer. Calculating the CRC32 is enabled by default now and can take quite some time.
2018-02-02 10:52:05 +01:00
sanni
0ba4923699
V30H: Fix MX29L3211 flashing as 16bit in 8bit mode 2018-01-09 23:36:09 +01:00
sanni
6bcc79fd88
V30G: Add N64 manual rom size and force save type menus and Spansion S29GL128N flashrom detection 2017-12-20 10:33:02 +01:00
sanni
8c6d0960fb
V30F: Fix writing MX29LV160
Reset pin needs to be connected to Reset of SNES slot.
2017-11-24 21:36:33 +01:00
sanni
76ae5c5408
V30E: Moved disabling interrupts out of the loop when reading/writing N64 eeproms
Hopefully this was the reason it sometimes froze at that point.
2017-11-22 12:44:18 +01:00
sanni
fa63471333
Add files via upload 2017-11-21 12:29:09 +01:00
sanni
21585eeb87
Update Cart_Reader.ino 2017-11-21 12:26:39 +01:00
sanni
8613f79382
V30D: Fixed dumping error with all japanese rom names and no game code either
Example cartridge: Super Family Tennis
2017-11-21 12:25:55 +01:00
sanni
13657e3a13
V30C: Removed Nintendo Power Menu entry
Nintendo Power SF Memory is now found under the SNES and Nintendo Power GB Memory under the Game Boy submenu.
2017-11-19 21:03:37 +01:00
sanni
0ab9f7f120
V30B: Add option to always start in a submenu
For example you can change "#define startMenu mainMenu" to "#define startMenu n64Menu" if you only need the N64 stuff.
2017-11-17 20:53:00 +01:00
Scott Smith
dc6ed42f14 Fix for games larger than 96 banks (Nintendo Power Fire Emblem 5 Thracia 776) 2017-10-28 19:27:25 -04:00
sanni
27b63819e5 V30: Add support for Fujitsu MSP55LV100S N64 repros and fix bug in Serial Monitor filebrowser
- The Fujitsu MSP55LV100S consists out of two Fujitsu MSP55LV512 which themselves are just Spansion S29GL256N flashroms. One flashrom is used for the high byte the other for the low byte.   
- You can now browse pages with the Serial Monitor's file browser just like you can with the OLED.
2017-10-22 13:32:14 +02:00
sanni
c119555ce7 V29D: Write mapping data of Nintendo Power GB Memory cartridges (DMG-MMSA-JPN) 2017-10-13 19:00:49 +02:00
sanni
2213f8483f V29C: Fixed writing Nintendo Power GB Memory cartridges (DMG-MMSA-JPN) 2017-10-12 23:51:47 +02:00
sanni
43ec1a423b V29B: Added warning when dumping GB Memory flash
Still have the bank switching error when writing, problem is located at line 2159. I can't switch the bank any time before since I need an uneven bank for the 0x5555 command and I can't switch afterwards or it will be too late and everything will be written to bank 1...
2017-10-11 23:42:07 +02:00
sanni
79346e3a51 V29A: Write first 0x7FFF bytes of GB Memory cart
Don't understand how to switch banks right now or more precise when to switch banks without killing off the buffered write sequence.
2017-10-11 20:57:34 +02:00
sanni
4bb76e01e2 V28I: Added an alternative ID for the Fujitsu MSP GBA Repros
Fujitsu MSP55LV128 and Fujitsu MSP55LV128N are the same flashrom but they have different ID's ...
2017-10-07 12:19:34 +02:00
sanni
e2b10ca316 V28H: Support for Fujitsu MSP55LV512 (64MB) and Intel 4400L0ZDQ0 (where the CPLD limits it to 32MB) N64 repros 2017-10-01 19:55:23 +02:00
sanni
8e8ff3262e V28G: Check N64 repro sector protection
Still trying to get the MSP flashrom repros working, hopefully mine will arrive soon so I can actually test revisions quicker
2017-09-21 12:57:09 +02:00
sanni
bda2f84553 V28F: Update version number after merge 2017-09-19 17:34:41 +02:00
sanni
f2e2196ab9 Merge branch 'master' into master 2017-09-19 17:21:14 +02:00
Scott Smith
198e3156c3 Changes needed to read Tengai Makyou Zero (SPC7110) based on skaman code
Also includes some code cleanup for reading
2017-09-18 20:21:41 -04:00
sanni
4d5cff1393 V28E: Added some untested flashrom types for GBA and N64
I don't have them myself so I can't test but maybe others can.   
Flashrom Programmer: Macronix MX29LV320 and MX29LV640 (connected as 16bit flashrom in 8bit mode)   
GBA: Intel 4400L0ZDQ0 (Only using the first 32MB)   
N64: Fujitsu MSP55LV100S and Macronix MX29LV640 (Fujitsu might have a different sector size)
2017-09-18 23:39:54 +02:00
sanni
684cb15fc9 V28D: Simplify GBA Logo Check
byte overflow in last commit
2017-09-15 18:13:46 +02:00
sanni
2a0ca1b236 V28D: Simplify GBA Logo Check 2017-09-15 17:51:41 +02:00
sanni
2846203b35 V28C: Add support for Fujitsu MSP55LV128 GBA repros
Almost the same as Macronix MX29GL128E but sector size and write buffer are half the size.
Data pins 0 and 1 are also swapped and it still needs 5V to erase correctly.
2017-09-14 23:09:14 +02:00
sanni
39d7e52509 V28B: Add reset to readmode before blankcheck for GBA repro with Intel flashrom 2017-09-08 14:46:24 +02:00
sanni
1562ed1ff8 V28A: Rewrite GBA repros with 16MB MX29GL128E flashrom (the ones with switched data pins)
The whole GBA code is currently a little bit buggy, so for dumping roms you propbably should stay on the last somewhat stable release V27D. 
Reflashing only seems to work with 5V. Probably out of the same reason why some real carts don't work with V28 ... bad read/write timings.

I also might have broken support for the Intel flashrom I added in the last commit...
2017-09-08 01:09:42 +02:00
sanni
63b239d27e V28: Rewrite GBA repros with 32MB Intel 4000L0YBQ0 flashrom
There is still a bug left when it comes to resetting the flashrom to read mode since I can't find the datasheet to look up the partition sizes. So it might be that the verifying process fails even though the flashing was successful. In this case remove the GBA repro for a few seconds then just dump the rom and compare if the write really failed.
2017-08-16 16:08:00 +02:00
sanni
00f4720f76 V27D: Fixed 16bit flashrom functions for writing 29L3211 and similar
Seems like my last fix did break more than it did repair but this time everything should work.
2017-07-13 10:51:20 +02:00
sanni
90fad59080 Update README.md 2017-07-10 20:07:45 +02:00
sakman55
840f50d063 SRAM Fixes 2017-07-08 10:07:39 -10:00
sanni
e97dfecf02 V27B: Add Mega Drive FRAM read/write
Only tested with Sonic 3
2017-06-28 20:31:50 +02:00
sanni
9335e1d2aa V27A: Add Mega Drive SRAM read/write
Only tested with the game STRIKER. There are probably multiple types of SRAM games so not all will work yet.
2017-06-27 23:27:10 +02:00
sanni
80e0e12c82 V27: Add basic Mega Drive Support
Just dumping of roms right now, no save games. Not sure if all games will dump or if there are some special ones.
2017-06-26 23:48:07 +02:00
sanni
e6d49feb92 V26: Flashrom Programmer Bugfixes
- It seems like flashroms in the 16bit slot like the 29L3211 were accidentally programmed byte swapped up until now and only the 8bit slot worked correctly.
- You can now program files smaller than the flashrom's size without getting a verification error 
- Added the special 29F1601 flashrom taken out of the Nintendo Power SF Memory carts
2017-06-25 03:03:15 +02:00
sanni
6a4b78d1bc Create README.md 2017-06-10 08:04:37 +02:00
sanni
4958b83e48 V25D: Fixed Derby Stallion 96 (thanks to skaman and tamanegi_taro) 2017-06-10 07:46:05 +02:00
sanni
876190b17e V25C: Changed ID'ing of 32MB N64 Repros 2017-06-06 10:07:11 +02:00
sanni
abf99f9e1f V25B: Small Bugfix 2017-06-04 16:36:16 +02:00
sanni
e08689cbbe V25A: Update to newest versions of the libraries 2017-06-01 08:54:21 +02:00
sanni
2b631600f9 V25: Enabled reading of Nintendo Power GB Memory cartridges
Not super reliable right now.
2017-05-30 21:00:12 +02:00
sanni
56e71a59de V24E: Fixed writing N64 repro (new version with Intel chip)
Also re-enabled blankchecking at least until I know this code works reliably.   
Writing 64MB takes 40 minutes. I did not optimize yet so it might become faster in the future.
2017-05-21 17:36:36 +02:00
sanni
41d238e1b6 V24D: More names that were one char too long 2017-05-15 10:24:28 +02:00
sanni
d8b888d5a6 V24C: Accidentely made SNES name one char too long 2017-05-15 10:19:13 +02:00
sanni
326d37cebd V24B: Use game code for SNES titles with all japanese name 2017-05-12 16:08:55 +02:00
sanni
dddf21fc3e V24: Changed folder structure on SD card
All modules now write their roms/saves to a separate subfolder.
2017-05-08 20:42:47 +02:00
sanni
ed5dc3f573 V23A: Speed up flashing the S29GL256N N64 repro
Writing a 32MB rom should now only take 12 minutes
2017-05-03 11:54:55 +02:00
sanni
046634fc6f Update README.md 2017-03-27 17:45:19 +02:00
sanni
6071cf5b47 Update README.md 2017-03-26 11:33:58 +02:00
sanni
67a83ccab2 V23 Add writing of N64 repro (first draft, super slow)
Takes ~1 hour or so for a 64MB rom file since I have not yet implemented the roms 16 word write buffer and instead write only one word at a time.
This is the repro I used: https://www.aliexpress.com/item/N64-Game-Resident-Evil-2-Nintendo-Video-Game-Cartridge-Console-Card-English-Language-US-Version/32788522464.html
2017-03-02 00:31:58 +01:00
sanni
4adb7c7506 V22B Improved N64 timing once more
This should fix reading of N64 repro carts
2017-02-25 00:15:24 +01:00
sanni
82c69924e3 V22A Changed N64 timings a bit
Still fails to read the N64 repro but now at least it fails consistently ...
2017-02-24 16:19:06 +01:00
sanni
7945de9ffd Update README.md 2017-02-15 20:42:36 +01:00
sanni
5cfdb5cb98 V22 Added GBA database 2017-02-11 16:45:16 +01:00
sanni
5c5b2fecce V21A Fixed GB Flashrom bug
Thanks once again to skaman:
"The problem occurs because of the bank switch to 0xAA (0xAA * 0x4000 = 0x2A8000).  I'm assuming that the code you're using writes the bank to address 0x2000 (or similar) then follows with the flash sequence to program the byte.  Since 0xAA is also a flash command, the flash chip misinterprets the bank switch as the flash command and misses the command sequence to write the first byte in the bank."
2017-01-30 22:48:08 +01:00
sanni
6a9099be8c V21 Updated GB code to insidegadgets newest version
Known bug: When writing a 4MB Game Boy flashcart you can't write anything to offset 0x2A8000. So you get one byte error at the end.
I don't know why.
2017-01-30 15:49:04 +01:00
sanni
6bcdc9526c V20 Changed N64 timing a bit
Hopefully I didn't break anything :x
2017-01-29 19:00:12 +01:00
sanni
05c1965a9a Reset SA-1 cart after SRAM write 2017-01-12 00:47:38 +01:00
sanni
b6e43f5b34 V19J: Added reading/writing of GBA 64K eeprom save games (fix) 2016-10-15 21:59:07 +02:00
sanni
c95ec351ea V19J: Added reading/writing of GBA 64K eeprom save games 2016-10-15 21:46:30 +02:00
sanni
00f5dcdc1a V19I: Added writing of GBA 4K eeprom save games 2016-10-15 16:24:12 +02:00
sanni
80017521f2 V19H: Added reading of GBA 4K eeprom save games
Eeprom chip: 9853
2016-10-14 19:35:37 +02:00
sanni
027763940a V19G: Changed default input mode to two buttons input
If you have the old hardware version that has only one button please change:

#define enable_Button2

to

//#define enable_Button2
2016-10-07 13:21:36 +02:00
sanni
861998b155 V19F: Fixed timing for GBA 1M flashrom save games 2016-10-06 23:04:31 +02:00
sanni
7b03f32968 V19E: Started adding support for MX29L010 1MB flashrom saves (not working yet) 2016-10-05 20:15:47 +02:00
sanni
ae8d1e1f28 V19D: Changed the way GBA roms are read 2016-09-27 00:00:22 +02:00
sanni
3825590018 V19C: Added GBA Save support for SST 39VF512 Flashrom 2016-09-21 00:04:04 +02:00
sanni
bdadbf2eb0 V19B: Added GBA FRAM save support
This will allow you to read/write the Fujitsu MB85R256 Ferroelectric Random Access Memory Chip
2016-09-18 15:10:59 +02:00
sanni
c97c3ac855 V19A: Minor bugfixes 2016-09-14 00:47:43 +02:00
sanni
b0e2d5b6c2 V19A: Minor bugfixes 2016-09-14 00:46:43 +02:00
sanni
a8c03520c8 V19: Add GBA rom dumping (beta)
Seems to work fine with the Arduino running on 5V. 
Still a few read errors on 3.3V. Probably timing related.
2016-09-12 15:16:03 +02:00
sanni
84d946a2be Delete SNS.ino 2016-09-12 15:13:31 +02:00
sanni
be0b5e8986 V18B: Fixed typo that lead to menu error 2016-09-04 15:54:39 +02:00
sanni
5d3e4a3628 V18A: Added delay to SNES write 2016-08-25 15:31:58 +02:00
sanni
ee01ff3bfa V18: Add SA-1 SRAM write support by skaman
Many thanks to skaman for finding out how to write the SA-1 SRAM.
2016-08-25 12:25:04 +02:00
sanni
873de4f026 V17H: Define button 2 as input 2016-08-22 15:33:18 +02:00
sanni
5a6a04263a V17G: Changed name 2016-08-22 10:44:19 +02:00
sanni
e25577f255 V17F: Added "execute selection" function to second button
If you have a cart reader with two buttons change "#define twoButtons 0" to "#define twoButtons 1".
From now on you can execute a selection by either holding the first or just by pressing the second button.
2016-08-22 10:20:48 +02:00
borti4938
f1219e411c Select previous item (dbl klick) on first element wraps around to last item 2016-08-19 14:47:43 +02:00
sanni
2aa75f02b5 V17E: Added +500ns delay per byte on SNES reads
That's an added delay of 0.5 seconds per read Megabyte.
2016-08-15 15:12:36 +02:00
sanni
282aa947ea V17D: Updated Version String 2016-07-31 09:55:54 +02:00
Scott Smith
4cc73852f0 Fix default compiler warnings 2016-07-30 15:41:25 -04:00
Scott Smith
343c95ae8c Added SDD1 aupport (for star ocean) based on MichIK code and method 2016-07-30 15:32:22 -04:00
sanni
ec1347fd8a V17C: Added changes by zzattack 2016-07-29 21:33:19 +02:00
sanni
8cee474a3f V17B: Read header info even if checksum is corrupt
Some prototypes or hacked roms don't have a valid checksum in the header but still provide useful information like rom size.
2016-07-13 09:14:28 +02:00
sanni
050b499c64 V17A: Added function to reset folder number
In the main menu hover over "About" and hold down the button until "Resetting folder..." appears on the screen.
2016-07-11 20:11:36 +02:00
sanni
3b4796e0f2 V17: Added support for 16bit flashrom slot 2016-07-10 00:20:21 +02:00
sanni
6ab6e1caac Initial commit 2016-07-04 13:21:34 +02:00