So now we want to copy some file in our cmn.emz.
We need the Length of the file.
Calculate it or easier, just open the file in the hexadecimal editor, the last offset number is our Length.
I want to "inject" an edited HWK.fce.ema
Note that it's smaller than ZGF.fce.ema but it works the same with bigger files.
Now let's find the ZGF.fce.ema location (search works well too but let's use our new knowledge)
TB = 9C5C28+38 = 9C5C60
The true beginning of the #EMA is at offset 9C5C60
I select the full file
I overwrite it with the HWK.fce.ema file
I insert blanks (00) to make the next #EMA begin at the start of a line (like it was)
Now I know there are 3 files after the one I inserted (Thx to piecemontee's AE) that were moved by my changes.
I need to check the TBs of the #EMA #BAC #BCM + the TBs of the files at the end:
#EMA TB: A41700
A41700 - 40 (CL) = A416C0 (RL)
#BAC TB: A5B6A0
A5B6A0 - 48 (CL) = A5B658 (RL)
#BCM TB: A826B0
A826B0 - 50 (CL) = A82660 (RL)
ZGF.skl.emo TB: A843E0
ZGF.skl.emm TB: A843EC
ZGF.obj.ema TB: A843F8
ZGF.fce.ema TB: A84404
ZGF.cam.ema TB: A84410
ZGF.bac TB: A8441C
ZGF.bcm TB: A84424
We need to enter the Length of the new fce.ema (other lengths didn't change), and new RLs and TBs backwards:
Et voilà.