Yeah, for now I am using the case sensitivity to my advantage, as any time I have a file I want to test, I do that 'Load a .TMX, then load a .tmx to see if I am roughly on the right track' test. For simplicity sake, I'll refer to .TMX as the files that are properly loaded with settings applied, and .tmx as ones that load, but use a previously loaded .TMX to properly display. Make sense?
With your significant help I've gotten quite close to cracking this thing. I now have a small program that can find and extract TMX files from the .BIN with a fair amount of accuracy. Once it is complete, I will post the source file here for others.
TMX observations:
File starts with 0x02000000, then the file size, as you stated, such as 0x40840000, the next 4 byte block spells out TMX0.
After that there are a few bytes I am not sure about. They seem to be a padding of 4 bytes (0x00 each), then two bytes that together equal 1 (possibly the 'Skip Size' as read by GGD?). The following 2 byte group appears to be the width of the image (usually 0x0002 -> 512), followed by another 2 bytes for the height.
Attached is progress I have made with the Target2.BIN of Aigis.
Inside is:
- i_bust_03_b2.TMX - Aigis's body shot as ripped by my application.
- i_me_03_b2.TMX - Aigis's closed eyes frame as ripped by my application.
- manualEdit.tmx - Aigis's closed eyes file, but I used a hex editor and did it myself. This file is byte for byte the same as the other version, but a bit longer at the end, as my application removes the padding.
- aigis_head.png - shows the current progress on the eyes closed image, which is nearly correct.
I found that on the full body TMX, the previously mentioned height and width values are both 512. When I looked at the closed eye TMX, they are 512 and 64. However, it does not appear that GGD is reading it right, or respecting the image size. If the closed-eye TMX is loaded first, it is loaded as a 64x64 image, and the palette looks incomplete.
If the eye TMX is loaded, then the body TMX, then the eye tmx, we get the .png I included, which is a 512x512 image with roughly the correct results. Ideally, there must be a way to get the image loaded at first try in the right 512x64 size, but I think I am done for tonight.
As for why I am working so hard to do this, it is for my users!
I have written a Persona fusion calculator / database / assistant program for Persona 3 and 4 called 'Igor's Index'
The project page is here.
It lets you look at all the vital info on any persona, predicts fusions, and lets you search for persona based on your specific needs. If you are a player, as I think you are given your knowledge of Aigis, you may want to check it out. Totally free of charge, of course.
By popular demand, I (with the aid of this forum topic) managed to include images of each Persona on their profile. An update I am ever so slowly working on, involves the party members, so I wanted to get clean images of each of them, and found they were trapped in these .BIN files. With your additional help, I've now got the means to extract the profile shots of each party member and social link. Frankly, I could stop right there, but now I am personally curious about getting the closed eye frames, or possibly just doing it for completest sake. Curiosity may have killed the cat, but it just sucks away my spare time.

When I was younger I wanted to be in game design, so seeing how things are packaged on a professional disc like this is also kind of fun.
You do not have the required permissions to view the files attached to this post.