diff --git a/libretro/libretro-core.c b/libretro/libretro-core.c index e55cebf..103ed77 100644 --- a/libretro/libretro-core.c +++ b/libretro/libretro-core.c @@ -114,7 +114,7 @@ void retro_set_environment(retro_environment_t cb) struct retro_variable variables[] = { { "atari800_system", - "Atari System; 400/800 (OS B)|800XL (64K)|130XE (128K)|5200", + "Atari System; 400/800 (OS B)|800XL (64K)|130XE (128K)|Modern XL/XE(576K)|Modern XL/XE(1088K)|5200", }, { "atari800_ntscpal", @@ -248,6 +248,30 @@ static void update_variables(void) Atari800_keyboard_detached = FALSE; Atari800_InitialiseMachine(); } + else if (strcmp(var.value, "Modern XL/XE(576K)") == 0) + { + Atari800_machine_type = Atari800_MACHINE_XLXE; + MEMORY_ram_size = 576; + Atari800_builtin_basic = TRUE; + Atari800_keyboard_leds = FALSE; + Atari800_f_keys = FALSE; + Atari800_jumper = FALSE; + Atari800_builtin_game = FALSE; + Atari800_keyboard_detached = FALSE; + Atari800_InitialiseMachine(); + } + else if (strcmp(var.value, "Modern XL/XE(1088K)") == 0) + { + Atari800_machine_type = Atari800_MACHINE_XLXE; + MEMORY_ram_size = 1088; + Atari800_builtin_basic = TRUE; + Atari800_keyboard_leds = FALSE; + Atari800_f_keys = FALSE; + Atari800_jumper = FALSE; + Atari800_builtin_game = FALSE; + Atari800_keyboard_detached = FALSE; + Atari800_InitialiseMachine(); + } else if (strcmp(var.value, "5200") == 0) { Atari800_machine_type = Atari800_MACHINE_5200;