2 ASCII MSX1 Emulator 'yaMSX1'
3 ASCII MSX2 Emulator 'yaMSX2'
4 Pioneer PX-7 Emulator 'ePX-7'
9 modified by Takeda.Toshiya
19 #define DEVICE_NAME "PIONEER PX-7"
20 #define CONFIG_NAME "px7"
22 #define DEVICE_NAME "ASCII MSX1"
23 #define CONFIG_NAME "msx1"
25 #define DEVICE_NAME "ASCII MSX2"
26 #define CONFIG_NAME "msx2"
29 // device informations for virtual machine
30 #define FRAMES_PER_SEC 60
31 #define LINES_PER_FRAME 262
32 #define CPU_CLOCKS 3579545
34 #define SCREEN_WIDTH ((256 + 15)*2) // V99X8_WIDTH
35 #define SCREEN_HEIGHT ((212 + 15)*2) // V99X8_HEIGHT
37 #define SCREEN_WIDTH 512
38 #define SCREEN_HEIGHT 384
40 #define TMS9918A_VRAM_SIZE 0x4000
41 #define TMS9918A_LIMIT_SPRITES
43 #define TMS9918A_SUPER_IMPOSE
46 #define SUPPORT_MEDIA_TYPE_1DD
47 #define Z80_PSEUDO_BIOS
50 // for Flappy Limited '85
51 #define AY_3_891X_PORT_MODE 0x80
53 // device informations for win32
58 #define USE_LASER_DISC
59 #define USE_MOVIE_PLAYER
64 #define USE_ALT_F10_KEY
65 #define USE_AUTO_KEY 6
66 #define USE_AUTO_KEY_RELEASE 10
68 #define USE_SOUND_FILES 4
70 #define USE_SOUND_FILES 3
72 #define USE_SOUND_FILES_FDD
73 #define USE_SOUND_FILES_RELAY
74 #if defined(USE_SOUND_FILES)
76 #define USE_SOUND_VOLUME 5
78 //#define USE_SOUND_VOLUME 5
79 #define USE_SOUND_VOLUME 4
83 #define USE_SOUND_VOLUME 5
85 #define USE_SOUND_VOLUME 4
88 #define SUPPORT_ROMA_KANA_CONVERSION
89 #define SUPPORT_TV_RENDER
94 #include "../../common.h"
95 #include "../../fileio.h"
97 #ifdef USE_SOUND_VOLUME
98 static const _TCHAR *sound_device_caption[] = {
99 _T("PSG"), _T("Beep"), _T("CMT"),
103 #if defined(USE_SOUND_FILES)
183 // ----------------------------------------
185 // ----------------------------------------
190 // ----------------------------------------
191 // for emulation class
192 // ----------------------------------------
194 // drive virtual machine
200 DEVICE *get_cpu(int index);
207 void initialize_sound(int rate, int samples);
208 uint16_t* create_sound(int* extra_frames);
209 int get_sound_buffer_ptr();
211 void movie_sound_callback(uint8_t *buffer, long size);
213 #ifdef USE_SOUND_VOLUME
214 void set_sound_device_volume(int ch, int decibel_l, int decibel_r);
218 void open_cart(int drv, const _TCHAR* file_path);
219 void close_cart(int drv);
220 bool is_cart_inserted(int drv);
221 void play_tape(const _TCHAR* file_path);
222 void rec_tape(const _TCHAR* file_path);
224 bool is_tape_inserted();
225 bool is_tape_playing();
226 bool is_tape_recording();
227 int get_tape_position();
229 void open_laser_disc(const _TCHAR* file_path);
230 void close_laser_disc();
231 bool is_laser_disc_inserted();
233 void open_floppy_disk(int drv, const _TCHAR* file_path, int bank);
234 void close_floppy_disk(int drv);
235 bool is_floppy_disk_inserted(int drv);
236 void is_floppy_disk_protected(int drv, bool value);
237 bool is_floppy_disk_protected(int drv);
239 bool is_frame_skippable();
241 void update_config();
242 void save_state(FILEIO* state_fio);
243 bool load_state(FILEIO* state_fio);
245 // ----------------------------------------
247 // ----------------------------------------
250 DEVICE* get_device(int id);
252 DEVICE* first_device;