Go Down

Topic: ROM-Reader for Super Nintendo / Super Famicom Game Cartridges (Read 141828 times) previous topic - next topic

Newbie2

Second, what are the requirements and/or procedures as of right now for dumping the following?

- Tengai Makyou ZERO (Far East of Eden ZERO) (SPC7110)
I believe you need extra functionality for the SPC7110, and that the adafruit clock generator attachment should provide it. In terms of software, in the past Sanni's main build did not have code for the SPC7110, but that may have changed.  If it does not, my understanding is that Sanni may have a separate version with that support, so you may need to contact him to see if he can provide it.

sanni

Pickle merged the SPC7110 code by skaman into the current version of the cart reader code. And yes it does require the Adafruit clock generator. I myself have not tested SPC7110 carts however since I don't own any.

Newbie2

Sanni, do you know whether the cart reader supports flashing BennVenn's MBC3 RTC Game cart with 2mbytes Flash ROM? (https://bennvenn.myshopify.com/collections/frontpage/products/genuine-mbc3-rtc-game-cart-with-2mbytes-flash-rom-fitted) BennVenn said that the flash chip is a 29w640 flash IC, and that most flashers should support it. He also said that WE is tied to AudioIN (not sure what that means...)

sanni

Adding support for writing flashroms on a MBC3 board should be easy to implement as only the first one or two banks differ between the current MBC5 based implementation and MBC3. But if you make a MBC3 flashcart you should use a 29F016 flashchip instead since the 29w640 is 3V only and the Gameboy is 5V so it will damage your handheld according to db-electronics: https://db-electronics.ca/2017/07/05/the-dangers-of-3-3v-flash-in-retro-consoles/
Pokemon Gold/Silver is $3 from Japan(I think at least the early japanese versions have the needed 32 pin chip pcb and not the 44pin one), 29F016 chip is $2 from China and the adapter pcb you can order from oshpark $2.40 for 3 pcbs. A tutorial can be found here: https://www.jrodrigo.net/wiki/how-to-diy-a-gameboy-flash-cartridge-with-a-rom-adapter-board/


Newbie2

Adding support for writing flashroms on a MBC3 board should be easy to implement as only the first one or two banks differ between the current MBC5 based implementation and MBC3. But if you make a MBC3 flashcart you should use a 29F016 flashchip instead since the 29w640 is 3V only and the Gameboy is 5V so it will damage your handheld according to db-electronics: https://db-electronics.ca/2017/07/05/the-dangers-of-3-3v-flash-in-retro-consoles/
I should have been more clear, I already purchased one of bennvenn's carts, rather than looking to make my own.

That said, I think you answered my question anyways, which is that right now it is not supported, but potentially I could add support to the cart reader software for it.

sanni

Which is that right now it is not supported, but potentially I could add support to the cart reader software for it.
I did order some Pokemon Gold/Silver carts and will at least implement flashing a MBC3 flashcart with 29F016 in the near future.

I don't see the GB cart adapter incuded in the the schematic.
The schematics are all available on github: https://github.com/sanni/cartreader/tree/master/pcb

Where do I put the points of the tester? Do I need to test each and every pin?
Yes each and every pin since you don't know where the error lies if there is one. You can also post detailed pictures of the pcb here maybe we can spot some errors right away like cold solder joints or bridges.
The easiest thing to start checking would be setting your multimeter up for continuity testing and then connect one probe to GND and touch every pin on the SNES/N64 cart slot with the other probe. There should only be continuity on the GND pins.
Then do a visual inspection using a magnifying glass of the GB adapter, make sure that no two pins are bridged, since the pins are so small it can be hard to spot.

Is there and older version of the code that is better for dumping N64 carts?
Every single revision starting from V16 is available on github: https://github.com/sanni/cartreader/commits/master?after=9c2fcae43dda179f9f0347c006357314c74be298+244
I'm currently still working on the next hardware revision and until that is finished I do not want to change anything in the code so I'll look into the N64 issues after that. But in the meantime you can just try V16, V20, V22A and V22B.


First, just to be sure, the hex code that needs to be put on the PIC12F629 is this code
Yes, just go to https://github.com/sanni/cartreader and click on the green download button to download everything including the hex file.

Second, what are the requirements and/or procedures as of right now for dumping the following?
Tengai Makyou ZERO (Far East of Eden ZERO) (SPC7110)
Star Ocean (S-DD1)
They should dump with the config switches setup the same as for SA-1: https://github.com/sanni/cartreader/wiki/Dumping-SA1-cartridges

MegaMan X2 (CX4)
Afaik CX4 is currently not supported unless you flash skaman's alternative SNES only "cart rom reader enhanced" Arduino sketch on your Arduino Cartridge Reader. It think there is more info about it somewhere in the beginning of this thread.

sanni

I just made a 4k image with all the hardware revisions since pcb version 6, this should help identifying which version someone has. The version uploaded to github is V11.



Still waiting for the V16 pcb to arrive though...

tamanegi_taro

The micro sd cards read/write a lot slower for some reason.
Hi sanni,

I had no problem so far with microsd card module. Difference is that I did not remove 3.3V voltage converter on microsd module. Instead, attached 5V constant as power supply.

Slow read/write might be caused by noise on 3.3V line. Because if you remove 3.3V from the microsd module and share 3.3V generated on PCB with carts, noise might be added on 3.3V line. Besides, long 3.3V wireing also add noise on 3.3V. So I think supplying 5V constant to microsd module and let module generate its own 3.3V might help solving the problem.

sanni

Maybe it's just my particular microSD card(32GB Class10) that is bad but I only get 150KB/Sec write speed in the "bench" sketch of the SDfat library examples while with the older full-size SD card(4GB Class4) I get 200KB/Sec write speed.

Quote
Type is FAT32
Card size: 31.49 GB (GB = 1E9 bytes)

Manufacturer ID: 0X27
OEM ID: PH
Product: SD32G
Version: 3.0
Serial number: 0XA8D98C01
Manufacturing date: 9/2013

File size 5 MB
Buffer size 512 bytes
Starting write test, please wait.

write speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
150.92,145532,2440,3383
Quote
Type is FAT32
Card size: 3.97 GB (GB = 1E9 bytes)

Manufacturer ID: 0X3
OEM ID: SD
Product: SD04G
Version: 8.0
Serial number: 0XF8D5A270
Manufacturing date: 7/2009

File size 5 MB
Buffer size 512 bytes
Starting write test, please wait.

write speed and latency
speed,max,min,avg
KB/Sec,usec,usec,usec
199.14,507136,1872,2552

tamanegi_taro

OK. So it might be compatibility problem of microsd card.

Surprised that you kept upgrading cart reader. If you are considering about upgrading your cart reader again, please let me share my wish list. It's just my humble opinion though.

Would you please add screw holes on all 4 corner of board? Currently, holes are only on 2 corner of board. Other side of board only have holes on Arduino. I want to tightly attach PCB board on nice case using screws on all 4 corner of board.

Current schematic of SD connector is
GND 3V3 VCC PB0 PB2 PB 1 PB3 GND
Would you please add 5V constant(Not 5V/3.3V switchable) to SD connected?
GND 3V3 VCC PB0 PB2 PB 1 PB3 GND 5V
This will add compatibility to microsd module without removing 3.3V generator on microsd module.

Current schematics of adafruit clock gen connector is
VIN GND SDA SCL CLK2 CLK1 CLK0
Would you please add 3.3V constant(Not 5V/3.3V switchable)?
For example,
VIN GND SDA SCL CLK2 CLK1 CLK0 3.3V
This will add compatibility of simple I2C one way level converter and AE-Si5351A-B clock generator. You can also use these two modules sold in Japan too.
http://akizukidenshi.com/catalog/g/gM-05452/
http://akizukidenshi.com/catalog/g/gK-10679/

werewolfslayr925

Afaik CX4 is currently not supported unless you flash skaman's alternative SNES only "cart rom reader enhanced" Arduino sketch on your Arduino Cartridge Reader. It think there is more info about it somewhere in the beginning of this thread.
If I'm not mistaken, are you referring to this:

Code: [Select]

else if(romChips == 243){
  // CX4 - Mega Man X2/Mega Man X3/Rockman X2/Rockman X3: romChips = 243
    display.println("Dumping LoROM");
    display.print("Banks: ");
    display.println(numBanks);
    display.display();

    // Check initial content of mapping register...
    // Mega Man/Rockman X2 should return 1, Mega Man/Rockman X3 should return 0
    byte initialCX4Map = dumpByte(0, 32594, false); //0x7F52
     
    // Mega Man/Rockman X2 needs to be set to 0 before dumping
    setByte(0, 32594, 0);  //0x7F52

      // Read up to 96 banks starting at bank 0×00.
    for (int currBank = 0; currBank < numBanks; currBank++) {

      // give status updates via LCD or LED
      display.print(".");
      display.display();

      // blink led
      if (currBank % 2 != 0)
        rgbLed(off_color);
      else
        rgbLed(busy_color);

      // Dump the bytes to SD one by one
      for (long currByte = 32768; currByte < 65536; currByte++) {
        myFile.write(dumpByte(currBank, currByte, false));
        dumpedBytes++;
      }
    }
    // Return mapping register to initial setting...
    setByte(0, 32594, initialCX4Map);  //0x7F52
  }


If so, then is there a way to incorporate it into the Arduino code you already have on the GitHub for the dumper? I tried just copying and pasting it, but there were some errors. Apparently the rest of the code didn't like terms like "dumpByte".

If there isn't a way to incorporate it, then what's the full code that I can flash onto the Arduino for MegaMan X2? (Also, will I be able to reflash the normal code for the dumper back onto the Arduino afterwards? Is that a silly question?)

tamanegi_taro

Messed up with couple wireings but successfully dumped 2 out of 4 hucard games I have.

hernan43

Wow that is pretty exciting. What connector did you use to read the hucards? I've tried in the past to find a connector that is compatible but have never had much luck.

skaman

gamedoctorhk.com sells original HuCard connectors (still attached to the daughterboard).  A bit pricey but cheaper than buying donor consoles.

If anyone wants to wire up there own PCE/TG16 adapter, there's a pinout for the Retrode using the SNES slot.  There is an error with the published pinout as the uppermost address pins (A18 and A19) are swapped.

@tamanegi_taro, I've got all of my HuCards dumping on the Retrode except for Street Fighter 2.  I still need to implement the SF2 mapper code.  Aside from SF2, the only tricky thing was the 384Kb cards which have the first 256Kb mirrored at 0x40000.  I shifted the read for those to start at 0x40000.

hernan43

How do you interface them with the SNES port? Did you make your own board from the Retrode pinout diagram?

Go Up