class Action_Control *action_ResetFixedCpu;
class Action_Control *action_SetFixedCpu[128];
+ class Action_Control *action_RAMSize;
// Screen
class Action_Control *actionCapture_Screen;
class Action_Control *action_SetRenderMode[8];
int set_recent_cdrom(int drv, int num);
void do_eject_cdrom(int drv);
void do_open_cdrom(int drv, QString path);
+ void do_swap_cdaudio_byteorder(int drv, bool value);
int set_recent_laserdisc(int drv, int num);
void do_eject_laserdisc(int drv);
void do_select_fixed_cpu(int num);
void do_add_keyname_table(uint32_t vk, QString name);
void do_clear_keyname_table();
-
+ void do_show_ram_size_dialog(void);
+
signals:
int message_changed(QString);
int quit_emu_thread();
#define HAS_MB89311
+#define RAM_SIZE_ORDER (1024*1024)
+
#if defined(_FMTOWNS_1)
#define DEVICE_NAME "FUJITSU FM-Towns Model 1"
#define CONFIG_NAME "fmtowns1"
#define MAX_DRIVE 1
#define _HAS_HDD 4
#undef HAS_MB89311
+#define USE_VARIABLE_MEMORY 6
+#define MIN_RAM_SIZE 1
#elif defined(_FMTOWNS_2)
#define DEVICE_NAME "FUJITSU FM-Towns Model 2"
#define MAX_DRIVE 2
#define _HAS_HDD 4
#undef HAS_MB89311
+#define USE_VARIABLE_MEMORY 6
+#define MIN_RAM_SIZE 1
#elif defined(_FMTOWNS_2F)
#define DEVICE_NAME "FUJITSU FM-Towns 2F"
#define MAX_DRIVE 2
#undef _HAS_HDD
#define _FMTOWNS1_2ND_GEN
+#define USE_VARIABLE_MEMORY 8
+#define MIN_RAM_SIZE 2
#elif defined(_FMTOWNS_2H)
#define DEVICE_NAME "FUJITSU FM-Towns 2H"
#define MAX_DRIVE 2
#define _HAS_HDD 4
#define _FMTOWNS1_2ND_GEN
+#define USE_VARIABLE_MEMORY 8
+#define MIN_RAM_SIZE 2
#elif defined(_FMTOWNS_20F)
#define DEVICE_NAME "FUJITSU FM-Towns 20F"
#undef _HAS_HDD
#define TYPE_TOWNS_X0 1
#define _FMTOWNS1_3RD_GEN
+#define USE_VARIABLE_MEMORY 8
+#define MIN_RAM_SIZE 2
#elif defined(_FMTOWNS_40H)
#define DEVICE_NAME "FUJITSU FM-Towns 40H"
#define _HAS_HDD 4
#define TYPE_TOWNS_X0 1
#define _FMTOWNS1_3RD_GEN
+#define USE_VARIABLE_MEMORY 8
+#define MIN_RAM_SIZE 2
#elif defined(_FMTOWNS2_UX20)
#define DEVICE_NAME "FUJITSU FM-Towns II UX20"
#define WITH_386SX 1
#define TYPE_TOWNS2_UX 1
#define _FMTOWNS_UX_VARIANTS
+#define USE_VARIABLE_MEMORY 9
+#define MIN_RAM_SIZE 2
#elif defined(_FMTOWNS2_UX40)
#define DEVICE_NAME "FUJITSU FM-Towns II UX40"
#define WITH_386SX 1
#define TYPE_TOWNS2_UX 1
#define _FMTOWNS_UX_VARIANTS
+#define USE_VARIABLE_MEMORY 9
+#define MIN_RAM_SIZE 2
#elif defined(_FMTOWNS2_CX20)
#define DEVICE_NAME "FUJITSU FM-Towns II CX20"
#undef _HAS_HDD
#define TYPE_TOWNS2_CX 1
#define _FMTOWNS2_CX_VARIANTS
+#define USE_VARIABLE_MEMORY 15
+#define MIN_RAM_SIZE 2
#elif defined(_FMTOWNS2_CX40)
#define DEVICE_NAME "FUJITSU FM-Towns II CX40"
#define _HAS_HDD 4
#define TYPE_TOWNS2_CX 1
#define _FMTOWNS2_CX_VARIANTS
+#define USE_VARIABLE_MEMORY 15
+#define MIN_RAM_SIZE 2
#elif defined(_FMTOWNS2_CX100)
#define DEVICE_NAME "FUJITSU FM-Towns II CX40"
#define MAX_DRIVE 2
#define _HAS_HDD 4
#define TYPE_TOWNS2_CX 1
+#define USE_VARIABLE_MEMORY 15
+#define MIN_RAM_SIZE 2
#define _FMTOWNS2_CX_VARIANTS
+
#elif defined(_FMTOWNS2_UG10)
#define DEVICE_NAME "FUJITSU FM-Towns II UG10"
#define CONFIG_NAME "fmtowns2UG1"
#define MAX_DRIVE 2
#undef _HAS_HDD
#define WITH_386SX 1
+#define USE_VARIABLE_MEMORY 9
+#define MIN_RAM_SIZE 2
+
#define _FMTOWNS_UG_VARIANTS
+
#elif defined(_FMTOWNS2_UG20)
#define DEVICE_NAME "FUJITSU FM-Towns II UG20"
#define CONFIG_NAME "fmtowns2UG20"
#define MAX_DRIVE 2
#undef _HAS_HDD
#define WITH_386SX 1
+#define USE_VARIABLE_MEMORY 9
+#define MIN_RAM_SIZE 2
+
#define _FMTOWNS_UG_VARIANTS
+
#elif defined(_FMTOWNS2_UG40)
#define DEVICE_NAME "FUJITSU FM-Towns II UG40"
#define CONFIG_NAME "fmtowns2UG40"
#define MAX_DRIVE 2
#define _HAS_HDD 4
#define WITH_386SX 1
+#define USE_VARIABLE_MEMORY 9
+#define MIN_RAM_SIZE 2
+
#define _FMTOWNS_UG_VARIANTS
+
#elif defined(_FMTOWNS2_UG80)
#define DEVICE_NAME "FUJITSU FM-Towns II UG80"
#define CONFIG_NAME "fmtowns2UG80"
#define MAX_DRIVE 2
#define _HAS_HDD 1
#define WITH_386SX 1
+#define USE_VARIABLE_MEMORY 9
+#define MIN_RAM_SIZE 2
+
#define _FMTOWNS_UG_VARIANTS
+
#elif defined(_FMTOWNS2_HG20)
#define DEVICE_NAME "FUJITSU FM-Towns II HG20"
#define CONFIG_NAME "fmtowns2HG20"
#define MAX_DRIVE 2
#undef _HAS_HDD
+#define USE_VARIABLE_MEMORY 15
+#define MIN_RAM_SIZE 2
+
#define _FMTOWNS_HG_VARIANTS
#elif defined(_FMTOWNS2_HG40)
#define DEVICE_NAME "FUJITSU FM-Towns II HG40"
#define CONFIG_NAME "fmtowns2HG40"
#define MAX_DRIVE 2
#define _HAS_HDD 4
+
+#define USE_VARIABLE_MEMORY 15
+#define MIN_RAM_SIZE 2
+
#define _FMTOWNS_HG_VARIANTS
+
#elif defined(_FMTOWNS2_HR20)
#define DEVICE_NAME "FUJITSU FM-Towns II HR20"
#define CONFIG_NAME "fmtowns2HR20"
#define MAX_DRIVE 2
#define _HAS_HDD 4
#define _FMTOWNS_HR_VARIANTS
+
+#define USE_VARIABLE_MEMORY 31
+#define MIN_RAM_SIZE 2
+
#define WITH_I486SX
#elif defined(_FMTOWNS2_HR100)
#define DEVICE_NAME "FUJITSU FM-Towns II HR100"
#define CONFIG_NAME "fmtowns2HR100"
#define MAX_DRIVE 2
#define _HAS_HDD 4
+
+#define USE_VARIABLE_MEMORY 31
+#define MIN_RAM_SIZE 2
+
#define _FMTOWNS_HR_VARIANTS
#define WITH_I486SX
+
#elif defined(_FMTOWNS2_HR200)
#define DEVICE_NAME "FUJITSU FM-Towns II HR200"
#define CONFIG_NAME "fmtowns2HR200"
#define _HAS_HDD 4
#define _FMTOWNS_HR_VARIANTS
#define WITH_I486SX
+
+#define USE_VARIABLE_MEMORY 31
+#define MIN_RAM_SIZE 2
+
#endif
#if defined(WITH_386SX)