⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pokeysnd.h

📁 wince下著名的视频播放器源码
💻 H
字号:
/*****************************************************************************//*                                                                           *//* Module:  POKEY Chip Simulator Includes, V2.3                              *//* Purpose: To emulate the sound generation hardware of the Atari POKEY chip. *//* Author:  Ron Fries                                                        *//*                                                                           *//* Revision History:                                                         *//*                                                                           *//* 09/22/96 - Ron Fries - Initial Release                                    *//* 04/06/97 - Brad Oliver - Some cross-platform modifications. Added         *//*                          big/little endian #defines, removed <dos.h>,     *//*                          conditional defines for TRUE/FALSE               *//* 01/19/98 - Ron Fries - Changed signed/unsigned sample support to a        *//*                        compile-time option.  Defaults to unsigned -       *//*                        define SIGNED_SAMPLES to create signed.            *//*                                                                           *//*****************************************************************************//*                                                                           *//*                 License Information and Copyright Notice                  *//*                 ========================================                  *//*                                                                           *//* PokeySound is Copyright(c) 1996-1998 by Ron Fries                         *//*                                                                           *//* This library is free software; you can redistribute it and/or modify it   *//* under the terms of version 2 of the GNU Library General Public License    *//* as published by the Free Software Foundation.                             *//*                                                                           *//* This library 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 Library *//* General Public License for more details.                                  *//* To obtain a copy of the GNU Library General Public License, write to the  *//* Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.   *//*                                                                           *//* Any permitted reproduction of these routines, in whole or in part, must   *//* bear this legend.                                                         *//*                                                                           *//*****************************************************************************/#ifndef _POKEYSOUND_H#define _POKEYSOUND_H#include "config.h"#include "pokey.h"#ifndef _TYPEDEF_H#define _TYPEDEF_H/* define some data types to keep it platform independent */#ifdef COMP16					/* if 16-bit compiler defined */#define int8  char#define int16 int#define int32 long#else							/* else default to 32-bit compiler */#define int8  char#define int16 short#define int32 int#endif#define uint8  unsigned int8#define uint16 unsigned int16#define uint32 unsigned int32#endif/* CONSTANT DEFINITIONS *//* As an alternative to using the exact frequencies, selecting a playback   frequency that is an exact division of the main clock provides a higher   quality output due to less aliasing.  For best results, a value of   1787520 MHz is used for the main clock.  With this value, both the   64 kHz and 15 kHz clocks are evenly divisible.  Selecting a playback   frequency that is also a division of the clock provides the best   results.  The best options are FREQ_64 divided by either 2, 3, or 4.   The best selection is based on a trade off between performance and   sound quality.   Of course, using a main clock frequency that is not exact will affect   the pitch of the output.  With these numbers, the pitch will be low   by 0.127%.  (More than likely, an actual unit will vary by this much!) */#define FREQ_17_EXACT     1789790	/* exact 1.79 MHz clock freq */#define FREQ_17_APPROX    1787520	/* approximate 1.79 MHz clock freq */#ifdef __cplusplusextern "C" {#endif	/* #define SIGNED_SAMPLES */ /* define for signed output */#ifdef  SIGNED_SAMPLES			/* if signed output selected */#define SAMP_MAX 127			/* then set signed 8-bit clipping ranges */#define SAMP_MIN -128#define SAMP_MID 0#else#define SAMP_MAX 255			/* else set unsigned 8-bit clip ranges */#define SAMP_MIN 0#define SAMP_MID 128#endif/* init flags */#define SND_BIT16	1#define SND_STEREO	2extern int32 snd_playback_freq;extern uint8 snd_num_pokeys;extern int enable_new_pokey;extern int stereo_enabled;extern int serio_sound_enabled;extern int console_sound_enabled;extern void (*Pokey_process_ptr)(void *sndbuffer, unsigned int sndn);extern void (*Update_pokey_sound)(uint16 addr, uint8 val, uint8 /*chip*/, uint8 gain);extern void (*Update_serio_sound)(int out, UBYTE data);extern void (*Update_consol_sound)(int set);extern void (*Update_vol_only_sound)(void);int Pokey_sound_init(uint32 freq17, uint16 playback_freq, uint8 num_pokeys,                     unsigned int flags#ifdef __PLUS                     , int clear_regs#endif                     );void Pokey_process(void *sndbuffer, unsigned int sndn);int Pokey_DoInit(void);void Pokey_set_mzquality(int quality);#ifdef __cplusplus}#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -