Spell Details Data Test

Filed under: Bugs, Crusaders of Khazan, Debug, QML — denormative @ 20:24

Quick debug list of spell details.

Of note for some reason there are 68 entries in the spell data block, though only 64 bit flags in the character record to record whether a character knows the spell or not. Though the last five of the 68 records are named ?????????????????? and aren’t used, so there’s still one spot available for a new spell.

Only two unknown bits, and one unknown byte (which only seems to be 0 or 1, so might as well be just a bit) remain to be discovered in the spell details.

Spell Details Data Test



Character Details Data Test

Filed under: Crusaders of Khazan, Debug, QML — denormative @ 21:01

Similar to the item details debug list, this one’s for characters.

Spell details aren’t being displayed, even though I know the spell availability bits, since I haven’t yet got the model loading it yet, though 90% of the record of each spell is documented.

On the other hand, there’s still another 370 or so bytes undocumented for each character record. There’s a couple of simple ones still missing, like the “missing hand, replaced with gremlin/diamond/whatever hand” status bits, presumably for both hands, and the appropriate character portrait index, however there’s a lot of space left over still. I know the bytecode has a number of references to being able to store other  data relating to characters, similar to how it stores them  in the global data, or map data areas, but that still seems like an awful lot of bytes.

Also “hits taken” is strange. It appears to be stored as a byte, but given it increments for every hit in combat, I would assume that it would easily exceed 255, but the only available space for storage as a word would be if it was stored in big endian format, rather then little endian like the rest

Character Data Test


Item Details Data Test

Filed under: Crusaders of Khazan, Debug, QML — denormative @ 21:19

A quick debug test of part of a list of all the items in the game.

Remaining four unknown bytes are b01, b07, b08, and b09. At least b01, b07 and b09 appear to be bitfields, but looks can be deceiving.

Data was pulled out of the item details records stored in the 6th index in the PGMCOM.CC file in the English version, or just the DATI file on the PRO disk on the Sharp X68000 (X68k) version. At a quick glance the data seems similar in structure and same record lengths so it should be identical. A quick diff of the two files indicated that there are a small number of changes between the two, though the patterns were indicative of the X68k version being stored via bigendian in comparison to the English x86 version stored little endian. This was expected given the X86k runs with a big endian processor.

Item Details Data Test

Create a free website or blog at