424 Commits

Author SHA1 Message Date
Gabriel Marcano
9210769405 Optimizations for Cart_Reader.ino
- Removed strcpy_P from print_STR, not necessary as print*_Msg supports
   __FlashStringHelper strings, so pass those through.
 - Change RTCStamp signature, don't return String as that allocates on
   the heap, require caller to allocate a buffer however they want of at
   least 21 bytes in size. Updated call-sites to follow this new
   convention. String output is now no longer completely uppercase.
 - delete print_right(). This function doesn't quite do what it claims
   to do, at least on HW5, as the font isn't monospace.
 - Fix number literal types for clkcal. No need to use ULL, as the
   variables in use are int32_t, and on AVR these are just L. Unsure of
   how to make it more cross-platform for now.
 - delete atoi32_signed, as we can just use atol() and save progmem.
 - cleanup readClockOffset(), and use atol also.
 - minor cleanups in initializeClockOffset that actually reduced
   progmem.
 - rewrote void print_Msg(const char myString[]) wrapping implementation
   to reduce progmem. call print_Msg in println_Msg (not sure why it
   wasn't called). This actually fixes a bug where only the first line
   would wrap.
 - checkButton(), rotaryDir doesn't need to be more than int8_t.
 - delete large switch-case in fileBrowser, unnecessary, just index the
   fileNames string directly.
 - buildRom, loop size doesn't need to be more than byte as length is a
   byte.
 - In total, progmem usage went from 181634 bytes to 180484 (over 1KB
   saved).
2025-01-07 01:03:06 -08:00
Gabriel Marcano
9f92f6614d Update Cart_Reader.ino
- Add support for simulating a long press for the serial interface by
   seinding `l` or `L`. This lets someone actually run the SNES clock
   calibration using the serial interface.
2024-12-22 23:33:21 -08:00
Gabriel Marcano
62b8182dee Update Cart_Reader.ino
- Don't use `Serial.read() - 48` to extract chars. Just treat the data
   as chars. This is more legible, and actually reduced the program
   storage space utilization slightly.
2024-12-22 23:33:21 -08:00
Gabriel Marcano
b2578512e5 Update Cart_Reader.ino
- Remove incomingByte global variable, mark all uses as local
   variables. This leads to a tiny (yet measurable) decrease in global
   variable use, and no change in sketch memory use. Of course, the
   variable now resides in the stack, but only while the functions using
   it exist, which isn't always.
2024-12-22 23:33:21 -08:00
Ancyker
2199e15e03
Fix printInstructions() overriding dont_log state 2024-11-27 12:37:22 -05:00
sanni
405b73577a Fix compiler error 2024-09-13 09:32:13 +02:00
herzmx
c301d610ba Merge branch 'master' of github.com:sanni/cartreader into cps3 2024-09-12 15:09:57 -06:00
herzmx
62c4f5e5a0 Release CPS3 OSCR Adapter commit 2024-09-12 14:31:19 -06:00
sanni
9dce89ab05 Update Cart_Reader.ino 2024-08-29 11:18:20 +02:00
sanni
0d602720c2 Remove more co-dependencies 2024-08-16 19:54:57 +02:00
sanni
ac6e606f0d Fix compile errors for co-dependent modules 2024-08-16 19:04:37 +02:00
sanni
06243694d4 Fix compiler warnings/errors 2024-08-16 16:53:55 +02:00
sanni
34e2ef2bae #define ENABLE_FLASH now enables/disables all repro flash code
This cuts down memory usage from 90%/66% to 68%/63%. Useful for people that don't flash repros and would like to enable more systems instead.
2024-08-16 11:43:08 +02:00
sanni
a2b8d0446d Fix typo 2024-08-15 17:37:30 +02:00
sanni
d4dafab307 Remove "Rotate to Change Press to Select" spam from log file 2024-08-15 17:35:49 +02:00
sanni
afade35b6c Change N64 timings
Seems to more reliable read SRAM with some delays removed.
2024-08-11 15:31:24 +02: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
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
sanni
8d99ac572f Fix Serial Monitor errors/warnings 2024-07-13 10:46:59 +02:00
sanni
72dfb04624 Add new modules (thx to skaman) 2024-07-08 19:25:29 +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
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
sanni
9b69037ebc Fix color cycling when idle 2024-07-02 11:35:51 +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
fefd959e84 Add CFI option to flashrom programmer 2024-06-26 13:29:18 +02: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
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
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
d7e795fbed remove duplicate code to open file to write on flash 2024-05-20 11:39:35 +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
7ba32d24fc remove duplicate code for checking pin number 2024-05-11 23:44:40 +02:00
smesgr9000
90fa37c491 add serial printing to print instructions 2024-05-10 19:15:24 +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 e61ac414d89556c941f0b8ca76e5d7d6684037f0 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
990b61ca3a make cast in read function explicit and reduce duplicate read functions 2024-05-03 19:12:48 +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
254982cbe7 remove duplicate CRC printing and calculation function 2024-05-01 10:48:58 +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