Xemu [doxygen]  hyppo 0a42be3a057156924bc1b626a687bd6e27349c45 @ Sat 19 Mar 02:15:11 CET 2022
xemu-target.h
Go to the documentation of this file.
1 #define TARGET_NAME "mega65"
2 #define TARGET_DESC "MEGA65"
3 #define CPU_65CE02
4 #define MEGA65
5 #define CPU65_65CE02_6502NMOS_TIMING_EMULATION
6 //#define XEMU_SNAPSHOT_SUPPORT "MEGA65"
7 #define CPU_STEP_MULTI_OPS
8 //#define DEBUG_CPU
9 #define CPU_CUSTOM_MEMORY_FUNCTIONS_H "cpu_custom_functions.h"
10 #define CPU65 cpu65
11 //#define CPU65_DISCRETE_PF_NZ
12 
13 // #define DO_NOT_FORCE_UNREACHABLE
14 
15 #define HAVE_XEMU_EXEC_API
16 
17 #ifdef XEMU_HAS_SOCKET_API
18 #define HAS_UARTMON_SUPPORT
19 #define HAVE_XEMU_UMON
20 #endif
21 #define HAVE_XEMU_INSTALLER
22 
23 #ifndef XEMU_ARCH_HTML
24 #define CONFIG_DROPFILE_CALLBACK
25 #define VIRTUAL_DISK_IMAGE_SUPPORT
26 //#define CBM_BASIC_TEXT_SUPPORT
27 #define SD_CONTENT_SUPPORT
28 #endif
29 
30 //#define TRACE_NEXT_SUPPORT
31 
32 /* Globally: XEMU_INLINE hints gcc to always inline a function. Using this define switches that behaviour off, defaulting to standard "inline" (as it would be without using gcc as well) */
33 //#define DO_NOT_FORCE_INLINE
34 
35 // CPU emulation has always has these (originally NMOS) bugs, regardless of the CPU mode (1 = yes, 0 = no-or-mode-dependent)
36 #define M65_CPU_ALWAYS_BUG_JMP_INDIRECT 0
37 #define M65_CPU_ALWAYS_BUG_NO_RESET_PFD_ON_INT 0
38 #define M65_CPU_ALWAYS_BUG_BCD 0
39 // CPU emulation has only these NMOS-only bugs, if the CPU is in NMOS-persona mode (1=yes-only-in-nmos, 0=ALWAYS-setting-counts-for-this-bug-not-this-setting)
40 // To be able to use these, the corresponding ALWAYS setting above should be 0!
41 #define M65_CPU_NMOS_ONLY_BUG_JMP_INDIRECT 1
42 #define M65_CPU_NMOS_ONLY_BUG_NO_RESET_PFD_ON_INT 1
43 #define M65_CPU_NMOS_ONLY_BUG_BCD 1
44 
45 // Currently only Linux-TAP device is supported to have emulated ethernet controller
46 // Also it seems ARM Raspbian/etc does have problem with ethertap, so let's not allow
47 // ethertap for ARM CPU, it's faulty there!
48 #if defined(XEMU_ARCH_LINUX) && !defined(XEMU_CPU_ARM)
49 #define HAVE_ETHERTAP
50 #endif
51 
52 #define DMA_SOURCE_IOREADER_FUNC io_dma_reader
53 #define DMA_SOURCE_MEMREADER_FUNC memory_dma_source_mreader
54 #define DMA_TARGET_IOREADER_FUNC io_dma_reader
55 #define DMA_TARGET_MEMREADER_FUNC memory_dma_target_mreader
56 #define DMA_SOURCE_IOWRITER_FUNC io_dma_writer
57 #define DMA_SOURCE_MEMWRITER_FUNC memory_dma_source_mwriter
58 #define DMA_TARGET_IOWRITER_FUNC io_dma_writer
59 #define DMA_TARGET_MEMWRITER_FUNC memory_dma_target_mwriter
60 #define DMA_LIST_READER_FUNC memory_dma_list_reader
61 
62 #define FAKE_TYPING_SUPPORT
63 #define C65_FAKE_TYPING_LOAD_SEQS
64 #define C65_KEYBOARD
65 #define HID_KBD_MAP_CFG_SUPPORT
66 
67 #ifndef XEMU_ARCH_HTML
68 #define XEMU_USE_LODEPNG
69 #define XEMU_FILES_SCREENSHOT_SUPPORT
70 #endif
71 
72 #define CONFIG_EMSCRIPTEN_OK
73 
74 #define XEMU_CONFIGDB_SUPPORT
75 #define XEMU_OSD_SUPPORT