aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backends/PalmOS/Src/launch.cpp13
-rw-r--r--backends/PalmOS/Src/midi/adlib.cpp6
-rw-r--r--backends/midi/zodiac.cpp27
-rw-r--r--base/gameDetector.cpp3
-rw-r--r--sound/mididrv.cpp1
-rw-r--r--sound/mididrv.h6
6 files changed, 50 insertions, 6 deletions
diff --git a/backends/PalmOS/Src/launch.cpp b/backends/PalmOS/Src/launch.cpp
index 699c92b4f6..570f9b42a3 100644
--- a/backends/PalmOS/Src/launch.cpp
+++ b/backends/PalmOS/Src/launch.cpp
@@ -201,12 +201,15 @@ Boolean StartScummVM() {
case 1: // yamaha Pa1
AddArg(&argvP[argc], "-e", "ypa1", &argc);
break;
- case 2: // PC Speaker
+ case 2: // Tapwave Zodiac
+ AddArg(&argvP[argc], "-e", "zodiac", &argc);
+ break;
+ case 3: // PC Speaker
AddArg(&argvP[argc], "-e", "pcspk", &argc);
break;
- case 3: // IBM PCjr
+ case 4: // IBM PCjr
AddArg(&argvP[argc], "-e", "pcjr", &argc);
- case 4: // FM Towns
+ case 5: // FM Towns
AddArg(&argvP[argc], "-e", "towns", &argc);
}
}
@@ -282,6 +285,7 @@ Boolean StartScummVM() {
VFSFileCreate(gVars->volRefNum,"PALM/Programs/ScummVM/scumm.log");
VFSFileOpen(gVars->volRefNum,"PALM/Programs/ScummVM/scumm.log",vfsModeWrite, &gVars->logFile);
+ // TODO : move this to ypa1.cpp (?)
void *sndStateOnFuncP = NULL,
*sndStateOffFuncP = NULL;
@@ -302,12 +306,14 @@ Boolean StartScummVM() {
Pa1Lib_devHpVolume(gPrefs->volume.headphone, gPrefs->volume.headphone);
Pa1Lib_devSpVolume(gPrefs->volume.speaker);
}
+ //
SavePrefs(); // free globals pref memory
GlbOpen();
main(argc, argvP);
GlbClose();
+ // TODO : move this to ypa1.cpp (?)
if (musicDriver == 1 || musicDriver == sysInvalidRefNum) {
if (sndStateOnFuncP && sndStateOffFuncP) {
((sndStateOffType)(sndStateOffFuncP))(aOutSndKindSp);
@@ -316,6 +322,7 @@ Boolean StartScummVM() {
Pa1Lib_Close();
}
+ //
// close log file
VFSFileClose(gVars->logFile);
diff --git a/backends/PalmOS/Src/midi/adlib.cpp b/backends/PalmOS/Src/midi/adlib.cpp
index 5a290ed3e4..a794bf0afd 100644
--- a/backends/PalmOS/Src/midi/adlib.cpp
+++ b/backends/PalmOS/Src/midi/adlib.cpp
@@ -31,3 +31,9 @@ public:
MidiDriver *MidiDriver_ADLIB_create(SoundMixer *mixer) {
return new MidiDriver_ADLIB();
}
+
+#ifdef DISABLE_TAPWAVE
+MidiDriver *MidiDriver_Zodiac_create() {
+ return new MidiDriver_ADLIB();
+}
+#endif \ No newline at end of file
diff --git a/backends/midi/zodiac.cpp b/backends/midi/zodiac.cpp
new file mode 100644
index 0000000000..c712a92208
--- /dev/null
+++ b/backends/midi/zodiac.cpp
@@ -0,0 +1,27 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2001-2004 The ScummVM project
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Header$
+ */
+
+#include "stdafx.h"
+#include "sound/mpu401.h"
+#include "common/util.h"
+
+#ifndef DISABLE_TAPWAVE
+// Tapwave code will come here
+#endif
diff --git a/base/gameDetector.cpp b/base/gameDetector.cpp
index 9a7b9c7cdb..d6ccdb7af9 100644
--- a/base/gameDetector.cpp
+++ b/base/gameDetector.cpp
@@ -505,7 +505,7 @@ int GameDetector::detectMusicDriver(int midiFlags) {
#elif defined(MACOSX)
musicDriver = MD_COREAUDIO;
#elif defined(__PALM_OS__) // must be before mac
- musicDriver = MD_YPA1;
+ musicDriver = MD_YPA1; // TODO : cahnge this and use Zodiac driver when needed
#elif defined(__MORPHOS__)
musicDriver = MD_ETUDE;
#elif defined (_WIN32_WCE) || defined(UNIX) || defined(X11_BACKEND)
@@ -595,6 +595,7 @@ MidiDriver *GameDetector::createMidi(int midiDriver) {
case MD_PCJR: return NULL;
#if defined(__PALM_OS__)
case MD_YPA1: return MidiDriver_YamahaPa1_create();
+ case MD_ZODIAC: return MidiDriver_Zodiac_create();
#endif
#if defined(WIN32) && !defined(_WIN32_WCE)
case MD_WINDOWS: return MidiDriver_WIN_create();
diff --git a/sound/mididrv.cpp b/sound/mididrv.cpp
index 10877529f4..9bf41726a5 100644
--- a/sound/mididrv.cpp
+++ b/sound/mididrv.cpp
@@ -60,6 +60,7 @@ static const struct MidiDriverDescription midiDrivers[] = {
#if defined(__PALM_OS__)
{"ypa1", "Yamaha Pa1", MD_YPA1},
+ {"zodiac", "Tapwave Zodiac", MD_ZODIAC},
#endif
{0, 0, 0}
};
diff --git a/sound/mididrv.h b/sound/mididrv.h
index 56d1b8e17a..9a3e26180c 100644
--- a/sound/mididrv.h
+++ b/sound/mididrv.h
@@ -46,7 +46,8 @@ enum {
MD_PCSPK = 11,
MD_PCJR = 12,
MD_TOWNS = 13,
- MD_YPA1 = 14 // PalmOS
+ MD_YPA1 = 14, // PalmOS
+ MD_ZODIAC = 15 // PalmOS
};
/** Convert a string containing a music driver name into MIDI Driver type. */
@@ -175,5 +176,6 @@ extern MidiDriver *MidiDriver_ETUDE_create();
extern MidiDriver *MidiDriver_ALSA_create();
extern MidiDriver *MidiDriver_YM2612_create(SoundMixer *mixer);
extern MidiDriver *MidiDriver_YamahaPa1_create();
+extern MidiDriver *MidiDriver_Zodiac_create();
-#endif
+#endif \ No newline at end of file