DOSBox-X
|
00001 /* 00002 * Copyright (C) 2002-2020 The DOSBox Team 00003 * 00004 * This program is free software; you can redistribute it and/or modify 00005 * it under the terms of the GNU General Public License as published by 00006 * the Free Software Foundation; either version 2 of the License, or 00007 * (at your option) any later version. 00008 * 00009 * This program is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 * GNU General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU General Public License along 00015 * with this program; if not, write to the Free Software Foundation, Inc., 00016 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00017 */ 00018 00019 00020 #ifndef DOSBOX_HARDWARE_H 00021 #define DOSBOX_HARDWARE_H 00022 00023 #include <stdio.h> 00024 00025 class Section; 00026 enum OPL_Mode { 00027 OPL_none,OPL_cms,OPL_opl2,OPL_dualopl2,OPL_opl3,OPL_opl3gold,OPL_hardware,OPL_hardwareCMS 00028 }; 00029 #define CAPTURE_WAVE 0x01 00030 #define CAPTURE_OPL 0x02 00031 #define CAPTURE_MIDI 0x04 00032 #define CAPTURE_IMAGE 0x08 00033 #define CAPTURE_VIDEO 0x10 00034 #define CAPTURE_MULTITRACK_WAVE 0x20 /* like CAPTURE_WAVE, but one AVI audio track per mixer channel for pro video production */ 00035 00036 extern Bitu CaptureState; 00037 00038 void OPL_Init(Section* sec,OPL_Mode oplmode); 00039 void CMS_Init(Section* sec); 00040 void OPL_ShutDown(Section* sec); 00041 void CMS_ShutDown(Section* sec); 00042 00043 bool SB_Get_Address(Bitu& sbaddr, Bitu& sbirq, Bitu& sbdma); 00044 bool TS_Get_Address(Bitu& tsaddr, Bitu& tsirq, Bitu& tsdma); 00045 00046 extern Bit8u adlib_commandreg; 00047 FILE * OpenCaptureFile(const char * type,const char * ext); 00048 00049 void CAPTURE_AddWave(Bit32u freq, Bit32u len, Bit16s * data); 00050 #define CAPTURE_FLAG_DBLW 0x1 00051 #define CAPTURE_FLAG_DBLH 0x2 00052 #define CAPTURE_FLAG_NOCHANGE 0x4 00053 void CAPTURE_AddImage(Bitu width, Bitu height, Bitu bpp, Bitu pitch, Bitu flags, float fps, Bit8u * data, Bit8u * pal); 00054 void CAPTURE_AddMidi(bool sysex, Bitu len, Bit8u * data); 00055 00056 #endif