EMS USB 64M Smartcard

This is an archived post from my old blog. Since this was the most visited post on that blog, I thought I’d replicate it here. So I went on Archive.org and found a snapshot and have replicated the post here. These days there’s a better Game Boy flashcart called Everdrive GB which is basically superior in every way. So I recommend getting that instead, although the Smartcard is still cheaper.

As I mentioned in my last post, I bought a flash cartridge for the original Game Boy recently. And now I’ve received it! It’s the USB 64M Smartcard made by E.M.S. Currently it’s pretty much the only flash cartridge that’s still readily available for the original Game Boy. Luckily it’s rather cheap; around $40 at most stores. As the name suggests it has a mini USB port on top of the cartridge that allows you to connect it to a PC. There you can use software to “burn” regular .gb/.gbc ROMs to the cartridge which can then be played on a real machine.

IMG_1017

Here are some specifications:

  • 64 Mbit (8 MByte) storage for ROMs, divided in two 32Mbit memory banks.
  • 128 KByte battery-backed SRAM, for saving games.
  • The SRAM battery is easy to replace.
  • Has multi-ROM support, meaning you can have many games on the cartridge at once.

It also says on the packaging that the SRAM can only hold one save at a time, which is true with the original flasher/writer software that you find on the included CD with drivers. But recently there has been some homebrew development to create a patched version of this flasher software which writes a whole new menu to the cartridge. This new menu has support for multiple saves, and includes a manager for copying and deleting them. It otherwise handles everything automatically, switching to the correct save when loading a game so you don’t have to worry about it.

You can find this improved flasher software here, and I have also compiled a list of software and drivers for the cartridge further down.

One issue with the multi-save support is that as of right now you can’t backup just the specific save you want with the flasher. You can only backup the full 128 KByte. This doesn’t really matter much, but if you’re trying to run lsdj in an emu with your .sav it’ll be tricky to get it to work. Really though, if you want to make it as easy as possible for LSDj use, then don’t use the multi-rom menu at all and simply flash only LSDj to the cart. I’m not really sure how you do this with the Windows flasher though, since it seems to create a menu automatically. But it’s possible with the Linux/OSX flasher.

Update: I just got my backed up .sav file of the SRAM to work with LSDj in an emulator without any issues. I didn’t have to do anything special. Just dumped the whole SRAM, named it lsdj.sav and put it in the same directory as lsdj.gb and it just worked, even though the .sav includes multiple saves. So the above seems to be a non-issue.

LSDj

One feature that was even touted on the packaging (and pretty much at every store that sells them) is that it supports the homebrew 8-bit synthesizer and sequencer LSDj. It’s what most chip musicians use to make Game Boy music. Since I’ve always been interested in making some simple electronic music for an old console it was one of the bigger reasons that I bought the cartridge in the first place. So after I bought it I used what was left in my Paypal account (around $2) to buy a lifetime license to download the full version of LSDj. The license cost is $0.01, with an optional donation. So when I received the cartridge it was the first thing I tried, and it does indeed work. 🙂

LSDJ
LSDJ

I still have much to learn about using LSDj, but I’ve started making a cover of quazar’s Hybrid Song/Funky Stars which is coming along rather nicely so far considering it’s the first real song I’ve tried my hands at. I chose that one mostly because it’s a FastTracker II song, which means I can open it in Milkytracker to see all the notes. So I just copy the notes one by one to LSDj since they’re in the same format, which is a lot easier than making a cover of something else, especially since I can’t read notes at all and I’m not very musically gifted. :P

phrase
Phrase window, where you write your compositions

I recorded what I have finished so far. It’s not much yet but there it is. Sorry for the audio quality, I recorded it by hooking my GB Pocket up to my PC’s microphone input and it seems to have tried to remove noise which is bad because Game Boy music contains some noise. I’ll post a better recording in the future when the track is actually finished.

 

Also here is a drumkit sample I recorded while messing around a bit. Sounds pretty nice for included samples I’ll say. And again, the audio quality isn’t very good. There are 16 different samples included, and you can use two per instrument. You can also make your own samples on a PC and then patch them into the LSDj ROM-file. But that’s a bit too advanced for me at this point.

Flasher

Anyway, back to the cartridge.

As I mentioned you use special flasher software on your PC to “burn” ROM files to the two memory banks. It’s functional and easy to use, though of course ideally the cart would have a removable memory card instead of fixed memory. And worst of all it only runs on legit Windows, so you can’t run it in Wine or equivalent on OSX. But oh well. There is a flasher for Linux and OSX called ems-flasher, but it doesn’t appear to have multi-ROM support which makes it seem kind of useless. I haven’t used it a lot though so it might have support for it. Both the improved flasher software mentioned earlier, and the standard one, looks and functions the same. It’s very simple so it won’t leave room for too much user error.

The cartridge has two 32 Mbit (4 MByte) memory banks for a total of 64 Mbit (8 MByte). This might sound really small these days, but most Game Boy games are in the 32 – 128 kByte range, with GB Color games being a bit bigger at around 256 kByte – 2 MByte. So you can fit quite a few games on there. You can only access one bank at a time though. To switch between the banks one turns the console off and back on again within one second. If the LED inside the cartridge lights up it’s accessing bank 2, otherwise bank 1. One quirk with this cartridge is that you can not mix GB and GBC games on the same bank. You have to dedicate one bank for GB and one for GBC. Otherwise you can have issues with GBC games. There’s a checkbox for setting Color mode in the Windows flasher.

Showing the cartridge bank 2 LED and mini-USB port
Showing the cartridge bank 2 LED and mini-USB port

You select ROMs to add to the selected bank until you’ve filled all the space or are satisfied, then you toggle the Color switch on or off and write the ROMs to the bank. The writing is pretty slow. It takes around 5 minutes to write 4 MByte of data, which seems terribly slow, although I’m not in a hurry. Reading a bank back to the PC takes around one minute. You can also read and write the SRAM in the flasher, so you can backup your saves to your PC and restore them later.

Game Boy Color games which has been marked as such in the flasher will still start on a normal GB if they support it, e.g. Link’s Awakening DX. However, should you store LA:DX as a non color game and try to run it on a GB Color, it will have some issues. At least it did with LSDj. So put LSDj in the bank for GB Color games to use it optimally on both.

Flaws

There are some other quirks about the cartridge. It’s not perfect by any means. For example the build quality of the case is pretty weak compared to an original cartridge. It’s not too bad though, but if you accidentally stepped on the cartridge I’m pretty sure it would break, which I’m not too certain would be the case with an original cartridge. But just don’t step on it and it’ll be fine. I guess it also won’t handle drops as well as original carts, but just be careful. It’ll be alright. :P

A little more concerning is that the cartridge does not have a realtime clock, so games that uses time to work (e.g. Pokémon Gold/Silver/Crystal) won’t work properly on it. But I already have that game so I’ll just have to use the actual cartridge for those, but there might be some homebrew application that uses it.

Another bigger negative which isn’t really the cartridge’s fault is that the Game Boy Pocket doesn’t seem to like it very much at all. Especially when the battery is low, the screen will keep changing contrast levels depending on how much the CPU is working. Eventually you can’t set the contrast high enough for there to be anything visible, and the console turns off. It’s because of how the power conversion in the Pocket works or something. It also behaves like that when hooked up to an AC adapter (a Big Ben one), but not when using my rechargeable (NiMH 600mAh) batteries. At least when they’re fresh. They do run out much quicker though.

I’ve also read that the Pocket somehow drains the SRAM battery of the cartridge much faster than regularly. Bottom line is don’t use it on the Pocket, which is a shame because it’s my favorite Game Boy version. And I don’t have a classic Game Boy, so the Pocket is the best sounding one I have.

For LSDj so far I’ve composed the songs on my GB Color and recorded from my Pocket. But there are homebrew demos that are made to run on GB/GBP so for those I don’t care about the save battery. I’ll just make sure to backup before using it in the Pocket. Eventually I’ll have to get a classic Game Boy for recording though. I haven’t tried it with the SNES Super Game Boy or the GC Game Boy Player yet, but I don’t see why it wouldn’t work. I’ll update the post when I’ve tried it out.

Compatibility

Gejmbåj, by Snorpung
Gejmbåj, by Snorpung

So what have I been using the cartridge for other than LSDj? Well as an avid demoscene nerd, of course the first thing I loaded up on the cartridge was an assortment of great demos for the GB and GBC. I’m happy to say that pretty much everything I’ve thrown at it has at least booted, and the vast majority has run without problems. There was one or two demos which had glitched graphics, but everything else has worked just fine. All the great GB demos worked which is all I care about. :P

Oh!, by Snorpung
Oh!, by Snorpung

In fact, compatibility seems to be one of the better aspects of this cartridge whether it comes to games or homebrew. So far everything I’ve tried has worked without issues. There are some games that need to be patched to work correctly. I’ll provide a link to available patches below.

Other than that I’ve tried a few of the rarer GB games, like Trip World and the Final Fantasy games. It’s nice being able to try such games before deciding if I should buy it. I’ve been thinking about buying Trip World, since it’s like the Mr. Gimmick of the Game Boy, but like Mr. Gimmick it’s also very expensive. But it seems to be a very good game so I might think it’s worth it.

 

Summary

Well that’s it. Not much else to say. Overall I definitely recommend it. It’s cheap, it has very good compatibility both with official games and homebrew, and is easy to use for someone like me who is a little knowledgeble. Installing drivers on 64-bit Windows was kind of a pain because they’re unsigned, but once they’re installed it’s a breeze to use the flasher application. And the patched multi-save menu is a huge plus. It makes the functionality of the cartridge that much better. It’s pretty crazy that they don’t use that as the official flasher software, but I guess the patch is still very new (late 2012) so I can’t blame them too much.

Pros:

  • Large amount of space for ROMs (64 Mbit/8 MByte)
  • Multi-ROM support
  • Multi-Save support (with MottZilla’s improved Flasher application)
  • Easy to replace save battery, with a holder for the battery instead of having it soldered onto the PCB.
  • Compatible with most GB ROMs whether games or homebrew, though some games need to be patched to work correctly.
  • Loads ROMs instantaneously.

Cons:

  • Case build quality is a bit flimsy. PCB itself seems fine though.
  • Must have Windows to use MottZilla’s flasher app. (Might not be a con to you..)
  • Doesn’t work well with Game Boy Pocket, even with AC adapter. NiMH batteries might work a bit better.
  • Sometimes causes the GB to give off a more audible hum than with an original cartridge, although that is probably the case with most flash cartridges. Seems to depend on what the CPU is doing. Luckily it doesn’t seem to happen when it matters in LSDj.
  • Kind of slow write speed.
  • Splits the memory into two banks of 32 Mbits each and can’t mix GB and GBC games in the same bank.

UPDATE: I got around to testing it on the Super Game Boy and GC Game Boy Player. It works on both, though obviously only with Game Boy games on the Super Game Boy. If you’re using the multi-ROM menu, and a game has Super Game Boy support, you need to first load the game and then press reset on the Super Nintendo to directly boot into the game. That way the Super Game Boy backgrounds etc will work. There’s one issue with the Game Cube however. Since the Game Cube doesn’t power on the GB Player until it has read the boot disc, it won’t let you switch to the second memory bank. So with the GB Player it’s essentially a 32 Mbit card. Otherwise it works fine. If you put GBC games in bank 1 it runs them just fine. With the Super Game Boy you can switch to the second bank like regular by switching the power on and off quickly. You just need to let the Super Nintendo read the GB cartridge before you switch.

 

Links:


Here are the comments that were posted on the original article:

 

  • Hi Robert,

    Do you know if the 64M Smart Card is capable of having a save file copied to it from a Mega Memory Card? I have 3 save files stored on a Mega Memory Card. I’d like to copy the save files one at a time to the 64M Smart Card, plug the Smart Card into my PC and then save the .sav file to my PC to archive these save files. Do you know if that’s possible with or without MotZilla’s flasher program?

    • HI Sean. Sorry for the late reply.

      I don’t have a Mega Memory unfortunately so I’m not sure, but if the Mega Memory can write to a cart’s SRAM like an ordinary save it might work. Don’t quote me on that though. I assume the Mega Memory would overwrite the SRAM completely? If so it might just work. If you get a 64M Smart Card and try it out, please update me with another comment here if it works with the Mega Memory or not. It’ll be interesting to know because I’ve thought about buying one of those myself, and I’m sure others would be interested as well.

      Oh and if it CAN write to the Smart Card’s SRAM, you could back it up using any of the flasher applications, including the Mac/Linux one by Mike Ryan, since they all work the same when it comes to backing up the SRAM

    • (Sean or someone else did get back and confirmed that it does indeed work with the Mega Memory Card)
  • What a bummer that it doesn’t support real time clock functionality… Just ordered it and I am a bit disappointed by this message. Whatever, I guess there are some rom hacks which allow you to change the time.

 

4 thoughts on “EMS USB 64M Smartcard”

  1. Hey Robert,

    For some reason it just doesn’t work on my GameCube Player. I tried with GBC games only in bank 1 but all it does it boot up, show the Nintendo logo etc. and after that just blank screen. Is my GameCubePlayer faulty or is there some other solution?

    1. Hi Johnny,

      Does official games work on the GB Player? If so it’s probably something with the EMS card. Does the card work on an actual Game Boy Color? Are you sure it’s the first bank and not the second? It was a long time since I wrote this post so I don’t remember if it’s bank 0 or 1 that is the first bank, although the post would indicate that it’s 1 for the first and 2 for the second.

      Also try flashing only one ROM to the bank using the official flasher tool (e.g. not the Motzilla one) and see if that works.

  2. Hey man don’t know if you’ve had this problem but mine doesn’t work at all on my Gameboy color, when I start it it boots up the Gameboy logo but the “NINTENDO” logo is all corrupted. If you can help please let me know. Thanks

    1. The corrupted logo is a typical sign that the cartridge pins doesn’t have a good connection to the console. Does other games work? And does the cartridge work in other consoles?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.