ymdeltat.h
来自「十七种模拟器源代码 非常有用的作课程设计不可缺少的」· C头文件 代码 · 共 55 行
H
55 行
#ifndef __YMDELTAT_H_#define __YMDELTAT_H_#define YM_DELTAT_SHIFT (16)/* adpcm type A and type B struct */typedef struct deltat_adpcm_state { UINT8 *memory; int memory_size; double freqbase; INT32 *output_pointer; /* pointer of output pointers */ int output_range; UINT8 reg[16]; UINT8 portstate,portcontrol; int portshift; UINT8 flag; /* port state */ UINT8 flagMask; /* arrived flag mask */ UINT8 now_data; UINT32 now_addr; UINT32 now_step; UINT32 step; UINT32 start; UINT32 end; UINT32 delta; INT32 volume; INT32 *pan; /* &output_pointer[pan] */ INT32 /*adpcmm,*/ adpcmx, adpcmd; INT32 adpcml; /* hiro-shi!! */ /* leveling and re-sampling state for DELTA-T */ INT32 volume_w_step; /* volume with step rate */ INT32 next_leveling; /* leveling value */ INT32 sample_step; /* step of re-sampling */ UINT8 arrivedFlag; /* flag of arrived end address */}YM_DELTAT;/* static state */extern UINT8 *ym_deltat_memory; /* memory pointer *//* before YM_DELTAT_ADPCM_CALC(YM_DELTAT *DELTAT); */#define YM_DELTAT_DECODE_PRESET(DELTAT) {ym_deltat_memory = DELTAT->memory;}void YM_DELTAT_ADPCM_Write(YM_DELTAT *DELTAT,int r,int v);void YM_DELTAT_ADPCM_Reset(YM_DELTAT *DELTAT,int pan);/* INLINE void YM_DELTAT_ADPCM_CALC(YM_DELTAT *DELTAT); */#define YM_INLINE_BLOCK#include "ymdeltat.c" /* include inline function section */#undef YM_INLINE_BLOCK#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?