From 3328d29a2fd0139e613436628a44afc35dc79f26 Mon Sep 17 00:00:00 2001 From: grzybson Date: Sat, 10 Apr 2021 21:43:10 +0200 Subject: [PATCH] Added new system options for modern Atari XL/XE with 576 or 1088KB of RAM. --- libretro/libretro-core.c | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) 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;