|
|
@@ -0,0 +1,237 @@ |
|
|
/*********************************************************************************** |
|
|
Snes9x - Portable Super Nintendo Entertainment System (TM) emulator. |
|
|
|
|
|
(c) Copyright 1996 - 2002 Gary Henderson (gary.henderson@ntlworld.com), |
|
|
Jerremy Koot (jkoot@snes9x.com) |
|
|
|
|
|
(c) Copyright 2002 - 2004 Matthew Kendora |
|
|
|
|
|
(c) Copyright 2002 - 2005 Peter Bortas (peter@bortas.org) |
|
|
|
|
|
(c) Copyright 2004 - 2005 Joel Yliluoma (http://iki.fi/bisqwit/) |
|
|
|
|
|
(c) Copyright 2001 - 2006 John Weidman (jweidman@slip.net) |
|
|
|
|
|
(c) Copyright 2002 - 2006 funkyass (funkyass@spam.shaw.ca), |
|
|
Kris Bleakley (codeviolation@hotmail.com) |
|
|
|
|
|
(c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), |
|
|
Nach (n-a-c-h@users.sourceforge.net), |
|
|
|
|
|
(c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) |
|
|
|
|
|
(c) Copyright 2006 - 2007 nitsuja |
|
|
|
|
|
(c) Copyright 2009 - 2016 BearOso, |
|
|
OV2 |
|
|
|
|
|
(c) Copyright 2011 - 2016 Hans-Kristian Arntzen, |
|
|
Daniel De Matteis |
|
|
(Under no circumstances will commercial rights be given) |
|
|
|
|
|
|
|
|
BS-X C emulator code |
|
|
(c) Copyright 2005 - 2006 Dreamer Nom, |
|
|
zones |
|
|
|
|
|
C4 x86 assembler and some C emulation code |
|
|
(c) Copyright 2000 - 2003 _Demo_ (_demo_@zsnes.com), |
|
|
Nach, |
|
|
zsKnight (zsknight@zsnes.com) |
|
|
|
|
|
C4 C++ code |
|
|
(c) Copyright 2003 - 2006 Brad Jorsch, |
|
|
Nach |
|
|
|
|
|
DSP-1 emulator code |
|
|
(c) Copyright 1998 - 2006 _Demo_, |
|
|
Andreas Naive (andreasnaive@gmail.com), |
|
|
Gary Henderson, |
|
|
Ivar (ivar@snes9x.com), |
|
|
John Weidman, |
|
|
Kris Bleakley, |
|
|
Matthew Kendora, |
|
|
Nach, |
|
|
neviksti (neviksti@hotmail.com) |
|
|
|
|
|
DSP-2 emulator code |
|
|
(c) Copyright 2003 John Weidman, |
|
|
Kris Bleakley, |
|
|
Lord Nightmare (lord_nightmare@users.sourceforge.net), |
|
|
Matthew Kendora, |
|
|
neviksti |
|
|
|
|
|
DSP-3 emulator code |
|
|
(c) Copyright 2003 - 2006 John Weidman, |
|
|
Kris Bleakley, |
|
|
Lancer, |
|
|
z80 gaiden |
|
|
|
|
|
DSP-4 emulator code |
|
|
(c) Copyright 2004 - 2006 Dreamer Nom, |
|
|
John Weidman, |
|
|
Kris Bleakley, |
|
|
Nach, |
|
|
z80 gaiden |
|
|
|
|
|
OBC1 emulator code |
|
|
(c) Copyright 2001 - 2004 zsKnight, |
|
|
pagefault (pagefault@zsnes.com), |
|
|
Kris Bleakley |
|
|
Ported from x86 assembler to C by sanmaiwashi |
|
|
|
|
|
SPC7110 and RTC C++ emulator code used in 1.39-1.51 |
|
|
(c) Copyright 2002 Matthew Kendora with research by |
|
|
zsKnight, |
|
|
John Weidman, |
|
|
Dark Force |
|
|
|
|
|
SPC7110 and RTC C++ emulator code used in 1.52+ |
|
|
(c) Copyright 2009 byuu, |
|
|
neviksti |
|
|
|
|
|
S-DD1 C emulator code |
|
|
(c) Copyright 2003 Brad Jorsch with research by |
|
|
Andreas Naive, |
|
|
John Weidman |
|
|
|
|
|
S-RTC C emulator code |
|
|
(c) Copyright 2001 - 2006 byuu, |
|
|
John Weidman |
|
|
|
|
|
ST010 C++ emulator code |
|
|
(c) Copyright 2003 Feather, |
|
|
John Weidman, |
|
|
Kris Bleakley, |
|
|
Matthew Kendora |
|
|
|
|
|
Super FX x86 assembler emulator code |
|
|
(c) Copyright 1998 - 2003 _Demo_, |
|
|
pagefault, |
|
|
zsKnight |
|
|
|
|
|
Super FX C emulator code |
|
|
(c) Copyright 1997 - 1999 Ivar, |
|
|
Gary Henderson, |
|
|
John Weidman |
|
|
|
|
|
Sound emulator code used in 1.5-1.51 |
|
|
(c) Copyright 1998 - 2003 Brad Martin |
|
|
(c) Copyright 1998 - 2006 Charles Bilyue' |
|
|
|
|
|
Sound emulator code used in 1.52+ |
|
|
(c) Copyright 2004 - 2007 Shay Green (gblargg@gmail.com) |
|
|
|
|
|
S-SMP emulator code used in 1.54+ |
|
|
(c) Copyright 2016 byuu |
|
|
|
|
|
SH assembler code partly based on x86 assembler code |
|
|
(c) Copyright 2002 - 2004 Marcus Comstedt (marcus@mc.pp.se) |
|
|
|
|
|
2xSaI filter |
|
|
(c) Copyright 1999 - 2001 Derek Liauw Kie Fa |
|
|
|
|
|
HQ2x, HQ3x, HQ4x filters |
|
|
(c) Copyright 2003 Maxim Stepin (maxim@hiend3d.com) |
|
|
|
|
|
NTSC filter |
|
|
(c) Copyright 2006 - 2007 Shay Green |
|
|
|
|
|
GTK+ GUI code |
|
|
(c) Copyright 2004 - 2016 BearOso |
|
|
|
|
|
Win32 GUI code |
|
|
(c) Copyright 2003 - 2006 blip, |
|
|
funkyass, |
|
|
Matthew Kendora, |
|
|
Nach, |
|
|
nitsuja |
|
|
(c) Copyright 2009 - 2016 OV2 |
|
|
|
|
|
Mac OS GUI code |
|
|
(c) Copyright 1998 - 2001 John Stiles |
|
|
(c) Copyright 2001 - 2011 zones |
|
|
|
|
|
Libretro port |
|
|
(c) Copyright 2011 - 2016 Hans-Kristian Arntzen, |
|
|
Daniel De Matteis |
|
|
(Under no circumstances will commercial rights be given) |
|
|
|
|
|
MSU-1 code |
|
|
(c) Copyright 2016 qwertymodo |
|
|
|
|
|
|
|
|
Specific ports contains the works of other authors. See headers in |
|
|
individual files. |
|
|
|
|
|
|
|
|
Snes9x homepage: http://www.snes9x.com/ |
|
|
|
|
|
Permission to use, copy, modify and/or distribute Snes9x in both binary |
|
|
and source form, for non-commercial purposes, is hereby granted without |
|
|
fee, providing that this license information and copyright notice appear |
|
|
with all copies and any derived work. |
|
|
|
|
|
This software is provided 'as-is', without any express or implied |
|
|
warranty. In no event shall the authors be held liable for any damages |
|
|
arising from the use of this software or it's derivatives. |
|
|
|
|
|
Snes9x is freeware for PERSONAL USE only. Commercial users should |
|
|
seek permission of the copyright holders first. Commercial use includes, |
|
|
but is not limited to, charging money for Snes9x or software derived from |
|
|
Snes9x, including Snes9x or derivatives in commercial game bundles, and/or |
|
|
using Snes9x as a promotion for your commercial product. |
|
|
|
|
|
The copyright holders request that bug fixes and improvements to the code |
|
|
should be forwarded to them so everyone can benefit from the modifications |
|
|
in future versions. |
|
|
|
|
|
Super NES and Super Nintendo Entertainment System are trademarks of |
|
|
Nintendo Co., Limited and its subsidiary companies. |
|
|
***********************************************************************************/ |
|
|
|
|
|
#ifndef _MSU1_H_ |
|
|
#define _MSU1_H_ |
|
|
#include "snes9x.h" |
|
|
|
|
|
struct SMSU1 |
|
|
{ |
|
|
uint8 MSU1_STATUS; |
|
|
uint32 MSU1_DATA_SEEK; |
|
|
uint32 MSU1_DATA_POS; |
|
|
uint16 MSU1_TRACK_SEEK; |
|
|
uint16 MSU1_CURRENT_TRACK; |
|
|
uint32 MSU1_RESUME_TRACK; |
|
|
uint8 MSU1_VOLUME; |
|
|
uint8 MSU1_CONTROL; |
|
|
uint32 MSU1_AUDIO_POS; |
|
|
uint32 MSU1_RESUME_POS; |
|
|
}; |
|
|
|
|
|
enum SMSU1_FLAG { |
|
|
Revision = 0x02, //max: 0x07 |
|
|
AudioResume = 0x04, |
|
|
AudioError = 0x08, |
|
|
AudioPlaying = 0x10, |
|
|
AudioRepeating = 0x20, |
|
|
AudioBusy = 0x40, |
|
|
DataBusy = 0x80 |
|
|
}; |
|
|
|
|
|
enum SMSU1_CMD { |
|
|
Play = 0x01, |
|
|
Repeat = 0x02, |
|
|
Resume = 0x04 |
|
|
}; |
|
|
|
|
|
extern struct SMSU1 MSU1; |
|
|
|
|
|
void S9xMSU1Init(void); |
|
|
void S9xMSU1Generate(int sample_count); |
|
|
uint8 S9xMSU1ReadPort(int port); |
|
|
void S9xMSU1WritePort(int port, uint8 byte); |
|
|
uint16 S9xMSU1Samples(void); |
|
|
void S9xMSU1SetOutput(int16 *out, int size); |
|
|
void S9xMSU1PostLoadState(void); |
|
|
|
|
|
#endif |