Commit Graph

112 Commits

Author SHA1 Message Date
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
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
982945fc25
Update GBA database 2022-09-27 19:12:48 +02:00
sanni
68fbd55291
Add support for Benesse Pocket Challenge W Module (thx to skaman) 2022-09-25 10:36:55 +02:00
sanni
2de810782a
Add files via upload 2022-09-18 20:44:12 +02:00
sanni
84d7758ba8
Add files via upload 2022-08-26 13:09:40 +02:00
PsyK0p4T
89a1527ec9
Update n64.txt 2022-08-25 20:10:50 +02:00
sanni
ddd7adbaab
Update README.md 2022-08-22 18:14:41 +02:00
sanni
a0f0d558ce
Update SNES database to 20220812 2022-08-22 17:50:41 +02:00
sanni
dc867db7ed
Add Virtual Boy and Watara Supervision databases 2022-08-21 12:22:48 +02:00
sanni
9d57d2537d
Temporary fix to gba.txt 2022-08-21 09:40:50 +02:00
sanni
3350b627a2
Add Shining Force (USA).md E0594ABE to md.txt 2022-08-21 07:56:55 +02:00
Kreeblah
323d3c7631
Updated nes20db and snes_clk SD card docs 2022-08-19 11:43:04 -07:00
PsyK0p4T
fe7972a164
gg.txt encoding modified 2022-07-25 13:12:04 +02:00
PsyK0p4T
46391e8c61
Delete gg.txt 2022-07-25 13:10:55 +02:00
sanni
2f79ffc6f9
Add files via upload 2022-07-24 10:34:33 +02:00
nsx0r
a9c0910326
gg.txt for GameGear
up to date with latest GG no-intro DAT (2022-05-31)
2022-07-24 00:13:43 +02:00
sanni
357cf27504
Merge pull request #420 from nsx0r/patch-6
updated
2022-07-19 19:36:17 +02:00
sanni
9854b4d71c
Merge pull request #419 from nsx0r/patch-5
updated
2022-07-19 19:36:08 +02:00
sanni
c4e57f7eca
Merge pull request #418 from nsx0r/patch-4
updated to latest no-intro
2022-07-19 19:35:58 +02:00
nsx0r
43efb89456
updated
updated to latest no-intro PCE DAT (2022-07-14)
2022-07-19 19:03:51 +02:00
nsx0r
aba40c8752
updated
updated to latest no-intro SMS DAT (2022-07-16)
2022-07-19 18:58:03 +02:00
nsx0r
165be7a39f
updated to latest no-intro
updated to MD DAT 2022-07-14
2022-07-19 18:53:54 +02:00
nsx0r
e2aa9353bc
updated
updated to latest no-intro GB+GBC DAT (2022-07-16)
2022-07-19 18:48:39 +02:00
sanni
0601a19362
Update README.md 2022-07-19 17:54:09 +02:00
nsx0r
e3978a86a5
typos... sorry!
fixed and double-checked
2022-07-19 16:54:14 +02:00
nsx0r
816428604e
fixed and update to no-intro 2022-07-18
previous version was all kinds of wrong
2022-07-19 16:34:05 +02:00
sanni
e02a8e49df V9.1 Delete broken entries from SNES database 2022-07-18 09:16:56 +02:00
PsyK0p4T
514316a6ba
Update n64.txt
Fix ROM size and CRC32 for 4 games previously underdumped.
2022-07-09 01:56:58 +02:00
sanni
f546a05a51
Add files via upload 2022-07-07 11:42:05 +02:00
sanni
9d4336741e
Improve NES cart detection 2022-07-07 10:52:25 +02:00
sanni
d6a4101a96 Improve NES cart detection 2022-07-07 10:51:36 +02:00
sanni
6561b8d5d9
Update README.md 2022-07-07 01:05:39 +02:00
sanni
bb7e1f10c7
Update README.md 2022-07-07 01:02:33 +02:00
sanni
f4eaca88c8
Add no-intro database to NES 2022-07-07 00:10:51 +02:00
sanni
9ef81c2912
Set games with unknown save type to 0 2022-07-03 21:57:14 +02:00
sanni
6156be4770
Use CRC1 instead of cart ID in N64 database 2022-07-03 01:04:23 +02:00
sanni
cd0b0f27f7
Add CRC32 and filenames to SNES database 2022-06-21 13:29:52 +02:00
sanni
f084283f5f
Add CRC32 and filenames to GBA database 2022-06-20 22:37:27 +02:00
sanni
196050257b Add filenames to N64 database 2022-06-17 23:57:29 +02:00
sanni
be8a154d29
Update README.md 2022-06-16 22:33:09 +02:00
sanni
e3a42636fd
Update README.md 2022-06-16 18:30:12 +02:00
sanni
25a7e20196
Update README.md 2022-06-16 18:29:39 +02:00
sanni
dccc99c0ad
Add files via upload 2022-06-16 17:22:22 +02:00
sanni
c1716f2b41 Merge branch 'master' of https://github.com/sanni/cartreader 2022-06-16 17:17:18 +02:00
sanni
8b96d250bd Add MD database 2022-06-16 17:17:16 +02:00
sanni
3eb98653bc
Add CRC32 database for SMS 2022-06-16 15:51:38 +02:00
sanni
41efe13dd7
Fix line ending 2022-06-12 12:33:01 +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