Commit Graph

946 Commits

Author SHA1 Message Date
smesgr9000
c09e772299 replace hardcoded bank maps with power of 2 2024-05-12 08:15:03 +02:00
smesgr9000
7ba32d24fc remove duplicate code for checking pin number 2024-05-11 23:44:40 +02:00
smesgr9000
74352c6e31 define "File doesn't exist" in OSCR.cpp/h 2024-05-11 23:32:06 +02:00
smesgr9000
ab03ab879c pass onyl 16bit parameter where only 16bit address is used 2024-05-11 23:18:31 +02:00
smesgr9000
90fa37c491 add serial printing to print instructions 2024-05-10 19:15:24 +02:00
smesgr9000
9e2ef3580c reuse print instructions function, more efficiant read code 2024-05-10 19:13:19 +02:00
smesgr9000
94c6bd460a add c64 function to read 16k segments. Remove duplicate code for C64 2024-05-10 18:14:54 +02:00
Ancyker
40238b18a1
Fixed (added) missing FS() macro on some FSTRING constants
This was causing two symptoms/bugs:
* OSCR_LOG.txt was being spammed with random data.
* The size of OSCR_LOG.txt would get so big that copying the log would take a long time, possibly minutes. Oftentimes this caused the display to appear to hang after searching for the CRC (after "->") but before displaying the result.

If using the global log and a version of master since e61ac414d8 you should delete OSCR_LOG.txt from your SD card as it will likely be very large and continue to cause dumping to be slow.
2024-05-07 17:16:51 -04:00
smesgr9000
8bd6d7dfdc remove duplicate code for F4,F6 & F8 mapper 2024-05-07 20:30:02 +02:00
smesgr9000
53b71f9108 fix 2600 mapper selection for Serial 2024-05-07 19:38:31 +02:00
JWS
2c72652671 Add support for X07 mapper (Stella's Stockings) 2024-05-03 20:34:26 -05:00
JWS
f4ba8d7af8 Add support for mapper 3E, 32K ROM 32K RAM Tigervision 2024-05-03 18:52:37 -05:00
smesgr9000
2134c9f58b move PRG/CHR dumping code to own function 2024-05-03 23:42:06 +02:00
smesgr9000
4b70766094 remove duplicate code to store NES games with and without header 2024-05-03 21:56:22 +02:00
smesgr9000
5f3d63a123 fix signed/unsigned warning 2024-05-03 20:47:48 +02:00
smesgr9000
990b61ca3a make cast in read function explicit and reduce duplicate read functions 2024-05-03 19:12:48 +02:00
smesgr9000
e8e6d15a72 remove duplicate string literals 2024-05-03 17:12:31 +02:00
smesgr9000
6c05709871 fix compiler warnings 2024-05-03 17:11:55 +02:00
smesgr9000
330e615b8c remove duplicate code to select mapper, rom and ram configurations 2024-05-01 21:27:45 +02:00
smesgr9000
2826ded431 remove duplicate code in printing CRC 2024-05-01 18:59:00 +02:00
smesgr9000
d233387acc fix issue #939. Remove duplicate write of laster buffer. Also add Berzerk Enhanced 2024-05-01 18:50:35 +02:00
smesgr9000
254982cbe7 remove duplicate CRC printing and calculation function 2024-05-01 10:48:58 +02:00
smesgr9000
ccc06ef4e4 fix reading mapper > 9 from database 2024-05-01 09:35:00 +02:00
smesgr9000
bb12c99fac replace FAIRCHILD, ODY2, MSX and VECTREX cart selection code with code used in NES, COLV & INTV. Define "Database not found" in OSCR.cpp 2024-05-01 09:06:23 +02:00
sanni
ecc937bab3
Fix romType for Yuyu no Quiz de GO!GO!
https://github.com/sanni/cartreader/issues/922
2024-04-30 12:25:58 +02:00
smesgr9000
9909fdafb3 replace 5200 and ARC cart selection code with code used in NES, COLV & INTV 2024-04-29 19:09:50 +02:00
smesgr9000
06d5f28d0c port NES fast forward selection to other systems 2024-04-28 13:35:21 +02:00
smesgr9000
394dcdcf1f replace C64 cart selection code with code used in NES, COLV & INTV 2024-04-28 09:50:48 +02:00
sakman55
254c824292
Update 7800.ino
Update checkStatus_7800() to account for the added Bankset mapper (#7).
2024-04-27 18:33:27 -10:00
sakman55
43e18fce80
Update C64.ino
Fix Issue #902 Handling of GAME and EXROM lines of C64 cartridges is wrong.  Requires updated c64cart.txt on SD card.
2024-04-27 12:49:34 -10:00
smesgr9000
57bf121c06 replace 2600 cart selection code with code used in NES, COLV & INTV 2024-04-27 09:59:36 +02:00
smesgr9000
3ff99bfe48 Merge remote-tracking branch 'origin/master' into a7800database 2024-04-24 20:28:42 +02:00
smesgr9000
4502d1e56e revert accidently committed Config.h 2024-04-24 20:17:10 +02:00
smesgr9000
d8809b198d revert accidently committed Config.h 2024-04-24 20:13:45 +02:00
smesgr9000
3ce23a57ad replace cart select code with code used in NES, COLV, INTV 2024-04-24 20:07:44 +02:00
smesgr9000
3441cedfd4 remove duplicate code of seeking database files for letter 2024-04-24 19:55:43 +02:00
smesgr9000
e7e0da80b0 remove some duplicate printing code and declare more global text strings 2024-04-22 18:51:01 +02:00
sanni
5d0ae986c9
Merge pull request #932 from PsychoFox11/master
Fix Slaughter Sport title, two CRC32s
2024-04-22 12:42:08 +02:00
Don Jones
dc1e776b19
Update MD.ino
Fix Slaughter Sport's title and folder name
2024-04-21 02:08:30 -04:00
smesgr9000
4c8f8266a1 support CLOCKGEN for C64 2024-04-18 18:09:19 +02:00
smesgr9000
e1716d48bb fix reading mapping > 5 causes crc32 0x0000000 2024-04-12 20:15:16 +02:00
smesgr9000
cf1d01855d reduce memory footprint for 7800.ino 2024-04-12 19:07:00 +02:00
smesgr9000
9ad338a821 support for F4SC, F6SC & F8SC 2024-03-24 14:06:06 +01:00
smesgr9000
a2924e4f58 create a merge request for https://github.com/sanni/cartreader/issues/916 2024-03-23 23:30:17 +01:00
PsyK0p4T
281639370f
CRC check added
CRC check added for SFC Sufami Turbo sub-carts
2024-03-11 16:38:10 +01:00
PsyK0p4T
6d89a279f2
Update MD.ino
Thanks to psychofox : 
- Fix Madden NFL 98 (USA)
- More aftermarket games added
2024-03-07 11:13:09 +01:00
Ancyker
a86f140198 Follow up to/fix for e61ac414d8 2024-03-02 11:30:44 -05:00
Ancyker
e61ac414d8 Code optimization, cleanup, and stylization
* Reduced PROGMEM / DRAM usage slightly (Using defaults w/HW5: Before -> 214,668 bytes / 5,757 bytes; After -> 213,414 bytes / 5,751 bytes)
  * Optimized some menu options and calls
  * Added more string constants and implemented them where found.
* Fixed some stylization
  * Constants should always be uppercase.
  * Features should use the `ENABLE_<feature name>` format.
  * Options for features should use the `OPTION_<feature name>_<option name>` format.
  * Added ENUMs for more clarity and better type checking.
  * Moved some defines over to `constexpr` and `const` types. These are preferred over preprocessor constants when not intended for use with `#if` and other preprocessor language.
2024-03-02 11:26:35 -05:00
Ancyker
3468703a51 Added ability to use config file for some options.
A sample `config.txt` is in the SD folder. Currently the option is disabled by default and must be enabled.

Also:
* Eliminated the 5V spike at boot when VSELECT is installed and enabled. See discussion #906
* Fixed a warning in `MD.ino`
* Did some code cleanup, more cleanup to come.
2024-02-29 17:52:04 -05:00
PsyK0p4T
35eca2a9f4
Update 7800.ino
Add clock generator usage to fix timing issues (thanks to @smesgr9000)
2024-02-29 23:17:41 +01:00
sanni
f947fb4e3f Add support for MBC30 flash cart by HDR (thx to ManCloud)
Two issues were resolved:
- this flashcart uses the Audio-In pin instead of the WR pin
- Writing 4MB gets stuck after bank 170 and needed the SRAM to be mapped (same as MBC5)
2024-02-29 09:36:23 +01:00
PsyK0p4T
417e88d7d1
Update MD.ino
Force saveType to 0 for some aftermarket games not using SRAM
2024-02-25 13:58:06 +01:00
LuigiBlood
bbe37d9839 SNES: Add Game Processor RAM Cassette Read/Write support 2024-02-09 23:02:59 +01:00
PsyK0p4T
e4e4c7f1f5
Update PCE.ino
Add compatibility for "Games Express CD Card (Japan) (Green Version)"
2024-02-02 00:12:39 +01:00
PsyK0p4T
d556e5a4af
Update Cart_Reader.ino
Standardize all Atari codes
2023-12-26 23:13:51 +01:00
PsyK0p4T
a8b493026e
Update Config.h
Standardize all Atari codes
2023-12-26 23:12:11 +01:00
PsyK0p4T
a9bccaf8f7
Update 5200.ino
Standardize all Atari codes
2023-12-26 23:10:23 +01:00
PsyK0p4T
2bdba9c8bd
Update 7800.ino
Standardize all Atari codes
2023-12-26 23:09:38 +01:00
PsyK0p4T
c06f1c4e95
Update 2600.ino
Modify Atari 2600 code to follow 5200/7800 model.
2023-12-26 23:08:10 +01:00
PsyK0p4T
319d110339
Update VECTREX.ino
Allows to manually select and dump carts up to 64 KB.
2023-12-26 21:53:39 +01:00
PsyK0p4T
d0fe5c8ca1
Update Cart_Reader.ino
Add Sufami Turbo support
2023-11-25 00:34:13 +01:00
PsyK0p4T
70d52636d7
Update SNES.ino
Add Sufami Turbo support
2023-11-25 00:32:51 +01:00
PsyK0p4T
0287ea8ed2
Update Config.h
add Sufami Turbo support
2023-11-25 00:29:55 +01:00
PsyK0p4T
f86a861628
Add Sufami Turbo module 2023-11-25 00:26:38 +01:00
sanni
1eac83ef79
Update OSCR.cpp 2023-11-21 09:55:10 +01:00
sanni
ad294f651f
Update Cart_Reader.ino 2023-11-21 09:54:54 +01:00
sanni
5176a15199
Update ARC.ino
Fix compilation error in combination with ENABLE_UPDATER
2023-11-21 09:43:00 +01:00
PsyK0p4T
a55aa7bbff
Update SNES.ino
Avoids a compilation warning
2023-11-20 21:46:44 +01:00
sanni
654686cf15
Update Cart_Reader.ino 2023-11-20 12:23:34 +01:00
sanni
a06d9ee87b Update version 2023-11-20 12:19:32 +01:00
qufb
ac1c6db12d Fix PH3 pin typo 2023-11-16 22:27:01 +00:00
PsyK0p4T
8fdd93f293
Update PCW.ino
- Added : size detection for Multi-pack cartridges
- Modified : dump function for Multi-pack cartridges
- Added : timing fixes needed for recent HW revisions
2023-11-02 17:21:52 +01:00
sanni
029c33dfb9 N64: Add error message if eeprom does not return data
Should prevent problem as described in discussion #857
2023-10-17 22:07:51 +02:00
sanni
2e72842bb1 Fix Clock Gen Calibration Menu
Function didn't display negative calibration factors correctly.

Also added option to use the calibration factor without enabling the calibration menu to save some space.
2023-10-17 18:41:14 +02:00
sakman55
a257fc2ee5
Update MD.ino
Add John Madden Football '93 (U) (EA Sports) to EEPROM list.
2023-10-14 20:06:08 -10:00
Richard Weick
0e04c1c1a1
Update GB.ino
This updates the GBC Gameshark functions to check the Chip ID before performing any other functions, which ensures a good connection with the Gameshark cartridge and prevents erroneous dumps or writes due to poor connection.
2023-10-01 12:46:10 -05:00
sanni
c873d3cf9d
Update Cart_Reader.ino 2023-09-25 18:32:44 +02:00
PsyK0p4T
b270f0c30e
Update Cart_Reader.ino
compilation fix
2023-09-25 16:23:43 +02:00
PsyK0p4T
4ddd867f87
Update OSCR.cpp
update app version
2023-09-25 16:16:07 +02:00
PsyK0p4T
b2415c0287
Update Cart_Reader.ino
Add the possibility to hide Self Test from menu
2023-09-25 16:12:04 +02:00
sakman55
603a22116c
Update 7800.ino
Removed "[UNTESTED]" from Karateka (PAL) entries.
2023-09-23 07:36:05 -10:00
sanni
559010079c Add support for Atari 5200/7800, C64, Vectrex (thx to skaman) 2023-09-23 00:11:08 +02:00
But Thou Must
c88978f5ea SNES.ino: Fix dumping Sound Novel Tsukuru (Japan) with same fix as for Derby Stallion '96 (Japan) 2023-09-21 18:39:18 -04:00
Ancyker
74fba5e29d N64.ino: Handle reused global from FLASH.ino 2023-09-14 12:00:58 -04:00
Ancyker
4f8ef61355 Remove unused variables in N64.ino 2023-09-13 10:32:48 -04:00
Richard Weick
e92e42c581
Update N64.ino
Update Xplorer64 functions in N64.ino to fix a potential issue for some hardware.
2023-09-12 19:31:55 -05:00
Richard Weick
bc62414c59
Update N64.ino
This adds full support for the Xplorer 64, including backup and writing of new firmware to the device. Firmware must be unscrambled (not dumped directly from the chips in a chip reader) in order to work with this program. Firmware dumped via the Sanni Cart Reader with this function work perfectly when written back.
2023-09-10 21:49:11 -05:00
Richard Weick
61bfc81ce4
Update N64.ino
This updates the N64 Gameshark function description, adds progress bars for the writing and verification functions, and updates the Chip ID function to report an unknown chip.
2023-09-08 10:06:27 -05:00
Richard Weick
b748faecde
Update N64.ino
This completes the N64 Gameshark functions. It adds the command to enable CPLD address ranges of 0x1EEx_xxxx, 0x1EFx_xxxx, and 0x1ECx_xxxx which are necessary to program the SST 28LF040 eeprom. This also adds full support for the SST 28LF040 eeproms.
2023-09-07 21:50:06 -05:00
sakman55
7cf03d3542
Update FAIRCHILD.ino
Modifications for reading 4K carts
2023-09-04 12:38:32 -10:00
Ancyker
749d60de3f Fixed warnings in GB.ino 2023-09-04 16:29:00 -04:00
Ancyker
03bef214ec Add some clarification to Config.h 2023-08-25 03:57:15 -04:00
Ancyker
d99e2d4040 Update MD.ino
Add "Dynamite Headdy (USA, Europe)", "NHL 98 (USA)", "Gain Ground (USA)", "Wonder Boy III - Monster Lair (Japan, Europe) (En)"
2023-08-25 03:54:38 -04:00
Ancyker
ec3d048172 Update MD.ino
Add "NHL 98 (USA)"
Fixes #841
2023-08-24 01:52:45 -04:00
Richard Weick
b2c5999380
Update GB.ino
Add GBC to Gameshark menu labels
2023-08-19 22:24:28 -05:00
Richard Weick
2143fe71af
Update GB.ino
Add Datel Device menu
2023-08-19 22:23:30 -05:00
Richard Weick
8aee244bd0
Update GB.ino
Add support for Gameboy Gameshark and Mega Memory Card
2023-08-19 22:17:22 -05:00
PsyK0p4T
8d7fc3a486
Fix Xplorer_N64 dump 2023-08-18 20:37:15 +02:00
sanni
a969a93281
Add Xplorer 64 dump option to N64
Thx to [RWeick](https://github.com/RWeick/FCD-0003.1S-Xplorer64) for finding the address the firmware is mapped to.
2023-08-18 11:01:14 +02:00
PsyK0p4T
74aaaa4d0e
Add a progressbar to Pokemon Mini
Add a progressbar to Pokemon Mini
2023-08-14 15:30:29 +02:00
Richard Weick
1bc74f055d
Update GB.ino
Removed unnecessary VSelect Option that may cause issues during compilation.
2023-08-13 19:13:43 -05:00
Richard Weick
5b554bc6e3
Update GB.ino 2023-08-13 19:05:57 -05:00
Ancyker
6733c9f57c Add note to self-test on HW3 that the EEP switch should be set to on.
Unable to actually test this myself because I do not have a HW3 to test on. However, looking at the schematic, if the EEP switch is set to the off position then the pin will be floating and the result of the 1K resistor test will be random.
2023-08-01 18:26:20 -04:00
sanni
fee5c867aa
Update INTV.ino for 12K carts (thx to skaman) 2023-07-29 12:39:21 +02:00
PsyK0p4T
42c409baf2
Add Pokémon Mini CRC check 2023-07-28 15:32:54 +02:00
sanni
63aeb335a4
Add support for DS1307 RTC module
DS1307 does not seem to have the lost lostPower function. So the time does not get set on upload and needs to be set manually as described in the [wiki](https://github.com/sanni/cartreader/wiki/Real%E2%80%90Time-Clock#setting-the-time).

In Config.h set like this:

````
#define RTC_installed
//#define DS3231
#define DS1307
````

Connect "Tiny RTC I2C module" or similar to the SDA/SCL/VCC/GND pins.
2023-07-22 15:21:02 +02:00
sanni
97eada64e7
Fix Serial Monitor menu 2023-07-19 16:32:34 +02:00
sanni
829408c655
Unify HW3 and HW5 menues 2023-07-19 15:13:06 +02:00
sanni
b4d6b4e637
E7/F4/F6/F8 mapper changes and new mapper for Time Pilot (thx to skaman) 2023-07-18 22:54:28 +02:00
nsx0r
66dfc8b4e9
[NES] fix mapper 148 2023-07-18 07:17:17 +02:00
Roger Braunstein
a334129e2a Fixes Loopy SRAM dumping 2023-07-15 23:15:19 -07:00
Ancyker
ff62f494eb Firmware Updates for RTC
Also minor edits to `setVoltage()`
2023-07-16 01:01:58 -04:00
sanni
95f4f44786
Update OSCR.cpp 2023-07-13 10:32:02 +02:00
sanni
ac03c4bede
Update Cart_Reader.ino 2023-07-13 10:31:15 +02:00
sanni
74e46f4322
Merge pull request #824 from partlyhuman/support-casio-loopy
Casio Loopy Adapter
2023-07-11 09:53:04 +02:00
Roger Braunstein
1d147828f6 PR ready? 2023-07-10 16:01:23 -07:00
Roger Braunstein
0d7b51806a Moves loopy db into loopy.ino, adds format sram option 2023-07-10 15:52:02 -07:00
PsyK0p4T
eb50a94473
Update MD.ino
Add "Technoptimistic (Aftermarket)"
2023-07-10 00:51:55 +02:00
Roger Braunstein
2b5168f144 SRAM operations working, some minor optimizations 2023-07-06 16:34:06 -07:00
Roger Braunstein
7f005e3f0e Fixes issue with SRAM where writing to shared address port set control pins 2023-07-06 15:52:30 -07:00
Roger Braunstein
1dccf84d9f Use header values for rom and sram start/end instead of hardcoding 2023-07-06 14:11:54 -07:00
Roger Braunstein
4621ad20f3 Adds internal checksumming, ID setting romname 2023-07-06 13:55:45 -07:00
Roger Braunstein
1a7be97dc1 Loopy ROM dumping working 2023-07-05 01:29:46 -07:00
sanni
34a1c6b336 Fix dumping Tactics Ogre 2023-07-04 19:58:45 +02:00
Roger Braunstein
7daa114bb9 Some provisional Loopy code 2023-07-03 00:15:20 -07:00
Roger Braunstein
d74ad957d8 Stubs out Loopy menu item 2023-07-02 16:08:09 -07:00
sanni
29814cb31b
Update Cart_Reader.ino 2023-07-01 16:40:01 +02:00
Ancyker
5b70224950 Fix warning in NES.ino and cleanup data types 2023-06-27 03:43:40 -04:00
Ancyker
2cf7f5dbe7 Cleanup voltage requests
The `setVoltage()` function should be called even when `ENABLE_VSELECT` is disabled because `ENABLE_3V3FIX` also uses it. There is no resource cost to do this as when both options are disabled the compiler will optimize this function out. This just "future proofs" the code so if that function ever does more it doesn't need updated everywhere. This applies to `setup_FlashVoltage()` as well.

The changes to OSCR.cpp are just for code formatting and additional comments to clarify this.
2023-06-26 15:25:54 -04:00
Ancyker
9fb7af3f5b Fix automatic voltage selection (fixes #818)
Fix for automatic voltage selection only working when 3V3FIX was enabled.
2023-06-26 14:59:27 -04:00
sanni
560b24ccde Fix iNES header stored as text if CRC is not found in database 2023-06-26 19:34:55 +02:00
sanni
812da38741 Change default mode in N64 controller range test 2023-06-26 17:23:39 +02:00
sanni
50b6540863 Delete old/unused NES database code 2023-06-26 17:05:10 +02:00
sanni
0489df7bd4 Revert NES CreateRAMFileInSD function to previous version 2023-06-26 15:46:47 +02:00
sanni
3a2db439be Update SNES.ino 2023-06-26 12:27:45 +02:00
sanni
dee54dd30e Move automatic voltage selection from menu to setup functions 2023-06-26 12:04:00 +02:00
sanni
abe029eefc V12.6 Add MSX and Pokemon Mini modules (thx to skaman) 2023-06-25 14:09:17 +02:00
PsyK0p4T
e86662c640
Update PCE.ino
Add compatibility for "CD-ROM² Super System Card (v3.0)(Japan)" and "Arcade Card Pro CD-ROM²" carts.
2023-06-19 15:05:32 +02:00
Lesserkuma
d1bfd53593 [GBA] Fixed reading 32 MB carts that use EEPROM saves 2023-06-17 14:24:17 +02:00
Lesserkuma
4c3e618f6e [GBA] Corrected ROM name length 2023-06-17 14:20:57 +02:00
PsyK0p4T
52962a28a7
Update MD.ino
Add support for Virtua Racing (E/U/J)
All credits go to Sanni for initial ideas, and Prominos for researches and code.
2023-06-16 09:17:21 +02:00
splash5
1ab4147e1e Add support for reading/writing MBC7 EEPROM 2023-06-08 01:23:16 +08:00
sanni
975a025916
Merge pull request #797 from splash5/ws-fastchecksum
Speed up wonderswan checksum calculation by moving codes into rom dump procedure
2023-05-24 17:32:26 +02:00
splash5
7772187aab Speed up checksum calculation by moving codes into rom dump procedure.
Correct color flag for "BANC1A"

Correct rom dump size of jss2/dknight to match db crc32
2023-05-24 11:51:03 +08:00
Chomemel
fe91177864
Add files via upload
adding support for AM29LV160, AM29LV320 and AM29LV640
2023-05-14 08:23:54 +02:00
nsx0r
7f40da5595
[NES] Fixed mapper 228
[NES] Fixed mapper 228
2023-05-11 21:01:12 +02:00
nsx0r
4c2a42de86
[NES] added mapper 114
[NES] added mapper 114
2023-05-11 20:41:19 +02:00
PsyK0p4T
33df3c43b5
Update N64.ino
Allows to manually select a dump size up to 128 MB (used by some repros/aftermarket boards)
2023-05-10 20:08:48 +02:00
PsyK0p4T
ac09058013
Update MD.ino
Added support for "mikeyeldey95 (Aftermarket)"
2023-05-04 09:15:44 +02:00
nsx0r
584d8f67ee
little cleanup and optimization in NES.ino
little cleanup and optimization in NES.ino
2023-05-01 11:57:04 +02:00