Commit Graph

992 Commits

Author SHA1 Message Date
Vincent Pelletier
90303b45c0 SNES.ino: Restore code with side-effects
This code was removed as part of
  a555f21 ("All: Resolve all compiler and linker warnings")
because it was filling a 1kB buffer which was never read from.
While I expect reading values from PINC should be invisible from the
cartridge's perspective, writing to PORTL, PORTF and PORTK is definitely
visible.
I have currently no way of testing if this code is required, so in doubt
restore the parts which have effects visible from the cartridge.
2022-11-01 07:56:15 +00:00
Vincent Pelletier
c82815f0d5 SFM.ino, SNES.ino: Rework compiler warnings resolution
I am not sure why I changed some variables from 16 bit types to 8 bit types
when the warnings being resolved were only about signedness.
Fixes: a555f21 ("All: Resolve all compiler and linker warnings")
2022-11-01 07:53:35 +00:00
sanni
cc17c70e30 Fix reading/writing 4MB HiROM
HiROM starts at bank 192 and has 64 banks so byte variable currBank overflows.
2022-10-31 15:41:29 +01:00
sanni
a3feb32e15
V11.1 2022-10-31 11:40:15 +01: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
0a823bf5b7 Cart_Reader.ino: Factorise missing module error.
Also, handle one such case in the HW3 main menu.
2022-10-31 08:52:19 +00:00
Vincent Pelletier
25b615f77c Cart_Reader.ino: Move print_FatalError prototypes earlier in the file
So they can be used in more places within that file.
2022-10-31 05:48:46 +00:00
Vincent Pelletier
4a2a2c69d2 Cart_Reader.ino: Deduplicate HW5 mainMenu pagination logic 2022-10-31 05:48:46 +00:00
Vincent Pelletier
a35c882662 N64.ino: Factorise JoyBus-related code
IMPORTANT: with this change, the Adafruit clock generator becomes a hard
requirement to read and write gamecart eeproms.

This is a large patch, partly because JoyBus is used a lot:
- controller
- controller pak
- gamecart eeprom
and partly because of the further simplifications it allows.

Also, implement low-level bit shift functions in assembly in order to get
complete control of the timings: there can be just a few cycles of slack.
Also, use the time waiting for the input line to go high to pack received
bits into bytes on-the-fly, as there is now plenty of time.

This saves about 2080 bytes of program space, and 369 bytes of global ram
space.
2022-10-31 05:48:46 +00:00
Vincent Pelletier
bea06e55fe N64.ino: Assorted low-hanging fruits
More sizeof() use, avoiding high-level loops when a callee can do it
without the call overhead on every iteration, a bit of source code
factorisation, avoiding initializers for large variables.
2022-10-31 05:48:46 +00:00
Vincent Pelletier
d9daadb1f9 N64.ino: Build eeprom path and file name with snprintf_P
So the format string is stored in flash rather than in ram.
The gain from doing just one like this is not much, to be done in more
places.
2022-10-31 01:16:06 +00:00
Vincent Pelletier
a43b2553cd N64.ino: Optimise controller CRC functions for speed
Also, shave off 5 bytes from a local initializer.
Saves 22 bytes of program space and of global ram space.
2022-10-31 01:16:06 +00:00
sanni
3826f5aa10
Update Cart_Reader.ino 2022-10-30 11:46:55 +01:00
Vincent Pelletier
fbaed78eb5 SFM.ino: Get rid of write-only global variables
These variables are set but never read. Removing them removes a non-trivial
amount of code, which I am not comfortable deleting: it contains knowledge
about cart data structure, even though it is currently not being used for
anything. So comment it out until someone who know this architecture better
comes around.

Frees 146 bytes of program space and 16 bytes of global ram space.
2022-10-29 09:46:00 +00:00
Vincent Pelletier
18bd92d100 WSV.ino: Move WVS to PROGMEM
Frees 16 bytes of program space and 8 bytes of global ram space.
2022-10-29 08:01:59 +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
Vincent Pelletier
59665bb848 NES.ino: Factorise Create{PRG,CHR,RAM}FileInSD functions
Also, gets rid of filesCount global.

Frees 390 bytes of program space and 21 bytes of global ram space.
2022-10-29 08:01:55 +00:00
Vincent Pelletier
64db4ded54 NES.ino: Convert nointro-disabled global variables into locals
Also, remove dead error handling code: sd.exists internally opens the file
and returns the produced status, so myFile.open return value should be the
same.
2022-10-29 07:16:37 +00:00
Vincent Pelletier
264bfd5ce5 INTV.ino: Move INTV to PROGMEM.
Uses 8 bytes of program space.
Frees 6 bytes of global ram space.
2022-10-29 07:16:37 +00:00
Vincent Pelletier
a6f9e5e99c GBA.ino: Get rid of unused global 2022-10-29 07:16:37 +00:00
Vincent Pelletier
d4c5f6ec5b GBA.ino: Get rid of calcChecksumStr as a global
Frees 150 bytes of program space and 5 bytes of global ram space.
2022-10-29 07:16:37 +00:00
Vincent Pelletier
3bb63d77e3 COLV.ino: Move COL to PROGMEM
Uses 30 bytes of program space
Frees 6 bytes of global ram space.
2022-10-29 07:16:37 +00:00
Vincent Pelletier
65f7950af4 NES.ino: Move PRG, CHR and RAM to PROGMEM.
Uses 90 bytes of program space.
Frees 40 bytes of global ram space.
2022-10-29 07:16:37 +00:00
Vincent Pelletier
133e3feda9 Cart_Reader.ino: New variants of print_Error
Tagged with noreturn so the compiler knows about the effect of
forceReset=true.
Ideally, print_Error should lose its forceReset argument so that:
- print_Error never resets
- print_FatalError always resets (and hosts the code doing so)
so the compiler is more accurately aware of the execution flow.
2022-10-29 07:16:37 +00:00
sanni
34981fdb8e Fix compile error 2022-10-28 15:09:15 +02:00
sanni
a8a981e137 Auto format 2022-10-28 15:02:51 +02:00
sanni
30d880bfa7 Fix SNES romName 2022-10-28 13:38:16 +02:00
sanni
24c5957993 Fix CRC32 calculation 2022-10-28 12:56:38 +02:00
nsx0r
2682e5ef94
added NES mapper 91 + m36 typo fix
added NES mapper 91 + m36 typo fix
2022-10-28 11:49:55 +02:00
nsx0r
1509549946
added NES mapper 36
added NES mapper 36
2022-10-28 10:29:54 +02:00
sanni
748b9094df V11.0 2022-10-28 10:26:04 +02:00
Vincent Pelletier
10061beaf5 MD.ino: Move some globals to getCartInfo_MD locals.
Also, bypass sdBuffer when it was the directory copied to another buffer.
Also, factorise yet another pair of loops copying rom name.
This frees 59 bytes of global ram space.
2022-10-28 05:29:44 +00:00
Vincent Pelletier
3c3b399d6a SFM.ino: Move all menu variables from globals to locals.
Saves about 100 bytes of program memory and 80 bytes of global ram.
2022-10-28 05:29:44 +00:00
Vincent Pelletier
3632b06980 SFM.ino: Factorise single-game gamecode retrieval.
Frees 220 bytes of code and 16 bytes of ram.
2022-10-28 05:29:44 +00:00
Vincent Pelletier
67b54a690b All: Factorise title generation from cart.
Fix out-of-bound access when first byte is not an ascii printable
character.
Reduces program space use by 480 bytes.
2022-10-28 05:29:44 +00:00
Vincent Pelletier
3b05046ee9 All: Factorise CRC functions.
This saves 370 bytes of program space.
2022-10-28 05:29:41 +00:00
Vincent Pelletier
84738038e1 NES.ino: Give more time to read "No data found" message. 2022-10-28 05:29:20 +00:00
Vincent Pelletier
337ef94b07 NES.ino: Factorise code.
Mainly, this removes a lot of the logic from selectMapping by reusing the
copy already present in getMapping. As a result, selectMapping is not
expected to be accessed from outside this module anymore.
Also, this factorises several smaller chunks of code found throughout the
module.
Also, get rid of a few easy globals along the way.
Also, move a bit more of NES-specific initialisation and menu display to
the NES.ino module.

This saves about 1490 bytes of code.
2022-10-28 05:29:20 +00:00
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
d81f2c0509 NES.ino: Simplify CRC functions.
It seems crc32EEP only exists because the actual number of bytes read from
file were not checked, hence falling back to smaller reads.
Instead, always read up to the full available buffer, adding to the CRC
only as many bytes as were actually read.
Also, move some related variables to local scope.
Overall, this saves about 50 bytes of code and 80 bytes of global ram.
2022-10-28 05:29:20 +00:00
Vincent Pelletier
b84f63d1dc Cart_Reader.ino: Drop redundant display_Update call.
In this codepath, there will be a second call just after displaying the
CRC, making this call redundant.
For completeness: In the alternate codepath, the next operation does a lot
of IO, so it makes sense to refresh the screen before printing the CRC.
2022-10-28 05:29:20 +00:00
Vincent Pelletier
daec1f3e35 Card_Reader.ino: Optimise get_line for speed
Do fewer calls to readfile->read, especially if the buffer is large enough
to fit an entire line, resulting in less call/return overhead.
2022-10-28 05:29:20 +00:00
Vincent Pelletier
50da6b9da7 Cart_Reader.ino: Assorted cosmetic changes to compareCRC.
Shorten gamename to the number of bytes actually used in the code, more
sizeof() use.
2022-10-28 05:29:20 +00:00
Vincent Pelletier
264d83f383 Cart_Reader.ino: Drop redundant initialisation.
`i` is initialised on the previous line, along with its declaration.
2022-10-28 05:29:20 +00:00
Vincent Pelletier
92f8626687 Cart_Reader.ino: Drop convertPgm(const char* const [], byte, byte)
This avoids code duplication between it and
  convertPgm(const char* const [], byte)
for just 3 callers, when the callers can be easily updated to call the
latter.
2022-10-28 05:29:20 +00:00
Vincent Pelletier
dc391541b4 Cart_Reader.ino: Simplify fileBrowser pagination.
Also, this resolves a warning about `count` being potentially used
uninitialised: when landing in the "Too many files" codepath.
With this simplification, the limit on the number of files is removed. It
is unclear whether that was intentional (maybe this was gating other
issues ?)?
2022-10-28 05:29:20 +00:00
Vincent Pelletier
dc9ee3b01e Cart_Reader.ino: make myDir a variable local to fileBrowser.
It is not used anywhere else.
2022-10-28 05:29:20 +00:00
Vincent Pelletier
d7bbc59607 N64.ino: Remove unused function
This does not save any space as the linker noticed it wasn't used.
Also, point the (commented-out) only caller to the equivalent libc
function.
2022-10-28 05:29:20 +00:00
Vincent Pelletier
b3eb3dd928 GBS.ino: Move gbSmartGames from globals to a local.
Saves 120 bytes of global ram space.
Also, factorise code reading a single entry. This saves about 60 bytes of
code space.
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
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
5357dea659 Print checksum and header CRC32 when searching database 2022-10-27 23:43:46 +02:00
PsyK0p4T
ce436e8a77
Use sg1000.txt database
Use sg1000.txt database to verify/rename SG-1000 dumps
2022-10-27 22:25:34 +02:00
nsx0r
2f9ff59343
added mapper 255 (same as 225)
added mapper 255 (same as 225)
2022-10-27 16:56:46 +02:00
nsx0r
6435a64df8
added NES mappers 240 and 246
added NES mappers 240 and 246
2022-10-27 16:17:49 +02:00
sanni
3f83dcec55
Merge pull request #589 from nsx0r/master
more NES mappers fixes
2022-10-26 21:58:35 +02:00
BacteriaMage
ab5f94af85 fix superfx sram size detection
The header offsets were wrong so the size wasn't correctly computed and generally ended up defaulting to 32KB. Stunt Race FX, at least, uses 64KB and so only half the save data was being read.
2022-10-25 19:54:40 -05:00
nsx0r
cc6494857f
PRG 97 = 180 -> merged code
PRG 97 = 180 -> merged code
2022-10-25 19:59:52 +02:00
nsx0r
9506005c6b
fixed NES mapper 200
fixed NES mapper 200
2022-10-25 12:28:38 +02:00
nsx0r
6590f7e583
added 2 missing mapper labels
added 2 missing mapper labels
2022-10-25 09:33:22 +02:00
sanni
9cabf64a0e
Merge pull request #583 from nsx0r/patch-21
fixed NES mapper 203
2022-10-24 16:36:50 +02:00
nsx0r
afe7440ead
fixed NES mapper 203
fixed NES mapper 203
2022-10-24 15:04:51 +02:00
nsx0r
cda710940c
added NES mapper 202
added NES mapper 202
2022-10-24 14:50:33 +02:00
nsx0r
3396aeb532
added 8 more NES mappers
added NES mappers 58 + 200 + 201 + 203 + 213 + 225 + 229 + 232
2022-10-23 20:57:34 +02:00
nsx0r
707b314a7a
Added NES mapper 60
Added NES mapper 60 for reset-based NROM-128 4-in-1 multicarts.
Tested working on 7 different NES carts.
2022-10-22 09:01:18 +02:00
nsx0r
7264477bc1
added NES mapper 242
added NES mapper 242, tested working with "1992" 190-in-1 multicart (ET-113 PCB), both on FC and NES
2022-10-21 00:43:45 +02:00
nsx0r
c2648157c9
Added NES mapper 235
Added NES mapper 235, tested working with Golden Game 260-in-1 (GS-2018 PCB)
2022-10-20 14:01:23 +02:00
nsx0r
84da646ac9
added NES mapper 62
added NES mapper 62, tested working with a multicart using K-1017P PCB
also expanded max PRG size for these big multicarts
2022-10-19 14:43:42 +02:00
nsx0r
8064397836
added NES mapper 15
added NES mapper 15, tested working with 2 carts using a K-1030P PCB
2022-10-19 11:08:13 +02:00
sanni
57f2833322 Update MD.ino 2022-10-16 14:51:15 +02:00
sanni
3bf6004e79 Fix menu navigation bug 2022-10-13 10:31:17 +02:00
sanni
4badfff458 Move to Arduino IDE 2.0.0 (different auto formatting, no code changes) 2022-10-13 09:49:03 +02:00
nsx0r
e279359f16
added NES mapper 11
added NES mapper 11 (Color Dreams)
tested working with Shockwave
2022-10-12 23:07:43 +02:00
nsx0r
67905aee5a
added mapper 146
not tested but identical to mapper 79 according to https://www.nesdev.org/wiki/NINA-003-006
2022-10-12 22:11:35 +02:00
nsx0r
3bbad14bb8
added NES mapper 79
added NES mapper 79: NINA-03 and NINA-06 circuit boards, produced by American Video Entertainment.
tested working with Deathbots and Dudes with Attitude
2022-10-12 19:49:32 +02:00
sanni
e4adfce8dd
Update README.md 2022-10-12 10:16:08 +02:00
sanni
26d025e82f Update Cart_Reader.ino 2022-10-09 11:38:25 +02:00
sanni
be9e384783 Update Cart_Reader.ino 2022-10-09 11:23:42 +02:00
sanni
1769d2f273 Update Cart_Reader.ino 2022-10-09 10:49:20 +02:00
sanni
21e7468dfd Fix flicker in Controller Test 2022-10-08 23:07:15 +02:00
sanni
a49d8c6590 Remove crc file after successful Controller Pak read 2022-10-08 19:20:21 +02:00
sanni
2c009230cd Fix bugged map select screen on HW3 with new display lib 2022-10-08 18:19:31 +02:00
sanni
bdee198286
Update README.md 2022-10-08 16:25:41 +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
18b37c72d8 Selecting [?] now forwards to manual mapper config for NES 2022-10-07 10:15:18 +02:00
sanni
b7fa65a3de Add MMC3 auto detect 2022-10-06 19:58:04 +02:00
sanni
1a8d127011 Increase romName array size from 17 to 22
Crashed with Lufia II(Estpolis II) before.
2022-10-06 10:20:02 +02:00
sanni
3d7c424344 Update NES.ino 2022-10-04 21:11:13 +02:00
sanni
bef9d0f5f9 Don't log manual mapper selection to file for NES/GBA 2022-10-04 20:30:53 +02:00
sanni
20898cf3d3 Update NES.ino 2022-10-04 15:48:11 +02:00
nsx0r
bb63d912c9
fixed mapper 30
tested working with multiple NES and FC carts using UNROM-512
2022-10-02 13:25:33 +02:00
nsx0r
43c7be5fbd
fixed mapper 93
confirmed working with Fantasy Zone (J)
2022-10-01 14:41:47 +02:00
sanni
6c1c9876b4 Update PCE.ino 2022-09-30 00:35:02 +02:00
Lesserkuma
4cac40e011 Remove debug output 2022-09-28 21:46:21 +02:00
Lesserkuma
e892a8e9f1 Fixed wording 2022-09-28 21:42:05 +02:00
Lesserkuma
19e0837128 Merge branch 'master' of github.com:lesserkuma/sanni_cartreader 2022-09-28 21:33:34 +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
Lesserkuma
9d42ce0964 Add support for the Game Boy MBC6 mapper (save write) 2022-09-28 18:52:52 +02:00
Lesserkuma
f7d9051b95 Add support for the Game Boy MBC6 mapper (save read) 2022-09-28 18:00:16 +02:00
Lesserkuma
38c2262f1c Add support for the Game Boy MBC6 mapper (ROM read) 2022-09-28 15:15:04 +02:00
sanni
956c2d1402 Show NES database CRC while searching 2022-09-28 10:13:48 +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
282f5bc108 Add support for the Game Boy TAMA5 mapper (ROM read) 2022-09-25 23:35:29 +02:00
Lesserkuma
6098700fdd Merge branch 'master' 2022-09-25 17:06:58 +02:00
Lesserkuma
866f0ce2b5 Add support for the Game Boy MBC1M mapper 2022-09-25 16:58:58 +02:00
Lesserkuma
140401161b UI improvements for GB, GBA, N64, SNES 2022-09-25 16:40:21 +02:00
sanni
d086b277ef Add support for NES mapper 45 (thx to skaman) 2022-09-25 11:09:54 +02:00
sanni
6659b84d9d Add support for Benesse Pocket Challenge W Module (thx to skaman) 2022-09-25 10:36:28 +02:00
Lesserkuma
ff758768df Add support for GB MBC5 8 MiB cartridges 2022-09-25 01:46:46 +02:00
Lesserkuma
8713b49706 Use correct mapper type for GB Mani 4 in 1 2022-09-24 15:34:46 +02:00
Lesserkuma
3a9ccf65b0 Add support for the Game Boy M161 mapper 2022-09-24 14:38:55 +02:00
Lesserkuma
77c0daeb6a Update to displaying full ROM title on SNES, N64, GB, GBA 2022-09-24 14:36:13 +02:00
Lesserkuma
37c9f2f026 Display mapper names for MBC7, HuC-1 and HuC-3 (these are currently supported at least for ROM reading) 2022-09-23 21:57:06 +02:00
Lesserkuma
eed3324a56 Display full ROM title for GB and GBA 2022-09-23 21:55:16 +02:00
sanni
96f984c1ac Add 32x database 2022-09-18 20:43:18 +02:00
sanni
c1bc2aa093 Update Cart_Reader.ino 2022-09-18 19:31:37 +02:00
sanni
49fdb0131e Remove auto selecting NES mapper config 2022-09-18 19:26:43 +02:00
sanni
38bc8a59e5 Fix bug in N64 controller functions 2022-09-10 15:57:01 +02:00
sanni
3500d4684e Update N64.ino 2022-09-10 15:15:32 +02:00
sanni
b7cbe8e8d9 Verify MPK file after reading 2022-09-10 14:35:47 +02:00
sanni
07a38f30c2 V9.7: Calculate block CRC during Controller Pak read 2022-09-09 00:21:16 +02:00
PsyK0p4T
46a01069f1
Adding "Retron 3in1" support for GG
- "Retron 3in1" adapter support for GG dumping added
- 32KB GG and SMS carts are now handled same
2022-08-29 14:39:02 +02:00
sanni
7551967b23 Fix CA Led 2022-08-28 08:59:00 +02:00
Niklas Weber
12376730a6 Remove Arduino-RGB-Tools lib, use analogWrite instead 2022-08-27 23:55:30 +02:00
sanni
4c8cfcbae6 Fix dumping Phantasy Star IV 2022-08-24 19:24:30 +02:00
splash5
d506cd5358 Support for dumping "Street Fighter Zero 2" (SDD1 ROM Only) 2022-08-24 11:48:49 +08:00
sanni
d7d49bac75 Add some text when changing size based on database 2022-08-22 21:20:05 +02:00
sanni
c353451e31 Forgot about Tales 2022-08-22 20:50:52 +02:00
sanni
2a409bd848 Update SNES database to 20220812 2022-08-22 17:49:19 +02:00
sanni
3b7d6bd4fc Add Virtual Boy and Watara Supervision (thx to skaman) 2022-08-21 12:28:47 +02:00
sanni
828062963c Add "(3V)" label to N64 and GBA menu entries 2022-08-21 07:54:13 +02:00
sanni
b8eb3b231f Increase file name length limit 2022-08-19 19:56:35 +02:00
sanni
90bbccd959 Update N64.ino 2022-08-19 19:27:28 +02:00
sanni
fb743285fe Only correct SNES ROM size if non-standard size found in database, else trust header info to be correct 2022-08-19 12:16:14 +02:00
sanni
97394939a1 Update N64.ino 2022-08-19 11:50:18 +02:00
sanni
e01ce10faf Add header and ToC checksum calculation for N64 Controller Pak read 2022-08-19 11:48:43 +02:00
sanni
b96c338d79 Reset N64 Controller before accessing Controller Pak 2022-08-18 21:19:58 +02:00
sanni
659eefda63 Improve Controller Pak timing 2022-08-18 19:23:33 +02:00
sanni
e4246d8310 Fix N64 Controller Pak read/write 2022-08-17 22:53:07 +02:00
sanni
4ed007981a
Update README.md 2022-08-08 19:54:00 +02:00
sanni
df9873aea8 Lengthen displayed name in NES database list 2022-08-06 15:08:01 +02:00
sanni
511902eb56 9.4: Add selecting mapping from database list for NES 2022-08-06 14:50:40 +02:00
sanni
92f76b324c Fix word wrap bug on HW5 2022-08-03 21:59:11 +02:00
sanni
0a2e1ab36d Adjust Col/Int for HW3 screen size 2022-08-03 19:59:23 +02:00
sanni
5012ca88ac Fix crash 2022-08-03 19:48:12 +02:00
sanni
b5bff8c1f0 V9.3 finish Coleco-/Intellivision database lookup code 2022-08-03 19:35:45 +02:00
sanni
f002e40aa6 Add back option to dump headerless NES ROM 2022-08-03 12:14:32 +02:00
PsyK0p4T
0fea256251
Fix 32KB GG
32KB GG carts don't use mapper.
Games sush as Columns, Woody Pop etc. are now dumped fine.
2022-07-29 00:47:37 +02:00
sanni
c07a9334fd Small fixes 2022-07-26 23:26:20 +02:00
PsyK0p4T
77557c3f18
Update SMS.ino
Various changes to distinct GG from SMS on screen.
gg.txt is now used for GG crc checks.
2022-07-25 13:16:15 +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
0e56a3451a V9.2 Alpha: Adds Coleco- and Intellivision (thx to skaman) 2022-07-23 11:16:37 +02:00
karim
36c6c657d6 fix reset byte 2022-07-18 20:35:48 -04:00
karim
a7efb5d140 fix flashing unrom-512 to match INL code 2022-07-18 20:29:50 -04:00
PsyK0p4T
b3653b99f6
Progress bar added
Progress bar added during ROM dump
Few wordings edited
2022-07-18 11:24:23 +02:00
sanni
e02a8e49df V9.1 Delete broken entries from SNES database 2022-07-18 09:16:56 +02:00
sanni
e87de58328 V9.0 2022-07-17 14:50:59 +02:00
sanni
c3a9baf957 Fix some newly introduced compile errors 2022-07-08 11:36:03 +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
5580dffff0 Fix adding iNES header when manually selecting mapper 2022-07-07 23:20:45 +02:00
sanni
e80866a5ff Filter out 0xFF checksum 2022-07-07 11:22:16 +02:00
sanni
d6a4101a96 Improve NES cart detection 2022-07-07 10:51:36 +02:00
sanni
7d1f6d2136 Update NES.ino 2022-07-07 00:51:44 +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
9cb0f1fc13 Use CRC1 instead of cart ID in N64 database 2022-07-03 01:03:39 +02:00
sanni
f010f85e6e Update Cart_Reader.ino 2022-06-23 11:17:38 +02:00
sanni
928d82be86 Update MD.ino 2022-06-23 11:01:38 +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
196050257b Add filenames to N64 database 2022-06-17 23:57:29 +02:00
sanni
c9a9e5872e
Add progressbar to SMS 2022-06-16 17:57:00 +02:00
sanni
8b96d250bd Add MD database 2022-06-16 17:17:16 +02:00
sanni
0b70db4241 Add CRC32 database for SMS 2022-06-16 15:49:57 +02:00
sanni
fac6f8eab2 Copy latest log to dump dir 2022-06-16 15:15:43 +02:00
sanni
f0639e20ad Improve SD logfile 2022-06-14 15:25:53 +02:00
sanni
97a233e7ec Add files via upload 2022-06-12 13:16:03 +02:00
sanni
1c6d277e84 V8.5 BETA: Add global log and GB database
Both are disabled in options.h by default since they push the RAM usage over the limit resulting in corrupted LCD output.

Global log outputs all info to OSCR_LOG.txt in the root of the SD.

no-intro calculates the CRC32 of a Gameboy ROM and if found in the database renames it to no-intro naming scheme.
2022-06-12 12:30:52 +02:00
sanni
7a7e5d7c73
Update README.md 2022-06-09 01:44:49 +02:00
sanni
ceca79079c Add support for HW5 2022-06-09 00:35:11 +02:00
sanni
8188a64577 Update Cart_Reader.ino 2022-06-08 22:34:28 +02:00
sanni
a27cc96ffd
Update Cart_Reader.ino 2022-06-08 22:30:10 +02:00
sanni
705373337e
Add files via upload 2022-06-08 22:28:26 +02:00
sanni
198633fd2b
Update options.h 2022-06-05 15:49:45 +02:00
splash5
77eace5937 Support reading game/save using MMM01 2022-05-14 15:22:05 +08:00
sanni
85c1274e27
Update options.h 2022-05-04 12:52:52 +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
sanni
ca70b9febd Fix Progressbar and Erase while flashing GB cart 2022-04-11 14:12:12 +02:00
sanni
a46358954f Fix typos 2022-04-11 09:36:28 +02:00
sanni
b501556954 Remove toggling CS in GB flash function 2022-04-11 00:28:18 +02:00
sanni
1cc7712b9e V8.2: Fix GB CAM bug 2022-04-10 22:44:59 +02:00
sanni
d3173ef816 Add basic support for SG-1000
For now just for cartridges with no save or mapper chip and rom size up to 32KB.
2022-03-21 01:01:35 +01:00
sanni
4d50065f2d
Update Cart_Reader.ino 2022-03-15 19:33:44 +01:00
sanni
f6eef581bc
Update Cart_Reader.ino 2022-03-14 17:49:32 +01:00
sanni
e61191ae05
Update Cart_Reader.ino 2022-03-14 17:48:35 +01:00
sanni
430f8e3952 Add option to set rom size manually for SMS 2022-03-10 15:05:20 +01:00
sanni
f62a215bb0 Change NES menu 2022-03-08 21:01:38 +01:00
sanni
b578b4c47e Change NES menus 2022-03-08 20:44:14 +01:00
sanni
02e78fa06b Add menu for GB Camera Flashcart
This one: https://github.com/HDR/Gameboy-Camera-Flashcart
2022-03-08 18:13:04 +01:00
sanni
6fe2eeffb3 Fix NES LED/LCD conflict with HW4 2022-02-27 13:19:35 +01:00
Kreeblah
75e85af20f
Automatically create snes_clk.txt if it doesn't exist 2022-02-26 21:20:33 -08:00
splash5
92bca32a48 Showing progress bar when reading ROM 2022-02-26 22:14:03 +08:00
splash5
4a0cb10900 Add more cart info
Correct COLOR flag for BANC09 and BANC0E

Add info for Mobile WonderGate v1.1 cart

Add developer name "SCC"
2022-02-26 22:09:03 +08:00
splash5
9732c4a9dc Change HW4 to use WS ADAPTER V2 2022-02-26 22:00:31 +08:00
Kreeblah
8e155cf97b
Fixed build warnings 2022-02-24 15:59:25 -08:00
sanni
9eb7ba5d7c
Update Cart_Reader.ino 2022-02-23 21:09:19 +01:00
sanni
c0abeac385 V7.7: Improve GB Camera dumping (thx to avapug) 2022-02-23 15:08:25 +01:00
sanni
2ff3e84d6f Update GB.ino 2022-02-16 16:24:06 +01:00
sanni
5a59ed155b Use already existing sdBuffer array 2022-02-15 12:59:25 +01:00
sanni
7b92953e0b Reduce ram usage by a small amount 2022-02-15 12:09:21 +01:00
sanni
bb4ae30151 Update N64.ino 2022-02-12 13:24:05 +01:00
sanni
11b8493c92 If name consists out of all japanese characters use cart id 2022-02-12 13:15:53 +01:00
sanni
5f8e8e8d28 Fix LED not blinking in Serial Monitor 2022-02-08 14:12:40 +01:00
sanni
5cb6574868
Update FLASH.ino 2022-01-19 13:32:15 +01:00
sanni
0081ad7b2f flash ID bugfix 2022-01-19 13:15:59 +01:00
sanni
92e890f608 Quickfix 2022-01-13 17:28:55 +01:00
sanni
eabb658be8 Clear OLED screen buffer at power on and reset 2022-01-13 17:22:16 +01:00
sanni
6a830e651d Print first 40 bytes if flashrom is unknown 2022-01-13 17:07:58 +01:00
sanni
47812606aa Improve compatibility with FRAM mods 2021-12-29 11:55:27 +01:00
sanni
aa5708c79e Update README.md 2021-12-16 20:14:58 +01:00
majorpbx
78295be022 GameShark Dump Compatability Update
This has been confirmed to allow dumping v1.07, v1.09, v2.0-2.21, v3.2-3.3 with the below flash memory chips. Versions not listed may not work correctly or even be supported.

SST 29LE010
SST 28LF040
AMTEL AT29LV010A
SST 29EE010
2021-12-10 23:45:42 -05:00
scrap-a
635ad45b66 Fix for Fantasy Zone (J) (V1.0) 2021-12-09 01:21:01 +09:00
sanni
bda18a4a8b Fix text 2021-11-29 20:11:44 +01:00
sanni
45f46704c9 Fix status LED 2021-11-29 14:32:37 +01:00
sanni
cac5392a07 V7.3: more LCD bugfxes 2021-11-29 13:10:04 +01:00
sanni
8a40898544 Add S29GL064M to flash.ino
Thanks to BASSIX
2021-11-27 19:46:02 +01:00
sanni
800b990663 Update README.md 2021-11-20 12:36:31 +01:00
sanni
eef1c6e8cc Add check if Clockgen is working 2021-11-18 14:55:50 +01:00
sanni
ed3663a21f Fix Progressbar line break on LCD 2021-11-17 21:49:20 +01:00
sanni
7d49814fee Update Cart_Reader.ino 2021-11-17 21:33:50 +01:00
sanni
dfec64917d V7.2: LCD bugfix #2 2021-11-17 21:31:18 +01:00
sanni
21736a241a V7.2: LCD bugfix 2021-11-17 20:13:24 +01:00
sanni
2d165f93a4 Update Cart_Reader.ino 2021-11-15 21:18:51 +01:00
sanni
aa0d9e496b Prepare for new hardware version 2021-11-15 12:34:18 +01:00
sanni
3779833004 Update options.h 2021-11-13 12:06:42 +01:00
CaitSith2
bbe6e3cceb Add Clock generator calibration option 2021-10-28 14:26:10 -07:00
sanni
3f4d8e9728 V7.1 2021-10-27 21:28:41 +02:00
sanni
aa3ea8fa8c Add second page to main menu for LCD 2021-10-27 20:59:57 +02:00
sanni
8cb11822d1 Reduce LCD contrast and LED brightness 2021-10-26 22:19:10 +02:00
sanni
147e8edeee Add 10 second button press for rotary encoder 2021-10-26 21:57:21 +02:00
sanni
4cc94fd846 Fix filebrowser for LCD 2021-10-26 19:26:59 +02:00
sanni
5a3b311feb Fix Led and missing word wrap 2021-10-26 17:13:42 +02:00
sanni
d64ce10391 Remove bitmaps 2021-10-26 12:38:29 +02:00
sanni
852cb8f047 Port ControllerTest to MKS MINI12864 2021-10-26 11:27:07 +02:00
sanni
dfe6624e76 Make selection dot bigger 2021-10-25 22:06:08 +02:00
sanni
197bd3fad9 bugfix 2021-10-25 18:03:16 +02:00
sanni
05deb817ac V7.0: Add basic support for MKS MINI12864 V3
https://www.aliexpress.com/item/1005003098864693.html
2021-10-24 00:41:18 +02:00
majorpbx
7a5d3f91cd Update README.md
Added RTClib link to the Readme.
2021-10-17 22:05:20 -04:00
sanni
a981bb0c3e Make clockgen calibration optional 2021-10-14 09:53:07 +02:00
sanni
0c42af0941 Make slow crc calculation default for N64 2021-10-13 21:45:15 +02:00
sanni
1d55ee1b21 Update Cart_Reader.ino 2021-10-02 08:47:57 +02:00
sanni
d5b1d87df4 Merge pull request #265 from majorpbx/patch-6
Update Cart_Reader.ino
2021-10-02 08:45:42 +02:00
sanni
19b81a44d2 Merge pull request #264 from majorpbx/patch-5
Update N64.ino
2021-10-02 08:45:33 +02:00
sanni
954e71089a Merge pull request #263 from majorpbx/patch-4
RTC.cpp
2021-10-02 08:45:20 +02:00
majorpbx
451daf1502 Update Cart_Reader.ino
Added support for SD Card Add-on to use RTC for Creation/Modification Date/Time stamps.
Added code to support RTC such as startup, automatically updating time based on date compiled, and allowing for any script to add a Date/Time stamp.
2021-10-02 01:29:37 -04:00
majorpbx
f1c6d29824 Update N64.ino
Added CRC 1 and 2 reading support for N64 ROMs.
Added RTC support for N64 ROM dumps.
2021-10-02 01:25:44 -04:00
majorpbx
63f54ffeb2 RTC.cpp
To complete RTC support for DS3231 only at this time.
2021-10-02 01:18:21 -04:00
majorpbx
c30047c5f6 RTC.h
To add support for RTC to all scripts for this project.
2021-10-02 01:16:58 -04:00
sanni
cc1668a2e3 Update list of contributors 2021-10-01 12:07:33 +02:00
majorpbx
2492f7f3ae Update options.h
Added definition for RTC_installed and left it default disabled. Enabling will not hurt anything but without an RTC it will be pointless.
2021-09-26 16:14:03 -04:00
scrap-a
f6a3eb65a8 fix typo and comment 2021-09-22 01:18:52 +09:00
scrap-a
96743c7a48 Add support for Sonic & Knuckles Lock-on games 2021-09-20 21:45:59 +09:00
sanni
b63fb0584b Update Cart_Reader.ino 2021-09-03 10:21:02 +02:00
PsyK0p4T
f4fc7fa6ce Update NGP.ino
New feature added, save flash chip report file to SD containing:
- software basic info (game, version...)
- chip IDs (maker, device code)
- memory sectors protection status (game and save data)
2021-08-26 00:52:28 +02:00
PsyK0p4T
edc238599f Update NGP.ino
Small improvments
2021-08-19 21:09:19 +02:00
PsyK0p4T
a6f3e8c90b Update NGP.ino 2021-08-19 17:38:16 +02:00
PsyK0p4T
8fb0a2b11a Update NGP.ino
- Manual rom size selection added before dumping when flash chip is unknown
- Code display rearranged
2021-08-18 01:00:07 +02:00
PsyK0p4T
3d642ba8a2 Update NGP.ino
- Comments and wordings added
- 32Mbits games support added
- Display chip ID in case of unknown values are found
2021-08-17 01:23:33 +02:00
sanni
2ff59bffb9 Update N64.ino 2021-08-04 13:15:38 +02:00
sanni
2a3963cb64 Update options.h 2021-08-03 21:12:36 +02:00
sanni
6dee8d67cb Update Cart_Reader.ino 2021-08-03 17:29:39 +02:00
sanni
d825da3b10 Update Cart_Reader.ino 2021-08-03 17:27:35 +02:00
sanni
84252079fe Update Cart_Reader.ino 2021-08-03 17:21:02 +02:00
sanni
9f675be766 Update Cart_Reader.ino 2021-08-03 13:04:40 +02:00
sanni
8132fcab78 Create n64log.txt in /N64/ROMS/ 2021-08-03 10:16:12 +02:00
sanni
92b7b7bdef V6.6 Add slow CRC32 calculation option for N64
In option.h add // in front of #define fastcrc and remove // in front of #define slowcrc to change CRC32 calculation to slow.

// Define CRC method for dumping N64 ROMs
//#define fastcrc //crc will be calculated during dumping from memory
#define slowcrc // crc will be calculated after dumping from SD card
2021-08-02 18:18:34 +02:00
sanni
07ec1f121a Change N64 CRC Error message 2021-08-01 23:33:59 +02:00
Dakkaron
081a484629 Merge branch 'sanni:master' into master 2021-07-22 15:47:58 +02:00
Dakkaron
3e18f4f28c Removes write errors 2021-07-22 15:16:38 +02:00
Dakkaron
80ff348b03 Typo 2021-07-22 14:42:01 +02:00
sanni
f8cf2b69a8 Update GB.ino 2021-07-22 10:18:25 +02:00
sanni
b5fd53a39d V6.5 Add GB Flash Submenu 2021-07-22 10:13:13 +02:00
sanni
5cd66122be Merge pull request #183 from Dakkaron/master
GB/GBC: Unified flashing for MBC3/MBC5 and added option to automatically flash ROM and SAVE
2021-07-22 10:02:33 +02:00
Dakkaron
78d6e9dde3 Adds romBanks <= flashBanks check 2021-07-21 23:02:45 +02:00
Dakkaron
12b3c7ebe0 Fixes flashing MBC3; flash device id detection replaced by feature detection, adding compatibility for many repro flash carts. 2021-07-21 22:46:34 +02:00
sanni
727b49f4e6 Update N64.ino 2021-07-21 16:22:57 +02:00
PsyK0p4T
dc2ea92496 Update NGP.ino
small fixes
2021-07-11 10:55:23 +02:00
Dakkaron
cf489d1b40 Merge branch 'sanni:master' into master 2021-07-10 00:31:49 +02:00
PsyK0p4T
18128f1063 Update NGP.ino
4M, 8M, 16M chips support added
RomVersion detection fixed
SystemType detection (NGP Monochrome or NGP Color) added
2021-07-09 00:24:21 +02:00
Dakkaron
16af53b613 Possible fix for flashing MBC5. Shouldn't affect MBC3. 2021-07-07 13:48:16 +02:00
Dakkaron
233b89fc91 Now reports when no save has been found on "Flash ROM and save"
(cherry picked from commit 9cf556d981b218c1bd7f56b30cc6afada593a0cf)
2021-07-02 14:19:23 +02:00
Dakkaron
f554adccce Combines "Flash MBC3" and "Flash MBC5"; adds "Flash cart and write latest save" 2021-07-02 12:27:15 +02:00
Dakkaron
34e7f90d70 Extracts user interaction from writeSRAM_GB() and writeFlash_GB() to allow for more flexibility 2021-07-02 08:11:44 +02:00
sanni
9fb439a27f Update version number 2021-06-09 11:30:55 +02:00
sanni
527f3562ed V6.4: Add ExLoRom and ExHiRom flash options
- LoRom (P0) will write up to 8MB starting from file 0x0 to flashrom 0x0.

- HiRom (P0) will write up to 4MB starting from file 0x0 to flashrom 0x0.

- ExLoRom (P1) will write the first 4MB starting from file 0x0 to flashrom 0x400000. And then a second block up to 4MB from file 0x400000 to flashrom 0x0.

- ExHiRom (P1) will write the first 4MB starting from file 0x0 to flashrom 0x400000. And then a second block up to 4MB from file 0x400000 to flashrom 0x0.
2021-06-09 11:28:39 +02:00
sanni
78b5f7cb10 Update Cart_Reader.ino 2021-06-02 12:30:59 +02:00
sanni
96ed5efbf4 Add chip erase for unknown N64 repro 2021-05-27 17:50:19 +02:00
sanni
6f849921bb V6.3: Add sector size menu for N64 repro 2021-05-27 15:21:24 +02:00
sanni
f96f854b4e Add 64 byte write buffer for N64 repro 2021-05-26 17:07:26 +02:00
sanni
0c99780c5d V6.2: Add option to manually config N64 repro 2021-05-26 16:29:57 +02:00
sanni
c343094966 Add option to force A23 to high while flashing HiROM repros
A23-> low enables P0 and A23->high enables P1 flashrom.
2021-05-12 17:42:49 +02:00
Kreeblah
2c6c1c7f07 Updated snes_clk for exFAT changes 2021-04-28 00:44:11 -07: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
72fa1ea8b4 V5.7: Add Clockgen option to N64 Eeprom
Uncomment #define clockgen_installed in options.h and switch CLK1 switch to ON position. With Adafruit clockgen the eeprom now runs at the correct 2Mhz.
2021-04-15 16:26:29 +02:00
sdhizumi
540542ab23 SMS: add a strange checksum from The Pro Yakyuu '91 (Game Gear). 2021-04-11 00:21:08 +09:00
sanni
202057879e Fix Ramtron GB Save read/write
- [Ramtron datasheet](https://github.com/sanni/cartreader/files/6263159/001-86207_FM18W08_256-Kbit_32_K_8_Wide_Voltage_Byt-476756.zip)
- [Write/Read capture](https://github.com/sanni/cartreader/files/6263148/write_read_gameboy_sram.zip) of the changed GB.ino from [Logic Analyzer](https://downloads.saleae.com/logic2/Logic+Setup+2.3.24-master.exe)
2021-04-06 14:20:32 +02:00
Kreeblah
8c21071b99 Corrected type 2021-02-07 23:07:02 -08:00
Kreeblah
cf477ee629 Implemented custom atoi methods, as the included one only has 16-bit precision 2021-02-07 20:34:39 -08:00
Kreeblah
97e5e21962 Switched to 32-bit sizes 2021-02-07 19:07:47 -08:00
Kreeblah
ebcaeee36b Corrected miscalculated CRC32 for headered NES ROMs 2021-01-31 23:53:51 -08:00
Kreeblah
ab9490b880 Output unheadered NES ROMs as CART.bin 2021-01-31 17:12:40 -08:00
sanni
1bf1d2b720 Up version number and default to clock correction factor 0 2021-01-31 13:31:23 +01:00
Kreeblah
b5847b2ab1 Additional checks to reduce the possibility of user error with snes_clk.txt clock offset file. 2021-01-31 00:16:16 -08:00
Kreeblah
b90aa90131 Fixed return value 2021-01-26 23:09:17 -08:00
Kreeblah
c471a9161e Added attempt to load SNES clock offset from /snes_clk.txt before defaulting to -16000 2021-01-26 23:05:25 -08:00
Kreeblah
fb7bf59668 Added additional comments about functions returning pointers which need to be freed after use 2021-01-26 01:29:37 -08:00
Kreeblah
dcafe9b5a9 Tested and verified NES 2.0 header functionality 2021-01-26 00:16:08 -08:00
Kreeblah
01402abfa2 Corrected syntax 2021-01-25 15:06:58 -08:00
Kreeblah
592fa7b83e Corrected syntax 2021-01-25 15:04:33 -08:00
Kreeblah
8077e1e21b Corrected syntax 2021-01-24 14:20:05 -08:00
Kreeblah
12b4f81c9f Added additional check for header retrieval 2021-01-24 02:15:25 -08:00
Kreeblah
77cbb25b67 Corrected file reading calls 2021-01-24 02:13:58 -08:00
Kreeblah
ed293c2628 Simplified char to nibble function 2021-01-24 02:08:02 -08:00
Kreeblah
358ebf88f4 Initial code for NES 2.0 database support 2021-01-24 01:44:14 -08:00
sanni
5ee9997ea0 Fix Megadrive Zero Wing (J)
thx to tamanegi_taro
2020-12-10 12:04:25 +01:00
sanni
1b74a17813 Update Cart_Reader.ino 2020-11-03 11:19:16 +01:00
sanni
9eca87d975 V5.5: Reduce memory usage in Filebrowser 2020-10-28 18:44:13 +01:00
jiyunomegami
1e3833fe8d retrode SMS plugin support, SMS cart size detection 2020-10-18 02:12:09 +09:00
jiyunomegami
d7a133188d actually recheck DQ 7 in busyCheck29F032 2020-10-17 22:48:35 +09:00
sanni
4e590f7114 Merge pull request #54 from jiyunomegami/master
Merge commits by jiyunomegami
2020-08-19 20:44:57 +02:00
splash5
64173ad2ed Add more developerId
Fix some game could not dump properly
2020-08-16 00:05:58 +08: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
2096ec7597 writeFlash29F032: Retry writing, for when /RESET is not connected (floating) 2020-08-14 19:03:42 +09:00
jiyunomegami
712c4cc83d busyCheck29F032 changes to match the datasheet 2020-08-14 19:02:37 +09:00
jiyunomegami
4c6fb7bd8c Detect Flash ID 04D5 MBM29F080C 2020-08-14 18:58:20 +09:00
jiyunomegami
80c19a0bc4 fix verifySram_MD and writeSram_MD 2020-07-13 19:23:51 +09:00
jiyunomegami
83b53b47bd Correct comment about segaSram16bit 2 2020-07-12 21:14:58 +09:00
jiyunomegami
d07d80a4b7 pad the extra space like the retrode does when segaSram16bit is 2 2020-07-12 20:21:38 +09:00
jiyunomegami
f3b2fe8252 SRAM detection fix for Psy-o-blade, segaSram16bit setting in md.txt 2020-07-12 00:14:37 +09:00
jiyunomegami
e73ee4b171 modular compilation fixes 2020-07-11 20:39:12 +09:00
sanni
4eaac930ed Update README.md 2020-07-06 08:33:49 +02:00
jiyunomegami
39be20d32b SMS SRAM save data writing 2020-07-05 01:42:05 +09:00
jiyunomegami
29093b1bf3 add #ifdef enable_XXX check to each module 2020-07-05 00:07:14 +09:00
jiyunomegami
cb938a65bc SMS retrode mode toggle and SRAM save data reading 2020-07-05 00:05:06 +09:00
jiyunomegami
82ea59b942 add options.h 2020-07-04 22:37:02 +09:00
jiyunomegami
6d0ddda980 Make the retrode mode work after using the normal mode by accident 2020-07-04 22:33:50 +09:00
jiyunomegami
b0d8bf15ee add enable_XXX define for each module 2020-07-04 21:02:34 +09:00
jiyunomegami
d22f35b2ef use local sramBanks variable in SNES.ino 2020-07-04 20:57:54 +09:00
jiyunomegami
bc3dd3dd13 Retrode SMS/GG adapter support 2020-07-04 19:16:14 +09:00
jiyunomegami
c385323ce3 mapper 26 Madara support 2020-07-04 02:01:35 +09:00
jiyunomegami
169b853f1b saveType 5 for Dragon Slayer Eiyuu Densetsu 2020-07-04 02:01:03 +09:00
jiyunomegami
61b439e09a add print_Msg_PaddedHex32 function 2020-07-04 01:25:52 +09:00
jiyunomegami
9a77da1e66 Only use the lower half of bramCheck.
Was reading 0x0104 and 0x0704 from a Japanese RAM cart,
when B2 /MRES and B27 /VRES were not connected.
2020-07-03 23:48:16 +09:00
jiyunomegami
c9938b177f print MD bramCheck and chksum using print_Msg_PaddedHexByte 2020-07-03 22:19:47 +09:00
jiyunomegami
b1ad42bded add print_Msg_PaddedHexByte function 2020-07-03 22:15:26 +09:00
sanni
4d6594c0aa V5.3: Update snes.txt database
Created with this Processing script parsing the No-Intro set from Dezember 2019 with all beta, proto, unlicensed, sample and missing checksun ROMs removed:

https://www.dropbox.com/s/379g607k6ka8bfq/snesdata.pde?dl=1
2020-06-30 12:52:08 +02:00
sanni
ea6722d0c5 V5.2: Fix bug in GB code 2020-06-18 14:33:21 +02:00
sanni
c9f5c9ac36 V5.1: Fix Mapper 21 carts
Fix for Wai Wai World 2 (VRC4a) and Ganbare Goemon Gaiden 2 (VRC4c)
Thanks to skaman
2020-05-25 07:34:18 +02:00
sanni
8794e4c878 Update Cart_Reader.ino 2020-05-13 13:05:10 +02:00
sanni
615ef8d68c V5.0: Add suport for NeoGeo Pocket
Many thanks to splash5
2020-05-12 13:52:03 +02:00
sanni
cfb9e39cbf V4.9: Improve WS Initialization
Thanks to skaman.
The code does a deeper sanity check of the header data when initializing the cart.  It avoids having to constantly press buttons to reinit the cart.  Carts can still not initialize the MBC properly but that's normal for the WonderSwan.  Clean the pins on the cart and check that the cart and adapter are seated properly.  If the cart doesn't unlock immediately, then let the sketch run for a bit.  For stubborn carts, a power cycle might be necessary.
The sketch fixes a few typos, removes some trailing spaces, and adds another ROM size (used by Benesse Pocket Challenge V2 carts).
2020-04-20 10:35:48 +02:00
sanni
7b263115a5 V4.8: Add Reset Option to sub menues 2020-04-12 11:11:10 +02:00
sanni
aa4621a54d V4.7: Increase SA1 compatibility
Somehow a lower clock seems to work better, maybe the clock generator draws less power this way?!
2020-03-19 18:21:41 +01:00
sanni
83aacd4c66 Update SNES.ino 2020-03-17 16:38:44 +01:00
sanni
5cec7afd1f V4.6: Increase SA1 compatibility 2020-03-17 14:09:47 +01:00
sanni
f9ca4f9108 V4.5 Fix VRC4e carts (Mapper 23)
The code change only affects readCHR().  It shortens the check to a single byte but that is enough to identify the four VRC4e carts.  The original list of VRC4e carts that I referenced only showed Boku Dracula-kun and Tiny Toon Adventures.  I found out that all four of the Mapper 23 VRC4 carts use the VRC4e submapper.  Mapper 23 includes VRC4f but there are no known examples (BTW, VRC4f = VRC2b).
2020-03-03 11:16:27 +01: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
sanni
0c54882042 V4.3: Add BS-X sram read/write thx to skaman 2019-12-17 19:53:21 +01:00
sanni
b24f4c0b01 Upload Files
More info:
Also added Pocket SNES PCB by Niltonn
https://forum.arduino.cc/index.php?topic=158974.msg4381465#msg4381465
2019-11-27 10:02:50 +01:00
sanni
b856459fee Update NES.ino (thx to skaman)
Changes:
Adds Mapper 30 (NESmaker) support with read/write Flash support.
Adds PRG-RAM read/write support for Mappers 4 (MMC6), 19, 80, 82.
Adds SRAM support for Family Basic (Mapper 0) carts.
2019-11-25 11:53:45 +01:00
sanni
1f2b9dcc4a
Forgot to advance version number after fixing var index to type int a couple of weeks ago 2019-11-12 09:49:24 +01:00
sanni
087585f8f6 Add cycle cart for MD multi game carts
Thanks to BASSIX
2019-10-31 08:43:10 +01:00
sanni
20fc59f89b
Merge pull request #49 from splash5/master
Add WonderSwan adapter PCB and schematics
2019-10-29 13:58:03 +01:00
splash5
d615f433f3 Add WonderSwan adapter PCB and schematics 2019-10-29 20:30:37 +08:00
Phil Eichinger
8e7ae83576 Add support for Intel PC28F256M29
Tested with 2 repro carts
2019-10-24 21:58:32 +02:00
splash5
1fc7bb27e9 Adjust clk count for unlocking MMC 2019-10-18 22:29:48 +08:00
splash5
7f5088cc2a Merge remote-tracking branch 'sanni/master' 2019-10-18 13:05:42 +08:00
splash5
e3a70af141 Add developerId 0Bh(SUM) 2019-10-18 13:02:58 +08:00
splash5
55356796db Fix typo in developer name 2019-10-18 12:27:45 +08:00
splash5
e0e4cad606 Clean up code 2019-10-18 12:20:34 +08:00
splash5
651c45b0db Add some developer name 2019-10-18 12:10:14 +08:00
splash5
c45bdbf07d Change IO? pin as input
Simplify MMC unlock procedure
2019-10-18 11:31:35 +08:00
splash5
7deb455d41 Blinking LEDs on cartridge (only for BANC33) 2019-10-18 01:54:30 +08:00
sanni
d4935ef326 Change var index to type int 2019-10-17 17:14:08 +02:00
splash5
025ca2461c Fix wrong block address 2019-10-17 12:37:33 +08:00
splash5
3f0fc3b577 Add support for flashing witch os
(fbin from witch kit)
2019-10-15 12:00:35 +08:00
splash5
dcc0fa88d2 Correct menu item count 2019-10-14 11:19:01 +08:00
splash5
423f8dfb19 Add some description about cartridge pinout 2019-10-14 01:26:50 +08:00
splash5
5e77331912 Patching header for some games
(No affect on rom file dumping)
2019-10-13 02:02:49 +08:00
splash5
92c7a41c97 Fix typo again 2019-10-11 22:13:10 +08:00
splash5
5c1d28a0d6 Fix typo 2019-10-11 21:15:59 +08:00
splash5
1771104fe5 Add WonderSwan support 2019-10-11 20:57:23 +08:00
splash5
0712e8e5ae Add "showCartInfo_GB" function 2019-10-07 11:34:55 +08:00
splash5
6fcd374e2a Add support for AM29F400AB, E28FXXXJ3A and AM29LV033C
(E28FXXXJ3A and AM29LV033C need custom adapter)
2019-10-07 11:34:41 +08:00
splash5
991c7f8d6c Fix buffer overflow in fileBrowser 2019-10-07 11:34:22 +08:00
sanni
faccad90c3 Move needed libraries into Releases 2019-10-04 12:57:52 +02:00
sanni
ee730623fc Add Realtec Mapper to MD.ino thx to skaman 2019-09-29 12:33:02 +02:00
sanni
5da151f072 Update SMS.ino 2019-09-27 23:01:45 +02:00
sanni
34d6871f7d Set eeprom location for folder number to 0 again 2019-09-27 17:38:42 +02:00
sanni
1fe0b53a0d V4.0: Add complete N64 Controller Test 2019-09-27 17:06:17 +02:00
sanni
f6f442f47a
Update README.md 2019-09-27 09:36:30 +02:00
sanni
adb2b6c56f
Update Cart_Reader.ino 2019-09-27 09:31:11 +02:00
splash5
edcbc842b3 Add support for MBM29F800BA/AM29F800BB and LH28F016SUT 2019-09-26 18:33:08 +08:00
splash5
a5f629df78 Add support for EMS GB Smart 32M flash cart 2019-09-26 13:38:03 +08:00
sanni
5d49302305
Update GB.ino 2019-09-22 08:33:55 +02:00
sanni
5ff1705faa
Update FLASH.ino 2019-09-22 08:32:58 +02:00
sanni
96ea8efb52
Update SMS.ino 2019-09-20 14:50:25 +02:00
sanni
c681fbaec3 V3.9: Add SMS 2019-09-20 14:30:57 +02:00
sanni
026e774b43 Update SMS.ino 2019-09-20 11:50:54 +02:00
sanni
4a2d3d81dc Update SMS.ino 2019-09-20 11:16:53 +02:00
sanni
4555ce1da7 Update SMS.ino 2019-09-19 16:06:19 +02:00
sanni
8f2346f145 Update SMS.ino 2019-09-19 13:42:46 +02:00
sanni
6cb577e19f
Update NES.ino 2019-09-18 22:43:49 +02:00
Modman
1128720bdd
Update N64.ino
Included new strcmp function to ignore case when comparing checksums.
2019-09-17 13:01:05 -07:00
Robert Neumann
60cfbda563 N64: Blink LED for EEP operations (they do take a while and the blinking tells users that there is progress); silence warning on the bitmaps; convert use of Arduino's "not" to exclamation mark 2019-09-13 18:13:37 +02:00
Robert Neumann
29e8109606 SNES, MD: avoid dumping/writing 0 Byte files to SD card 2019-09-11 20:02:26 +02:00
sanni
ec13a58ec3 Get rid of compiler warning 2019-09-10 17:38:56 +02:00
sanni
41e9517504 Add tip to use Arduino AVR Boards Version 1.6.21
Current Arduino IDE has a bug preventing compiling at random times.

See: https://forum.arduino.cc/index.php?topic=595550.0
2019-09-08 20:41:56 +02:00
sanni
8c3ad0aed9 Update NP.ino 2019-09-08 20:27:05 +02:00
sanni
ece384c2dc Update Cart_Reader.ino 2019-09-08 20:21:46 +02:00
sanni
9b2011c95c V3.8: Fix SF Memory 2019-09-08 15:53:46 +02:00
sanni
f79c169782 V3.7: Add MX26L6420
thanks to Ice Man for testing
2019-09-07 15:57:37 +02:00
sanni
b250fffbc4 Update FLASH.ino 2019-09-07 14:13:39 +02:00
sanni
1e6a37858d Update NES.ino 2019-09-05 22:18:18 +02:00
Robert Neumann
6c2b9a9732 various: work on SNES SA-1 init / reset; LED: skip red in attract mode, as red usually indicates an error to the user 2019-09-05 15:43:27 +02:00
sanni
b8552090c8
Update Cart_Reader.ino 2019-09-05 10:34:14 +02:00
sanni
28d37cd661
Update README.md 2019-09-05 08:18:19 +02:00
sanni
cb540d5ee7
Fix typo 2019-09-05 08:14:51 +02:00
sanni
bbdff75a6f V3.6: Code Clean-up and NES integration(untested)
Copy&pasted all the functions from "Famicom Dumper" by skaman into NES.ino and modified them to fit the enviroment.
Not tested yet.
2019-09-05 00:48:39 +02:00
Robert Neumann
1d6bd2ae86 various: forward declaration for "T" type used in EEPROM functions, necessary for non Arduino IDE 2019-09-02 20:11:08 +02:00
sanni
d39a438c4d Update MD.ino 2019-09-02 18:34:25 +02:00
sanni
1cafca33f7
Update MD.ino 2019-09-02 18:27:33 +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
Robert Neumann
85992eff80 SNES: blink LED while dumping (as with the other modules); show total elapsed time, including the checksum check 2019-08-31 02:51:02 +02:00
sanni
f6390d1604 V3.4: Add MD Checksum and autoformat all ino files 2019-08-30 20:20:41 +02:00
Robert Neumann
ad7e188311 speedup and progress bar for MD module; display the ROM stored CRC in overview 2019-08-29 23:46:15 +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