Commit Graph

1289 Commits

Author SHA1 Message Date
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
sanni
7cd5734aa5
Merge pull request #570 from nsx0r/patch-14
added NES mapper 15
2022-10-19 11:36:02 +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
80886549c5 Change N64 controller connector pitch to 2.54mm 2022-10-17 14:29:40 +02:00
sanni
57f2833322 Update MD.ino 2022-10-16 14:51:15 +02:00
sanni
9d80d2497b
Change Street Fighter Alpha/Zero 2 to 64 banks, fix Star Ocean typo 2022-10-14 10:16:59 +02:00
sanni
f5aa69f827
Change Star Ocean to 96 banks 2022-10-14 09:23:41 +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
sanni
6ddb206a63
Merge pull request #558 from nsx0r/patch-13
added NES mapper 11
2022-10-12 23:08:33 +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
sanni
f6c239ecfe
Merge pull request #557 from nsx0r/patch-12
added mapper 146
2022-10-12 22:13:10 +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
sanni
5413cc4734
Merge pull request #556 from nsx0r/patch-11
added NES mapper 79
2022-10-12 19:50:12 +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
24642b8607
Update README.md 2022-10-10 13:30:44 +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
132b2e7031
Only wanted to change MMC3, not the other MMCs (yet)
````
 // Convert iNES to useful info (thx to fceux)
    mapper = (romFile[6] >> 4);
    mapper |= (romFile[7] & 0xF0);
    mapper |= ((romFile[8] & 0x0F) << 8);

    // PRG size
    if ((romFile[9] & 0x0F) != 0x0F) {
      // simple notation
      prgsize = (romFile[4] | ((romFile[9] & 0x0F) << 8)); //*16
    }
    else {
      // exponent-multiplier notation
      prgsize = (((1 << (romFile[4] >> 2)) * ((romFile[4] & 0x3) * 2 + 1)) >> 14); //*16
    }
    if (prgsize != 0)
      prgsize = (int(log(prgsize) / log(2)));
              
    prgsize = (int_pow(2, prgsize)) * 16;
    
    byte[] first512 = new byte[512];
     
    // MMC1
    //if(mapper == 1){}
     // MMC2
    //else if(mapper == 9){}
    // MMC3
    if(mapper == 4){
      int startoffset = (prgsize/8 - 1) *8 *1024;  
      // Get crc32 of first 512 bytes
      for(int l = 0; l < 512; l++){
        first512[l] = romFile2[startoffset + l];
      }  
    }
    // MMC4
    //else if(mapper == 10){}
    // MMC5
    //else if(mapper == 5){}
    else {
      // Get crc32 of first 512 bytes
      for(int l = 0; l < 512; l++){
      first512[l] = romFile2[l];
      }
    }
    
    CRC32 crc2 = new CRC32();
    crc2.update(first512); 
    checksum512 = String.format("%08X", crc2.getValue());
````
2022-10-05 08:46:35 +02:00
sanni
f52df29266
Add auto mapper detecting for MMC3 carts
"E000-FFFF is always fixed to the last bank of ROM." Source: http://kevtris.org/mappers/mmc3/index.html
Therefore calculate CRC32 of the first 512 bytes of the last bank of the PRG ROM instead of the first bank.

Database creation code example:

````
// Convert iNES to useful info (thx to fceux)
    mapper = (romFile[6] >> 4);
    mapper |= (romFile[7] & 0xF0);
    mapper |= ((romFile[8] & 0x0F) << 8);

    // PRG size
    if ((romFile[9] & 0x0F) != 0x0F) {
      // simple notation
      prgsize = (romFile[4] | ((romFile[9] & 0x0F) << 8)); 
    }
    else {
      // exponent-multiplier notation
      prgsize = (((1 << (romFile[4] >> 2)) * ((romFile[4] & 0x3) * 2 + 1)) >> 14); 
    }
    if (prgsize != 0)
      prgsize = (int(log(prgsize) / log(2)));
              
    prgsize = (int_pow(2, prgsize)) * 16;
    
    byte[] first512 = new byte[512];
     
    // MMC1
    if(mapper == 1){
    }
     // MMC2
    if(mapper == 9){
    }
    // MMC3
    if(mapper == 4){
	// MMC3 has 8KB banks
      int startoffset = (prgsize/8 - 1) *8 *1024;  
      // Get crc32 of first 512 bytes of last PRG bank
      for(int l = 0; l < 512; l++){
        first512[l] = romFile[16 + startoffset + l];
      }  
    }
    // MMC4
    else if(mapper == 10){
    }
    // MMC5
    else if(mapper == 5){
    }
    else {
      // Get crc32 of first 512 bytes after iNES header
      for(int l = 0; l < 512; l++){
      first512[l] = romFile[16 + l];
      }
    }
````
2022-10-04 22:31:23 +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
sanni
a9bf2b0cee
Merge pull request #543 from nsx0r/patch-10
fixed mapper 30
2022-10-02 17:37:16 +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
sanni
ceba5d2856
Merge pull request #542 from nsx0r/patch-9
fixed mapper 93
2022-10-01 14:42:54 +02:00
nsx0r
43c7be5fbd
fixed mapper 93
confirmed working with Fantasy Zone (J)
2022-10-01 14:41:47 +02:00
sanni
facd52b7ef
Merge pull request #541 from nsx0r/patch-8
Update nes.txt
2022-10-01 11:18:06 +02:00
nsx0r
e372bcc5e3
Update nes.txt
updated nes.txt to no-intro 2022-10-01
now includes ONLY physical releases, should speed up the process (from 3858 games to 3108)
2022-10-01 08:17:48 +02:00
sanni
6c1c9876b4 Update PCE.ino 2022-09-30 00:35:02 +02:00
sanni
01487b6759
Merge pull request #539 from lesserkuma/master
Add support for more Game Boy mappers (MBC1M, MBC6, TAMA5, 8 MB MBC5)
2022-09-28 22:22:58 +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