Commit Graph

152 Commits

Author SHA1 Message Date
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
nsx0r
66dfc8b4e9
[NES] fix mapper 148 2023-07-18 07:17:17 +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
sanni
560b24ccde Fix iNES header stored as text if CRC is not found in database 2023-06-26 19:34:55 +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
dee54dd30e Move automatic voltage selection from menu to setup functions 2023-06-26 12:04:00 +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
nsx0r
584d8f67ee
little cleanup and optimization in NES.ino
little cleanup and optimization in NES.ino
2023-05-01 11:57:04 +02:00
nsx0r
8c13b615d2
[NES] Added mapper 148
AddedNES  mapper 148
2023-04-30 13:42:16 +02:00
nsx0r
c851a3c011
[NES] Added mapper 38
[NES] Added mapper 38, tested working
2023-04-15 16:12:41 +02:00
nsx0r
e47f935b2e
[NES] Fixed mapper 3 CHR bus conflict
Fixed mapper 3 CHR bus conflict
2023-04-15 11:42:35 +02:00
sanni
39343e2f7d Update NES.ino 2023-04-12 09:54:24 +02:00
nsx0r
1ea1f33cd3
[NES] fixed mapper 34
fixed mapper 34, confirmed working thanks to Avalon
2023-04-11 12:33:14 +02:00
nsx0r
12d2a6cac4
[NES] Updated mapper 34 with NINA support
Updated mapper 34 with NINA support
2023-04-10 10:35:17 +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
e98d21f9c1 Fix adding multiple newlines to log when scrolling through NES database 2023-02-13 11:54:19 +01:00
nsx0r
7f8f49cb9c
fixed mapper 36
fixed mapper 36
2023-02-06 21:28:51 +01:00
sanni
c8bfc64009 Change 2022 to 2023 in about screen 2023-01-16 12:35:48 +01:00
sanni
248a1d9af5 V12.0: Add Atari 2600, Emerson Arcadia 2001, Fairchild Channel F, Magnavox Odyssey 2 modules (thx to skaman) 2023-01-03 19:33:34 +01:00
nsx0r
04f80edc1e
addes mappers 56 + 236
addes mappers 56 + 236
2022-12-30 08:24:54 +01:00
splash5
cf9b70554f Fix for NES "TMNT2" (Japan, VRC4) 2022-12-25 18:45:14 +08:00
nsx0r
1895ba1442
added mappers 31, 57, 214 + fixes
added mapper 31, 57, 214
fixed 94, 97, 180 for bus conflicts
fixed mapper 73 (see discussion https://github.com/sanni/cartreader/discussions/657 about Salamander)
merged 200+212
2022-12-22 21:55:00 +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
nsx0r
2d3eeed53a
fixed mapper 23
fixed mapper 23, tested working with Ganbare Goemon 2
2022-12-14 21:46:39 +01:00
nsx0r
bff292435e
mapper 209 dumps the same as 35, 90 and 211
mapper 209 dumps the same as 35, 90 and 211
also added info about unused mappers (20, 84, 100,101, 151, 186 and 248)
2022-12-14 13:15:32 +01:00
sanni
d13d8f6817
Merge pull request #659 from splash5/famicom
Add NES mapper 209
2022-12-14 11:52:50 +01:00
splash5
36c01f4c8d Add NES mapper 209
Tested with "Shin Samurai Spirits 2 (JY-083)"
2022-12-14 11:47:53 +08:00
nsx0r
b5cd20566e
fixed mapper 63
fixed mapper 63, tested working with Powerful 255-in-1 (CH-011 PCB)
2022-12-13 19:11:55 +01:00
nsx0r
0f1a37e6d3
Update NES.ino 2022-12-11 00:00:57 +01:00
nsx0r
95e795023d
[WIP] solving mappers with bus conflicts
solving mappers with bus conflicts, mapper 2 is fixed, more to come after more testing
2022-12-10 15:05:16 +01:00
nsx0r
a18434b8fc
added NES mappers 59+63+113+126+134+174
added NES mappers 59+63+113+126+134+174
2022-12-08 16:10:05 +01:00
nsx0r
eba530437f
added NES mappers 46+52+212
added NES mappers 46+52+212
2022-12-06 16:48:53 +01:00
nsx0r
86c5e78870
added NES mappers 42+142+157+162+163+177
added NES mappers 42+142+157+162+163+177
2022-12-05 20:35:51 +01:00
nsx0r
f258b1ec76
addes NES mappers 178+227+241
addes NES mappers 178+227+241
2022-12-04 08:45:49 +01:00
nsx0r
2c477ddae1
added NES mapper 176
added NES mapper 176, tested working
2022-11-24 22:18:46 +01:00
nsx0r
36fa976b53
added NES mapper 28
added NES mapper 28, tested working with 2x Action 53 cartridges
2022-11-19 09:04:06 +01:00
sanni
46dd333bd4 Fix NES mapper selection 2022-11-18 10:46:13 +01:00
nsx0r
4cf2f761ee
adjusting min/max sizes for some mappers
adjusting min/max sizes for some mappers, this is required to dump some recent carts:
Lucky Penguin is 64k mapper 2
Project Blue is 512k mapper 34
2022-11-18 07:47:04 +01:00
Remy Starshade
aee632642d Add Voltage Selection Module 2022-11-12 14:13:22 -05:00
nsx0r
cf8e3f9b21
fixed mapper 225/255
i finally got 2 carts to confirm this is working with this fix
2022-11-11 12:08:17 +01:00
nsx0r
39988d2b1c
fixed mapper 226
forgot to set the high bit for bigger carts
2022-11-11 10:53:13 +01:00
nsx0r
9decd85848
added NES mapper 226
added NES mapper 226, tested working with NES pirate multicart 42-in-1
2022-11-10 23:20:23 +01:00
nsx0r
fdc1911b5e
fixing NES mapper 228
that *should* work
2022-11-09 10:54:58 +01:00
nsx0r
8b493c4447
added NES mapper 228 - UNTESTED
added NES mapper 228 (Action 52 + Cheetahmen II) - NEED TESTING
2022-11-08 12:49:42 +01:00
Vincent Pelletier
4d3cdd9004 NES.ino: Always set browseDatabase
Fixes a compiler warning.
2022-11-05 00:43:24 +00:00
nsx0r
43669ce181
addes NES mapper 111
addes NES mapper 111
2022-11-02 12:27:08 +01:00
nsx0r
bc0923d1ac
actually fix all NAMCOT mappers similar to 206
actually fix all NAMCOT mappers similar to 206
2022-11-02 07:44:25 +01:00