2 SEGA SC-3000 Emulator 'eSC-3000'
4 Author : Takeda.Toshiya
13 #define DEVICE_NAME "SEGA SC-3000"
14 #define CONFIG_NAME "sc3000"
16 // device informations for virtual machine
17 #define FRAMES_PER_SEC 60
18 #define LINES_PER_FRAME 262
19 #define CPU_CLOCKS 3579545
20 #define SCREEN_WIDTH 256
21 #define SCREEN_HEIGHT 192
22 #define TMS9918A_VRAM_SIZE 0x4000
23 #define TMS9918A_LIMIT_SPRITES
26 // device informations for win32
30 #define USE_ALT_F10_KEY
31 #define USE_AUTO_KEY 5
32 #define USE_AUTO_KEY_RELEASE 8
33 #define USE_AUTO_KEY_CAPS
34 #define USE_ACCESS_LAMP
38 #include "../../common.h"
39 #include "../../fileio.h"
79 // ----------------------------------------
81 // ----------------------------------------
86 // ----------------------------------------
87 // for emulation class
88 // ----------------------------------------
90 // drive virtual machine
96 DEVICE *get_cpu(int index);
104 void initialize_sound(int rate, int samples);
105 uint16* create_sound(int* extra_frames);
106 int sound_buffer_ptr();
109 void open_cart(int drv, const _TCHAR* file_path);
110 void close_cart(int drv);
111 bool cart_inserted(int drv);
112 void open_disk(int drv, const _TCHAR* file_path, int bank);
113 void close_disk(int drv);
114 bool disk_inserted(int drv);
115 void set_disk_protected(int drv, bool value);
116 bool get_disk_protected(int drv);
117 void play_tape(const _TCHAR* file_path);
118 void rec_tape(const _TCHAR* file_path);
120 bool tape_inserted();
123 void update_config();
124 void save_state(FILEIO* state_fio);
125 bool load_state(FILEIO* state_fio);
127 // ----------------------------------------
129 // ----------------------------------------
132 DEVICE* get_device(int id);
134 DEVICE* first_device;