Commit Graph

1203 Commits

Author SHA1 Message Date
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
sanni
012f73437a
Merge pull request #582 from nsx0r/patch-20
added NES mapper 202
2022-10-24 16:36:40 +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
sanni
820fceef29
Merge pull request #581 from nsx0r/patch-19
added 8 more NES mappers
2022-10-23 20:58:25 +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
sanni
b686017fab
Merge pull request #576 from nsx0r/patch-18
Added NES mapper 60
2022-10-22 11:01:53 +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
sanni
3b0a046d79
Merge pull request #573 from nsx0r/patch-17
added NES mapper 242
2022-10-21 00:54:35 +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
sanni
c659aee96e
Merge pull request #572 from nsx0r/patch-16
Added NES mapper 235
2022-10-20 14:04:07 +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
sanni
9c74fd8847
Merge pull request #571 from nsx0r/patch-15
added NES mapper 62
2022-10-19 14:45:20 +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
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