The ems-flasher allows you to read and write roms and saves from and into the ems smart cart for game boy systems. It's a terminal based app.
That means that it has no graphical user interface at the moment. So if you're scared of the terminal... You shouldn't!.
This is a pseudo guide on how to install and use it in a GNU/Linux environment. I followed this steps in Debian 7 but this will work on mostly any GNU/Linux based distribution.
If you get an error saying that libusb was not found (sorry, I forgot to take notes about the exact error) then is time to install the dev packages for libusb through synaptic or apt-get and the rerun the command make.
According to the official wiki, if you get the following error:
So... for flashing LSDJ into the cart you write in a terminal:
This will flash the rom into bank 1. If you want to flash, let's say, pokemon red into bank 2, you can write in a terminal:
This way you will have lsdj in bank 1 and pokemon red in bank 2. One thing to keep in mind is that you can only have one save in the cartridge.
For making a backup of your save you write in a terminal:
The name of the save is only to specify the name of the local file, as the cartridge can only store 1 save file at a time.
That being said, this is all what it needs to be done in order to flash your ems smart cart in GNU/Linux. It's a really simple procedure that can be done in a few minutes and despite that the ems-flasher is in alpha state, it works really nice.
Don't forget to visit the developer website at http://lacklustre.net/projects/ems-flasher/ and buy him a beer
Cool resources:
Another method in Linux here.
More info (in spanish) here.
This is a pseudo guide on how to install and use it in a GNU/Linux environment. I followed this steps in Debian 7 but this will work on mostly any GNU/Linux based distribution.
Installing the flasher
- Download the ems-flasher sources for Mac/Linux from http://lacklustre.net/projects/ems-flasher/
- Extract the .tgz with your favorite decompressor in ~/ems-flasher/ (for simplicity).
- Open a terminal and change directory to ~/ems-flasher/
- Type make and press enter.

According to the official wiki, if you get the following error:
you need to follow this procedure. Fortunately, I didn't have that problem.libusb couldn't open USB device /dev/bus/usb/003/009: Permission denied.
- Once the compiling process is done we can check if it's working properly by running ./ems-flasher --version
- It should return the version of the ems-flasher installed.
How the flasher works
Typing ./ems-flasher --help will show all the available parameters and how to use ems-flasher:
Usage:
./ems-flasher < --read | --write > [ --verbose ] <totally_legit_rom.gb>
./ems-flasher --title
./ems-flasher --version
./ems-flasher --help
Writes a ROM or SAV file to the EMS 64 Mbit USB flash cart
Options:
--read read entire cart into file
--write write ROM file to cart
--title title of the ROM in both banks
--verbose displays more information
--bank <num> select cart bank (1 or 2)
--save force write to SRAM
--rom force write to Flash ROM
You MUST supply exactly one of --read, --write, or --title
Reading or writing with a file ending in .sav will write to SRAM.
To select between ROM and SRAM, use ONE of the --save / --rom options.
Advanced options:
--blocksize <size> bytes per block (default: 4096 read, 32 write)
Written by Mike Ryan <mikeryan@lacklustre.net> and others
See web site for more info:
http://lacklustre.net/gb/ems/
Examples
~/ems-flasher/:$ ./ems-flasher --write --verbose /path/to/lsdj/rom/lsdj.gb
This will flash the rom into bank 1. If you want to flash, let's say, pokemon red into bank 2, you can write in a terminal:
~/ems-flasher/:$ ./ems-flasher --write --verbose --bank 2 /path/to/pokemon/rom/pokemon_red.gb
This way you will have lsdj in bank 1 and pokemon red in bank 2. One thing to keep in mind is that you can only have one save in the cartridge.
For making a backup of your save you write in a terminal:
~/ems-flasher/:$ ./ems-flasher --read --verbose /path/to/put/the/save/lsdj.save
The name of the save is only to specify the name of the local file, as the cartridge can only store 1 save file at a time.
Wrapping up
Before calling this done I wanted to mention a couple of things. First, no light is turned on on the cartridge unless you're writing or reading bank 2; and second, the connected cartridge doesn't show in removable devices. You can check if everything is alright by executing the lsusb command in a terminal.
That being said, this is all what it needs to be done in order to flash your ems smart cart in GNU/Linux. It's a really simple procedure that can be done in a few minutes and despite that the ems-flasher is in alpha state, it works really nice.
Don't forget to visit the developer website at http://lacklustre.net/projects/ems-flasher/ and buy him a beer

Cool resources:
Another method in Linux here.
More info (in spanish) here.
No comments:
Post a Comment