Table of Contents
Flash Advance
Actually, the Flash Advance cartridge is not just one Flash cartridge, but a whole series of Flash cartridges.
You can read about these cartridges in the article The history of the emergence and origin of Flash cartridges for Game Boy Advance. Part 1. Attack of the Clones.
Essentially, a Flash cartridge is like a hard drive for Game Boy Advance, and just like a hard drive on a computer, it can be used for piracy or for regular work. You can write pirated games to a Flash cartridge (if you download the game's ROM file from the internet), or you can use the Flash cartridge for other purposes, such as downloading open ROM files or simply uploading your own program. That is, using the Flash cartridge as a development tool.
But remember, all responsibility for these actions lies with you!
In this guide, we will look at how to use this cartridge and how to write something to it.
Flash Advance Reader
The cartridge came with a device called a Reader. It is needed to write games/programs to the Flash cartridge.
What else do we need to buy?
Since this cartridge is the very first, the question of what else to buy depends on what you currently have. Let's assume that by default you only have the Flash cartridge itself.
1. You need a Flash Advance Linker.
2. You need an LPT cable for it.
3. You need a computer with an LPT port.
Now let's look at everything in more detail:
1. Flash Advance Linker – this is a device used to write information to the cartridge itself.
Actually, there is nothing complicated or requiring explanation in it, except for one point. This device can be powered in two ways: using 6 AA batteries or using a power supply (which is not included).
What power supply should you buy?
It should be 9 volts, 300 milliamps, and have a negative polarity in the center.
I bought a universal power supply Robiton SN500s, which allows you to set the required voltage and change the polarity. In addition, it comes with many different attachments, and one of them will definitely fit the reader.
2. LPT cable.
Here there are a few problems.
1. The LPT cable should be no more than two meters long.
2. It should be Male – Male. DB25M – DB25M.
3. All contacts should be connected one to one. That is, 1 to 1, 2 to 2, and so on up to 25 to 25.
In general, I bought a simple LPT cable (1.8 meters) Male – Male, disassembled the connector and checked how everything was connected. After that, I resoldered all the contacts (only 8 contacts were connected, so I had to solder 17 more wires on top), one to one, and everything worked.
3. Computer with an LPT port.
Nowadays, it's hard to find the right LPT board. And it's not even that the board itself is missing (although there are problems with them too), but firstly, Windows starting from Vista does not allow redefining the LPT port to the desired address, and secondly, this is frankly outdated technology.
What to do in this case? I simply bought an old laptop with a built-in LPT port for 2,500 rubles on Avito.
What to pay attention to:
Windows should be no later than XP (i.e., XP or earlier).
The BIOS should have the following LPT mode settings: EPP/ECP mode. (Possibly only one of them).
In the Windows settings, the LPT should be set to the address: 0378-037F.
The LPT settings should look like this:
Is this cartridge worth such hassle? Considering that for 2500 rubles you can buy an EZ Flash Omega, it's up to you to decide.
How to write games to the cartridge?
First, you will need the program: FlashAdvanceWriter32.zip
This archive contains both the files for working with LPT (DLPORTIO.dll/.sys) and the program itself (they should be in the same place).
Run faw32nt.exe and enter the program menu:
How to understand that the cartridge is being read correctly and everything worked?
First, I suggest you start by cleaning the cartridge and pressing EraseFlash. And immediately refuse. If the cartridge is found, it will be displayed (as an image) in the menu at the top. If it is not found, it will say “Flash not found!!!”. For me, Flash not found was mainly related to the batteries (either they were dead, or the power supply was not tightly connected to the reader).
Let's start with the top left part of the program:
Here are 6 buttons and an image of the cartridge if the reader managed to find it.
Write Flash
– write ROM files to the Flash cartridge.
Verify Flash
– check the written files on the Flash cartridge (compares the ROM file with how it was written to the Flash cartridge).
Backup Game
– make a backup of the game file.
Write Saver
– write the game's sav file to the Flash cartridge.
Backup Saver
– make a backup of the game's sav file to the computer.
Config.
– program settings.
We will start with the program settings. If you press the Config.
button, the following menu will open:
Tabs:
Printer Port No.
– select the port that is in the settings.
Speed
- the speed of uploading to the cartridge. By default, it is set to 4, you only need to lower it if something is wrong with the upload.
Option
- (the most interesting tab, by the good old tradition, I spent a day to understand what everything here does, because no one wrote the documentation).
IPS Apply
– everything is clear here, just add an IPS patch to the game.
Verify
– automatic checking of uploaded games on the Flash cartridge (corresponds to the Verify Flash button)
Fix Data
– Adds a header to the program (or game) if it is missing, corrects the game size, and so on (this function should be the only one enabled).
Cut 32K
– the most incomprehensible function, if translated from English to Russian, it means cut 32K, but from what and for what?
The CUT 32K
function clears that very necessary place (only in the first ROM file) and puts there
data about multiboot.
GBA Pre. Boot
GB Pre. Boot
In today's realities, these buttons are outdated, they were needed to select that very multiboot file, for which we freed up space above. But in the latest version of the program, it was simply embedded in the program, and now you don't need to select anything. Well, unless you write something your own.
Menu on the left in the center:
This is, in fact, a console. It writes everything that happens, errors, and other things.
The right part is the file manager. Here we select the folder where our ROM file is located and drag it to the bottom part. After we drag the desired ROM file to the bottom part, the Write Flash button at the top will be activated.
Bottom part:
Here are two buttons:
Clear All
¬– simply clears the list at the bottom from the games we dragged there.
EraseFlash
– clears the Flash cartridge from games.
Working with the cartridge.
Actually, there are no functions or secret button combinations in this cartridge.
Only in the start menu, when you press B
or L
or R
, you can select the corresponding save size, but more on that later.
Working with saves (Theory).
Working with saves is a feature of Flash Advance cartridges.
And a very strange feature. If working with this cartridge is simple and after writing a game to the cartridge, you can only start it or turn it off, like with a regular cartridge, then working with saves on this cartridge is done very tediously, and to understand it, I had to sweat.
So, the cartridge has 256 kilobytes of memory for saves built-in. And working with these 256 kilobytes, in my opinion, is greatly complicated, although for the first Flash cartridge in history, it was a breakthrough right away.
To understand how to work with this memory, you need to understand that each individual game or program uses a different amount of memory needed for saves.
And based on this, you can set the save size yourself for each specific game.
You can set three save sizes: 64 kilobytes, 32 kilobytes, and 8 kilobytes. Accordingly, the entire size of the save memory can be divided into a different number of saves, from 4 (64 kilobytes each) to 32 (8 kilobytes each).
Save size | Number of saves | Bank names (can be replaced with the word slots, i.e., where the save is located) | Which button to press? |
---|---|---|---|
64k | 4 | 1, 2, 3, 4 | B |
32k | 8 | 1a, 1b, 2a, 2b, 3a, 3b, 4a, 4b | L |
8k | 32 | 1a1, 1a2, 1a3, 1a4, 1b1, 1b2, 1b3, 1b4 2a1, 2a2, 2a3, 2a4, 2b1, 2b2, 2b3, 2b4 3a1, 3a2, 3a3, 3a4, 3b1, 3b2, 3b3, 3b4 4a1, 4a2, 4a3, 4a4, 4b1, 4b2, 4b3, 4b4 |
R |
Let's look at the table above:
First row: 4 saves of 64 kilobytes each with bank names 1, 2, 3, 4. You need to understand that by default, this save size is used. That is, if you write 4 games to the cartridge, everything will be fine, each will be allocated 64 kilobytes of SRAM memory, and everything will be fine. Accordingly, the first game will be assigned bank 1, the second game bank 2, and so on.
Interestingly, if you write 5 games, the first three games will automatically be allocated 64 kilobytes each for saves, and the last two games will share the remaining save size. If you write 6 games, the first three will still be allocated 3 slots of 64 kilobytes each, and the last three will share 64 kilobytes.
If for some reason you wrote a backup save file to the wrong bank that corresponds to the game in its ordinal list, then you press the B button on the console and select the desired bank.
That is, in fact, the entire management of save files lies with you. In an ideal scenario, you can use 4 games (with 4 banks of 64 kilobytes each) and everything will be fine.
It is assumed that after writing games to the cartridge, before starting the game, you will set the desired value for each game yourself (using the B
L
R
buttons). But, in practice, this is, of course, doubtful.
How to make a backup and restore saves.
In the upper left part, there are two buttons Write Saver
and Backup Saver
.
They open the same menu:
At first, this menu may seem strange, but in general, there is nothing complicated here.
Both procedures, for backing up a save and for writing to the cartridge, are the same. The only difference is which button you choose first Write Saver
or Backup Saver
.
Again, fine-tuning is only needed if you, as suggested above, initially set the required save size.
For a 64-kilobyte save, in the first tab 64К
, you only need to select the number of the desired bank from 1
to 4
. And in the last tab Size Select
, select the required save size, that is, 64 kilobytes.
For a 32-kilobyte save, you need to select more tabs, as you remember (from the table above), 32-kilobyte saves are denoted not only by numbers but also by letters: 1A, 1B, 2A, 2B, and so on. Accordingly, to write (or make a backup) to a cell, for example 2B, you need to select the bank number in the first tab 64К
, in our case 2
, in the second tab 32K
select A
or B
, in our case B
, do not touch the third tab, and in Size Select
select 32K
(but this value is set there automatically).
For an 8-kilobyte save, the same procedure as for 32 kilobytes, but you also need to select the desired value in the third tab, that is, for 3B3, you need to sequentially select 3
in the first tab, B
in the second, 3
in the third, and 8К
in the fourth.
Before starting the game (after the save writing procedure), you must select the exact location of the save. That is, for 3B3, you must press the R
button and scroll (using the UP
button) to the value 3B3 and only then start the game.
Epilogue
Flash Advance cartridges had only one noticeable drawback:
LPT connection and, accordingly, the search for old equipment and wires to make it work. This was a problem even then, as there were many questions about why it didn't work as it should. (This was later fixed in both branches of development of these cartridges, both in Flash Advance xTreme and in Flash 2 Advance).
In general, working with the cartridge is very simple; it has no special functions, write and play. Except that you will have to figure out the save system.
But in 2020, with so many competitors and such a complex connection system, it may only be needed for enthusiasts who want to dig into the past and understand how it worked back then.