Commit Graph

30 Commits

Author SHA1 Message Date
smesgr9000
9f0aa09197 remove duplicate code to create folder 2024-05-12 15:37:11 +02: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
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
dee54dd30e Move automatic voltage selection from menu to setup functions 2023-06-26 12:04:00 +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
sanni
16f4a75721 Add (3V) to NGP menu title 2023-03-19 00:18:44 +01:00
sanni
b5e6ac00a5 Up version to V12.4 2023-02-23 12:04:33 +01:00
PsyK0p4T
4a5b19794c
Update NGP.ino
Fix path error for "Cotton (Japan)" and "Cotton (Europe)".
Thx ickaze.
2023-02-13 13:58:39 +01:00
PsyK0p4T
7334883315
Add some flashcarts dumping support
Add support for :
- "16M / 32M Pocket Flash Card" : old flashcarts, respectively in black, and transparent purple cases. Since their flash chips are returning 0x204C value (4Mbits), you will need to manually select the wanted ROM size before dumping them.
- "NeoGeo USB Flash Masta 2 in 1" : contains 2x 16Mbits Fujitsu chips, now detected fine.
2023-02-06 01:08:26 +01:00
Remy Starshade
aee632642d Add Voltage Selection Module 2022-11-12 14:13:22 -05: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
Vincent Pelletier
a555f2117f All: Resolve all compiler and linker warnings
No functional change intended.
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
4badfff458 Move to Arduino IDE 2.0.0 (different auto formatting, no code changes) 2022-10-13 09:49:03 +02:00
sanni
d086b277ef Add support for NES mapper 45 (thx to skaman) 2022-09-25 11:09:54 +02:00
sanni
0e56a3451a V9.2 Alpha: Adds Coleco- and Intellivision (thx to skaman) 2022-07-23 11:16:37 +02:00
PsyK0p4T
b3653b99f6
Progress bar added
Progress bar added during ROM dump
Few wordings edited
2022-07-18 11:24:23 +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
5a3b311feb Fix Led and missing word wrap 2021-10-26 17:13:42 +02:00
sanni
a981bb0c3e Make clockgen calibration optional 2021-10-14 09:53:07 +02:00
PsyK0p4T
f4fc7fa6ce Update NGP.ino
New feature added, save flash chip report file to SD containing:
- software basic info (game, version...)
- chip IDs (maker, device code)
- memory sectors protection status (game and save data)
2021-08-26 00:52:28 +02:00
PsyK0p4T
edc238599f Update NGP.ino
Small improvments
2021-08-19 21:09:19 +02:00
PsyK0p4T
a6f3e8c90b Update NGP.ino 2021-08-19 17:38:16 +02:00
PsyK0p4T
8fb0a2b11a Update NGP.ino
- Manual rom size selection added before dumping when flash chip is unknown
- Code display rearranged
2021-08-18 01:00:07 +02:00
PsyK0p4T
3d642ba8a2 Update NGP.ino
- Comments and wordings added
- 32Mbits games support added
- Display chip ID in case of unknown values are found
2021-08-17 01:23:33 +02:00
sanni
07ec1f121a Change N64 CRC Error message 2021-08-01 23:33:59 +02:00
PsyK0p4T
dc2ea92496 Update NGP.ino
small fixes
2021-07-11 10:55:23 +02:00
PsyK0p4T
18128f1063 Update NGP.ino
4M, 8M, 16M chips support added
RomVersion detection fixed
SystemType detection (NGP Monochrome or NGP Color) added
2021-07-09 00:24:21 +02:00
jiyunomegami
29093b1bf3 add #ifdef enable_XXX check to each module 2020-07-05 00:07:14 +09:00
sanni
615ef8d68c V5.0: Add suport for NeoGeo Pocket
Many thanks to splash5
2020-05-12 13:52:03 +02:00