New EZ-Flash Air firmware: testing game deletion and Mode B

Today I finally got around to testing the new EZ-Flash Air firmware.
On paper, the devs promised a welcome improvement: you can now delete any game without having to remove everything after it one by one. I had high hopes, but in practice things turned out to be a little weird.
First, of course, I had to write some games to NOR — in this exact order: The Lost Vikings, Rayman 3, Metroid Fusion, and Apotris.
After checking that all four games worked, I tried deleting Rayman 3.
And, surprisingly enough, it worked exactly as it should. Rayman disappeared from the list, while the other three games still launched normally.
Then I opened the NOR memory map — a new feature available by pressing START.
There was now an 8 MB hole in NOR (see screenshot 1). In other words, the space where the game had been stored was simply freed; nothing else was shifted around.

I immediately wrote Rayman back, and it landed in exactly the same spot (see screenshot 2). Right down to the byte.

So the developers did deliver what they promised: you really can delete any game regardless of the order in which the games were written to NOR.
There is one catch they did not mention: NOR memory is still NOR memory. If you delete the second and fourth games and each is 8 MB, you will have 16 MB free in total, but not one contiguous 16 MB block. You will have two separate 8 MB slots.
Next it was time to test Mode B.
The Lost Vikings, which was stored at the very beginning of NOR, launched normally. I then deleted it (see screenshot 3).

Rayman 3 became the first game in the flash cartridge menu, but Mode B stopped working.
The Game Boy Advance behaves as if no cartridge is inserted at all, while Analogue Pocket shows a No header error.
It turns out Mode B does not care about the order of games in the menu. It reads the ROM header directly from the beginning of NOR memory.
So I deleted Rayman 3 as well (see screenshot 4).

The two adjacent holes merged into a single 12 MB block. I was pretty sure where Rayman 3 would be written, but checked anyway. After writing it again, Rayman occupied the first 8 MB of NOR (see screenshot 5) — and immediately worked in Mode B.

It immediately reminded me of the old days of disk defragmentation :)
Overall, the new firmware is definitely an improvement. And if you understand how the memory works, managing it should not cause any major problems. Some owners later reported problems; the rollback procedure is covered in a separate post.
For more on the EZ-Flash Air, see my full review of the cartridge.
