Also see Frequently Asked Questions (FAQ).
The software has three major modes of operation:
To write use --write, to read use --read, and to get the header use --title. When in write and read, the software will automatically detect ROM vs SRAM based on the filename. If the filename ends in .sav, SRAM is assumed. You can force ROM or SRAM with the --rom and --sram options.
Write mode will write the ROM or SRAM specified on the command line to the specified bank (default 1) on the cart.
Read mode will read the entirety of the specified bank into the file specified. For ROMs it will read 32 megabits / 4 megabytes; for SRAM 256 kilobites / 32 kilobytes.
Title mode does not require a file argument, and will print the ROM header to stdout.
WARNING: if you give the EMS flasher a huge file for writing, the software will only write the first 4 megabytes / 32 kilobytes.
Additionally, all modes take a --verbose flag for giving more output. You can also adjust the block size, but it is recommended you leave this to the default of 4096/32 bytes (used by the Windows software).
See the main page for examples.
This is the output of ./ems-flasher --help:
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 and others See web site for more info: http://lacklustre.net/gb/ems/