2 SHARP MZ-2500 Emulator 'EmuZ-2500'
4 Author : Takeda.Toshiya
13 #define DEVICE_NAME "SHARP MZ-2500"
14 #define CONFIG_NAME "mz2500"
16 // device informations for virtual machine
17 #define FRAMES_PER_SEC 55.4
18 #define LINES_PER_FRAME 440
19 #define CHARS_PER_LINE 108
20 #define CPU_CLOCKS 6000000
21 #define SCREEN_WIDTH 640
22 #define SCREEN_HEIGHT 400
29 #define Z80_MEMORY_WAIT
32 // device informations for win32
33 #define USE_SPECIAL_RESET
40 #define USE_SHIFT_NUMPAD_KEY
41 #define USE_ALT_F10_KEY
42 #define USE_AUTO_KEY 5
43 #define USE_AUTO_KEY_RELEASE 6
44 #define USE_MONITOR_TYPE 4
45 #define USE_CRT_FILTER
47 #define USE_ACCESS_LAMP
51 #include "../../common.h"
52 #include "../../fileio.h"
112 INTERRUPT* interrupt;
124 // monitor type cache
128 // ----------------------------------------
130 // ----------------------------------------
135 // ----------------------------------------
136 // for emulation class
137 // ----------------------------------------
139 // drive virtual machine
141 void special_reset();
146 DEVICE *get_cpu(int index);
154 void initialize_sound(int rate, int samples);
155 uint16* create_sound(int* extra_frames);
156 int sound_buffer_ptr();
159 void network_connected(int ch);
160 void network_disconnected(int ch);
161 uint8* get_sendbuffer(int ch, int* size);
162 void inc_sendbuffer_ptr(int ch, int size);
163 uint8* get_recvbuffer0(int ch, int* size0, int* size1);
164 uint8* get_recvbuffer1(int ch);
165 void inc_recvbuffer_ptr(int ch, int size);
168 void open_disk(int drv, _TCHAR* file_path, int bank);
169 void close_disk(int drv);
170 bool disk_inserted(int drv);
171 void play_tape(_TCHAR* file_path);
172 void rec_tape(_TCHAR* file_path);
174 bool tape_inserted();
177 void update_config();
178 void save_state(FILEIO* state_fio);
179 bool load_state(FILEIO* state_fio);
181 // ----------------------------------------
183 // ----------------------------------------
186 DEVICE* get_device(int id);
188 DEVICE* first_device;