Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Maki

Pages: [1] 2 3 ... 19
Why rewrite them?

I believe that was a joke

Field is multi archive. Therefore you need to export whole field archive and then again export single field archive to get these files. About differences - only in EXE. Steam version uses realtime assembly patching using A3DN.P (or something like that) file for code injection to hack itself. Treat steam re-release like an official HD mod from SquareEnix.

So, the field goes like this:

Field.fs > (field_codename).fs > field files
So, open field.fs, go to archive in Deling and export the folder. Now open the exported files again with Deling and go to archive and export again.

I'm slowly approaching breaking into MIPS assembly. On my example I'm trying to break PSOne FFVIII battle stage loader code that is hardcoded in files. Therefore after analysis with IDA I'm having a pretty good understanding of the code, however there are some portions I just can't happen to break which are: stack and arguments. Surely I see:

Code: [Select]
addiu   $sp, -0x18makes stack size of six, where
Code: [Select]
sw      $ra, 0x14($sp) is the return address, therefore five values on stack to reverse. There are some instructions that define loading stages based on arguments which I don't know what are.

Therefore my question is- Do you know of the best way to disassembly on-live PSOne MIPS code played on debugger? Mostly I want to break on as soon as the processor gets to the code to test the stack and etc. I used NO$PSX before, but it's not intuitive enough for locating code I need. What are your ways to hack PSOne games on MIPS level?

Got it working with IDA. Used IDApsx with IDA 6.8 and PCSXR. Need to tweak plugins, but it's all working like a charm. Took me three hours to setup by the way. :-o

You're talking about assembler. After doing changes in the EXE just note the bytes and relative offset and then HEX modify the file. If you need to edit source assembler file by inputting mnemonics then use IDA or OllyDbg.

Thanks that explains a bit. Having issues trying to launch FF9 via Memoria engine though. Just results in a black screen
It's mostly because Memoria doesn't support older versions of FFIX, so if you're using pirated copy you'd need to search for updated version or just preferably buy FFIX on Steam. It's often on -50%

Making Squall SeeD uniform in battle is easy, but making him on all possible fields is .... 😥

I created one for 2000 PC version, shouldn't be a problem to port it to Steam, although it requires CheatEngine. I'll keep you updated, but I'm extremely busy lately.

EDIT: DAMMIT! I can't find either CE table nor anything in my IDA database that would indicate location of entity ID for battle.... also my FFVIII folder is ultimate trash

Is Deling insufficient for you? It has all the needed translation features including Japanese fonts.

Does anyone know how to extract .fl file from a ff8.bin ??

I can extract kernel.bin from main.fl but i canĀ“t get the main.fl from a ff8 psx

There's no such file in PSOne version. You have to extract the file directly from BIN sector. Because of that locating/ripping/reinputting files in big binary block is much harder than archives. PSOne doesn't even uses names like kernel.bin, just raw data.

What version do you have? US, European, English or maybe other language?

If the offsets are all equal, you can simply use one of the above and then add "+" or "-" at the top... like so:


15405F = 00
15406A = 00
15407B = 00
154086 = 00
154099 = 00
1540A4 = 00
1540B7 = 00
1540C2 = 00
1540D5 = 00
1640E0 = 00
1540E9 = 00
1540F4 = 00

Would get you from French to Italian.  But you'd be best doing it from English to whatever.  Assuming offsets are correct.

Also, is

1640E0 = 00

an error?

Yup, my bad. Meant 1540E0. Also adding trick works only for non-english

French steam:
Code: [Select]
15405F = 00
15406A = 00
15407B = 00
154086 = 00
154099 = 00
1540A4 = 00
1540B7 = 00
1540C2 = 00
1540D5 = 00
1640E0 = 00
1540E9 = 00
1540F4 = 00

Italian Steam:
Code: [Select]
1540DF = 00
1540EA = 00
1540FB = 00
154106 = 00
154119 = 00
154124 = 00
154137 = 00
154142 = 00
154155 = 00
154160 = 00
154169 = 00
154174 = 00

Code: [Select]
15415F = 00
15416A = 00
15417C = 00
154186 = 00
154199 = 00
1541A4 = 00
1541B7 = 00
1541C2 = 00
1541D5 = 00
1541F0 = 00
1541E9 = 00
1541F4 = 00

Code: [Select]
15414F = 00
15415A = 00
15416B = 00
154176 = 00
154189 = 00
154194 = 00
1541A7 = 00
1541B2 = 00
1541C5 = 00
1541D0 = 00
1541D9 = 00
1541E4 = 00

Others coming soon

Hi, i'm playing with the fr version, how can i instal it and keep my fr launcher please?
Hate to say it, but it's not possible with non-english STEAM version yet. I haven't prepared HEXT for multi-lingual versions. I'm so sorry you have to wait so long. I'll make a reminder to do it tomorrow.

General discussion / Re: How to open the Crash Dump file
« on: 2017-10-02 09:21:13 »
IMO crash dumps really sucks...

So far I was able to work with .dmp files with:
Visual Studio - use only if you have original source code, either you'll just get a bunch of mess
IDA Pro - This one at least let's you browse disassembly, but it's still messy anyway...

Tools / Re: [FF8] wmx2obj (C version)
« on: 2017-10-02 09:01:47 »
I used Maki's "Rinoa's Toolset" to extract the wmx.obj file, and I used TDM-GCC Compiler to compile this file.

In my converted file all the vertices are (0.000, 0.000, 0.000). The faces seem to be ok, though I can't verify that.
I can't seem to find any thread describing this problem.

please advise

or just open wmx.obj via Rinoa's Toolset

Troubleshooting / Re: Fiie FF8 .x
« on: 2017-10-02 08:56:11 »

For just texture change do the texture replacement with Tonberry:
If you want to open the .X file you have to use:

.X file structure:

Troubleshooting / Re: Launcher ff8 10%
« on: 2017-10-01 08:30:21 »
By chance you have any external firewall installed like COMODO Internet Security? Looks like something is blocking your connection.

Gameplay Releases / Re: [FF8] Training Center
« on: 2017-09-21 06:43:06 »
Just to make addition to this. I was working on FF8 engine commandline. You can just type BATTLE (id) and it forces it anywhere you are, although it's abandoned project and has to be compiled by yourself:

code for battle:
Code: [Select]
const int _BATTLE = 0x5230C0;
ENTRY = 0x0188C810;

void BATTLE(int encounter)
byte* b = (byte*)(ENTRY + 0x184); //MOV AL, [EDX+184h] (MOVSX ECX, AL)
*b = 9;
UINT16* moviepo = (UINT16*)(ENTRY + *b * 4 - 4); //stack pointer
*moviepo = (UINT16)(encounter & 0xFFFF);
moviepo = (UINT16*)(ENTRY + *b * 4);
*moviepo = 0x0000;
signed int(*Func)(int a1) = ((signed int(*)(int))(_BATTLE + _entry));
int result = Func(ENTRY);
printf("\nBATTLE returned: %d\n", result);

Entry is dynamic, so you might want to check the code for entry search code

The transparency should just be "black = transparent" I think?  0 colour = transparent.

Did you try disabling filtering and testing it afterward? This might be related to their rendering enchantments.

General discussion / Re: Final Fantasy Line Number
« on: 2017-08-31 11:54:50 »
I'm afraid I don't understand why you mean

Troubleshooting / Re: My file is corrputed (PSV)
« on: 2017-08-25 13:13:30 »
as above

Currently only working method includes exploited PS3 or having PSVita
You can't repack saves only having ofw PS3  :-[

I can confirm PSVita format is different than PC:

DXT5 header at 0xC11
Filename at 0xB4E

General discussion / Re: balamb garden project
« on: 2017-08-23 16:37:58 »
I'm totally amazed by your progress! I ripped for you real in-game battle fields with original textures, so you basically get a low-poly structure of Balamb:

(You can see parts of classroom that aren't visible on any field in-game which is fairly cool!)
Due to fact it's copyrighted material I'm sending it over PM

More or less you can get this:

Also I'm curious, but how would one attach a debugger/memory viewer to an emulator?

You need special emulator with debugger built-in like no$psx or ePSXe debug edition.

If you have an updated table with all adresses and stuff like that it would be great.

Look at: void PatchAddresses()
for code to translate addresses between 2000 PC release and Steam.

It's basically adding or subtracting 0x10 when address is between 0x45B580-0x4974E0
and 0x1B0 when 0x4A1960 - 0xB5F410

IDA through WINE
or I believe there's native Linux version in non-free edition.

Pages: [1] 2 3 ... 19