Friday, December 4, 2020

Preserving games - Anybody can now do it!


All the work that has been done in the last ~10years and of what was posted here in this blog, is always about preserving games and saving history. When we reversed the pinout of a cartridge-system i mostly try to get as many cartridges for this system dumped by myself as possible.
But what is, if the systems game-library is so huge and games got released all around the world that it's most likely not possible for one person to preserve everything? => You need more people for buying and dumping these carts around the world!

The big problem with saving game-history is the fact, that popular systems get preserved and rescued a couple of times from different people all over the world. For example if you look at the Sega systems or Nintendo systems, nearly all regular cartridges got dumped and verified a couple of times and hundreds of people all over the world are on the hunt of undumped carts.
But what about all the niche systems, systems like kids-consoles or unpopular systems? While i was always more interested in getting these systems preserved and documented, i was most times alone at this path.
Systems like the Vtech V.Smile, Vtech Mobigo, Leapfrog Leapster or Leapfrog Leappad are systems, which most people ignored and didn't want to see preserved.
It's the same like with the current Plug&Play-stuff which get curently dumped and preserved on masses because a small number of people got interested in it and invest most of their own money to get this stuff preserved.


All these "unpopular" systems have one big problem: As there is no available cartridge-dumper for it, you will need some electronic skill to get your own carts dumped. On the contrary you can't count the amount of available dumpers for the Sega and Nintendo systems.
While i'm not in fear, that any Sega or Nintendo cartridge will get lost, i'm in big fear that most of these "unpopular" systems/cartridges get lost in history, because there are no easy techniques to dump the carts.

Since i wanted to change this, i worked the last 2 years on a solution. The Arduino Mega Shield for LEAPFROG and VTECH was born.

The main problem was the different cartridge-design over the different systems and the main goals were to get everything inside one dumping-rig, while i don't wanted to have to scrap the console-systems for the cartridge-connector. In the end both goals were achieved!


Starting with Revision 0.1 of the board (only supporting the Vtech V.Smile), the current version is the Revision 0.5, which supports the cartridges from:
  • Vtech V.Smile
  • Vtech V.Smile Motion
  • Vtech V.Smile Smartbook
  • Vtech V.Smile Baby
  • Vtech MobiGo
  • Leapfrog Leapster
  • Leapfrog Leapster L-MAX
  • Leapfrog LeapPad
  • Leapfrog LeapPad (My first LeapPad)
  • Leapfrog LeapPad (Little Touch)


10 Systems and the material costs of the complete board are only ~10EUR. All you will need is an Arduino MEGA 2560 board. While i always recommend to buy a original Arduino (~35EUR), the tests with cheap chinese clones (~8EUR) worked all too without any problems.








The board itself is pretty basic and has only four switches for Voltage, Bits, Romsize and a special switch (CS2) for V.Smile (more on that later).
It uses two PCI- and one standard 2.54mm edge-socket for the cartridge-slots.

Dumping takes about 45seconds per megabyte which will be about 6minutes for an 8mb rom.

IMPORTANT: ALWAYS DUMP EACH GAME AT LEAST TWO TIMES, WHILE ALSO TO UNPLUG AND REPLUG THE CARTRIDGE BETWEEN BOTH DUMPS! TO CONFIRM THAT THE DUMP IS GOOD, BY COMPARING THE CRC's FROM BOTH DUMPS!

THIS IS REALLY IMPORTANT, AS A BAD DUMP IS USELESS, LIKE TO HAVE NO DUMP!


Let's see how to insert the cartridges into this dumper...

V.Smile / V.Smile Motion / V.Smile Baby / V.Smile Smartbook



Switch-Positions:

VOLT: 3
BITS: 16
ROM-Size: 8
V.Smile-CS2: L

You can dump the cartridges directly by putting it into the black slot at the bottom. While i would highly recommend to also open the cartridge so you can also document the PCB of each game. At least in german-europe alot of different game-revisions got released for the V.Smile, most times you only could see which revision it is, on the pcb itself.

Explanation of the CS2-Switch:
While most V.Smile carts only have one chip inside the cartridge and therefore a maximum size of 8mb, some of the games have two chips inside the cartridge. Older (first releases) games had for example two chips inside. One with the console-bios inside and the second with the game-data. The last few released cartridges on this system needed more space for the games, that way they used two 8mb chips inside the cartridge, therefore these games are 16mb. (for example Toy Story 3)

So the CS2-Switch should always be at the L position for most of the cartridges. To get the cartridges properly dumped with two chips inside you have to dump the first part with the switch in L-position and afterwards redump the cartridge again in H-position. You will get two different dumps, each is the data from one of the two chips.

Don't forget to set the switch back to L after you finished dumping the game!!


LeapPad / My first LeapPad / LeapPad Little Touch


Switch-Positions:
VOLT: 3
BITS: 8
ROM-Size: 8
V.Smile-CS2: L
To get the cartridges dumped, you have to open it. As only the bare PCB fits inside the socket. Insert it like on the picture above, with the glob pointing away from you. It's the middle socket on the left side.
Always check that the cart-edges fit to the pins of the socket, starting from PIN1 on the left of the socket!

Leapster / Leapster L-MAX

 

Switch-Positions:
VOLT: 3
BITS: 16
ROM-Size: 8 or 16
V.Smile-CS2: L
To get the cartridges dumped, you have to open it. As only the bare PCB fits inside the socket. Insert it like on the picture above, with the glob pointing to you. It's the top socket on the left side.
Always check that the cart-edges fit to the pins of the socket, starting from PIN1 on the left of the socket!


MobiGo






Switch-Positions:
VOLT: 3
BITS: 16
ROM-Size: 16
V.Smile-CS2: L


The Mobigo is kinda special! As they released two different game-cartridge-pcb-revisions and you can only dump one revision with this Arduino dumper. (More on that fact below!)
Insert the cartridge with the glob pointing away from you, inside the middle slot on the right side.

Different cartridge-pcb-revisions of the MOBIGO:

So far we found two different pcb-revisions. You can see the different revision already when you open the cartridge. One revision has the glob on the top, the other revision as the glob on the underside.
One revision has the marking "128mb&64mb mask rom"...the other not.


While the cartridge-pinout is completely the same (logical, as otherwise it would not work on the console ;-) ), only the right cartridge-revision can get dumped with the Arduino Mega Shield. The other revision gives inconsistent reads on the Arduino. (And we don't know why!)

But i have also found a solution for the left cartridge-revision!

Mobigo - Save-Cart and other Cartridge-Revision adapterboard:

HIGHLY IMPORTANT: Only the cartridges with the marking "128mb&64mb mask rom" are dumpable with this adapterboard. The other revision will give you inconsistent reads with this setup!

I designed this board to get the Save-Carts and the other Mobigo-Cartridges dumped with an cheap TL866IIPlus programmer and you will also need the TSOP48 v3 board. The programmer costs about 35EUR and the TSOP48v3 baseboard will cost you about 10EUR.

TL866IIPlus and the TSOP48v3 base board. Both needed.
TL866IIPlus - Dumping Adapter
This Adapter-Board for the Tl866IIPlus has two positions how it can get used with the TL866IIPlus.

Let's see how to use it with the second cartridge-revision (128&64mb mask rom) of the Mobigo-Game-Carts:

Mobigo-Cartrige inside the Adapterboard, which is on top of the TSOP48v3 base board and inside the TL866IIPlus


Insert the Mobigo-Cartridge inside the adapterboard (like on the picture above) with the glob pointing away from you, on the right side of the slot. Put the adapterboard on the TSOP48v3 base board and insert everthing on the TL866IIPlus.

Inside the TL866IIPlus programmers-software select the IC 29GL064A10TFIR3 (IMPORTANT: select exactly this IC-Type!!), check that the two switches (A22 and A23) on the board, that both are positioned at LOW and click on READ inside the software.

You will get the following Pin-Detect-Error with 5 Pins not detected, which is completely OK and just shows that the cartridge is insert correctly! (If you have more than 5 Pins not detected, something is wrong with your setup, or cartridge wrong insert into the slot!)

Hit Cancel and deselect Pin Detect and Check ID at the Options at the bottom.



Now click again on READ to dump the cartridge, it should read now without problems and you should get an 8mb file afterwards!

Mobigo-Games are 16mb, so we need to change the A22-switch on the board to HIGH and dump the cartridge again with the same procedure, which will get us a second 8mb file!
Afterwards just concatenate both dumps and you have the real 16mb rom.


How to dump the Mobigo SAVE-Cartridge:
The Mobigo got an special SAVE-Cartridge released, which has 128mb of space for downloaded/bought games from the Mobigo-Online-Store. These carts use an NAND chip, and to our luck it's a very common NAND-Chip which is supported by the TL866IIPlus.

Normally you would need the special NAND-Chip adapter for the TL866IIPlus to get the NAND-Chips supported, but i already included this adapter inside this board.

Remove the TSOP48v3 board from the Mobigo-Adapter-Board and insert the board with the 40 Pins to the TL866IIPlus.
Insert the cartridge, like on the picture above, into the socket.

Select the IC TC58NVG0S3ETA00 inside the programmers software and click on READ, the chip should be detected and no errors should happen.
Afterwards you have an 128mb dump of your NAND-Chip.

Basically you can also program this SAVE-Cartridge with this method.



HOW TO DUMP THE CARTS WITH THE ARDUINO

How to order or built yourself this Arduino-dumper and/or TL866IIPlus-Adapterboard




I would recommend to directly buy all parts for both sets, as is it will be most likely cheaper for you.

You will need the following parts:

Arduino Mega Shield v0.5:
  • 1pcs PCB (you can order it directly here)
  • 2pcs PCI sockets 120pin (for example here are 5 pieces for 8.80USD)
  • 1pcs 2x25pin edge card connector slot 2.54mm (here are 5pcs for 4.70USD)
  • 2pcs 74HC4040 (for example here are 5pcs for 1.70USD)
  • 4pcs Toggle-Switch (for example here are 100pcs for 1.70USD
  • 1pcs Tactile Push Button 6x6x6mm (here are 50pcs for 1.80USD) [not absolutely needed, just for completeness]
  • 1pcs 40pin 2.54mm Single Row Pin Header (here are 20pcs for 2USD)

TL866IIPlus - Adapterboard:
  • 1pcs PCB (you can order it directly here)
  • 1pcs PCI socket 120pin (see above)
  • 2pcs Toggle-Switch (see above) 
  • 1pcs 40pin 2.54mm Single Row Pin Header (see above)
  • 1pcs 3K9 resistor (here are 100pcs for 1USD)
  • 1pcs 104 0.1uf capacitor (here are 100pcs for 1USD)
  • 1pcs 3KV 30PF capacitor (here are 20pcs for 1.5USD)
  • 2pcs female double row pinheader 2x12 (here are 10pcs for 2.50USD)


Additionally i sell also a complete package with ALL needed parts for both sets (including the PCB's) for 30EUR (inclusive shipping worldwide). It's not my goal to make any money with these boards, so that's about 15EURO for all parts and 15 EUR for shipping worldwide



That the design works was also already tested by two other guys! One in France, who dumped nearly the complete french V.Smile library with it. The other one is located in China and already dumped some chinese exclusive V.Smile carts!

You will also need the program for the Arduino MEGA and an instruction of how to dump the games. These will only get sent to you via email if you contact me (find my email-adress on the bottom of the main-page of this blog) and/or of course if you buy a complete parts-package directly from me.





7 comments:

  1. This is just amazing...!
    Uauuu...!

    ReplyDelete
  2. Do you know if there is a way to dump the games for the Leapfrog Clickstart (My first computer)?

    ReplyDelete
    Replies
    1. Yes, there is a way to dump these. I even built a private dumper for the carts. We already dumped many of the cartridges, as you can see here:
      https://git.redump.net/mame/tree/hash/clickstart_cart.xml

      You have undumped carts please contact me via email (see on the bottom of the first page of this blog)

      Delete
  3. Hi, can you share how low or high bank is selected on vsmile ?
    ie what is behind the VSmile CS2 ?
    is it about !CE or !CS pin ? or something else ?

    ReplyDelete
  4. Are Leapster Explorer cartridges supported? Or Digi Cartridges? Either way they should work

    ReplyDelete
    Replies
    1. I haven't tried explorer cartridges but using open LF connect I was able to use a didj to dump the rom contents by mounting it. It mounts both the cartridge and the didj as 2 separate drives. It's just a standard linux file system. You don't get this rom as a bin, but as a folder with an arm linux executable and a collection of assets used by both the Didj home menu and the game itself like icons for the game and spritesheets.

      I wouldn't be surprised if a little tweaking let you play the games on a raspberry pi as well, though I haven't put in any effort to try and confirm this.

      Delete
  5. Is there a download for the PCB designs?

    ReplyDelete