From 87988c69ee0851a317f08c9ecff7d806db60723f Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Mon, 6 Jul 2009 11:19:19 +0000 Subject: Assigned several unimplemented/unused kernel functions as stubs, so that we know when they're used and how they're called svn-id: r42170 --- engines/sci/engine/kernel.cpp | 23 ++++++++++++++++------- engines/sci/engine/kernel.h | 4 +--- engines/sci/engine/kmisc.cpp | 6 +++--- 3 files changed, 20 insertions(+), 13 deletions(-) (limited to 'engines') diff --git a/engines/sci/engine/kernel.cpp b/engines/sci/engine/kernel.cpp index 6d2e11043d..2f8461a34a 100644 --- a/engines/sci/engine/kernel.cpp +++ b/engines/sci/engine/kernel.cpp @@ -309,7 +309,7 @@ SciKernelFunction kfunct_mappers[] = { /*6f*/ DEFUN("6f", kTimesCos, "ii"), /*70*/ DEFUN("Graph", kGraph, ".*"), /*71*/ DEFUN("Joystick", kJoystick, ".*"), - /*72*/ NOFUN("unknown72"), + /*72*/ NOFUN("unknown72"), // ShiftScreen, perhaps? /*73*/ NOFUN("unknown73"), // Experimental functions @@ -322,7 +322,6 @@ SciKernelFunction kfunct_mappers[] = { /*(?)*/ DEFUN("IsItSkip", kIsItSkip, "iiiii"), // Non-experimental Functions without a fixed ID - DEFUN("CosMult", kTimesCos, "ii"), DEFUN("SinMult", kTimesSin, "ii"), /*(?)*/ DEFUN("CosDiv", kCosDiv, "ii"), @@ -341,6 +340,21 @@ SciKernelFunction kfunct_mappers[] = { // Special and NOP stuff {NULL, k_Unknown, NULL}, + // Stub functions + DEFUN("ShiftScreen", kStub, ".*"), + DEFUN("MemorySegment", kStub, ".*"), + DEFUN("ListOps", kStub, ".*"), + DEFUN("ATan", kStub, ".*"), + DEFUN("StrSplit", kStub, ".*"), + DEFUN("MergePoly", kStub, ".*"), + DEFUN("AssertPalette", kStub, ".*"), + DEFUN("TextColors", kStub, ".*"), + DEFUN("TextFonts", kStub, ".*"), + DEFUN("Record", kStub, ".*"), + DEFUN("PlayBack", kStub, ".*"), + DEFUN("DbugStr", kStub, ".*"), + DEFUN("Platform", kStub, ".*"), // SCI1 + {NULL, NULL, NULL} // Terminator }; @@ -779,11 +793,6 @@ void Kernel::setDefaultKernelNames() { offset = 4; } } - - if (_resmgr->_sciVersion == SCI_VERSION_1_1) { - // KQ6CD calls unimplemented function 0x26 - _kernelNames[0x26] = "Dummy"; - } } #ifdef ENABLE_SCI32 diff --git a/engines/sci/engine/kernel.h b/engines/sci/engine/kernel.h index da3d255329..9c92519cf0 100644 --- a/engines/sci/engine/kernel.h +++ b/engines/sci/engine/kernel.h @@ -509,12 +509,10 @@ reg_t kSetVideoMode(EngineState *s, int funct_nr, int argc, reg_t *argv); reg_t k_Unknown(EngineState *s, int funct_nr, int argc, reg_t *argv); // The Unknown/Unnamed kernel function -reg_t kstub(EngineState *s, int funct_nr, int argc, reg_t *argv); +reg_t kStub(EngineState *s, int funct_nr, int argc, reg_t *argv); // for unimplemented kernel functions reg_t kNOP(EngineState *s, int funct_nr, int argc, reg_t *argv); // for kernel functions that don't do anything -reg_t kFsciEmu(EngineState *s, int funct_nr, int argc, reg_t *argv); -// Emulating "old" kernel functions on the heap } // End of namespace Sci diff --git a/engines/sci/engine/kmisc.cpp b/engines/sci/engine/kmisc.cpp index aefc010911..8381bc2e13 100644 --- a/engines/sci/engine/kmisc.cpp +++ b/engines/sci/engine/kmisc.cpp @@ -237,9 +237,9 @@ reg_t kMemory(EngineState *s, int funct_nr, int argc, reg_t *argv) { return s->r_acc; } -reg_t kstub(EngineState *s, int funct_nr, int argc, reg_t *argv) { +reg_t kStub(EngineState *s, int funct_nr, int argc, reg_t *argv) { char tmpbuf[200]; - sprintf(tmpbuf, "Unimplemented syscall: %s[%x](", + sprintf(tmpbuf, "Unimplemented syscall: %s[%x] (", s->_kernel->getKernelName(funct_nr).c_str(), funct_nr); for (int i = 0; i < argc; i++) { @@ -249,7 +249,7 @@ reg_t kstub(EngineState *s, int funct_nr, int argc, reg_t *argv) { strcat(tmpbuf2, ", "); strcat(tmpbuf, tmpbuf2); } - strcat(tmpbuf, ")\n"); + strcat(tmpbuf, ")"); warning(tmpbuf); -- cgit v1.2.3