mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-21 05:09:34 -06:00
Me and Nakeee created a null DSP device, supported in both Windows and linux (tested). Framerate boost and less DSound/LibAO errors. Pending work: Clean up UCodes and create something more...null. We could also hack into the HW Audio Interface (would be actual null device). Also screws up a bit of Wind Waker RTC (awesome day/night transition in save selection menu. 80FPS in save selection menu, 120FPS in logos.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@694 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
63
Source/Plugins/Plugin_DSP_NULL/Src/UCodes/UCode_CARD.cpp
Normal file
63
Source/Plugins/Plugin_DSP_NULL/Src/UCodes/UCode_CARD.cpp
Normal file
@ -0,0 +1,63 @@
|
||||
// Copyright (C) 2003-2008 Dolphin 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, version 2.0.
|
||||
|
||||
// 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 2.0 for more details.
|
||||
|
||||
// A copy of the GPL 2.0 should have been included with the program.
|
||||
// If not, see http://www.gnu.org/licenses/
|
||||
|
||||
// Official SVN repository and contact information can be found at
|
||||
// http://code.google.com/p/dolphin-emu/
|
||||
|
||||
#include "Common.h"
|
||||
#include "../Globals.h"
|
||||
#include "../DSPHandler.h"
|
||||
#include "UCodes.h"
|
||||
#include "UCode_CARD.h"
|
||||
|
||||
|
||||
CUCode_CARD::CUCode_CARD(CMailHandler& _rMailHandler)
|
||||
: IUCode(_rMailHandler)
|
||||
{
|
||||
DebugLog("CUCode_CARD - initialized");
|
||||
m_rMailHandler.PushMail(DSP_INIT);
|
||||
}
|
||||
|
||||
|
||||
CUCode_CARD::~CUCode_CARD()
|
||||
{
|
||||
m_rMailHandler.Clear();
|
||||
}
|
||||
|
||||
|
||||
void CUCode_CARD::Update()
|
||||
{
|
||||
// check if we have to sent something
|
||||
if (!m_rMailHandler.IsEmpty())
|
||||
{
|
||||
g_dspInitialize.pGenerateDSPInterrupt();
|
||||
}
|
||||
}
|
||||
|
||||
void CUCode_CARD::HandleMail(u32 _uMail)
|
||||
{
|
||||
if (_uMail == 0xFF000000) // unlock card
|
||||
{
|
||||
// m_Mails.push(0x00000001); // ACK (actualy anything != 0)
|
||||
}
|
||||
else
|
||||
{
|
||||
DebugLog("CUCode_CARD - unknown cmd: %x (size %i)", _uMail);
|
||||
}
|
||||
|
||||
m_rMailHandler.PushMail(DSP_DONE);
|
||||
CDSPHandler::GetInstance().SetUCode(UCODE_ROM);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user