Commit Graph

63 Commits

Author SHA1 Message Date
Vincent Pelletier
e4e09c7bf8 GBA.ino: Reduce gbaMenu size.
Replace switch blocks which produce one output with const tables.
Use functions instead of repeating code.
Move common initial and final statements outside of blocks.
Also, do not erase/flash second bank on dual-bank chips when the first one
had failures.
This saves about 520 bytes of code and increases ram use by 12 bytes.
2022-10-28 05:29:20 +00:00
Vincent Pelletier
27baa2b164 All: Factorise code seeking a file back N lines
This saves 890 bytes of program space.
2022-10-28 05:29:20 +00:00
Vincent Pelletier
0a627e5bd4 All: Use f.seekCur(x) instead of f.seekSet(f.curPosition() + x)
Saves 450 bytes of program space.
2022-10-28 05:29:20 +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
e7ef7fd4bd All: Make flashid an integer
flashid (almost) always contains the hexadecimal representation of two
bytes, which then means it gets compares with strcmp, which in turn need
another string argument. Instead, make it an integer, removing the need to
call strcmp.
Add a separate string representation for printing purposes (maybe this can be
avoided by having the print function format it when needed ?).
The only apparent case where flashid is not an hexadecimal representation
of a pair of bytes is when N64 clears it to "CONF". Set flashid to zero
this case.
This saves about 500 bytes of program space and 200 bytes of ram.
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
0ab7a18b05 V10.1 Move HW1/2/3 to same display lib as HW4/5
... bugs are to be expected :D
2022-10-08 16:23:33 +02:00
sanni
bef9d0f5f9 Don't log manual mapper selection to file for NES/GBA 2022-10-04 20:30:53 +02:00
Lesserkuma
dab124def7 Find Game Serial for Game Boy 2022-09-28 21:31:49 +02:00
Lesserkuma
786a8586fb Merge branch 'master' 2022-09-28 19:50:58 +02:00
sanni
b51a01f1f5 Fix Typo 2022-09-27 19:24:21 +02:00
sanni
b34334ea04 Update GBA database 2022-09-27 19:11:58 +02:00
Lesserkuma
6098700fdd Merge branch 'master' 2022-09-25 17:06:58 +02:00
Lesserkuma
140401161b UI improvements for GB, GBA, N64, SNES 2022-09-25 16:40:21 +02:00
sanni
6659b84d9d Add support for Benesse Pocket Challenge W Module (thx to skaman) 2022-09-25 10:36:28 +02:00
Lesserkuma
77c0daeb6a Update to displaying full ROM title on SNES, N64, GB, GBA 2022-09-24 14:36:13 +02:00
Lesserkuma
eed3324a56 Display full ROM title for GB and GBA 2022-09-23 21:55:16 +02:00
sanni
f002e40aa6 Add back option to dump headerless NES ROM 2022-08-03 12:14:32 +02:00
Lesserkuma
6fea477155 Add support for missing GBA flash save chips (Atmel AT29LV512, Macronix MX29L512, Panasonic MN63F805MNP, SANYO LE26FV10N1TS) 2022-07-24 01:00:37 +02:00
sanni
39f7a4a3c7 Break out of GBA database loop once ID is found
thx to stewartspicer
2022-07-07 23:55:33 +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
d8d9716aa3 Add files via uplpad 2022-06-23 10:47:30 +02:00
sanni
44d853e1bb Add CRC32 and filenames to SNES database 2022-06-21 13:29:19 +02:00
sanni
311822f3c7 Add progress bar to GBA 2022-06-20 23:22:16 +02:00
sanni
fe5264b8ba Add CRC32 and filenames to GBA database 2022-06-20 22:36:53 +02:00
sanni
fac6f8eab2 Copy latest log to dump dir 2022-06-16 15:15:43 +02:00
sanni
5a3b311feb Fix Led and missing word wrap 2021-10-26 17:13:42 +02:00
sanni
9eca87d975 V5.5: Reduce memory usage in Filebrowser 2020-10-28 18:44:13 +01:00
jiyunomegami
29093b1bf3 add #ifdef enable_XXX check to each module 2020-07-05 00:07:14 +09:00
sanni
4a1b441ae5 V4.4: Add ST M29W128GH GBA repro
Thanks to xybots for testing
2019-12-21 21:24:39 +01:00
sanni
e4cab438ca Update GBA.ino 2019-12-20 16:02:57 +01:00
Phil Eichinger
8e7ae83576 Add support for Intel PC28F256M29
Tested with 2 repro carts
2019-10-24 21:58:32 +02:00
sanni
34d6871f7d Set eeprom location for folder number to 0 again 2019-09-27 17:38:42 +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
94a0d9ed1d V2.8: Fix GBA Sram issue
Thanks to Cyber_Akuma
2019-02-18 13:36:00 +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
8c6d0960fb
V30F: Fix writing MX29LV160
Reset pin needs to be connected to Reset of SNES slot.
2017-11-24 21:36:33 +01:00
sanni
4bb76e01e2 V28I: Added an alternative ID for the Fujitsu MSP GBA Repros
Fujitsu MSP55LV128 and Fujitsu MSP55LV128N are the same flashrom but they have different ID's ...
2017-10-07 12:19:34 +02:00
sanni
4d5cff1393 V28E: Added some untested flashrom types for GBA and N64
I don't have them myself so I can't test but maybe others can.   
Flashrom Programmer: Macronix MX29LV320 and MX29LV640 (connected as 16bit flashrom in 8bit mode)   
GBA: Intel 4400L0ZDQ0 (Only using the first 32MB)   
N64: Fujitsu MSP55LV100S and Macronix MX29LV640 (Fujitsu might have a different sector size)
2017-09-18 23:39:54 +02:00
sanni
684cb15fc9 V28D: Simplify GBA Logo Check
byte overflow in last commit
2017-09-15 18:13:46 +02:00
sanni
2a0ca1b236 V28D: Simplify GBA Logo Check 2017-09-15 17:51:41 +02:00
sanni
2846203b35 V28C: Add support for Fujitsu MSP55LV128 GBA repros
Almost the same as Macronix MX29GL128E but sector size and write buffer are half the size.
Data pins 0 and 1 are also swapped and it still needs 5V to erase correctly.
2017-09-14 23:09:14 +02:00
sanni
39d7e52509 V28B: Add reset to readmode before blankcheck for GBA repro with Intel flashrom 2017-09-08 14:46:24 +02:00
sanni
1562ed1ff8 V28A: Rewrite GBA repros with 16MB MX29GL128E flashrom (the ones with switched data pins)
The whole GBA code is currently a little bit buggy, so for dumping roms you propbably should stay on the last somewhat stable release V27D. 
Reflashing only seems to work with 5V. Probably out of the same reason why some real carts don't work with V28 ... bad read/write timings.

I also might have broken support for the Intel flashrom I added in the last commit...
2017-09-08 01:09:42 +02:00
sanni
63b239d27e V28: Rewrite GBA repros with 32MB Intel 4000L0YBQ0 flashrom
There is still a bug left when it comes to resetting the flashrom to read mode since I can't find the datasheet to look up the partition sizes. So it might be that the verifying process fails even though the flashing was successful. In this case remove the GBA repro for a few seconds then just dump the rom and compare if the write really failed.
2017-08-16 16:08:00 +02:00
sanni
41d238e1b6 V24D: More names that were one char too long 2017-05-15 10:24:28 +02:00