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

  • Thread starter Thread starter nfitc1
  • Start date Start date
Status
Not open for further replies.
...I have been trying to change the weapon models using the latest version of Walmarket (i.e. give the Buster Sword, which has the model # of "00" the appearance of the Murasame, which has the model # of 09) but to no avail. When I attempt this, I get a windows error message stating "unhandled exception has occurred in your application" and gives me the option to close or continue. If I close it terminates Walmarket and that's that. If I choose to continue the value of "09" will instantly revert back to the value of "00" upon attempting to do ANYthing else, including saving my kernel.BIN. I suppose this would also be a good time to mention I am attempting to mod a PSX Kernel file. Any help is appreciated...
Frikin' heck! That's apparently been a problem as far back as 1.3.3 (a whole year ago) and no one has mentioned it to me?! It doesn't revert back for me, but it's likely not saving that change. It's some index-out-of-range error and those are usually easy to fix. I'll see if I can find some time today to look at that. It should be an isolated enough thing to fix.

Actually, this shouldn't be happening in the latest version it isn't happening to me. I have 1.3.3 on my desktop at home because I'm lazy. The problem exists there, but I can't get it to happen in the newest version.
 
Last edited:
I don't have this problem either. In any case, you really have no idea what happens to my kernel2.bin ? The only thing I did was text-editing... ...It really can't be fixed ?  :(
 
I don't have this problem either. In any case, you really have no idea what happens to my kernel2.bin ? The only thing I did was text-editing... ...It really can't be fixed ?  :(
I'm still looking at it. Initially I'd say it got saved wrong, but I'm still checking. Have you tried opening it in Teioh?
 
I totally forgot about Teioh ! Thanks for reminding me, I'm gonna try it ASAP.

EDIT:

Wow, now this is amusing. Upon loading it, Teioh says that it is not a Kernel2.bin file. I click OK on this message window, and still notice that the program loaded my text (in the command tab, I read my "you need the item materia to use items" stuff, etc). But the program crashed, as the mouse cursor is eternally blocked into its hourglass form (until I close Teioh, of course).

Apparently, the file got corrupted (after my many changes, I guess) somehow. The weird thing is, the game itself doesn't seem to mind about this corruption. Only utilities see it with a bad eye.
 
Last edited:
I totally forgot about Teioh ! Thanks for reminding me, I'm gonna try it ASAP.

EDIT:

Wow, now this is amusing. Upon loading it, Teioh says that it is not a Kernel2.bin file. I click OK on this message window, and still notice that the program loaded my text (in the command tab, I read my "you need the item materia to use items" stuff, etc). But the program crashed, as the mouse cursor is eternally blocked into its hourglass form (until I close Teioh, of course).

Apparently, the file got corrupted (after my many changes, I guess) somehow. The weird thing is, the game itself doesn't seem to mind about this corruption. Only utilities see it with a bad eye.
I'm lad Teioh didn't work any better. I was going to cry if it did. :)
 
NFITC1, I keep losing data in Wall Market after I edit any line in the "battle text" you know why this could be happening? A few minutes ago I edited game over on a mildly edited kernel.bin and I changed tabs to Armor and most item names were clipped. I tried reloading a reserve kernel.bin to restart, but this file too had the name clipping even though this file I never tampered with.
 Does your program store data in the cache (of the kernels it edits) or something?
Because I then loaded a clean kernel.bin and there was no clipping (as expected) and attempted to load all the other files again to test if your program stored file caches. But I still can't remedy this problem. Is there another method I can use to heavily mod a kernel.bin with your program (pieces)?

I guess this is a bug report.
 
Last edited:
NFITC1, I keep losing data in Wall Market after I edit any line in the "battle text" you know why this could be happening? A few minutes ago I edited game over on a mildly edited kernel.bin and I changed tabs to Armor and most item names were clipped. I tried reloading a reserve kernel.bin to restart, but this file too had the name clipping even though this file I never tampered with.
 Does your program store data in the cache (of the kernels it edits) or something?
Because I then loaded a clean kernel.bin and there was no clipping (as expected) and attempted to load all the other files again to test if your program stored file caches. But I still can't remedy this problem. Is there another method I can use to heavily mod a kernel.bin with your program (pieces)?

I guess this is a bug report.
Clipped? You'll have to show me a screenshot. I've never heard of this problem.
It used to use cache files, but I stopped that because it was just slowing things down.
 
Clipped? You'll have to show me a screenshot. I've never heard of this problem.
It used to use cache files, but I stopped that because it was just slowing things down.
Sure,
 
ClippedAdvantage.jpg

Seems the bug or occurrence is not limited to Battle Text editing. I attempted to fix up some of my grammar mistakes and shorten descriptions and I (even after attempting to use pieces as saves) was slapped in the face with this bug or occurrence. It also clipped more than just the Materia. Now I have a bunch of un-clipped piece files (If I choose to load them they won't have the clipping, until I save it to a kernel.bin) and a clipped kernel related to said pieces. Need more data? If I could get a sort of active program disassembler to compare the differences that are related to the bug we could understand what's going on.

Is there a limit to the size of a PC kernel or something?
 
Clipped? You'll have to show me a screenshot. I've never heard of this problem.
It used to use cache files, but I stopped that because it was just slowing things down.
Sure,

Seems the bug or occurrence is not limited to Battle Text editing. I attempted to fix up some of my grammar mistakes and shorten descriptions and I (even after attempting to use pieces as saves) was slapped in the face with this bug or occurrence. It also clipped more than just the Materia. Now I have a bunch of un-clipped piece files (If I choose to load them they won't have the clipping, until I save it to a kernel.bin) and a clipped kernel related to said pieces. Need more data? If I could get a sort of active program disassembler to compare the differences that are related to the bug we could understand what's going on.

Is there a limit to the size of a PC kernel or something?
[/quote]
Yes, this is a known bug. I don't know what's causing it, but I think it only affects things in listboxes (like the item names, battle text, etc). I haven't heard of descriptions messing up like this. It's probably some wayward character combination not being assigned correctly.

<typity, typity, typity, typity>

I suspect the problem is in WallMarket.dat where the characters are. Some of them are actually in the wrong place in the one I provided. I should probably either separate the characters from the battle addresses or eliminate them all together. I added them for support of new character sets in the battles, but I'm considering going in an entirely different direction with that anyway. For now, try renaming your WallMarket.dat file before you load the prog and make your text changes. That file was always optional.
 
Yes, this is a known bug. I don't know what's causing it, but I think it only affects things in listboxes (like the item names, battle text, etc). I haven't heard of descriptions messing up like this. It's probably some wayward character combination not being assigned correctly.

<typity, typity, typity, typity>

I suspect the problem is in WallMarket.dat where the characters are. Some of them are actually in the wrong place in the one I provided. I should probably either separate the characters from the battle addresses or eliminate them all together. I added them for support of new character sets in the battles, but I'm considering going in an entirely different direction with that anyway. For now, try renaming your WallMarket.dat file before you load the prog and make your text changes. That file was always optional.
Thank you for the advice.
This seems to be only affecting the kernel2.bin as that holds the text. I don't know about other data yet. But yes, if the .dat is what is assigning characters it's most likely telling the kernel2.bin to load a non-existent character, thus it shows up as blank on the game screen not just on your OS (exceptions do apply).

Also, for some strange reason one of my previously "clipped" kernels loaded un-clipped. Whether I loaded from the pieces or not. Perhaps the .dat was not read (thankfully).
 
Last edited:
No it does happen to descriptions as well (if by descriptions you mean "attacks all enemies" etc) ....
 
No it does happen to descriptions as well (if by descriptions you mean "attacks all enemies" etc) ....
OK, if that's the case then it likely has to do with the structure of the WallMarket.dat file. I did think it odd that it affected one and not the other, but I never heard anyone complain about descriptions messing up.
 
For some reason description corruptions seem to happen less often.
I think it happens more often to extra-alphanumeric characters because that's where the errors in the .dat files exist. I'll have to run some debug tests to figure out exactly what. Now I have a clue as to the source I can likely reproduce it easily enough. I can't believe I didn't think of this earlier. If someone makes a text file using all the characters it would probably tell me what I want to know. I'll give that a try later (maybe tomorrow).

EDIT:
I finally got around to playing with text and the thing that disturbs me is that B8h is being saved as FFh. That's the only thing I could find that would break strings up. The error that people are getting is that strings aren't being correctly terminated or being added in the wrong place.... that I still don't get.
 
Last edited:
I have difficultly understanding what exactly the "Level Bonuses" table describes. You seem to be able to edit it, but what does it do?
e.g.
WM01.png
 
I have difficultly understanding what exactly the "Level Bonuses" table describes. You seem to be able to edit it, but what does it do?
It sets the baselines and gradients for stat growth. Find out more in TFerusson's Party Mechanics guide, specifically in the 'Level Up!' chapter.
 
Last edited:
It sets the baselines and gradients for stat growth. Find out more in TFerusson's Party Mechanics guide, specifically in the 'Level Up!' chapter.
Thank you for your assistance.


WM Bug Report?
- Under "Weapon" tab, "Usable in Item Menu", Battle Menu or "Sellable in Shops" (excluding not
  very many weapons) ticks are never saved. At least for me they are not. Also, I've edited it
  in the "Raw Data" window. Same thing.

- I think this is just a graphical incongruity, but the drawn down menus in like the "limit break" under the
  "Initial Data" tab and "Character Growth" sub-tab has a fixed narrowness (they're not stretched like other
  tabs) that disables the view of full names, but this 'glitch' may not be restricted to only that one.

- Cat's Bell, the item's effect is not listed. It still takes effect even if you modify it's available parameters.
e.g.
http://i47.photobucket.com/albums/f178/Onikapitua/CatsBellLowHP.png
http://i47.photobucket.com/albums/f178/Onikapitua/CatsBellRestored.png

- Cursed Ring, still +20 to all skills whether you modify it or not. If find it awkward, if it can raise all stats
  by 20 why cannot the rest (raw data, stored in the .exe perhaps)? Some times it ups by your modifacation (20=150)
e.g.
http://i47.photobucket.com/albums/f178/Onikapitua/CurseRing.png
http://i47.photobucket.com/albums/f178/Onikapitua/RemovedCurseRing.png


The attack texture hex values only reach 47h. Any higher game crashes, if the ID you input has
no data referenced (I word it like that in case you actually can make new ID hit textures). Also
incase no one knew (like I did) the hit sounds correspond directly to the audio.fmt sound values in Cosmo (etc).
ie. Sound "0" in Cosmo is a menu sound, 00h in Wall Market points to that sound (for some reason 00h won't
reference to anything, that could just be on my end, but the rest follow cardinally). Sound "18" in Cosmo points
to a 'weird resonating laser firing' sound, 13h would cause attacking to make that sound.

NFITC1, if you have the time, you should add these sort of informations (there is much through out the whole
thread) to the .chm file it would certainly help many novices like myself and others. I could gather them together
if you need help.


Another thing, is it possible to edit the parameters for Materia that raise/lower base stats in the kernel?

*I 'hot-linked' my images for those with dial-up*
 
WM Bug Report?
- Under "Weapon" tab, "Usable in Item Menu", Battle Menu or "Sellable in Shops" (excluding not
  very many weapons) ticks are never saved. At least for me they are not. Also, I've edited it
  in the "Raw Data" window. Same thing.
The only viable thing in that group among weapons is "Sellable in Shops". There's no circumstances that you should even attempt to use them (or any non-items) as if they were items. Still, this is something that needs to get looked at.

- I think this is just a graphical incongruity, but the drawn down menus in like the "limit break" under the
  "Initial Data" tab and "Character Growth" sub-tab has a fixed narrowness (they're not stretched like other
  tabs) that disables the view of full names, but this 'glitch' may not be restricted to only that one.
This affects ALL drop-downs. I fixed the width to be optimized for a display using 96 dpi. Anything higher than that and it will not show everything. Actually, even the Limit names will be a little squished in those boxes too. I do need to figure out how to allow the user to stretch those out.

- Cat's Bell, the item's effect is not listed. It still takes effect even if you modify it's available parameters.
e.g.
http://i47.photobucket.com/albums/f178/Onikapitua/CatsBellLowHP.png
http://i47.photobucket.com/albums/f178/Onikapitua/CatsBellRestored.png

- Cursed Ring, still +20 to all skills whether you modify it or not. If find it awkward, if it can raise all stats
  by 20 why cannot the rest (raw data, stored in the .exe perhaps)? Some times it ups by your modifacation (20=150)
e.g.
http://i47.photobucket.com/albums/f178/Onikapitua/CurseRing.png
http://i47.photobucket.com/albums/f178/Onikapitua/RemovedCurseRing.png
I'm going to address this as one issue because the answer is the same. The game is hard-coded to have those effects for those unique accessory indexes. Look at the data for Cat's Bell, it's practically empty. The game "knows" that if "Accessory 27" is equipped then up the HP while walking. That's because the KERNEL.BIN is battle-oriented and Cat's Bell has a field effect. I don't know why, but Cursed Ring is the exact same way. It will increase every stat by a given amount, but that's hard-coded to "Accessory 25". If you make either those accessories do other things they'd still have those effects.

The attack texture hex values only reach 47h. Any higher game crashes, if the ID you input has
no data referenced (I word it like that in case you actually can make new ID hit textures). Also
incase no one knew (like I did) the hit sounds correspond directly to the audio.fmt sound values in Cosmo (etc).
ie. Sound "0" in Cosmo is a menu sound, 00h in Wall Market points to that sound (for some reason 00h won't
reference to anything, that could just be on my end, but the rest follow cardinally). Sound "18" in Cosmo points
to a 'weird resonating laser firing' sound, 13h would cause attacking to make that sound.
Sound is handled differently in battles. The more important value is the "Shift" which tells the game what sound bank to use. Changing a sound without changing the bank will give odd results. I tried to change Cloud's sword swipe once and got a door opening sound... Either way, there's not a way to define what sounds are battle appropriate so I'm not going to make exclusions.
Same thing about the textures. Interesting to know that above 47 causes the game to crash. I'll make a note of that in the readme, but it likely won't appear very prominently.
 
I'm going to address this as one issue because the answer is the same. The game is hard-coded to have those effects for those unique accessory indexes. Look at the data for Cat's Bell, it's practically empty. The game "knows" that if "Accessory 27" is equipped then up the HP while walking. That's because the KERNEL.BIN is battle-oriented and Cat's Bell has a field effect. I don't know why, but Cursed Ring is the exact same way. It will increase every stat by a given amount, but that's hard-coded to "Accessory 25". If you make either those accessories do other things they'd still have those effects.
Yeah, these are hard coded. I'm not sure where the Cat's Bell function is, but you can easily find the location of character HP data, then trace the +2 that's added with every step in a debugger.

I have a feeling the Curse Ring's code is somewhre in EQIPMENU.MNU. It probably sets... some flag for the battle engine.
 
Sound is handled differently in battles. The more important value is the "Shift" which tells the game what sound bank to use. Changing a sound without changing the bank will give odd results. I tried to change Cloud's sword swipe once and got a door opening sound... Either way, there's not a way to define what sounds are battle appropriate so I'm not going to make exclusions.
Same thing about the textures. Interesting to know that above 47 causes the game to crash. I'll make a note of that in the readme, but it likely won't appear very prominently.
Yes, I'm aware of that I forgot to post that, I rushed...

I didn't post my notes because I didn't think it was necessary, but I still have to sort through the remaining
sounds. Also I all my characters could not critical attack (given the 3Xh damage modifier), so I had consistency
and did not mistakenly record the wrong sound. So with Shift F8, 01h - C6h will equal 0dec - 197dec in Cosmo.
C8h - D1h equal 198dec - 207dec in Cosmo. And finally D3h - FFh equal 209dec - 252dec.

Funny huh, very confusing isn't it? Well that's because 00h, C7h, and D2h don't call sounds. They're either
dividers or 'no sounders.'

For Shift F9h DCh, DDh, and E8h have no sound. They're either dividers or 'no sounders.' On to the 'how',
from 00h - DBh you (add 1dec if your calculator isn't all great with hex) to your value and add that to 252
and search Cosmo for the result there's your sound. DEh - E7h you subtract it by 1 (or 2 if you added 1 in
the above method) add 252dec and search for the result in Cosmo and there's your sound. E9 - FF subtract by
2 (3 if you subtracted 2 or/and added above) and add 252 search that in Cosmo and that sould be your sound.


Sorry I didn't post information on the shift, (makes my post dis-informational) thanks.
It has also come to my attention that these MAY only equal my findings IF you alter the hit sound. I don't
know about others. This is just too funny and mind shattering.


Code: [Select]
Code:
Shift:Displayed in Hex. A new field as of 1.3.With different values this will "increase"the other sound indexes by 100h:F8 - no increaseF9 - Hit & Miss +100hFA - Critical +100h(?)FB - Hit, Miss & Critical + 100hNo weapon uses value FA so feel free to test it.If you change sounds of one weapon to sound likeanother without changing the shift then you'll getreally weird sounds.
What did you mean by this? That only hit and miss will be functioning on sounds from +256 in Cosmo? I checked with Shift F9
and that is not consistent with the sound I heard (used 00h and 01h). Under current evidence it should be a piano key sound (which is in that range), there instead was a strange club sound. I know what it should be, updated my evidence.

Yeah,  these are hard coded. I'm not sure where the Cat's Bell function is,  but you can easily find the location of character HP data, then trace  the +2 that's added with every step in a debugger.

I have a feeling the Curse Ring's code is somewhre in EQIPMENU.MNU. It probably sets... some flag for the battle engine.
 
  Thank you, however I am using PC non-emulated version of FFVII, I have  one question, were I to use disassembly codes, would they be compatible with  the PC version? Also do you know the equivalent of "EQIPMENU.MNU" for the  PC?
 
Last edited:
Status
Not open for further replies.
Back
Top