Commit Graph

108 Commits

Author SHA1 Message Date
sanni
bf90513edc Enable Internal Pull-ups for MD
https://github.com/sanni/cartreader/issues/1007
2024-08-02 10:43:11 +02:00
sanni
8d99ac572f Fix Serial Monitor errors/warnings 2024-07-13 10:46:59 +02:00
smesgr9000
9e13964889 reuse common string "ROM Size: " 2024-06-29 11:28:41 +02:00
smesgr9000
4040d2b2a6 define common string "Select file" 2024-06-16 10:55:50 +02:00
sanni
0203e4bf93
Add option to force ROM size for MD carts 2024-06-13 19:40:57 +02:00
smesgr9000
5b43a162b8 reuse common strings, remove duplicate 2024-05-30 08:00:13 +02:00
smesgr9000
d039c590cc define more commonly used string in OSCR and reuse them 2024-05-28 21:11:48 +02:00
smesgr9000
363d18b542 add common function to open create folder, print message and open file. Remove duplicate code 2024-05-26 22:20:47 +02:00
smesgr9000
41182a7eb0 add option to clear display and remove duplicate code 2024-05-25 14:25:35 +02:00
smesgr9000
6abe29fcd9 remove duplicate code to print saving and increment of folder id 2024-05-25 14:07:08 +02:00
smesgr9000
9f0aa09197 remove duplicate code to create folder 2024-05-12 15:37:11 +02:00
Don Jones
dc1e776b19
Update MD.ino
Fix Slaughter Sport's title and folder name
2024-04-21 02:08:30 -04: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
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
417e88d7d1
Update MD.ino
Force saveType to 0 for some aftermarket games not using SRAM
2024-02-25 13:58:06 +01: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
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
PsyK0p4T
eb50a94473
Update MD.ino
Add "Technoptimistic (Aftermarket)"
2023-07-10 00:51:55 +02: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
sanni
50b6540863 Delete old/unused NES database code 2023-06-26 17:05:10 +02:00
sanni
dee54dd30e Move automatic voltage selection from menu to setup functions 2023-06-26 12:04:00 +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
PsyK0p4T
ac09058013
Update MD.ino
Added support for "mikeyeldey95 (Aftermarket)"
2023-05-04 09:15:44 +02:00
nsx0r
03801cdddb
fix 2023-04-25 07:23:07 +02:00
PsyK0p4T
12710686d5
Update MD.ino
Fixed header checksum for : 
- Jeopardy! (USA)
- Monopoly (USA)
- Winter Olympic Games (USA)

Moved code to other fixed games : 
- Fatman (Japan)

Added support for : 
- YM2612 Instrument Editor (Aftermarket)
- Decoder (Aftermarket)
- Handy Harvy (Aftermarket)
- Jim Power - The Lost Dimension in 3D (Aftermarket)
2023-04-24 23:28:43 +02:00
Ancyker
010b7e7525 Firmware Updater support, 3.3V Fix, and more
Lots of changes/additions.

Added:
* Firmware Updater support: Supports the Firmware Updater app (release to follow soon). Enabled by default, can be disabled in the config.
* 3.3V Fix (3V3FIX): Enable if you have stability issues when using 3.3V, works best with VSELECT. Disabled by default, can be enabled in the config.
* `DynamicClockSerial`: Class that extends and modifies HardwareSerial to be compatible with a dynamically changing clock speed. Used through the `ClockedSerial` object/variable.
* `OSCR.cpp` & `OSCR.h`: New files for storing globals. Only contains these new additions for now. More code cleanup to come.

Changed:
* Moved configuration flags to `Config.h` and documented them better.
* Removed `vselect()` function. Now uses `setVoltage()` with the params `VOLTS_SET_3V3` and `VOLTS_SET_5V`.

Known Issues:
* Rarely the LCD backlight turns white when using 3V3FIX. Resetting fixes it. Doesn't affect functionality/usability; it's just weird.
2023-03-29 21:05:01 -04:00
PsyK0p4T
79133fe0cb
Update MD.ino
Fix "Life on Mars" and "Metal Dragon"
2023-03-10 00:12:02 +01:00
PsyK0p4T
39f5682686
Update MD.ino
- Add support for "Micro Machines 2 - Turbo Tournament (E)" and "Micro Machines - Military (E)"
- "cartridges size fix" section was re-ordered by detected values
2023-03-06 00:30:58 +01:00
splash5
aff7f09690 Add support for "Fatman (Japan)" 2023-02-26 15:40:53 +08:00
sanni
782db58ab1 Add fallback if ROM size in MD header is 0 2023-02-19 21:45:52 +01:00
sanni
b623b46e4c Fix some MD ROM sizes according to no-intro database 2023-02-19 19:47:49 +01:00
sanni
2f71d0572e Fix SRAM overflow in N64/MD, turn LED red if CRC not found 2023-02-10 09:40:58 +01:00
PsyK0p4T
c68234b9ee
Update MD.ino
- Modified Beggar Prince rev.1 detection method
- Added Legend of Wukong support
2023-02-05 02:27:19 +01:00
PsyK0p4T
a2c94b7215
Add support for Beggar Prince rev.1
Fixes cart size, rom header provides wrong values
2023-01-31 00:57:19 +01:00
sanni
c8bfc64009 Change 2022 to 2023 in about screen 2023-01-16 12:35:48 +01:00
sanni
1d57169447 Add support for Demons of Asteborg (thx to skaman) 2023-01-04 15:35:13 +01:00
sanni
d977b14cf4 Fix MD Zero Wing (E) (thx to jaffa225)
More info: https://github.com/sanni/cartreader/issues/664
2022-12-20 10:31:35 +01:00
sanni
46dd333bd4 Fix NES mapper selection 2022-11-18 10:46:13 +01:00
Ancyker
e806b39658
Merge pull request #1 from sanni/master
Update with master
2022-11-12 14:15:19 -05:00
Remy Starshade
aee632642d Add Voltage Selection Module 2022-11-12 14:13:22 -05:00
scrap-a
ca23277b5a Fix Sonic & Knuckles 2022-11-13 03:05:19 +09:00
Vincent Pelletier
f07f6f9025 All: Replace print_Error(*, boolean) calls with print_{,Fatal}Error(*)
Also, make print_FatalError(*) independent from print_Error(*).
Also, factorise common parts of print_Error(*).

Frees 2336 bytes of program space and 5 bytes of global ram space.
2022-10-31 08:52:33 +00:00
sanni
a8a981e137 Auto format 2022-10-28 15:02:51 +02:00
Vincent Pelletier
10061beaf5 MD.ino: Move some globals to getCartInfo_MD locals.
Also, bypass sdBuffer when it was the directory copied to another buffer.
Also, factorise yet another pair of loops copying rom name.
This frees 59 bytes of global ram space.
2022-10-28 05:29:44 +00:00
Vincent Pelletier
a555f2117f All: Resolve all compiler and linker warnings
No functional change intended.
2022-10-28 05:29:20 +00:00
Vincent Pelletier
e7ef7fd4bd All: Make flashid an integer
flashid (almost) always contains the hexadecimal representation of two
bytes, which then means it gets compares with strcmp, which in turn need
another string argument. Instead, make it an integer, removing the need to
call strcmp.
Add a separate string representation for printing purposes (maybe this can be
avoided by having the print function format it when needed ?).
The only apparent case where flashid is not an hexadecimal representation
of a pair of bytes is when N64 clears it to "CONF". Set flashid to zero
this case.
This saves about 500 bytes of program space and 200 bytes of ram.
2022-10-28 05:29:20 +00:00
Vincent Pelletier
3fcd1a808d https://github.com/sanni/cartreader/issues/574#issuecomment-1286956251 2022-10-28 05:29:20 +00:00
sanni
57f2833322 Update MD.ino 2022-10-16 14:51:15 +02:00