Commit Graph

143 Commits

Author SHA1 Message Date
sanni
38bc8a59e5 Fix bug in N64 controller functions 2022-09-10 15:57:01 +02:00
sanni
3500d4684e Update N64.ino 2022-09-10 15:15:32 +02:00
sanni
b7cbe8e8d9 Verify MPK file after reading 2022-09-10 14:35:47 +02:00
sanni
07a38f30c2 V9.7: Calculate block CRC during Controller Pak read 2022-09-09 00:21:16 +02:00
sanni
90bbccd959 Update N64.ino 2022-08-19 19:27:28 +02:00
sanni
97394939a1 Update N64.ino 2022-08-19 11:50:18 +02:00
sanni
e01ce10faf Add header and ToC checksum calculation for N64 Controller Pak read 2022-08-19 11:48:43 +02:00
sanni
b96c338d79 Reset N64 Controller before accessing Controller Pak 2022-08-18 21:19:58 +02:00
sanni
659eefda63 Improve Controller Pak timing 2022-08-18 19:23:33 +02:00
sanni
e4246d8310 Fix N64 Controller Pak read/write 2022-08-17 22:53:07 +02:00
sanni
f002e40aa6 Add back option to dump headerless NES ROM 2022-08-03 12:14:32 +02:00
sanni
c07a9334fd Small fixes 2022-07-26 23:26:20 +02:00
sanni
0e56a3451a V9.2 Alpha: Adds Coleco- and Intellivision (thx to skaman) 2022-07-23 11:16:37 +02:00
sanni
0a4a4d0039 Add no-intro database to NES
This is just a beta release, stuff might be broken.
2022-07-07 00:15:13 +02:00
sanni
9cb0f1fc13 Use CRC1 instead of cart ID in N64 database 2022-07-03 01:03:39 +02:00
sanni
44d853e1bb Add CRC32 and filenames to SNES database 2022-06-21 13:29:19 +02:00
sanni
196050257b Add filenames to N64 database 2022-06-17 23:57:29 +02:00
sanni
8b96d250bd Add MD database 2022-06-16 17:17:16 +02:00
sanni
fac6f8eab2 Copy latest log to dump dir 2022-06-16 15:15:43 +02:00
sanni
f0639e20ad Improve SD logfile 2022-06-14 15:25:53 +02:00
Kreeblah
75e85af20f
Automatically create snes_clk.txt if it doesn't exist 2022-02-26 21:20:33 -08:00
sanni
bb4ae30151 Update N64.ino 2022-02-12 13:24:05 +01:00
sanni
11b8493c92 If name consists out of all japanese characters use cart id 2022-02-12 13:15:53 +01:00
majorpbx
78295be022 GameShark Dump Compatability Update
This has been confirmed to allow dumping v1.07, v1.09, v2.0-2.21, v3.2-3.3 with the below flash memory chips. Versions not listed may not work correctly or even be supported.

SST 29LE010
SST 28LF040
AMTEL AT29LV010A
SST 29EE010
2021-12-10 23:45:42 -05:00
sanni
eef1c6e8cc Add check if Clockgen is working 2021-11-18 14:55:50 +01:00
sanni
ed3663a21f Fix Progressbar line break on LCD 2021-11-17 21:49:20 +01:00
sanni
5a3b311feb Fix Led and missing word wrap 2021-10-26 17:13:42 +02:00
sanni
852cb8f047 Port ControllerTest to MKS MINI12864 2021-10-26 11:27:07 +02:00
sanni
05deb817ac V7.0: Add basic support for MKS MINI12864 V3
https://www.aliexpress.com/item/1005003098864693.html
2021-10-24 00:41:18 +02:00
sanni
a981bb0c3e Make clockgen calibration optional 2021-10-14 09:53:07 +02:00
majorpbx
f1c6d29824 Update N64.ino
Added CRC 1 and 2 reading support for N64 ROMs.
Added RTC support for N64 ROM dumps.
2021-10-02 01:25:44 -04:00
sanni
2ff59bffb9 Update N64.ino 2021-08-04 13:15:38 +02:00
sanni
8132fcab78 Create n64log.txt in /N64/ROMS/ 2021-08-03 10:16:12 +02:00
sanni
92b7b7bdef V6.6 Add slow CRC32 calculation option for N64
In option.h add // in front of #define fastcrc and remove // in front of #define slowcrc to change CRC32 calculation to slow.

// Define CRC method for dumping N64 ROMs
//#define fastcrc //crc will be calculated during dumping from memory
#define slowcrc // crc will be calculated after dumping from SD card
2021-08-02 18:18:34 +02:00
sanni
07ec1f121a Change N64 CRC Error message 2021-08-01 23:33:59 +02:00
sanni
727b49f4e6 Update N64.ino 2021-07-21 16:22:57 +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
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
jiyunomegami
29093b1bf3 add #ifdef enable_XXX check to each module 2020-07-05 00:07:14 +09:00
jiyunomegami
b0d8bf15ee add enable_XXX define for each module 2020-07-04 21:02:34 +09:00
sanni
7b263115a5 V4.8: Add Reset Option to sub menues 2020-04-12 11:11:10 +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
4555ce1da7 Update SMS.ino 2019-09-19 16:06:19 +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
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
sanni
f6390d1604 V3.4: Add MD Checksum and autoformat all ino files 2019-08-30 20:20:41 +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
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
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
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
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
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
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
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
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
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
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
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
876190b17e V25C: Changed ID'ing of 32MB N64 Repros 2017-06-06 10:07:11 +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
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
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
5cfdb5cb98 V22 Added GBA database 2017-02-11 16:45:16 +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
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
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
Scott Smith
4cc73852f0 Fix default compiler warnings 2016-07-30 15:41:25 -04:00
sanni
6ab6e1caac Initial commit 2016-07-04 13:21:34 +02:00