diff options
Diffstat (limited to 'backends/platform/psp/osys_psp.cpp')
-rw-r--r-- | backends/platform/psp/osys_psp.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/backends/platform/psp/osys_psp.cpp b/backends/platform/psp/osys_psp.cpp index ebda445019..42e066b543 100644 --- a/backends/platform/psp/osys_psp.cpp +++ b/backends/platform/psp/osys_psp.cpp @@ -30,6 +30,10 @@ #include "common/rect.h" #include "osys_psp.h" +#include "backends/saves/default/default-saves.h" +#include "backends/timer/default/default-timer.h" +#include "sound/mixer.h" + #include "common/config-manager.h" #include <pspgu.h> @@ -51,6 +55,12 @@ void putPixel(uint16 x, uint16 y, unsigned long colour) { *(unsigned short *)(DrawBuffer + (y << 9) + x ) = colour; } +static int timer_handler(int t) { + DefaultTimerManager *tm = (DefaultTimerManager *)g_system->getTimerManager(); + tm->handler(); + return t; +} + const OSystem::GraphicsMode OSystem_PSP::s_supportedGraphicsModes[] = { { "320x200 (centered)", "320x200 16-bit centered", CENTERED_320X200 }, { "353x272 (best-fit, centered)", "353x272 16-bit centered", CENTERED_435X272 }, @@ -81,6 +91,18 @@ OSystem_PSP::~OSystem_PSP() { if (_mouseBuf) free(_mouseBuf); } + +void OSystem_PSP::initBackend() { + _savefile = new DefaultSaveFileManager(); + _mixer = new Audio::Mixer(); + _timer = new DefaultTimerManager(); + setSoundCallback(Audio::Mixer::mixCallback, _mixer); + setTimerCallback(&timer_handler, 10); + + OSystem::initBackend(); +} + + bool OSystem_PSP::hasFeature(Feature f) { return false; } |