play.h

来自「一个两碟控制的VCD的代码,两碟之间的转动及连续播放,已大量生产的CODE.」· C头文件 代码 · 共 86 行

H
86
字号
/* SCCSID @(#)play.h	1.1 11/19/97 */ #ifndef PLAYWAVEPCM_H#define PLAYWAVEPCM_H#include "../driver/common.h"#include "newcomm.h"#define FALSE	0#define TRUE	1#define buscon_d2a_runbit       buscon_audio_out_runbit#define buscon_dma_deltas_d2a   buscon_dma_deltas_audio_out#define buscon_dma_xpos_d2a     buscon_dma_xpos_audio_out#define buscon_dma_ypos_d2a     buscon_dma_ypos_audio_out#define buscon_is_running(ch) \  (mvd[buscon_dma_status] & cat3(buscon_,ch,_runbit))	/* 0x200087c0L */#define buscon_enable(ch)  mvd[buscon_dma_enable] = cat3(buscon_,ch,_runbit)#define buscon_irq_enable(ch) do {                      \  do {} while (!buscon_is_running(ch));                 \  mvd[riface_irqsuppress] = 0; asm("nop"); asm("nop");  \  gbl_buscon_irqmasks |= cat3(buscon_,ch,_runbit);      \  mvd[buscon_dma_irqmasks] = gbl_buscon_irqmasks;       \} while (0)#define buscon_xfer(ch, mode, addr, dx, dy) do {                           \  mvd[cat2(buscon_dma_deltas_,ch)] = ((0x80 - (dy)) << 9) | (0x200 - (dx));\  mvd[cat2(buscon_dma_xpos_,ch)] = (mode) | a2x(addr);                     \  mvd[cat2(buscon_dma_ypos_,ch)] = a2y(addr);                              \} while(0)#define done_but_needed(ch) \    ((!buscon_is_running(ch))&&(mask & buscon_##ch##_runbit))void LOW_set_audio_sampling_frequency(int freq_code);void LOW_init_audio(void);void PCM_init(void);void PCM_take_out(void);void PCM_start_take_out(void);void BUSCON_interrupt_service(void);#ifdef SUPPORT_CALLBACKtypedef void (*s_callback) (unsigned char **, int *);#endifvoid WAV_fillbuf(BYTE *src, BYTE *dst, int srcsize);void PCM_initbuf();void PCM_switchbuf();void PCM_play(BYTE *src, int srcsize);#ifndef SUPPORT_CALLBACKvoid PCM_startplay(int srcsize);#elsevoid PCM_startplay(BYTE *src, int srcsize, s_callback callback);#endif#ifndef SUPPORT_CALLBACKvoid ADPCM_startplay(BYTE *src, int srcsize);#elsevoid ADPCM_startplay(BYTE *src, int srcsize, s_callback callback);#endifvoid AU_startplay(BYTE *src, int srcsize);int AU_continue();int PCM_continue();int ADPCM_continue();#ifndef SUPPORT_CALLBACKint PlayWAVE(unsigned char *pDataWAVE, int SizeWAVE);#elseint PlayWAVE(unsigned char *pDataWAVE, int SizeWAVE, s_callback callback);#endifint PlayAU(unsigned char *pDataAU, int SizeAU);int PlayAbort(void);int GetStatePlay(void);#endif

⌨️ 快捷键说明

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