Commit Graph

988 Commits

Author SHA1 Message Date
sanni
73041751b9
Merge pull request #1009 from partlyhuman/firmware-lynx-flash-rebased
Adds flash cartridge support to Atari Lynx firmware
2024-08-05 08:48:14 +02:00
Roger Braunstein
ac44f5d90d Adds flash cartridge support to Atari Lynx firmware 2024-08-04 16:39:31 -07:00
sanni
bf90513edc Enable Internal Pull-ups for MD
https://github.com/sanni/cartreader/issues/1007
2024-08-02 10:43:11 +02:00
Andy Miles
a81fbd2df6
Atari 5200 Updates
1. Added CRC database lookup for ROM dump validation and file renaming
2. Added delays to improve successful ROM dumping. Especially helps with
   2-chip ROMs
3. Fixed database mapper config for Star Trek (not a 2-chip ROM)
2024-08-01 12:13:24 -07:00
Greg Dole
4d80beeb43 added Atari Jaguar Dumping 2024-07-31 13:37:56 -04:00
sanni
609fc6e444 Add read-only mode for flashroms with unknown ID 2024-07-31 13:51:42 +02:00
sanni
dcadcde877 Output clock signal during self test 2024-07-31 12:42:26 +02:00
sanni
324de5463b Allow for flash ID error to be ignored 2024-07-31 12:07:44 +02:00
Andy Miles
644e1dc944
SMS Updates
1. SMS cart size detection algorithm is updated based on bank count instead of multiples of detected cart size from the header.
2. SMS cart size detection is only invoked if the "TMR SEGA" header is parsed for non-JP carts.
3. Manual selection of ROM size is now present in the SMS/GG menus to allow for manual override as detection algorithm does not work correctly for Cloud Master and Penguin Land US SMS carts.
4. SG-1000 Operation menu now allows for reset instead of relying on a power cycle.
2024-07-29 13:18:26 -07: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
70ef81bd7e Fix 16bit flashrom writer 2024-07-24 21:40:20 +02:00
PsyK0p4T
23fcb5c12e
Update PCE.ino
Various changes
- restore Reset option in PCE menu
- fix wrong file creation location when reading multiple games in a row
- simplified crc search
2024-07-24 16:15:04 +02:00
sanni
7bdf3e6a0f Update FLASH.ino 2024-07-19 23:12:45 +02:00
sanni
dac242cd2f Flash: Add progress bar to read/verify/blankcheck flashrom 2024-07-19 22:18:22 +02:00
sanni
68ae4b7111 GBA: Fix writing file smaller than 4MB 2024-07-13 13:41:33 +02:00
sanni
8d99ac572f Fix Serial Monitor errors/warnings 2024-07-13 10:46:59 +02:00
sanni
8323aaeca9 Update GBA.ino 2024-07-12 15:29:51 +02:00
sanni
d25b98ddfd GBA: Add option to dump F0088H0 repro 2024-07-12 14:08:21 +02:00
sanni
8cf9bc6a99 GBA: Add bank mapping to F0088H0 repro 2024-07-10 23:03:40 +02:00
sanni
0a3ca11dfb Update GBA.ino 2024-07-09 20:53:34 +02:00
sanni
c56ced2264 GBA: Fix Blankcheck function 2024-07-09 13:50:26 +02:00
sanni
72dfb04624 Add new modules (thx to skaman) 2024-07-08 19:25:29 +02:00
sanni
08cb821387 GBA: Add basic support for F0088H0 flash
No bank switching yet so ROM limited to 16MB.
Uses flash commands found [here](https://github.com/lesserkuma/FlashGBX/blob/master/FlashGBX/config/fc_AGB_6600M0U0BE.txt)
2024-07-08 17:00:43 +02:00
sanni
ee923a03bc
Merge pull request #982 from partlyhuman/firmware-atari-lynx
Atari Lynx firmware 1.0
2024-07-08 16:54:30 +02:00
Roger Braunstein
c7e365afbd Removes refactored out method 2024-07-07 16:13:13 -07:00
Roger Braunstein
bfe1390832 Further optimize detection, combine loops 2024-07-07 16:12:02 -07:00
Roger Braunstein
a751f4f9a6 Completely eliminates extra stack-allocated buffers 2024-07-07 15:37:32 -07:00
Roger Braunstein
bd641b6476 Cherry-picking firmware changes only for Lynx support
Updating header comments

Better blocksize detection, cleanups
2024-07-07 14:02:16 -07:00
sanni
15a2983539 13.5 Fix SFM flash menu
https://github.com/sanni/cartreader/issues/980
2024-07-05 19:19:40 +02:00
sanni
c2c1f7a0ba Update Cart_Reader.ino 2024-07-03 18:16:18 +02:00
sanni
29b876b25b Update Cart_Reader.ino 2024-07-03 17:01:11 +02:00
sakman55
e2a65d78d8
Update PCW.ino
Minor cleanup
2024-07-02 10:30:50 -10:00
sakman55
20ac7558f6
Update VECTREX.ino
Minor cleanup
2024-07-02 10:04:13 -10:00
sanni
9b69037ebc Fix color cycling when idle 2024-07-02 11:35:51 +02:00
smesgr9000
59f2525f80 fix issue #973 - remove obsolete debugging leftover 2024-07-01 16:58:54 +02:00
sanni
c11690b491
Merge pull request #977 from partlyhuman/pce-tg16-flashing
Adds support for flashing reproduction HuCards
2024-07-01 00:12:03 +02:00
Roger Braunstein
ae52422502 Alternate fix 2024-06-30 12:33:24 -07:00
Roger Braunstein
75d547db22 Fixes compilation of SNES w/o FLASH option, update comment 2024-06-30 12:29:11 -07:00
sanni
0e48720efc Add support for Dezaemon 3D 768KB save (thx to saturnu)
fff9a57a92

(This is untested)
2024-06-30 12:10:47 +02:00
sanni
d1b1c88af0 Fix reading Bahamut Lagoon English Translation SRAM (thx to Cowboyjunkie)
https://github.com/sanni/cartreader/issues/917
2024-06-30 11:50:11 +02:00
sanni
fd2c332ea9 Add progressbar to flashrom programmer
Only tested with 29F032 and 29LV640 but should still work for all since it was just copy&paste.
2024-06-30 11:36:33 +02:00
sanni
f798336aaa Always disable SRAM when flashing any hirom repros 2024-06-30 11:04:40 +02:00
Roger Braunstein
99433cc769 Update comments 2024-06-29 18:25:34 -07:00
Roger Braunstein
3ebfc53a18 Cleaning up debug stuff 2024-06-29 18:20:04 -07:00
Roger Braunstein
efe0dcf47d Implements data complement status checking and MX29F0x0 flash 2024-06-29 18:17:26 -07:00
Roger Braunstein
2abde7f2fc Detect flash chip 2024-06-29 17:05:05 -07:00
sanni
27b84d2f7e Disable SRAM when flashing 2x2MB repro 2024-06-29 20:29:38 +02:00
smesgr9000
4e7ef93cc6 declare "Revision: " and "Serial: " as common string and reuse string 2024-06-29 11:48:32 +02:00
smesgr9000
9e13964889 reuse common string "ROM Size: " 2024-06-29 11:28:41 +02:00
Roger Braunstein
6fc56b5ed6 Working with 4mbit hardcoded 2024-06-28 19:31:14 -07:00
Roger Braunstein
88564c21da Initial work on PCE flash repro, erase working 2024-06-28 18:09:51 -07:00
sanni
ce4e26c686 Fix verifyFlash() 2024-06-27 10:55:54 +02:00
sanni
fefd959e84 Add CFI option to flashrom programmer 2024-06-26 13:29:18 +02:00
sanni
fd82faca2d SNES: Add 2x2MB flash to CFI (thx to MouseBiteLabs) 2024-06-26 09:24:12 +02:00
smesgr9000
9cbc8caad3 remove duplicate for SUPRACAN 2024-06-16 11:26:56 +02:00
smesgr9000
4040d2b2a6 define common string "Select file" 2024-06-16 10:55:50 +02:00
smesgr9000
da8dc3d94e replace duplicate code with common folder creation function 2024-06-16 10:39:47 +02:00
smesgr9000
e1bd042d82 replace duplicate error string "Can't open file" 2024-06-16 00:39:21 +02:00
smesgr9000
ee6a7fe41f remove duplicate code to read two Bounty Bob banks 2024-06-15 22:42:37 +02:00
sanni
0203e4bf93
Add option to force ROM size for MD carts 2024-06-13 19:40:57 +02:00
sanni
27a213a3c1
Add CFI option to SNES repro menu
Only tested with 29LV640 on Chinese LoROM repro.
2024-06-13 16:43:20 +02:00
Ancyker
8535552b9a
Fix compilation errors when the FLASH core is enabled without FLASH16
Commit References:
* a32c6b3bff - Added ATTENTION_3_3V flash string but placed the definition inside a FLASH16 ifdef.
* 4d000418a8 - Added use of writeWord_Flash to FLASH8 without removing the FLASH16 ifdef around it.
2024-06-10 11:46:26 -04:00
smesgr9000
52fc5be7ad reuse command sequence for GB 2024-06-03 18:51:51 +02:00
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