sanni
78aa7a3d34
Update NES.ino
2022-11-01 23:32:46 +01:00
sanni
d7082a2366
Add fast scrolling through NES database
...
Fast scrolling skips 30 entries at once.
Also fixed lockup when browsing backwards on first database entry.
2022-11-01 22:26:53 +01: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
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
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
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
sanni
a8a981e137
Auto format
2022-10-28 15:02:51 +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
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
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
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
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
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
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
2c009230cd
Fix bugged map select screen on HW3 with new display lib
2022-10-08 18:19:31 +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
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
956c2d1402
Show NES database CRC while searching
2022-09-28 10:13:48 +02:00
sanni
d086b277ef
Add support for NES mapper 45 (thx to skaman)
2022-09-25 11:09:54 +02:00
sanni
49fdb0131e
Remove auto selecting NES mapper config
2022-09-18 19:26:43 +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
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
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
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
8b96d250bd
Add MD database
2022-06-16 17:17:16 +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
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
6fe2eeffb3
Fix NES LED/LCD conflict with HW4
2022-02-27 13:19:35 +01:00
Kreeblah
8e155cf97b
Fixed build warnings
2022-02-24 15:59:25 -08:00
sanni
bda18a4a8b
Fix text
2021-11-29 20:11:44 +01:00
sanni
cac5392a07
V7.3: more LCD bugfxes
2021-11-29 13:10:04 +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
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
sanni
e78d6e99e0
V6.1: Add support for exFAT SD cards (>32GB)
2021-04-26 18:20:30 +02: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
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
jiyunomegami
e73ee4b171
modular compilation fixes
2020-07-11 20:39:12 +09:00
jiyunomegami
29093b1bf3
add #ifdef enable_XXX check to each module
2020-07-05 00:07:14 +09:00
jiyunomegami
c385323ce3
mapper 26 Madara support
2020-07-04 02:01:35 +09: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
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
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
d4935ef326
Change var index to type int
2019-10-17 17:14:08 +02:00
sanni
6cb577e19f
Update NES.ino
2019-09-18 22:43:49 +02:00
sanni
1e6a37858d
Update NES.ino
2019-09-05 22:18:18 +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
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