Okay, as promised I had a go at writing a guide for anyone else who might have this problem. Hope it helps someone and saves them all the time I spent trying to work it out!

The file that I refer to is here: https://mega.nz/#!205TjTJb!iK73-HB0Fg4p … 9_HC_Czrfs

I did this because there are 3 different downloads floating around which are relevant to this, with only a few files which are still relevant, so I repackaged them, hoping to make the process easier.


# Guide to using LSDJ and game roms on BennVenn 256M

## Intro

I had a lot of obstacles getting these cartridges working properly with LSDJ!

Most GB games use SRAM (save game memory) of 32K as default. Very few want/need more than this. LSDJ however is writter to use 128K for it's save memory. It *can* be used with 32K, but then you can only have one song at a time.

So here's a guide to save someone else the time that I had to spend! I hope this gives you an A to B guide to setting up and using LSDJ on your BennVenn 256M.

You will need:

- A Joey joebags reader/writer - available from BennVenn (the manufacturer) and other Gameboy websites.
- A 64M or 256M BennVenn flashcart (also available from various sites)
- A copy of LSDJ 4.7.3.

(If you just want to use the 256M for games and non-LSDJ programs, then this guide will not be of much interest to you - you can look at the BennVenn Setup.pdf thats available alongside the download links on Benn's website.)

## Software setup

1. If you haven't already, buy LSDJ (it's donation-ware, so dead cheap!) and download 4.7.3.

**At time of writing (02/17) 4.7.3 is the only version that can be used. This is due to complex save calls being made from/to the LSDJ rom, which takes some time to write. To be fair though, there are no major feature differences between 4.7.3 and 4.8.0 (latest at time of writing).**

2. Get latest Joey Software from Benn's download page: http://bennvenn.myshopify.com/pages/downloads

3. If you want to use Python script (or are not on Windows), you need to install Python, Tcl and pyUSB. This varies from system to system.
    - For Windows:
        - Not strictly necessary - there is a windows build that comes with the software (in the /dist directory). Stop here.
        - If you just *have* to use the python script (?!), download and install latest version of Python, ActiveTcl (which installs Tcl on your system) and pyUSB.

4. Install xpsXP-111 using the xpsXP-111-setup.exe that's included with this download, or by finding the relevant version for your system (easily googled I think).

## Process

Before flashing LSDJ 4.7.3 to the cart, make sure you're done all kit patching and save building that you want to do.

### Patch the LSDJ rom.

1. Double click on LSDJ_SRAM_MOD_Linker.ips. This should be associated with ipsXP and open the program.
2. Navigate to the lsdj.gb rom you want to patch and select it.
3. Your original rom will be renamed to lsdj.gb.bak, meaning that the new lsdj.gb is the patched file.

### Run it through the LSDJ builder

It helps to keep the file window where your lsdj.gb rom is in view to watch the file size.

1. Open up LSDJBuilder.exe
2. Click 'Patched LSDJ file'. Navigate to the newly patched lsdj.gb rom.
3. Click 'output file'. You can select the very same file so that it's just overwritten.
4. Click 'Generate 64M LSDJ file'. (ignore the fact it says 64M - this was a smaller precursor to the 256M). You should see the size of lsdj.gb jump from 1024KB to 8192KB.

### Building the menu for the cart.

Now we need to add roms to the menu system and build them into a format the cartridge can understand for multibooting.

IMPORTANT: Before doing this step, make sure that all your roms and Menu.gb are in the same directory. My advice is to copy all the roms you want to use (including our newly patched and built LSDJ), plus Menu256_LSDJ_Fix.exe to the same directory.

1. Run 'Menu256_LSDJ_Fix.exe'. This is an alternative version of the standard menu builder program.
2. Click 'Find File'. Navigate to where your newly patched and built LSDJ is and select it.
4. Click 'Add Rom'. You'll know it's going fine if the block size of this LSDJ is 256. If it says 32 then you've missed a step.

Repeat all this if you have more versions of LSDJ (i.e. if they have different kit setups or different save files) to load. You can have a maximum of 3 on the 256M cart, though keep in mind this leaves you little to no room for anything else.

Now you can add other roms, such as games or other music programs. If a game (e.g. Pokemon or many others) require a save game file, then check the 'Save?' box BEFORE clicking 'Add Roms'.

5. When you've finished, click 'Generate Compilation'. This will create some files in the same directory where this builder and all your roms are, called Output.gb and Output1.gb, Output2.gb, and maybe Output3.gb and Output4.gb, depending on how much you're wanting to flash to the cart.

### Flashing the cartridge.

1. Start up the joey reader/writer software.
2. Click on Cart Type >> BennVenn256M >> Block1 >> Flash ROM.
3. Navigate to your recently generated Output1.gb and select it.
4. Follow instructions for removing and replacing cart from the program and it will start to write to your cart.
5. Follow the instructions when the writing process has completed.

Repeat these steps for as many banks of data/output files as you have, but flash output2.gb to block 2, output3.gb to block 3 and output4.gb to block 4 - as many as necessary.

It is not necessary to flash all four blocks unless needed. If there's only 2 output files that you made, then just do blocks 1 and 2.

### Play!

Your cartridge should be all ready to go. You pop it in your gameboy, then select an item from the menu. It will then reboot the gameboy into that program.

If you want to know more about flashing and dumping save files etc., then see the .pdf guide that's on Benn's website.

Have fun!

Any luck getting this to work with the latest lsdj?

YOu'd have to ask BennVenn. When I wrote this 4.7.3 wasn't quite the latest then either.

Most likely, until there's a major feature increase, no. But do you really need it?