2 CANON X-07 Emulator 'eX-07'
\r
4 Author : Takeda.Toshiya
\r
13 #define DEVICE_NAME "CANON X-07"
\r
14 #define CONFIG_NAME "x07"
\r
16 // device informations for virtual machine
\r
17 #define FRAMES_PER_SEC 60
\r
18 #define LINES_PER_FRAME 262
\r
19 #define CPU_CLOCKS 3840000
\r
20 #define CPU_START_ADDR 0xc3c3
\r
21 #define SCREEN_WIDTH 120
\r
22 #define SCREEN_HEIGHT 32
\r
23 #define TV_SCREEN_WIDTH 256
\r
24 #define TV_SCREEN_HEIGHT 192
\r
26 #define MEMORY_ADDR_MAX 0x10000
\r
27 #define MEMORY_BANK_SIZE 0x800
\r
29 // device informations for win32
\r
30 #define WINDOW_WIDTH (SCREEN_WIDTH * 2)
\r
31 #define WINDOW_HEIGHT (SCREEN_HEIGHT * 2)
\r
32 #define TV_WINDOW_WIDTH TV_SCREEN_WIDTH
\r
33 #define TV_WINDOW_HEIGHT TV_SCREEN_HEIGHT
\r
36 #define TAPE_BINARY_ONLY
\r
37 #define NOTIFY_KEY_DOWN
\r
38 #define USE_ALT_F10_KEY
\r
39 #define USE_AUTO_KEY 6
\r
40 #define USE_AUTO_KEY_RELEASE 10
\r
41 #define USE_AUTO_KEY_CAPS
\r
42 #define USE_DEBUGGER
\r
44 #include "../../common.h"
\r
71 // uint8 c3[0x2000];
\r
79 // ----------------------------------------
\r
81 // ----------------------------------------
\r
83 VM(EMU* parent_emu);
\r
86 // ----------------------------------------
\r
87 // for emulation class
\r
88 // ----------------------------------------
\r
90 // drive virtual machine
\r
96 DEVICE *get_cpu(int index);
\r
100 void draw_screen();
\r
102 // sound generation
\r
103 void initialize_sound(int rate, int samples);
\r
104 uint16* create_sound(int* extra_frames);
\r
105 int sound_buffer_ptr();
\r
108 void key_down(int code, bool repeat);
\r
109 void key_up(int code);
\r
112 void play_tape(_TCHAR* file_path);
\r
113 void rec_tape(_TCHAR* file_path);
\r
115 bool tape_inserted();
\r
118 void update_config();
\r
120 // ----------------------------------------
\r
122 // ----------------------------------------
\r
125 DEVICE* get_device(int id);
\r
127 DEVICE* first_device;
\r
128 DEVICE* last_device;
\r