Commit Graph

49 Commits

Author SHA1 Message Date
smesgr9000
da8dc3d94e replace duplicate code with common folder creation function 2024-06-16 10:39:47 +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
PsyK0p4T
e4e4c7f1f5
Update PCE.ino
Add compatibility for "Games Express CD Card (Japan) (Green Version)"
2024-02-02 00:12:39 +01: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
PsyK0p4T
e86662c640
Update PCE.ino
Add compatibility for "CD-ROM² Super System Card (v3.0)(Japan)" and "Arcade Card Pro CD-ROM²" carts.
2023-06-19 15:05:32 +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
21dec9cdc5
Update PCE.ino 2023-03-25 10:50:06 +01:00
PsyK0p4T
77327ab9a2
Update PCE.ino
- fix a loop issue brought by yesterday's commit, when banks were increased/decreased and ROM dumped right after.
- screen is now refreshing fine after bank increase/decrease or forced rom size
- display the ROM size value to be set, before forcing it
2023-03-07 01:10:24 +01:00
PsyK0p4T
8217f6a97c
Update PCE.ino
Improved convenience :
- Tennokoe dumps are saved into a dedicated "./PCE/RAM/" folder
- "Reset" command was moved to the very last option of PCE menu
- Fixed the double button push when increasing/decreasing the bank index
- Forced ROM size can be set via defined variable
- Removed some repeated/unneeded function calls
2023-03-06 02:44:32 +01:00
sanni
c8bfc64009 Change 2022 to 2023 in about screen 2023-01-16 12:35:48 +01:00
PsyK0p4T
c77ad6da2e
Update PCE.ino
Add support for "Populous (Japan)"
2023-01-11 01:01:21 +01:00
PsyK0p4T
3725c017f7
Update PCE.ino
32KB ROM size detection added :
- "Games Express CD Card (Japan)" is now dumped fine
- helps to see if another card is badly inserted/recognized
2023-01-11 00:16:46 +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
cb26782e22 PCE.ino: Get rid of menuOptionspceCart global variable
Also, move a few inline string constants into PROGMEM.
Uses 64 bytes of program space.
Frees 206 bytes of global ram space.
2022-10-29 08:01:59 +00:00
sanni
a8a981e137 Auto format 2022-10-28 15:02:51 +02: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
ae2e90a6cd PCE.ino: Skip strcpy to menuOptionspceCart
Values can be directly composed/initialised in menuOptionspceCart, avoiding
the need to strcpy to it.
This saves about 100 bytes of ram by dropping a few global char arrays.
Re-duplicates "Reset" string initialiser, but this should not be a big
deal.
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
6c1c9876b4 Update PCE.ino 2022-09-30 00:35:02 +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
196050257b Add filenames to N64 database 2022-06-17 23:57:29 +02:00
sanni
8b96d250bd Add MD database 2022-06-16 17:17:16 +02:00
sanni
80967cec04 Update PCE.ino 2022-04-27 12:34:32 +02:00
sanni
9c102563d1 Fix renaming PCE ROM 2022-04-15 12:52:59 +02:00
Kreeblah
8e155cf97b
Fixed build warnings 2022-02-24 15:59:25 -08:00
sanni
e78d6e99e0 V6.1: Add support for exFAT SD cards (>32GB) 2021-04-26 18:20:30 +02:00
sanni
d7cc26c560 V6.0: Update SdFat to Version 2 2021-04-26 10:14:37 +02:00
sanni
9eca87d975 V5.5: Reduce memory usage in Filebrowser 2020-10-28 18:44:13 +01:00
jiyunomegami
a3417eeb23 Non swapped HuCARD adapter support. Changed Tennokoe Bank support to read/write files for each 2KB bank, one at a time. 2020-08-14 19:05:27 +09:00
jiyunomegami
29093b1bf3 add #ifdef enable_XXX check to each module 2020-07-05 00:07:14 +09:00
sanni
7b263115a5 V4.8: Add Reset Option to sub menues 2020-04-12 11:11:10 +02:00
sanni
34d6871f7d Set eeprom location for folder number to 0 again 2019-09-27 17:38:42 +02:00
sanni
0c75bf8aed V3.5 Change Menu and add Sega CD Ram Cart
Thanks to skaman for the Sega CD Ram Cart code.  Writes to the Sega CD Backup RAM Cart require an extra wire from MRES (B02) to VRES (B27).
2019-09-01 14:36:53 +02:00
sanni
f6390d1604 V3.4: Add MD Checksum and autoformat all ino files 2019-08-30 20:20:41 +02:00
Robert Neumann
4246ba4e07 progress_bar: Included the progress bar in the N64 and SNES modules; some OLED formatting; reverting the Arduino reset to basically jmp 0 again (due to issues with some Mega2560 bootloaders probably, my module would sometimes just hang) 2019-08-29 19:13:50 +02:00
Robert Neumann
07561bdaf0 n64_speedup: roughly double n64 dumping performance by using the 1024 byte file buffer and combining the checksum and dumping code; also some cleanup 2019-08-28 23:48:44 +02:00
Robert Neumann
f7b61cc656 strings_to_flash: conserve ~ 800 byte SRAM by putting menu strings in progmem. Free bytes now: ~ 4000 2019-08-28 12:02:17 +02:00
Robert Neumann
c5c26110fb arduino_reset: replace the assembler jmp 0 reset method with resetArduino() that uses the watchdog timer to reset the device. This is the preferred method, as it initializes the device more correctly. 2019-08-27 21:43:48 +02:00
sanni
4c7e428938
Added PC Engine Tennokoe Bank RAM read/write support, thanks to Tamanegi_taro 2019-08-12 15:45:14 +02:00
Aras Abbasi
a0f85d788e
Update PCE.ino 2019-01-28 21:40:03 +01:00
sanni
4631475619
Add files via upload 2018-10-14 10:09:25 +02:00
sanni
40d2361855
V1.0: Change versioning to the more common #.# format 2018-05-05 20:58:49 +02:00
sanni
72a1a6d7c8
V33A: Accidentally left 27C322 eprom menu enabled
Eprom programming is still highly experimental and does not work 100% yet.
2018-04-21 14:23:13 +02:00
sanni
b77519d104 V33: Add PCE support by tamanegi_taro
Many thanks to tamanegi_taro, great work.
2018-04-18 16:58:02 +02:00