Add support for four controllers.

This commit is contained in:
raphkoster
2019-06-23 23:03:59 -07:00
parent af0ba7263b
commit 609378be70
3 changed files with 104 additions and 41 deletions
+16 -7
View File
@@ -20,7 +20,7 @@ int retroh=300;
#define RETRO_DEVICE_ATARI_KEYBOARD RETRO_DEVICE_SUBCLASS(RETRO_DEVICE_KEYBOARD, 0)
#define RETRO_DEVICE_ATARI_JOYSTICK RETRO_DEVICE_SUBCLASS(RETRO_DEVICE_JOYPAD, 1)
unsigned atari_devices[ 2 ];
unsigned atari_devices[ 4 ];
int keyboard_type=0;
int autorun5200=0;
@@ -72,11 +72,20 @@ void retro_set_environment(retro_environment_t cb)
{ "ATARI Joystick", RETRO_DEVICE_ATARI_JOYSTICK },
{ "ATARI Keyboard", RETRO_DEVICE_ATARI_KEYBOARD },
};
static const struct retro_controller_description p3_controllers[] = {
{ "ATARI Joystick", RETRO_DEVICE_ATARI_JOYSTICK },
{ "ATARI Keyboard", RETRO_DEVICE_ATARI_KEYBOARD },
};
static const struct retro_controller_description p4_controllers[] = {
{ "ATARI Joystick", RETRO_DEVICE_ATARI_JOYSTICK },
{ "ATARI Keyboard", RETRO_DEVICE_ATARI_KEYBOARD },
};
static const struct retro_controller_info ports[] = {
{ p1_controllers, 2 }, // port 1
{ p2_controllers, 2 }, // port 2
{ p3_controllers, 2 }, // port 3
{ p4_controllers, 2 }, // port 4
{ NULL, 0 }
};
@@ -551,7 +560,7 @@ unsigned retro_api_version(void)
void retro_set_controller_port_device( unsigned port, unsigned device )
{
if ( port < 2 )
if ( port < 4 )
{
atari_devices[ port ] = device;
@@ -742,15 +751,15 @@ bool retro_unserialize(const void *data_, size_t size)
void *retro_get_memory_data(unsigned id)
{
if ( id == RETRO_MEMORY_SYSTEM_RAM )
return MEMORY_mem;
if ( id == RETRO_MEMORY_SYSTEM_RAM )
return MEMORY_mem;
return NULL;
}
size_t retro_get_memory_size(unsigned id)
{
if ( id == RETRO_MEMORY_SYSTEM_RAM )
return 65536;
if ( id == RETRO_MEMORY_SYSTEM_RAM )
return 65536;
return 0;
}