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 + -
显示快捷键?