mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-23 04:33:09 +00:00
SCI: adding support to identify uninitialized values, when doing debug output for kernel signatures
svn-id: r50626
This commit is contained in:
parent
88d1155c5e
commit
5872f5bb1f
@ -685,6 +685,9 @@ int Kernel::findRegType(reg_t reg) {
|
||||
if (!reg.segment)
|
||||
return reg.offset ? KSIG_ARITHMETIC : KSIG_ARITHMETIC | KSIG_NULL;
|
||||
|
||||
if (reg.segment == 0xFFFF)
|
||||
return KSIG_UNINITIALIZED;
|
||||
|
||||
// Otherwise it's an object
|
||||
SegmentObj *mobj = _segMan->getSegmentObj(reg.segment);
|
||||
if (!mobj)
|
||||
@ -728,13 +731,14 @@ struct SignatureDebugType {
|
||||
};
|
||||
|
||||
static const SignatureDebugType signatureDebugTypeList[] = {
|
||||
{ KSIG_NULL, "null" },
|
||||
{ KSIG_ARITHMETIC, "value" },
|
||||
{ KSIG_OBJECT, "object" },
|
||||
{ KSIG_REF, "reference" },
|
||||
{ KSIG_LIST, "list" },
|
||||
{ KSIG_NODE, "node" },
|
||||
{ 0, NULL }
|
||||
{ KSIG_NULL, "null" },
|
||||
{ KSIG_ARITHMETIC, "value" },
|
||||
{ KSIG_UNINITIALIZED, "uninitialized" },
|
||||
{ KSIG_OBJECT, "object" },
|
||||
{ KSIG_REF, "reference" },
|
||||
{ KSIG_LIST, "list" },
|
||||
{ KSIG_NODE, "node" },
|
||||
{ 0, NULL }
|
||||
};
|
||||
|
||||
static void kernelSignatureDebugType(const char type) {
|
||||
|
@ -99,14 +99,15 @@ struct SelectorCache; // from selector.h
|
||||
|
||||
// Compiled signatures
|
||||
enum {
|
||||
KSIG_LIST = 0x01,
|
||||
KSIG_NODE = 0x02,
|
||||
KSIG_OBJECT = 0x04,
|
||||
KSIG_REF = 0x08,
|
||||
KSIG_ARITHMETIC = 0x10,
|
||||
KSIG_NULL = 0x40,
|
||||
KSIG_ANY = 0x5f,
|
||||
KSIG_ELLIPSIS = 0x80
|
||||
KSIG_LIST = 0x01,
|
||||
KSIG_NODE = 0x02,
|
||||
KSIG_OBJECT = 0x04,
|
||||
KSIG_REF = 0x08,
|
||||
KSIG_ARITHMETIC = 0x10,
|
||||
KSIG_UNINITIALIZED = 0x20,
|
||||
KSIG_NULL = 0x40,
|
||||
KSIG_ANY = 0x5f,
|
||||
KSIG_ELLIPSIS = 0x80
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
Loading…
x
Reference in New Issue
Block a user