Commit Graph

176 Commits

Author SHA1 Message Date
sanni
9400330fca Disable N64 controller test by default 2024-08-16 08:39:05 +02:00
Wesley Marques
0cfb7f46ed Support Flash repro A29040B 2024-08-13 10:15:33 -03:00
Andy Miles
0f4243510a
Fix for VRC2B Famicom Carts
Instead of bank switching on a single bank and reading 1024 bytes
at a time, this update switches 8 banks at a time and reads 8 KiB
per iteration. The hypothesis is that the timing between
bank switching and reading 1024 bytes at a time is insufficient for
the mapper while reading in batches of 8 KiB allows for enough
time for the data to be switched and accessible.

This change fixes the ability to dump the following
VRC2B Famicom cartridges:

B27B8CF4 -> Contra (Japan).nes
49123146 -> Getsu Fuuma Den (Japan).nes
AC9895CC -> Dragon Scroll - Yomigaerishi Maryuu (Japan).nes

Also verified a VRC4E Famicom Cartridge:

C1FBF659 -> Akumajou Special - Boku Dracula-kun (Japan).nes
2024-07-26 17:43:30 -07:00
sanni
8d99ac572f Fix Serial Monitor errors/warnings 2024-07-13 10:46:59 +02:00
smesgr9000
86059ae070 reuse code to write NES maker command 2024-05-30 08:15:22 +02:00
smesgr9000
d039c590cc define more commonly used string in OSCR and reuse them 2024-05-28 21:11:48 +02:00
smesgr9000
cb111077f8 replace NES defines with rgbLed function calls 2024-05-26 22:43:41 +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
d1d83bbd10 remove local variables which are only used in function context 2024-05-25 09:57:46 +02:00
smesgr9000
73700e2886 support mapper > 255, implement mapper 446 submapper 0&1 - thanks to NewRisingSun for support, fix iNES2.0 mapper parsing of byte 8 2024-05-24 23:54:13 +02:00
smesgr9000
9f0aa09197 remove duplicate code to create folder 2024-05-12 15:37:11 +02:00
smesgr9000
c09e772299 replace hardcoded bank maps with power of 2 2024-05-12 08:15:03 +02: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
990b61ca3a make cast in read function explicit and reduce duplicate read functions 2024-05-03 19:12:48 +02:00
smesgr9000
330e615b8c remove duplicate code to select mapper, rom and ram configurations 2024-05-01 21:27:45 +02:00
smesgr9000
254982cbe7 remove duplicate CRC printing and calculation function 2024-05-01 10:48:58 +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
smesgr9000
06d5f28d0c port NES fast forward selection to other systems 2024-04-28 13:35:21 +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
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
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