Game port overhaul

This commit is contained in:
RichardG867
2021-05-20 22:51:55 -03:00
parent 1de2e3dd2f
commit 77f311b179
17 changed files with 352 additions and 234 deletions

View File

@@ -2516,8 +2516,7 @@ machine_amstrad_init(const machine_t *model, int type)
mouse_set_poll(ms_poll, ams);
}
if (joystick_type)
device_add(&gameport_device);
standalone_gameport_type = &gameport_device;
}

View File

@@ -74,8 +74,7 @@ machine_at_common_init_ex(const machine_t *model, int type)
else if (type == 0)
device_add(&at_nvr_device);
if (joystick_type)
device_add(&gameport_device);
standalone_gameport_type = &gameport_device;
}

View File

@@ -516,8 +516,7 @@ ps1_common_init(const machine_t *model)
device_add(&keyboard_ps2_ps1_device);
/* Audio uses ports 200h and 202-207h, so only initialize gameport on 201h. */
if (joystick_type)
device_add(&gameport_201_device);
standalone_gameport_type = &gameport_201_device;
}

View File

@@ -1541,8 +1541,7 @@ machine_tandy1k_init(const machine_t *model, int type)
break;
}
if (joystick_type)
device_add(&gameport_device);
standalone_gameport_type = &gameport_device;
eep_data_out = 0x0000;
}

View File

@@ -30,8 +30,7 @@ machine_xt_common_init(const machine_t *model)
device_add(&fdc_xt_device);
nmi_init();
if (joystick_type)
device_add(&gameport_device);
standalone_gameport_type = &gameport_device;
}

View File

@@ -56,8 +56,7 @@ machine_xt_compaq_deskpro_init(const machine_t *model)
if (fdc_type == FDC_INTERNAL)
device_add(&fdc_xt_device);
nmi_init();
if (joystick_type)
device_add(&gameport_device);
standalone_gameport_type = &gameport_device;
lpt1_remove();
lpt1_init(0x03bc);

View File

@@ -174,8 +174,7 @@ machine_xt_lxt3_init(const machine_t *model)
if (fdc_type == FDC_INTERNAL)
device_add(&fdc_xt_device);
nmi_init();
if (joystick_type)
device_add(&gameport_device);
standalone_gameport_type = &gameport_device;
laserxt_init(1);

View File

@@ -738,8 +738,7 @@ machine_xt_m24_init(const machine_t *model)
/* FIXME: make sure this is correct?? */
device_add(&at_nvr_device);
if (joystick_type)
device_add(&gameport_device);
standalone_gameport_type = &gameport_device;
nmi_init();

View File

@@ -155,8 +155,7 @@ machine_xt_philips_common_init(const machine_t *model)
nmi_init();
if (joystick_type)
device_add(&gameport_device);
standalone_gameport_type = &gameport_device;
device_add(&keyboard_pc_device);

View File

@@ -181,8 +181,7 @@ machine_xt_xi8088_init(const machine_t *model)
nmi_init();
device_add(&ibmat_nvr_device);
pic2_init();
if (joystick_type)
device_add(&gameport_device);
standalone_gameport_type = &gameport_device;
return ret;
}

View File

@@ -34,6 +34,7 @@
#include <86box/rom.h>
#include <86box/lpt.h>
#include <86box/serial.h>
#include <86box/gameport.h>
#include "cpu.h"
#include <86box/video.h>
#include <86box/machine.h>
@@ -74,6 +75,7 @@ machine_init_ex(int m)
machine_log("Initializing as \"%s\"\n", machine_getname());
is_vpc = 0;
standalone_gameport_type = NULL;
/* Set up the architecture flags. */
AT = IS_AT(machine);