Final Fantasy 7 > FF7 Tools

[PSX/PC] KERNEL.BIN editor - WallMarket (v1.4.5)

(1/254) > >>

Now this really can edit virtually all bytes of the KERNEL.BIN and kernel2.bin (at least, to the best of my knowledge). In case something is wrong (I'm almost sure something will be), let me know. I cannot stress enough to make backups!!

Note: All discussion of Proud Clod has been moved to this thread.

WallMarket 1.4.5 is here!!
Mediafire Mirror

Few more bug fixes. Attack Damage formula is handled differently as is Materia Type. Materia Links should be easier to manage too.

Microsoft .NET Framework 3.5 or higher
Microsoft Visual Basic Power Packs 3.0 or higher (for WallMarket)


Included .dat file. This file contains all the display characters and battle script addresses and their values. If you decide to change the character set, update this file. If this file is not present in the same directory as WallMarket.exe, then WallMarket will use the standard FFVII display characters. Also, disassembly will not display functions of known address values. If you discover the function of an unknown value, add it to the bottom of the file (or anywhere after the first 256 lines) in the same format as the rest of the addresses:
<4-digit hex address>|<function>
and it will show up during disassembly.

Images: (no longer completely accurate, but close enough :D )
Initial Data/Character Data:
Initial Data/Party Data:
Initial Data/Character Growth:
Initial Data/Curves:
Initial Data/Character AI: (Not taken directly from WM, but looks the same)
Initial Data/Random Numbers:
Initial Data/Scene look-up:
Initial Data/Spell Order:
Key Item Text:
Battle Text:
Summon Attack Names:
Raw Data Window:

All the information for this program is described in this thread. In a nutshell, this can edit in-battle information on attacks, items, weapons, armor, accessories, and materia! Want to make a potion heal 1000 HP? Easy! Want to make Bahamut ZERO hit all targets, party and enemies alike? Simple! Want to make casting Ultima end the battle without rewards and be holy elemental AND cause poison, silence, and darkness? No problem! Want to make Buster Sword have 8 linked Materia slots with triple growth? Piece of Cake! You get the idea by now, I hope. ;) Almost any effect any attack has can be given to another. Any weapon can be modified to be equipable by another party member (may cause graphical errors . . . haven't tested this much). Armors can be changed to raise stats very high or not at all. Accessories can be changed to nullify any elements and block ALL status effects. Materia levels can be increased or AP requirements decreased!
I could go on and on about what this can do, but I'd run out of space! :D Just download it for yourself and see!!
Always keep a backup, unmodified KERNEL.BIN in case some change causes the game to crash. Every modification of known information I've made has successfully been reflected in battle.


    * WallMarket will detect if the PC version exists and will initially point to kernel directory
    * Finally updated that help file
    * Can edit all parts of KERNEL.BIN!!
    * If you can call this a feature, it now requires Microsoft Visual Basic PowerPacks 1.2 or higher.
    * Can edit Character AI and moderately accurately disassembles into something readable similar to C or Java.
         NOTE: Disassembly not always accurate. I can't get it much more accurate than it is now so don't contact me about it unless it crashes during disassembly.
    * Forgot to mention that it comes with a WallMarket.dat file that contains the text and script address functions. Doesn't handle multi-character font values yet. Still working on that. Rather, it will read the multi-characters and display just fine, but it won't save them back the way you'll expect.
          o Actually saves now. Stupid was written to account for the Read-Only flag, but didn't save if it wasn't on. Talk about embarrassing.  :oops:
    * You can now save changes in a smaller file that can be distributed and applied to other users' KERNELs via WM. Best part of this is that the changes will stack! You can load one file that changes names, then another that changes data and both will take effect!
    * Fixes some string issues related to AI Editing
    * Smaller file size and virtual footprint
    * Attack Damage is split in two. This offers more variety to attack types.*new*
    * Materia type is also split in two. This is likely going to be more confusing than before, but it's meant to be wholistic.*new*
    * Fixed Initial Materia AP not saving when clicking on materia picture as well as a few other things.*new*
    * Limited size of PC text so it will warn you if you exceed the game's maximum allowed size. *new*

Note: Most information is known, but not all. If you have any information on unknown values please let me know by replying to this or PMing me.
Also keep in mind that I intend to continue updating this with relevant information so this is not the final version.
Note2: zlib1.dll needs to be in the same directory as WM or in the WINDOWS\system32 directory. If you get an error during KERNEL.BIN creation saying it can't find zlib1.dll, put it in the same directory as WM.
Note3: Filefront was saved so the links to the Filefront files has been restored and I'll be staying with them.
Note4: Comes with an incomplete readme with opcodes and such.
Note5: To delete scripts, highlight the script section ("Pre-Battle", "Main", etc) and press the Delete key on the keyboard.
Note6: For questions about animations indexes, read this thread first. It will likely answer most of them.

PS - In case anyone is having problems with the new version, sorry. The old versions are dead. :(

I've gotten a request or two for this. It's a basic LZS Compressor/Decompressor that's designed to work with FF7 LZS files and largely based off the LZS compression WM uses for the PCs kernel2.bin file, but optimized for larger files. As far as I can tell it works fine and usually compresses better than Qhimm's method which is really just designed to work with the PC version so size wasn't an issue. In the few tests I've made with this prog, it decompressed all tests successfully and re-compressed them to be smaller than the original LZS file. These newly compressed files were then decompressed and shown to be identical to the first decompressed file. Tests went like this:
File.LZS -> File.Dec -> File2.LZS -> File2.Dec
Size of File2.LZS < Size of File.LZS    AND    File.Dec identical to File2.Dec
Basically, that means it'll work for PSX modding too since they can be injected into a disc image without rearranging file locations. The prog comes with a basic readme as well that should explain how to use it.

This actually sounds rather good.  I'll give it a try when I get home.  Well done. :-)

ive been using it the last couple of days and i cant put to words how much easier and helpful its been.

Im excited to try.  I have the download but I haven't tried it yet.  Will let you know whats up soon.

Kudistos Megistos:
Thank you! I'm going to try this right away.

And well done for getting it finished so quickly; just a few weeks ago a kernel.bin editor was the alcohol-induced dream of a raving madman. Now my dream has come true ;-) Hurrah!


[0] Message Index

[#] Next page

Go to full version