Commit Graph

925 Commits

Author SHA1 Message Date
smesgr9000
ccbb5447d3 reuse GB common functions 2024-06-03 17:56:46 +02:00
Ancyker
2b01f7fc4d
Add checks for unsafe configurations
* Fixes #929
* Updated `ci.yml` to define `GITHUB_CI`
* Compilation will now error if VSELECT is enabled on hardware versions that don't support it (any version other than HW5).
  * HW4 and SERIAL might work but are untested. The error message for these versions reflects this.
* Erroring when unsafe configurations are defined can be overridden by defining `ALLOW_UNSAFE_CONFIG` which will throw a warning instead.
  * This should only be done if trying to implement or test on a currently unsupported platform.
  * If both `GITHUB_CI` and `ALLOW_UNSAFE_CONFIG` are defined an error will be thrown causing the CI tests to fail. This is just in case someone makes a commit with it defined.
2024-06-02 11:56:08 -04:00
Ancyker
740c2698bc
Fix compilation errors and warnings
Fixing issues when only ENABLE_GBX was enabled or when compiling for a serial-only firmware.
2024-06-02 11:15:50 -04:00
smesgr9000
ad69abdf57 use common function to create file/folder and increment foldern counter 2024-06-01 09:58:23 +02:00
smesgr9000
22e06d8ec1 reuse n64 flashrom Xplorer command sequence 2024-05-30 18:52:38 +02:00
smesgr9000
fb78a1fce5 reuse n64 flashrom command sequence 2024-05-30 18:18:53 +02:00
smesgr9000
86059ae070 reuse code to write NES maker command 2024-05-30 08:15:22 +02:00
smesgr9000
5b43a162b8 reuse common strings, remove duplicate 2024-05-30 08:00:13 +02:00
smesgr9000
d039c590cc define more commonly used string in OSCR and reuse them 2024-05-28 21:11:48 +02:00
smesgr9000
0d9596eb70 replace custom FLASH saving code with common function 2024-05-28 20:20:29 +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
78bf1462d0 replace custom folder creation function with common 2024-05-26 21:48:57 +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
1aaa90af97 remove custom code to print 0 prefixes in sprintf 2024-05-20 13:17:44 +02:00
smesgr9000
4d000418a8 remove duplicate code to write Flash Command 2024-05-20 12:54:33 +02:00
smesgr9000
aaaa6ea3cd reuse menu item strings 2024-05-20 12:27:53 +02:00
smesgr9000
a32c6b3bff define PROGMEM string for Attention 3.3V 2024-05-20 12:07:28 +02:00
smesgr9000
f82be2d5db remove duplicate code to open file for verfication 2024-05-20 11:57:32 +02:00
smesgr9000
d7e795fbed remove duplicate code to open file to write on flash 2024-05-20 11:39:35 +02:00
smesgr9000
ea0b47de57 use constant for "Saving to" instead declare the string several times 2024-05-12 15:54:49 +02:00
smesgr9000
9f0aa09197 remove duplicate code to create folder 2024-05-12 15:37:11 +02:00
smesgr9000
38b2b2476b remove duplicate GB Flash reading function 2024-05-12 14:33:21 +02:00
smesgr9000
dc47202c4d remove duplicate code for 2600 3E & 3F mapper 2024-05-12 14:03:34 +02:00
smesgr9000
a8cd9c52a6 reduce duplicate code in bank 7800 switching code 2024-05-12 12:09:59 +02:00
smesgr9000
32f6b4151b reduce duplicate code by parameterise ROML/ROMH 2024-05-12 11:40:34 +02:00
smesgr9000
c09e772299 replace hardcoded bank maps with power of 2 2024-05-12 08:15:03 +02:00
smesgr9000
7ba32d24fc remove duplicate code for checking pin number 2024-05-11 23:44:40 +02:00
smesgr9000
74352c6e31 define "File doesn't exist" in OSCR.cpp/h 2024-05-11 23:32:06 +02:00
smesgr9000
ab03ab879c pass onyl 16bit parameter where only 16bit address is used 2024-05-11 23:18:31 +02:00
smesgr9000
90fa37c491 add serial printing to print instructions 2024-05-10 19:15:24 +02:00
smesgr9000
9e2ef3580c reuse print instructions function, more efficiant read code 2024-05-10 19:13:19 +02:00
smesgr9000
94c6bd460a add c64 function to read 16k segments. Remove duplicate code for C64 2024-05-10 18:14:54 +02:00
Ancyker
40238b18a1
Fixed (added) missing FS() macro on some FSTRING constants
This was causing two symptoms/bugs:
* OSCR_LOG.txt was being spammed with random data.
* The size of OSCR_LOG.txt would get so big that copying the log would take a long time, possibly minutes. Oftentimes this caused the display to appear to hang after searching for the CRC (after "->") but before displaying the result.

If using the global log and a version of master since e61ac414d8 you should delete OSCR_LOG.txt from your SD card as it will likely be very large and continue to cause dumping to be slow.
2024-05-07 17:16:51 -04:00
smesgr9000
8bd6d7dfdc remove duplicate code for F4,F6 & F8 mapper 2024-05-07 20:30:02 +02:00
smesgr9000
53b71f9108 fix 2600 mapper selection for Serial 2024-05-07 19:38:31 +02:00
JWS
2c72652671 Add support for X07 mapper (Stella's Stockings) 2024-05-03 20:34:26 -05:00
JWS
f4ba8d7af8 Add support for mapper 3E, 32K ROM 32K RAM Tigervision 2024-05-03 18:52:37 -05: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
5f3d63a123 fix signed/unsigned warning 2024-05-03 20:47:48 +02:00
smesgr9000
990b61ca3a make cast in read function explicit and reduce duplicate read functions 2024-05-03 19:12:48 +02:00
smesgr9000
e8e6d15a72 remove duplicate string literals 2024-05-03 17:12:31 +02:00
smesgr9000
6c05709871 fix compiler warnings 2024-05-03 17:11:55 +02:00
smesgr9000
330e615b8c remove duplicate code to select mapper, rom and ram configurations 2024-05-01 21:27:45 +02:00
smesgr9000
2826ded431 remove duplicate code in printing CRC 2024-05-01 18:59:00 +02:00
smesgr9000
d233387acc fix issue #939. Remove duplicate write of laster buffer. Also add Berzerk Enhanced 2024-05-01 18:50:35 +02:00
smesgr9000
254982cbe7 remove duplicate CRC printing and calculation function 2024-05-01 10:48:58 +02:00
smesgr9000
ccc06ef4e4 fix reading mapper > 9 from database 2024-05-01 09:35:00 +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
sanni
ecc937bab3
Fix romType for Yuyu no Quiz de GO!GO!
https://github.com/sanni/cartreader/issues/922
2024-04-30 12:25:58 +02:00
smesgr9000
9909fdafb3 replace 5200 and ARC cart selection code with code used in NES, COLV & INTV 2024-04-29 19:09:50 +02:00
smesgr9000
06d5f28d0c port NES fast forward selection to other systems 2024-04-28 13:35:21 +02:00
smesgr9000
394dcdcf1f replace C64 cart selection code with code used in NES, COLV & INTV 2024-04-28 09:50:48 +02:00
sakman55
254c824292
Update 7800.ino
Update checkStatus_7800() to account for the added Bankset mapper (#7).
2024-04-27 18:33:27 -10:00
sakman55
43e18fce80
Update C64.ino
Fix Issue #902 Handling of GAME and EXROM lines of C64 cartridges is wrong.  Requires updated c64cart.txt on SD card.
2024-04-27 12:49:34 -10:00
smesgr9000
57bf121c06 replace 2600 cart selection code with code used in NES, COLV & INTV 2024-04-27 09:59:36 +02:00
smesgr9000
3ff99bfe48 Merge remote-tracking branch 'origin/master' into a7800database 2024-04-24 20:28:42 +02:00
smesgr9000
4502d1e56e revert accidently committed Config.h 2024-04-24 20:17:10 +02:00
smesgr9000
d8809b198d revert accidently committed Config.h 2024-04-24 20:13:45 +02:00
smesgr9000
3ce23a57ad replace cart select code with code used in NES, COLV, INTV 2024-04-24 20:07:44 +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
sanni
5d0ae986c9
Merge pull request #932 from PsychoFox11/master
Fix Slaughter Sport title, two CRC32s
2024-04-22 12:42:08 +02:00
Don Jones
dc1e776b19
Update MD.ino
Fix Slaughter Sport's title and folder name
2024-04-21 02:08:30 -04:00
smesgr9000
4c8f8266a1 support CLOCKGEN for C64 2024-04-18 18:09:19 +02:00
smesgr9000
e1716d48bb fix reading mapping > 5 causes crc32 0x0000000 2024-04-12 20:15:16 +02:00
smesgr9000
cf1d01855d reduce memory footprint for 7800.ino 2024-04-12 19:07:00 +02:00
smesgr9000
9ad338a821 support for F4SC, F6SC & F8SC 2024-03-24 14:06:06 +01:00
smesgr9000
a2924e4f58 create a merge request for https://github.com/sanni/cartreader/issues/916 2024-03-23 23:30:17 +01:00
PsyK0p4T
281639370f
CRC check added
CRC check added for SFC Sufami Turbo sub-carts
2024-03-11 16:38:10 +01:00
PsyK0p4T
6d89a279f2
Update MD.ino
Thanks to psychofox : 
- Fix Madden NFL 98 (USA)
- More aftermarket games added
2024-03-07 11:13:09 +01: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
Ancyker
3468703a51 Added ability to use config file for some options.
A sample `config.txt` is in the SD folder. Currently the option is disabled by default and must be enabled.

Also:
* Eliminated the 5V spike at boot when VSELECT is installed and enabled. See discussion #906
* Fixed a warning in `MD.ino`
* Did some code cleanup, more cleanup to come.
2024-02-29 17:52:04 -05:00
PsyK0p4T
35eca2a9f4
Update 7800.ino
Add clock generator usage to fix timing issues (thanks to @smesgr9000)
2024-02-29 23:17:41 +01:00
sanni
f947fb4e3f Add support for MBC30 flash cart by HDR (thx to ManCloud)
Two issues were resolved:
- this flashcart uses the Audio-In pin instead of the WR pin
- Writing 4MB gets stuck after bank 170 and needed the SRAM to be mapped (same as MBC5)
2024-02-29 09:36:23 +01:00
PsyK0p4T
417e88d7d1
Update MD.ino
Force saveType to 0 for some aftermarket games not using SRAM
2024-02-25 13:58:06 +01:00
LuigiBlood
bbe37d9839 SNES: Add Game Processor RAM Cassette Read/Write support 2024-02-09 23:02:59 +01:00
PsyK0p4T
e4e4c7f1f5
Update PCE.ino
Add compatibility for "Games Express CD Card (Japan) (Green Version)"
2024-02-02 00:12:39 +01:00
PsyK0p4T
d556e5a4af
Update Cart_Reader.ino
Standardize all Atari codes
2023-12-26 23:13:51 +01:00
PsyK0p4T
a8b493026e
Update Config.h
Standardize all Atari codes
2023-12-26 23:12:11 +01:00
PsyK0p4T
a9bccaf8f7
Update 5200.ino
Standardize all Atari codes
2023-12-26 23:10:23 +01:00
PsyK0p4T
2bdba9c8bd
Update 7800.ino
Standardize all Atari codes
2023-12-26 23:09:38 +01:00
PsyK0p4T
c06f1c4e95
Update 2600.ino
Modify Atari 2600 code to follow 5200/7800 model.
2023-12-26 23:08:10 +01:00
PsyK0p4T
319d110339
Update VECTREX.ino
Allows to manually select and dump carts up to 64 KB.
2023-12-26 21:53:39 +01:00
PsyK0p4T
d0fe5c8ca1
Update Cart_Reader.ino
Add Sufami Turbo support
2023-11-25 00:34:13 +01:00
PsyK0p4T
70d52636d7
Update SNES.ino
Add Sufami Turbo support
2023-11-25 00:32:51 +01:00
PsyK0p4T
0287ea8ed2
Update Config.h
add Sufami Turbo support
2023-11-25 00:29:55 +01:00
PsyK0p4T
f86a861628
Add Sufami Turbo module 2023-11-25 00:26:38 +01:00
sanni
1eac83ef79
Update OSCR.cpp 2023-11-21 09:55:10 +01:00
sanni
ad294f651f
Update Cart_Reader.ino 2023-11-21 09:54:54 +01:00
sanni
5176a15199
Update ARC.ino
Fix compilation error in combination with ENABLE_UPDATER
2023-11-21 09:43:00 +01:00
PsyK0p4T
a55aa7bbff
Update SNES.ino
Avoids a compilation warning
2023-11-20 21:46:44 +01:00
sanni
654686cf15
Update Cart_Reader.ino 2023-11-20 12:23:34 +01:00
sanni
a06d9ee87b Update version 2023-11-20 12:19:32 +01:00
qufb
ac1c6db12d Fix PH3 pin typo 2023-11-16 22:27:01 +00:00