Commit Graph

46 Commits

Author SHA1 Message Date
smesgr9000
5b43a162b8 reuse common strings, remove duplicate 2024-05-30 08:00:13 +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
smesgr9000
74352c6e31 define "File doesn't exist" in OSCR.cpp/h 2024-05-11 23:32:06 +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
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
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
190d35293c Minor fixes 2023-03-25 08:51:02 +01:00
PsyK0p4T
063a945fca
Add CRC compare
Add CRC32 compare / file renaming for WS / WSC / PCv2
2023-03-24 10:24:35 +01:00
sanni
3d659e4abc Add (3V) to Wonderswan menu title 2023-03-15 10:10:07 +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
3b7d6bd4fc Add Virtual Boy and Watara Supervision (thx to skaman) 2022-08-21 12:28:47 +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
splash5
92bca32a48 Showing progress bar when reading ROM 2022-02-26 22:14:03 +08:00
splash5
4a0cb10900 Add more cart info
Correct COLOR flag for BANC09 and BANC0E

Add info for Mobile WonderGate v1.1 cart

Add developer name "SCC"
2022-02-26 22:09:03 +08:00
splash5
9732c4a9dc Change HW4 to use WS ADAPTER V2 2022-02-26 22:00:31 +08:00
sanni
5a3b311feb Fix Led and missing word wrap 2021-10-26 17:13:42 +02:00
splash5
64173ad2ed Add more developerId
Fix some game could not dump properly
2020-08-16 00:05:58 +08: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
sanni
cfb9e39cbf V4.9: Improve WS Initialization
Thanks to skaman.
The code does a deeper sanity check of the header data when initializing the cart.  It avoids having to constantly press buttons to reinit the cart.  Carts can still not initialize the MBC properly but that's normal for the WonderSwan.  Clean the pins on the cart and check that the cart and adapter are seated properly.  If the cart doesn't unlock immediately, then let the sketch run for a bit.  For stubborn carts, a power cycle might be necessary.
The sketch fixes a few typos, removes some trailing spaces, and adds another ROM size (used by Benesse Pocket Challenge V2 carts).
2020-04-20 10:35:48 +02:00
sanni
b24f4c0b01 Upload Files
More info:
Also added Pocket SNES PCB by Niltonn
https://forum.arduino.cc/index.php?topic=158974.msg4381465#msg4381465
2019-11-27 10:02:50 +01:00
splash5
d615f433f3 Add WonderSwan adapter PCB and schematics 2019-10-29 20:30:37 +08:00
splash5
1fc7bb27e9 Adjust clk count for unlocking MMC 2019-10-18 22:29:48 +08:00
splash5
e3a70af141 Add developerId 0Bh(SUM) 2019-10-18 13:02:58 +08:00
splash5
55356796db Fix typo in developer name 2019-10-18 12:27:45 +08:00
splash5
e0e4cad606 Clean up code 2019-10-18 12:20:34 +08:00
splash5
651c45b0db Add some developer name 2019-10-18 12:10:14 +08:00
splash5
c45bdbf07d Change IO? pin as input
Simplify MMC unlock procedure
2019-10-18 11:31:35 +08:00
splash5
7deb455d41 Blinking LEDs on cartridge (only for BANC33) 2019-10-18 01:54:30 +08:00
splash5
3f0fc3b577 Add support for flashing witch os
(fbin from witch kit)
2019-10-15 12:00:35 +08:00
splash5
dcc0fa88d2 Correct menu item count 2019-10-14 11:19:01 +08:00
splash5
423f8dfb19 Add some description about cartridge pinout 2019-10-14 01:26:50 +08:00
splash5
5e77331912 Patching header for some games
(No affect on rom file dumping)
2019-10-13 02:02:49 +08:00
splash5
92c7a41c97 Fix typo again 2019-10-11 22:13:10 +08:00
splash5
5c1d28a0d6 Fix typo 2019-10-11 21:15:59 +08:00
splash5
1771104fe5 Add WonderSwan support 2019-10-11 20:57:23 +08:00