What am I talking about? FF7 in 32-bit colour, MWAHAHAHAAH! MWAHAHAHA! BWAHAHA Anyhoo, I got FF7 running in 32-bit colour on *my* PC (and spewing out tons of debug messages, but that's not *quite* as impressive). So: Can people try and get it working on *their* PC's now? Download the patches from my website.
The main place I notice the change is the shaded boxes - you could see the colour banding on large boxes in 16-bit depth; 32-bit solves that.
Seriously, since I have to run 1.02 any patches I make are gonna be far more likely to actually RUN on v1.02 than any other version...
Like I said in the readme; if you've got a card that doesn't need the v1.02 patch, so what? Get it anyway and don't enable the NVidia fixes.
Update: I've got FF7 running in a window now. I'll post the .cetra patch for that tomorrow once it's tested a bit more.
[This message has been edited by ficedula (edited July 20, 2001).]
ff7 in a window ? interesting,
cos i ask u something, when u apply the patch it says "applying registry hack" what does it change in the EXE and the registry? if u dont mind sharing ur discoveries with us?
thanks
When FF7 starts it looks for a binary value in the registry called SSI_DEBUG. If it's there, and contains the right data, debug messages are enabled.
The first thing my debugmode patch does is create a value in the registry with that name, of the right type, and the right size. That's what it does in the registry.
The *next* thing it does is change the EXE code. I did that by examining it in assembler ... nasty but useful. Rather than hack all the different parts of the program that check the registry, I let FF7 check that the SSI_DEBUG value is present, of the right data type, and of the right size. Then, when it checks to see whether the data is valid, it sets a variable to 0 is the data's invalid. The program then tests: Is that 0? If so, skip the debug enable. I just edit the assembler code from the JZ (Jump on Zero) CPU instruction to JNZ (Jump on Not Zero). Then, debug is on when the data ISN'T valid. Which is always, of course, since Square haven't told us what the key for debug mode on is.
I could have skipped the registry edit altogether by editing the assembler that checks, Is the data present? Is it of the correct size? etc., but it was quicker just to hack the code that checked the contents, and satisfy the *other* conditions by creating a registry key of the right type. It was easy to tell by looking at the source code what size and name the registry value had to be; I *couldn't* tell what data it should contain, so I hacked that part.
32 bit patch: Much easier. I just found the part where it calls the SetDisplayMode function and changed it so instead of passing in the result of a function it calls to pick a colour depth, it passes in 32 all the time.
Edit: No luck. It go's into the game then imideatly crashed back to the desktop. Works with ou the 32 bit patch.
Thats with the 650 dets of corse...hmmn.
Nor is your music patch working Fice. Its giving me this in information:
WinMM layer NOT located. Check NEWMM.DLL is in correct location.
FF7 NOT located. Is FF7MUSIC patch installed in correct location?
This blows. The damn DLL is in the right place amd I have patched the EXE. I'm sure I fixed this before but I just cant remember!
[This message has been edited by Sir
Canealot (edited July 21, 2001).]
[This message has been edited by Sir Canealot (edited July 21, 2001).]
Ever going to release the code?
Music patch? Is the setup EXE program in a folder called FICEDULA located inside the FF7 folder? It expects to be...
The code? All the code there is, you can see inside the patch files. Don't expect to understand it though; it's in raw hex. You'd need to understand assembler to alter or make patches yourself...
Perhaps this be "Ficedula bad day" or something...I should try cosmo for a laugh. If that dosent work then the gods have cursed me not to be able to run any of oyur stuff or something. Damn gods.
[This message has been edited by Sir Canealot (edited July 21, 2001).]
However: I DO have a sort-of-fix. When you run FF7 in a window it has to use the same colour depth as your desktop, of course. So if your desktop is in 32-bit, running FF7 in a window forces FF7 to be 32-bit - and it doesn't corrupt the movies like the first method does.
I'll upload a FF7-window mode patch tonight or tomorrow; I'm just testing it at the moment.
To enable debugging messages without patching the EXE, create a new string value in the "HKEY_LOCAL_MACHINESoftwareSquare Soft, Inc.Final Fantasy VII" key, and call it SSI_DEBUG. Enter "SHOWMETHEAPPLOG" as the value. FF7 should now output all of its hidden debug messages. (Mind you, I haven't tested any of this. Anyone care to try?)
On a side note, while studying the asm listing of FF7, I've found that the debug message functions also include file I/O, suggesting you can set FF7 to create a rather detailed log of its session (APP.LOG perhaps?). I'll know for sure later on.
BTW, since it's probable to get everyone's attention in this thread, do you think that FF7 stores some of the info for the field files bitwise? What I really mean is they can choose to use 3 bits to store certain information instead of the usual minimum of 1 byte(8 bits). That *could* be an explaination for the irregularities in the section 7 of the field files.
If you enable debug messages with my patch, you'll find out FF7 does both output debug messages via the system debugger, and logs them to APP.LOG.
FF7 v1.02 includes support for the Riva 128 and TNT. You don't *have* to enable it though.
Just in case you guys wanna know, APP.LOG is created everytime you run FF7.exe, the only difference is without the correct registry hack, nothing is written to it.
fice : My question above?
Update: I uploaded that windowed-mode patch I was talking about before.
[This message has been edited by ficedula (edited July 22, 2001).]
I wish I could get more info on how the memory is modified though.
Weird one that is...
Mp3s still arent working. Although does the ini file canealot do any thing? My config was in there and I had to copy it out of there and copy it into the ffmusic.ini to get it to show up in the program. Still no luck. But I am going to fiddle about a bit first.
Nope no luck with the mp3s. Log file isnt putting any thing out this time..nothing at all. I supose that is normal though.
Maybe I am just cursed.
[This message has been edited by Sir Canealot (edited July 22, 2001).]
Hmmm.
I've posted some help on installing the latest version of my music patch in the other thread.
[This message has been edited by The SaiNt (edited July 23, 2001).]
Anyone tried using a PSX emulator before?
IIRC, on certain ones, if you look closely, there is a thin line of misallignent during FMV's on the right hand side.
Of course, you *should* be able to get 32-bit colour and avoid video corruption by using the window-mode patch.
Thanks :)
Oh I got it working buy enambleing 8 but pattled texture support via a tweak program. I took the tick out of the TNT box and run the game in D3d with my Geforce 2! I will post about this tweak program in a minute. This might be handy for people having probs getting FFVII runnin gI bet....
Well, at least it works SOMEhow.
Bad idea. I did, and it often hangs in battles. It always did it when I fought Jenova*Birth..