2 TOSHIBA J-3100GT Emulator 'eJ-3100GT'
3 TOSHIBA J-3100SL Emulator 'eJ-3100SL'
5 Author : Takeda.Toshiya
15 #define DEVICE_NAME "TOSHIBA J-3100GT"
16 #define CONFIG_NAME "j3100gt"
17 #elif defined(_J3100SL)
18 #define DEVICE_NAME "TOSHIBA J-3100SL"
19 #define CONFIG_NAME "j3100sl"
22 // device informations for virtual machine
24 #if defined(_J3100SL) || defined(_J3100SS) || defined(_J3100SE)
28 // TODO: check refresh rate
29 #define FRAMES_PER_SEC 59.9
31 #define LINES_PER_FRAME 440
32 #define CHARS_PER_LINE 54
33 #define CPU_CLOCKS 9545456
34 #define SCREEN_WIDTH 640
35 #define SCREEN_HEIGHT 400
37 #define UPD765A_SENCE_INTSTAT_RESULT
38 #define UPD765A_EXT_DRVSEL
41 #define I8259_MAX_CHIPS 1
44 #define I8259_MAX_CHIPS 2
46 #if !(defined(_J3100SS) || defined(_J3100SE))
49 #define SINGLE_MODE_DMA
50 #define IO_ADDR_MAX 0x10000
52 // device informations for win32
53 #define USE_FLOPPY_DISK 2
54 #define NOTIFY_KEY_DOWN
55 #define USE_ALT_F10_KEY
56 #define USE_AUTO_KEY 5
57 #define USE_AUTO_KEY_RELEASE 6
58 #define USE_AUTO_KEY_NUMPAD
59 #define USE_SOUND_VOLUME 2
62 #include "../../common.h"
63 #include "../../fileio.h"
64 #include "../vm_template.h"
66 #ifdef USE_SOUND_VOLUME
67 static const _TCHAR *sound_device_caption[] = {
68 _T("Beep"), _T("Noise (FDD)"),
81 //#if defined(HAS_I286)
115 class VM : public VM_TEMPLATE
128 //#if defined(HAS_I286)
143 J3100::DISPLAY* display;
144 J3100::DMAREG* dmareg;
145 J3100::FLOPPY* floppy;
148 J3100SL::KEYBOARD* keyboard;
149 J3100SL::MEMORY* memory;
150 J3100SL::SYSTEM* system;
152 J3100::KEYBOARD* keyboard;
153 J3100::MEMORY* memory;
154 J3100::SYSTEM* system;
158 // ----------------------------------------
160 // ----------------------------------------
165 // ----------------------------------------
166 // for emulation class
167 // ----------------------------------------
169 // drive virtual machine
171 void notify_power_off() { }
176 DEVICE *get_cpu(int index);
183 void initialize_sound(int rate, int samples);
184 uint16_t* create_sound(int* extra_frames);
185 int get_sound_buffer_ptr();
186 #ifdef USE_SOUND_VOLUME
187 void set_sound_device_volume(int ch, int decibel_l, int decibel_r);
191 void key_down(int code, bool repeat);
192 void key_up(int code);
195 void open_floppy_disk(int drv, const _TCHAR* file_path, int bank);
196 void close_floppy_disk(int drv);
197 bool is_floppy_disk_inserted(int drv);
198 void is_floppy_disk_protected(int drv, bool value);
199 bool is_floppy_disk_protected(int drv);
200 uint32_t is_floppy_disk_accessed();
201 bool is_frame_skippable();
203 void update_config();
204 bool process_state(FILEIO* state_fio, bool loading);
206 // ----------------------------------------
208 // ----------------------------------------
211 DEVICE* get_device(int id);
213 //DEVICE* first_device;
214 //DEVICE* last_device;