2 NEC PC-98LT Emulator 'ePC-98LT'
3 NEC PC-98HA Emulator 'eHANDY98'
5 Author : Takeda.Toshiya
15 #define DEVICE_NAME "NEC PC-98HA"
16 #define CONFIG_NAME "pc98ha"
18 #define DEVICE_NAME "NEC PC-98LT"
19 #define CONFIG_NAME "pc98lt"
22 // device informations for virtual machine
23 #define FRAMES_PER_SEC 56.4
24 #define LINES_PER_FRAME 440
26 #define CPU_CLOCKS 10000000
28 #define CPU_CLOCKS 8000000
30 #define SCREEN_WIDTH 640
31 #define SCREEN_HEIGHT 400
34 #define I86_PSEUDO_BIOS
35 #define I8259_MAX_CHIPS 1
36 //#define UPD765A_DMA_MODE
37 //#define SINGLE_MODE_DMA
38 #define IO_ADDR_MAX 0x10000
39 #define IOBUS_RETURN_ADDR
41 //#define DOCKING_STATION
44 // device informations for win32
46 #define NOTIFY_KEY_DOWN
47 #define USE_KEY_LOCKED
48 #define USE_SHIFT_NUMPAD_KEY
49 #define USE_ALT_F10_KEY
50 #define USE_AUTO_KEY 5
51 #define USE_AUTO_KEY_RELEASE 6
52 #define USE_SOUND_VOLUME 2
54 #define USE_PRINTER_TYPE 3
58 #include "../../common.h"
59 #include "../../fileio.h"
61 #ifdef USE_SOUND_VOLUME
62 static const _TCHAR *sound_device_caption[] = {
63 _T("Beep"), _T("Noise (FDD)"),
76 #if defined(HAS_V30) || defined(HAS_I86)
114 #if defined(HAS_V30) || defined(HAS_I86)
137 // ----------------------------------------
139 // ----------------------------------------
144 // ----------------------------------------
145 // for emulation class
146 // ----------------------------------------
148 // drive virtual machine
154 DEVICE *get_cpu(int index);
161 void initialize_sound(int rate, int samples);
162 uint16_t* create_sound(int* extra_frames);
163 int get_sound_buffer_ptr();
164 #ifdef USE_SOUND_VOLUME
165 void set_sound_device_volume(int ch, int decibel_l, int decibel_r);
169 void key_down(int code, bool repeat);
170 void key_up(int code);
171 bool get_caps_locked();
172 bool get_kana_locked();
175 void open_floppy_disk(int drv, const _TCHAR* file_path, int bank);
176 void close_floppy_disk(int drv);
177 bool is_floppy_disk_inserted(int drv);
178 void is_floppy_disk_protected(int drv, bool value);
179 bool is_floppy_disk_protected(int drv);
180 uint32_t is_floppy_disk_accessed();
181 bool is_frame_skippable();
183 void update_config();
184 void save_state(FILEIO* state_fio);
185 bool load_state(FILEIO* state_fio);
187 // ----------------------------------------
189 // ----------------------------------------
192 DEVICE* get_device(int id);
194 DEVICE* first_device;