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
45 #define USE_FLOPPY_DISK 1
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_AUTO_KEY_NUMPAD
53 #define USE_SOUND_VOLUME 2
55 #define USE_PRINTER_TYPE 3
60 #include "../../common.h"
61 #include "../../fileio.h"
63 #ifdef USE_SOUND_VOLUME
64 static const _TCHAR *sound_device_caption[] = {
65 _T("Beep"), _T("Noise (FDD)"),
78 //#if defined(HAS_V30) || defined(HAS_I86)
116 //#if defined(HAS_V30) || defined(HAS_I86)
139 // ----------------------------------------
141 // ----------------------------------------
146 // ----------------------------------------
147 // for emulation class
148 // ----------------------------------------
150 // drive virtual machine
156 DEVICE *get_cpu(int index);
163 void initialize_sound(int rate, int samples);
164 uint16_t* create_sound(int* extra_frames);
165 int get_sound_buffer_ptr();
166 #ifdef USE_SOUND_VOLUME
167 void set_sound_device_volume(int ch, int decibel_l, int decibel_r);
171 void key_down(int code, bool repeat);
172 void key_up(int code);
173 bool get_caps_locked();
174 bool get_kana_locked();
177 void open_floppy_disk(int drv, const _TCHAR* file_path, int bank);
178 void close_floppy_disk(int drv);
179 bool is_floppy_disk_inserted(int drv);
180 void is_floppy_disk_protected(int drv, bool value);
181 bool is_floppy_disk_protected(int drv);
182 uint32_t is_floppy_disk_accessed();
183 bool is_frame_skippable();
185 void update_config();
186 void save_state(FILEIO* state_fio);
187 bool load_state(FILEIO* state_fio);
189 // ----------------------------------------
191 // ----------------------------------------
194 DEVICE* get_device(int id);
196 DEVICE* first_device;