I don't have a lot of experience with expanded EBOOT. Did anyone try a test build on actual hardware? Basically you need to make sure it will boot... because it might not even boot. If it boots, it'll probably work fine.
EDIT: Confirmed not working on a real PSP, not sure how to debug.
I tried base patch v3 on a real PSP and you get a crash when you open the battle menu.
Eboot metadata:
http://pastebin.com/eteuJA3C
I'm having a lot of trouble here.
I loaded up the original game.
The memory space is 0x8800000 to 0xA000000. There's a whole 32MB more memory on most PSP models. But I don't know how to access it.
I noticed that the memory area 0x9E40000 to 0xA000000 is unused so I thought to move the string expansion table there.
If I put a huge virtual address for the new block, (I tried 0x9E40000) the PSP will think the EBOOT is enormous and allocate all that space for it (0x8800000 to 0xA000000). Such an EBOOT will work in PPSSPP but not on a real PSP.
One thing to try is to reduce the size of the expansion. I think there's still enough space to fit everything.
Another thing to try is to put instructions to copy the string expansion table somewhere else when the game starts. That way the memory will still be allocated properly. The pseudocode for memcpy goes:
a0: Target
a1: Source
a2: Amount to copy
memset needs to then be called to zero out the source.
a0: Target
a1: The value to set (zero)
a2: Amount to set
--------------
So apparently that's not the problem. Base patch v2 doesn't work either.
--------------
Base patch v1 doesn't work either.
EBOOT insert program isn't working either. EDIT: EBOOT insert tool seems to be working. I didn't realize you changed the pointers column.
As for why they don't work on a real PSP: I think it has something to do with the VWF EBOOT hacks.
---------------
I needed to make everything independent because I was finding it difficult to keep everything straight
eboot - library I wrote for handling EBOOTs (doesn't do anything by itself)
mod.asm - used w armips to modify the EBOOT code
shared_bin_tool - unpack / repack shared.bin
qb_battle_dumper_inserter - inserts the battle text (17.bin)
qb_script_insert_(bulk_inserter)_v3 - inserts the script (10.bin)
qb_string_insert_v2 - inserts misc strings (skills, etc.) (03.bin)
build - builds shared.bin (using shared_bin_tool) and builds the EBOOT
1) Expand the EBOOT (using eboot)
2) Insert the EBOOT strings
3) Build shared.bin (using shared_bin_tool) and update TOC
4) Add code using armips
---------------------
The process is long, unfortunately. Everything is now based on original game data except for filelist. Since that is just metadata, I've included it here.
I still don't know if everything will work with a real PSP because I'm on vacation at my parents' house and don't have my real PSP with me. I have a way to try Stormyu's idea of attaching the extra data to a random file, so I'll give it a try if it ends up not working.
1. Get ULJS00190.BIN, the decrypted EBOOT, from the original game
Go to \ppsspp\memstick\PSP\SYSTEM\DUMP ad delete ULJS00190.BIN
Go to PPSSPP developer options and enable dump decrypted EBOOT to file
Load the original game
Go get ULJS00190.BIN from \ppsspp\memstick\PSP\SYSTEM\DUMP and put in tools folder
2. Get ready
Tools pack: (see attached) unpack into tools folder
Get shared.bin from the original game and put into tools folder, rename to shared.orig
Export tsv files from:
QB EBOOT:
https://docs.google.com/spreadsheets/d/1T8NUcVqtriPO-DY3v9Rk26hOZi1ICcwKcxMuAaIslco/edit#gid=0
Main Script:
https://docs.google.com/spreadsheet...LYiGIT4D4Bb3Ewbhz7W2VQVFY/edit#gid=1048817622
Battle Script:
https://docs.google.com/spreadsheet...q2AMQ68Sq5voEqth663D1k3ig/edit#gid=1969211918
3. Unpack shared.bin by running shared_bin_tool
Run it in IDLE
Then type unpack() at the prompt
4. Run the scripts to pack up 03.bin (strings), 10.bin (script), 17.bin (battle script) - you can do any or all of these you want, or none
5. Using xdelta, apply 02.xdelta to 02.orig, getting 02.bin (this modifies the font so each character is at the left side of its box)
6. Run build
7. Build the iso
Open in UMDgen
delete entire contents of SYSDIR\UPDATE
Replace EBOOT.BIN and shared.bin
Import filelist.txt (from tools pack)
Save as uncompressed
8. Run and test