Mr_Beacon00 has apparently found a way of swapping out objects, but has yet to say how it's done. What he has shared is the ability to alter the identity of hidden hot spots, and change what item a prisoner is holding.
For ease of use, savestates are recommended. They've been tested on the USA ROM in VisualBoyAdvance 1.8.0.
Memory addresses are inconsistent in Game Boy Advance games, but if you load the "msa-us-item spawn test.SGM" savestate, then the following should work. If you enter the following addresses in VisualBoyAdvance's memory viewer and change their values:
- 20006C6: item (00 ~ 23)
- 20006E0: prisoner type (00 = item, 01 = POW, 02 = PF cadet)
Once you destroy the hot spot, the changes will take effect.
item ID: 0A, 0B, 0C, 0D, 0E
Big variants of the Heavy Machine Gun, Shotgun, Rocket Launcher, Flame Shot and Laser, with unused animated graphics! Picking them up plays no sound effect, and doesn't even give you the weapon. What a swiz.
item ID: 17
An item that randomly cycles through all the weapons, changing every second. Picking up the item displayed will give you that weapon. An unused item that's existed since Metal Slug 3, but has yet to appear in-game.
item ID: FFFF
If a common prisoner is set to this item ID, they won't drop an item when rescued, but instead be recruited as Hyakutaro! He will follow the player and launch homing fireballs when enemies are on-screen.
He's missing his melee attack, and his fireball has a few quirks - it only launches after his firing animation has finished, it launches from behind him instead of his fists. All that, and each fireball only does 10 units of damage, which is less than even your default handgun with the Handgun+ card equipped...!
Occasional graphics glitches can occur when Hyakutaro is present, perhaps a result of eating into the already-limited VRAM.