Teq's Minor Assembly Shenanigans

There is a glitch if you swap between two units. Before you move to another unit:

After you move to another unit:

So the glitch is that ‘/’ symbol:


Download here.

FE7 has a set of event codes to set and unset the unit state bitfields, namely UNCM and UNCR. FE8, oddly enough, has no “generic” unit state setter. There are a few event codes that set specific bits: INVIS/DISA sets bit 0x1, SET_ENDTURN sets 0x2, etc.

The following hack allows you to set/unset whatever bits are in memory slot 1, like so:

SETVAL 0x1 0x2

and that will set 0x2 (already moved) on Eirika.

You’ll have to add the raws to EA. I recommend adding them to “Language Raws/Units/Change unit condition.txt”. You can change the names if you’d like.

#Set the bits in memory slot 1 to the unit's condition word (+0xC in unit struct)
SET_CONDITION, 0x3427, 4, -game:FE8 -indexMode:8
	Character, 2, 2

#Unset the bits in memory slot 1 to the unit's condition word (+0xC in unit struct)	
UNSET_CONDITION, 0x3429, 4, -game:FE8 -indexMode:8
	Character, 2, 2

And here’s a list of the bits that we know so far:

0x00000001 Don't display standing map sprite
0x00000002 Greyed out/already moved
0x00000004 Dead
0x00000008 Undeployed
0x00000010 Rescuing someone
0x00000020 Is being rescued
0x00000040 Cantoing/already performed an action
0x00000080 Under a roof

0x00000100 Makes movement squares display over the map sprite, but is cleared when selecting a unit, so rather useless
0x00000200 Doesn't display map sprite in link arena if Hide Units is set to 'On'
0x00000400 Related to AI; not entirely sure what it's for
0x00000800 Riding a ballista
0x00001000 Drop last item
0x00002000 Metis Tome/Afa's Drops has been used
0x00004000 Solo animation 1
0x00008000 Solo animation 2

0x00010000 Something about not drawing map sprites?
0x00020000 Kind of unused
0x00040000 ^, see below
0x00080000 If this and either 0x00040000 0r 0x00020000 is set, activates a "super arena" with harder enemies and glitchy alternate text if you enter the arena
0x00100000 ?
0x00200000 Was not deployed last chapter
0x00400000 ?
0x00800000 Increase portrait index by 1

0x01000000 Makes the standing map sprite shake very quickly. Doesn't seem to be useful otherwise
0x02000000 Unit is unable to take part in chapter (can't select from prep screen)
0x04000000 ?
0x08000000 Use link arena palette
0x10000000 ?
0x20000000 ?
0x40000000 ?
0x80000000 ?

Are there plans to make one of these for FE8?

It only works when i initialize the fight and kill him. If he attacks me and i kill him i dont get the item. o:

Good catch. I forgot to update a pointer (didn’t realize there was another function calling the same proc).

Also included a fix so that obtaining an item on enemy phase doesn’t say “Item stolen” and play the sad noise, courtesy of SquareRootOfPi (thanks @Onmi for bringing it to my attention).

Here’s a patch containing a series of QoL hacks for FE7, bundled together. Some of them exist in some form or another, but I’ve collated them all for your convenience, and ported a few from FE8.

Download here.

Danger zone
Move and Con getters (includes Show – Mov if in Guard Mode hack)
Show hp healed to target when using a staff
L-toggle (toggles animations on/off when starting combat)
Hp bars and warnings
Display battle stats with animations off
Display growths with Select (doesn’t change the stat name colors based on growth, sorry)


Enemies showing growth rates can also be displayed, but cannot be switched.

Thanks for catching that. Fixed.

1 Like

Any chance this can be made to work with your str/mag split?

I applied this to a rom that had the split already applied and I get a black screen when I try to open the statscreen. I assume it’s the display growths part of the patch that is causing it because it’s trying to edit the statscreen but it has already been altered by the str/mag patch.

1 Like

That’s planned, yes, but for now you should just comment it out the #include Display Growths line (or whatever it’s called) in the installer. It’s not super high on my priority list, sorry.

speaking of the str/mag split, fe8 when

1 Like

@Kirb has one for FE8. I’m not sure what stage it’s at; it might still have some glitches.

1 Like

his version replaces Res with Mag entirely rather than yours, which splits Str and is much more useful/interesting to me

1 Like

He has an actual str/mag split for his gba FE1 remake, whose name escapes me at this moment.

1 Like

gfe1r? yeah, i know, unfortunately he hasn’t made it avail for anyone else to use, and based on the progress of gfe1r it doesn’t look like i’ll be able to get it for a while

1 Like

I would hope that he would release it before gfe1r is complete (which is partially my reasoning for pinging him here). However, it may require the skill system; I’m not sure. At any rate, I don’t intend to make my own, since that one already exists.


Gotcha, I’ll do that for now.

1 Like

thanks for the clarification, all i can do now is hope that @Kirb comes thru

1 Like

Most of my hacks can be used either standalone or included as part of a project. Usually, you’ll see a

#ifndef FreeSpace
    #define FreeSpace 0xB2B000

to allow this. I used to use Free_Space when I started hacking, but switched to FreeSpace after noticing other hackers preferred that variable. Unfortunately, I hadn’t gone back and updated my old hacks to switch from Free_Space to FreeSpace, which caused me to spend an hour debugging a rom and figure out this was a problem.

So I’ve gone back and updated all the stuff in my folder. If you’ve used the following hacks and need to update them, take heed; the variable has changed.
FE7-Str/mag split
FE8-Battle stats with animations off
FE8-Growths rework
FE8-Move and Con getters
FE8-Display growths/Talk
FE8-Show weapon rank level achieved

NOTE: You can avoid the entire issue by adding “#define Free_Space FreeSpace” (or the other way around, if you use Free_Space instead) to your definitions.


No problem with the hack. It works just fine.

Just make sure your emulators are either
VisualBoyAdvance v1.8.0 and above
No$GBA v2.8 and above

1 Like