Skip to content

Commit

Permalink
Adding SEGA sound
Browse files Browse the repository at this point in the history
  • Loading branch information
MainMemory committed Sep 25, 2014
1 parent 50d0a07 commit 4a950a4
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 0 deletions.
Binary file added SMPSOUT/Data/SEGA.wav
Binary file not shown.
11 changes: 11 additions & 0 deletions SMPSOUT/SMPSOUT.cpp
Expand Up @@ -333,6 +333,7 @@ class SMPSInterfaceClass : MidiInterfaceClass
short trackSettings[3][TrackCount];
bool trackMIDI;
MidiInterfaceClass *MIDIFallbackClass;
void *segaSnd;

INLINE UINT16 ReadBE16(const UINT8* Data)
{
Expand Down Expand Up @@ -782,6 +783,9 @@ class SMPSInterfaceClass : MidiInterfaceClass

if (EnableSKCHacks)
{
hres = FindResource(moduleHandle, MAKEINTRESOURCE(IDR_MISC_SEGA), _T("MISC"));
segaSnd = LockResource(LoadResource(moduleHandle, hres));

HMODULE midimodule = LoadLibrary(_T("MIDIOUTY.DLL"));
if (midimodule)
{
Expand Down Expand Up @@ -1157,6 +1161,13 @@ class SMPSInterfaceClass : MidiInterfaceClass

BOOL stop_song()
{
if (EnableSKCHacks)
{
if (reg_d0 == 0xFF)
return PlaySound((LPCTSTR)segaSnd, NULL, SND_MEMORY | SND_ASYNC);
else if (reg_d0 == 0xFE)
return PlaySound(NULL, NULL, SND_ASYNC);
}
if (trackMIDI)
return MIDIFallbackClass->stop_song();
if (EnableSKCHacks && reg_d0 == 0xE1)
Expand Down
4 changes: 4 additions & 0 deletions SMPSOUT/SMPSOUT.rc
Expand Up @@ -257,3 +257,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
IDR_MISC_FM_DRUMS MISC ".\\Data\\Drums_FM_Columns3.bin"


LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
IDR_MISC_SEGA MISC ".\\Data\\SEGA.wav"


1 change: 1 addition & 0 deletions SMPSOUT/resource.h
Expand Up @@ -66,3 +66,4 @@
#define IDR_MISC_PSG_S3 203
#define IDR_MISC_PSG_S2 204
#define IDR_MISC_FM_DRUMS 205
#define IDR_MISC_SEGA 206

0 comments on commit 4a950a4

Please sign in to comment.