aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorFilippos Karapetis2009-07-06 11:19:19 +0000
committerFilippos Karapetis2009-07-06 11:19:19 +0000
commit87988c69ee0851a317f08c9ecff7d806db60723f (patch)
tree57ff9337e07c8c687e346c06dc83e33ba5d2fad9 /engines
parentbceacbd9229cbd3ae4e1f14ab802a987f6a9ac81 (diff)
downloadscummvm-rg350-87988c69ee0851a317f08c9ecff7d806db60723f.tar.gz
scummvm-rg350-87988c69ee0851a317f08c9ecff7d806db60723f.tar.bz2
scummvm-rg350-87988c69ee0851a317f08c9ecff7d806db60723f.zip
Assigned several unimplemented/unused kernel functions as stubs, so that we know when they're used and how they're called
svn-id: r42170
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/engine/kernel.cpp23
-rw-r--r--engines/sci/engine/kernel.h4
-rw-r--r--engines/sci/engine/kmisc.cpp6
3 files changed, 20 insertions, 13 deletions
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);