2011-07-14 00:49:52 +02:00
|
|
|
/* Finite impulse response (FIR) resampler with adjustable FIR size */
|
|
|
|
|
----------------------
Genesis Plus GX 1.6.0
----------------------
[Core/Sound]
---------------
* added YM2413 emulation in Master System compatibility mode.
* fixed SN76489 noise boost initialization.
* minor YM2612 core optimizations.
[Core/VDP]
---------------
* added accurate emulation of SG-1000, Master System (315-5124, 315-5246) & Game Gear VDP.
* added support for all TMS9918 rendering modes.
* improved Mega Drive VDP timings accuracy in Master System Compatibility mode.
* fixed color palette initialization.
* fixed shifted sprites rendering in Mode 4.
* modified pixel rendering support (pixel depth is now forced at compilation time).
[Core/CPU]
---------------
* optimized 68k core (rewrote 68k interrupt handling, removed multiple CPU types support & unused code) for 5~8% speed improvment
[Core/IO]
---------------
* added accurate emulation of Master System (315-5216, 315-5237, 315-5297) & Game Gear I/O controllers.
* added Terebi Oekaki tablet emulation.
* improved Mouse emulation (fixes mouse support in Cannon Fodder).
* improved Justifier emulation (fixes gun support in Lethal Enforcers 2).
* improved 6-Buttons control pad emulation (fixes Duke Nukem 3D)
* modified lightgun emulation to use common key inputs for all devices.
* 2-buttons controller is now picked by default for Master System games.
[Core/MD]
---------------
* added copy-protection hardware emulation for some new dumped games (Tiny Toon Adventures 3, Mighty Morphin Power Rangers & The Battle of Red Cliffs).
* added Game Toshokan in EEPROM database (verified on real cartridge).
* fixed Micro Machines 2 - Turbo Tournament EEPROM size (verified on real cartridge).
* modified SRAM banswitch hardware emulation to be more compatible with some hacks.
[Core/MS]
---------------
* added Cyborg Z to Korean mapper database.
[Core/GG]
---------------
* added 93C46 EEPROM emulation (Majors Pro Baseball, World Series Baseball & World Series Baseball 95).
[Core/General]
---------------
* added support for .mdx ROM format.
* added Game Gear & SG-1000 ROM support.
* added accurate emulation of SG-1000, Master System (I, II) & Game Gear hardware models for 100% compatibility.
* updated to new Genesis Plus license (see http://cgfm2.emuviews.com/)
* removed DOS port
* various code cleanup.
[Gamecube/Wii]
---------------
* IMPORTANT: cheats, screenshots & save files are now stored in console-specific directories (ex: /snaps/md, /cheats/ms, /saves/gg, ...)
* added 8-bit Action Replay & Game Genie codes support (for Master System & Game Gear games).
* improved audio/video synchronization for PAL games in 50Hz TV modes (now use VSYNC like NTSC games in 60hz modes).
* improved gun cursor positioning accuracy.
* improved horizontal scaling & screenshots rendering in H32 mode.
* fixed a bug with ROM file extension handling that would affect cheats, snapshots, sram & savestate files.
* removed ARAM/injected ROM support (unused).
* removed WPAD_ and PAD_ update from VSYNC callback.
* increased GCC inlining limits for some speed improvment.
* compiled with devkitPPC r24 & libogc 1.8.7.
2011-08-07 19:49:46 +02:00
|
|
|
/* Game_Music_Emu 0.5.2. http://www.slack.net/~ant/ */
|
|
|
|
|
|
|
|
/* Copyright (C) 2004-2006 Shay Green. This module is free software; you
|
|
|
|
can redistribute it and/or modify it under the terms of the GNU Lesser
|
|
|
|
General Public License as published by the Free Software Foundation; either
|
|
|
|
version 2.1 of the License, or (at your option) any later version. This
|
|
|
|
module 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 Lesser General Public License for more
|
|
|
|
details. You should have received a copy of the GNU Lesser General Public
|
|
|
|
License along with this module; if not, write to the Free Software Foundation,
|
|
|
|
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */
|
|
|
|
|
|
|
|
/* C Conversion by Eke-Eke for use in Genesis Plus GX (2009). */
|
|
|
|
|
2011-07-14 00:49:52 +02:00
|
|
|
#ifndef FIR_RESAMPLER_H
|
|
|
|
#define FIR_RESAMPLER_H
|
|
|
|
|
|
|
|
#define STEREO 2
|
|
|
|
#define MAX_RES 32
|
|
|
|
#define WIDTH 16
|
|
|
|
#define WRITE_OFFSET (WIDTH * STEREO) - STEREO
|
|
|
|
#define GAIN 1.0
|
|
|
|
|
2011-09-25 12:21:44 +02:00
|
|
|
typedef signed int sample_t;
|
2011-07-14 00:49:52 +02:00
|
|
|
|
|
|
|
extern int Fir_Resampler_initialize( int new_size );
|
|
|
|
extern void Fir_Resampler_shutdown( void );
|
|
|
|
extern void Fir_Resampler_clear( void );
|
|
|
|
extern double Fir_Resampler_time_ratio( double new_factor, double rolloff );
|
|
|
|
extern double Fir_Resampler_ratio( void );
|
|
|
|
extern int Fir_Resampler_max_write( void );
|
|
|
|
extern sample_t* Fir_Resampler_buffer( void );
|
|
|
|
extern int Fir_Resampler_written( void );
|
|
|
|
extern int Fir_Resampler_avail( void );
|
|
|
|
extern void Fir_Resampler_write( long count );
|
|
|
|
extern int Fir_Resampler_read( sample_t* out, long count );
|
|
|
|
extern int Fir_Resampler_input_needed( long output_count );
|
|
|
|
extern int Fir_Resampler_skip_input( long count );
|
|
|
|
|
|
|
|
#endif
|