mirror of
https://github.com/86Box/86Box.git
synced 2026-02-24 02:18:20 -07:00
Merge branch '86Box:master' into master
This commit is contained in:
@@ -1803,6 +1803,16 @@ image_load_cue(cd_image_t *img, const char *cuefile)
|
||||
lo_cmd = 0;
|
||||
|
||||
image_log(img->log, " [SESSION ] Initialization successful\n");
|
||||
} else if (!strcmp(command, "TAOGAP")) {
|
||||
ci = &(ct->idx[2]);
|
||||
|
||||
ci->type = INDEX_ZERO;
|
||||
ci->file = tf;
|
||||
success = image_cue_get_frame(&frame, &line);
|
||||
ci->length = frame;
|
||||
|
||||
image_log(img->log, " [INDEX ] 02 (%8s): Initialization %s\n",
|
||||
cit[ci->type + 2], success ? "successful" : "failed");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1041,6 +1041,7 @@ static const device_config_t mke_config[] = {
|
||||
{ .description = "320H", .value = 0x320 },
|
||||
{ .description = "330H", .value = 0x330 },
|
||||
{ .description = "340H", .value = 0x340 },
|
||||
{ .description = "630H", .value = 0x630 },
|
||||
{ NULL }
|
||||
},
|
||||
.bios = { { 0 } }
|
||||
|
||||
65
src/config.c
65
src/config.c
@@ -569,6 +569,7 @@ load_input_devices(void)
|
||||
{
|
||||
ini_section_t cat = ini_find_section(config, "Input devices");
|
||||
char temp[512];
|
||||
char tmp2[32];
|
||||
char *p;
|
||||
|
||||
p = ini_section_get_string(cat, "keyboard_type", NULL);
|
||||
@@ -646,18 +647,25 @@ load_input_devices(void)
|
||||
joystick_state[gp][js].plat_joystick_nr = ini_section_get_int(cat, temp, 0);
|
||||
|
||||
if (joystick_state[gp][js].plat_joystick_nr) {
|
||||
// --- Load Axis Mappings ---
|
||||
for (int axis_nr = 0; axis_nr < joystick_get_axis_count(joystick_type[joy_insn]); axis_nr++) {
|
||||
sprintf(temp, "joystick_%i_axis_%i", js, axis_nr);
|
||||
joystick_state[gp][js].axis_mapping[axis_nr] = ini_section_get_int(cat, temp, axis_nr);
|
||||
}
|
||||
|
||||
// --- Load Button Mappings ---
|
||||
for (int button_nr = 0; button_nr < joystick_get_button_count(joystick_type[joy_insn]); button_nr++) {
|
||||
sprintf(temp, "joystick_%i_button_%i", js, button_nr);
|
||||
joystick_state[gp][js].button_mapping[button_nr] = ini_section_get_int(cat, temp, button_nr);
|
||||
}
|
||||
|
||||
// --- Load POV (Hat Switch) Mappings ---
|
||||
for (int pov_nr = 0; pov_nr < joystick_get_pov_count(joystick_type[joy_insn]); pov_nr++) {
|
||||
sprintf(temp, "joystick_%i_pov_%i", js, pov_nr);
|
||||
p = ini_section_get_string(cat, temp, "0, 0");
|
||||
joystick_state[gp][js].pov_mapping[pov_nr][0] = joystick_state[gp][js].pov_mapping[pov_nr][1] = 0;
|
||||
sprintf(tmp2, "%i, %i", 0, 0);
|
||||
p = ini_section_get_string(cat, temp, tmp2);
|
||||
joystick_state[gp][js].pov_mapping[pov_nr][0] = 0;
|
||||
joystick_state[gp][js].pov_mapping[pov_nr][1] = 0;
|
||||
sscanf(p, "%i, %i", &joystick_state[gp][js].pov_mapping[pov_nr][0],
|
||||
&joystick_state[gp][js].pov_mapping[pov_nr][1]);
|
||||
}
|
||||
@@ -2702,7 +2710,7 @@ save_input_devices(void)
|
||||
{
|
||||
ini_section_t cat = ini_find_or_create_section(config, "Input devices");
|
||||
char temp[512];
|
||||
char tmp2[512];
|
||||
char tmp2[32];
|
||||
|
||||
ini_section_set_string(cat, "keyboard_type", keyboard_get_internal_name(keyboard_type));
|
||||
|
||||
@@ -2713,20 +2721,25 @@ save_input_devices(void)
|
||||
ini_section_delete_var(cat, "joystick_type");
|
||||
|
||||
for (int js = 0; js < MAX_PLAT_JOYSTICKS; js++) {
|
||||
sprintf(tmp2, "joystick_%i_nr", js);
|
||||
ini_section_delete_var(cat, tmp2);
|
||||
sprintf(temp, "joystick_%i_nr", js);
|
||||
ini_section_delete_var(cat, temp);
|
||||
|
||||
// --- Save Axis Mappings ---
|
||||
for (int axis_nr = 0; axis_nr < MAX_JOY_AXES; axis_nr++) {
|
||||
sprintf(tmp2, "joystick_%i_axis_%i", js, axis_nr);
|
||||
ini_section_delete_var(cat, tmp2);
|
||||
sprintf(temp, "joystick_%i_axis_%i", js, axis_nr);
|
||||
ini_section_delete_var(cat, temp);
|
||||
}
|
||||
|
||||
// --- Save Button Mappings ---
|
||||
for (int button_nr = 0; button_nr < MAX_JOY_BUTTONS; button_nr++) {
|
||||
sprintf(tmp2, "joystick_%i_button_%i", js, button_nr);
|
||||
ini_section_delete_var(cat, tmp2);
|
||||
sprintf(temp, "joystick_%i_button_%i", js, button_nr);
|
||||
ini_section_delete_var(cat, temp);
|
||||
}
|
||||
|
||||
// --- Save POV (Hat Switch) Mappings ---
|
||||
for (int pov_nr = 0; pov_nr < MAX_JOY_POVS; pov_nr++) {
|
||||
sprintf(tmp2, "joystick_%i_pov_%i", js, pov_nr);
|
||||
ini_section_delete_var(cat, tmp2);
|
||||
sprintf(temp, "joystick_%i_pov_%i", js, pov_nr);
|
||||
ini_section_delete_var(cat, temp);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -2735,33 +2748,37 @@ save_input_devices(void)
|
||||
ini_section_set_string(cat, "joystick_type", joystick_get_internal_name(joystick_type[joy_insn]));
|
||||
|
||||
for (int js = 0; js < joystick_get_max_joysticks(joystick_type[joy_insn]); js++) {
|
||||
sprintf(tmp2, "joystick_%i_nr", js);
|
||||
ini_section_set_int(cat, tmp2, joystick_state[gp][js].plat_joystick_nr);
|
||||
sprintf(temp, "joystick_%i_nr", js);
|
||||
ini_section_set_int(cat, temp, joystick_state[gp][js].plat_joystick_nr);
|
||||
|
||||
if (joystick_state[gp][js].plat_joystick_nr) {
|
||||
// --- Save Axis Mappings ---
|
||||
for (int axis_nr = 0; axis_nr < joystick_get_axis_count(joystick_type[joy_insn]); axis_nr++) {
|
||||
sprintf(tmp2, "joystick_%i_axis_%i", js, axis_nr);
|
||||
ini_section_set_int(cat, tmp2, joystick_state[gp][js].axis_mapping[axis_nr]);
|
||||
sprintf(temp, "joystick_%i_axis_%i", js, axis_nr);
|
||||
ini_section_set_int(cat, temp, joystick_state[gp][js].axis_mapping[axis_nr]);
|
||||
}
|
||||
|
||||
// --- Save Button Mappings ---
|
||||
for (int button_nr = 0; button_nr < joystick_get_button_count(joystick_type[joy_insn]); button_nr++) {
|
||||
sprintf(tmp2, "joystick_%i_button_%i", js, button_nr);
|
||||
ini_section_set_int(cat, tmp2, joystick_state[gp][js].button_mapping[button_nr]);
|
||||
sprintf(temp, "joystick_%i_button_%i", js, button_nr);
|
||||
ini_section_set_int(cat, temp, joystick_state[gp][js].button_mapping[button_nr]);
|
||||
}
|
||||
|
||||
// --- Save POV (Hat Switch) Mappings ---
|
||||
for (int pov_nr = 0; pov_nr < joystick_get_pov_count(joystick_type[joy_insn]); pov_nr++) {
|
||||
sprintf(tmp2, "joystick_%i_pov_%i", js, pov_nr);
|
||||
sprintf(temp, "%i, %i", joystick_state[gp][js].pov_mapping[pov_nr][0],
|
||||
joystick_state[gp][js].pov_mapping[pov_nr][1]);
|
||||
ini_section_set_string(cat, tmp2, temp);
|
||||
sprintf(temp, "joystick_%i_pov_%i", js, pov_nr);
|
||||
sprintf(tmp2, "%i, %i", joystick_state[gp][js].pov_mapping[pov_nr][0],
|
||||
joystick_state[gp][js].pov_mapping[pov_nr][1]);
|
||||
ini_section_set_string(cat, temp, tmp2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (tablet_tool_type != 1) {
|
||||
if (tablet_tool_type != 1)
|
||||
ini_section_set_int(cat, "tablet_tool_type", tablet_tool_type);
|
||||
} else {
|
||||
else
|
||||
ini_section_delete_var(cat, "tablet_tool_type");
|
||||
}
|
||||
|
||||
ini_delete_section_if_empty(config, cat);
|
||||
}
|
||||
|
||||
@@ -141,7 +141,7 @@ serial_update_ints(serial_t *dev)
|
||||
}
|
||||
}
|
||||
|
||||
serial_do_irq(dev, !(dev->iir & 0x01) && ((dev->mctrl & 8) || (dev->type == SERIAL_8250_PCJR)));
|
||||
serial_do_irq(dev, !(dev->iir & 0x01) && ((dev->mctrl & 8) || ((dev->type == SERIAL_8250_PCJR_3F8) || (dev->type == SERIAL_8250_PCJR_2F8))));
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -971,15 +971,20 @@ serial_init(const device_t *info)
|
||||
serial_setup(dev, COM4_ADDR, COM4_IRQ);
|
||||
else if (next_inst == 2)
|
||||
serial_setup(dev, COM3_ADDR, COM3_IRQ);
|
||||
else if ((next_inst == 1) || (info->local == SERIAL_8250_PCJR))
|
||||
else if ((next_inst == 1) || (info->local == SERIAL_8250_PCJR_2F8))
|
||||
serial_setup(dev, COM2_ADDR, COM2_IRQ);
|
||||
// TODO
|
||||
#if 0
|
||||
else if ((next_inst == 1) || (info->local == SERIAL_8250_PCJR_3F8))
|
||||
serial_setup(dev, COM1_ADDR, COM1_IRQ);
|
||||
#endif
|
||||
else if (next_inst == 0)
|
||||
serial_setup(dev, COM1_ADDR, COM1_IRQ);
|
||||
|
||||
/* Default to 1200,N,7. */
|
||||
dev->dlab = 96;
|
||||
dev->fcr = 0x06;
|
||||
if (info->local == SERIAL_8250_PCJR)
|
||||
if ((info->local == SERIAL_8250_PCJR_3F8) || (info->local == SERIAL_8250_PCJR_2F8))
|
||||
dev->clock_src = 1789500.0;
|
||||
else
|
||||
dev->clock_src = 1843200.0;
|
||||
@@ -1039,11 +1044,25 @@ const device_t ns8250_device = {
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t ns8250_pcjr_device = {
|
||||
.name = "National Semiconductor 8250(-compatible) UART for PCjr",
|
||||
.internal_name = "ns8250_pcjr",
|
||||
const device_t ns8250_pcjr_3f8_device = {
|
||||
.name = "National Semiconductor 8250(-compatible) UART for PCjr (0x3f8)",
|
||||
.internal_name = "ns8250_pcjr_3f8",
|
||||
.flags = 0,
|
||||
.local = SERIAL_8250_PCJR,
|
||||
.local = SERIAL_8250_PCJR_3F8,
|
||||
.init = serial_init,
|
||||
.close = serial_close,
|
||||
.reset = serial_reset,
|
||||
.available = NULL,
|
||||
.speed_changed = serial_speed_changed,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t ns8250_pcjr_2f8_device = {
|
||||
.name = "National Semiconductor 8250(-compatible) UART for PCjr (0x2f8)",
|
||||
.internal_name = "ns8250_pcjr_2f8",
|
||||
.flags = 0,
|
||||
.local = SERIAL_8250_PCJR_2F8,
|
||||
.init = serial_init,
|
||||
.close = serial_close,
|
||||
.reset = serial_reset,
|
||||
|
||||
@@ -88,27 +88,52 @@ static const joystick_t joystick_none = {
|
||||
static const struct {
|
||||
const joystick_t *joystick;
|
||||
} joysticks[] = {
|
||||
{ &joystick_none },
|
||||
{ &joystick_2axis_2button },
|
||||
{ &joystick_2button_gamepad },
|
||||
{ &joystick_2button_flight_yoke },
|
||||
{ &joystick_2axis_4button },
|
||||
{ &joystick_4button_gamepad },
|
||||
{ &joystick_4button_flight_yoke },
|
||||
{ &joystick_2axis_6button },
|
||||
{ &joystick_2axis_8button },
|
||||
{ &joystick_3axis_2button },
|
||||
{ &joystick_2button_yoke_throttle },
|
||||
{ &joystick_3axis_4button },
|
||||
{ &joystick_steering_wheel_4_button },
|
||||
{ &joystick_4button_yoke_throttle },
|
||||
{ &joystick_4axis_4button },
|
||||
{ &joystick_ch_flightstick_pro },
|
||||
{ &joystick_ch_flightstick_pro_ch_pedals },
|
||||
{ &joystick_sw_pad },
|
||||
{ &joystick_tm_fcs },
|
||||
{ &joystick_tm_fcs_rcs },
|
||||
{ NULL }
|
||||
{ &joystick_none },
|
||||
{ &joystick_generic_paddle },
|
||||
{ &joystick_2axis_1button },
|
||||
{ &joystick_2axis_2button },
|
||||
{ &joystick_2axis_3button },
|
||||
{ &joystick_2axis_4button },
|
||||
{ &joystick_2axis_6button },
|
||||
{ &joystick_2axis_8button },
|
||||
{ &joystick_3axis_2button },
|
||||
{ &joystick_3axis_3button },
|
||||
{ &joystick_3axis_4button },
|
||||
{ &joystick_4axis_2button },
|
||||
{ &joystick_4axis_3button },
|
||||
{ &joystick_4axis_4button },
|
||||
{ &joystick_2button_gamepad },
|
||||
{ &joystick_3button_gamepad },
|
||||
{ &joystick_4button_gamepad },
|
||||
{ &joystick_6button_gamepad },
|
||||
{ &joystick_gravis_gamepad },
|
||||
{ &joystick_2button_flight_yoke },
|
||||
{ &joystick_3button_flight_yoke },
|
||||
{ &joystick_4button_flight_yoke },
|
||||
{ &joystick_2button_yoke_throttle },
|
||||
{ &joystick_3button_yoke_throttle },
|
||||
{ &joystick_4button_yoke_throttle },
|
||||
{ &joystick_steering_wheel_2_button },
|
||||
{ &joystick_steering_wheel_3_button },
|
||||
{ &joystick_steering_wheel_4_button },
|
||||
{ &joystick_ch_flightstick },
|
||||
{ &joystick_ch_flightstick_ch_pedals },
|
||||
{ &joystick_ch_flightstick_ch_pedals_pro },
|
||||
{ &joystick_ch_flightstick_pro },
|
||||
{ &joystick_ch_flightstick_pro_ch_pedals },
|
||||
{ &joystick_ch_flightstick_pro_ch_pedals_pro },
|
||||
{ &joystick_ch_virtual_pilot },
|
||||
{ &joystick_ch_virtual_pilot_ch_pedals },
|
||||
{ &joystick_ch_virtual_pilot_ch_pedals_pro },
|
||||
{ &joystick_ch_virtual_pilot_pro },
|
||||
{ &joystick_ch_virtual_pilot_pro_ch_pedals },
|
||||
{ &joystick_ch_virtual_pilot_pro_ch_pedals_pro },
|
||||
{ &joystick_sw_pad },
|
||||
{ &joystick_tm_fcs },
|
||||
{ &joystick_tm_fcs_rcs },
|
||||
{ &joystick_tm_formula_t1t2 },
|
||||
{ &joystick_tm_formula_t1t2wa },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
static joystick_instance_t *joystick_instance[GAMEPORT_MAX] = { NULL, NULL };
|
||||
|
||||
@@ -44,18 +44,7 @@
|
||||
#include <86box/timer.h>
|
||||
#include <86box/gameport.h>
|
||||
#include <86box/plat_unused.h>
|
||||
|
||||
static void *
|
||||
ch_flightstick_pro_init(void)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
ch_flightstick_pro_close(UNUSED(void *priv))
|
||||
{
|
||||
//
|
||||
}
|
||||
#include <86box/joystick.h>
|
||||
|
||||
static uint8_t
|
||||
ch_flightstick_pro_read(UNUSED(void *priv))
|
||||
@@ -72,114 +61,299 @@ ch_flightstick_pro_read(UNUSED(void *priv))
|
||||
ret &= ~0x40;
|
||||
if (joystick_state[gp][0].button[3])
|
||||
ret &= ~0x80;
|
||||
|
||||
// POV Hat
|
||||
if (joystick_state[gp][0].pov[0] != -1) {
|
||||
// POV Up
|
||||
if ((joystick_state[gp][0].pov[0] > 315) || (joystick_state[gp][0].pov[0] < 45))
|
||||
ret &= ~0xf0;
|
||||
ret &= ~0xf0; // 1, 2, 3, 4
|
||||
// POV Right
|
||||
else if ((joystick_state[gp][0].pov[0]) >= 45 && (joystick_state[gp][0].pov[0] < 135))
|
||||
ret &= ~0xb0;
|
||||
else if ((joystick_state[gp][0].pov[0] >= 45) && (joystick_state[gp][0].pov[0] < 135))
|
||||
ret &= ~0xb0; // 1, 2, 4
|
||||
// POV Down
|
||||
else if ((joystick_state[gp][0].pov[0]) >= 135 && (joystick_state[gp][0].pov[0] < 225))
|
||||
ret &= ~0x70;
|
||||
else if ((joystick_state[gp][0].pov[0] >= 135) && (joystick_state[gp][0].pov[0] < 225))
|
||||
ret &= ~0x70; // 1, 2, 3
|
||||
// POV Left
|
||||
else if ((joystick_state[gp][0].pov[0]) >= 225 && (joystick_state[gp][0].pov[0] < 315))
|
||||
ret &= ~0x30;
|
||||
else if ((joystick_state[gp][0].pov[0] >= 225) && (joystick_state[gp][0].pov[0] < 315))
|
||||
ret &= ~0x30; // 1, 2
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void
|
||||
ch_flightstick_pro_write(UNUSED(void *priv))
|
||||
static uint8_t
|
||||
ch_virtual_pilot_pro_read(UNUSED(void *priv))
|
||||
{
|
||||
//
|
||||
}
|
||||
uint8_t gp = 0;
|
||||
uint8_t ret = 0xf0;
|
||||
|
||||
static int
|
||||
ch_flightstick_pro_read_axis(UNUSED(void *priv), int axis)
|
||||
{
|
||||
uint8_t gp = 0;
|
||||
if (JOYSTICK_PRESENT(gp, 0)) {
|
||||
if (joystick_state[gp][0].button[0]) // 1
|
||||
ret &= ~0x10;
|
||||
if (joystick_state[gp][0].button[1]) // 2
|
||||
ret &= ~0x20;
|
||||
if (joystick_state[gp][0].button[2]) // 3
|
||||
ret &= ~0x40;
|
||||
if (joystick_state[gp][0].button[3]) // 4
|
||||
ret &= ~0x80;
|
||||
if (joystick_state[gp][0].button[4]) // 1, 3
|
||||
ret &= ~0x50;
|
||||
if (joystick_state[gp][0].button[5]) // 1, 4
|
||||
ret &= ~0x90;
|
||||
|
||||
if (!JOYSTICK_PRESENT(gp, 0))
|
||||
return AXIS_NOT_PRESENT;
|
||||
// Right POV Hat
|
||||
uint8_t pov_id = 0;
|
||||
|
||||
switch (axis) {
|
||||
case 0:
|
||||
return joystick_state[gp][0].axis[0];
|
||||
case 1:
|
||||
return joystick_state[gp][0].axis[1];
|
||||
case 2:
|
||||
return 0;
|
||||
case 3:
|
||||
return joystick_state[gp][0].axis[2];
|
||||
default:
|
||||
return 0;
|
||||
if (joystick_state[gp][0].pov[pov_id] != -1) {
|
||||
// POV Up
|
||||
if ((joystick_state[gp][0].pov[pov_id] > 315) || (joystick_state[gp][0].pov[pov_id] < 45))
|
||||
ret &= ~0xf0; // 1, 2, 3, 4
|
||||
// POV Right
|
||||
else if ((joystick_state[gp][0].pov[pov_id] >= 45) && (joystick_state[gp][0].pov[pov_id] < 135))
|
||||
ret &= ~0xb0; // 1, 2, 4
|
||||
// POV Down
|
||||
else if ((joystick_state[gp][0].pov[pov_id] >= 135) && (joystick_state[gp][0].pov[pov_id] < 225))
|
||||
ret &= ~0x70; // 1, 2, 3
|
||||
// POV Left
|
||||
else if ((joystick_state[gp][0].pov[pov_id] >= 225) && (joystick_state[gp][0].pov[pov_id] < 315))
|
||||
ret &= ~0x30; // 1, 2
|
||||
}
|
||||
|
||||
// Left POV Hat
|
||||
pov_id = 1;
|
||||
|
||||
if (joystick_state[gp][0].pov[pov_id] != -1) {
|
||||
// POV Up
|
||||
if ((joystick_state[gp][0].pov[pov_id] > 315) || (joystick_state[gp][0].pov[pov_id] < 45))
|
||||
ret &= ~0xe0; // 2, 3, 4
|
||||
// POV Right
|
||||
else if ((joystick_state[gp][0].pov[pov_id] >= 45) && (joystick_state[gp][0].pov[pov_id] < 135))
|
||||
ret &= ~0xa0; // 2, 4
|
||||
// POV Down
|
||||
else if ((joystick_state[gp][0].pov[pov_id] >= 135) && (joystick_state[gp][0].pov[pov_id] < 225))
|
||||
ret &= ~0x60; // 2, 3
|
||||
// POV Left
|
||||
else if ((joystick_state[gp][0].pov[pov_id] >= 225) && (joystick_state[gp][0].pov[pov_id] < 315))
|
||||
ret &= ~0xc0; // 3, 4
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
ch_flightstick_pro_ch_pedals_read_axis(UNUSED(void *priv), int axis)
|
||||
{
|
||||
uint8_t gp = 0;
|
||||
const joystick_t joystick_ch_flightstick = {
|
||||
.name = "CH Flightstick",
|
||||
.internal_name = "ch_flightstick",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_2button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_3axis_throttle,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 3,
|
||||
.button_count = 2,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "X axis (Roll)", "Y axis (Pitch)", "Throttle" },
|
||||
.button_names = { "Trigger", "Button 2" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
if (!JOYSTICK_PRESENT(gp, 0))
|
||||
return AXIS_NOT_PRESENT;
|
||||
const joystick_t joystick_ch_flightstick_ch_pedals = {
|
||||
.name = "CH Flightstick + CH Pedals",
|
||||
.internal_name = "ch_flightstick_ch_pedals",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_2button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_4axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 4,
|
||||
.button_count = 2,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "X axis (Roll)", "Y axis (Pitch)", "Throttle", "Rudder (Yaw)" },
|
||||
.button_names = { "Trigger", "Button 2" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
switch (axis) {
|
||||
case 0:
|
||||
return joystick_state[gp][0].axis[0];
|
||||
case 1:
|
||||
return joystick_state[gp][0].axis[1];
|
||||
case 2:
|
||||
return joystick_state[gp][0].axis[3];
|
||||
case 3:
|
||||
return joystick_state[gp][0].axis[2];
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
ch_flightstick_pro_a0_over(UNUSED(void *priv))
|
||||
{
|
||||
//
|
||||
}
|
||||
const joystick_t joystick_ch_flightstick_ch_pedals_pro = {
|
||||
.name = "CH Flightstick + CH Pedals Pro",
|
||||
.internal_name = "ch_flightstick_ch_pedals_pro",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_2button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_4axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 4,
|
||||
.button_count = 2,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "X axis (Roll)", "Y axis (Pitch)", "Left Pedal", "Right Pedal" },
|
||||
.button_names = { "Trigger", "Button 2" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_ch_flightstick_pro = {
|
||||
.name = "CH Flightstick Pro",
|
||||
.internal_name = "ch_flightstick_pro",
|
||||
.init = ch_flightstick_pro_init,
|
||||
.close = ch_flightstick_pro_close,
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = ch_flightstick_pro_read,
|
||||
.write = ch_flightstick_pro_write,
|
||||
.read_axis = ch_flightstick_pro_read_axis,
|
||||
.a0_over = ch_flightstick_pro_a0_over,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_3axis_throttle,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 3,
|
||||
.button_count = 4,
|
||||
.pov_count = 1,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "X axis", "Y axis", "Throttle" },
|
||||
.button_names = { "Button 1", "Button 2", "Button 3", "Button 4" },
|
||||
.axis_names = { "X axis (Roll)", "Y axis (Pitch)", "Throttle" },
|
||||
.button_names = { "Trigger", "Button 2", "Button 3", "Button 4" },
|
||||
.pov_names = { "POV" }
|
||||
};
|
||||
|
||||
const joystick_t joystick_ch_flightstick_pro_ch_pedals = {
|
||||
.name = "CH Flightstick Pro + CH Pedals",
|
||||
.internal_name = "ch_flightstick_pro_ch_pedals",
|
||||
.init = ch_flightstick_pro_init,
|
||||
.close = ch_flightstick_pro_close,
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = ch_flightstick_pro_read,
|
||||
.write = ch_flightstick_pro_write,
|
||||
.read_axis = ch_flightstick_pro_ch_pedals_read_axis,
|
||||
.a0_over = ch_flightstick_pro_a0_over,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_4axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 4,
|
||||
.button_count = 4,
|
||||
.pov_count = 1,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "X axis", "Y axis", "Throttle", "Rudder" },
|
||||
.button_names = { "Button 1", "Button 2", "Button 3", "Button 4" },
|
||||
.axis_names = { "X axis (Roll)", "Y axis (Pitch)", "Throttle", "Rudder (Yaw)" },
|
||||
.button_names = { "Trigger", "Button 2", "Button 3", "Button 4" },
|
||||
.pov_names = { "POV" }
|
||||
};
|
||||
|
||||
const joystick_t joystick_ch_flightstick_pro_ch_pedals_pro = {
|
||||
.name = "CH Flightstick Pro + CH Pedals Pro",
|
||||
.internal_name = "ch_flightstick_pro_ch_pedals_pro",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = ch_flightstick_pro_read,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_4axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 4,
|
||||
.button_count = 4,
|
||||
.pov_count = 1,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "X axis (Roll)", "Y axis (Pitch)", "Left Pedal", "Right Pedal" },
|
||||
.button_names = { "Trigger", "Button 2", "Button 3", "Button 4" },
|
||||
.pov_names = { "POV" }
|
||||
};
|
||||
|
||||
const joystick_t joystick_ch_virtual_pilot = {
|
||||
.name = "CH Virtual Pilot",
|
||||
.internal_name = "ch_virtual_pilot",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_2button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_3axis_throttle,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 3,
|
||||
.button_count = 2,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "X axis (Roll)", "Y axis (Pitch)", "Throttle" },
|
||||
.button_names = { "Button 1", "Button 2" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_ch_virtual_pilot_ch_pedals = {
|
||||
.name = "CH Virtual Pilot + CH Pedals",
|
||||
.internal_name = "ch_virtual_pilot_ch_pedals",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_2button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_4axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 4,
|
||||
.button_count = 2,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "X axis (Roll)", "Y axis (Pitch)", "Throttle", "Rudder (Yaw)" },
|
||||
.button_names = { "Button 1", "Button 2" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_ch_virtual_pilot_ch_pedals_pro = {
|
||||
.name = "CH Virtual Pilot + CH Pedals Pro",
|
||||
.internal_name = "ch_virtual_pilot_ch_pedals_pro",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_2button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_4axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 4,
|
||||
.button_count = 2,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "X axis (Roll)", "Y axis (Pitch)", "Left Pedal", "Right Pedal" },
|
||||
.button_names = { "Button 1", "Button 2" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_ch_virtual_pilot_pro = {
|
||||
.name = "CH Virtual Pilot Pro",
|
||||
.internal_name = "ch_virtual_pilot_pro",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = ch_virtual_pilot_pro_read,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_3axis_throttle,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 3,
|
||||
.button_count = 6,
|
||||
.pov_count = 2,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "X axis (Roll)", "Y axis (Pitch)", "Throttle" },
|
||||
.button_names = { "Button 1", "Button 2", "Button 3", "Button 4", "Button 5", "Button 6" },
|
||||
.pov_names = { "Right POV", "Left POV" }
|
||||
};
|
||||
|
||||
const joystick_t joystick_ch_virtual_pilot_pro_ch_pedals = {
|
||||
.name = "CH Virtual Pilot Pro + CH Pedals",
|
||||
.internal_name = "ch_virtual_pilot_pro_ch_pedals",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = ch_virtual_pilot_pro_read,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_4axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 4,
|
||||
.button_count = 6,
|
||||
.pov_count = 2,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "X axis (Roll)", "Y axis (Pitch)", "Throttle", "Rudder (Yaw)" },
|
||||
.button_names = { "Button 1", "Button 2", "Button 3", "Button 4", "Button 5", "Button 6" },
|
||||
.pov_names = { "Right POV", "Left POV" }
|
||||
};
|
||||
|
||||
const joystick_t joystick_ch_virtual_pilot_pro_ch_pedals_pro = {
|
||||
.name = "CH Virtual Pilot Pro + CH Pedals Pro",
|
||||
.internal_name = "ch_virtual_pilot_pro_ch_pedals_pro",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = ch_virtual_pilot_pro_read,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_4axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 4,
|
||||
.button_count = 6,
|
||||
.pov_count = 2,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "X axis (Roll)", "Y axis (Pitch)", "Left Pedal", "Right Pedal" },
|
||||
.button_names = { "Button 1", "Button 2", "Button 3", "Button 4", "Button 5", "Button 6" },
|
||||
.pov_names = { "Right POV", "Left POV" }
|
||||
};
|
||||
|
||||
@@ -45,18 +45,39 @@
|
||||
#include <86box/gameport.h>
|
||||
#include <86box/plat_unused.h>
|
||||
|
||||
static void *
|
||||
void *
|
||||
joystick_standard_init(void)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
void
|
||||
joystick_standard_close(UNUSED(void *priv))
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
static uint8_t
|
||||
joystick_paddle_read(UNUSED(void *priv))
|
||||
{
|
||||
uint8_t gp = 0;
|
||||
uint8_t ret = 0xf0;
|
||||
|
||||
if ((JOYSTICK_PRESENT(gp, 0)) && (joystick_state[gp][0].button[0]))
|
||||
ret &= ~0x10;
|
||||
|
||||
if ((JOYSTICK_PRESENT(gp, 2)) && (joystick_state[gp][2].button[0]))
|
||||
ret &= ~0x20;
|
||||
|
||||
if ((JOYSTICK_PRESENT(gp, 1)) && (joystick_state[gp][1].button[0]))
|
||||
ret &= ~0x40;
|
||||
|
||||
if ((JOYSTICK_PRESENT(gp, 3)) && (joystick_state[gp][3].button[0]))
|
||||
ret &= ~0x80;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static uint8_t
|
||||
joystick_standard_read(UNUSED(void *priv))
|
||||
{
|
||||
@@ -80,7 +101,41 @@ joystick_standard_read(UNUSED(void *priv))
|
||||
return ret;
|
||||
}
|
||||
|
||||
uint8_t
|
||||
joystick_standard_read_2button(UNUSED(void *priv))
|
||||
{
|
||||
uint8_t gp = 0;
|
||||
uint8_t ret = 0xf0;
|
||||
|
||||
if (JOYSTICK_PRESENT(gp, 0)) {
|
||||
if (joystick_state[gp][0].button[0])
|
||||
ret &= ~0x10;
|
||||
if (joystick_state[gp][0].button[1])
|
||||
ret &= ~0x20;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static uint8_t
|
||||
joystick_standard_read_3button(UNUSED(void *priv))
|
||||
{
|
||||
uint8_t gp = 0;
|
||||
uint8_t ret = 0xf0;
|
||||
|
||||
if (JOYSTICK_PRESENT(gp, 0)) {
|
||||
if (joystick_state[gp][0].button[0])
|
||||
ret &= ~0x10;
|
||||
if (joystick_state[gp][0].button[1])
|
||||
ret &= ~0x20;
|
||||
if (joystick_state[gp][0].button[2])
|
||||
ret &= ~0x40;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
uint8_t
|
||||
joystick_standard_read_4button(UNUSED(void *priv))
|
||||
{
|
||||
uint8_t gp = 0;
|
||||
@@ -100,12 +155,39 @@ joystick_standard_read_4button(UNUSED(void *priv))
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void
|
||||
void
|
||||
joystick_standard_write(UNUSED(void *priv))
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
static int
|
||||
joystick_paddle_read_axis(UNUSED(void *priv), int axis)
|
||||
{
|
||||
uint8_t gp = 0;
|
||||
|
||||
switch (axis) {
|
||||
case 0:
|
||||
if (!JOYSTICK_PRESENT(gp, 0))
|
||||
return AXIS_NOT_PRESENT;
|
||||
return joystick_state[gp][0].axis[0];
|
||||
case 1:
|
||||
if (!JOYSTICK_PRESENT(gp, 2))
|
||||
return AXIS_NOT_PRESENT;
|
||||
return joystick_state[gp][2].axis[0];
|
||||
case 2:
|
||||
if (!JOYSTICK_PRESENT(gp, 1))
|
||||
return AXIS_NOT_PRESENT;
|
||||
return joystick_state[gp][1].axis[0];
|
||||
case 3:
|
||||
if (!JOYSTICK_PRESENT(gp, 3))
|
||||
return AXIS_NOT_PRESENT;
|
||||
return joystick_state[gp][3].axis[0];
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
joystick_standard_read_axis(UNUSED(void *priv), int axis)
|
||||
{
|
||||
@@ -134,7 +216,7 @@ joystick_standard_read_axis(UNUSED(void *priv), int axis)
|
||||
}
|
||||
|
||||
static int
|
||||
joystick_standard_read_axis_4button(UNUSED(void *priv), int axis)
|
||||
joystick_standard_read_axis_2axis(UNUSED(void *priv), int axis)
|
||||
{
|
||||
uint8_t gp = 0;
|
||||
|
||||
@@ -168,7 +250,7 @@ joystick_standard_read_axis_with_pov(UNUSED(void *priv), int axis)
|
||||
return joystick_state[gp][0].axis[0];
|
||||
case 1: // Y-axis
|
||||
return joystick_state[gp][0].axis[1];
|
||||
case 2: // POV Hat (mapped to the 3rd logical axis, index 2)
|
||||
case 2: // POV Hat
|
||||
if (joystick_state[gp][0].pov[0] == -1)
|
||||
return 32767; // Centered/No input (as per tm_fcs_rcs_read_axis example)
|
||||
if (joystick_state[gp][0].pov[0] > 315 || joystick_state[gp][0].pov[0] < 45)
|
||||
@@ -179,9 +261,8 @@ joystick_standard_read_axis_with_pov(UNUSED(void *priv), int axis)
|
||||
return 0; // Right/Left (example, matches tm_fcs_rcs_read_axis)
|
||||
if (joystick_state[gp][0].pov[0] >= 225 && joystick_state[gp][0].pov[0] < 315)
|
||||
return 16384; // Down-Left (example value, matches tm_fcs_rcs_read_axis)
|
||||
return 0; // Fallback
|
||||
case 3: // This case might be used for a Z-axis if present, or can return 0 if not.
|
||||
// For gamepads with only X/Y and POV, this will likely be unused or return 0.
|
||||
return 0;
|
||||
case 3:
|
||||
return 0;
|
||||
default:
|
||||
return 0;
|
||||
@@ -202,15 +283,36 @@ joystick_standard_read_axis_3axis(UNUSED(void *priv), int axis)
|
||||
return joystick_state[gp][0].axis[0];
|
||||
case 1:
|
||||
return joystick_state[gp][0].axis[1];
|
||||
case 2:
|
||||
case 2: // Rudder Axis
|
||||
return joystick_state[gp][0].axis[2];
|
||||
case 3:
|
||||
case 3: // Throttle Axis
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
static int
|
||||
int
|
||||
joystick_standard_read_axis_3axis_throttle(UNUSED(void *priv), int axis)
|
||||
{
|
||||
uint8_t gp = 0;
|
||||
|
||||
if (!JOYSTICK_PRESENT(gp, 0))
|
||||
return AXIS_NOT_PRESENT;
|
||||
|
||||
switch (axis) {
|
||||
case 0:
|
||||
return joystick_state[gp][0].axis[0];
|
||||
case 1:
|
||||
return joystick_state[gp][0].axis[1];
|
||||
case 3: // Throttle Axis
|
||||
return joystick_state[gp][0].axis[2];
|
||||
case 2: // Rudder Axis
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
joystick_standard_read_axis_4axis(UNUSED(void *priv), int axis)
|
||||
{
|
||||
uint8_t gp = 0;
|
||||
@@ -223,10 +325,10 @@ joystick_standard_read_axis_4axis(UNUSED(void *priv), int axis)
|
||||
return joystick_state[gp][0].axis[0];
|
||||
case 1:
|
||||
return joystick_state[gp][0].axis[1];
|
||||
case 2:
|
||||
return joystick_state[gp][0].axis[2];
|
||||
case 3:
|
||||
case 2: // Rudder Axis
|
||||
return joystick_state[gp][0].axis[3];
|
||||
case 3: // Throttle Axis
|
||||
return joystick_state[gp][0].axis[2];
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
@@ -283,12 +385,48 @@ joystick_standard_read_axis_8button(UNUSED(void *priv), int axis)
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
void
|
||||
joystick_standard_a0_over(UNUSED(void *priv))
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
const joystick_t joystick_generic_paddle = {
|
||||
.name = "Generic Paddle Controller(s)",
|
||||
.internal_name = "generic_paddle",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_paddle_read,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_paddle_read_axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 1,
|
||||
.button_count = 1,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 4,
|
||||
.axis_names = { "X axis" },
|
||||
.button_names = { "Button 1" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_2axis_1button = {
|
||||
.name = "2-axis, 1-button joystick(s)",
|
||||
.internal_name = "2axis_1button",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 2,
|
||||
.button_count = 1,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 2,
|
||||
.axis_names = { "X axis", "Y axis" },
|
||||
.button_names = { "Button 1" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_2axis_2button = {
|
||||
.name = "2-axis, 2-button joystick(s)",
|
||||
.internal_name = "2axis_2button",
|
||||
@@ -307,39 +445,21 @@ const joystick_t joystick_2axis_2button = {
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_2button_gamepad = {
|
||||
.name = "2-button gamepad(s)",
|
||||
.internal_name = "2button_gamepad",
|
||||
const joystick_t joystick_2axis_3button = {
|
||||
.name = "2-axis, 3-button joystick",
|
||||
.internal_name = "2axis_3button",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read,
|
||||
.read = joystick_standard_read_3button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis,
|
||||
.read_axis = joystick_standard_read_axis_2axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 2,
|
||||
.button_count = 2,
|
||||
.button_count = 3,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 2,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "X axis", "Y axis" },
|
||||
.button_names = { "Button 1", "Button 2" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_2button_flight_yoke = {
|
||||
.name = "2-button flight yoke",
|
||||
.internal_name = "2button_flight_yoke",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 2,
|
||||
.button_count = 2,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 2,
|
||||
.axis_names = { "Roll axis", "Pitch axis" },
|
||||
.button_names = { "Trigger", "Button 2" },
|
||||
.button_names = { "Button 1", "Button 2", "Button 3" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
@@ -350,7 +470,7 @@ const joystick_t joystick_2axis_4button = {
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_4button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_4button,
|
||||
.read_axis = joystick_standard_read_axis_2axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 2,
|
||||
.button_count = 4,
|
||||
@@ -361,150 +481,6 @@ const joystick_t joystick_2axis_4button = {
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_4button_gamepad = {
|
||||
.name = "4-button gamepad",
|
||||
.internal_name = "4button_gamepad",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_4button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_4button,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 2,
|
||||
.button_count = 4,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "X axis", "Y axis" },
|
||||
.button_names = { "Button 1", "Button 2", "Button 3", "Button 4" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_4button_flight_yoke = {
|
||||
.name = "4-button flight yoke",
|
||||
.internal_name = "4button_flight_yoke",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_4button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_4button,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 2,
|
||||
.button_count = 4,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "Roll axis", "Pitch axis" },
|
||||
.button_names = { "Trigger", "Button 2", "Button 3", "Button 4" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_3axis_2button = {
|
||||
.name = "3-axis, 2-button joystick",
|
||||
.internal_name = "3axis_2button",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_3axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 3,
|
||||
.button_count = 2,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "X axis", "Y axis", "Z axis" },
|
||||
.button_names = { "Button 1", "Button 2" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_2button_yoke_throttle = {
|
||||
.name = "2-button flight yoke with throttle",
|
||||
.internal_name = "2button_yoke_throttle",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_3axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 3,
|
||||
.button_count = 2,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "Roll axis", "Pitch axis", "Throttle axis" },
|
||||
.button_names = { "Trigger", "Button 2" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_3axis_4button = {
|
||||
.name = "3-axis, 4-button joystick",
|
||||
.internal_name = "3axis_4button",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_4button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_3axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 3,
|
||||
.button_count = 4,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "X axis", "Y axis", "Z axis" },
|
||||
.button_names = { "Button 1", "Button 2", "Button 3", "Button 4" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_4button_yoke_throttle = {
|
||||
.name = "4-button flight yoke with throttle",
|
||||
.internal_name = "4button_yoke_throttle",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_4button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_3axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 3,
|
||||
.button_count = 4,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "Roll axis", "Pitch axis", "Throttle axis" },
|
||||
.button_names = { "Button 1", "Button 2", "Button 3", "Button 4" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_steering_wheel_4_button = {
|
||||
.name = "Steering Wheel (3-axis, 4-button)",
|
||||
.internal_name = "steering_wheel_4_button",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_4button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_3axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 3,
|
||||
.button_count = 4,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "Steering axis", "Accelerator axis", "Brake axis" },
|
||||
.button_names = { "Button 1", "Button 2", "Button 3", "Button 4" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_4axis_4button = {
|
||||
.name = "4-axis, 4-button joystick",
|
||||
.internal_name = "4axis_4button",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_4button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_4axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 4,
|
||||
.button_count = 4,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "X axis", "Y axis", "Z axis", "zX axis" },
|
||||
.button_names = { "Button 1", "Button 2", "Button 3", "Button 4" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_2axis_6button = {
|
||||
.name = "2-axis, 6-button joystick",
|
||||
.internal_name = "2axis_6button",
|
||||
@@ -540,3 +516,401 @@ const joystick_t joystick_2axis_8button = {
|
||||
.button_names = { "Button 1", "Button 2", "Button 3", "Button 4", "Button 5", "Button 6", "Button 7", "Button 8" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_3axis_2button = {
|
||||
.name = "3-axis, 2-button joystick",
|
||||
.internal_name = "3axis_2button",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_2button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_3axis_throttle,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 3,
|
||||
.button_count = 2,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "X axis", "Y axis", "Z axis" },
|
||||
.button_names = { "Button 1", "Button 2" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_3axis_3button = {
|
||||
.name = "3-axis, 3-button joystick",
|
||||
.internal_name = "3axis_3button",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_3button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_3axis_throttle,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 3,
|
||||
.button_count = 3,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "X axis", "Y axis", "Z axis" },
|
||||
.button_names = { "Button 1", "Button 2", "Button 3" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_3axis_4button = {
|
||||
.name = "3-axis, 4-button joystick",
|
||||
.internal_name = "3axis_4button",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_4button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_3axis_throttle,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 3,
|
||||
.button_count = 4,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "X axis", "Y axis", "Z axis" },
|
||||
.button_names = { "Button 1", "Button 2", "Button 3", "Button 4" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_4axis_2button = {
|
||||
.name = "4-axis, 2-button joystick",
|
||||
.internal_name = "4axis_2button",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_2button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_4axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 4,
|
||||
.button_count = 2,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "X axis", "Y axis", "Z axis", "zX axis" },
|
||||
.button_names = { "Button 1", "Button 2" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_4axis_3button = {
|
||||
.name = "4-axis, 3-button joystick",
|
||||
.internal_name = "4axis_3button",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_3button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_4axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 4,
|
||||
.button_count = 3,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "X axis", "Y axis", "Z axis", "zX axis" },
|
||||
.button_names = { "Button 1", "Button 2", "Button 3" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_4axis_4button = {
|
||||
.name = "4-axis, 4-button joystick",
|
||||
.internal_name = "4axis_4button",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_4button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_4axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 4,
|
||||
.button_count = 4,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "X axis", "Y axis", "Z axis", "zX axis" },
|
||||
.button_names = { "Button 1", "Button 2", "Button 3", "Button 4" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_2button_gamepad = {
|
||||
.name = "2-button gamepad(s)",
|
||||
.internal_name = "2button_gamepad",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 2,
|
||||
.button_count = 2,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 2,
|
||||
.axis_names = { "X axis", "Y axis" },
|
||||
.button_names = { "Button 1", "Button 2" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_3button_gamepad = {
|
||||
.name = "3-button gamepad",
|
||||
.internal_name = "3button_gamepad",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_3button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_2axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 2,
|
||||
.button_count = 3,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "X axis", "Y axis" },
|
||||
.button_names = { "Button 1", "Button 2", "Button 3" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_4button_gamepad = {
|
||||
.name = "4-button gamepad",
|
||||
.internal_name = "4button_gamepad",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_4button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_2axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 2,
|
||||
.button_count = 4,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "X axis", "Y axis" },
|
||||
.button_names = { "Button 1", "Button 2", "Button 3", "Button 4" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_6button_gamepad = {
|
||||
.name = "6-button gamepad",
|
||||
.internal_name = "6button_gamepad",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_4button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_6button,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 2,
|
||||
.button_count = 6,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "X axis", "Y axis" },
|
||||
.button_names = { "Button 1", "Button 2", "Button 3", "Button 4", "Button 5", "Button 6" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_gravis_gamepad = {
|
||||
.name = "Gravis PC GamePad",
|
||||
.internal_name = "gravis_gamepad",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_4button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_2axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 2,
|
||||
.button_count = 4,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "X axis", "Y axis" },
|
||||
// TODO: Check this
|
||||
.button_names = { "Button 1 (Red)", "Button 2 (Blue)", "Button 3 (Yellow)", "Button 4 (Green)" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_2button_flight_yoke = {
|
||||
.name = "2-button flight yoke",
|
||||
.internal_name = "2button_flight_yoke",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 2,
|
||||
.button_count = 2,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 2,
|
||||
.axis_names = { "Roll axis", "Pitch axis" },
|
||||
.button_names = { "Trigger", "Button 2" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_3button_flight_yoke = {
|
||||
.name = "3-button flight yoke",
|
||||
.internal_name = "3button_flight_yoke",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_3button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_2axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 2,
|
||||
.button_count = 3,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "Roll axis", "Pitch axis" },
|
||||
.button_names = { "Trigger", "Button 2", "Button 3" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_4button_flight_yoke = {
|
||||
.name = "4-button flight yoke",
|
||||
.internal_name = "4button_flight_yoke",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_4button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_2axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 2,
|
||||
.button_count = 4,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "Roll axis", "Pitch axis" },
|
||||
.button_names = { "Trigger", "Button 2", "Button 3", "Button 4" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_2button_yoke_throttle = {
|
||||
.name = "2-button flight yoke with throttle",
|
||||
.internal_name = "2button_yoke_throttle",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_2button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_3axis_throttle,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 3,
|
||||
.button_count = 2,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "Roll axis", "Pitch axis", "Throttle axis" },
|
||||
.button_names = { "Trigger", "Button 2" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_3button_yoke_throttle = {
|
||||
.name = "3-button flight yoke with throttle",
|
||||
.internal_name = "3button_yoke_throttle",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_3button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_3axis_throttle,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 3,
|
||||
.button_count = 3,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "Roll axis", "Pitch axis", "Throttle axis" },
|
||||
.button_names = { "Trigger", "Button 2", "Button 3" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_4button_yoke_throttle = {
|
||||
.name = "4-button flight yoke with throttle",
|
||||
.internal_name = "4button_yoke_throttle",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_4button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_3axis_throttle,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 3,
|
||||
.button_count = 4,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "Roll axis", "Pitch axis", "Throttle axis" },
|
||||
.button_names = { "Trigger", "Button 2", "Button 3", "Button 4" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_steering_wheel_2_button = {
|
||||
.name = "Steering Wheel (3-axis, 2-button)",
|
||||
.internal_name = "steering_wheel_2_button",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_2button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_3axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 3,
|
||||
.button_count = 2,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "Steering axis", "Accelerator axis", "Brake axis" },
|
||||
.button_names = { "Button 1", "Button 2" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_steering_wheel_3_button = {
|
||||
.name = "Steering Wheel (3-axis, 3-button)",
|
||||
.internal_name = "steering_wheel_3_button",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_3button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_3axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 3,
|
||||
.button_count = 3,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "Steering axis", "Accelerator axis", "Brake axis" },
|
||||
.button_names = { "Button 1", "Button 2", "Button 3" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_steering_wheel_4_button = {
|
||||
.name = "Steering Wheel (3-axis, 4-button)",
|
||||
.internal_name = "steering_wheel_4_button",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_4button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_3axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 3,
|
||||
.button_count = 4,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "Steering axis", "Accelerator axis", "Brake axis" },
|
||||
.button_names = { "Button 1", "Button 2", "Button 3", "Button 4" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
const joystick_t joystick_tm_formula_t1t2 = {
|
||||
.name = "Thrustmaster Formula T1/T2 with Adaptor",
|
||||
.internal_name = "thrustmaster_formula_t1t2",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_4button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_2axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 2,
|
||||
.button_count = 4,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "Steering axis", "Accelerator/Brake axis" },
|
||||
.button_names = { "Shifter Up", "Shifter Down", "Top Console Switch", "Bottom Console Switch" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
// TODO Validate this
|
||||
const joystick_t joystick_tm_formula_t1t2wa = {
|
||||
.name = "Thrustmaster Formula T1/T2 without Adaptor",
|
||||
.internal_name = "thrustmaster_formula_t1t2wa",
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_4button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = joystick_standard_read_axis_3axis,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 3,
|
||||
.button_count = 4,
|
||||
.pov_count = 0,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "Steering axis", "Accelerator axis", "Brake axis" },
|
||||
.button_names = { "Shifter Up", "Shifter Down", "Top Console Switch", "Bottom Console Switch" },
|
||||
.pov_names = { NULL }
|
||||
};
|
||||
|
||||
@@ -44,44 +44,7 @@
|
||||
#include <86box/timer.h>
|
||||
#include <86box/gameport.h>
|
||||
#include <86box/plat_unused.h>
|
||||
|
||||
static void *
|
||||
tm_fcs_init(void)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
tm_fcs_close(UNUSED(void *priv))
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
static uint8_t
|
||||
tm_fcs_read(UNUSED(void *priv))
|
||||
{
|
||||
uint8_t gp = 0;
|
||||
uint8_t ret = 0xf0;
|
||||
|
||||
if (JOYSTICK_PRESENT(gp, 0)) {
|
||||
if (joystick_state[gp][0].button[0])
|
||||
ret &= ~0x10;
|
||||
if (joystick_state[gp][0].button[1])
|
||||
ret &= ~0x20;
|
||||
if (joystick_state[gp][0].button[2])
|
||||
ret &= ~0x40;
|
||||
if (joystick_state[gp][0].button[3])
|
||||
ret &= ~0x80;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void
|
||||
tm_fcs_write(UNUSED(void *priv))
|
||||
{
|
||||
//
|
||||
}
|
||||
#include <86box/joystick.h>
|
||||
|
||||
static int
|
||||
tm_fcs_read_axis(UNUSED(void *priv), int axis)
|
||||
@@ -96,8 +59,6 @@ tm_fcs_read_axis(UNUSED(void *priv), int axis)
|
||||
return joystick_state[gp][0].axis[0];
|
||||
case 1:
|
||||
return joystick_state[gp][0].axis[1];
|
||||
case 2:
|
||||
return 0;
|
||||
case 3:
|
||||
if (joystick_state[gp][0].pov[0] == -1)
|
||||
return 32767;
|
||||
@@ -110,6 +71,7 @@ tm_fcs_read_axis(UNUSED(void *priv), int axis)
|
||||
if (joystick_state[gp][0].pov[0] >= 225 && joystick_state[gp][0].pov[0] < 315)
|
||||
return 16384;
|
||||
return 0;
|
||||
case 2:
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
@@ -147,44 +109,38 @@ tm_fcs_rcs_read_axis(UNUSED(void *priv), int axis)
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
tm_fcs_a0_over(UNUSED(void *priv))
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
const joystick_t joystick_tm_fcs = {
|
||||
.name = "Thrustmaster Flight Control System",
|
||||
.internal_name = "thrustmaster_fcs",
|
||||
.init = tm_fcs_init,
|
||||
.close = tm_fcs_close,
|
||||
.read = tm_fcs_read,
|
||||
.write = tm_fcs_write,
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_4button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = tm_fcs_read_axis,
|
||||
.a0_over = tm_fcs_a0_over,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 2,
|
||||
.button_count = 4,
|
||||
.pov_count = 1,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "X axis", "Y axis" },
|
||||
.button_names = { "Button 1", "Button 2", "Button 3", "Button 4" },
|
||||
.button_names = { "Trigger", "Button 2", "Button 3", "Button 4" },
|
||||
.pov_names = { "POV" }
|
||||
};
|
||||
|
||||
const joystick_t joystick_tm_fcs_rcs = {
|
||||
.name = "Thrustmaster FCS + Rudder Control System",
|
||||
.internal_name = "thrustmaster_fcs_rcs",
|
||||
.init = tm_fcs_init,
|
||||
.close = tm_fcs_close,
|
||||
.read = tm_fcs_read,
|
||||
.write = tm_fcs_write,
|
||||
.init = joystick_standard_init,
|
||||
.close = joystick_standard_close,
|
||||
.read = joystick_standard_read_4button,
|
||||
.write = joystick_standard_write,
|
||||
.read_axis = tm_fcs_rcs_read_axis,
|
||||
.a0_over = tm_fcs_a0_over,
|
||||
.a0_over = joystick_standard_a0_over,
|
||||
.axis_count = 3,
|
||||
.button_count = 4,
|
||||
.pov_count = 1,
|
||||
.max_joysticks = 1,
|
||||
.axis_names = { "X axis", "Y axis", "Rudder" },
|
||||
.button_names = { "Button 1", "Button 2", "Button 3", "Button 4" },
|
||||
.button_names = { "Trigger", "Button 2", "Button 3", "Button 4" },
|
||||
.pov_names = { "POV" }
|
||||
};
|
||||
|
||||
@@ -172,29 +172,73 @@ extern void gameport_update_joystick_type(uint8_t gp);
|
||||
extern void gameport_remap(void *priv, uint16_t address);
|
||||
extern void *gameport_add(const device_t *gameport_type);
|
||||
|
||||
// Paddle Controllers
|
||||
extern const joystick_t joystick_generic_paddle;
|
||||
|
||||
// 2 axis Generic Joysticks
|
||||
extern const joystick_t joystick_2axis_1button;
|
||||
extern const joystick_t joystick_2axis_2button;
|
||||
extern const joystick_t joystick_2button_gamepad;
|
||||
extern const joystick_t joystick_2button_flight_yoke;
|
||||
extern const joystick_t joystick_2axis_3button;
|
||||
extern const joystick_t joystick_2axis_4button;
|
||||
extern const joystick_t joystick_4button_gamepad;
|
||||
extern const joystick_t joystick_4button_flight_yoke;
|
||||
extern const joystick_t joystick_3axis_2button;
|
||||
extern const joystick_t joystick_2button_yoke_throttle;
|
||||
extern const joystick_t joystick_3axis_4button;
|
||||
extern const joystick_t joystick_4button_yoke_throttle;
|
||||
extern const joystick_t joystick_steering_wheel_4_button;
|
||||
extern const joystick_t joystick_4axis_4button;
|
||||
extern const joystick_t joystick_2axis_6button;
|
||||
extern const joystick_t joystick_2axis_8button;
|
||||
|
||||
// 3 axis Generic Joysticks
|
||||
extern const joystick_t joystick_3axis_2button;
|
||||
extern const joystick_t joystick_3axis_3button;
|
||||
extern const joystick_t joystick_3axis_4button;
|
||||
|
||||
// 4 axis Generic Joysticks
|
||||
extern const joystick_t joystick_4axis_2button;
|
||||
extern const joystick_t joystick_4axis_3button;
|
||||
extern const joystick_t joystick_4axis_4button;
|
||||
|
||||
// Generic Gamepads
|
||||
extern const joystick_t joystick_2button_gamepad;
|
||||
extern const joystick_t joystick_3button_gamepad;
|
||||
extern const joystick_t joystick_4button_gamepad;
|
||||
extern const joystick_t joystick_6button_gamepad;
|
||||
|
||||
extern const joystick_t joystick_gravis_gamepad;
|
||||
|
||||
// Generic Steering Wheels
|
||||
extern const joystick_t joystick_steering_wheel_2_button;
|
||||
extern const joystick_t joystick_steering_wheel_3_button;
|
||||
extern const joystick_t joystick_steering_wheel_4_button;
|
||||
|
||||
// Generic Flight Yokes
|
||||
extern const joystick_t joystick_2button_flight_yoke;
|
||||
extern const joystick_t joystick_4button_flight_yoke;
|
||||
extern const joystick_t joystick_3button_flight_yoke;
|
||||
|
||||
extern const joystick_t joystick_2button_yoke_throttle;
|
||||
extern const joystick_t joystick_3button_yoke_throttle;
|
||||
extern const joystick_t joystick_4button_yoke_throttle;
|
||||
|
||||
extern const joystick_t joystick_ch_flightstick;
|
||||
extern const joystick_t joystick_ch_flightstick_ch_pedals;
|
||||
extern const joystick_t joystick_ch_flightstick_ch_pedals_pro;
|
||||
|
||||
extern const joystick_t joystick_ch_flightstick_pro;
|
||||
extern const joystick_t joystick_ch_flightstick_pro_ch_pedals;
|
||||
extern const joystick_t joystick_ch_flightstick_pro_ch_pedals_pro;
|
||||
|
||||
extern const joystick_t joystick_ch_virtual_pilot;
|
||||
extern const joystick_t joystick_ch_virtual_pilot_ch_pedals;
|
||||
extern const joystick_t joystick_ch_virtual_pilot_ch_pedals_pro;
|
||||
|
||||
extern const joystick_t joystick_ch_virtual_pilot_pro;
|
||||
extern const joystick_t joystick_ch_virtual_pilot_pro_ch_pedals;
|
||||
extern const joystick_t joystick_ch_virtual_pilot_pro_ch_pedals_pro;
|
||||
|
||||
extern const joystick_t joystick_sw_pad;
|
||||
|
||||
extern const joystick_t joystick_tm_fcs;
|
||||
extern const joystick_t joystick_tm_fcs_rcs;
|
||||
|
||||
extern const joystick_t joystick_tm_formula_t1t2;
|
||||
extern const joystick_t joystick_tm_formula_t1t2wa;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
27
src/include/86box/joystick.h
Normal file
27
src/include/86box/joystick.h
Normal file
@@ -0,0 +1,27 @@
|
||||
/*
|
||||
* 86Box A hypervisor and IBM PC system emulator that specializes in
|
||||
* running old operating systems and software designed for IBM
|
||||
* PC systems and compatibles from 1981 through fairly recent
|
||||
* system designs based on the PCI bus.
|
||||
*
|
||||
* This file is part of the 86Box distribution.
|
||||
*
|
||||
* Definitions for the analog joystick handlers.
|
||||
*
|
||||
* Authors: Jasmine Iwanek, <jriwanek@gmail.com>
|
||||
*
|
||||
* Copyright 2025 Jasmine Iwanek.
|
||||
*/
|
||||
#ifndef EMU_JOYSTICK_H
|
||||
#define EMU_JOYSTICK_H
|
||||
|
||||
void *joystick_standard_init(void);
|
||||
void joystick_standard_close(UNUSED(void *priv));
|
||||
uint8_t joystick_standard_read_2button(UNUSED(void *priv));
|
||||
uint8_t joystick_standard_read_4button(UNUSED(void *priv));
|
||||
void joystick_standard_write(UNUSED(void *priv));
|
||||
int joystick_standard_read_axis_3axis_throttle(UNUSED(void *priv), int axis);
|
||||
int joystick_standard_read_axis_4axis(UNUSED(void *priv), int axis);
|
||||
void joystick_standard_a0_over(UNUSED(void *priv));
|
||||
|
||||
#endif /*EMU_JOYSTICK_H*/
|
||||
@@ -66,6 +66,11 @@ typedef struct pcjr_s {
|
||||
int serial_pos;
|
||||
uint8_t pa;
|
||||
uint8_t pb;
|
||||
|
||||
uint8_t option_modem;
|
||||
uint8_t option_fdc;
|
||||
uint8_t option_ir;
|
||||
|
||||
pc_timer_t send_delay_timer;
|
||||
|
||||
} pcjr_t;
|
||||
|
||||
@@ -635,6 +635,9 @@ extern int machine_at_tandy4000_init(const machine_t *);
|
||||
extern int machine_at_ecs386v_init(const machine_t *);
|
||||
|
||||
/* OPTi 391 */
|
||||
#ifdef EMU_DEVICE_H
|
||||
extern const device_t dataexpert386wb_device;
|
||||
#endif
|
||||
extern int machine_at_dataexpert386wb_init(const machine_t *);
|
||||
|
||||
/* OPTi 495SLC */
|
||||
@@ -866,6 +869,9 @@ extern const device_t v12p_device;
|
||||
#endif
|
||||
extern int machine_at_v12p_init(const machine_t *);
|
||||
extern int machine_at_excaliburpci_init(const machine_t *);
|
||||
#ifdef EMU_DEVICE_H
|
||||
extern const device_t p5mp3_device;
|
||||
#endif
|
||||
extern int machine_at_p5mp3_init(const machine_t *);
|
||||
extern int machine_at_opti560l_init(const machine_t *);
|
||||
extern void machine_at_award_common_init(const machine_t *);
|
||||
@@ -916,6 +922,9 @@ extern int machine_at_tek932_init(const machine_t *);
|
||||
extern int machine_at_acerv30_init(const machine_t *);
|
||||
extern int machine_at_apollo_init(const machine_t *);
|
||||
extern int machine_at_optiplexgxl_init(const machine_t *);
|
||||
#ifdef EMU_DEVICE_H
|
||||
extern const device_t pt2000_device;
|
||||
#endif
|
||||
extern int machine_at_pt2000_init(const machine_t *);
|
||||
extern int machine_at_pc330_65x6_init(const machine_t *);
|
||||
#ifdef EMU_DEVICE_H
|
||||
@@ -961,6 +970,11 @@ extern const device_t p54tp4xe_device;
|
||||
#endif
|
||||
extern int machine_at_p54tp4xe_init(const machine_t *);
|
||||
extern int machine_at_exp8551_init(const machine_t *);
|
||||
#ifdef EMU_DEVICE_H
|
||||
extern const device_t hpvectravexxx_device;
|
||||
#endif
|
||||
extern int machine_at_hpvectravexxx_init(const machine_t *);
|
||||
extern int machine_at_vectra500mt_init(const machine_t *);
|
||||
extern int machine_at_vectra54_init(const machine_t *);
|
||||
#ifdef EMU_DEVICE_H
|
||||
extern const device_t thor_device;
|
||||
@@ -975,9 +989,15 @@ extern int machine_at_atlantis_init(const machine_t *);
|
||||
extern const device_t monaco_device;
|
||||
#endif
|
||||
extern int machine_at_monaco_init(const machine_t *);
|
||||
#ifdef EMU_DEVICE_H
|
||||
extern const device_t ms5119_device;
|
||||
#endif
|
||||
extern int machine_at_ms5119_init(const machine_t *);
|
||||
extern int machine_at_pb640_init(const machine_t *);
|
||||
extern int machine_at_mb500n_init(const machine_t *);
|
||||
#ifdef EMU_DEVICE_H
|
||||
extern const device_t fmb_device;
|
||||
#endif
|
||||
extern int machine_at_fmb_init(const machine_t *);
|
||||
|
||||
/* i430HX */
|
||||
@@ -1042,6 +1062,9 @@ extern int machine_at_8500tvxa_init(const machine_t *);
|
||||
extern int machine_at_presario2240_init(const machine_t *);
|
||||
extern int machine_at_presario4500_init(const machine_t *);
|
||||
extern int machine_at_dellhannibalp_init(const machine_t *);
|
||||
#ifdef EMU_DEVICE_H
|
||||
extern const device_t p5vxb_device;
|
||||
#endif
|
||||
extern int machine_at_p5vxb_init(const machine_t *);
|
||||
extern int machine_at_p55va_init(const machine_t *);
|
||||
extern int machine_at_gw2kte_init(const machine_t *);
|
||||
@@ -1116,6 +1139,9 @@ extern int machine_at_g5x_init(const machine_t *);
|
||||
|
||||
/* VIA MVP3 */
|
||||
extern int machine_at_ax59pro_init(const machine_t *);
|
||||
#ifdef EMU_DEVICE_H
|
||||
extern const device_t delhi3_device;
|
||||
#endif
|
||||
extern int machine_at_delhi3_init(const machine_t *);
|
||||
extern int machine_at_mvp3_init(const machine_t *);
|
||||
extern int machine_at_ficva503a_init(const machine_t *);
|
||||
@@ -1139,6 +1165,7 @@ extern int machine_at_acerv60n_init(const machine_t *);
|
||||
extern int machine_at_p65up5_cp6nd_init(const machine_t *);
|
||||
extern int machine_at_8600ttc_init(const machine_t *);
|
||||
extern int machine_at_686nx_init(const machine_t *);
|
||||
extern uint32_t machine_ap440fx_vs440fx_gpio_handler(uint8_t write, uint32_t val);
|
||||
extern int machine_at_ap440fx_init(const machine_t *);
|
||||
#ifdef EMU_DEVICE_H
|
||||
extern const device_t vs440fx_device;
|
||||
@@ -1175,6 +1202,9 @@ extern int machine_at_bf6_init(const machine_t *);
|
||||
extern const device_t bx6_device;
|
||||
#endif
|
||||
extern int machine_at_bx6_init(const machine_t *);
|
||||
#ifdef EMU_DEVICE_H
|
||||
extern const device_t ax6bc_device;
|
||||
#endif
|
||||
extern int machine_at_ax6bc_init(const machine_t *);
|
||||
extern int machine_at_p2bls_init(const machine_t *);
|
||||
extern int machine_at_p3bf_init(const machine_t *);
|
||||
@@ -1191,9 +1221,15 @@ extern const device_t ms6147_device;
|
||||
#endif
|
||||
extern int machine_at_ms6147_init(const machine_t *);
|
||||
extern int machine_at_p6sba_init(const machine_t *);
|
||||
#ifdef EMU_DEVICE_H
|
||||
extern const device_t s1846_device;
|
||||
#endif
|
||||
extern int machine_at_s1846_init(const machine_t *);
|
||||
|
||||
/* i440ZX */
|
||||
#ifdef EMU_DEVICE_H
|
||||
extern const device_t vei8_device;
|
||||
#endif
|
||||
extern int machine_at_vei8_init(const machine_t *);
|
||||
extern int machine_at_ms6168_init(const machine_t *);
|
||||
extern int machine_at_borapro_init(const machine_t *);
|
||||
@@ -1221,6 +1257,9 @@ extern int machine_at_fw6400gx_init(const machine_t *);
|
||||
|
||||
/* m_at_slot1_socket370.c */
|
||||
/* i440BX */
|
||||
#ifdef EMU_DEVICE_H
|
||||
extern const device_t prosignias31x_device;
|
||||
#endif
|
||||
extern int machine_at_prosignias31x_bx_init(const machine_t *);
|
||||
extern int machine_at_s1857_init(const machine_t *);
|
||||
|
||||
|
||||
@@ -20,14 +20,15 @@
|
||||
#ifndef EMU_SERIAL_H
|
||||
#define EMU_SERIAL_H
|
||||
|
||||
#define SERIAL_8250 0
|
||||
#define SERIAL_8250_PCJR 1
|
||||
#define SERIAL_16450 2
|
||||
#define SERIAL_16550 3
|
||||
#define SERIAL_16650 4
|
||||
#define SERIAL_16750 5
|
||||
#define SERIAL_16850 6
|
||||
#define SERIAL_16950 7
|
||||
#define SERIAL_8250 0
|
||||
#define SERIAL_8250_PCJR_3F8 1
|
||||
#define SERIAL_8250_PCJR_2F8 2
|
||||
#define SERIAL_16450 3
|
||||
#define SERIAL_16550 4
|
||||
#define SERIAL_16650 5
|
||||
#define SERIAL_16750 6
|
||||
#define SERIAL_16850 7
|
||||
#define SERIAL_16950 8
|
||||
|
||||
#define SERIAL_FIFO_SIZE 16
|
||||
|
||||
@@ -151,7 +152,8 @@ extern int serial_get_ri(serial_t *dev);
|
||||
extern uint8_t serial_get_shadow(serial_t *dev);
|
||||
|
||||
extern const device_t ns8250_device;
|
||||
extern const device_t ns8250_pcjr_device;
|
||||
extern const device_t ns8250_pcjr_3f8_device;
|
||||
extern const device_t ns8250_pcjr_2f8_device;
|
||||
extern const device_t ns16450_device;
|
||||
extern const device_t ns16550_device;
|
||||
extern const device_t ns16650_device;
|
||||
|
||||
@@ -474,6 +474,7 @@ extern uint8_t sc1502x_rs2_ramdac_in(uint16_t addr, int rs2, void *priv, svga_t
|
||||
extern void sdac_ramdac_out(uint16_t addr, int rs2, uint8_t val, void *priv, svga_t *svga);
|
||||
extern uint8_t sdac_ramdac_in(uint16_t addr, int rs2, void *priv, svga_t *svga);
|
||||
extern float sdac_getclock(int clock, void *priv);
|
||||
extern void sdac_set_ref_clock(void *priv, float ref_clock);
|
||||
|
||||
extern void stg_ramdac_out(uint16_t addr, uint8_t val, void *priv, svga_t *svga);
|
||||
extern uint8_t stg_ramdac_in(uint16_t addr, void *priv, svga_t *svga);
|
||||
@@ -507,6 +508,7 @@ extern const device_t bt485a_ramdac_device;
|
||||
extern const device_t gendac_ramdac_device;
|
||||
extern const device_t ibm_rgb528_ramdac_device;
|
||||
extern const device_t ics2494an_305_device;
|
||||
extern const device_t ics2494an_324_device;
|
||||
extern const device_t ati18810_28800_device;
|
||||
extern const device_t ati18811_0_28800_device;
|
||||
extern const device_t ati18811_1_28800_device;
|
||||
@@ -523,7 +525,8 @@ extern const device_t sc11484_nors2_ramdac_device;
|
||||
extern const device_t sc1502x_ramdac_device;
|
||||
extern const device_t sc1502x_rs2_ramdac_device;
|
||||
extern const device_t sdac_ramdac_device;
|
||||
extern const device_t stg_ramdac_device;
|
||||
extern const device_t stg1702_ramdac_device;
|
||||
extern const device_t stg1703_ramdac_device;
|
||||
extern const device_t tkd8001_ramdac_device;
|
||||
extern const device_t tseng_ics5301_ramdac_device;
|
||||
extern const device_t tseng_ics5341_ramdac_device;
|
||||
|
||||
@@ -436,20 +436,20 @@ extern const device_t et4000_kasan_isa_device;
|
||||
extern const device_t et4000_mca_device;
|
||||
|
||||
/* Tseng ET4000-W32x */
|
||||
extern const device_t et4000w32_device;
|
||||
extern const device_t et4000w32_machspeed_vga_gui_2400s_isa_device;
|
||||
extern const device_t et4000w32_machspeed_vga_gui_2400s_vlb_device;
|
||||
extern const device_t et4000w32_onboard_device;
|
||||
extern const device_t et4000w32i_isa_device;
|
||||
extern const device_t et4000w32i_vlb_device;
|
||||
extern const device_t et4000w32i_axis_microdevice_isa_device;
|
||||
extern const device_t et4000w32i_hercules_dynamite_pro_vlb_device;
|
||||
extern const device_t et4000w32p_videomagic_revb_vlb_device;
|
||||
extern const device_t et4000w32p_videomagic_revb_pci_device;
|
||||
extern const device_t et4000w32p_revc_vlb_device;
|
||||
extern const device_t et4000w32p_revc_pci_device;
|
||||
extern const device_t et4000w32p_vlb_device;
|
||||
extern const device_t et4000w32p_pci_device;
|
||||
extern const device_t et4000w32p_noncardex_vlb_device;
|
||||
extern const device_t et4000w32p_noncardex_pci_device;
|
||||
extern const device_t et4000w32p_cardex_vlb_device;
|
||||
extern const device_t et4000w32p_cardex_pci_device;
|
||||
extern const device_t et4000w32p_cardex_revc_vlb_device;
|
||||
extern const device_t et4000w32p_cardex_revc_pci_device;
|
||||
extern const device_t et4000w32p_cardex_revd_vlb_device;
|
||||
extern const device_t et4000w32p_cardex_revd_pci_device;
|
||||
extern const device_t et4000w32p_diamond_revd_vlb_device;
|
||||
extern const device_t et4000w32p_diamond_revd_pci_device;
|
||||
extern const device_t et4000w32p_generic_revd_vlb_device;
|
||||
extern const device_t et4000w32p_generic_revd_pci_device;
|
||||
|
||||
/* MDSI Genius VHR */
|
||||
extern const device_t genius_device;
|
||||
|
||||
@@ -367,7 +367,26 @@ static const device_config_t pc900_config[] = {
|
||||
.local = 0,
|
||||
.size = 32768,
|
||||
.files = { "roms/machines/pc900/cbm_pc40_v207a_xc.bin", "" }
|
||||
}
|
||||
},
|
||||
{
|
||||
.name = "BIOS V2.07B",
|
||||
.internal_name = "pc900_v207b",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 32768,
|
||||
.files = { "roms/machines/pc900/mpf_pc900_v207b.bin", "" }
|
||||
},
|
||||
{
|
||||
.name = "BIOS V3.01B",
|
||||
.internal_name = "pc900_v301b",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 32768,
|
||||
.files = { "roms/machines/pc900/cbm_pc40_v301b.bin", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
|
||||
@@ -332,17 +332,71 @@ machine_at_ecs386v_init(const machine_t *model)
|
||||
}
|
||||
|
||||
/* OPTi 391 */
|
||||
static const device_config_t dataexpert386wb_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "dataexpert386wb",
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "AMIBIOS 050591",
|
||||
.internal_name = "ami386wb",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 65536,
|
||||
.files = { "roms/machines/dataexpert386wb/386-OPTI-386WB-10.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "MR BIOS V1.26",
|
||||
.internal_name = "dataexpert386wb",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 65536,
|
||||
.files = { "roms/machines/dataexpert386wb/st0386-wb-ver2-0-618f078c738cb397184464.bin", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
const device_t dataexpert386wb_device = {
|
||||
.name = "DataExpert 386WB",
|
||||
.internal_name = "dataexpert386wb_device",
|
||||
.flags = 0,
|
||||
.local = 0,
|
||||
.init = NULL,
|
||||
.close = NULL,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = dataexpert386wb_config
|
||||
};
|
||||
|
||||
int
|
||||
machine_at_dataexpert386wb_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
ret = bios_load_linear("roms/machines/dataexpert386wb/st0386-wb-ver2-0-618f078c738cb397184464.bin",
|
||||
0x000f0000, 65536, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000f0000, 65536, 0);
|
||||
|
||||
machine_at_common_init(model);
|
||||
|
||||
device_add(&opti391_device);
|
||||
|
||||
@@ -168,7 +168,8 @@ static const device_config_t lx6_config[] = {
|
||||
.bios = {
|
||||
{
|
||||
.name = "Award Modular BIOS v4.51PG - Revision LY",
|
||||
.internal_name = "lx6", .bios_type = BIOS_NORMAL,
|
||||
.internal_name = "lx6",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
@@ -571,17 +572,72 @@ machine_at_p3bf_init(const machine_t *model)
|
||||
return ret;
|
||||
}
|
||||
|
||||
static const device_config_t ax6bc_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "ax6bc",
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "Award Modular BIOS v4.51PGM - Revision R1.10",
|
||||
.internal_name = "ax6bc_451pg",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/ax6bc/ax6bc110.bin", "" }
|
||||
},
|
||||
{
|
||||
.name = "Award Modular BIOS v4.60PGM - Revision R2.59",
|
||||
.internal_name = "ax6bc",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/ax6bc/AX6BC_R2.59.bin", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
const device_t ax6bc_device = {
|
||||
.name = "AOpen AX6BC",
|
||||
.internal_name = "ax6bc_device",
|
||||
.flags = 0,
|
||||
.local = 0,
|
||||
.init = NULL,
|
||||
.close = NULL,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = ax6bc_config
|
||||
};
|
||||
|
||||
int
|
||||
machine_at_ax6bc_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
ret = bios_load_linear("roms/machines/ax6bc/AX6BC_R2.59.bin",
|
||||
0x000c0000, 262144, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000c0000, 262144, 0);
|
||||
device_context_restore();
|
||||
|
||||
machine_at_common_init_ex(model, 2);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
@@ -937,17 +993,72 @@ machine_at_p6sba_init(const machine_t *model)
|
||||
return ret;
|
||||
}
|
||||
|
||||
static const device_config_t s1846_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "s1846",
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "AMIBIOS 6 (071595) - Revision 2.00.04",
|
||||
.internal_name = "s1846",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/s1846/bx46200f.rom", "" }
|
||||
},
|
||||
{
|
||||
.name = "AMIBIOS 6 (071595) - Revision 2.00.0x (Tulip Vision Line TP90)",
|
||||
.internal_name = "tp90",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/s1846/1846TP90.BIN", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
const device_t s1846_device = {
|
||||
.name = "Tyan Tsunami ATX",
|
||||
.internal_name = "s1846_device",
|
||||
.flags = 0,
|
||||
.local = 0,
|
||||
.init = NULL,
|
||||
.close = NULL,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = s1846_config
|
||||
};
|
||||
|
||||
int
|
||||
machine_at_s1846_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
ret = bios_load_linear("roms/machines/s1846/bx46200f.rom",
|
||||
0x000c0000, 262144, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000c0000, 262144, 0);
|
||||
device_context_restore();
|
||||
|
||||
machine_at_common_init_ex(model, 2);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
@@ -975,18 +1086,73 @@ machine_at_s1846_init(const machine_t *model)
|
||||
return ret;
|
||||
}
|
||||
|
||||
static const device_config_t vei8_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "vei8",
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "Award Modular BIOS v6.00PG - Revision QHW.10.01 (HP Sherwood-B)",
|
||||
.internal_name = "vei8",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/vei8/QHW1001.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "Award Modular BIOS v6.00PG - Revision R804",
|
||||
.internal_name = "6110zu",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/vei8/r804.bin", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
const device_t vei8_device = {
|
||||
.name = "MiTAC/Trigon 6110Zu",
|
||||
.internal_name = "vei8_device",
|
||||
.flags = 0,
|
||||
.local = 0,
|
||||
.init = NULL,
|
||||
.close = NULL,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = vei8_config
|
||||
};
|
||||
|
||||
/* i440ZX */
|
||||
int
|
||||
machine_at_vei8_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
ret = bios_load_linear("roms/machines/vei8/QHW1001.BIN",
|
||||
0x000c0000, 262144, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000c0000, 262144, 0);
|
||||
device_context_restore();
|
||||
|
||||
machine_at_common_init_ex(model, 2);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
|
||||
@@ -39,17 +39,81 @@
|
||||
#include <86box/snd_ac97.h>
|
||||
|
||||
/* i440BX */
|
||||
static const device_config_t prosignias31x_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "prosignias31x_bx",
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "Award Modular BIOS v4.51PG - Revision 5.3",
|
||||
.internal_name = "p6bxt",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/prosignias31x_bx/bxt53s.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "Award Modular BIOS v4.51PG - Revision 5.5 (Compaq ProSignia/Deskpro 440BX)",
|
||||
.internal_name = "prosignias31x_bx",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/prosignias31x_bx/p6bxt-ap-092600.bin", "" }
|
||||
},
|
||||
{
|
||||
.name = "Phoenix - AwardBIOS v6.00PG - Unofficial Version 6.0 (by rushieda)",
|
||||
.internal_name = "p6bxt_600pg",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/prosignias31x_bx/p6bxtap-600-67b8bfdce5de3470118202.bin", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
const device_t prosignias31x_device = {
|
||||
.name = "ECS P6BXT-A+",
|
||||
.internal_name = "prosignias31x_device",
|
||||
.flags = 0,
|
||||
.local = 0,
|
||||
.init = NULL,
|
||||
.close = NULL,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = prosignias31x_config
|
||||
};
|
||||
|
||||
int
|
||||
machine_at_prosignias31x_bx_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
ret = bios_load_linear("roms/machines/prosignias31x_bx/p6bxt-ap-092600.bin",
|
||||
0x000c0000, 262144, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000c0000, 262144, 0);
|
||||
device_context_restore();
|
||||
|
||||
machine_at_common_init_ex(model, 2);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
|
||||
@@ -158,17 +158,72 @@ machine_at_excaliburpci_init(const machine_t *model)
|
||||
return ret;
|
||||
}
|
||||
|
||||
static const device_config_t p5mp3_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "p5mp3",
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "Award Modular BIOS v4.50 - Revision 0205",
|
||||
.internal_name = "p5mp3",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/p5mp3/0205.bin", "" }
|
||||
},
|
||||
{
|
||||
.name = "Award Modular BIOS v4.51G - Revision 0402 (Beta)",
|
||||
.internal_name = "p5mp3_beta",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/p5mp3/0402.001", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
const device_t p5mp3_device = {
|
||||
.name = "ASUS P/I-P5MP3",
|
||||
.internal_name = "p5mp3_device",
|
||||
.flags = 0,
|
||||
.local = 0,
|
||||
.init = NULL,
|
||||
.close = NULL,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = p5mp3_config
|
||||
};
|
||||
|
||||
int
|
||||
machine_at_p5mp3_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
ret = bios_load_linear("roms/machines/p5mp3/0205.bin",
|
||||
0x000e0000, 131072, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000e0000, 131072, 0);
|
||||
device_context_restore();
|
||||
|
||||
machine_at_common_init(model);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_2 | PCI_NO_IRQ_STEERING);
|
||||
|
||||
@@ -432,7 +432,6 @@ static void
|
||||
machine_at_morrison64_gpio_init(void)
|
||||
{
|
||||
uint32_t gpio = 0xffffe0cf;
|
||||
uint16_t addr;
|
||||
|
||||
/* Return to this after CS4232 PnP is working. */
|
||||
/* Register 0x0078 (Undocumented): */
|
||||
@@ -482,8 +481,8 @@ machine_at_morrison64_gpio_init(void)
|
||||
gpio |= 0xffff01af;
|
||||
else if (cpu_dmulti <= 2.0)
|
||||
gpio |= 0xffffe2af;
|
||||
if ((cpu_dmulti > 2.0) && (cpu_dmulti <= 2.5))
|
||||
gpio |= 0xffffe5cf;
|
||||
else if ((cpu_dmulti > 2.0) && (cpu_dmulti <= 2.5))
|
||||
gpio |= 0xffffe5cf;
|
||||
|
||||
machine_set_gpio_default(gpio);
|
||||
}
|
||||
@@ -553,17 +552,72 @@ machine_at_zappa_gpio_init(void)
|
||||
machine_set_gpio_default(gpio);
|
||||
}
|
||||
|
||||
static const device_config_t pt2000_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "pt2000",
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "Award Modular BIOS v4.50GP - Revision T1.01",
|
||||
.internal_name = "pt2000",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/ficpt2000/PT2000_v1.01.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "Award Modular BIOS v4.51PG - Revision 3.072C806",
|
||||
.internal_name = "pt2000_451pg",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/ficpt2000/3072c806.bin", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
const device_t pt2000_device = {
|
||||
.name = "FIC PT-2000",
|
||||
.internal_name = "pt2000_device",
|
||||
.flags = 0,
|
||||
.local = 0,
|
||||
.init = NULL,
|
||||
.close = NULL,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = pt2000_config
|
||||
};
|
||||
|
||||
int
|
||||
machine_at_pt2000_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
ret = bios_load_linear("roms/machines/ficpt2000/PT2000_v1.01.BIN",
|
||||
0x000e0000, 131072, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000e0000, 131072, 0);
|
||||
device_context_restore();
|
||||
|
||||
machine_at_common_init(model);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
|
||||
@@ -813,17 +813,72 @@ machine_at_dellhannibalp_init(const machine_t *model)
|
||||
return ret;
|
||||
}
|
||||
|
||||
static const device_config_t p5vxb_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "p5vxb",
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "Award Modular BIOS v4.50PG - Revision 1.0",
|
||||
.internal_name = "p5vxb",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/p5vxb/P5VXB10.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "Award Modular BIOS v4.51PG - Revision 1.5c",
|
||||
.internal_name = "p5vxb_451pg",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/p5vxb/P5VXB15C.BIN", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
const device_t p5vxb_device = {
|
||||
.name = "ECS P5VX-B",
|
||||
.internal_name = "p5vxb_device",
|
||||
.flags = 0,
|
||||
.local = 0,
|
||||
.init = NULL,
|
||||
.close = NULL,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = p5vxb_config
|
||||
};
|
||||
|
||||
int
|
||||
machine_at_p5vxb_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
ret = bios_load_linear("roms/machines/p5vxb/P5VXB10.BIN",
|
||||
0x000e0000, 131072, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000e0000, 131072, 0);
|
||||
device_context_restore();
|
||||
|
||||
machine_at_common_init(model);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
@@ -1422,24 +1477,39 @@ machine_at_ma23c_init(const machine_t *model)
|
||||
static const device_config_t an430tx_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "pb79x",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "PhoenixBIOS 4.0 Release 6.0 - Revision P02-0011 (Sony Vaio PCV-130/150)", .internal_name = "vaio150", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 5, .local = 0, .size = 262144, .files = { "roms/machines/an430tx/P02-0011.BIO", "roms/machines/an430tx/P02-0011.BI1",
|
||||
"roms/machines/an430tx/P02-0011.BI2", "roms/machines/an430tx/P02-0011.BI3",
|
||||
"roms/machines/an430tx/P02-0011.RCV", "" } },
|
||||
{ .name = "PhoenixBIOS 4.0 Release 6.0 - Revision P09-0006 (Packard Bell PB79x)", .internal_name = "pb79x", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 5, .local = 0, .size = 262144, .files = { "roms/machines/an430tx/ANP0911A.BIO", "roms/machines/an430tx/ANP0911A.BI1",
|
||||
"roms/machines/an430tx/ANP0911A.BI2", "roms/machines/an430tx/ANP0911A.BI3",
|
||||
"roms/machines/an430tx/ANP0911A.RCV", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "PhoenixBIOS 4.0 Release 6.0 - Revision P02-0011 (Sony Vaio PCV-130/150)",
|
||||
.internal_name = "vaio150",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 5,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/an430tx/P02-0011.BIO", "roms/machines/an430tx/P02-0011.BI1",
|
||||
"roms/machines/an430tx/P02-0011.BI2", "roms/machines/an430tx/P02-0011.BI3",
|
||||
"roms/machines/an430tx/P02-0011.RCV", "" }
|
||||
},
|
||||
{
|
||||
.name = "PhoenixBIOS 4.0 Release 6.0 - Revision P09-0006 (Packard Bell PB79x)",
|
||||
.internal_name = "pb79x",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 5,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/an430tx/ANP0911A.BIO", "roms/machines/an430tx/ANP0911A.BI1",
|
||||
"roms/machines/an430tx/ANP0911A.BI2", "roms/machines/an430tx/ANP0911A.BI3",
|
||||
"roms/machines/an430tx/ANP0911A.RCV", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
|
||||
@@ -157,6 +157,150 @@ machine_at_exp8551_init(const machine_t *model)
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void
|
||||
machine_at_hpvectravexxx_gpio_init(void)
|
||||
{
|
||||
uint32_t gpio = 0x40;
|
||||
|
||||
if (cpu_busspeed <= 40000000)
|
||||
gpio |= 0x30;
|
||||
else if ((cpu_busspeed > 40000000) && (cpu_busspeed <= 50000000))
|
||||
gpio |= 0x00;
|
||||
else if ((cpu_busspeed > 50000000) && (cpu_busspeed <= 60000000))
|
||||
gpio |= 0x20;
|
||||
else if (cpu_busspeed > 60000000)
|
||||
gpio |= 0x10;
|
||||
|
||||
if (cpu_dmulti <= 1.5)
|
||||
gpio |= 0x82;
|
||||
else if ((cpu_dmulti > 1.5) && (cpu_dmulti <= 2.0))
|
||||
gpio |= 0x02;
|
||||
else if ((cpu_dmulti > 2.0) && (cpu_dmulti <= 2.5))
|
||||
gpio |= 0x00;
|
||||
else if (cpu_dmulti > 2.5)
|
||||
gpio |= 0x80;
|
||||
|
||||
machine_set_gpio_default(gpio);
|
||||
}
|
||||
|
||||
static const device_config_t hpvectravexxx_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "gu_07_05",
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "GU.07.02 (01/25/96)",
|
||||
.internal_name = "gu_07_02",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/hpvectravexxx/d3653.bin", "" }
|
||||
},
|
||||
{
|
||||
.name = "GU.07.05 (08/06/96)",
|
||||
.internal_name = "gu_07_05",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/hpvectravexxx/GU0705US.FUL", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
const device_t hpvectravexxx_device = {
|
||||
.name = "HP Vectra VE 5/XXX Series 2",
|
||||
.internal_name = "hpvectravexxx_device",
|
||||
.flags = 0,
|
||||
.local = 0,
|
||||
.init = NULL,
|
||||
.close = NULL,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = hpvectravexxx_config
|
||||
};
|
||||
|
||||
int
|
||||
machine_at_hpvectravexxx_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000e0000, 131072, 0);
|
||||
device_context_restore();
|
||||
|
||||
machine_at_common_init_ex(model, 2);
|
||||
machine_at_hpvectravexxx_gpio_init();
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x0F, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x0D, PCI_CARD_VIDEO, 0, 0, 0, 0);
|
||||
pci_register_slot(0x06, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x07, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x08, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
device_add(&i430fx_device);
|
||||
device_add(&piix_device);
|
||||
device_add_params(&pc87306_device, (void *) PCX730X_PHOENIX_42);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
if (gfxcard[0] == VID_INTERNAL)
|
||||
device_add(machine_get_vid_device(machine));
|
||||
|
||||
return ret;
|
||||
}
|
||||
int
|
||||
machine_at_vectra500mt_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear("roms/machines/vectra500mt/GJ0718.FUL",
|
||||
0x000e0000, 131072, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_common_init_ex(model, 2);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x0F, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x0D, PCI_CARD_VIDEO, 0, 0, 0, 0);
|
||||
pci_register_slot(0x06, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x07, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x08, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
|
||||
if (gfxcard[0] == VID_INTERNAL)
|
||||
device_add(machine_get_vid_device(machine));
|
||||
|
||||
device_add(&i430fx_device);
|
||||
device_add(&piix_device);
|
||||
device_add_params(&fdc37c93x_device, (void *) (FDC37XXX2 | FDC37C93X_NORMAL));
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_vectra54_init(const machine_t *model)
|
||||
{
|
||||
@@ -431,7 +575,6 @@ static void
|
||||
machine_at_monaco_gpio_init(void)
|
||||
{
|
||||
uint32_t gpio = 0xffffe0cf;
|
||||
uint16_t addr;
|
||||
|
||||
/* Return to this after CS4232 PnP is working. */
|
||||
/* Register 0x0078 (Undocumented): */
|
||||
@@ -668,17 +811,72 @@ machine_at_monaco_init(const machine_t *model)
|
||||
return ret;
|
||||
}
|
||||
|
||||
static const device_config_t ms5119_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "ms5119",
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "AMIBIOS 6 (071595) - Revision A37EB",
|
||||
.internal_name = "ms5119",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/ms5119/A37EB.ROM", "" }
|
||||
},
|
||||
{
|
||||
.name = "Award Modular BIOS v4.51PG - Release 2.3 (by Rainbow)",
|
||||
.internal_name = "ms5119_451pg",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/ms5119/MS-5120.BIN", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
const device_t ms5119_device = {
|
||||
.name = "MSI MS-5119",
|
||||
.internal_name = "ms5119_device",
|
||||
.flags = 0,
|
||||
.local = 0,
|
||||
.init = NULL,
|
||||
.close = NULL,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = ms5119_config
|
||||
};
|
||||
|
||||
int
|
||||
machine_at_ms5119_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
ret = bios_load_linear("roms/machines/ms5119/A37EB.ROM",
|
||||
0x000e0000, 131072, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000e0000, 131072, 0);
|
||||
device_context_restore();
|
||||
|
||||
machine_at_common_init(model);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
@@ -794,17 +992,72 @@ machine_at_mb500n_init(const machine_t *model)
|
||||
return ret;
|
||||
}
|
||||
|
||||
static const device_config_t fmb_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "fmb",
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "AMIBIOS 6 (071595) - Revision 1.83",
|
||||
.internal_name = "fmb",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/fmb/P5IV183.ROM", "" }
|
||||
},
|
||||
{
|
||||
.name = "Award Modular BIOS v4.51PG - 2001 Release (by Rainbow)",
|
||||
.internal_name = "fmb_451pg",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/fmb/P5I437FM.BIN", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
const device_t fmb_device = {
|
||||
.name = "QDI FMB",
|
||||
.internal_name = "fmb_device",
|
||||
.flags = 0,
|
||||
.local = 0,
|
||||
.init = NULL,
|
||||
.close = NULL,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = fmb_config
|
||||
};
|
||||
|
||||
int
|
||||
machine_at_fmb_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
ret = bios_load_linear("roms/machines/fmb/P5IV183.ROM",
|
||||
0x000e0000, 131072, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000e0000, 131072, 0);
|
||||
device_context_restore();
|
||||
|
||||
machine_at_common_init(model);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
|
||||
@@ -303,6 +303,15 @@ machine_at_686nx_init(const machine_t *model)
|
||||
return ret;
|
||||
}
|
||||
|
||||
uint32_t
|
||||
machine_ap440fx_vs440fx_gpio_handler(uint8_t write, uint32_t val)
|
||||
{
|
||||
if (!write)
|
||||
return 0xff7f;
|
||||
|
||||
return val; /* Writes are ignored. */
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_ap440fx_init(const machine_t *model)
|
||||
{
|
||||
|
||||
@@ -200,7 +200,7 @@ static const device_config_t g5x_config[] = {
|
||||
},
|
||||
{
|
||||
.name = "Phoenix - AwardBIOS v6.00PG - Release 4.1 (by eSupport)",
|
||||
.internal_name = "5ax_esupport",
|
||||
.internal_name = "5ax_600pg",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
@@ -298,17 +298,72 @@ machine_at_ax59pro_init(const machine_t *model)
|
||||
return ret;
|
||||
}
|
||||
|
||||
static const device_config_t delhi3_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "delhi3",
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "AMIBIOS 6 (071595) - Revision 1.01",
|
||||
.internal_name = "delhi3_nonoem",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/delhi3/DELHI3_nonoem.ROM", "" }
|
||||
},
|
||||
{
|
||||
.name = "AMIBIOS 6 (071595) - Revision 1.20 (eMachines eTower 3__k)",
|
||||
.internal_name = "delhi3",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/delhi3/DELHI3.ROM", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
const device_t delhi3_device = {
|
||||
.name = "TriGem Delhi-III",
|
||||
.internal_name = "delhi3_device",
|
||||
.flags = 0,
|
||||
.local = 0,
|
||||
.init = NULL,
|
||||
.close = NULL,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = delhi3_config
|
||||
};
|
||||
|
||||
int
|
||||
machine_at_delhi3_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
ret = bios_load_linear("roms/machines/delhi3/DELHI3.ROM",
|
||||
0x000c0000, 262144, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000c0000, 262144, 0);
|
||||
device_context_restore();
|
||||
|
||||
machine_at_common_init_ex(model, 2);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
#include <86box/rom.h>
|
||||
#include <86box/fdd.h>
|
||||
#include <86box/fdc.h>
|
||||
#include <86box/fdc_ext.h>
|
||||
#include <86box/sound.h>
|
||||
#include <86box/snd_speaker.h>
|
||||
#include <86box/snd_sn76489.h>
|
||||
@@ -652,7 +653,10 @@ kbd_read(uint16_t port, void *priv)
|
||||
|
||||
case 0x62:
|
||||
ret = (pcjr->latched ? 1 : 0);
|
||||
ret |= 0x02; /* Modem card not installed */
|
||||
if (!pcjr->option_modem)
|
||||
ret |= 0x02; /* Modem card not installed */
|
||||
if (!pcjr->option_fdc)
|
||||
ret |= 0x04; /* Diskette card not installed */
|
||||
if (mem_size < 128)
|
||||
ret |= 0x08; /* 64k expansion card not installed */
|
||||
if ((pcjr->pb & 0x08) || (cassette == NULL))
|
||||
@@ -664,6 +668,8 @@ kbd_read(uint16_t port, void *priv)
|
||||
ret |= (pcjr->data ? 0x40 : 0);
|
||||
if (pcjr->data)
|
||||
ret |= 0x40;
|
||||
if (pcjr->option_ir)
|
||||
ret |= 0x80; /* Keyboard cable not connected */
|
||||
break;
|
||||
|
||||
case 0xa0:
|
||||
@@ -813,6 +819,30 @@ static const device_config_t pcjr_config[] = {
|
||||
.selection = { { 0 } },
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
#if 0
|
||||
{
|
||||
.name = "modem_slot",
|
||||
.description = "Enable Serial Port in Modem Slot",
|
||||
.type = CONFIG_BINARY,
|
||||
.default_string = NULL,
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{
|
||||
.name = "ir_reciever",
|
||||
.description = "Enable IR Reciever",
|
||||
.type = CONFIG_BINARY,
|
||||
.default_string = NULL,
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
#endif
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
};
|
||||
@@ -846,6 +876,18 @@ machine_pcjr_init(UNUSED(const machine_t *model))
|
||||
|
||||
pcjr = calloc(1, sizeof(pcjr_t));
|
||||
|
||||
#if 0
|
||||
pcjr->option_modem = device_get_config_int("modem_slot");
|
||||
#else
|
||||
pcjr->option_modem = 0;
|
||||
#endif
|
||||
pcjr->option_fdc = 0;
|
||||
#if 0
|
||||
pcjr->option_ir = device_get_config_int("ir_reciever");
|
||||
#else
|
||||
pcjr->option_ir = 0;
|
||||
#endif
|
||||
|
||||
is_pcjr = 1;
|
||||
|
||||
pic_init_pcjr();
|
||||
@@ -865,9 +907,13 @@ machine_pcjr_init(UNUSED(const machine_t *model))
|
||||
keyboard_scan = 1;
|
||||
key_queue_start = key_queue_end = 0;
|
||||
io_sethandler(0x0060, 4,
|
||||
kbd_read, NULL, NULL, kbd_write, NULL, NULL, pcjr);
|
||||
kbd_read, NULL, NULL,
|
||||
kbd_write, NULL, NULL,
|
||||
pcjr);
|
||||
io_sethandler(0x00a0, 8,
|
||||
kbd_read, NULL, NULL, kbd_write, NULL, NULL, pcjr);
|
||||
kbd_read, NULL, NULL,
|
||||
kbd_write, NULL, NULL,
|
||||
pcjr);
|
||||
timer_add(&pcjr->send_delay_timer, kbd_poll, pcjr, 1);
|
||||
keyboard_set_table(scancode_pcjr);
|
||||
keyboard_send = kbd_adddata_ex;
|
||||
@@ -877,9 +923,18 @@ machine_pcjr_init(UNUSED(const machine_t *model))
|
||||
|
||||
nmi_mask = 0x80;
|
||||
|
||||
device_add(&fdc_pcjr_device);
|
||||
if (fdc_current[0] == FDC_INTERNAL) {
|
||||
device_add(&fdc_pcjr_device);
|
||||
pcjr->option_fdc = 1;
|
||||
}
|
||||
|
||||
if (!pcjr->option_modem)
|
||||
device_add(&ns8250_pcjr_2f8_device);
|
||||
else {
|
||||
device_add(&ns8250_pcjr_3f8_device);
|
||||
device_add(&ns8250_pcjr_2f8_device);
|
||||
}
|
||||
|
||||
device_add(&ns8250_pcjr_device);
|
||||
/* So that serial_standalone_init() won't do anything. */
|
||||
serial_set_next_inst(SERIAL_MAX - 1);
|
||||
|
||||
|
||||
@@ -300,7 +300,7 @@ const machine_t machines[] = {
|
||||
.max_multi = 0
|
||||
},
|
||||
.bus_flags = MACHINE_PCJR,
|
||||
.flags = MACHINE_VIDEO_FIXED | MACHINE_KEYBOARD | MACHINE_CARTRIDGE,
|
||||
.flags = MACHINE_VIDEO_FIXED | MACHINE_KEYBOARD | MACHINE_CARTRIDGE | MACHINE_FDC,
|
||||
.ram = {
|
||||
.min = 64,
|
||||
.max = 640,
|
||||
@@ -316,7 +316,7 @@ const machine_t machines[] = {
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.fdc_device = &fdc_pcjr_device,
|
||||
.sio_device = NULL,
|
||||
.vid_device = &pcjr_device,
|
||||
.snd_device = NULL,
|
||||
@@ -6627,7 +6627,7 @@ const machine_t machines[] = {
|
||||
},
|
||||
/* Has AMIKey 'F' KBC firmware. */
|
||||
{
|
||||
.name = "[OPTi 391] DataExpert 386WB",
|
||||
.name = "[OPTi 391] DataExpert 386C",
|
||||
.internal_name = "dataexpert386wb",
|
||||
.type = MACHINE_TYPE_386DX,
|
||||
.chipset = MACHINE_CHIPSET_OPTI_391,
|
||||
@@ -6661,7 +6661,7 @@ const machine_t machines[] = {
|
||||
.kbc_p1 = 0x000004f0,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.device = &dataexpert386wb_device,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
@@ -8831,7 +8831,7 @@ const machine_t machines[] = {
|
||||
.max_multi = 0
|
||||
},
|
||||
.bus_flags = MACHINE_VLB,
|
||||
.flags = MACHINE_APM | MACHINE_ACPI,
|
||||
.flags = MACHINE_APM,
|
||||
.ram = {
|
||||
.min = 1024,
|
||||
.max = 131072,
|
||||
@@ -11350,7 +11350,7 @@ const machine_t machines[] = {
|
||||
.kbc_p1 = 0x00000cf0,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.device = &p5mp3_device,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
@@ -11448,7 +11448,7 @@ const machine_t machines[] = {
|
||||
},
|
||||
/* Has IBM PS/2 Type 1 KBC firmware. */
|
||||
{
|
||||
.name = "[i430LX] IBM PS/ValuePoint P60",
|
||||
.name = "[i430LX] IBM PS/ValuePoint P60 (Robin ACE)",
|
||||
.internal_name = "valuepointp60",
|
||||
.type = MACHINE_TYPE_SOCKET4,
|
||||
.chipset = MACHINE_CHIPSET_INTEL_430LX,
|
||||
@@ -12423,7 +12423,7 @@ const machine_t machines[] = {
|
||||
.kbc_p1 = 0x00000cf0,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.device = &pt2000_device,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
@@ -12432,47 +12432,47 @@ const machine_t machines[] = {
|
||||
.net_device = NULL
|
||||
},
|
||||
{
|
||||
.name = "[i430FX] IBM PC 3x0 (type 65x6) (Morrison64)",
|
||||
.internal_name = "pc330_65x6",
|
||||
.type = MACHINE_TYPE_SOCKET5,
|
||||
.chipset = MACHINE_CHIPSET_INTEL_430FX,
|
||||
.init = machine_at_pc330_65x6_init,
|
||||
.p1_handler = machine_generic_p1_handler,
|
||||
.gpio_handler = NULL,
|
||||
.available_flag = MACHINE_AVAILABLE,
|
||||
.name = "[i430FX] IBM PC 3x0 (type 65x6) (Morrison64)",
|
||||
.internal_name = "pc330_65x6",
|
||||
.type = MACHINE_TYPE_SOCKET5,
|
||||
.chipset = MACHINE_CHIPSET_INTEL_430FX,
|
||||
.init = machine_at_pc330_65x6_init,
|
||||
.p1_handler = machine_generic_p1_handler,
|
||||
.gpio_handler = NULL,
|
||||
.available_flag = MACHINE_AVAILABLE,
|
||||
.gpio_acpi_handler = NULL,
|
||||
.cpu = {
|
||||
.package = CPU_PKG_SOCKET5_7,
|
||||
.block = CPU_BLOCK(CPU_K5, CPU_5K86, CPU_Cx6x86),
|
||||
.min_bus = 50000000,
|
||||
.max_bus = 66666667,
|
||||
.cpu = {
|
||||
.package = CPU_PKG_SOCKET5_7,
|
||||
.block = CPU_BLOCK(CPU_K5, CPU_5K86, CPU_Cx6x86),
|
||||
.min_bus = 50000000,
|
||||
.max_bus = 66666667,
|
||||
.min_voltage = 3380,
|
||||
.max_voltage = 3520,
|
||||
.min_multi = 1.5,
|
||||
.max_multi = 2.0
|
||||
.min_multi = 1.5,
|
||||
.max_multi = 2.0
|
||||
},
|
||||
.bus_flags = MACHINE_PS2_PCI,
|
||||
.flags = MACHINE_IDE_DUAL | MACHINE_VIDEO | MACHINE_APM,
|
||||
.ram = {
|
||||
.min = 8192,
|
||||
.max = 131072,
|
||||
.flags = MACHINE_IDE_DUAL | MACHINE_VIDEO | MACHINE_APM,
|
||||
.ram = {
|
||||
.min = 8192,
|
||||
.max = 131072,
|
||||
.step = 8192
|
||||
},
|
||||
.nvrmask = 255,
|
||||
.jumpered_ecp_dma = MACHINE_DMA_DISABLED | MACHINE_DMA_1 | MACHINE_DMA_3,
|
||||
.nvrmask = 255,
|
||||
.jumpered_ecp_dma = MACHINE_DMA_DISABLED | MACHINE_DMA_1 | MACHINE_DMA_3,
|
||||
.default_jumpered_ecp_dma = 3,
|
||||
.kbc_device = NULL,
|
||||
.kbc_params = 0x00000000,
|
||||
.kbc_p1 = 0x000044f0,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = &s3_phoenix_trio64_onboard_pci_device,
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
.kbc_device = NULL,
|
||||
.kbc_params = 0x00000000,
|
||||
.kbc_p1 = 0x000044f0,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = &s3_phoenix_trio64_onboard_pci_device,
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
/* According to tests from real hardware: This has AMI MegaKey KBC firmware on the
|
||||
PC87306 Super I/O chip, command 0xA1 returns '5'.
|
||||
@@ -12525,7 +12525,7 @@ const machine_t machines[] = {
|
||||
The board turns out to be a BCM FM540 which has an AMI 'H' KBC.
|
||||
*/
|
||||
{
|
||||
.name = "[i430FX] NEC PowerMate Vxxx",
|
||||
.name = "[i430FX] NEC PowerMate Vxxx (BCM FM540)",
|
||||
.internal_name = "powermatev",
|
||||
.type = MACHINE_TYPE_SOCKET5,
|
||||
.chipset = MACHINE_CHIPSET_INTEL_430FX,
|
||||
@@ -13040,27 +13040,27 @@ const machine_t machines[] = {
|
||||
.max_multi = 2.0
|
||||
},
|
||||
.bus_flags = MACHINE_PS2_PCI,
|
||||
.flags = MACHINE_IDE_DUAL | MACHINE_APM | MACHINE_VIDEO,
|
||||
.ram = {
|
||||
.flags = MACHINE_IDE_DUAL | MACHINE_APM | MACHINE_VIDEO,
|
||||
.ram = {
|
||||
.min = 4096,
|
||||
.max = 131072,
|
||||
.step = 4096
|
||||
},
|
||||
.nvrmask = 127,
|
||||
.jumpered_ecp_dma = MACHINE_DMA_USE_CONFIG,
|
||||
.nvrmask = 127,
|
||||
.jumpered_ecp_dma = MACHINE_DMA_USE_CONFIG,
|
||||
.default_jumpered_ecp_dma = -1,
|
||||
.kbc_device = &kbc_at_device,
|
||||
.kbc_params = KBC_VEN_PHOENIX | 0x00021400, /* Guess */
|
||||
.kbc_p1 = 0x00000cf0,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = &gd5434_onboard_pci_device,
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
.kbc_device = &kbc_at_device,
|
||||
.kbc_params = KBC_VEN_PHOENIX | 0x00021400, /* Guess */
|
||||
.kbc_p1 = 0x00000cf0,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = &gd5434_onboard_pci_device,
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
/* Has a VIA KBC chip */
|
||||
{
|
||||
@@ -13084,27 +13084,27 @@ const machine_t machines[] = {
|
||||
.max_multi = 2.0
|
||||
},
|
||||
.bus_flags = MACHINE_PS2_PCI,
|
||||
.flags = MACHINE_IDE_DUAL | MACHINE_APM,
|
||||
.ram = {
|
||||
.flags = MACHINE_IDE_DUAL | MACHINE_APM,
|
||||
.ram = {
|
||||
.min = 4096,
|
||||
.max = 262144,
|
||||
.step = 4096
|
||||
},
|
||||
.nvrmask = 127,
|
||||
.jumpered_ecp_dma = MACHINE_DMA_1 | MACHINE_DMA_3,
|
||||
.nvrmask = 127,
|
||||
.jumpered_ecp_dma = MACHINE_DMA_1 | MACHINE_DMA_3,
|
||||
.default_jumpered_ecp_dma = 1,
|
||||
.kbc_device = &kbc_at_device,
|
||||
.kbc_params = KBC_VEN_VIA | 0x00424600, /* Guess */
|
||||
.kbc_p1 = 0x00000cf0,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = NULL,
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
.kbc_device = &kbc_at_device,
|
||||
.kbc_params = KBC_VEN_VIA | 0x00424600, /* Guess */
|
||||
.kbc_p1 = 0x00000cf0,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = NULL,
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
/* KBC firmware is unknown. No commands outside of the base PS/2 */
|
||||
/* KBC command set are used. */
|
||||
@@ -13129,27 +13129,27 @@ const machine_t machines[] = {
|
||||
.max_multi = 2.0
|
||||
},
|
||||
.bus_flags = MACHINE_PS2_PCI,
|
||||
.flags = MACHINE_IDE_DUAL | MACHINE_APM,
|
||||
.ram = {
|
||||
.flags = MACHINE_IDE_DUAL | MACHINE_APM,
|
||||
.ram = {
|
||||
.min = 4096,
|
||||
.max = 131072,
|
||||
.step = 4096
|
||||
},
|
||||
.nvrmask = 127,
|
||||
.jumpered_ecp_dma = MACHINE_DMA_DISABLED | MACHINE_DMA_1 | MACHINE_DMA_3,
|
||||
.nvrmask = 127,
|
||||
.jumpered_ecp_dma = MACHINE_DMA_DISABLED | MACHINE_DMA_1 | MACHINE_DMA_3,
|
||||
.default_jumpered_ecp_dma = 4,
|
||||
.kbc_device = &kbc_at_device,
|
||||
.kbc_params = KBC_VEN_PHOENIX | 0x00021400, /* Guess */
|
||||
.kbc_p1 = 0x00000cf0,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = NULL,
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
.kbc_device = &kbc_at_device,
|
||||
.kbc_params = KBC_VEN_PHOENIX | 0x00021400, /* Guess */
|
||||
.kbc_p1 = 0x00000cf0,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = NULL,
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
/* This has Phoenix KBC firmware. */
|
||||
{
|
||||
@@ -13173,27 +13173,27 @@ const machine_t machines[] = {
|
||||
.max_multi = 2.0
|
||||
},
|
||||
.bus_flags = MACHINE_PS2_PCI,
|
||||
.flags = MACHINE_IDE_DUAL | MACHINE_APM | MACHINE_VIDEO,
|
||||
.ram = {
|
||||
.flags = MACHINE_IDE_DUAL | MACHINE_APM | MACHINE_VIDEO,
|
||||
.ram = {
|
||||
.min = 8192,
|
||||
.max = 139264,
|
||||
.step = 4096
|
||||
},
|
||||
.nvrmask = 127,
|
||||
.jumpered_ecp_dma = MACHINE_DMA_1 | MACHINE_DMA_3,
|
||||
.nvrmask = 127,
|
||||
.jumpered_ecp_dma = MACHINE_DMA_1 | MACHINE_DMA_3,
|
||||
.default_jumpered_ecp_dma = 3,
|
||||
.kbc_device = &kbc_at_device,
|
||||
.kbc_params = KBC_VEN_PHOENIX | 0x00012900, /* Guess */
|
||||
.kbc_p1 = 0x00000cf0,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = &gd5430_onboard_pci_device,
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
.kbc_device = &kbc_at_device,
|
||||
.kbc_params = KBC_VEN_PHOENIX | 0x00012900, /* Guess */
|
||||
.kbc_p1 = 0x00000cf0,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = &gd5430_onboard_pci_device,
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
|
||||
/* VLSI Wildcat */
|
||||
@@ -13219,27 +13219,27 @@ const machine_t machines[] = {
|
||||
.max_multi = 2.0
|
||||
},
|
||||
.bus_flags = MACHINE_PS2_PCI,
|
||||
.flags = MACHINE_IDE_DUAL | MACHINE_APM | MACHINE_VIDEO,
|
||||
.ram = {
|
||||
.flags = MACHINE_IDE_DUAL | MACHINE_APM | MACHINE_VIDEO,
|
||||
.ram = {
|
||||
.min = 4096,
|
||||
.max = 196608,
|
||||
.step = 4096
|
||||
},
|
||||
.nvrmask = 127,
|
||||
.jumpered_ecp_dma = MACHINE_DMA_3,
|
||||
.nvrmask = 127,
|
||||
.jumpered_ecp_dma = MACHINE_DMA_3,
|
||||
.default_jumpered_ecp_dma = 3,
|
||||
.kbc_device = &kbc_at_device,
|
||||
.kbc_params = KBC_VEN_PHOENIX | 0x00012900, /* Guess */
|
||||
.kbc_p1 = 0x00000cf0,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = &s3_phoenix_trio64_onboard_pci_device,
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
.kbc_device = &kbc_at_device,
|
||||
.kbc_params = KBC_VEN_PHOENIX | 0x00012900, /* Guess */
|
||||
.kbc_p1 = 0x00000cf0,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = &s3_phoenix_trio64_onboard_pci_device,
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
|
||||
/* Socket 7 (Single Voltage) machines */
|
||||
@@ -13333,6 +13333,92 @@ const machine_t machines[] = {
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
{
|
||||
.name = "[i430FX] HP Vectra VE 5/XXX Series 2",
|
||||
.internal_name = "hpvectravexxx",
|
||||
.type = MACHINE_TYPE_SOCKET7_3V,
|
||||
.chipset = MACHINE_CHIPSET_INTEL_430FX,
|
||||
.init = machine_at_hpvectravexxx_init,
|
||||
.p1_handler = machine_generic_p1_handler,
|
||||
.gpio_handler = NULL,
|
||||
.available_flag = MACHINE_AVAILABLE,
|
||||
.gpio_acpi_handler = NULL,
|
||||
.cpu = {
|
||||
.package = CPU_PKG_SOCKET5_7,
|
||||
.block = CPU_BLOCK_NONE,
|
||||
.min_bus = 50000000,
|
||||
.max_bus = 66666667,
|
||||
.min_voltage = 3380,
|
||||
.max_voltage = 3520,
|
||||
.min_multi = 1.5,
|
||||
.max_multi = 3.0
|
||||
},
|
||||
.bus_flags = MACHINE_PS2_PCI,
|
||||
.flags = MACHINE_IDE_DUAL | MACHINE_VIDEO | MACHINE_APM,
|
||||
.ram = {
|
||||
.min = 8192,
|
||||
.max = 131072,
|
||||
.step = 8192
|
||||
},
|
||||
.nvrmask = 255,
|
||||
.jumpered_ecp_dma = 0,
|
||||
.default_jumpered_ecp_dma = -1,
|
||||
.kbc_device = NULL,
|
||||
.kbc_params = 0x00000000,
|
||||
.kbc_p1 = 0x00000cf0,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = &hpvectravexxx_device,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = &gd5436_onboard_pci_device,
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
{
|
||||
.name = "[i430FX] HP Vectra 500 Series xxx/MT",
|
||||
.internal_name = "vectra500mt",
|
||||
.type = MACHINE_TYPE_SOCKET7_3V,
|
||||
.chipset = MACHINE_CHIPSET_INTEL_430FX,
|
||||
.init = machine_at_vectra500mt_init,
|
||||
.p1_handler = machine_generic_p1_handler,
|
||||
.gpio_handler = NULL,
|
||||
.available_flag = MACHINE_AVAILABLE,
|
||||
.gpio_acpi_handler = NULL,
|
||||
.cpu = {
|
||||
.package = CPU_PKG_SOCKET5_7,
|
||||
.block = CPU_BLOCK_NONE,
|
||||
.min_bus = 50000000,
|
||||
.max_bus = 66666667,
|
||||
.min_voltage = 3380,
|
||||
.max_voltage = 3520,
|
||||
.min_multi = 1.5,
|
||||
.max_multi = 3.0
|
||||
},
|
||||
.bus_flags = MACHINE_PS2_PCI,
|
||||
.flags = MACHINE_IDE_DUAL | MACHINE_VIDEO | MACHINE_APM,
|
||||
.ram = {
|
||||
.min = 8192,
|
||||
.max = 131072,
|
||||
.step = 8192
|
||||
},
|
||||
.nvrmask = 511,
|
||||
.jumpered_ecp_dma = 0,
|
||||
.default_jumpered_ecp_dma = -1,
|
||||
.kbc_device = NULL,
|
||||
.kbc_params = 0x00000000,
|
||||
.kbc_p1 = 0x000044f0,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = &s3_phoenix_trio64_onboard_pci_device,
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
/* Has a SM(S)C FDC37C932 Super I/O chip with on-chip KBC with AMI
|
||||
MegaKey (revision '5') KBC firmware. */
|
||||
{
|
||||
@@ -13598,7 +13684,7 @@ const machine_t machines[] = {
|
||||
.kbc_p1 = 0x00000cf0,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.device = &ms5119_device,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
@@ -13731,7 +13817,7 @@ const machine_t machines[] = {
|
||||
.kbc_p1 = 0x000004f0,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.device = &fmb_device,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
@@ -15132,7 +15218,7 @@ const machine_t machines[] = {
|
||||
.kbc_p1 = 0x00000cf0,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.device = &p5vxb_device,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
@@ -15608,7 +15694,7 @@ const machine_t machines[] = {
|
||||
.chipset = MACHINE_CHIPSET_INTEL_430TX,
|
||||
.init = machine_at_optiplexgn_init,
|
||||
.p1_handler = machine_generic_p1_handler,
|
||||
.gpio_handler = NULL,
|
||||
.gpio_handler = machine_ap440fx_vs440fx_gpio_handler,
|
||||
.available_flag = MACHINE_AVAILABLE,
|
||||
.gpio_acpi_handler = NULL,
|
||||
.cpu = {
|
||||
@@ -15648,7 +15734,7 @@ const machine_t machines[] = {
|
||||
},
|
||||
/* [TEST] Has AMI Megakey '5' KBC firmware on the SM(S)C FDC37C67x Super I/O chip. */
|
||||
{
|
||||
.name = "[i430TX] Gateway E-1000",
|
||||
.name = "[i430TX] Gateway E-1000 (Tomahawk)",
|
||||
.internal_name = "tomahawk",
|
||||
.type = MACHINE_TYPE_SOCKET7,
|
||||
.chipset = MACHINE_CHIPSET_INTEL_430TX,
|
||||
@@ -15692,48 +15778,48 @@ const machine_t machines[] = {
|
||||
},
|
||||
/* This has the Phoenix MultiKey KBC firmware on the NSC Super I/O chip. */
|
||||
{
|
||||
.name = "[i430TX] Intel AN430TX (Anchorage)",
|
||||
.internal_name = "an430tx",
|
||||
.type = MACHINE_TYPE_SOCKET7,
|
||||
.chipset = MACHINE_CHIPSET_INTEL_430TX,
|
||||
.init = machine_at_an430tx_init,
|
||||
.p1_handler = machine_generic_p1_handler,
|
||||
.gpio_handler = NULL,
|
||||
.available_flag = MACHINE_AVAILABLE,
|
||||
.name = "[i430TX] Intel AN430TX (Anchorage)",
|
||||
.internal_name = "an430tx",
|
||||
.type = MACHINE_TYPE_SOCKET7,
|
||||
.chipset = MACHINE_CHIPSET_INTEL_430TX,
|
||||
.init = machine_at_an430tx_init,
|
||||
.p1_handler = machine_generic_p1_handler,
|
||||
.gpio_handler = machine_ap440fx_vs440fx_gpio_handler,
|
||||
.available_flag = MACHINE_AVAILABLE,
|
||||
.gpio_acpi_handler = NULL,
|
||||
.cpu = {
|
||||
.package = CPU_PKG_SOCKET5_7,
|
||||
.block = CPU_BLOCK(CPU_K5, CPU_5K86, CPU_K6, CPU_K6_2, CPU_K6_2C, CPU_K6_3, CPU_K6_2P,
|
||||
CPU_K6_3P, CPU_Cx6x86, CPU_Cx6x86MX, CPU_Cx6x86L),
|
||||
.min_bus = 60000000,
|
||||
.max_bus = 66666667,
|
||||
.cpu = {
|
||||
.package = CPU_PKG_SOCKET5_7,
|
||||
.block = CPU_BLOCK(CPU_K5, CPU_5K86, CPU_K6, CPU_K6_2, CPU_K6_2C, CPU_K6_3, CPU_K6_2P,
|
||||
CPU_K6_3P, CPU_Cx6x86, CPU_Cx6x86MX, CPU_Cx6x86L),
|
||||
.min_bus = 60000000,
|
||||
.max_bus = 66666667,
|
||||
.min_voltage = 2800,
|
||||
.max_voltage = 3520,
|
||||
.min_multi = 1.5,
|
||||
.max_multi = 3.5
|
||||
.min_multi = 1.5,
|
||||
.max_multi = 3.5
|
||||
},
|
||||
.bus_flags = MACHINE_PS2_PCI,
|
||||
.flags = MACHINE_IDE_DUAL | MACHINE_APM | MACHINE_ACPI | MACHINE_SOUND | MACHINE_GAMEPORT, /* Machine has internal video: ATI Mach64GT-B 3D Rage II */
|
||||
.ram = {
|
||||
.min = 8192,
|
||||
.max = 262144,
|
||||
.flags = MACHINE_IDE_DUAL | MACHINE_APM | MACHINE_ACPI | MACHINE_SOUND | MACHINE_GAMEPORT, /* Machine has internal video: ATI Mach64GT-B 3D Rage II */
|
||||
.ram = {
|
||||
.min = 8192,
|
||||
.max = 262144,
|
||||
.step = 8192
|
||||
},
|
||||
.nvrmask = 255,
|
||||
.jumpered_ecp_dma = 0,
|
||||
.nvrmask = 255,
|
||||
.jumpered_ecp_dma = 0,
|
||||
.default_jumpered_ecp_dma = -1,
|
||||
.kbc_device = NULL,
|
||||
.kbc_params = 0x00000000,
|
||||
.kbc_p1 = 0x000044f0,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = &an430tx_device,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = NULL,
|
||||
.snd_device = &ymf715_onboard_device,
|
||||
.net_device = NULL
|
||||
.kbc_device = NULL,
|
||||
.kbc_params = 0x00000000,
|
||||
.kbc_p1 = 0x000044f0,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = &an430tx_device,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = NULL,
|
||||
.snd_device = &ymf715_onboard_device,
|
||||
.net_device = NULL
|
||||
},
|
||||
/* This has the Winbond W83977 Super I/O Chip with AMIKey-2 KBC firmware, which is type 'H'. */
|
||||
{
|
||||
@@ -16824,51 +16910,6 @@ const machine_t machines[] = {
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
/* Has the VIA VT82C596A southbridge with on-chip KBC identical to the VIA
|
||||
VT82C42N. Sadly likely abuses cache on Cyrix 6x86MX and MII CPUs (Cyrix MII being what most socket 7 eMachines PCs used) , so they are blocked and it's thus named after the only known eMachines with an AMD K6-2 CPU here */
|
||||
{
|
||||
.name = "[VIA MVP3] eMachines eTower 300k",
|
||||
.internal_name = "delhi3",
|
||||
.type = MACHINE_TYPE_SOCKETS7,
|
||||
.chipset = MACHINE_CHIPSET_VIA_APOLLO_MVP3,
|
||||
.init = machine_at_delhi3_init,
|
||||
.p1_handler = machine_generic_p1_handler,
|
||||
.gpio_handler = NULL,
|
||||
.available_flag = MACHINE_AVAILABLE,
|
||||
.gpio_acpi_handler = NULL,
|
||||
.cpu = {
|
||||
.package = CPU_PKG_SOCKET5_7,
|
||||
.block = CPU_BLOCK(CPU_Cx6x86MX),
|
||||
.min_bus = 66666667,
|
||||
.max_bus = 124242424,
|
||||
.min_voltage = 2000,
|
||||
.max_voltage = 3520,
|
||||
.min_multi = 1.5,
|
||||
.max_multi = 5.5
|
||||
},
|
||||
.bus_flags = MACHINE_PS2_PCI | MACHINE_BUS_USB, /* Has internal video: ATI 3D Rage IIc AGP (Rage 2) */
|
||||
.flags = MACHINE_IDE_DUAL | MACHINE_APM | MACHINE_ACPI | MACHINE_SOUND | MACHINE_USB,
|
||||
.ram = {
|
||||
.min = 8192,
|
||||
.max = 524288,
|
||||
.step = 8192
|
||||
},
|
||||
.nvrmask = 255,
|
||||
.jumpered_ecp_dma = 0,
|
||||
.default_jumpered_ecp_dma = -1,
|
||||
.kbc_device = NULL,
|
||||
.kbc_params = 0x00000000,
|
||||
.kbc_p1 = 0x00000cf0,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = NULL,
|
||||
.snd_device = &cs4235_onboard_device,
|
||||
.net_device = NULL
|
||||
},
|
||||
/* Has the VIA VT82C586B southbridge with on-chip KBC identical to the VIA
|
||||
VT82C42N. */
|
||||
{
|
||||
@@ -17004,6 +17045,50 @@ const machine_t machines[] = {
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
/* Has the VIA VT82C596A southbridge with on-chip KBC identical to the VIA VT82C42N. */
|
||||
{
|
||||
.name = "[VIA MVP3] TriGem Delhi-III",
|
||||
.internal_name = "delhi3",
|
||||
.type = MACHINE_TYPE_SOCKETS7,
|
||||
.chipset = MACHINE_CHIPSET_VIA_APOLLO_MVP3,
|
||||
.init = machine_at_delhi3_init,
|
||||
.p1_handler = machine_generic_p1_handler,
|
||||
.gpio_handler = NULL,
|
||||
.available_flag = MACHINE_AVAILABLE,
|
||||
.gpio_acpi_handler = NULL,
|
||||
.cpu = {
|
||||
.package = CPU_PKG_SOCKET5_7,
|
||||
.block = CPU_BLOCK(CPU_Cx6x86MX), /* Sadly it likely abuses cache if using Cyrix 6x86MX and MII CPUs (the latter being what most Socket 7 eMachines PCs used), so they are blocked. */
|
||||
.min_bus = 66666667,
|
||||
.max_bus = 124242424,
|
||||
.min_voltage = 2000,
|
||||
.max_voltage = 3520,
|
||||
.min_multi = 1.5,
|
||||
.max_multi = 5.5
|
||||
},
|
||||
.bus_flags = MACHINE_PS2_PCI | MACHINE_BUS_USB, /* Has internal video: ATI 3D Rage IIc AGP (Rage 2) */
|
||||
.flags = MACHINE_IDE_DUAL | MACHINE_APM | MACHINE_ACPI | MACHINE_SOUND | MACHINE_USB,
|
||||
.ram = {
|
||||
.min = 8192,
|
||||
.max = 524288,
|
||||
.step = 8192
|
||||
},
|
||||
.nvrmask = 255,
|
||||
.jumpered_ecp_dma = 0,
|
||||
.default_jumpered_ecp_dma = -1,
|
||||
.kbc_device = NULL,
|
||||
.kbc_params = 0x00000000,
|
||||
.kbc_p1 = 0x00000cf0,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = &delhi3_device,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = NULL,
|
||||
.snd_device = &cs4235_onboard_device,
|
||||
.net_device = NULL
|
||||
},
|
||||
|
||||
/* Socket 8 machines */
|
||||
/* 450KX */
|
||||
@@ -17328,7 +17413,7 @@ const machine_t machines[] = {
|
||||
.chipset = MACHINE_CHIPSET_INTEL_440FX,
|
||||
.init = machine_at_ap440fx_init,
|
||||
.p1_handler = machine_generic_p1_handler,
|
||||
.gpio_handler = NULL,
|
||||
.gpio_handler = machine_ap440fx_vs440fx_gpio_handler,
|
||||
.available_flag = MACHINE_AVAILABLE,
|
||||
.gpio_acpi_handler = NULL,
|
||||
.cpu = {
|
||||
@@ -17374,7 +17459,7 @@ const machine_t machines[] = {
|
||||
.chipset = MACHINE_CHIPSET_INTEL_440FX,
|
||||
.init = machine_at_vs440fx_init,
|
||||
.p1_handler = machine_generic_p1_handler,
|
||||
.gpio_handler = NULL,
|
||||
.gpio_handler = machine_ap440fx_vs440fx_gpio_handler,
|
||||
.available_flag = MACHINE_AVAILABLE,
|
||||
.gpio_acpi_handler = NULL,
|
||||
.cpu = {
|
||||
@@ -17434,7 +17519,7 @@ const machine_t machines[] = {
|
||||
.bus_flags = MACHINE_PS2_PCI | MACHINE_BUS_USB,
|
||||
.flags = MACHINE_IDE_DUAL | MACHINE_APM | MACHINE_USB, /* Machine has internal SCSI: Adaptec AIC-7880U */
|
||||
.ram = {
|
||||
.min = 40960,
|
||||
.min = 40960, /* does not POST with lower than 40MB; Award and AMI retail BIOSes not affected(?) */
|
||||
.max = 524288,
|
||||
.step = 8192
|
||||
},
|
||||
@@ -17781,7 +17866,7 @@ const machine_t machines[] = {
|
||||
.chipset = MACHINE_CHIPSET_INTEL_440LX,
|
||||
.init = machine_at_optiplexgxa_init,
|
||||
.p1_handler = machine_generic_p1_handler,
|
||||
.gpio_handler = NULL,
|
||||
.gpio_handler = machine_ap440fx_vs440fx_gpio_handler,
|
||||
.available_flag = MACHINE_AVAILABLE,
|
||||
.gpio_acpi_handler = NULL,
|
||||
.cpu = {
|
||||
@@ -18083,7 +18168,7 @@ const machine_t machines[] = {
|
||||
.kbc_p1 = 0x00000cf0,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.device = &ax6bc_device,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
@@ -18396,7 +18481,7 @@ const machine_t machines[] = {
|
||||
.kbc_p1 = 0x000044f0,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.device = &s1846_device,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
@@ -18409,7 +18494,7 @@ const machine_t machines[] = {
|
||||
/* Has a SM(S)C FDC37M60x Super I/O chip with on-chip KBC with most likely
|
||||
AMIKey-2 KBC firmware. */
|
||||
{
|
||||
.name = "[i440ZX] HP Vectra VEi 8",
|
||||
.name = "[i440ZX] MiTAC/Trigon 6110Zu",
|
||||
.internal_name = "vei8",
|
||||
.type = MACHINE_TYPE_SLOT1,
|
||||
.chipset = MACHINE_CHIPSET_INTEL_440ZX,
|
||||
@@ -18443,7 +18528,7 @@ const machine_t machines[] = {
|
||||
.kbc_p1 = 0x000044f0,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.device = &vei8_device,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
@@ -18911,13 +18996,12 @@ const machine_t machines[] = {
|
||||
|
||||
/* Slot 1/Socket 370 machines */
|
||||
/* 440BX */
|
||||
/* OEM version of ECS P6BXT-A+ REV 1.3x/2.2x. Has a Winbond W83977EF Super
|
||||
I/O chip with on-chip KBC with AMIKey-2 KBC firmware.*/
|
||||
/* Has a Winbond W83977EF Super I/O chip with on-chip KBC with AMIKey-2 KBC firmware.*/
|
||||
{
|
||||
.name = "[i440BX] Compaq ProSignia S316/318 (Intel)",
|
||||
.name = "[i440BX] ECS P6BXT-A+",
|
||||
.internal_name = "prosignias31x_bx",
|
||||
.type = MACHINE_TYPE_SLOT1_370,
|
||||
.chipset = MACHINE_CHIPSET_VIA_APOLLO_PRO_133,
|
||||
.chipset = MACHINE_CHIPSET_INTEL_440BX,
|
||||
.init = machine_at_prosignias31x_bx_init,
|
||||
.p1_handler = machine_generic_p1_handler,
|
||||
.gpio_handler = NULL,
|
||||
@@ -18925,9 +19009,9 @@ const machine_t machines[] = {
|
||||
.gpio_acpi_handler = NULL,
|
||||
.cpu = {
|
||||
.package = CPU_PKG_SLOT1 | CPU_PKG_SOCKET370,
|
||||
.block = CPU_BLOCK(CPU_PENTIUMPRO, CPU_CYRIX3S), /* Instability issues with PPro, and garbled text in POST with Cyrix */
|
||||
.block = CPU_BLOCK(CPU_PENTIUMPRO), /* Instability issues with PPro, and garbled text in POST with Cyrix (latter supported on unofficial v6.00PG BIOS) */
|
||||
.min_bus = 66666667,
|
||||
.max_bus = 100000000,
|
||||
.max_bus = 124242424,
|
||||
.min_voltage = 1300,
|
||||
.max_voltage = 3500,
|
||||
.min_multi = 1.5,
|
||||
@@ -18948,7 +19032,7 @@ const machine_t machines[] = {
|
||||
.kbc_p1 = 0x00000cf0,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.device = &prosignias31x_device,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
|
||||
@@ -603,9 +603,6 @@ msgstr ""
|
||||
msgid "ID:"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Specify..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Sectors:"
|
||||
msgstr ""
|
||||
|
||||
@@ -852,9 +849,18 @@ msgstr ""
|
||||
msgid "Invalid PCap device"
|
||||
msgstr ""
|
||||
|
||||
msgid "Generic Paddle Controller(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-axis, 1-button joystick(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-axis, 2-button joystick(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-axis, 3-button joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-axis, 4-button joystick"
|
||||
msgstr ""
|
||||
|
||||
@@ -867,18 +873,99 @@ msgstr ""
|
||||
msgid "3-axis, 2-button joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "3-axis, 3-button joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "3-axis, 4-button joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "4-axis, 2-button joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "4-axis, 3-button joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "4-axis, 4-button joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "3-button gamepad"
|
||||
msgstr ""
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr ""
|
||||
|
||||
msgid "6-button gamepad"
|
||||
msgstr ""
|
||||
|
||||
msgid "Gravis PC GamePad"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr ""
|
||||
|
||||
msgid "3-button flight yoke"
|
||||
msgstr ""
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr ""
|
||||
|
||||
msgid "3-button flight yoke with throttle"
|
||||
msgstr ""
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr ""
|
||||
|
||||
msgid "Steering Wheel (3-axis, 2-button)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Steering Wheel (3-axis, 3-button)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Steering Wheel (3-axis, 4-button)"
|
||||
msgstr ""
|
||||
|
||||
msgid "CH Flightstick"
|
||||
msgstr ""
|
||||
|
||||
msgid "CH Flightstick + CH Pedals"
|
||||
msgstr ""
|
||||
|
||||
msgid "CH Flightstick + CH Pedals Pro"
|
||||
msgstr ""
|
||||
|
||||
msgid "CH Flightstick Pro"
|
||||
msgstr ""
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals"
|
||||
msgstr ""
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals Pro"
|
||||
msgstr ""
|
||||
|
||||
msgid "CH Virtual Pilot"
|
||||
msgstr ""
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals"
|
||||
msgstr ""
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals Pro"
|
||||
msgstr ""
|
||||
|
||||
msgid "CH Virtual Pilot Pro"
|
||||
msgstr ""
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals"
|
||||
msgstr ""
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
msgstr ""
|
||||
|
||||
msgid "Microsoft SideWinder Pad"
|
||||
msgstr ""
|
||||
|
||||
@@ -888,25 +975,10 @@ msgstr ""
|
||||
msgid "Thrustmaster FCS + Rudder Control System"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgid "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr ""
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr ""
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr ""
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr ""
|
||||
|
||||
msgid "Win95 Steering Wheel (3-axis, 4-button)"
|
||||
msgid "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
msgstr ""
|
||||
|
||||
msgid "None"
|
||||
@@ -2988,9 +3060,6 @@ msgstr ""
|
||||
msgid "Color scheme"
|
||||
msgstr ""
|
||||
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
|
||||
msgid "Light"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -603,9 +603,6 @@ msgstr "Kanál:"
|
||||
msgid "ID:"
|
||||
msgstr "ID:"
|
||||
|
||||
msgid "&Specify..."
|
||||
msgstr "&Zadat..."
|
||||
|
||||
msgid "Sectors:"
|
||||
msgstr "Sektory:"
|
||||
|
||||
@@ -852,9 +849,18 @@ msgstr "Nebyla nalezena žádná PCap zařízení"
|
||||
msgid "Invalid PCap device"
|
||||
msgstr "Neplatné PCap zařízení"
|
||||
|
||||
msgid "Generic Paddle Controller(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-axis, 1-button joystick(s)"
|
||||
msgstr "Joystick s 2 osami a 1 tlačítky"
|
||||
|
||||
msgid "2-axis, 2-button joystick(s)"
|
||||
msgstr "Joystick s 2 osami a 2 tlačítky"
|
||||
|
||||
msgid "2-axis, 3-button joystick"
|
||||
msgstr "Joystick s 2 osami a 3 tlačítky"
|
||||
|
||||
msgid "2-axis, 4-button joystick"
|
||||
msgstr "Joystick s 2 osami a 4 tlačítky"
|
||||
|
||||
@@ -867,18 +873,99 @@ msgstr "Joystick s 2 osami a 8 tlačítky"
|
||||
msgid "3-axis, 2-button joystick"
|
||||
msgstr "Joystick s 3 osami a 2 tlačítky"
|
||||
|
||||
msgid "3-axis, 3-button joystick"
|
||||
msgstr "Joystick s 3 osami a 3 tlačítky"
|
||||
|
||||
msgid "3-axis, 4-button joystick"
|
||||
msgstr "Joystick s 3 osami a 4 tlačítky"
|
||||
|
||||
msgid "4-axis, 2-button joystick"
|
||||
msgstr "Joystick s 4 osami a 2 tlačítky"
|
||||
|
||||
msgid "4-axis, 3-button joystick"
|
||||
msgstr "Joystick s 4 osami a 3 tlačítky"
|
||||
|
||||
msgid "4-axis, 4-button joystick"
|
||||
msgstr "Joystick s 4 osami a 4 tlačítky"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "Ovladač se 2 tlačítky"
|
||||
|
||||
msgid "3-button gamepad"
|
||||
msgstr "Ovladač se 3 tlačítky"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "Ovladač se 4 tlačítky"
|
||||
|
||||
msgid "6-button gamepad"
|
||||
msgstr "Ovladač se 6 tlačítky"
|
||||
|
||||
msgid "Gravis PC GamePad"
|
||||
msgstr "Gravis PC GamePad"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "Letecký knipl se 2 tlačítky"
|
||||
|
||||
msgid "3-button flight yoke"
|
||||
msgstr "Letecký knipl se32 tlačítky"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "Letecký knipl se 4 tlačítky"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "Letecký knipl s 2 tlačítky a pákou"
|
||||
|
||||
msgid "3-button flight yoke with throttle"
|
||||
msgstr "Letecký knipl s 3 tlačítky a pákou"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "Letecký knipl s 4 tlačítky a pákou"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 2-button)"
|
||||
msgstr "Volant (3 osy, 2 tlačítka)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 3-button)"
|
||||
msgstr "Volant (3 osy, 3 tlačítka)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Volant (3 osy, 4 tlačítka)"
|
||||
|
||||
msgid "CH Flightstick"
|
||||
msgstr "CH Flightstick"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals"
|
||||
msgstr "CH Flightstick + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals Pro"
|
||||
msgstr "CH Flightstick + CH Pedals Pro"
|
||||
|
||||
msgid "CH Flightstick Pro"
|
||||
msgstr "CH Flightstick Pro"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals"
|
||||
msgstr "CH Flightstick Pro + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals Pro"
|
||||
msgstr "CH Flightstick Pro + CH Pedals Pro"
|
||||
|
||||
msgid "CH Virtual Pilot"
|
||||
msgstr "CH Virtual Pilot"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals"
|
||||
msgstr "CH Virtual Pilot + CH Pedals"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot + CH Pedals Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro"
|
||||
msgstr "CH Virtual Pilot Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedals"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
|
||||
msgid "Microsoft SideWinder Pad"
|
||||
msgstr "Microsoft SideWinder Pad"
|
||||
|
||||
@@ -888,26 +975,11 @@ msgstr "Thrustmaster Flight Control System"
|
||||
msgid "Thrustmaster FCS + Rudder Control System"
|
||||
msgstr "Thrustmaster FCS + Rudder Control System"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "Ovladač se 2 tlačítky"
|
||||
msgid "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "Letecký knipl se 2 tlačítky"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "Ovladač se 4 tlačítky"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "Letecký knipl se 4 tlačítky"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "Letecký knipl s 2 tlačítky a pákou"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "Letecký knipl s 4 tlačítky a pákou"
|
||||
|
||||
msgid "Win95 Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Volant pro Windows 95 (3 osy, 4 tlačítka)"
|
||||
msgid "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
|
||||
msgid "None"
|
||||
msgstr "Žadné"
|
||||
@@ -1714,7 +1786,7 @@ msgid "Remove"
|
||||
msgstr "Odstranit"
|
||||
|
||||
msgid "Browse..."
|
||||
msgstr "Browse..."
|
||||
msgstr "Procházet..."
|
||||
|
||||
msgid "Couldn't create OpenGL context."
|
||||
msgstr "Nepodařilo se vytvořit kontext OpenGL."
|
||||
|
||||
@@ -603,9 +603,6 @@ msgstr "Kanal:"
|
||||
msgid "ID:"
|
||||
msgstr "ID:"
|
||||
|
||||
msgid "&Specify..."
|
||||
msgstr "&Festlegen..."
|
||||
|
||||
msgid "Sectors:"
|
||||
msgstr "Sektoren:"
|
||||
|
||||
@@ -852,9 +849,18 @@ msgstr "Keine PCap-Geräte gefunden"
|
||||
msgid "Invalid PCap device"
|
||||
msgstr "Ungültiges PCap-Gerät"
|
||||
|
||||
msgid "Generic Paddle Controller(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-axis, 1-button joystick(s)"
|
||||
msgstr "2-Achsen-, 1-Tasten-Joystick(s)"
|
||||
|
||||
msgid "2-axis, 2-button joystick(s)"
|
||||
msgstr "2-Achsen-, 2-Tasten-Joystick(s)"
|
||||
|
||||
msgid "2-axis, 3-button joystick"
|
||||
msgstr "2-Achsen-, 3-Tasten-Joystick"
|
||||
|
||||
msgid "2-axis, 4-button joystick"
|
||||
msgstr "2-Achsen-, 4-Tasten-Joystick"
|
||||
|
||||
@@ -867,18 +873,99 @@ msgstr "2-Achsen-, 8-Tasten-Joystick"
|
||||
msgid "3-axis, 2-button joystick"
|
||||
msgstr "3-Achsen-, 2-Tasten-Joystick"
|
||||
|
||||
msgid "3-axis, 3-button joystick"
|
||||
msgstr "3-Achsen-, 3-Tasten-Joystick"
|
||||
|
||||
msgid "3-axis, 4-button joystick"
|
||||
msgstr "3-Achsen-, 4-Tasten-Joystick"
|
||||
|
||||
msgid "4-axis, 2-button joystick"
|
||||
msgstr "4-Achsen-, 2-Tasten-Joystick"
|
||||
|
||||
msgid "4-axis, 3-button joystick"
|
||||
msgstr "4-Achsen-, 3-Tasten-Joystick"
|
||||
|
||||
msgid "4-axis, 4-button joystick"
|
||||
msgstr "4-Achsen-, 4-Tasten-Joystick"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "2-Tasten-Gamepad(s)"
|
||||
|
||||
msgid "3-button gamepad"
|
||||
msgstr "3-Tasten-Gamepad"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "4-Tasten-Gamepad"
|
||||
|
||||
msgid "6-button gamepad"
|
||||
msgstr "6-Tasten-Gamepad"
|
||||
|
||||
msgid "Gravis PC GamePad"
|
||||
msgstr "Gravis PC GamePad"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "2-Tasten-Steuerhorn"
|
||||
|
||||
msgid "3-button flight yoke"
|
||||
msgstr "3-Tasten-Steuerhorn"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "4-Tasten-Steuerhorn"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "2-Tasten-Steuerhorn mit Schubregler"
|
||||
|
||||
msgid "3-button flight yoke with throttle"
|
||||
msgstr "3-Tasten-Steuerhorn mit Schubregler"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "4-Tasten-Steuerhorn mit Schubregler"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 2-button)"
|
||||
msgstr "Lenkrad (3-Achsen, 2-Tasten)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 3-button)"
|
||||
msgstr "Lenkrad (3-Achsen, 3-Tasten)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Lenkrad (3-Achsen, 4-Tasten)"
|
||||
|
||||
msgid "CH Flightstick"
|
||||
msgstr "CH Flightstick"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals"
|
||||
msgstr "CH Flightstick + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals Pro"
|
||||
msgstr "CH Flightstick + CH Pedals Pro"
|
||||
|
||||
msgid "CH Flightstick Pro"
|
||||
msgstr "CH Flightstick Pro"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals"
|
||||
msgstr "CH Flightstick Pro + CH Pedale"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals Pro"
|
||||
msgstr "CH Flightstick Pro + CH Pedale Pro"
|
||||
|
||||
msgid "CH Virtual Pilot"
|
||||
msgstr "CH Virtual Pilot"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals"
|
||||
msgstr "CH Virtual Pilot + CH Pedale"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot + CH Pedale Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro"
|
||||
msgstr "CH Virtual Pilot Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedale"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedale Pro"
|
||||
|
||||
msgid "Microsoft SideWinder Pad"
|
||||
msgstr "Microsoft SideWinder Pad"
|
||||
|
||||
@@ -888,26 +975,11 @@ msgstr "Thrustmaster Flight Control System"
|
||||
msgid "Thrustmaster FCS + Rudder Control System"
|
||||
msgstr "Thrustmaster FCS + Rudder Control System"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "2-Tasten-Gamepad(s)"
|
||||
msgid "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "2-Tasten-Steuerhorn"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "4-Tasten-Gamepad"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "4-Tasten-Steuerhorn"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "2-Tasten-Steuerhorn mit Schubregler"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "4-Tasten-Steuerhorn mit Schubregler"
|
||||
|
||||
msgid "Win95 Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Win95 Lenkrad (3-Achsen, 4-Tasten)"
|
||||
msgid "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
|
||||
msgid "None"
|
||||
msgstr "Ohne"
|
||||
|
||||
@@ -603,9 +603,6 @@ msgstr "Canal:"
|
||||
msgid "ID:"
|
||||
msgstr "ID:"
|
||||
|
||||
msgid "&Specify..."
|
||||
msgstr "E&specificar..."
|
||||
|
||||
msgid "Sectors:"
|
||||
msgstr "Sectores:"
|
||||
|
||||
@@ -852,9 +849,18 @@ msgstr "No se encontraron dispositivos PCap"
|
||||
msgid "Invalid PCap device"
|
||||
msgstr "Dispositivo PCap inválido"
|
||||
|
||||
msgid "Generic Paddle Controller(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-axis, 1-button joystick(s)"
|
||||
msgstr "Mando(s) de 2 ejes, 1 botones"
|
||||
|
||||
msgid "2-axis, 2-button joystick(s)"
|
||||
msgstr "Mando(s) de 2 ejes, 2 botones"
|
||||
|
||||
msgid "2-axis, 3-button joystick"
|
||||
msgstr "Mando de 2 ejes, 3 botones"
|
||||
|
||||
msgid "2-axis, 4-button joystick"
|
||||
msgstr "Mando de 2 ejes, 4 botones"
|
||||
|
||||
@@ -867,18 +873,99 @@ msgstr "Mando de 2 ejes, 8 botones"
|
||||
msgid "3-axis, 2-button joystick"
|
||||
msgstr "Mando de 3 ejes, 2 botones"
|
||||
|
||||
msgid "3-axis, 3-button joystick"
|
||||
msgstr "Mando de 3 ejes, 3 botones"
|
||||
|
||||
msgid "3-axis, 4-button joystick"
|
||||
msgstr "Mando de 3 ejes, 4 botones"
|
||||
|
||||
msgid "4-axis, 2-button joystick"
|
||||
msgstr "Mando de 4 ejes, 2 botones"
|
||||
|
||||
msgid "4-axis, 3-button joystick"
|
||||
msgstr "Mando de 4 ejes, 3 botones"
|
||||
|
||||
msgid "4-axis, 4-button joystick"
|
||||
msgstr "Mando de 4 ejes, 4 botones"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "Mando(s) de juegos de 2 botones"
|
||||
|
||||
msgid "3-button gamepad"
|
||||
msgstr "Mando de juegos de 3 botones"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "Mando de juegos de 4 botones"
|
||||
|
||||
msgid "6-button gamepad"
|
||||
msgstr "Mando de juegos de 6 botones"
|
||||
|
||||
msgid "Gravis PC GamePad"
|
||||
msgstr "Gravis PC GamePad"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "Yugo de vuelo de 2 botones"
|
||||
|
||||
msgid "3-button flight yoke"
|
||||
msgstr "Yugo de vuelo de 3 botones"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "Yugo de vuelo de 4 botones"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "Yugo de vuelo de 2 botones con acelerador"
|
||||
|
||||
msgid "3-button flight yoke with throttle"
|
||||
msgstr "Yugo de vuelo de 3 botones con acelerador"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "Yugo de vuelo de 4 botones con acelerador"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 2-button)"
|
||||
msgstr "Volante (de 3 ejes, 2 botones)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 3-button)"
|
||||
msgstr "Volante (de 3 ejes, 3 botones)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Volante (de 3 ejes, 4 botones)"
|
||||
|
||||
msgid "CH Flightstick"
|
||||
msgstr "CH Flightstick"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals"
|
||||
msgstr "CH Flightstick + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals Pro"
|
||||
msgstr "CH Flightstick + CH Pedals Pro"
|
||||
|
||||
msgid "CH Flightstick Pro"
|
||||
msgstr "CH Flightstick Pro"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals"
|
||||
msgstr "CH Flightstick Pro + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals Pro"
|
||||
msgstr "CH Flightstick Pro + CH Pedals Pro"
|
||||
|
||||
msgid "CH Virtual Pilot"
|
||||
msgstr "CH Virtual Pilot"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals"
|
||||
msgstr "CH Virtual Pilot + CH Pedals"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot + CH Pedals Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro"
|
||||
msgstr "CH Virtual Pilot Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedals"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
|
||||
msgid "Microsoft SideWinder Pad"
|
||||
msgstr "Microsoft SideWinder Pad"
|
||||
|
||||
@@ -888,26 +975,11 @@ msgstr "Thrustmaster Flight Control System"
|
||||
msgid "Thrustmaster FCS + Rudder Control System"
|
||||
msgstr "Thrustmaster FCS + Rudder Control System"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "Mando(s) de juegos de 2 botones"
|
||||
msgid "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "Yugo de vuelo de 2 botones"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "Mando de juegos de 4 botones"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "Yugo de vuelo de 4 botones"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "Yugo de vuelo de 2 botones con acelerador"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "Yugo de vuelo de 4 botones con acelerador"
|
||||
|
||||
msgid "Win95 Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Volante Win95 (de 3 ejes, 4 botones)"
|
||||
msgid "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
|
||||
msgid "None"
|
||||
msgstr "Ninguno"
|
||||
|
||||
@@ -603,9 +603,6 @@ msgstr "Kanava:"
|
||||
msgid "ID:"
|
||||
msgstr "ID:"
|
||||
|
||||
msgid "&Specify..."
|
||||
msgstr "&Määritä..."
|
||||
|
||||
msgid "Sectors:"
|
||||
msgstr "Sektorit:"
|
||||
|
||||
@@ -852,9 +849,18 @@ msgstr "PCap-laitteita ei löytynyt"
|
||||
msgid "Invalid PCap device"
|
||||
msgstr "Virheellinen PCap-laite"
|
||||
|
||||
msgid "Generic Paddle Controller(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-axis, 1-button joystick(s)"
|
||||
msgstr "2-akseliset 1-painikkeiset peliohjaimet"
|
||||
|
||||
msgid "2-axis, 2-button joystick(s)"
|
||||
msgstr "2-akseliset 2-painikkeiset peliohjaimet"
|
||||
|
||||
msgid "2-axis, 3-button joystick"
|
||||
msgstr "2-akselinen 3-painikkeinen peliohjain"
|
||||
|
||||
msgid "2-axis, 4-button joystick"
|
||||
msgstr "2-akselinen 4-painikkeinen peliohjain"
|
||||
|
||||
@@ -867,17 +873,98 @@ msgstr "2-akselinen 8-painikkeinen peliohjain"
|
||||
msgid "3-axis, 2-button joystick"
|
||||
msgstr "3-akselinen 2-painikkeinen peliohjain"
|
||||
|
||||
msgid "3-axis, 3-button joystick"
|
||||
msgstr "3-akselinen 3-painikkeinen peliohjain"
|
||||
|
||||
msgid "3-axis, 4-button joystick"
|
||||
msgstr "3-akselinen 4-painikkeinen peliohjain"
|
||||
|
||||
msgid "4-axis, 2-button joystick"
|
||||
msgstr "4-akselinen 2-painikkeinen peliohjain"
|
||||
|
||||
msgid "4-axis, 3-button joystick"
|
||||
msgstr "4-akselinen 3-painikkeinen peliohjain"
|
||||
|
||||
msgid "4-axis, 4-button joystick"
|
||||
msgstr "4-akselinen 4-painikkeinen peliohjain"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "2-painikkeiset peliohjaimet"
|
||||
|
||||
msgid "3-button gamepad"
|
||||
msgstr "3-painikkeinen peliohjain"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "4-painikkeinen peliohjain"
|
||||
|
||||
msgid "6-button gamepad"
|
||||
msgstr "6-painikkeinen peliohjain"
|
||||
|
||||
msgid "Gravis PC GamePad"
|
||||
msgstr "Gravis PC GamePad"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "2-painikkeinen lento-ohjain"
|
||||
|
||||
msgid "3-button flight yoke"
|
||||
msgstr "3-painikkeinen lento-ohjain"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "4-painikkeinen lento-ohjain"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "2-painikkeinen lento-ohjain kaasuvivulla"
|
||||
|
||||
msgid "3-button flight yoke with throttle"
|
||||
msgstr "3-painikkeinen lento-ohjain kaasuvivulla"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "4-painikkeinen lento-ohjain kaasuvivulla"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 2-button)"
|
||||
msgstr "ratti (3-akselinen, 2-painikkeinen)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 3-button)"
|
||||
msgstr "ratti (3-akselinen, 3-painikkeinen)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "ratti (3-akselinen, 4-painikkeinen)"
|
||||
|
||||
msgid "CH Flightstick"
|
||||
msgstr "CH Flightstick"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals"
|
||||
msgstr "CH Flightstick + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals Pro"
|
||||
msgstr "CH Flightstick + CH Pedals Pro"
|
||||
|
||||
msgid "CH Flightstick Pro"
|
||||
msgstr "CH Flightstick Pro"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals"
|
||||
msgstr ""
|
||||
msgstr "CH Flightstick Pro + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals Pro"
|
||||
msgstr "CH Flightstick Pro + CH Pedals Pro"
|
||||
|
||||
msgid "CH Virtual Pilot"
|
||||
msgstr "CH Virtual Pilot"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals"
|
||||
msgstr "CH Virtual Pilot + CH Pedals"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot + CH Pedals Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro"
|
||||
msgstr "CH Virtual Pilot Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedals"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
|
||||
msgid "Microsoft SideWinder Pad"
|
||||
msgstr "Microsoft SideWinder Pad"
|
||||
@@ -886,28 +973,13 @@ msgid "Thrustmaster Flight Control System"
|
||||
msgstr "Thrustmaster Flight Control System"
|
||||
|
||||
msgid "Thrustmaster FCS + Rudder Control System"
|
||||
msgstr ""
|
||||
msgstr "Thrustmaster FCS + Rudder Control System"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "2-painikkeiset peliohjaimet"
|
||||
msgid "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "2-painikkeinen lento-ohjain"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "4-painikkeinen peliohjain"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "4-painikkeinen lento-ohjain"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "2-painikkeinen lento-ohjain kaasuvivulla"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "4-painikkeinen lento-ohjain kaasuvivulla"
|
||||
|
||||
msgid "Win95 Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Win95-ratti (3-akselinen, 4-painikkeinen)"
|
||||
msgid "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
|
||||
msgid "None"
|
||||
msgstr "Ei mikään"
|
||||
|
||||
@@ -603,9 +603,6 @@ msgstr "Canal:"
|
||||
msgid "ID:"
|
||||
msgstr "ID:"
|
||||
|
||||
msgid "&Specify..."
|
||||
msgstr "&Spécifier..."
|
||||
|
||||
msgid "Sectors:"
|
||||
msgstr "Secteurs:"
|
||||
|
||||
@@ -852,9 +849,18 @@ msgstr "Aucun dispositif PCap trouvé"
|
||||
msgid "Invalid PCap device"
|
||||
msgstr "Dispositif PCap invalide"
|
||||
|
||||
msgid "Generic Paddle Controller(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-axis, 1-button joystick(s)"
|
||||
msgstr "Manette(s) avec 2 axes, 1 boutons"
|
||||
|
||||
msgid "2-axis, 2-button joystick(s)"
|
||||
msgstr "Manette(s) avec 2 axes, 2 boutons"
|
||||
|
||||
msgid "2-axis, 3-button joystick"
|
||||
msgstr "Manette avec 2 axes, 4 boutons"
|
||||
|
||||
msgid "2-axis, 4-button joystick"
|
||||
msgstr "Manette avec 2 axes, 4 boutons"
|
||||
|
||||
@@ -867,18 +873,99 @@ msgstr "Manette avec 2 axes, 8 boutons"
|
||||
msgid "3-axis, 2-button joystick"
|
||||
msgstr "Manette avec 3 axes, 2 boutons"
|
||||
|
||||
msgid "3-axis, 3-button joystick"
|
||||
msgstr "Manette avec 3 axes, 3 boutons"
|
||||
|
||||
msgid "3-axis, 4-button joystick"
|
||||
msgstr "Manette avec 3 axes, 4 boutons"
|
||||
|
||||
msgid "4-axis, 2-button joystick"
|
||||
msgstr "Manette avec 4 axes, 2 boutons"
|
||||
|
||||
msgid "4-axis, 3-button joystick"
|
||||
msgstr "Manette avec 4 axes, 3 boutons"
|
||||
|
||||
msgid "4-axis, 4-button joystick"
|
||||
msgstr "Manette avec 4 axes, 4 boutons"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "Manette(s) de jeu à 2 boutons"
|
||||
|
||||
msgid "3-button gamepad"
|
||||
msgstr "Manette de jeu à 2 boutons"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "Manette de jeu à 4 boutons"
|
||||
|
||||
msgid "6-button gamepad"
|
||||
msgstr "Manette de jeu à 6 boutons"
|
||||
|
||||
msgid "Gravis PC GamePad"
|
||||
msgstr "Gravis PC GamePad"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "Manette de vol à 2 boutons"
|
||||
|
||||
msgid "3-button flight yoke"
|
||||
msgstr "Manette de vol à 3 boutons"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "Manette de vol à 4 boutons"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "Manette de vol à 2 boutons avec manette des gaz"
|
||||
|
||||
msgid "3-button flight yoke with throttle"
|
||||
msgstr "Manette de vol à 3 boutons avec manette des gaz"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "Manette de vol à 4 boutons avec manette des gaz"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 2-button)"
|
||||
msgstr "Volant (3 axes, 2 boutons)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 3-button)"
|
||||
msgstr "Volant (3 axes, 3 boutons)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Volant (3 axes, 4 boutons)"
|
||||
|
||||
msgid "CH Flightstick"
|
||||
msgstr "CH Flightstick"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals"
|
||||
msgstr "CH Flightstick + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals Pro"
|
||||
msgstr "CH Flightstick + CH Pedals Pro"
|
||||
|
||||
msgid "CH Flightstick Pro"
|
||||
msgstr "CH Flightstick Pro"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals"
|
||||
msgstr "CH Flightstick Pro + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals Pro"
|
||||
msgstr "CH Flightstick Pro + CH Pedals Pro"
|
||||
|
||||
msgid "CH Virtual Pilot"
|
||||
msgstr "CH Virtual Pilot"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals"
|
||||
msgstr "CH Virtual Pilot + CH Pedals"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot + CH Pedals Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro"
|
||||
msgstr "CH Virtual Pilot Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedals"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
|
||||
msgid "Microsoft SideWinder Pad"
|
||||
msgstr "Microsoft SideWinder Pad"
|
||||
|
||||
@@ -888,26 +975,11 @@ msgstr "Système de contrôle de vol Thrustmaster"
|
||||
msgid "Thrustmaster FCS + Rudder Control System"
|
||||
msgstr "SCV Thrustmaster + Système de commande de gouvernail"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "Manette(s) de jeu à 2 boutons"
|
||||
msgid "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "Manette de vol à 2 boutons"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "Manette de jeu à 2 boutons"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "Manette de vol à 4 boutons"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "Manette de vol à 2 boutons avec manette des gaz"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "Manette de vol à 4 boutons avec manette des gaz"
|
||||
|
||||
msgid "Win95 Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Volant Win95 (3 axes, 4 boutons)"
|
||||
msgid "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
|
||||
msgid "None"
|
||||
msgstr "Aucun"
|
||||
|
||||
@@ -603,9 +603,6 @@ msgstr "Kanal:"
|
||||
msgid "ID:"
|
||||
msgstr "ID:"
|
||||
|
||||
msgid "&Specify..."
|
||||
msgstr "&Odredi..."
|
||||
|
||||
msgid "Sectors:"
|
||||
msgstr "Sektori:"
|
||||
|
||||
@@ -852,9 +849,18 @@ msgstr "Nema PCap uređaja"
|
||||
msgid "Invalid PCap device"
|
||||
msgstr "Nevažeći PCap uređaj"
|
||||
|
||||
msgid "Generic Paddle Controller(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-axis, 1-button joystick(s)"
|
||||
msgstr "Palica za igru s 2 osi, 1 tipke"
|
||||
|
||||
msgid "2-axis, 2-button joystick(s)"
|
||||
msgstr "Palica za igru s 2 osi, 2 tipke"
|
||||
|
||||
msgid "2-axis, 3-button joystick"
|
||||
msgstr "Palica za igru s 2 osi, 3 tipke"
|
||||
|
||||
msgid "2-axis, 4-button joystick"
|
||||
msgstr "Palica za igru s 2 osi, 4 tipke"
|
||||
|
||||
@@ -867,18 +873,99 @@ msgstr "Palica za igru s 2 osi, 8 tipke"
|
||||
msgid "3-axis, 2-button joystick"
|
||||
msgstr "Palica za igru s 3 osi, 2 tipke"
|
||||
|
||||
msgid "3-axis, 3-button joystick"
|
||||
msgstr "Palica za igru s 3 osi, 3 tipke"
|
||||
|
||||
msgid "3-axis, 4-button joystick"
|
||||
msgstr "Palica za igru s 3 osi, 4 tipke"
|
||||
|
||||
msgid "4-axis, 2-button joystick"
|
||||
msgstr "Palica za igru s 4 osi, 2 tipke"
|
||||
|
||||
msgid "4-axis, 3-button joystick"
|
||||
msgstr "Palica za igru s 4 osi, 3 tipke"
|
||||
|
||||
msgid "4-axis, 4-button joystick"
|
||||
msgstr "Palica za igru s 4 osi, 4 tipke"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "Gamepad(ovi) s 2 tipke"
|
||||
|
||||
msgid "3-button gamepad"
|
||||
msgstr "Gamepad s 3 tipke"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "Gamepad s 4 tipke"
|
||||
|
||||
msgid "6-button gamepad"
|
||||
msgstr "Gamepad s 6 tipke"
|
||||
|
||||
msgid "Gravis PC GamePad"
|
||||
msgstr "Gravis PC GamePad"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "Jaram za letenje s 2 tipke"
|
||||
|
||||
msgid "3-button flight yoke"
|
||||
msgstr "Jaram za letenje s 3 tipke"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "Jaram za letenje s 4 tipke"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "Jaram za letenje s 2 tipke i gasom"
|
||||
|
||||
msgid "3-button flight yoke with throttle"
|
||||
msgstr "Jaram za letenje s 3 tipke i gasom"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "Jaram za letenje s 4 tipke i gasom"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 2-button)"
|
||||
msgstr "Volan (3 osi, 2 tipke)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 3-button)"
|
||||
msgstr "Volan (3 osi, 3 tipke)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Volan (3 osi, 4 tipke)"
|
||||
|
||||
msgid "CH Flightstick"
|
||||
msgstr "CH Flightstick"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals"
|
||||
msgstr "CH Flightstick + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals Pro"
|
||||
msgstr "CH Flightstick + CH Pedals Pro"
|
||||
|
||||
msgid "CH Flightstick Pro"
|
||||
msgstr "CH Flightstick Pro"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals"
|
||||
msgstr "CH Flightstick Pro + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals Pro"
|
||||
msgstr "CH Flightstick Pro + CH Pedals Pro"
|
||||
|
||||
msgid "CH Virtual Pilot"
|
||||
msgstr "CH Virtual Pilot"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals"
|
||||
msgstr "CH Virtual Pilot + CH Pedals"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot + CH Pedals Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro"
|
||||
msgstr "CH Virtual Pilot Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedals"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
|
||||
msgid "Microsoft SideWinder Pad"
|
||||
msgstr "Microsoft SideWinder Pad"
|
||||
|
||||
@@ -888,26 +975,11 @@ msgstr "Thrustmaster Flight Control System"
|
||||
msgid "Thrustmaster FCS + Rudder Control System"
|
||||
msgstr "Thrustmaster FCS + Rudder Control System"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "Gamepad(ovi) s 2 tipke"
|
||||
msgid "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "Jaram za letenje s 2 tipke"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "Gamepad s 4 tipke"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "Jaram za letenje s 4 tipke"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "Jaram za letenje s 2 tipke i gasom"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "Jaram za letenje s 4 tipke i gasom"
|
||||
|
||||
msgid "Win95 Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Volan Win95 (3 osi, 4 tipke)"
|
||||
msgid "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
|
||||
msgid "None"
|
||||
msgstr "Bez"
|
||||
@@ -1714,7 +1786,7 @@ msgid "Remove"
|
||||
msgstr "Ukloni"
|
||||
|
||||
msgid "Browse..."
|
||||
msgstr "Pregledajte..."
|
||||
msgstr "Pretraži..."
|
||||
|
||||
msgid "Couldn't create OpenGL context."
|
||||
msgstr "Nije moguće stvoriti kontekst OpenGL."
|
||||
|
||||
@@ -603,9 +603,6 @@ msgstr "Canale:"
|
||||
msgid "ID:"
|
||||
msgstr "ID:"
|
||||
|
||||
msgid "&Specify..."
|
||||
msgstr "&Specifica..."
|
||||
|
||||
msgid "Sectors:"
|
||||
msgstr "Settori:"
|
||||
|
||||
@@ -852,9 +849,18 @@ msgstr "Nessun dispositivo PCap trovato"
|
||||
msgid "Invalid PCap device"
|
||||
msgstr "Dispositivo PCap non valido"
|
||||
|
||||
msgid "Generic Paddle Controller(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-axis, 1-button joystick(s)"
|
||||
msgstr "Joystick a 2 assi, 1 pulsanti"
|
||||
|
||||
msgid "2-axis, 2-button joystick(s)"
|
||||
msgstr "Joystick a 2 assi, 2 pulsanti"
|
||||
|
||||
msgid "2-axis, 3-button joystick"
|
||||
msgstr "Joystick a 2 assi, 3 pulsanti"
|
||||
|
||||
msgid "2-axis, 4-button joystick"
|
||||
msgstr "Joystick a 2 assi, 4 pulsanti"
|
||||
|
||||
@@ -867,18 +873,99 @@ msgstr "Joystick a 2 assi, 8 pulsanti"
|
||||
msgid "3-axis, 2-button joystick"
|
||||
msgstr "Joystick a 3 assi, 2 pulsanti"
|
||||
|
||||
msgid "3-axis, 3-button joystick"
|
||||
msgstr "Joystick a 3 assi, 4 pulsanti"
|
||||
|
||||
msgid "3-axis, 4-button joystick"
|
||||
msgstr "Joystick a 3 assi, 4 pulsanti"
|
||||
|
||||
msgid "4-axis, 2-button joystick"
|
||||
msgstr "Joystick a 4 assi, 2 pulsanti"
|
||||
|
||||
msgid "4-axis, 3-button joystick"
|
||||
msgstr "Joystick a 4 assi, 3 pulsanti"
|
||||
|
||||
msgid "4-axis, 4-button joystick"
|
||||
msgstr "Joystick a 4 assi, 4 pulsanti"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "Gamepad a 2 pulsanti"
|
||||
|
||||
msgid "3-button gamepad"
|
||||
msgstr "Gamepad a 3 pulsanti"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "Gamepad a 4 pulsanti"
|
||||
|
||||
msgid "6-button gamepad"
|
||||
msgstr "Gamepad a 6 pulsanti"
|
||||
|
||||
msgid "Gravis PC GamePad"
|
||||
msgstr "Gravis PC GamePad"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "Barra di comando a 2 pulsanti"
|
||||
|
||||
msgid "3-button flight yoke"
|
||||
msgstr "Barra di comando a 3 pulsanti"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "Barra di comando a 4 pulsanti"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "Barra di comando a 2 pulsanti con acceleratore"
|
||||
|
||||
msgid "3-button flight yoke with throttle"
|
||||
msgstr "Barra di comando a 4 pulsanti con acceleratore"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "Barra di comando a 4 pulsanti con acceleratore"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 2-button)"
|
||||
msgstr "Volante (3 assi, 2 pulsanti)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 3-button)"
|
||||
msgstr "Volante (3 assi, 3 pulsanti)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Volante (3 assi, 4 pulsanti)"
|
||||
|
||||
msgid "CH Flightstick"
|
||||
msgstr "CH Flightstick"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals"
|
||||
msgstr "CH Flightstick + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals Pro"
|
||||
msgstr "CH Flightstick + CH Pedals Pro"
|
||||
|
||||
msgid "CH Flightstick Pro"
|
||||
msgstr "CH Flightstick Pro"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals"
|
||||
msgstr "CH Flightstick Pro + Pedali CH"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals Pro"
|
||||
msgstr "CH Flightstick Pro + CH Pedali Pro"
|
||||
|
||||
msgid "CH Virtual Pilot"
|
||||
msgstr "CH Virtual Pilot"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals"
|
||||
msgstr "CH Virtual Pilot + CH Pedali"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot + CH Pedali Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro"
|
||||
msgstr "CH Virtual Pilot Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedali"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedali Pro"
|
||||
|
||||
msgid "Microsoft SideWinder Pad"
|
||||
msgstr "Microsoft SideWinder"
|
||||
|
||||
@@ -888,26 +975,11 @@ msgstr "Sistema di controllo Thrustmaster Flight"
|
||||
msgid "Thrustmaster FCS + Rudder Control System"
|
||||
msgstr "Thrustmaster FCS + Sistema di controllo timone"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "Gamepad a 2 pulsanti"
|
||||
msgid "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "Barra di comando a 2 pulsanti"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "Gamepad a 4 pulsanti"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "Barra di comando a 4 pulsanti"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "Barra di comando a 2 pulsanti con acceleratore"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "Barra di comando a 4 pulsanti con acceleratore"
|
||||
|
||||
msgid "Win95 Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Volante Win95 (3 assi, 4 pulsanti)"
|
||||
msgid "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
|
||||
msgid "None"
|
||||
msgstr "Nessuno"
|
||||
|
||||
@@ -603,9 +603,6 @@ msgstr "チャンネル:"
|
||||
msgid "ID:"
|
||||
msgstr "ID:"
|
||||
|
||||
msgid "&Specify..."
|
||||
msgstr "参照(&S)..."
|
||||
|
||||
msgid "Sectors:"
|
||||
msgstr "セクター:"
|
||||
|
||||
@@ -852,9 +849,18 @@ msgstr "PCapデバイスがありません"
|
||||
msgid "Invalid PCap device"
|
||||
msgstr "不正なPCapデバイス"
|
||||
|
||||
msgid "Generic Paddle Controller(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-axis, 1-button joystick(s)"
|
||||
msgstr "ジョイスティック(2軸、1ボタン)"
|
||||
|
||||
msgid "2-axis, 2-button joystick(s)"
|
||||
msgstr "ジョイスティック(2軸、2ボタン)"
|
||||
|
||||
msgid "2-axis, 3-button joystick"
|
||||
msgstr "ジョイスティック(2軸、3ボタン)"
|
||||
|
||||
msgid "2-axis, 4-button joystick"
|
||||
msgstr "ジョイスティック(2軸、4ボタン)"
|
||||
|
||||
@@ -867,18 +873,99 @@ msgstr "ジョイスティック(2軸、8ボタン)"
|
||||
msgid "3-axis, 2-button joystick"
|
||||
msgstr "ジョイスティック(3軸、2ボタン)"
|
||||
|
||||
msgid "3-axis, 3-button joystick"
|
||||
msgstr "ジョイスティック(3軸、3ボタン)"
|
||||
|
||||
msgid "3-axis, 4-button joystick"
|
||||
msgstr "ジョイスティック(3軸、4ボタン)"
|
||||
|
||||
msgid "4-axis, 2-button joystick"
|
||||
msgstr "ジョイスティック(4軸、2ボタン)"
|
||||
|
||||
msgid "4-axis, 3-button joystick"
|
||||
msgstr "ジョイスティック(4軸、3ボタン)"
|
||||
|
||||
msgid "4-axis, 4-button joystick"
|
||||
msgstr "ジョイスティック(4軸、4ボタン)"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "2ボタン式ゲームパッド"
|
||||
|
||||
msgid "3-button gamepad"
|
||||
msgstr "3ボタン式ゲームパッド"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "4ボタン式ゲームパッド"
|
||||
|
||||
msgid "6-button gamepad"
|
||||
msgstr "6ボタン式ゲームパッド"
|
||||
|
||||
msgid "Gravis PC GamePad"
|
||||
msgstr "Gravis PC GamePad"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "2ボタン式操縦桿"
|
||||
|
||||
msgid "3-button flight yoke"
|
||||
msgstr "3ボタン式操縦桿"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "4ボタン式操縦桿"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "2ボタン式フライトヨーク(スロットル付き)"
|
||||
|
||||
msgid "3-button flight yoke with throttle"
|
||||
msgstr "3ボタン式フライトヨーク(スロットル付き)"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "4ボタン式フライトヨーク(スロットル付き)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 2-button)"
|
||||
msgstr "ステアリングホイール(3軸、2ボタン)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 3-button)"
|
||||
msgstr "ステアリングホイール(3軸、3ボタン)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "ステアリングホイール(3軸、4ボタン)"
|
||||
|
||||
msgid "CH Flightstick"
|
||||
msgstr "CH Flightstick"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals"
|
||||
msgstr "CH Flightstick + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals Pro"
|
||||
msgstr "CH Flightstick + CH Pedals Pro"
|
||||
|
||||
msgid "CH Flightstick Pro"
|
||||
msgstr "CH Flightstick Pro"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals"
|
||||
msgstr "CH Flightstick Pro + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals Pro"
|
||||
msgstr "CH Flightstick Pro + CH Pedals Pro"
|
||||
|
||||
msgid "CH Virtual Pilot"
|
||||
msgstr "CH Virtual Pilot"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals"
|
||||
msgstr "CH Virtual Pilot + CH Pedals"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot + CH Pedals Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro"
|
||||
msgstr "CH Virtual Pilot Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedals"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
|
||||
msgid "Microsoft SideWinder Pad"
|
||||
msgstr "Microsoft SideWinderパッド"
|
||||
|
||||
@@ -888,26 +975,11 @@ msgstr "Thrustmaster Flight Control System"
|
||||
msgid "Thrustmaster FCS + Rudder Control System"
|
||||
msgstr "Thrustmaster FCS + Rudder Control System"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "2ボタン式ゲームパッド"
|
||||
msgid "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "2ボタン式操縦桿"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "4ボタン式ゲームパッド"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "4ボタン式操縦桿"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "2ボタン式フライトヨーク(スロットル付き)"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "4ボタン式フライトヨーク(スロットル付き)"
|
||||
|
||||
msgid "Win95 Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Win95 ステアリングホイール(3軸、4ボタン)"
|
||||
msgid "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
|
||||
msgid "None"
|
||||
msgstr "なし"
|
||||
@@ -1714,7 +1786,7 @@ msgid "Remove"
|
||||
msgstr "削除"
|
||||
|
||||
msgid "Browse..."
|
||||
msgstr "ブラウズ..."
|
||||
msgstr "参照..."
|
||||
|
||||
msgid "Couldn't create OpenGL context."
|
||||
msgstr "OpenGLコンテキストを作成できませんでした。"
|
||||
|
||||
@@ -603,9 +603,6 @@ msgstr "채널:"
|
||||
msgid "ID:"
|
||||
msgstr "ID:"
|
||||
|
||||
msgid "&Specify..."
|
||||
msgstr "열기(&S)..."
|
||||
|
||||
msgid "Sectors:"
|
||||
msgstr "섹터:"
|
||||
|
||||
@@ -852,9 +849,18 @@ msgstr "PCap 장치가 없습니다"
|
||||
msgid "Invalid PCap device"
|
||||
msgstr "PCap 장치가 올바르지 않습니다"
|
||||
|
||||
msgid "Generic Paddle Controller(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-axis, 1-button joystick(s)"
|
||||
msgstr "2축, 1버튼 조이스틱"
|
||||
|
||||
msgid "2-axis, 2-button joystick(s)"
|
||||
msgstr "2축, 2버튼 조이스틱"
|
||||
|
||||
msgid "2-axis, 3-button joystick"
|
||||
msgstr "2축, 3버튼 조이스틱"
|
||||
|
||||
msgid "2-axis, 4-button joystick"
|
||||
msgstr "2축, 4버튼 조이스틱"
|
||||
|
||||
@@ -867,18 +873,99 @@ msgstr "2축, 8버튼 조이스틱"
|
||||
msgid "3-axis, 2-button joystick"
|
||||
msgstr "3축, 2버튼 조이스틱"
|
||||
|
||||
msgid "3-axis, 3-button joystick"
|
||||
msgstr "3축, 3버튼 조이스틱"
|
||||
|
||||
msgid "3-axis, 4-button joystick"
|
||||
msgstr "3축, 4버튼 조이스틱"
|
||||
|
||||
msgid "4-axis, 2-button joystick"
|
||||
msgstr "4축, 2버튼 조이스틱"
|
||||
|
||||
msgid "4-axis, 3-button joystick"
|
||||
msgstr "4축, 3버튼 조이스틱"
|
||||
|
||||
msgid "4-axis, 4-button joystick"
|
||||
msgstr "4축, 4버튼 조이스틱"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "2버튼 게임패드"
|
||||
|
||||
msgid "3-button gamepad"
|
||||
msgstr "3버튼 게임패드"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "4버튼 게임패드"
|
||||
|
||||
msgid "6-button gamepad"
|
||||
msgstr "6버튼 게임패드"
|
||||
|
||||
msgid "Gravis PC GamePad"
|
||||
msgstr "Gravis PC GamePad"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "2버튼 비행 조종간"
|
||||
|
||||
msgid "3-button flight yoke"
|
||||
msgstr "3버튼 비행 조종간"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "4버튼 비행 조종간"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "2버튼 비행 조종간과 스로틀"
|
||||
|
||||
msgid "3-button flight yoke with throttle"
|
||||
msgstr "3버튼 비행 조종간과 스로틀"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "4버튼 비행 조종간과 스로틀"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 2-button)"
|
||||
msgstr "조타륜 (3축, 2버튼)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 3-button)"
|
||||
msgstr "조타륜 (3축, 3버튼)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "조타륜 (3축, 4버튼)"
|
||||
|
||||
msgid "CH Flightstick"
|
||||
msgstr "CH Flightstick"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals"
|
||||
msgstr "CH Flightstick + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals Pro"
|
||||
msgstr "CH Flightstick + CH Pedals Pro"
|
||||
|
||||
msgid "CH Flightstick Pro"
|
||||
msgstr "CH Flightstick Pro"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals"
|
||||
msgstr "CH Flightstick Pro + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals Pro"
|
||||
msgstr "CH Flightstick Pro + CH Pedals Pro"
|
||||
|
||||
msgid "CH Virtual Pilot"
|
||||
msgstr "CH Virtual Pilot"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals"
|
||||
msgstr "CH Virtual Pilot + CH Pedals"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot + CH Pedals Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro"
|
||||
msgstr "CH Virtual Pilot Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedals"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
|
||||
msgid "Microsoft SideWinder Pad"
|
||||
msgstr "Microsoft SideWinder Pad"
|
||||
|
||||
@@ -888,26 +975,11 @@ msgstr "Thrustmaster Flight Control System"
|
||||
msgid "Thrustmaster FCS + Rudder Control System"
|
||||
msgstr "Thrustmaster FCS + Rudder Control System"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "2버튼 게임패드"
|
||||
msgid "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "2버튼 비행 조종간"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "4버튼 게임패드"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "4버튼 비행 조종간"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "2버튼 비행 조종간과 스로틀"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "4버튼 비행 조종간과 스로틀"
|
||||
|
||||
msgid "Win95 Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Win95 조타륜 (3축, 4버튼)"
|
||||
msgid "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
|
||||
msgid "None"
|
||||
msgstr "없음"
|
||||
|
||||
@@ -603,9 +603,6 @@ msgstr "Kanal:"
|
||||
msgid "ID:"
|
||||
msgstr "ID:"
|
||||
|
||||
msgid "&Specify..."
|
||||
msgstr "&Angi..."
|
||||
|
||||
msgid "Sectors:"
|
||||
msgstr "Sektorer:"
|
||||
|
||||
@@ -852,9 +849,18 @@ msgstr "Ingen PCap-enheter funnet"
|
||||
msgid "Invalid PCap device"
|
||||
msgstr "Ugyldig PCap-enhet"
|
||||
|
||||
msgid "Generic Paddle Controller(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-axis, 1-button joystick(s)"
|
||||
msgstr "2-akset, 1-knapps styrespak(er)"
|
||||
|
||||
msgid "2-axis, 2-button joystick(s)"
|
||||
msgstr "2-akset, 2-knapps styrespak(er)"
|
||||
|
||||
msgid "2-axis, 3-button joystick"
|
||||
msgstr "2-akset, 3-knapps styrespak"
|
||||
|
||||
msgid "2-axis, 4-button joystick"
|
||||
msgstr "2-akset, 4-knapps styrespak"
|
||||
|
||||
@@ -867,18 +873,99 @@ msgstr "2-akset, 8-knapps styrespak"
|
||||
msgid "3-axis, 2-button joystick"
|
||||
msgstr "3-akset, 2-knapps styrespak"
|
||||
|
||||
msgid "3-axis, 3-button joystick"
|
||||
msgstr "3-akset, 4-knapps styrespak"
|
||||
|
||||
msgid "3-axis, 4-button joystick"
|
||||
msgstr "3-akset, 4-knapps styrespak"
|
||||
|
||||
msgid "4-axis, 2-button joystick"
|
||||
msgstr "4-akset, 2-knapps styrespak"
|
||||
|
||||
msgid "4-axis, 3-button joystick"
|
||||
msgstr "4-akset, 3-knapps styrespak"
|
||||
|
||||
msgid "4-axis, 4-button joystick"
|
||||
msgstr "4-akset, 4-knapps styrespak"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "2-knapps gamepad(er)"
|
||||
|
||||
msgid "3-button gamepad"
|
||||
msgstr "3-knapps gamepad"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "4-knapps gamepad"
|
||||
|
||||
msgid "6-button gamepad"
|
||||
msgstr "6-knapps gamepad"
|
||||
|
||||
msgid "Gravis PC GamePad"
|
||||
msgstr "Gravis PC GamePad"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "2-knapps flystyre"
|
||||
|
||||
msgid "3-button flight yoke"
|
||||
msgstr "3-knapps flystyre"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "4-knapps flystyre"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "2-knapps flystyre med gass"
|
||||
|
||||
msgid "3-button flight yoke with throttle"
|
||||
msgstr "3-knapps flystyre med gass"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "4-knapps flystyre med gass"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 2-button)"
|
||||
msgstr "Ratt (3-akset, 3-knapps)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 3-button)"
|
||||
msgstr "Ratt (3-akset, 3-knapps)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Ratt (3-akset, 4-knapps)"
|
||||
|
||||
msgid "CH Flightstick"
|
||||
msgstr "CH Flightstick"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals"
|
||||
msgstr "CH Flightstick + CH Pedaler"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals Pro"
|
||||
msgstr "CH Flightstick + CH Pedaler Pro"
|
||||
|
||||
msgid "CH Flightstick Pro"
|
||||
msgstr "CH Flightstick Pro"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals"
|
||||
msgstr "CH Flightstick Pro + CH Pedaler"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals Pro"
|
||||
msgstr "CH Flightstick Pro + CH Pedaler Pro"
|
||||
|
||||
msgid "CH Virtual Pilot"
|
||||
msgstr "CH Virtual Pilot"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals"
|
||||
msgstr "CH Virtual Pilot + CH Pedaler"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot + CH Pedaler Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro"
|
||||
msgstr "CH Virtual Pilot Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedaler"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedaler Pro"
|
||||
|
||||
msgid "Microsoft SideWinder Pad"
|
||||
msgstr "Microsoft SideWinder Pad"
|
||||
|
||||
@@ -888,26 +975,11 @@ msgstr "Thrustmaster Flight Control System"
|
||||
msgid "Thrustmaster FCS + Rudder Control System"
|
||||
msgstr "Thrustmaster FCS + Ror-kontrollsystem"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "2-knapps gamepad(er)"
|
||||
msgid "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "2-knapps flystyre"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "4-knapps gamepad"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "4-knapps flystyre"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "2-knapps flystyre med gass"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "4-knapps flystyre med gass"
|
||||
|
||||
msgid "Win95 Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Win95 Ratt (3-akset, 4-knapps)"
|
||||
msgid "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
|
||||
msgid "None"
|
||||
msgstr "Ingen"
|
||||
|
||||
@@ -43,7 +43,7 @@ msgid "&Hide status bar"
|
||||
msgstr "&Statusbalk verbergen"
|
||||
|
||||
msgid "Hide &toolbar"
|
||||
msgstr "Verberg &toolbar"
|
||||
msgstr "&Toolbar verbergen"
|
||||
|
||||
msgid "&Resizeable window"
|
||||
msgstr "&Venster met aanpasbare grootte"
|
||||
@@ -109,7 +109,7 @@ msgid "Fi<er method"
|
||||
msgstr "Filtermethode"
|
||||
|
||||
msgid "&Nearest"
|
||||
msgstr "&Dichtsbijzijnde"
|
||||
msgstr "&Dichtstbijzijnde"
|
||||
|
||||
msgid "&Linear"
|
||||
msgstr "&Lineair"
|
||||
@@ -220,7 +220,7 @@ msgid "Begin trace"
|
||||
msgstr "Begin traceren"
|
||||
|
||||
msgid "End trace"
|
||||
msgstr "Traceren beëindigen"
|
||||
msgstr "Beëindig traceren"
|
||||
|
||||
msgid "&Help"
|
||||
msgstr "&Help"
|
||||
@@ -232,19 +232,19 @@ msgid "&About 86Box..."
|
||||
msgstr "&Over 86Box..."
|
||||
|
||||
msgid "&New image..."
|
||||
msgstr "&Nieuw image..."
|
||||
msgstr "&Nieuw imagebestand..."
|
||||
|
||||
msgid "&Existing image..."
|
||||
msgstr "&Bestaande image..."
|
||||
msgstr "&Bestaande imagebestand..."
|
||||
|
||||
msgid "Existing image (&Write-protected)..."
|
||||
msgstr "Bestaande image (&Schrijfbeveiligd)..."
|
||||
msgstr "Bestaand imagebestand (&Schrijfbeveiligd)..."
|
||||
|
||||
msgid "&Record"
|
||||
msgstr "&Opnemen"
|
||||
|
||||
msgid "&Play"
|
||||
msgstr "&Play"
|
||||
msgstr "&Afspelen"
|
||||
|
||||
msgid "&Rewind to the beginning"
|
||||
msgstr "&Terugspoelen naar het begin"
|
||||
@@ -256,19 +256,19 @@ msgid "E&ject"
|
||||
msgstr "&Uitwerpen"
|
||||
|
||||
msgid "&Image..."
|
||||
msgstr "&Image..."
|
||||
msgstr "&Imagebestand..."
|
||||
|
||||
msgid "E&xport to 86F..."
|
||||
msgstr "E&xporteer naar 86F..."
|
||||
|
||||
msgid "&Mute"
|
||||
msgstr "&Mute"
|
||||
msgstr "&Dempen"
|
||||
|
||||
msgid "E&mpty"
|
||||
msgstr "E&mpty"
|
||||
msgstr "&Leeg"
|
||||
|
||||
msgid "Reload previous image"
|
||||
msgstr "Herlaad vorige image"
|
||||
msgstr "Herlaad vorig imagebestand"
|
||||
|
||||
msgid "&Folder..."
|
||||
msgstr "&Map..."
|
||||
@@ -301,7 +301,7 @@ msgid "&Select shader..."
|
||||
msgstr "&Selecteer shader..."
|
||||
|
||||
msgid "&Remove shader"
|
||||
msgstr "&Remove shader"
|
||||
msgstr "&Verwijder shader"
|
||||
|
||||
msgid "Preferences"
|
||||
msgstr "Voorkeuren"
|
||||
@@ -310,7 +310,7 @@ msgid "Sound Gain"
|
||||
msgstr "Geluidsversterking"
|
||||
|
||||
msgid "New Image"
|
||||
msgstr "Nieuw image"
|
||||
msgstr "Nieuw imagebestand"
|
||||
|
||||
msgid "Settings"
|
||||
msgstr "Instellingen"
|
||||
@@ -343,7 +343,7 @@ msgid "RPM mode:"
|
||||
msgstr "RPM-modus:"
|
||||
|
||||
msgid "Progress:"
|
||||
msgstr "Vooruitgang:"
|
||||
msgstr "Voortgang:"
|
||||
|
||||
msgid "Width:"
|
||||
msgstr "Breedte:"
|
||||
@@ -352,7 +352,7 @@ msgid "Height:"
|
||||
msgstr "Hoogte:"
|
||||
|
||||
msgid "Lock to this size"
|
||||
msgstr "Leg vast op deze grootte"
|
||||
msgstr "Vergrendel deze grootte"
|
||||
|
||||
msgid "Machine type:"
|
||||
msgstr "Machinetype:"
|
||||
@@ -403,10 +403,10 @@ msgid "Dynamic Recompiler"
|
||||
msgstr "Dynamische Recompiler"
|
||||
|
||||
msgid "CPU frame size"
|
||||
msgstr "CPU frame grootte"
|
||||
msgstr "CPU framegrootte"
|
||||
|
||||
msgid "Larger frames (less smooth)"
|
||||
msgstr "Groter frames (minder vloeiend)"
|
||||
msgstr "Grotere frames (minder vloeiend)"
|
||||
|
||||
msgid "Smaller frames (smoother)"
|
||||
msgstr "Kleinere frames (vloeiender)"
|
||||
@@ -430,7 +430,7 @@ msgid "IBM PS/55 Display Adapter Graphics"
|
||||
msgstr "IBM PS/55 Display Adapter Graphics"
|
||||
|
||||
msgid "Keyboard:"
|
||||
msgstr "Toetsenbord"
|
||||
msgstr "Toetsenbord:"
|
||||
|
||||
msgid "Keyboard"
|
||||
msgstr "Toetsenbord"
|
||||
@@ -472,13 +472,13 @@ msgid "Sound card #4:"
|
||||
msgstr "Geluidskaart #4:"
|
||||
|
||||
msgid "MIDI Out Device:"
|
||||
msgstr "MIDI Out-apparaat:"
|
||||
msgstr "MIDI Uitvoerapparaat:"
|
||||
|
||||
msgid "MIDI In Device:"
|
||||
msgstr "MIDI In-apparaat:"
|
||||
msgstr "MIDI Invoerapparaat:"
|
||||
|
||||
msgid "MIDI Out:"
|
||||
msgstr "Midi Out:"
|
||||
msgstr "Midi Uit:"
|
||||
|
||||
msgid "Standalone MPU-401"
|
||||
msgstr "Standalone MPU-401"
|
||||
@@ -603,9 +603,6 @@ msgstr "Kanaal:"
|
||||
msgid "ID:"
|
||||
msgstr "ID:"
|
||||
|
||||
msgid "&Specify..."
|
||||
msgstr "&Specificeer..."
|
||||
|
||||
msgid "Sectors:"
|
||||
msgstr "Sectoren:"
|
||||
|
||||
@@ -649,7 +646,7 @@ msgid "Removable disks:"
|
||||
msgstr "Verwisselbare schijven:"
|
||||
|
||||
msgid "Removable disk drives:"
|
||||
msgstr "Verwisselbare schijfstations"
|
||||
msgstr "Verwisselbare schijfstations:"
|
||||
|
||||
msgid "ZIP 250"
|
||||
msgstr "ZIP 250"
|
||||
@@ -712,13 +709,13 @@ msgid "&Removable disk %1 (%2): %3"
|
||||
msgstr "&Verwijderbare schijf %1 (%2): %3"
|
||||
|
||||
msgid "Removable disk images"
|
||||
msgstr "Verwijderbare schijf image"
|
||||
msgstr "Verwijderbaar schijfimagebestand"
|
||||
|
||||
msgid "Image %1"
|
||||
msgstr "Image %1"
|
||||
|
||||
msgid "86Box could not find any usable ROM images.\n\nPlease <a href=\"https://github.com/86Box/roms/releases/latest\">download</a> a ROM set and extract it into the \"roms\" directory."
|
||||
msgstr "86Box kon geen bruikbare ROM images vinden.\n\n<a href=\"https://github.com/86Box/roms/releases/latest\">Download</a> een ROM set en pak deze uit in de map \"roms\"."
|
||||
msgstr "86Box kon geen bruikbare ROM imagebestanden vinden.\n\n<a href=\"https://github.com/86Box/roms/releases/latest\">Download</a> een ROM set en pak deze uit in de map \"roms\"."
|
||||
|
||||
msgid "(empty)"
|
||||
msgstr "(leeg)"
|
||||
@@ -814,7 +811,7 @@ msgid "Click to capture mouse"
|
||||
msgstr "Klik om muis vast te leggen"
|
||||
|
||||
msgid "Press %1 to release mouse"
|
||||
msgstr "Druk op %1 om de muis los te laten"
|
||||
msgstr "Druk op %1 om de muis vrij te geven"
|
||||
|
||||
msgid "Press %1 or middle button to release mouse"
|
||||
msgstr "Druk op %1 of middelste knop om de muis los te laten"
|
||||
@@ -852,9 +849,18 @@ msgstr "Geen PCap-apparaten gevonden"
|
||||
msgid "Invalid PCap device"
|
||||
msgstr "Ongeldig PCap-apparaat"
|
||||
|
||||
msgid "Generic Paddle Controller(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-axis, 1-button joystick(s)"
|
||||
msgstr "Joystick(s) met 2 assen en 1 knoppen"
|
||||
|
||||
msgid "2-axis, 2-button joystick(s)"
|
||||
msgstr "Joystick(s) met 2 assen en 2 knoppen"
|
||||
|
||||
msgid "2-axis, 3-button joystick"
|
||||
msgstr "Joystick met 2 assen en 3 knoppen"
|
||||
|
||||
msgid "2-axis, 4-button joystick"
|
||||
msgstr "Joystick met 2 assen en 4 knoppen"
|
||||
|
||||
@@ -867,18 +873,99 @@ msgstr "Joystick met 2 assen en 8 knoppen"
|
||||
msgid "3-axis, 2-button joystick"
|
||||
msgstr "Joystick met 3 assen en 2 knoppen"
|
||||
|
||||
msgid "3-axis, 3-button joystick"
|
||||
msgstr "Joystick met 3 assen en 3 knoppen"
|
||||
|
||||
msgid "3-axis, 4-button joystick"
|
||||
msgstr "Joystick met 3 assen en 4 knoppen"
|
||||
|
||||
msgid "4-axis, 2-button joystick"
|
||||
msgstr "Joystick met 4 assen en 2 knoppen"
|
||||
|
||||
msgid "4-axis, 3-button joystick"
|
||||
msgstr "Joystick met 4 assen en 3 knoppen"
|
||||
|
||||
msgid "4-axis, 4-button joystick"
|
||||
msgstr "Joystick met 4 assen en 4 knoppen"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "2-knops gamepad(s)"
|
||||
|
||||
msgid "3-button gamepad"
|
||||
msgstr "3-knops gamepad"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "4-knops gamepad"
|
||||
|
||||
msgid "6-button gamepad"
|
||||
msgstr "6-knops gamepad"
|
||||
|
||||
msgid "Gravis PC GamePad"
|
||||
msgstr "Gravis PC GamePad"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "2-knops stuurknuppel"
|
||||
|
||||
msgid "3-button flight yoke"
|
||||
msgstr "3-knops stuurknuppel"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "4-knops stuurknuppel"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "2-kops stuurknuppel met gashendel "
|
||||
|
||||
msgid "3-button flight yoke with throttle"
|
||||
msgstr "3-kops stuurknuppel met gashendel"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "4-kops stuurknuppel met gashendel"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 2-button)"
|
||||
msgstr "Stuurwiel (3 assen, 2 knoppen)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 3-button)"
|
||||
msgstr "Stuurwiel (3 assen, 3 knoppen)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Stuurwiel (3 assen, 4 knoppen)"
|
||||
|
||||
msgid "CH Flightstick"
|
||||
msgstr "CH Flightstick"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals"
|
||||
msgstr "CH Flightstick + CH Pedalen"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals Pro"
|
||||
msgstr "CH Flightstick + CH Pedalen Pro"
|
||||
|
||||
msgid "CH Flightstick Pro"
|
||||
msgstr "CH Flightstick Pro"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals"
|
||||
msgstr "CH Flightstick Pro + CH Pedalen"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals Pro"
|
||||
msgstr "CH Flightstick Pro + CH Pedalen Pro"
|
||||
|
||||
msgid "CH Virtual Pilot"
|
||||
msgstr "CH Virtual Pilot"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals"
|
||||
msgstr "CH Virtual Pilot + CH Pedalen"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot + CH Pedalen Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro"
|
||||
msgstr "CH Virtual Pilot Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedalen"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedalen Pro"
|
||||
|
||||
msgid "Microsoft SideWinder Pad"
|
||||
msgstr "Microsoft SideWinder Pad"
|
||||
|
||||
@@ -888,26 +975,11 @@ msgstr "Thrustmaster Flight Control systeem"
|
||||
msgid "Thrustmaster FCS + Rudder Control System"
|
||||
msgstr "Thrustmaster FCS + Roer Control Systeem"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "2-knops gamepad(s)"
|
||||
msgid "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "2-knops stuurknuppel"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "4-knops gamepad"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "4-knops stuurknuppel"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "2-kops stuurknuppel met gashendel "
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "2-kops stuurknuppel met gashendel"
|
||||
|
||||
msgid "Win95 Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Win95 Stuurwiel (3 assen, 4 knoppen)"
|
||||
msgid "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
|
||||
msgid "None"
|
||||
msgstr "Geen"
|
||||
@@ -973,7 +1045,7 @@ msgid "Do you want to save the settings?"
|
||||
msgstr "Wil je de instellingen opslaan?"
|
||||
|
||||
msgid "This will hard reset the emulated machine."
|
||||
msgstr "Dit zal de geëmuleerde machine een hard reset geven."
|
||||
msgstr "Dit zal de geëmuleerde machine een harde reset geven."
|
||||
|
||||
msgid "Save"
|
||||
msgstr "Opslaan"
|
||||
@@ -1054,10 +1126,10 @@ msgid "Cartridge images"
|
||||
msgstr "Cartridge-images"
|
||||
|
||||
msgid "Resume execution"
|
||||
msgstr "Hervat executie"
|
||||
msgstr "Hervat uitvoering"
|
||||
|
||||
msgid "Pause execution"
|
||||
msgstr "Pauze executie"
|
||||
msgstr "Pauzeer uitvoering"
|
||||
|
||||
msgid "Ctrl+Alt+Del"
|
||||
msgstr "Ctrl+Alt+Del"
|
||||
@@ -1084,7 +1156,7 @@ msgid "&Start"
|
||||
msgstr "&Start"
|
||||
|
||||
msgid "Not running"
|
||||
msgstr "Niet actied"
|
||||
msgstr "Niet actief"
|
||||
|
||||
msgid "Running"
|
||||
msgstr "Actief"
|
||||
@@ -1093,10 +1165,10 @@ msgid "Paused"
|
||||
msgstr "Gepauzeerd"
|
||||
|
||||
msgid "Waiting"
|
||||
msgstr "aan het wachtend"
|
||||
msgstr "Aan het wachten"
|
||||
|
||||
msgid "Powered Off"
|
||||
msgstr "Sluit af"
|
||||
msgstr "Uitgeschakeld"
|
||||
|
||||
msgid "%n running"
|
||||
msgstr "%n actief"
|
||||
@@ -1126,7 +1198,7 @@ msgid "86Box configuration files (86box.cfg)"
|
||||
msgstr "86Box configuratiebestanden (86box.cfg)"
|
||||
|
||||
msgid "Configuration read failed"
|
||||
msgstr "Lezen configuratie mislukt"
|
||||
msgstr "Lezen van configuratie mislukt"
|
||||
|
||||
msgid "Unable to open the selected configuration file for reading: %1"
|
||||
msgstr "Openen van geselecteerd configuratiebestand voor lezen niet mogelijk: %1"
|
||||
@@ -1138,7 +1210,7 @@ msgid "%1 machine(s) are currently active. Are you sure you want to exit the VM
|
||||
msgstr "%1 machine(s) zijn nu actief. Weet je zeker dat je de VM manager wil afsluiten?"
|
||||
|
||||
msgid "Add new system wizard"
|
||||
msgstr "Assistent voor toevoegen van nieuw systeem"
|
||||
msgstr "Wizard toevoegen van nieuw systeem"
|
||||
|
||||
msgid "Introduction"
|
||||
msgstr "Introductie"
|
||||
@@ -1186,13 +1258,13 @@ msgid "Directory does not exist"
|
||||
msgstr "Map bestaat niet"
|
||||
|
||||
msgid "A new directory for the system will be created in the selected directory above"
|
||||
msgstr "Een nieuwe map voor het systeem wordt aangemaakt in de boven geselecteerde map"
|
||||
msgstr "Een nieuwe map voor het systeem wordt aangemaakt in de hierboven geselecteerde map"
|
||||
|
||||
msgid "System location:"
|
||||
msgstr "Systeemlocatie:"
|
||||
|
||||
msgid "System name and location"
|
||||
msgstr "Systeemnaam en -locatie"
|
||||
msgstr "Systeemnaam en locatie"
|
||||
|
||||
msgid "Enter the name of the system and choose the location"
|
||||
msgstr "Voer de naam in van het systeem en kies een locatie"
|
||||
@@ -1252,7 +1324,7 @@ msgid "Failed to create directory for cloned VM"
|
||||
msgstr "Map aanmaken voor gekloonde VM mislukt"
|
||||
|
||||
msgid "Failed to clone VM."
|
||||
msgstr "Kolen van VM mislukt."
|
||||
msgstr "Klonen van VM mislukt."
|
||||
|
||||
msgid "Directory in use"
|
||||
msgstr "Map in gebruik"
|
||||
@@ -1303,7 +1375,7 @@ msgid "&Kill"
|
||||
msgstr "&Gedwongen beëindigen"
|
||||
|
||||
msgid "Killing a virtual machine can cause data loss. Only do this if the 86Box process gets stuck.\n\nDo you really wish to kill the virtual machine \"%1\"?"
|
||||
msgstr "Gedwongen beëindiging van een virtuele machine kan dataverlies veroorzaken. Doe dit alleen wanneer het 86Box process is vast gelopen.\n\nWeet je zeker dat je de virtuele machine \"%1\" wil beëindigen?"
|
||||
msgstr "Gedwongen beëindiging van een virtuele machine kan dataverlies veroorzaken. Doe dit alleen wanneer het 86Box-proces is vast gelopen.\n\nWeet je zeker dat je de virtuele machine \"%1\" wil beëindigen?"
|
||||
|
||||
msgid "&Delete"
|
||||
msgstr "&Verwijderen"
|
||||
@@ -1345,10 +1417,10 @@ msgid "Audio:"
|
||||
msgstr "Audio:"
|
||||
|
||||
msgid "ACPI shutdown"
|
||||
msgstr "ACPI uitschakeling"
|
||||
msgstr "ACPI-uitschakeling"
|
||||
|
||||
msgid "ACP&I shutdown"
|
||||
msgstr "ACP&I uitschakeling"
|
||||
msgstr "ACP&I-uitschakeling"
|
||||
|
||||
msgid "Hard disk (%1)"
|
||||
msgstr "Harde schijf (%1)"
|
||||
@@ -1375,7 +1447,7 @@ msgid "Disk images cannot be larger than 127 GB."
|
||||
msgstr "Schijfimages kunnen niet groter zijn dan 127 GB."
|
||||
|
||||
msgid "Hard disk images"
|
||||
msgstr "Harde schijf-image"
|
||||
msgstr "Harde schijf-images"
|
||||
|
||||
msgid "Unable to read file"
|
||||
msgstr "Kan bestand niet lezen"
|
||||
@@ -1384,7 +1456,7 @@ msgid "Unable to write file"
|
||||
msgstr "Kan bestand niet schrijven"
|
||||
|
||||
msgid "HDI or HDX images with a sector size other than 512 are not supported."
|
||||
msgstr "HDI- of HDX-image met een andere sectorgrootte dan 512 worden niet ondersteund."
|
||||
msgstr "HDI- of HDX-images met een andere sectorgrootte dan 512 worden niet ondersteund."
|
||||
|
||||
msgid "Disk image file already exists"
|
||||
msgstr "Schijfimagebestand bestaat al"
|
||||
@@ -1432,7 +1504,7 @@ msgid "Fixed-size VHD"
|
||||
msgstr "VHD met vaste grootte"
|
||||
|
||||
msgid "Dynamic-size VHD"
|
||||
msgstr "VHD met dynamisch grootte"
|
||||
msgstr "VHD met dynamische grootte"
|
||||
|
||||
msgid "Differencing VHD"
|
||||
msgstr "Verschil-VHD"
|
||||
@@ -1453,7 +1525,7 @@ msgid "Fixed-size VHD (.vhd)"
|
||||
msgstr "VHD met vaste grootte (.vhd)"
|
||||
|
||||
msgid "Dynamic-size VHD (.vhd)"
|
||||
msgstr "VHD met dynamisch grootte (.vhd)"
|
||||
msgstr "VHD met dynamische grootte (.vhd)"
|
||||
|
||||
msgid "Differencing VHD (.vhd)"
|
||||
msgstr "Verschil-VHD (.vhd)"
|
||||
@@ -1639,7 +1711,7 @@ msgid "List of MCA devices:"
|
||||
msgstr "Lijst van MCA-apparaten:"
|
||||
|
||||
msgid "&Tablet tool"
|
||||
msgstr "Tablet-hulpmiddel"
|
||||
msgstr "&Tablet-hulpmiddel"
|
||||
|
||||
msgid "About &Qt"
|
||||
msgstr "Over &Qt"
|
||||
@@ -1648,10 +1720,10 @@ msgid "&MCA devices..."
|
||||
msgstr "MCA-apparaten..."
|
||||
|
||||
msgid "Show non-&primary monitors"
|
||||
msgstr "Toon niet-primaire monitors"
|
||||
msgstr "Toon niet-primaire beeldschermen"
|
||||
|
||||
msgid "Open screenshots &folder..."
|
||||
msgstr "Map met schermafbeeldingen openen..."
|
||||
msgstr "&Map met schermafbeeldingen openen..."
|
||||
|
||||
msgid "Appl&y fullscreen stretch mode when maximized"
|
||||
msgstr "Schakel de volledig scherm-uitrekmodus in bij maximaliseren"
|
||||
@@ -1663,7 +1735,7 @@ msgid "&Pen"
|
||||
msgstr "&Pen"
|
||||
|
||||
msgid "&Host CD/DVD Drive (%1:)"
|
||||
msgstr "&Host cd/dvd-station (%1:)"
|
||||
msgstr "&Host CD/DVD-station (%1:)"
|
||||
|
||||
msgid "&Connected"
|
||||
msgstr "&Verbonden"
|
||||
@@ -1672,7 +1744,7 @@ msgid "Clear image &history"
|
||||
msgstr "Imagegeschiedenis verwijderen(&H)"
|
||||
|
||||
msgid "Create..."
|
||||
msgstr "Creëer..."
|
||||
msgstr "Aanmaken..."
|
||||
|
||||
msgid "Host CD/DVD Drive (%1)"
|
||||
msgstr "Host CD/DVD-station (%1)"
|
||||
@@ -1717,10 +1789,10 @@ msgid "Browse..."
|
||||
msgstr "Bladeren..."
|
||||
|
||||
msgid "Couldn't create OpenGL context."
|
||||
msgstr "Kan OpenGL context niet aanmaken."
|
||||
msgstr "Kan OpenGL-context niet aanmaken."
|
||||
|
||||
msgid "Couldn't switch to OpenGL context."
|
||||
msgstr "Kan niet overschakelen naar OpenGL context."
|
||||
msgstr "Kan niet overschakelen naar OpenGL-context."
|
||||
|
||||
msgid "OpenGL version 3.0 or greater is required. Current version is %1.%2"
|
||||
msgstr "OpenGL versie 3.0 of hoger is vereist. De huidige versie is %1.%2"
|
||||
@@ -1783,7 +1855,7 @@ msgid "VDE Socket:"
|
||||
msgstr "VDE-socket:"
|
||||
|
||||
msgid "86Box Unit Tester"
|
||||
msgstr "86Box apparaattester"
|
||||
msgstr "86Box Apparaattester"
|
||||
|
||||
msgid "Novell NetWare 2.x Key Card"
|
||||
msgstr "Novell NetWare 2.x Key Card"
|
||||
@@ -1855,7 +1927,7 @@ msgid "Default Baud rate"
|
||||
msgstr "Standaard baudrate"
|
||||
|
||||
msgid "[COM] Standard Hayes-compliant Modem"
|
||||
msgstr "COM] Standaard Hayes-compatibele modem "
|
||||
msgstr "[COM] Standaard Hayes-compatibele modem "
|
||||
|
||||
msgid "Roland MT-32 Emulation"
|
||||
msgstr "Roland MT-32-emulatie"
|
||||
@@ -1939,7 +2011,7 @@ msgid "Parallel port IRQ"
|
||||
msgstr "Parallelle poort IRQ"
|
||||
|
||||
msgid "BIOS Revision"
|
||||
msgstr "BIOS Revisie"
|
||||
msgstr "BIOS-Revisie"
|
||||
|
||||
msgid "BIOS Version"
|
||||
msgstr "BIOS-versie"
|
||||
@@ -2557,16 +2629,16 @@ msgid "Apply overscan deltas"
|
||||
msgstr "Overscan-delta’s toepassen"
|
||||
|
||||
msgid "Mono Interlaced"
|
||||
msgstr "Mono geïnterlaced "
|
||||
msgstr "Mono Interlaced "
|
||||
|
||||
msgid "Mono Non-Interlaced"
|
||||
msgstr "Mono niet geïnterlaced"
|
||||
msgstr "Mono Niet-Interlaced"
|
||||
|
||||
msgid "Color Interlaced"
|
||||
msgstr "Kleur interlaced"
|
||||
msgstr "Kleur Interlaced"
|
||||
|
||||
msgid "Color Non-Interlaced"
|
||||
msgstr "Kleur niet geïnterlaced"
|
||||
msgstr "Kleur Niet-Interlaced"
|
||||
|
||||
msgid "3Dfx Voodoo Graphics"
|
||||
msgstr "3Dfx Voodoo Graphics"
|
||||
@@ -2653,7 +2725,7 @@ msgid "E&ject %1"
|
||||
msgstr "&Uitwerpen %1"
|
||||
|
||||
msgid "&Unmute"
|
||||
msgstr "&Geluid aanzetten"
|
||||
msgstr "&Dempen opheffen"
|
||||
|
||||
msgid "Softfloat FPU"
|
||||
msgstr "Softfloat FPU"
|
||||
@@ -2779,7 +2851,7 @@ msgid "Keybind"
|
||||
msgstr "Toetskoppeling"
|
||||
|
||||
msgid "Clear binding"
|
||||
msgstr "Wis koppelinh"
|
||||
msgstr "Wis koppeling"
|
||||
|
||||
msgid "Bind"
|
||||
msgstr "Koppel"
|
||||
@@ -2794,7 +2866,7 @@ msgid "Bind conflict"
|
||||
msgstr "Koppelconflict"
|
||||
|
||||
msgid "This key combo is already in use."
|
||||
msgstr "Deze toetsencombinatie is al in gebruik"
|
||||
msgstr "Deze toetsencombinatie is al in gebruik."
|
||||
|
||||
msgid "Send Control+Alt+Del"
|
||||
msgstr "Stuur Control+Alt+Del"
|
||||
@@ -2812,7 +2884,7 @@ msgid "Release mouse pointer"
|
||||
msgstr "Geef muis vrij"
|
||||
|
||||
msgid "Toggle pause"
|
||||
msgstr "Pause omschakelen"
|
||||
msgstr "Pauzeren omschakelen"
|
||||
|
||||
msgid "Toggle mute"
|
||||
msgstr "Geluiddemping omschakelen"
|
||||
@@ -2833,13 +2905,13 @@ msgid "Remote Switch"
|
||||
msgstr "Externe Switch"
|
||||
|
||||
msgid "Switch:"
|
||||
msgstr "Switch"
|
||||
msgstr "Switch:"
|
||||
|
||||
msgid "Hub Mode"
|
||||
msgstr "Hub-modus"
|
||||
|
||||
msgid "Hostname:"
|
||||
msgstr "Hostname"
|
||||
msgstr "Hostnaam"
|
||||
|
||||
msgid "ISA RAM:"
|
||||
msgstr "ISA RAM:"
|
||||
@@ -2863,10 +2935,10 @@ msgid "An error occurred trying to wipe the NVRAM contents of the virtual machin
|
||||
msgstr "Fout bij Wissen van NVRAM-inhoud van de virtuele machine \"%1\""
|
||||
|
||||
msgid "%1 VM Manager"
|
||||
msgstr "%1 VM Manager"
|
||||
msgstr "%1 VM Beheerder"
|
||||
|
||||
msgid "%n disk(s)"
|
||||
msgstr "%n schijf(en)"
|
||||
msgstr "%n schijf/schijven"
|
||||
|
||||
msgid "Unknown Status"
|
||||
msgstr "Onbekende Status"
|
||||
@@ -2875,7 +2947,7 @@ msgid "No Machines Found!"
|
||||
msgstr "Geen Machines Gevonden!"
|
||||
|
||||
msgid "Check for updates on startup"
|
||||
msgstr "Controleer op updates bij start"
|
||||
msgstr "Controleer op updates bij starten"
|
||||
|
||||
msgid "Unable to determine release information"
|
||||
msgstr "Kan release-informatie niet bepalen"
|
||||
|
||||
@@ -603,9 +603,6 @@ msgstr "Kanał:"
|
||||
msgid "ID:"
|
||||
msgstr "ID:"
|
||||
|
||||
msgid "&Specify..."
|
||||
msgstr "&Określ..."
|
||||
|
||||
msgid "Sectors:"
|
||||
msgstr "Sektory:"
|
||||
|
||||
@@ -852,9 +849,18 @@ msgstr "Nie znaleziono urządzeń PCap"
|
||||
msgid "Invalid PCap device"
|
||||
msgstr "Nieprawidłowe urządzenie PCap"
|
||||
|
||||
msgid "Generic Paddle Controller(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-axis, 1-button joystick(s)"
|
||||
msgstr "Joysticki 2-osiowe, 1-przyciskowe"
|
||||
|
||||
msgid "2-axis, 2-button joystick(s)"
|
||||
msgstr "Joysticki 2-osiowe, 2-przyciskowe"
|
||||
|
||||
msgid "2-axis, 3-button joystick"
|
||||
msgstr "Joystick 2-osiowy, 3-przyciskowy"
|
||||
|
||||
msgid "2-axis, 4-button joystick"
|
||||
msgstr "Joystick 2-osiowy, 4-przyciskowy"
|
||||
|
||||
@@ -867,18 +873,99 @@ msgstr "Joystick 2-osiowy, 8-przyciskowy"
|
||||
msgid "3-axis, 2-button joystick"
|
||||
msgstr "Joystick 3-osiowy, 2-przyciskowy"
|
||||
|
||||
msgid "3-axis, 3-button joystick"
|
||||
msgstr "Joystick 3-osiowy, 2-przyciskowy"
|
||||
|
||||
msgid "3-axis, 4-button joystick"
|
||||
msgstr "Joystick 3-osiowy, 4-przyciskowy"
|
||||
|
||||
msgid "4-axis, 2-button joystick"
|
||||
msgstr "Joystick 4-osiowy, 2-przyciskowy"
|
||||
|
||||
msgid "4-axis, 3-button joystick"
|
||||
msgstr "Joystick 4-osiowy, 3-przyciskowy"
|
||||
|
||||
msgid "4-axis, 4-button joystick"
|
||||
msgstr "Joystick 4-osiowy, 4-przyciskowy"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "Pad(y) z dwoma przyciskami"
|
||||
|
||||
msgid "3-button gamepad"
|
||||
msgstr "Pad z trzy przyciskami"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "Pad z czterema przyciskami"
|
||||
|
||||
msgid "6-button gamepad"
|
||||
msgstr "Pad z sześć przyciskami"
|
||||
|
||||
msgid "Gravis PC GamePad"
|
||||
msgstr "Gravis PC GamePad"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "Wolant z dwoma przyciskami"
|
||||
|
||||
msgid "3-button flight yoke"
|
||||
msgstr "Wolant z trzema guzikami"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "Wolant z czterema przyciskami"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "Wolant z dwoma przyciskami i przepustnicą"
|
||||
|
||||
msgid "3-button flight yoke with throttle"
|
||||
msgstr "Wolant z trzema przyciskami i przepustnicą"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "Wolant z czterema przyciskami i przepustnicą"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 2-button)"
|
||||
msgstr "Kierownica (3 osie, 2 przyciski)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 3-button)"
|
||||
msgstr "Kierownica (3 osie, 3 przyciski)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Kierownica (3 osie, 4 przyciski)"
|
||||
|
||||
msgid "CH Flightstick"
|
||||
msgstr "CH Flightstick"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals"
|
||||
msgstr "CH Flightstick + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals Pro"
|
||||
msgstr "CH Flightstick + CH Pedals Pro"
|
||||
|
||||
msgid "CH Flightstick Pro"
|
||||
msgstr "CH Flightstick Pro"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals"
|
||||
msgstr "CH Flightstick Pro + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals Pro"
|
||||
msgstr "CH Flightstick Pro + CH Pedals Pro"
|
||||
|
||||
msgid "CH Virtual Pilot"
|
||||
msgstr "CH Virtual Pilot"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals"
|
||||
msgstr "CH Virtual Pilot + CH Pedals"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot + CH Pedals Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro"
|
||||
msgstr "CH Virtual Pilot Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedals"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
|
||||
msgid "Microsoft SideWinder Pad"
|
||||
msgstr "Microsoft SideWinder Pad"
|
||||
|
||||
@@ -888,26 +975,11 @@ msgstr "Thrustmaster Flight Control System"
|
||||
msgid "Thrustmaster FCS + Rudder Control System"
|
||||
msgstr "Thrustmaster FCS + Rudder Control System"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "Pad(y) z dwoma przyciskami"
|
||||
msgid "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "Wolant z dwoma przyciskami"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "Pad z czterema przyciskami"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "Wolant z czterema przyciskami"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "Wolant z dwoma przyciskami i przepustnicą"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "Wolant z czterema przyciskami i przepustnicą"
|
||||
|
||||
msgid "Win95 Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Kierownica Win95 (3 osie, 4 przyciski)"
|
||||
msgid "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
|
||||
msgid "None"
|
||||
msgstr "Żaden"
|
||||
|
||||
@@ -603,9 +603,6 @@ msgstr "Canal:"
|
||||
msgid "ID:"
|
||||
msgstr "ID:"
|
||||
|
||||
msgid "&Specify..."
|
||||
msgstr "&Especificar..."
|
||||
|
||||
msgid "Sectors:"
|
||||
msgstr "Setores:"
|
||||
|
||||
@@ -852,9 +849,18 @@ msgstr "Nenhum dispositivo PCap encontrado"
|
||||
msgid "Invalid PCap device"
|
||||
msgstr "Dispositivo PCap inválido"
|
||||
|
||||
msgid "Generic Paddle Controller(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-axis, 1-button joystick(s)"
|
||||
msgstr "Joystick(s) de 2 eixos, 1 botões"
|
||||
|
||||
msgid "2-axis, 2-button joystick(s)"
|
||||
msgstr "Joystick(s) de 2 eixos, 2 botões"
|
||||
|
||||
msgid "2-axis, 3-button joystick"
|
||||
msgstr "Joystick de 2 eixos, 3 botões"
|
||||
|
||||
msgid "2-axis, 4-button joystick"
|
||||
msgstr "Joystick de 2 eixos, 4 botões"
|
||||
|
||||
@@ -867,18 +873,99 @@ msgstr "Joystick de 2 eixos, 8 botões"
|
||||
msgid "3-axis, 2-button joystick"
|
||||
msgstr "Joystick de 3 eixos, 2 botões"
|
||||
|
||||
msgid "3-axis, 3-button joystick"
|
||||
msgstr "Joystick de 3 eixos, 3 botões"
|
||||
|
||||
msgid "3-axis, 4-button joystick"
|
||||
msgstr "Joystick de 3 eixos, 4 botões"
|
||||
|
||||
msgid "4-axis, 2-button joystick"
|
||||
msgstr "Joystick de 4 eixos, 2 botões"
|
||||
|
||||
msgid "4-axis, 3-button joystick"
|
||||
msgstr "Joystick de 4 eixos, 3 botões"
|
||||
|
||||
msgid "4-axis, 4-button joystick"
|
||||
msgstr "Joystick de 4 eixos, 4 botões"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "Gamepad(s) de 2 botões"
|
||||
|
||||
msgid "3-button gamepad"
|
||||
msgstr "Gamepad de 3 botões"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "Gamepad de 4 botões"
|
||||
|
||||
msgid "6-button gamepad"
|
||||
msgstr "Gamepad de 6 botões"
|
||||
|
||||
msgid "Gravis PC GamePad"
|
||||
msgstr "Gravis PC GamePad"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "Manche de voo de 2 botões"
|
||||
|
||||
msgid "3-button flight yoke"
|
||||
msgstr "Manche de voo de 3 botões"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "Manche de voo de 4 botões"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "Manche de voo de 2 botões com acelerador"
|
||||
|
||||
msgid "3-button flight yoke with throttle"
|
||||
msgstr "Manche de voo de 3 botões com acelerador"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "Manche de voo de 4 botões com acelerador"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 2-button)"
|
||||
msgstr "Volante (3 eixos, 2 botões)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 3-button)"
|
||||
msgstr "Volante (3 eixos, 3 botões)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Volante (3 eixos, 4 botões)"
|
||||
|
||||
msgid "CH Flightstick"
|
||||
msgstr "CH Flightstick"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals"
|
||||
msgstr "CH Flightstick + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals Pro"
|
||||
msgstr "CH Flightstick + CH Pedals Pro"
|
||||
|
||||
msgid "CH Flightstick Pro"
|
||||
msgstr "CH Flightstick Pro"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals"
|
||||
msgstr "CH Flightstick Pro + Pedais CH"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals Pro"
|
||||
msgstr "CH Flightstick Pro + Pedais CH Pro"
|
||||
|
||||
msgid "CH Virtual Pilot"
|
||||
msgstr "CH Virtual Pilot"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals"
|
||||
msgstr "CH Virtual Pilot + Pedais CH"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot + Pedais CH Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro"
|
||||
msgstr "CH Virtual Pilot Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals"
|
||||
msgstr "CH Virtual Pilot Pro + Pedais CH"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot Pro + Pedais CH Pro"
|
||||
|
||||
msgid "Microsoft SideWinder Pad"
|
||||
msgstr "Microsoft SideWinder Pad"
|
||||
|
||||
@@ -888,26 +975,11 @@ msgstr "Sistema de Controle de Voo Thrustmaster"
|
||||
msgid "Thrustmaster FCS + Rudder Control System"
|
||||
msgstr "SCV Thrustmaster + Sistema de Controle de Leme"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "Gamepad(s) de 2 botões"
|
||||
msgid "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "Manche de voo de 2 botões"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "Gamepad de 4 botões"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "Manche de voo de 4 botões"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "Manche de voo de 2 botões com acelerador"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "Manche de voo de 4 botões com acelerador"
|
||||
|
||||
msgid "Win95 Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Volante Win95 (3 eixos, 4 botões)"
|
||||
msgid "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
|
||||
msgid "None"
|
||||
msgstr "Nenhum"
|
||||
|
||||
@@ -603,9 +603,6 @@ msgstr "Canal:"
|
||||
msgid "ID:"
|
||||
msgstr "ID:"
|
||||
|
||||
msgid "&Specify..."
|
||||
msgstr "&Especificar..."
|
||||
|
||||
msgid "Sectors:"
|
||||
msgstr "Sectores:"
|
||||
|
||||
@@ -852,9 +849,18 @@ msgstr "Não foi encontrado um dispositivo PCap"
|
||||
msgid "Invalid PCap device"
|
||||
msgstr "Dispositivo PCap inválido"
|
||||
|
||||
msgid "Generic Paddle Controller(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-axis, 1-button joystick(s)"
|
||||
msgstr "Joystick(s) de 2 eixos, 1 botões"
|
||||
|
||||
msgid "2-axis, 2-button joystick(s)"
|
||||
msgstr "Joystick(s) de 2 eixos, 2 botões"
|
||||
|
||||
msgid "2-axis, 3-button joystick"
|
||||
msgstr "Joystick de 2 eixos, 3 botões"
|
||||
|
||||
msgid "2-axis, 4-button joystick"
|
||||
msgstr "Joystick de 2 eixos, 4 botões"
|
||||
|
||||
@@ -867,18 +873,99 @@ msgstr "Joystick de 2 eixos, 8 botões"
|
||||
msgid "3-axis, 2-button joystick"
|
||||
msgstr "Joystick de 3 eixos, 2 botões"
|
||||
|
||||
msgid "3-axis, 3-button joystick"
|
||||
msgstr "Joystick de 3 eixos, 3 botões"
|
||||
|
||||
msgid "3-axis, 4-button joystick"
|
||||
msgstr "Joystick de 3 eixos, 4 botões"
|
||||
|
||||
msgid "4-axis, 2-button joystick"
|
||||
msgstr "Joystick de 4 eixos, 2 botões"
|
||||
|
||||
msgid "4-axis, 3-button joystick"
|
||||
msgstr "Joystick de 4 eixos, 3 botões"
|
||||
|
||||
msgid "4-axis, 4-button joystick"
|
||||
msgstr "Joystick de 4 eixos, 4 botões"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "Manípulo(s) de jogos de 2 botões"
|
||||
|
||||
msgid "3-button gamepad"
|
||||
msgstr "Manípulo(s) de jogos de 3 botões"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "Manípulo(s) de jogos de 4 botões"
|
||||
|
||||
msgid "6-button gamepad"
|
||||
msgstr "Manípulo(s) de jogos de 6 botões"
|
||||
|
||||
msgid "Gravis PC GamePad"
|
||||
msgstr "Gravis PC GamePad"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "Manípulo de voo de 2 botões"
|
||||
|
||||
msgid "3-button flight yoke"
|
||||
msgstr "Manípulo de voo de 2 botões"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "Manípulo de voo de 4 botões"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "Manípulo de voo de 2 botões com acelerador"
|
||||
|
||||
msgid "3-button flight yoke with throttle"
|
||||
msgstr "Manípulo de voo de 3 botões com acelerador"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "Manípulo de voo de 4 botões com acelerador"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 2-button)"
|
||||
msgstr "Volante (de 3 eixos, 2 botões)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 3-button)"
|
||||
msgstr "Volante (de 3 eixos, 3 botões)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Volante (de 3 eixos, 4 botões)"
|
||||
|
||||
msgid "CH Flightstick"
|
||||
msgstr "CH Flightstick"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals"
|
||||
msgstr "CH Flightstick + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals Pro"
|
||||
msgstr "CH Flightstick + CH Pedals Pro"
|
||||
|
||||
msgid "CH Flightstick Pro"
|
||||
msgstr "CH Flightstick Pro"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals"
|
||||
msgstr "CH Flightstick Pro + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals Pro"
|
||||
msgstr "CH Flightstick Pro + CH Pedals Pro"
|
||||
|
||||
msgid "CH Virtual Pilot"
|
||||
msgstr "CH Virtual Pilot"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals"
|
||||
msgstr "CH Virtual Pilot + CH Pedals"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot + CH Pedals Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro"
|
||||
msgstr "CH Virtual Pilot Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedals"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
|
||||
msgid "Microsoft SideWinder Pad"
|
||||
msgstr "Microsoft SideWinder Pad"
|
||||
|
||||
@@ -888,26 +975,11 @@ msgstr "Thrustmaster Flight Control System"
|
||||
msgid "Thrustmaster FCS + Rudder Control System"
|
||||
msgstr "Thrustmaster FCS + Rudder Control System"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "Manípulo(s) de jogos de 2 botões"
|
||||
msgid "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "Manípulo de voo de 2 botões"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "Manípulo(s) de jogos de 4 botões"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "Manípulo de voo de 4 botões"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "Manípulo de voo de 2 botões com acelerador"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "Manípulo de voo de 4 botões com acelerador"
|
||||
|
||||
msgid "Win95 Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Volante Win95 (de 3 eixos, 4 botões)"
|
||||
msgid "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
|
||||
msgid "None"
|
||||
msgstr "Nenhum"
|
||||
|
||||
@@ -603,9 +603,6 @@ msgstr "Канал:"
|
||||
msgid "ID:"
|
||||
msgstr "ID:"
|
||||
|
||||
msgid "&Specify..."
|
||||
msgstr "&Указать..."
|
||||
|
||||
msgid "Sectors:"
|
||||
msgstr "Секторы:"
|
||||
|
||||
@@ -852,9 +849,18 @@ msgstr "Устройства PCap не найдены"
|
||||
msgid "Invalid PCap device"
|
||||
msgstr "Неверное устройство PCap"
|
||||
|
||||
msgid "Generic Paddle Controller(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-axis, 1-button joystick(s)"
|
||||
msgstr "2-осевой, 1-кнопочный джойстик"
|
||||
|
||||
msgid "2-axis, 2-button joystick(s)"
|
||||
msgstr "2-осевой, 2-кнопочный джойстик"
|
||||
|
||||
msgid "2-axis, 3-button joystick"
|
||||
msgstr "2-осевой, 3-кнопочный джойстик"
|
||||
|
||||
msgid "2-axis, 4-button joystick"
|
||||
msgstr "2-осевой, 4-кнопочный джойстик"
|
||||
|
||||
@@ -867,18 +873,99 @@ msgstr "2-осевой, 8-кнопочный джойстик"
|
||||
msgid "3-axis, 2-button joystick"
|
||||
msgstr "3-осевой, 2-кнопочный джойстик"
|
||||
|
||||
msgid "3-axis, 3-button joystick"
|
||||
msgstr "3-осевой, 3-кнопочный джойстик"
|
||||
|
||||
msgid "3-axis, 4-button joystick"
|
||||
msgstr "3-осевой, 4-кнопочный джойстик"
|
||||
|
||||
msgid "4-axis, 2-button joystick"
|
||||
msgstr "4-осевой, 2-кнопочный джойстик"
|
||||
|
||||
msgid "4-axis, 3-button joystick"
|
||||
msgstr "4-осевой, 3-кнопочный джойстик"
|
||||
|
||||
msgid "4-axis, 4-button joystick"
|
||||
msgstr "4-осевой, 4-кнопочный джойстик"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "2-кнопочный геймпад"
|
||||
|
||||
msgid "3-button gamepad"
|
||||
msgstr "3-кнопочный геймпад"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "4-кнопочный геймпад"
|
||||
|
||||
msgid "6-button gamepad"
|
||||
msgstr "6-кнопочный геймпад"
|
||||
|
||||
msgid "Gravis PC GamePad"
|
||||
msgstr "Gravis PC GamePad"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "2-кнопочный flight yoke"
|
||||
|
||||
msgid "3-button flight yoke"
|
||||
msgstr "3-кнопочный flight yoke"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "4-кнопочный flight yoke"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "2-кнопочный flight yoke с дросселем"
|
||||
|
||||
msgid "3-button flight yoke with throttle"
|
||||
msgstr "3-кнопочный flight yoke с дросселем"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "4-кнопочный flight yoke с дросселем"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 2-button)"
|
||||
msgstr "Руль (3-осевой, 2-кнопочный)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 3-button)"
|
||||
msgstr "Руль (3-осевой, 3-кнопочный)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Руль (3-осевой, 4-кнопочный)"
|
||||
|
||||
msgid "CH Flightstick"
|
||||
msgstr "CH Flightstick"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals"
|
||||
msgstr "CH Flightstick + CH Педали"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals Pro"
|
||||
msgstr "CH Flightstick + CH Педали Pro"
|
||||
|
||||
msgid "CH Flightstick Pro"
|
||||
msgstr "CH Flightstick Pro"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals"
|
||||
msgstr "CH Flightstick Pro + CH Педали"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals Pro"
|
||||
msgstr "CH Flightstick Pro + CH Педали Pro"
|
||||
|
||||
msgid "CH Virtual Pilot"
|
||||
msgstr "CH Virtual Pilot"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals"
|
||||
msgstr "CH Virtual Pilot + CH Педали"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot + CH Педали Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro"
|
||||
msgstr "CH Virtual Pilot Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals"
|
||||
msgstr "CH Virtual Pilot Pro + CH Педали"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot Pro + CH Педали Pro"
|
||||
|
||||
msgid "Microsoft SideWinder Pad"
|
||||
msgstr "Microsoft SideWinder Pad"
|
||||
|
||||
@@ -888,26 +975,11 @@ msgstr "Система управления полётом Thrustmaster"
|
||||
msgid "Thrustmaster FCS + Rudder Control System"
|
||||
msgstr "Thrustmaster FCS + Система управления рулем"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "2-кнопочный геймпад"
|
||||
msgid "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "2-кнопочный flight yoke"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "4-кнопочный геймпад"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "4-кнопочный flight yoke"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "2-кнопочный flight yoke с дросселем"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "4-кнопочный flight yoke с дросселем"
|
||||
|
||||
msgid "Win95 Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Руль Win95 (3-осевой, 4-кнопочный)"
|
||||
msgid "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
|
||||
msgid "None"
|
||||
msgstr "Нет"
|
||||
|
||||
@@ -603,9 +603,6 @@ msgstr "Kanál:"
|
||||
msgid "ID:"
|
||||
msgstr "ID:"
|
||||
|
||||
msgid "&Specify..."
|
||||
msgstr "&Zadať..."
|
||||
|
||||
msgid "Sectors:"
|
||||
msgstr "Sektory:"
|
||||
|
||||
@@ -852,9 +849,18 @@ msgstr "Neboli nájdené žiadne PCap zariadenia"
|
||||
msgid "Invalid PCap device"
|
||||
msgstr "Neplatné PCap zariadenie"
|
||||
|
||||
msgid "Generic Paddle Controller(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-axis, 1-button joystick(s)"
|
||||
msgstr "2-osový, 1-tlačidlový joystick"
|
||||
|
||||
msgid "2-axis, 2-button joystick(s)"
|
||||
msgstr "2-osový, 2-tlačidlový joystick"
|
||||
|
||||
msgid "2-axis, 3-button joystick"
|
||||
msgstr "2-osový, 4-tlačidlový joystick"
|
||||
|
||||
msgid "2-axis, 4-button joystick"
|
||||
msgstr "2-osový, 4-tlačidlový joystick"
|
||||
|
||||
@@ -867,18 +873,99 @@ msgstr "2-osový, 8-tlačidlový joystick"
|
||||
msgid "3-axis, 2-button joystick"
|
||||
msgstr "3-osový, 2-tlačidlový joystick"
|
||||
|
||||
msgid "3-axis, 3-button joystick"
|
||||
msgstr "3-osový, 3-tlačidlový joystick"
|
||||
|
||||
msgid "3-axis, 4-button joystick"
|
||||
msgstr "3-osový, 4-tlačidlový joystick"
|
||||
|
||||
msgid "4-axis, 2-button joystick"
|
||||
msgstr "4-osový, 2-tlačidlový joystick"
|
||||
|
||||
msgid "4-axis, 3-button joystick"
|
||||
msgstr "4-osový, 3-tlačidlový joystick"
|
||||
|
||||
msgid "4-axis, 4-button joystick"
|
||||
msgstr "4-osový, 4-tlačidlový joystick"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "Ovládač s 2 tlačidlami"
|
||||
|
||||
msgid "3-button gamepad"
|
||||
msgstr "Ovládač so 3 tlačidlami"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "Ovládač so 4 tlačidlami"
|
||||
|
||||
msgid "6-button gamepad"
|
||||
msgstr "Ovládač so 6 tlačidlami"
|
||||
|
||||
msgid "Gravis PC GamePad"
|
||||
msgstr "Gravis PC GamePad"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "Letecký knipl s 2 tlačidlami"
|
||||
|
||||
msgid "3-button flight yoke"
|
||||
msgstr "Letecký knipl s 3 tlačidlami"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "Letecký knipl so 4 tlačidlami"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "Letecký knipl s 2 tlačidlami a pákou"
|
||||
|
||||
msgid "3-button flight yoke with throttle"
|
||||
msgstr "Letecký knipl s 3 tlačidlami a pákou"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "Letecký knipl s 4 tlačidlami a pákou"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 2-button)"
|
||||
msgstr "Volant (3 osy, 2 tlačítka)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 3-button)"
|
||||
msgstr "Volant (3 osy, 3 tlačítka)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Volant (3 osy, 4 tlačítka)"
|
||||
|
||||
msgid "CH Flightstick"
|
||||
msgstr "CH Flightstick"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals"
|
||||
msgstr "CH Flightstick + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals Pro"
|
||||
msgstr "CH Flightstick + CH Pedals Pro"
|
||||
|
||||
msgid "CH Flightstick Pro"
|
||||
msgstr "CH Flightstick Pro"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals"
|
||||
msgstr "CH Flightstick Pro + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals Pro"
|
||||
msgstr "CH Flightstick Pro + CH Pedals Pro"
|
||||
|
||||
msgid "CH Virtual Pilot"
|
||||
msgstr "CH Virtual Pilot"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals"
|
||||
msgstr "CH Virtual Pilot + CH Pedals"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot + CH Pedals Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro"
|
||||
msgstr "CH Virtual Pilot Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedals"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
|
||||
msgid "Microsoft SideWinder Pad"
|
||||
msgstr "Microsoft SideWinder Pad"
|
||||
|
||||
@@ -888,26 +975,11 @@ msgstr "Thrustmaster Flight Control System"
|
||||
msgid "Thrustmaster FCS + Rudder Control System"
|
||||
msgstr "Thrustmaster FCS + Rudder Control System"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "Ovládač s 2 tlačidlami"
|
||||
msgid "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "Letecký knipl s 2 tlačidlami"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "Ovládač so 4 tlačidlami"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "Letecký knipl so 4 tlačidlami"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "Letecký knipl s 2 tlačidlami a pákou"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "Letecký knipl s 4 tlačidlami a pákou"
|
||||
|
||||
msgid "Win95 Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Volant pre Windows 95 (3 osy, 4 tlačítka)"
|
||||
msgid "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
|
||||
msgid "None"
|
||||
msgstr "Žiadne"
|
||||
|
||||
@@ -603,9 +603,6 @@ msgstr "Kanal:"
|
||||
msgid "ID:"
|
||||
msgstr "ID:"
|
||||
|
||||
msgid "&Specify..."
|
||||
msgstr "&Določi..."
|
||||
|
||||
msgid "Sectors:"
|
||||
msgstr "Sektorji:"
|
||||
|
||||
@@ -852,9 +849,18 @@ msgstr "Najdena ni bila nobena naprava PCap"
|
||||
msgid "Invalid PCap device"
|
||||
msgstr "Neveljavna naprava PCap"
|
||||
|
||||
msgid "Generic Paddle Controller(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-axis, 1-button joystick(s)"
|
||||
msgstr "Igralna palica z 2 osema, 1 gumboma"
|
||||
|
||||
msgid "2-axis, 2-button joystick(s)"
|
||||
msgstr "Igralna palica z 2 osema, 2 gumboma"
|
||||
|
||||
msgid "2-axis, 3-button joystick"
|
||||
msgstr "Igralna palica z 2 osema, 3 gumbi"
|
||||
|
||||
msgid "2-axis, 4-button joystick"
|
||||
msgstr "Igralna palica z 2 osema, 4 gumbi"
|
||||
|
||||
@@ -865,20 +871,101 @@ msgid "2-axis, 8-button joystick"
|
||||
msgstr "Igralna palica z 2 osema, 8 gumbi"
|
||||
|
||||
msgid "3-axis, 2-button joystick"
|
||||
msgstr "Igralna palica s 3 osmi, 2 gumboma"
|
||||
msgstr "Igralna palica s 3 osmi, 2 gumbi"
|
||||
|
||||
msgid "3-axis, 3-button joystick"
|
||||
msgstr "Igralna palica s 3 osmi, 3 gumbi"
|
||||
|
||||
msgid "3-axis, 4-button joystick"
|
||||
msgstr "Igralna palica s 3 osmi, 4 gumbi"
|
||||
|
||||
msgid "4-axis, 2-button joystick"
|
||||
msgstr "Igralna palica s 4 osmi, 2 gumbi"
|
||||
|
||||
msgid "4-axis, 3-button joystick"
|
||||
msgstr "Igralna palica s 4 osmi, 3 gumbi"
|
||||
|
||||
msgid "4-axis, 4-button joystick"
|
||||
msgstr "Igralna palica s 4 osmi, 4 gumbi"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "Igralna ploščica z 2 gumboma"
|
||||
|
||||
msgid "3-button gamepad"
|
||||
msgstr "Igralna ploščica s 3 gumbi"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "Igralna ploščica s 4 gumbi"
|
||||
|
||||
msgid "6-button gamepad"
|
||||
msgstr "Igralna ploščica s 6 gumbi"
|
||||
|
||||
msgid "Gravis PC GamePad"
|
||||
msgstr "Gravis PC GamePad"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "Letalski krmilni drog z 2 gumbi"
|
||||
|
||||
msgid "3-button flight yoke"
|
||||
msgstr "Letalski krmilni drog z 3 gumbi"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "Letalski krmilni drog s 4 gumbi"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "Letalski krmilni drog z 2 gumbi gumboma ročico za plin"
|
||||
|
||||
msgid "3-button flight yoke with throttle"
|
||||
msgstr "Letalski krmilni drog s 3 gumbi z ročico za plin"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "Letalski krmilni drog s 4 gumbi z ročico za plin"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 2-button)"
|
||||
msgstr "Volan s 3 osmi, 2 gumbi"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 3-button)"
|
||||
msgstr "Volan s 3 osmi, 3 gumbi"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Volan s 3 osmi, 4 gumbi"
|
||||
|
||||
msgid "CH Flightstick"
|
||||
msgstr "CH Flightstick"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals"
|
||||
msgstr "CH Flightstick + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals Pro"
|
||||
msgstr "CH Flightstick + CH Pedals Pro"
|
||||
|
||||
msgid "CH Flightstick Pro"
|
||||
msgstr "CH Flightstick Pro"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals"
|
||||
msgstr "CH Flightstick Pro + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals Pro"
|
||||
msgstr "CH Flightstick Pro + CH Pedals Pro"
|
||||
|
||||
msgid "CH Virtual Pilot"
|
||||
msgstr "CH Virtual Pilot"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals"
|
||||
msgstr "CH Virtual Pilot + CH Pedals"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot + CH Pedals Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro"
|
||||
msgstr "CH Virtual Pilot Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedals"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
|
||||
msgid "Microsoft SideWinder Pad"
|
||||
msgstr "Microsoft SideWinder Pad"
|
||||
|
||||
@@ -888,26 +975,11 @@ msgstr "Thrustmaster Flight Control System"
|
||||
msgid "Thrustmaster FCS + Rudder Control System"
|
||||
msgstr "Thrustmaster FCS + Rudder Control System"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "Igralna ploščica z 2 gumboma"
|
||||
msgid "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "Letalski krmilni drog z 2 gumbi"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "Igralna ploščica s 4 gumbi"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "Letalski krmilni drog s 4 gumbi"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "Letalski krmilni drog z 2 gumbi gumboma ročico za plin"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "Letalski krmilni drog s 4 gumbi z ročico za plin"
|
||||
|
||||
msgid "Win95 Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Volan Win95 s 3 osmi, 4 gumbi"
|
||||
msgid "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
|
||||
msgid "None"
|
||||
msgstr "Brez"
|
||||
|
||||
@@ -603,9 +603,6 @@ msgstr "Kanal:"
|
||||
msgid "ID:"
|
||||
msgstr "ID:"
|
||||
|
||||
msgid "&Specify..."
|
||||
msgstr "&Specificera..."
|
||||
|
||||
msgid "Sectors:"
|
||||
msgstr "Sektorer:"
|
||||
|
||||
@@ -852,9 +849,18 @@ msgstr "Inga PCap-enheter hittade"
|
||||
msgid "Invalid PCap device"
|
||||
msgstr "Ogiltig PCap-enhet"
|
||||
|
||||
msgid "Generic Paddle Controller(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-axis, 1-button joystick(s)"
|
||||
msgstr "Styrspak med 2 axlar och 1 knappar"
|
||||
|
||||
msgid "2-axis, 2-button joystick(s)"
|
||||
msgstr "Styrspak med 2 axlar och 2 knappar"
|
||||
|
||||
msgid "2-axis, 3-button joystick"
|
||||
msgstr "Styrspak med 2 axlar och 3 knappar"
|
||||
|
||||
msgid "2-axis, 4-button joystick"
|
||||
msgstr "Styrspak med 2 axlar och 4 knappar"
|
||||
|
||||
@@ -867,18 +873,99 @@ msgstr "Styrspak med 2 axlar och 8 knappar"
|
||||
msgid "3-axis, 2-button joystick"
|
||||
msgstr "Styrspak med 3 axlar och 2 knappar"
|
||||
|
||||
msgid "3-axis, 3-button joystick"
|
||||
msgstr "Styrspak med 3 axlar och 2 knappar"
|
||||
|
||||
msgid "3-axis, 4-button joystick"
|
||||
msgstr "Styrspak med 3 axlar och 4 knappar"
|
||||
|
||||
msgid "4-axis, 2-button joystick"
|
||||
msgstr "Styrspak med 4 axlar och 2 knappar"
|
||||
|
||||
msgid "4-axis, 3-button joystick"
|
||||
msgstr "Styrspak med 4 axlar och 3 knappar"
|
||||
|
||||
msgid "4-axis, 4-button joystick"
|
||||
msgstr "Styrspak med 4 axlar och 4 knappar"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "Handkontroll(er) med två knappar"
|
||||
|
||||
msgid "3-button gamepad"
|
||||
msgstr "Handkontroll med tre knappar"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "Handkontroll med fyra knappar"
|
||||
|
||||
msgid "6-button gamepad"
|
||||
msgstr "Handkontroll med sex knappar"
|
||||
|
||||
msgid "Gravis PC GamePad"
|
||||
msgstr "Gravis PC GamePad"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "Styrspak med två knappar"
|
||||
|
||||
msgid "3-button flight yoke"
|
||||
msgstr "Styrspak med tre knappar"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "Styrspak med fyra knappar"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "Styrspak med två knappar och gas"
|
||||
|
||||
msgid "3-button flight yoke with throttle"
|
||||
msgstr "Styrspak med tre knappar och gas"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "Styrspak med fyra knappar och gas"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 2-button)"
|
||||
msgstr "ratt (tre axlar, två knappar)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 3-button)"
|
||||
msgstr "ratt (tre axlar, tre knappar)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "ratt (tre axlar, fyra knappar)"
|
||||
|
||||
msgid "CH Flightstick"
|
||||
msgstr "CH Flightstick"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals"
|
||||
msgstr "CH Flightstick + CH-pedaler"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals Pro"
|
||||
msgstr "CH Flightstick + CH-pedaler Pro"
|
||||
|
||||
msgid "CH Flightstick Pro"
|
||||
msgstr "CH Flightstick Pro"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals"
|
||||
msgstr "CH Flightstick Pro + CH-pedaler"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals Pro"
|
||||
msgstr "CH Flightstick Pro + CH-pedaler Pro"
|
||||
|
||||
msgid "CH Virtual Pilot"
|
||||
msgstr "CH Virtual Pilot"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals"
|
||||
msgstr "CH Virtual Pilot + CH-pedaler"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot + CH-pedaler Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro"
|
||||
msgstr "CH Virtual Pilot Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals"
|
||||
msgstr "CH Virtual Pilot Pro + CH-pedaler"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot Pro + CH-pedaler Pro"
|
||||
|
||||
msgid "Microsoft SideWinder Pad"
|
||||
msgstr "Microsoft SideWinder Pad"
|
||||
|
||||
@@ -888,26 +975,11 @@ msgstr "Thrustmaster Flight Control System"
|
||||
msgid "Thrustmaster FCS + Rudder Control System"
|
||||
msgstr "Thrustmaster FCS + Rudder Control System"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "Handkontroll(er) med två knappar"
|
||||
msgid "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "Styrspak med två knappar"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "Handkontroll med fyra knappar"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "Styrspak med fyra knappar"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "Styrspak med två knappar och gas"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "Styrspak med fyra knappar och gas"
|
||||
|
||||
msgid "Win95 Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Win95-ratt (tre axlar, fyra knappar)"
|
||||
msgid "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
|
||||
msgid "None"
|
||||
msgstr "Ingen"
|
||||
|
||||
@@ -603,9 +603,6 @@ msgstr "Kanal:"
|
||||
msgid "ID:"
|
||||
msgstr "ID:"
|
||||
|
||||
msgid "&Specify..."
|
||||
msgstr "&Belirle..."
|
||||
|
||||
msgid "Sectors:"
|
||||
msgstr "Sektörler:"
|
||||
|
||||
@@ -852,9 +849,18 @@ msgstr "Herhangi bir PCap cihazı bulunamadı"
|
||||
msgid "Invalid PCap device"
|
||||
msgstr "Geçersiz PCap cihazı"
|
||||
|
||||
msgid "Generic Paddle Controller(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-axis, 1-button joystick(s)"
|
||||
msgstr "2 eksenli, 1 düğmeli oyun kolları"
|
||||
|
||||
msgid "2-axis, 2-button joystick(s)"
|
||||
msgstr "2 eksenli, 2 düğmeli oyun kolları"
|
||||
|
||||
msgid "2-axis, 3-button joystick"
|
||||
msgstr "2 eksenli, 3 düğmeli oyun kolu"
|
||||
|
||||
msgid "2-axis, 4-button joystick"
|
||||
msgstr "2 eksenli, 4 düğmeli oyun kolu"
|
||||
|
||||
@@ -867,18 +873,99 @@ msgstr "2 eksenli, 8 düğmeli oyun kolu"
|
||||
msgid "3-axis, 2-button joystick"
|
||||
msgstr "3 eksenli, 2 düğmeli oyun kollu"
|
||||
|
||||
msgid "3-axis, 3-button joystick"
|
||||
msgstr "3 eksenli, 3 düğmeli oyun kolu"
|
||||
|
||||
msgid "3-axis, 4-button joystick"
|
||||
msgstr "3 eksenli, 4 düğmeli oyun kolu"
|
||||
|
||||
msgid "4-axis, 2-button joystick"
|
||||
msgstr "4 eksenli, 2 düğmeli oyun kolu"
|
||||
|
||||
msgid "4-axis, 3-button joystick"
|
||||
msgstr "4 eksenli, 3 düğmeli oyun kolu"
|
||||
|
||||
msgid "4-axis, 4-button joystick"
|
||||
msgstr "4 eksenli, 4 düğmeli oyun kolu"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "2 düğmeli oyun tablası"
|
||||
|
||||
msgid "3-button gamepad"
|
||||
msgstr "3 düğmeli oyun tablası"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "4 düğmeli oyun tablası"
|
||||
|
||||
msgid "6-button gamepad"
|
||||
msgstr "6 düğmeli oyun tablası"
|
||||
|
||||
msgid "Gravis PC GamePad"
|
||||
msgstr "Gravis PC GamePad"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "2 düğmeli uçuş dümeni"
|
||||
|
||||
msgid "3-button flight yoke"
|
||||
msgstr "3 düğmeli uçuş dümeni"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "4 düğmeli uçuş dümeni"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "2 düğmeli, gaz kollu uçuş dümeni"
|
||||
|
||||
msgid "3-button flight yoke with throttle"
|
||||
msgstr "3 düğmeli, gaz kollu uçuş dümeni"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "4 düğmeli, gaz kollu uçuş dümeni"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 2-button)"
|
||||
msgstr "direksiyonu (3 eksenli, 2 düğmeli)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 3-button)"
|
||||
msgstr "direksiyonu (3 eksenli, 3 düğmeli)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "direksiyonu (3 eksenli, 4 düğmeli)"
|
||||
|
||||
msgid "CH Flightstick"
|
||||
msgstr "CH Flightstick"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals"
|
||||
msgstr "CH Flightstick + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals Pro"
|
||||
msgstr "CH Flightstick + CH Pedals Pro"
|
||||
|
||||
msgid "CH Flightstick Pro"
|
||||
msgstr "CH Flightstick Pro"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals"
|
||||
msgstr "CH Flightstick Pro + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals Pro"
|
||||
msgstr "CH Flightstick Pro + CH Pedals Pro"
|
||||
|
||||
msgid "CH Virtual Pilot"
|
||||
msgstr "CH Virtual Pilot"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals"
|
||||
msgstr "CH Virtual Pilot + CH Pedals"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot + CH Pedals Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro"
|
||||
msgstr "CH Virtual Pilot Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedals"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
|
||||
msgid "Microsoft SideWinder Pad"
|
||||
msgstr "Microsoft SideWinder Pad"
|
||||
|
||||
@@ -888,26 +975,11 @@ msgstr "Thrustmaster Flight Control System"
|
||||
msgid "Thrustmaster FCS + Rudder Control System"
|
||||
msgstr "Thrustmaster FCS + Rudder Control System"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "2 düğmeli oyun tablası"
|
||||
msgid "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "2 düğmeli uçuş dümeni"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "4 düğmeli oyun tablası"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "4 düğmeli uçuş dümeni"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "2 düğmeli, gaz kollu uçuş dümeni"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "4 düğmeli, gaz kollu uçuş dümeni"
|
||||
|
||||
msgid "Win95 Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Win95 direksiyonu (3 eksenli, 4 düğmeli)"
|
||||
msgid "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
|
||||
msgid "None"
|
||||
msgstr "Hiçbiri"
|
||||
|
||||
@@ -603,9 +603,6 @@ msgstr "Канал:"
|
||||
msgid "ID:"
|
||||
msgstr "ID:"
|
||||
|
||||
msgid "&Specify..."
|
||||
msgstr "&Вказати..."
|
||||
|
||||
msgid "Sectors:"
|
||||
msgstr "Сектора:"
|
||||
|
||||
@@ -852,9 +849,18 @@ msgstr "Пристрої PCap не знайдені"
|
||||
msgid "Invalid PCap device"
|
||||
msgstr "Невірний пристрій PCap"
|
||||
|
||||
msgid "Generic Paddle Controller(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-axis, 1-button joystick(s)"
|
||||
msgstr "2-осьовий, 1-кнопковий джойстик"
|
||||
|
||||
msgid "2-axis, 2-button joystick(s)"
|
||||
msgstr "2-осьовий, 2-кнопковий джойстик"
|
||||
|
||||
msgid "2-axis, 3-button joystick"
|
||||
msgstr "2-осьовий, 3-кнопковий джойстик"
|
||||
|
||||
msgid "2-axis, 4-button joystick"
|
||||
msgstr "2-осьовий, 4-кнопковий джойстик"
|
||||
|
||||
@@ -867,18 +873,99 @@ msgstr "2-осьовий, 8-кнопковий джойстик"
|
||||
msgid "3-axis, 2-button joystick"
|
||||
msgstr "3-осьовий, 2-кнопковий джойстик"
|
||||
|
||||
msgid "3-axis, 3-button joystick"
|
||||
msgstr "3-осьовий, 3-кнопковий джойстик"
|
||||
|
||||
msgid "3-axis, 4-button joystick"
|
||||
msgstr "3-осьовий, 4-кнопковий джойстик"
|
||||
|
||||
msgid "4-axis, 2-button joystick"
|
||||
msgstr "4-осьовий, 2-кнопковий джойстик"
|
||||
|
||||
msgid "4-axis, 3-button joystick"
|
||||
msgstr "4-осьовий, 3-кнопковий джойстик"
|
||||
|
||||
msgid "4-axis, 4-button joystick"
|
||||
msgstr "4-осьовий, 4-кнопковий джойстик"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "2-кнопковий геймпад"
|
||||
|
||||
msgid "3-button gamepad"
|
||||
msgstr "3-кнопковий геймпад"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "4-кнопковий геймпад"
|
||||
|
||||
msgid "6-button gamepad"
|
||||
msgstr "6-кнопковий геймпад"
|
||||
|
||||
msgid "Gravis PC GamePad"
|
||||
msgstr "Gravis PC GamePad"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "2-кнопковий flight yoke"
|
||||
|
||||
msgid "3-button flight yoke"
|
||||
msgstr "3-кнопковий геймпад"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "4-кнопковий flight yoke"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "2-кнопковий flight yoke з дроселем"
|
||||
|
||||
msgid "3-button flight yoke with throttle"
|
||||
msgstr "3-кнопковий flight yoke з дроселем"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "4-кнопковий flight yoke з дроселем"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 2-button)"
|
||||
msgstr "Кермо (3-осьове, 2-кнопкове)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 3-button)"
|
||||
msgstr "Кермо (3-осьове, 3-кнопкове)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Кермо (3-осьове, 4-кнопкове)"
|
||||
|
||||
msgid "CH Flightstick"
|
||||
msgstr "CH Flightstick"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals"
|
||||
msgstr "CH Flightstick + CH Педалі"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals Pro"
|
||||
msgstr "CH Flightstick + CH Педалі Pro"
|
||||
|
||||
msgid "CH Flightstick Pro"
|
||||
msgstr "CH Flightstick Pro"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals"
|
||||
msgstr "CH Flightstick Pro + CH Педалі"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals Pro"
|
||||
msgstr "CH Flightstick Pro + CH Педалі Pro"
|
||||
|
||||
msgid "CH Virtual Pilot"
|
||||
msgstr "CH Virtual Pilot"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals"
|
||||
msgstr "CH Virtual Pilot + CH Педалі"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot + CH Педалі Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro"
|
||||
msgstr "CH Virtual Pilot Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals"
|
||||
msgstr "CH Virtual Pilot Pro + CH Педалі"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot Pro + CH Педалі Pro"
|
||||
|
||||
msgid "Microsoft SideWinder Pad"
|
||||
msgstr "Microsoft SideWinder Pad"
|
||||
|
||||
@@ -888,26 +975,11 @@ msgstr "Система управління польотом Thrustmaster"
|
||||
msgid "Thrustmaster FCS + Rudder Control System"
|
||||
msgstr "Thrustmaster FCS + Система управління кермом"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "4-кнопковий геймпад"
|
||||
msgid "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "2-кнопковий flight yoke"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "4-кнопковий геймпад"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "4-кнопковий flight yoke"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "2-кнопковий flight yoke з дроселем"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "4-кнопковий flight yoke з дроселем"
|
||||
|
||||
msgid "Win95 Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Кермо Win95 (3-осьове, 4-кнопкове)"
|
||||
msgid "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
|
||||
msgid "None"
|
||||
msgstr "Ні"
|
||||
@@ -1714,7 +1786,7 @@ msgid "Remove"
|
||||
msgstr "Видалити"
|
||||
|
||||
msgid "Browse..."
|
||||
msgstr "Переглянути..."
|
||||
msgstr "Огляд..."
|
||||
|
||||
msgid "Couldn't create OpenGL context."
|
||||
msgstr "Не вдалося створити контекст OpenGL."
|
||||
|
||||
@@ -603,9 +603,6 @@ msgstr "Kênh:"
|
||||
msgid "ID:"
|
||||
msgstr "ID:"
|
||||
|
||||
msgid "&Specify..."
|
||||
msgstr "Chỉ &rõ..."
|
||||
|
||||
msgid "Sectors:"
|
||||
msgstr "Sector:"
|
||||
|
||||
@@ -852,9 +849,18 @@ msgstr "Không tìm thấy thiết bị PCap"
|
||||
msgid "Invalid PCap device"
|
||||
msgstr "Thiết bị PCap không hợp quy"
|
||||
|
||||
msgid "Generic Paddle Controller(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-axis, 1-button joystick(s)"
|
||||
msgstr "Cần điều khiển hai trục, một nút"
|
||||
|
||||
msgid "2-axis, 2-button joystick(s)"
|
||||
msgstr "Cần điều khiển hai trục, hai nút"
|
||||
|
||||
msgid "2-axis, 3-button joystick"
|
||||
msgstr "Cần điều khiển hai trục, ba nút"
|
||||
|
||||
msgid "2-axis, 4-button joystick"
|
||||
msgstr "Cần điều khiển hai trục, bốn nút"
|
||||
|
||||
@@ -867,18 +873,99 @@ msgstr "Cần điều khiển hai trục, tám nút"
|
||||
msgid "3-axis, 2-button joystick"
|
||||
msgstr "Cần điều khiển ba trục, hai nút"
|
||||
|
||||
msgid "3-axis, 3-button joystick"
|
||||
msgstr "Cần điều khiển ba trục, ba nút"
|
||||
|
||||
msgid "3-axis, 4-button joystick"
|
||||
msgstr "Cần điều khiển ba trục, bốn nút"
|
||||
|
||||
msgid "4-axis, 2-button joystick"
|
||||
msgstr "Cần điều khiển bốn trục, hai nút"
|
||||
|
||||
msgid "4-axis, 3-button joystick"
|
||||
msgstr "Cần điều khiển bốn trục, ba nút"
|
||||
|
||||
msgid "4-axis, 4-button joystick"
|
||||
msgstr "Cần điều khiển bốn trục, bốn nút"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "Tay cầm game hai nút"
|
||||
|
||||
msgid "3-button gamepad"
|
||||
msgstr "Tay cầm game ba nút"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "Tay cầm game bốn nút"
|
||||
|
||||
msgid "6-button gamepad"
|
||||
msgstr "Tay cầm game sáu nút"
|
||||
|
||||
msgid "Gravis PC GamePad"
|
||||
msgstr "Gravis PC GamePad"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "Vô lăng máy bay hai nút"
|
||||
|
||||
msgid "3-button flight yoke"
|
||||
msgstr "Vô lăng máy bay ba nút"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "Vô lăng máy bay bốn nút"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "Vô lăng máy bay hai nút có cần ga"
|
||||
|
||||
msgid "3-button flight yoke with throttle"
|
||||
msgstr "Vô lăng máy bay ba nút có cần ga"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "Vô lăng máy bay bốn nút có cần ga"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 2-button)"
|
||||
msgstr "Vô lăng (ba trục, hai nút)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 3-button)"
|
||||
msgstr "Vô lăng (ba trục, ba nút)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Vô lăng (ba trục, bốn nút)"
|
||||
|
||||
msgid "CH Flightstick"
|
||||
msgstr "CH Flightstick"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals"
|
||||
msgstr "CH Flightstick + bàn giậm CH"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals Pro"
|
||||
msgstr "CH Flightstick + bàn giậm CH Pro"
|
||||
|
||||
msgid "CH Flightstick Pro"
|
||||
msgstr "CH Flightstick Pro"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals"
|
||||
msgstr "CH Flightstick Pro + bàn giậm CH"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals Pro"
|
||||
msgstr "CH Flightstick Pro + bàn giậm CH Pro"
|
||||
|
||||
msgid "CH Virtual Pilot"
|
||||
msgstr "CH Virtual Pilot"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals"
|
||||
msgstr "CH Virtual Pilot + bàn giậm CH"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot + bàn giậm CH Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro"
|
||||
msgstr "CH Virtual Pilot Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals"
|
||||
msgstr "CH Virtual Pilot Pro + bàn giậm CH"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot Pro + bàn giậm CH Pro"
|
||||
|
||||
msgid "Microsoft SideWinder Pad"
|
||||
msgstr "Microsoft SideWinder Pad"
|
||||
|
||||
@@ -888,26 +975,11 @@ msgstr "Thrustmaster Flight Control System"
|
||||
msgid "Thrustmaster FCS + Rudder Control System"
|
||||
msgstr "Thrustmaster FCS + Hệ thống bánh lái"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "Tay cầm game hai nút"
|
||||
msgid "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "Vô lăng máy bay hai nút"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "Tay cầm game bốn nút"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "Vô lăng máy bay bốn nút"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "Vô lăng máy bay hai nút có cần ga"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "Vô lăng máy bay bốn nút có cần ga"
|
||||
|
||||
msgid "Win95 Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Vô lăng Win95 (ba trục, bốn nút)"
|
||||
msgid "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
|
||||
msgid "None"
|
||||
msgstr "Không có"
|
||||
|
||||
@@ -603,9 +603,6 @@ msgstr "通道:"
|
||||
msgid "ID:"
|
||||
msgstr "ID:"
|
||||
|
||||
msgid "&Specify..."
|
||||
msgstr "指定(&S)..."
|
||||
|
||||
msgid "Sectors:"
|
||||
msgstr "扇区(S):"
|
||||
|
||||
@@ -852,9 +849,18 @@ msgstr "未找到 PCap 设备"
|
||||
msgid "Invalid PCap device"
|
||||
msgstr "无效 PCap 设备"
|
||||
|
||||
msgid "Generic Paddle Controller(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-axis, 1-button joystick(s)"
|
||||
msgstr "2 轴, 1 键操纵杆"
|
||||
|
||||
msgid "2-axis, 2-button joystick(s)"
|
||||
msgstr "2 轴, 2 键操纵杆"
|
||||
|
||||
msgid "2-axis, 3-button joystick"
|
||||
msgstr "2 轴, 3 键操纵杆"
|
||||
|
||||
msgid "2-axis, 4-button joystick"
|
||||
msgstr "2 轴, 4 键操纵杆"
|
||||
|
||||
@@ -867,18 +873,99 @@ msgstr "2 轴, 8 键操纵杆"
|
||||
msgid "3-axis, 2-button joystick"
|
||||
msgstr "3 轴, 2 键操纵杆"
|
||||
|
||||
msgid "3-axis, 3-button joystick"
|
||||
msgstr "3 轴, 3 键操纵杆"
|
||||
|
||||
msgid "3-axis, 4-button joystick"
|
||||
msgstr "3 轴, 4 键操纵杆"
|
||||
|
||||
msgid "4-axis, 2-button joystick"
|
||||
msgstr "4 轴, 2 键操纵杆"
|
||||
|
||||
msgid "4-axis, 3-button joystick"
|
||||
msgstr "4 轴, 3 键操纵杆"
|
||||
|
||||
msgid "4-axis, 4-button joystick"
|
||||
msgstr "4 轴, 4 键操纵杆"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "2 按钮游戏手柄"
|
||||
|
||||
msgid "3-button gamepad"
|
||||
msgstr "3 按钮游戏手柄"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "4 按钮游戏手柄"
|
||||
|
||||
msgid "6-button gamepad"
|
||||
msgstr "6 按钮游戏手柄"
|
||||
|
||||
msgid "Gravis PC GamePad"
|
||||
msgstr "Gravis PC GamePad"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "2 按钮飞行摇杆"
|
||||
|
||||
msgid "3-button flight yoke"
|
||||
msgstr "3 按钮飞行摇杆"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "4 按钮飞行摇杆"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "2 按钮带油门飞行摇杆"
|
||||
|
||||
msgid "3-button flight yoke with throttle"
|
||||
msgstr "3 按钮带油门飞行摇杆"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "4 按钮带油门飞行摇杆"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 2-button)"
|
||||
msgstr "方向盘 (3 轴, 2 键)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 3-button)"
|
||||
msgstr "方向盘 (3 轴, 3 键)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "方向盘 (3 轴, 4 键)"
|
||||
|
||||
msgid "CH Flightstick"
|
||||
msgstr "CH Flightstick"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals"
|
||||
msgstr "CH Flightstick + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals Pro"
|
||||
msgstr "CH Flightstick + CH Pedals Pro"
|
||||
|
||||
msgid "CH Flightstick Pro"
|
||||
msgstr "CH Flightstick Pro"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals"
|
||||
msgstr "CH Flightstick Pro + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals Pro"
|
||||
msgstr "CH Flightstick Pro + CH Pedals Pro"
|
||||
|
||||
msgid "CH Virtual Pilot"
|
||||
msgstr "CH Virtual Pilot"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals"
|
||||
msgstr "CH Virtual Pilot + CH Pedals"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot + CH Pedals Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro"
|
||||
msgstr "CH Virtual Pilot Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedals"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
|
||||
msgid "Microsoft SideWinder Pad"
|
||||
msgstr "Microsoft SideWinder Pad"
|
||||
|
||||
@@ -888,26 +975,11 @@ msgstr "Thrustmaster Flight Control System"
|
||||
msgid "Thrustmaster FCS + Rudder Control System"
|
||||
msgstr "Thrustmaster FCS + Rudder Control System"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "2 按钮游戏手柄"
|
||||
msgid "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "2 按钮飞行摇杆"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "4 按钮游戏手柄"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "4 按钮飞行摇杆"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "2 按钮带油门飞行摇杆"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "4 按钮带油门飞行摇杆"
|
||||
|
||||
msgid "Win95 Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Win95 方向盘 (3 轴, 4 键)"
|
||||
msgid "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
|
||||
msgid "None"
|
||||
msgstr "无"
|
||||
|
||||
@@ -603,9 +603,6 @@ msgstr "通道:"
|
||||
msgid "ID:"
|
||||
msgstr "ID:"
|
||||
|
||||
msgid "&Specify..."
|
||||
msgstr "指定(&S)..."
|
||||
|
||||
msgid "Sectors:"
|
||||
msgstr "磁區(S):"
|
||||
|
||||
@@ -852,9 +849,18 @@ msgstr "未找到 PCap 裝置"
|
||||
msgid "Invalid PCap device"
|
||||
msgstr "無效 PCap 裝置"
|
||||
|
||||
msgid "Generic Paddle Controller(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "2-axis, 1-button joystick(s)"
|
||||
msgstr "2 軸, 1 鍵搖桿"
|
||||
|
||||
msgid "2-axis, 2-button joystick(s)"
|
||||
msgstr "2 軸, 2 鍵搖桿"
|
||||
|
||||
msgid "2-axis, 3-button joystick"
|
||||
msgstr "2 軸, 3 鍵搖桿"
|
||||
|
||||
msgid "2-axis, 4-button joystick"
|
||||
msgstr "2 軸, 4 鍵搖桿"
|
||||
|
||||
@@ -867,18 +873,99 @@ msgstr "2 軸, 8 鍵搖桿"
|
||||
msgid "3-axis, 2-button joystick"
|
||||
msgstr "3 軸, 2 鍵搖桿"
|
||||
|
||||
msgid "3-axis, 3-button joystick"
|
||||
msgstr "3 軸, 3 鍵搖桿"
|
||||
|
||||
msgid "3-axis, 4-button joystick"
|
||||
msgstr "3 軸, 4 鍵搖桿"
|
||||
|
||||
msgid "4-axis, 2-button joystick"
|
||||
msgstr "4 軸, 2 鍵搖桿"
|
||||
|
||||
msgid "4-axis, 3-button joystick"
|
||||
msgstr "4 軸, 3 鍵搖桿"
|
||||
|
||||
msgid "4-axis, 4-button joystick"
|
||||
msgstr "4 軸, 4 鍵搖桿"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "2 鍵遊戲手柄"
|
||||
|
||||
msgid "3-button gamepad"
|
||||
msgstr "3 鍵遊戲手柄"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "4 鍵遊戲手柄"
|
||||
|
||||
msgid "6-button gamepad"
|
||||
msgstr "6 鍵遊戲手柄"
|
||||
|
||||
msgid "Gravis PC GamePad"
|
||||
msgstr "Gravis PC GamePad"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "2 按鈕飛行搖桿"
|
||||
|
||||
msgid "3-button flight yoke"
|
||||
msgstr "3 按鈕飛行搖桿"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "4 按鈕飛行搖桿"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "2 按鈕帶油門飛行搖桿"
|
||||
|
||||
msgid "3-button flight yoke with throttle"
|
||||
msgstr "3 按鈕帶油門飛行搖桿"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "4 按鈕帶油門飛行搖桿"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 2-button)"
|
||||
msgstr "方向盤 (3 軸, 2 鍵搖桿)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 3-button)"
|
||||
msgstr "方向盤 (3 軸, 3 鍵搖桿)"
|
||||
|
||||
msgid "Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "方向盤 (3 軸, 4 鍵搖桿)"
|
||||
|
||||
msgid "CH Flightstick"
|
||||
msgstr "CH Flightstick"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals"
|
||||
msgstr "CH Flightstick + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick + CH Pedals Pro"
|
||||
msgstr "CH Flightstick + CH Pedals Pro"
|
||||
|
||||
msgid "CH Flightstick Pro"
|
||||
msgstr "CH Flightstick Pro"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals"
|
||||
msgstr "CH Flightstick Pro + CH Pedals"
|
||||
|
||||
msgid "CH Flightstick Pro + CH Pedals Pro"
|
||||
msgstr "CH Flightstick Pro + CH Pedals Pro"
|
||||
|
||||
msgid "CH Virtual Pilot"
|
||||
msgstr "CH Virtual Pilot"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals"
|
||||
msgstr "CH Virtual Pilot + CH Pedals"
|
||||
|
||||
msgid "CH Virtual Pilot + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot + CH Pedals Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro"
|
||||
msgstr "CH Virtual Pilot Pro"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedals"
|
||||
|
||||
msgid "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
msgstr "CH Virtual Pilot Pro + CH Pedals Pro"
|
||||
|
||||
msgid "Microsoft SideWinder Pad"
|
||||
msgstr "Microsoft SideWinder Pad"
|
||||
|
||||
@@ -888,26 +975,11 @@ msgstr "Thrustmaster Flight Control System"
|
||||
msgid "Thrustmaster FCS + Rudder Control System"
|
||||
msgstr "Thrustmaster FCS + Rudder Control System"
|
||||
|
||||
msgid "2-button gamepad(s)"
|
||||
msgstr "2 鍵遊戲手柄"
|
||||
msgid "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 with Adaptor"
|
||||
|
||||
msgid "2-button flight yoke"
|
||||
msgstr "2 按鈕飛行搖桿"
|
||||
|
||||
msgid "4-button gamepad"
|
||||
msgstr "4 鍵遊戲手柄"
|
||||
|
||||
msgid "4-button flight yoke"
|
||||
msgstr "4 按鈕飛行搖桿"
|
||||
|
||||
msgid "2-button flight yoke with throttle"
|
||||
msgstr "2 按鈕帶油門飛行搖桿"
|
||||
|
||||
msgid "4-button flight yoke with throttle"
|
||||
msgstr "4 按鈕帶油門飛行搖桿"
|
||||
|
||||
msgid "Win95 Steering Wheel (3-axis, 4-button)"
|
||||
msgstr "Win95 方向盤 (3 軸, 4 鍵搖桿)"
|
||||
msgid "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
msgstr "Thrustmaster Formula T1/T2 without Adaptor"
|
||||
|
||||
msgid "None"
|
||||
msgstr "無"
|
||||
|
||||
@@ -15,84 +15,15 @@
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<property name="sizeConstraint">
|
||||
<enum>QLayout::SizeConstraint::SetFixedSize</enum>
|
||||
<enum>QLayout::SetFixedSize</enum>
|
||||
</property>
|
||||
<item row="2" column="2">
|
||||
<widget class="QSlider" name="horizontalSliderBrightness">
|
||||
<property name="minimum">
|
||||
<number>-100</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QSlider" name="horizontalSliderSaturation">
|
||||
<property name="maximum">
|
||||
<number>360</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="QLabel" name="label">
|
||||
<widget class="QLabel" name="labelHue">
|
||||
<property name="text">
|
||||
<string>Hue</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="2">
|
||||
<widget class="QSlider" name="horizontalSliderSharpness">
|
||||
<property name="minimum">
|
||||
<number>-50</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>50</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="2">
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::StandardButton::Apply|QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Ok|QDialogButtonBox::StandardButton::Reset</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="2">
|
||||
<widget class="QSlider" name="horizontalSliderContrast">
|
||||
<property name="maximum">
|
||||
<number>360</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Contrast</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QSlider" name="horizontalSliderHue">
|
||||
<property name="minimum">
|
||||
@@ -102,31 +33,100 @@
|
||||
<number>360</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>Sharpness</string>
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="2">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<widget class="QLabel" name="labelSaturation">
|
||||
<property name="text">
|
||||
<string>Saturation</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QSlider" name="horizontalSliderSaturation">
|
||||
<property name="maximum">
|
||||
<number>360</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<widget class="QLabel" name="labelBrightness">
|
||||
<property name="text">
|
||||
<string>Brightness</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="QSlider" name="horizontalSliderBrightness">
|
||||
<property name="minimum">
|
||||
<number>-100</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="labelContrast">
|
||||
<property name="text">
|
||||
<string>Contrast</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="2">
|
||||
<widget class="QSlider" name="horizontalSliderContrast">
|
||||
<property name="maximum">
|
||||
<number>360</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="labelSharpness">
|
||||
<property name="text">
|
||||
<string>Sharpness</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="2">
|
||||
<widget class="QSlider" name="horizontalSliderSharpness">
|
||||
<property name="minimum">
|
||||
<number>-50</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>50</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="2">
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Ok|QDialogButtonBox::Reset</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Specify...</string>
|
||||
<string>Browse...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<widget class="QLabel" name="labelFileName">
|
||||
<property name="text">
|
||||
<string>File name:</string>
|
||||
</property>
|
||||
@@ -43,7 +43,7 @@
|
||||
<widget class="FileField" name="fileField" native="true"/>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<widget class="QLabel" name="labelCylinders">
|
||||
<property name="text">
|
||||
<string>Cylinders:</string>
|
||||
</property>
|
||||
@@ -66,7 +66,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<widget class="QLabel" name="labelHeads">
|
||||
<property name="text">
|
||||
<string>Heads:</string>
|
||||
</property>
|
||||
@@ -92,7 +92,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="4">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<widget class="QLabel" name="labelSectors">
|
||||
<property name="text">
|
||||
<string>Sectors:</string>
|
||||
</property>
|
||||
@@ -118,7 +118,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<widget class="QLabel" name="labelSize">
|
||||
<property name="text">
|
||||
<string>Size (MB):</string>
|
||||
</property>
|
||||
@@ -141,7 +141,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<widget class="QLabel" name="labelType">
|
||||
<property name="text">
|
||||
<string>Type:</string>
|
||||
</property>
|
||||
@@ -155,7 +155,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_8">
|
||||
<widget class="QLabel" name="labelBus">
|
||||
<property name="text">
|
||||
<string>Bus:</string>
|
||||
</property>
|
||||
@@ -169,7 +169,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="4">
|
||||
<widget class="QLabel" name="label_7">
|
||||
<widget class="QLabel" name="labelChannel">
|
||||
<property name="text">
|
||||
<string>Channel:</string>
|
||||
</property>
|
||||
@@ -183,7 +183,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_9">
|
||||
<widget class="QLabel" name="labelSpeed">
|
||||
<property name="text">
|
||||
<string>Model:</string>
|
||||
</property>
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Device</string>
|
||||
</property>
|
||||
|
||||
@@ -1021,6 +1021,7 @@ void MainWindow::updateShortcuts()
|
||||
void
|
||||
MainWindow::resizeEvent(QResizeEvent *event)
|
||||
{
|
||||
#ifdef MOVE_WINDOW
|
||||
//qDebug() << pos().x() + event->size().width();
|
||||
//qDebug() << pos().y() + event->size().height();
|
||||
if (vid_resize == 1 || video_fullscreen)
|
||||
@@ -1040,6 +1041,7 @@ MainWindow::resizeEvent(QResizeEvent *event)
|
||||
if (newY < 1) newY = 1;
|
||||
}
|
||||
move(newX, newY);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -260,7 +260,7 @@
|
||||
<widget class="QStatusBar" name="statusbar"/>
|
||||
<widget class="QToolBar" name="toolBar">
|
||||
<property name="contextMenuPolicy">
|
||||
<enum>Qt::ContextMenuPolicy::PreventContextMenu</enum>
|
||||
<enum>Qt::PreventContextMenu</enum>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string notr="true">toolBar</string>
|
||||
@@ -272,7 +272,7 @@
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="allowedAreas">
|
||||
<set>Qt::ToolBarArea::TopToolBarArea</set>
|
||||
<set>Qt::TopToolBarArea</set>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
@@ -281,7 +281,7 @@
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolButtonStyle">
|
||||
<enum>Qt::ToolButtonStyle::ToolButtonIconOnly</enum>
|
||||
<enum>Qt::ToolButtonIconOnly</enum>
|
||||
</property>
|
||||
<property name="floatable">
|
||||
<bool>false</bool>
|
||||
@@ -396,7 +396,7 @@
|
||||
<string>E&xit</string>
|
||||
</property>
|
||||
<property name="menuRole">
|
||||
<enum>QAction::MenuRole::QuitRole</enum>
|
||||
<enum>QAction::QuitRole</enum>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionSettings">
|
||||
@@ -408,7 +408,7 @@
|
||||
<string>&Settings...</string>
|
||||
</property>
|
||||
<property name="menuRole">
|
||||
<enum>QAction::MenuRole::NoRole</enum>
|
||||
<enum>QAction::NoRole</enum>
|
||||
</property>
|
||||
<property name="iconVisibleInMenu">
|
||||
<bool>false</bool>
|
||||
@@ -710,7 +710,7 @@
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="menuRole">
|
||||
<enum>QAction::MenuRole::AboutQtRole</enum>
|
||||
<enum>QAction::AboutQtRole</enum>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionAbout_86Box">
|
||||
@@ -718,7 +718,7 @@
|
||||
<string>&About 86Box...</string>
|
||||
</property>
|
||||
<property name="menuRole">
|
||||
<enum>QAction::MenuRole::AboutRole</enum>
|
||||
<enum>QAction::AboutRole</enum>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionDocumentation">
|
||||
@@ -771,7 +771,7 @@
|
||||
<string>&Preferences...</string>
|
||||
</property>
|
||||
<property name="menuRole">
|
||||
<enum>QAction::MenuRole::PreferencesRole</enum>
|
||||
<enum>QAction::PreferencesRole</enum>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionEnable_Discord_integration">
|
||||
@@ -844,7 +844,7 @@
|
||||
<string>Renderer &options...</string>
|
||||
</property>
|
||||
<property name="menuRole">
|
||||
<enum>QAction::MenuRole::NoRole</enum>
|
||||
<enum>QAction::NoRole</enum>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionVulkan">
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
</property>
|
||||
<layout class="QFormLayout" name="formLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<widget class="QLabel" name="labelFileName">
|
||||
<property name="text">
|
||||
<string>File name:</string>
|
||||
</property>
|
||||
@@ -44,7 +44,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<widget class="QLabel" name="labelSize">
|
||||
<property name="text">
|
||||
<string>Disk size:</string>
|
||||
</property>
|
||||
|
||||
@@ -42,6 +42,8 @@ extern MainWindow* main_window;
|
||||
#include <QImage>
|
||||
|
||||
#include <cmath>
|
||||
#include <cstdarg>
|
||||
#define HAVE_STDARG_H
|
||||
|
||||
#include "qt_openglrenderer.hpp"
|
||||
#include "qt_openglshadermanagerdialog.hpp"
|
||||
@@ -152,7 +154,7 @@ ogl3_log(const char *fmt, ...)
|
||||
|
||||
if (ogl3_do_log) {
|
||||
va_start(ap, fmt);
|
||||
ogl3_log_ex(fmt, ap);
|
||||
pclog_ex(fmt, ap);
|
||||
va_end(ap);
|
||||
}
|
||||
}
|
||||
@@ -218,17 +220,8 @@ OpenGLRenderer::compile_shader(GLenum shader_type, const char *prepend, const ch
|
||||
if (version_loc) {
|
||||
snprintf(version, 49, "%s\n", versionRegex.match(progSource).captured(1).toLatin1().data());
|
||||
progSource.remove(versionRegex);
|
||||
|
||||
version_loc = ((char *) this->glslVersion.toLatin1().data()) + 9;
|
||||
char glsl_ver[4] = { 0 };
|
||||
memcpy(glsl_ver, version_loc, 3);
|
||||
int ver = atoi((char *) glsl_ver);
|
||||
pclog("Fucce þiċ: %d\n", ver);
|
||||
} else {
|
||||
version_loc = ((char *) this->glslVersion.toLatin1().data()) + 9;
|
||||
char glsl_ver[4] = { 0 };
|
||||
memcpy(glsl_ver, version_loc, 3);
|
||||
int ver = atoi((char *) glsl_ver);
|
||||
int ver = gl_version[0] * 100 + gl_version[1] * 10;
|
||||
if (ver == 300)
|
||||
ver = 130;
|
||||
else if (ver == 310)
|
||||
@@ -881,11 +874,11 @@ OpenGLRenderer::initialize()
|
||||
glw.initializeOpenGLFunctions();
|
||||
|
||||
ogl3_log("OpenGL information: [%s] %s (%s)\n", glw.glGetString(GL_VENDOR), glw.glGetString(GL_RENDERER), glw.glGetString(GL_VERSION));
|
||||
glsl_version[0] = glsl_version[1] = -1;
|
||||
glw.glGetIntegerv(GL_MAJOR_VERSION, &glsl_version[0]);
|
||||
glw.glGetIntegerv(GL_MINOR_VERSION, &glsl_version[1]);
|
||||
if (glsl_version[0] < 3) {
|
||||
throw opengl_init_error(tr("OpenGL version 3.0 or greater is required. Current GLSL version is %1.%2").arg(glsl_version[0]).arg(glsl_version[1]));
|
||||
gl_version[0] = gl_version[1] = -1;
|
||||
glw.glGetIntegerv(GL_MAJOR_VERSION, &gl_version[0]);
|
||||
glw.glGetIntegerv(GL_MINOR_VERSION, &gl_version[1]);
|
||||
if (gl_version[0] < 3) {
|
||||
throw opengl_init_error(tr("OpenGL version 3.0 or greater is required. Current GLSL version is %1.%2").arg(gl_version[0]).arg(gl_version[1]));
|
||||
}
|
||||
ogl3_log("Using OpenGL %s\n", glw.glGetString(GL_VERSION));
|
||||
ogl3_log("Using Shading Language %s\n", glw.glGetString(GL_SHADING_LANGUAGE_VERSION));
|
||||
@@ -1738,3 +1731,4 @@ OpenGLRenderer::render()
|
||||
frameCounter++;
|
||||
context->swapBuffers(this);
|
||||
}
|
||||
|
||||
|
||||
@@ -102,7 +102,7 @@ private:
|
||||
|
||||
void *unpackBuffer = nullptr;
|
||||
|
||||
int glsl_version[2] = { 0, 0 };
|
||||
int gl_version[2] = { 0, 0 };
|
||||
|
||||
void initialize();
|
||||
void initializeExtensions();
|
||||
|
||||
@@ -27,49 +27,15 @@
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<property name="sizeConstraint">
|
||||
<enum>QLayout::SizeConstraint::SetFixedSize</enum>
|
||||
<enum>QLayout::SetFixedSize</enum>
|
||||
</property>
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<widget class="QLabel" name="labelLanguage">
|
||||
<property name="text">
|
||||
<string>Language:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="7" column="0">
|
||||
<widget class="QCheckBox" name="checkBoxMultimediaKeys">
|
||||
<property name="text">
|
||||
<string>Inhibit multimedia keys</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Mouse sensitivity:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QPushButton" name="pushButton_2">
|
||||
<property name="text">
|
||||
<string>Default</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="2">
|
||||
<widget class="QComboBox" name="comboBoxLanguage">
|
||||
<property name="maxVisibleItems">
|
||||
@@ -82,10 +48,30 @@
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="0">
|
||||
<widget class="QCheckBox" name="checkBoxConfirmSave">
|
||||
<item row="2" column="0">
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QPushButton" name="pushButtonLanguage">
|
||||
<property name="text">
|
||||
<string>Ask for confirmation before saving settings</string>
|
||||
<string>Default</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0" colspan="2">
|
||||
<widget class="QLabel" name="labelMouseSensitivity">
|
||||
<property name="text">
|
||||
<string>Mouse sensitivity:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -107,31 +93,14 @@
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<widget class="QCheckBox" name="openDirUsrPath">
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Select media images from program working directory</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QPushButton" name="pushButtonLanguage">
|
||||
<property name="text">
|
||||
<string>Default</string>
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<spacer name="horizontalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -141,58 +110,106 @@
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="9" column="0">
|
||||
<item row="5" column="1">
|
||||
<widget class="QPushButton" name="pushButton_2">
|
||||
<property name="text">
|
||||
<string>Default</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="openDirUsrPath">
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Select media images from program working directory</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="checkBoxMultimediaKeys">
|
||||
<property name="text">
|
||||
<string>Inhibit multimedia keys</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="checkBoxConfirmSave">
|
||||
<property name="text">
|
||||
<string>Ask for confirmation before saving settings</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="checkBoxConfirmExit">
|
||||
<property name="text">
|
||||
<string>Ask for confirmation before quitting</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="14" column="0" colspan="2">
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="0">
|
||||
<item row="10" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="checkBoxConfirmHardReset">
|
||||
<property name="text">
|
||||
<string>Ask for confirmation before hard resetting</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="13" column="0">
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Color scheme</string>
|
||||
<item row="11" column="0" colspan="2">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Color scheme</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonSystem">
|
||||
<property name="text">
|
||||
<string>System</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonLight">
|
||||
<property name="text">
|
||||
<string>Light</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonDark">
|
||||
<property name="text">
|
||||
<string>Dark</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="12" column="0" colspan="2">
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonSystem">
|
||||
<property name="text">
|
||||
<string>System</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonLight">
|
||||
<property name="text">
|
||||
<string>Light</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonDark">
|
||||
<property name="text">
|
||||
<string>Dark</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
|
||||
@@ -220,10 +220,12 @@ RendererCommon::eventDelegate(QEvent *event, bool &result)
|
||||
case QEvent::MouseButtonPress:
|
||||
case QEvent::MouseMove:
|
||||
case QEvent::MouseButtonRelease:
|
||||
#ifdef TOUCH_PR
|
||||
case QEvent::TouchBegin:
|
||||
case QEvent::TouchEnd:
|
||||
case QEvent::TouchCancel:
|
||||
case QEvent::TouchUpdate:
|
||||
#endif
|
||||
case QEvent::Wheel:
|
||||
case QEvent::Enter:
|
||||
case QEvent::Leave:
|
||||
|
||||
@@ -35,7 +35,9 @@
|
||||
|
||||
#include <QScreen>
|
||||
#include <QMessageBox>
|
||||
#ifdef TOUCH_PR
|
||||
#include <QTouchEvent>
|
||||
#endif
|
||||
#include <QStringBuilder>
|
||||
|
||||
#include <QPainter>
|
||||
@@ -91,7 +93,9 @@ RendererStack::RendererStack(QWidget *parent, int monitor_index)
|
||||
, ui(new Ui::RendererStack)
|
||||
{
|
||||
boxLayout->setContentsMargins(0, 0, 0, 0);
|
||||
#ifdef TOUCH_PR
|
||||
setAttribute(Qt::WA_AcceptTouchEvents, true);
|
||||
#endif
|
||||
#ifdef Q_OS_WINDOWS
|
||||
setAttribute(Qt::WA_NativeWindow, true);
|
||||
(void)winId();
|
||||
@@ -520,12 +524,22 @@ RendererStack::event(QEvent* event)
|
||||
|
||||
if (m_monitor_index >= 1) {
|
||||
if (mouse_input_mode >= 1) {
|
||||
#ifdef TOUCH_PR
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
||||
mouse_x_abs = (mouse_event->position().x()) / (double)width();
|
||||
mouse_y_abs = (mouse_event->position().y()) / (double)height();
|
||||
#else
|
||||
mouse_x_abs = (mouse_event->localPos().x()) / (double)width();
|
||||
mouse_y_abs = (mouse_event->localPos().y()) / (double)height();
|
||||
#endif
|
||||
#else
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
||||
mouse_x_abs = (mouse_event->position().x()) / (long double)width();
|
||||
mouse_y_abs = (mouse_event->position().y()) / (long double)height();
|
||||
#else
|
||||
mouse_x_abs = (mouse_event->localPos().x()) / (long double)width();
|
||||
mouse_y_abs = (mouse_event->localPos().y()) / (long double)height();
|
||||
#endif
|
||||
#endif
|
||||
if (!mouse_tablet_in_proximity)
|
||||
mouse_tablet_in_proximity = mousedata.mouse_tablet_in_proximity;
|
||||
@@ -544,6 +558,7 @@ RendererStack::event(QEvent* event)
|
||||
return QWidget::event(event);
|
||||
}
|
||||
|
||||
#ifdef TOUCH_PR
|
||||
#ifdef Q_OS_WINDOWS
|
||||
if (mouse_input_mode == 0) {
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
||||
@@ -574,6 +589,39 @@ RendererStack::event(QEvent* event)
|
||||
#else
|
||||
mouse_x_abs = (mouse_event->localPos().x()) / (double)width();
|
||||
mouse_y_abs = (mouse_event->localPos().y()) / (double)height();
|
||||
#endif
|
||||
#else
|
||||
#ifdef Q_OS_WINDOWS
|
||||
if (mouse_input_mode == 0) {
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
||||
mouse_x_abs = (mouse_event->position().x()) / (long double)width();
|
||||
mouse_y_abs = (mouse_event->position().y()) / (long double)height();
|
||||
#else
|
||||
mouse_x_abs = (mouse_event->localPos().x()) / (long double)width();
|
||||
mouse_y_abs = (mouse_event->localPos().y()) / (long double)height();
|
||||
#endif
|
||||
mouse_x_abs -= rendererWindow->destinationF.left();
|
||||
mouse_y_abs -= rendererWindow->destinationF.top();
|
||||
|
||||
if (mouse_x_abs < 0) mouse_x_abs = 0;
|
||||
if (mouse_y_abs < 0) mouse_y_abs = 0;
|
||||
|
||||
mouse_x_abs /= rendererWindow->destinationF.width();
|
||||
mouse_y_abs /= rendererWindow->destinationF.height();
|
||||
|
||||
if (mouse_x_abs > 1) mouse_x_abs = 1;
|
||||
if (mouse_y_abs > 1) mouse_y_abs = 1;
|
||||
return QWidget::event(event);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
||||
mouse_x_abs = (mouse_event->position().x()) / (long double)width();
|
||||
mouse_y_abs = (mouse_event->position().y()) / (long double)height();
|
||||
#else
|
||||
mouse_x_abs = (mouse_event->localPos().x()) / (long double)width();
|
||||
mouse_y_abs = (mouse_event->localPos().y()) / (long double)height();
|
||||
#endif
|
||||
#endif
|
||||
mouse_x_abs -= rendererWindow->destinationF.left();
|
||||
mouse_y_abs -= rendererWindow->destinationF.top();
|
||||
@@ -587,6 +635,7 @@ RendererStack::event(QEvent* event)
|
||||
if (mouse_x_abs > 1) mouse_x_abs = 1;
|
||||
if (mouse_y_abs > 1) mouse_y_abs = 1;
|
||||
mouse_tablet_in_proximity = mousedata.mouse_tablet_in_proximity;
|
||||
#ifdef TOUCH_PR
|
||||
} else switch (event->type()) {
|
||||
case QEvent::TouchBegin:
|
||||
case QEvent::TouchUpdate:
|
||||
@@ -685,6 +734,7 @@ RendererStack::event(QEvent* event)
|
||||
|
||||
default:
|
||||
return QWidget::event(event);
|
||||
#endif
|
||||
}
|
||||
|
||||
return QWidget::event(event);
|
||||
|
||||
@@ -46,7 +46,7 @@ SettingsDisplay::SettingsDisplay(QWidget *parent)
|
||||
for (uint8_t i = 0; i < GFXCARD_MAX; i ++)
|
||||
videoCard[i] = gfxcard[i];
|
||||
|
||||
ui->lineEdit->setFilter(tr("EDID") % util::DlgFilter({ "bin", "dat", "edid", "txt" }) % tr("All files") % util::DlgFilter({ "*" }, true));
|
||||
ui->lineEditCustomEDID->setFilter(tr("EDID") % util::DlgFilter({ "bin", "dat", "edid", "txt" }) % tr("All files") % util::DlgFilter({ "*" }, true));
|
||||
|
||||
onCurrentMachineChanged(machine);
|
||||
}
|
||||
@@ -77,7 +77,7 @@ SettingsDisplay::save()
|
||||
da2_standalone_enabled = ui->checkBoxDa2->isChecked() ? 1 : 0;
|
||||
monitor_edid = ui->radioButtonCustom->isChecked() ? 1 : 0;
|
||||
|
||||
strncpy(monitor_edid_path, ui->lineEdit->fileName().toUtf8().data(), sizeof(monitor_edid_path) - 1);
|
||||
strncpy(monitor_edid_path, ui->lineEditCustomEDID->fileName().toUtf8().data(), sizeof(monitor_edid_path) - 1);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -135,8 +135,8 @@ SettingsDisplay::onCurrentMachineChanged(int machineId)
|
||||
|
||||
ui->radioButtonDefault->setChecked(monitor_edid == 0);
|
||||
ui->radioButtonCustom->setChecked(monitor_edid == 1);
|
||||
ui->lineEdit->setFileName(monitor_edid_path);
|
||||
ui->lineEdit->setEnabled(monitor_edid == 1);
|
||||
ui->lineEditCustomEDID->setFileName(monitor_edid_path);
|
||||
ui->lineEditCustomEDID->setEnabled(monitor_edid == 1);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -326,7 +326,7 @@ void SettingsDisplay::on_radioButtonDefault_clicked()
|
||||
{
|
||||
ui->radioButtonDefault->setChecked(true);
|
||||
ui->radioButtonCustom->setChecked(false);
|
||||
ui->lineEdit->setEnabled(false);
|
||||
ui->lineEditCustomEDID->setEnabled(false);
|
||||
}
|
||||
|
||||
|
||||
@@ -334,7 +334,7 @@ void SettingsDisplay::on_radioButtonCustom_clicked()
|
||||
{
|
||||
ui->radioButtonDefault->setChecked(false);
|
||||
ui->radioButtonCustom->setChecked(true);
|
||||
ui->lineEdit->setEnabled(true);
|
||||
ui->lineEditCustomEDID->setEnabled(true);
|
||||
}
|
||||
|
||||
void SettingsDisplay::on_pushButtonExportDefault_clicked()
|
||||
|
||||
@@ -26,27 +26,45 @@
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item row="4" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="checkBoxVoodoo">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="labelVideo">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Voodoo 1 or 2 Graphics</string>
|
||||
<string>Video:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="2">
|
||||
<widget class="QPushButton" name="pushButtonConfigureDa2">
|
||||
<item row="1" column="0" colspan="2">
|
||||
<widget class="QComboBox" name="comboBoxVideo">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maxVisibleItems">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QPushButton" name="pushButtonConfigureVideo">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Configure</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="checkBox8514">
|
||||
<property name="text">
|
||||
<string>IBM 8514/A Graphics</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="labelVideoSecondary">
|
||||
<property name="sizePolicy">
|
||||
@@ -60,6 +78,47 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0" colspan="2">
|
||||
<widget class="QComboBox" name="comboBoxVideoSecondary">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maxVisibleItems">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="2">
|
||||
<widget class="QPushButton" name="pushButtonConfigureVideoSecondary">
|
||||
<property name="text">
|
||||
<string>Configure</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="checkBoxVoodoo">
|
||||
<property name="text">
|
||||
<string>Voodoo 1 or 2 Graphics</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="2">
|
||||
<widget class="QPushButton" name="pushButtonConfigureVoodoo">
|
||||
<property name="text">
|
||||
<string>Configure</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="checkBox8514">
|
||||
<property name="text">
|
||||
<string>IBM 8514/A Graphics</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="2">
|
||||
<widget class="QPushButton" name="pushButtonConfigure8514">
|
||||
<property name="text">
|
||||
@@ -67,6 +126,13 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="checkBoxXga">
|
||||
<property name="text">
|
||||
<string>XGA Graphics</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="2">
|
||||
<widget class="QPushButton" name="pushButtonConfigureXga">
|
||||
<property name="text">
|
||||
@@ -74,8 +140,22 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="checkBoxDa2">
|
||||
<property name="text">
|
||||
<string>IBM PS/55 Display Adapter Graphics</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="2">
|
||||
<widget class="QPushButton" name="pushButtonConfigureDa2">
|
||||
<property name="text">
|
||||
<string>Configure</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="0" colspan="3">
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<widget class="QGroupBox" name="groupBoxEDID">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
@@ -85,9 +165,9 @@
|
||||
<property name="title">
|
||||
<string>Monitor EDID</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<layout class="QVBoxLayout" name="verticalLayoutGroupBoxEDID">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<layout class="QHBoxLayout" name="horizontalLayoutEDIDDefault">
|
||||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonDefault">
|
||||
<property name="text">
|
||||
@@ -111,9 +191,9 @@
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<layout class="QHBoxLayout" name="horizontalLayoutEDIDCustom">
|
||||
<property name="sizeConstraint">
|
||||
<enum>QLayout::SizeConstraint::SetNoConstraint</enum>
|
||||
<enum>QLayout::SetNoConstraint</enum>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonCustom">
|
||||
@@ -123,7 +203,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="FileField" name="lineEdit" native="true">
|
||||
<widget class="FileField" name="lineEditCustomEDID" native="true">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
@@ -137,99 +217,6 @@
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0" colspan="2">
|
||||
<widget class="QComboBox" name="comboBoxVideoSecondary">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maxVisibleItems">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="0" colspan="3">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="4" column="2">
|
||||
<widget class="QPushButton" name="pushButtonConfigureVoodoo">
|
||||
<property name="text">
|
||||
<string>Configure</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QPushButton" name="pushButtonConfigureVideo">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Configure</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="labelVideo">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Video:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="2">
|
||||
<widget class="QPushButton" name="pushButtonConfigureVideoSecondary">
|
||||
<property name="text">
|
||||
<string>Configure</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="2">
|
||||
<widget class="QComboBox" name="comboBoxVideo">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maxVisibleItems">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="checkBoxXga">
|
||||
<property name="text">
|
||||
<string>XGA Graphics</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="0">
|
||||
<widget class="QCheckBox" name="checkBoxDa2">
|
||||
<property name="text">
|
||||
<string>IBM PS/55 Display Adapter Graphics</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="0" colspan="3">
|
||||
<widget class="QWidget" name="widget" native="true">
|
||||
<property name="sizePolicy">
|
||||
@@ -240,6 +227,19 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="0" colspan="3">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
@@ -250,6 +250,23 @@
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<tabstops>
|
||||
<tabstop>comboBoxVideo</tabstop>
|
||||
<tabstop>pushButtonConfigureVideo</tabstop>
|
||||
<tabstop>comboBoxVideoSecondary</tabstop>
|
||||
<tabstop>pushButtonConfigureVideoSecondary</tabstop>
|
||||
<tabstop>checkBoxVoodoo</tabstop>
|
||||
<tabstop>pushButtonConfigureVoodoo</tabstop>
|
||||
<tabstop>checkBox8514</tabstop>
|
||||
<tabstop>pushButtonConfigure8514</tabstop>
|
||||
<tabstop>checkBoxXga</tabstop>
|
||||
<tabstop>pushButtonConfigureXga</tabstop>
|
||||
<tabstop>checkBoxDa2</tabstop>
|
||||
<tabstop>pushButtonConfigureDa2</tabstop>
|
||||
<tabstop>radioButtonDefault</tabstop>
|
||||
<tabstop>pushButtonExportDefault</tabstop>
|
||||
<tabstop>radioButtonCustom</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -335,7 +335,7 @@ SettingsInput::on_pushButtonConfigureMouse_clicked()
|
||||
}
|
||||
|
||||
static int
|
||||
get_axis(JoystickConfiguration &jc, int axis, uint8_t gameport_nr, int joystick_nr)
|
||||
get_axis(JoystickConfiguration &jc, uint8_t gameport_nr, int joystick_nr, int axis)
|
||||
{
|
||||
int axis_sel = jc.selectedAxis(axis);
|
||||
int nr_axes = plat_joystick_state[joystick_state[gameport_nr][joystick_nr].plat_joystick_nr - 1].nr_axes;
|
||||
@@ -351,7 +351,7 @@ get_axis(JoystickConfiguration &jc, int axis, uint8_t gameport_nr, int joystick_
|
||||
}
|
||||
|
||||
static int
|
||||
get_pov(JoystickConfiguration &jc, int pov, uint8_t gameport_nr, int joystick_nr)
|
||||
get_pov(JoystickConfiguration &jc, uint8_t gameport_nr, int joystick_nr, int pov)
|
||||
{
|
||||
int pov_sel = jc.selectedPov(pov);
|
||||
int nr_povs = plat_joystick_state[joystick_state[gameport_nr][joystick_nr].plat_joystick_nr - 1].nr_povs * 2;
|
||||
@@ -379,17 +379,15 @@ updateJoystickConfig(int type, uint8_t gameport_nr, int joystick_nr, QWidget *pa
|
||||
|
||||
joystick_state[gameport_nr][joystick_nr].plat_joystick_nr = jc.selectedDevice();
|
||||
if (joystick_state[gameport_nr][joystick_nr].plat_joystick_nr) {
|
||||
for (int axis_nr = 0; axis_nr < joystick_get_axis_count(type); axis_nr++) {
|
||||
joystick_state[gameport_nr][joystick_nr].axis_mapping[axis_nr] = get_axis(jc, axis_nr, gameport_nr, joystick_nr);
|
||||
}
|
||||
for (int axis_nr = 0; axis_nr < joystick_get_axis_count(type); axis_nr++)
|
||||
joystick_state[gameport_nr][joystick_nr].axis_mapping[axis_nr] = get_axis(jc, gameport_nr, joystick_nr, axis_nr);
|
||||
|
||||
for (int button_nr = 0; button_nr < joystick_get_button_count(type); button_nr++) {
|
||||
for (int button_nr = 0; button_nr < joystick_get_button_count(type); button_nr++)
|
||||
joystick_state[gameport_nr][joystick_nr].button_mapping[button_nr] = jc.selectedButton(button_nr);
|
||||
}
|
||||
|
||||
for (int pov_nr = 0; pov_nr < joystick_get_pov_count(type) * 2; pov_nr += 2) {
|
||||
joystick_state[gameport_nr][joystick_nr].pov_mapping[pov_nr][0] = get_pov(jc, pov_nr, gameport_nr, joystick_nr);
|
||||
joystick_state[gameport_nr][joystick_nr].pov_mapping[pov_nr][1] = get_pov(jc, pov_nr + 1, gameport_nr, joystick_nr);
|
||||
for (int pov_nr = 0; pov_nr < joystick_get_pov_count(type); pov_nr++) {
|
||||
joystick_state[gameport_nr][joystick_nr].pov_mapping[pov_nr][0] = get_pov(jc, gameport_nr, joystick_nr, pov_nr * 2); // X Axis
|
||||
joystick_state[gameport_nr][joystick_nr].pov_mapping[pov_nr][1] = get_pov(jc, gameport_nr, joystick_nr, pov_nr * 2 + 1); // Y Axis
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,144 +41,18 @@
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="labelSearch">
|
||||
<property name="text">
|
||||
<string>Machine:</string>
|
||||
<string>Search:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>CPU type:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
<widget class="QSpinBox" name="spinBoxRAM">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string>Memory:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QWidget" name="widget_2" native="true">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QComboBox" name="comboBoxCPU">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maxVisibleItems">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="text">
|
||||
<string>Frequency:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="comboBoxSpeed">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maxVisibleItems">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QWidget" name="widget_4" native="true">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QComboBox" name="comboBoxWaitStates">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maxVisibleItems">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_8">
|
||||
<property name="text">
|
||||
<string>PIT mode:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="comboBoxPitMode">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maxVisibleItems">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLineEdit" name="lineEditSearch"/>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<widget class="QLabel" name="labelMachineType">
|
||||
<property name="text">
|
||||
<string>Machine type:</string>
|
||||
</property>
|
||||
@@ -191,17 +65,10 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QComboBox" name="comboBoxFPU">
|
||||
<property name="maxVisibleItems">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="labelMachine">
|
||||
<property name="text">
|
||||
<string>Wait states:</string>
|
||||
<string>Machine:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -243,22 +110,155 @@
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="labelCPU">
|
||||
<property name="text">
|
||||
<string>CPU type:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QWidget" name="widget_2" native="true">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QComboBox" name="comboBoxCPU">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maxVisibleItems">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="labelSpeed">
|
||||
<property name="text">
|
||||
<string>Frequency:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="comboBoxSpeed">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maxVisibleItems">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<widget class="QLabel" name="labelFPU">
|
||||
<property name="text">
|
||||
<string>FPU:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_9">
|
||||
<property name="text">
|
||||
<string>Search:</string>
|
||||
<item row="4" column="1">
|
||||
<widget class="QComboBox" name="comboBoxFPU">
|
||||
<property name="maxVisibleItems">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLineEdit" name="lineEditSearch"/>
|
||||
<item row="5" column="0">
|
||||
<widget class="QLabel" name="labelWaitStates">
|
||||
<property name="text">
|
||||
<string>Wait states:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QWidget" name="widget_4" native="true">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QComboBox" name="comboBoxWaitStates">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maxVisibleItems">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="labelPITMode">
|
||||
<property name="text">
|
||||
<string>PIT mode:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="comboBoxPitMode">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maxVisibleItems">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<widget class="QLabel" name="labelMemory">
|
||||
<property name="text">
|
||||
<string>Memory:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
<widget class="QSpinBox" name="spinBoxRAM">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
@@ -312,7 +312,7 @@
|
||||
<item>
|
||||
<spacer name="softFloatHorizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -325,92 +325,116 @@
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>CPU frame size</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonLargerFrames">
|
||||
<property name="text">
|
||||
<string>Larger frames (less smooth)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonSmallerFrames">
|
||||
<property name="text">
|
||||
<string>Smaller frames (smoother)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<layout class="QHBoxLayout" name="groupBoxesLayout">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBoxTimeSync">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Time synchronization</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="groupBoxTimeSyncLayout">
|
||||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonDisabled">
|
||||
<property name="text">
|
||||
<string>Disabled</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonLocalTime">
|
||||
<property name="text">
|
||||
<string>Enabled (local time)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonUTC">
|
||||
<property name="text">
|
||||
<string>Enabled (UTC)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="timeSyncVerticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Expanding</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<spacer name="horizontalSpacer">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBoxCPUFrameSize">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>CPU frame size</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="groupBoxCPUFrameSizeLayout">
|
||||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonLargerFrames">
|
||||
<property name="text">
|
||||
<string>Larger frames (less smooth)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonSmallerFrames">
|
||||
<property name="text">
|
||||
<string>Smaller frames (smoother)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="frameSizeVerticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Expanding</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="groupBoxesHorizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Time synchronization</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonDisabled">
|
||||
<property name="text">
|
||||
<string>Disabled</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonLocalTime">
|
||||
<property name="text">
|
||||
<string>Enabled (local time)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonUTC">
|
||||
<property name="text">
|
||||
<string>Enabled (UTC)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -422,19 +446,6 @@
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="sizeConstraint">
|
||||
<enum>QLayout::SizeConstraint::SetFixedSize</enum>
|
||||
<enum>QLayout::SetFixedSize</enum>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<widget class="QLabel" name="labelSystemDir">
|
||||
<property name="text">
|
||||
<string>System Directory:</string>
|
||||
</property>
|
||||
@@ -146,7 +146,7 @@
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -159,10 +159,10 @@
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Ok</set>
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
@@ -1812,7 +1812,7 @@ fdc37c93x_reset(void *priv)
|
||||
memset(dev->gpio_pulldn, 0xff, 8);
|
||||
|
||||
/* Acer V62X requires bit 0 to be clear to not be stuck in "clear password" mode. */
|
||||
if (machines[machine].init == machine_at_vectra54_init) {
|
||||
if ((machines[machine].init == machine_at_vectra54_init) || (machines[machine].init == machine_at_vectra500mt_init)) {
|
||||
dev->gpio_pulldn[1] = 0x40;
|
||||
|
||||
/*
|
||||
|
||||
@@ -685,7 +685,7 @@ fdc37m60x_init(const device_t *info)
|
||||
}
|
||||
|
||||
const device_t fdc37m60x_device = {
|
||||
.name = "SMC FDC37C93x Super I/O",
|
||||
.name = "SMC FDC37M60x Super I/O",
|
||||
.internal_name = "fdc37m60x",
|
||||
.flags = 0,
|
||||
.local = 0,
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
#include <86box/fdc.h>
|
||||
#include <86box/keyboard.h>
|
||||
#include <86box/sio.h>
|
||||
#include <86box/random.h>
|
||||
#include <86box/plat_fallthrough.h>
|
||||
#include "cpu.h"
|
||||
|
||||
@@ -108,6 +109,10 @@ pc87307_gpio_write(uint16_t port, uint8_t val, void *priv)
|
||||
CS, cpu_state.pc, port, bank, val);
|
||||
|
||||
dev->gpio[bank][port & 0x0007] = val;
|
||||
|
||||
if (bank == 0) {
|
||||
machine_handle_gpio(1, ((dev->gpio[0][5] & dev->gpio[0][4]) << 8) | (dev->gpio[0][0] & dev->gpio[0][1]));
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t
|
||||
@@ -118,18 +123,18 @@ pc87307_gpio_read(uint16_t port, void *priv)
|
||||
uint8_t bank = !!(dev->regs[0x22] & 0x80);
|
||||
uint8_t ret = dev->gpio[bank][port & 0x0007];
|
||||
|
||||
switch (port & 0x0003) {
|
||||
switch (port & 0x0007) {
|
||||
case 0x0000:
|
||||
if (bank == 0) {
|
||||
uint8_t mask = dev->gpio[0][1];
|
||||
pins = 0x7f;
|
||||
pins = machine_handle_gpio(0, 0xFFFF) & 0xFF;
|
||||
ret = (ret & mask) | (pins & ~mask);
|
||||
}
|
||||
break;
|
||||
case 0x0004:
|
||||
if (bank == 0) {
|
||||
uint8_t mask = dev->gpio[0][5];
|
||||
pins = 0xfb;
|
||||
pins = (machine_handle_gpio(0, 0xFFFF) >> 8) & 0xFF;
|
||||
ret = (ret & mask) | (pins & ~mask);
|
||||
} else
|
||||
ret = 0xff;
|
||||
@@ -152,13 +157,13 @@ static void
|
||||
pc87307_gpio_remove(pc87307_t *dev)
|
||||
{
|
||||
if (dev->gpio_base != 0xffff) {
|
||||
io_removehandler(dev->gpio_base, 0x0002,
|
||||
io_removehandler(dev->gpio_base, 0x0008,
|
||||
pc87307_gpio_read, NULL, NULL, pc87307_gpio_write, NULL, NULL, dev);
|
||||
dev->gpio_base = 0xffff;
|
||||
}
|
||||
|
||||
if (dev->gpio_base2 != 0xffff) {
|
||||
io_removehandler(dev->gpio_base2, 0x0002,
|
||||
io_removehandler(dev->gpio_base2, 0x0008,
|
||||
pc87307_gpio_read, NULL, NULL, pc87307_gpio_write, NULL, NULL, dev);
|
||||
dev->gpio_base2 = 0xffff;
|
||||
}
|
||||
@@ -171,7 +176,7 @@ pc87307_gpio_init(pc87307_t *dev, int bank, uint16_t addr)
|
||||
|
||||
*bank_base = addr;
|
||||
|
||||
io_sethandler(*bank_base, 0x0002,
|
||||
io_sethandler(*bank_base, 0x0008,
|
||||
pc87307_gpio_read, NULL, NULL, pc87307_gpio_write, NULL, NULL, dev);
|
||||
}
|
||||
|
||||
|
||||
@@ -1330,7 +1330,7 @@ w83977_init(const device_t *info)
|
||||
}
|
||||
|
||||
const device_t w83977_device = {
|
||||
.name = "SMC FDC37C93x Super I/O",
|
||||
.name = "Winbond W83977F/TF/EF Super I/O",
|
||||
.internal_name = "w83977",
|
||||
.flags = 0,
|
||||
.local = 0,
|
||||
|
||||
@@ -344,7 +344,7 @@ ad1848_write(uint16_t addr, uint8_t val, void *priv)
|
||||
|
||||
case 12:
|
||||
if (ad1848->type >= AD1848_TYPE_CS4248) {
|
||||
ad1848->regs[12] = 0x80 | (val & 0x70) | (ad1848->regs[12] & 0x0f);
|
||||
ad1848->regs[12] = 0x80 | (val & 0x60) | (ad1848->regs[12] & 0x0f);
|
||||
if ((ad1848->type >= AD1848_TYPE_CS4231) && (ad1848->type < AD1848_TYPE_CS4235)) {
|
||||
if (val & 0x40)
|
||||
ad1848->fmt_mask |= 0x80;
|
||||
@@ -425,6 +425,19 @@ ad1848_write(uint16_t addr, uint8_t val, void *priv)
|
||||
ad1848->fm_vol_r = (int) ad1848_vols_5bits_aux_gain[val & 0x1f];
|
||||
}
|
||||
}
|
||||
if ((ad1848->type >= AD1848_TYPE_CS4232) && (ad1848->type <= AD1848_TYPE_CS4236)) {
|
||||
if (ad1848->index == 18) {
|
||||
if (val & 0x80)
|
||||
ad1848->fm_vol_l = 0;
|
||||
else
|
||||
ad1848->fm_vol_l = (int) ad1848_vols_5bits_aux_gain[val & 0x1f];
|
||||
} else {
|
||||
if (val & 0x80)
|
||||
ad1848->fm_vol_r = 0;
|
||||
else
|
||||
ad1848->fm_vol_r = (int) ad1848_vols_5bits_aux_gain[val & 0x1f];
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 20 ... 21:
|
||||
@@ -508,6 +521,8 @@ readonly_x:
|
||||
}
|
||||
if (ad1848->type == AD1848_TYPE_CS4231) /* I23 is reserved and read-only on CS4231 non-A */
|
||||
goto readonly_i;
|
||||
if ((ad1848->type >= AD1848_TYPE_CS4232) || (ad1848->type <= AD1848_TYPE_CS4236)) /* I23 bits 7-1 are read-only on CS4231A/4232/4236 non-B, Win2k relies on this for detection */
|
||||
val = (val & 0x01);
|
||||
break;
|
||||
|
||||
case 24:
|
||||
|
||||
@@ -1040,10 +1040,20 @@ azt2316a_enable_wss(uint8_t enable, void *priv)
|
||||
{
|
||||
azt2316a_t *azt2316a = (azt2316a_t *) priv;
|
||||
|
||||
if (enable)
|
||||
sound_set_cd_audio_filter(NULL, NULL);
|
||||
|
||||
if (enable) {
|
||||
azt2316a->cur_mode = 1;
|
||||
else
|
||||
sound_set_cd_audio_filter(ad1848_filter_cd_audio, &azt2316a->ad1848);
|
||||
azt2316a->sb->opl_mixer = azt2316a;
|
||||
azt2316a->sb->opl_mix = azt1605_filter_opl;
|
||||
}
|
||||
else {
|
||||
azt2316a->cur_mode = 0;
|
||||
sound_set_cd_audio_filter(sbpro_filter_cd_audio, azt2316a->sb);
|
||||
azt2316a->sb->opl_mixer = NULL;
|
||||
azt2316a->sb->opl_mix = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
@@ -568,7 +568,11 @@ cs423x_ctxswitch_write(uint16_t addr, UNUSED(uint8_t val), void *priv)
|
||||
{
|
||||
cs423x_t *dev = (cs423x_t *) priv;
|
||||
uint8_t ctx = (dev->regs[7] & 0x80);
|
||||
uint8_t enable_opl = (dev->ad1848.xregs[4] & 0x10) && !(dev->indirect_regs[2] & 0x85);
|
||||
uint8_t enable_opl = (dev->ad1848.xregs[4] & 0x10) && !(dev->indirect_regs[2] & 0x85); /* CS4236B+ */
|
||||
|
||||
/* CS4232/4236 (non-B) doesn't have an IFM bit, always enable the OPL on these chips */
|
||||
if (dev->type <= CRYSTAL_CS4236)
|
||||
enable_opl = 1;
|
||||
|
||||
/* Check if a context switch (WSS=1 <-> SBPro=0) occurred through the address being written. */
|
||||
if ((dev->regs[7] & 0x80) ? ((addr & 0xfff0) == dev->sb_base) : ((addr & 0xfffc) == dev->wss_base)) {
|
||||
@@ -1005,6 +1009,7 @@ cs423x_init(const device_t *info)
|
||||
/* Initialize SBPro codec. The WSS codec is initialized later by cs423x_reset */
|
||||
dev->sb = device_add_inst(&sb_pro_compat_device, 1);
|
||||
sound_set_cd_audio_filter(sbpro_filter_cd_audio, dev->sb); /* CD audio filter for the default context */
|
||||
music_add_handler(sb_get_music_buffer_sbpro, dev->sb); /* Init the SBPro OPL3 since sb_pro_compat_init does not */
|
||||
|
||||
/* Initialize RAM, registers and WSS codec. */
|
||||
cs423x_reset(dev);
|
||||
|
||||
@@ -22,7 +22,9 @@
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#define __USE_LARGEFILE64
|
||||
#ifndef __USE_LARGEFILE64
|
||||
#define __USE_LARGEFILE64 1
|
||||
#endif
|
||||
#include <sys/types.h>
|
||||
|
||||
#if (defined(__HAIKU__) || defined(__unix__) || defined(__APPLE__)) && !defined(__linux__)
|
||||
|
||||
@@ -290,7 +290,7 @@ ics2494_init(const device_t *info)
|
||||
ics2494->freq[15] = 65000000.0;
|
||||
break;
|
||||
case 305:
|
||||
/* ICS2494A(N)-205 for S3 86C924 */
|
||||
/* ICS2494A(N)-305 for S3 86C924 */
|
||||
ics2494->freq[0x0] = 25175000.0;
|
||||
ics2494->freq[0x1] = 28322000.0;
|
||||
ics2494->freq[0x2] = 40000000.0;
|
||||
@@ -308,6 +308,25 @@ ics2494_init(const device_t *info)
|
||||
ics2494->freq[0xe] = 75000000.0;
|
||||
ics2494->freq[0xf] = 94500000.0;
|
||||
break;
|
||||
case 324:
|
||||
/* ICS2494A(N)-324 for Tseng ET4000/W32 series */
|
||||
ics2494->freq[0x0] = 50000000.0;
|
||||
ics2494->freq[0x1] = 56644000.0;
|
||||
ics2494->freq[0x2] = 65000000.0;
|
||||
ics2494->freq[0x3] = 72000000.0;
|
||||
ics2494->freq[0x4] = 80000000.0;
|
||||
ics2494->freq[0x5] = 89800000.0;
|
||||
ics2494->freq[0x6] = 63000000.0;
|
||||
ics2494->freq[0x7] = 75000000.0;
|
||||
ics2494->freq[0x8] = 83078000.0;
|
||||
ics2494->freq[0x9] = 93463000.0;
|
||||
ics2494->freq[0xa] = 100000000.0;
|
||||
ics2494->freq[0xb] = 104000000.0;
|
||||
ics2494->freq[0xc] = 108000000.0;
|
||||
ics2494->freq[0xd] = 120000000.0;
|
||||
ics2494->freq[0xe] = 130000000.0;
|
||||
ics2494->freq[0xf] = 134700000.0;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
@@ -339,6 +358,20 @@ const device_t ics2494an_305_device = {
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t ics2494an_324_device = {
|
||||
.name = "ICS2494AN-324 Clock Generator",
|
||||
.internal_name = "ics2494an_324",
|
||||
.flags = 0,
|
||||
.local = 324,
|
||||
.init = ics2494_init,
|
||||
.close = ics2494_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t ati18810_28800_device = {
|
||||
.name = "ATI 18810 (ATI 28800) Clock Generator",
|
||||
.internal_name = "ati18810_28800",
|
||||
|
||||
@@ -42,12 +42,6 @@ att49x_ramdac_control(uint8_t val, void *priv, svga_t *svga)
|
||||
att49x_ramdac_t *ramdac = (att49x_ramdac_t *) priv;
|
||||
ramdac->ctrl = val;
|
||||
switch ((ramdac->ctrl >> 5) & 7) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
svga->bpp = 8;
|
||||
break;
|
||||
case 4:
|
||||
case 5:
|
||||
svga->bpp = 15;
|
||||
@@ -60,10 +54,12 @@ att49x_ramdac_control(uint8_t val, void *priv, svga_t *svga)
|
||||
break;
|
||||
|
||||
default:
|
||||
svga->bpp = 8;
|
||||
break;
|
||||
}
|
||||
if (ramdac->type == ATT_490 || ramdac->type == ATT_491)
|
||||
svga_set_ramdac_type(svga, (val & 2) ? RAMDAC_8BIT : RAMDAC_6BIT);
|
||||
|
||||
svga_recalctimings(svga);
|
||||
}
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ att498_ramdac_control(uint8_t val, void *priv, svga_t *svga)
|
||||
svga->bpp = 8;
|
||||
break;
|
||||
case 1:
|
||||
if (ramdac->ctrl & 4)
|
||||
if (ramdac->ctrl & 0x04)
|
||||
svga->bpp = 15;
|
||||
else
|
||||
svga->bpp = 8;
|
||||
@@ -63,7 +63,7 @@ att498_ramdac_control(uint8_t val, void *priv, svga_t *svga)
|
||||
break;
|
||||
}
|
||||
|
||||
svga_set_ramdac_type(svga, (ramdac->ctrl & 2) ? RAMDAC_8BIT : RAMDAC_6BIT);
|
||||
svga_set_ramdac_type(svga, (ramdac->ctrl & 0x02) ? RAMDAC_8BIT : RAMDAC_6BIT);
|
||||
svga_recalctimings(svga);
|
||||
}
|
||||
|
||||
@@ -132,7 +132,7 @@ att498_ramdac_in(uint16_t addr, int rs2, void *priv, svga_t *svga)
|
||||
ramdac->state++;
|
||||
break;
|
||||
case 6:
|
||||
temp = ramdac->ctrl;
|
||||
temp = 0x98;
|
||||
ramdac->state = 0;
|
||||
break;
|
||||
default:
|
||||
|
||||
@@ -366,15 +366,14 @@ bt48x_recalctimings(void *priv, svga_t *svga)
|
||||
svga->clock_multiplier = 0;
|
||||
svga->multiplexing_rate = 0;
|
||||
svga->true_color_bypass = 0;
|
||||
if (ramdac->cmd_r3 & 0x08) { /* x2 clock multiplier */
|
||||
//pclog("2x multiplier.\n");
|
||||
if (ramdac->cmd_r3 & 0x08) /* x2 clock multiplier */
|
||||
svga->clock_multiplier = 1;
|
||||
}
|
||||
|
||||
svga->multiplexing_rate = (ramdac->cmd_r1 & 0x60) >> 5;
|
||||
if (svga->bpp >= 15)
|
||||
svga->true_color_bypass = !!(ramdac->cmd_r1 & 0x10);
|
||||
|
||||
//pclog("CR0=%02x, CR1=%02x, CR2=%02x.\n", ramdac->cmd_r0, ramdac->cmd_r1, ramdac->cmd_r2);
|
||||
pclog("CR0=%02x, CR1=%02x, CR2=%02x.\n", ramdac->cmd_r0, ramdac->cmd_r1, ramdac->cmd_r2);
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -60,6 +60,7 @@ typedef union ibm_rgb528_pixel32_t {
|
||||
} ibm_rgb528_pixel32_t;
|
||||
|
||||
typedef struct ibm_rgb528_ramdac_t {
|
||||
int type;
|
||||
PALETTE extpal;
|
||||
uint32_t extpallook[256];
|
||||
uint8_t indexed_data[2048];
|
||||
@@ -627,19 +628,21 @@ ibm_rgb528_ramdac_out(uint16_t addr, int rs2, uint8_t val, void *priv, svga_t *s
|
||||
case 0x02a:
|
||||
case 0x02c:
|
||||
case 0x02e:
|
||||
if (ramdac->indexed_data[0x0002] & 0x01) {
|
||||
switch (ramdac->indexed_data[0x0010] & 0x07) {
|
||||
case 0x00:
|
||||
case 0x02:
|
||||
ramdac->pix_f[ramdac->index - 0x0020] = val;
|
||||
break;
|
||||
case 0x01:
|
||||
case 0x03:
|
||||
ramdac->pix_m[(ramdac->index - 0x0020) >> 1] = val;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
switch (ramdac->indexed_data[0x0010] & 0x03) {
|
||||
case 0x00:
|
||||
ramdac->pix_f[(ramdac->index - 0x0020)] = val;
|
||||
break;
|
||||
case 0x01:
|
||||
ramdac->pix_m[(ramdac->index - 0x0020) >> 1] = val;
|
||||
break;
|
||||
case 0x02:
|
||||
ramdac->pix_f[(ramdac->index - 0x0020)] = val;
|
||||
break;
|
||||
case 0x03:
|
||||
ramdac->pix_m[(ramdac->index - 0x0020) >> 1] = val;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 0x021:
|
||||
@@ -650,19 +653,21 @@ ibm_rgb528_ramdac_out(uint16_t addr, int rs2, uint8_t val, void *priv, svga_t *s
|
||||
case 0x02b:
|
||||
case 0x02d:
|
||||
case 0x02f:
|
||||
if (ramdac->indexed_data[0x0002] & 0x01) {
|
||||
switch (ramdac->indexed_data[0x010] & 0x07) {
|
||||
case 0x00:
|
||||
case 0x02:
|
||||
ramdac->pix_f[ramdac->index - 0x0020] = val;
|
||||
break;
|
||||
case 0x01:
|
||||
case 0x03:
|
||||
ramdac->pix_n[(ramdac->index - 0x0020) >> 1] = val;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
switch (ramdac->indexed_data[0x0010] & 0x03) {
|
||||
case 0x00:
|
||||
ramdac->pix_f[(ramdac->index - 0x0020)] = val;
|
||||
break;
|
||||
case 0x01:
|
||||
ramdac->pix_n[(ramdac->index - 0x0020) >> 1] = val;
|
||||
break;
|
||||
case 0x02:
|
||||
ramdac->pix_f[(ramdac->index - 0x0020)] = val;
|
||||
break;
|
||||
case 0x03:
|
||||
ramdac->pix_n[(ramdac->index - 0x0020) >> 1] = val;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -868,7 +873,52 @@ ibm_rgb528_recalctimings(void *priv, svga_t *svga)
|
||||
{
|
||||
const ibm_rgb528_ramdac_t *ramdac = (ibm_rgb528_ramdac_t *) priv;
|
||||
|
||||
svga->interlace = ramdac->indexed_data[0x071] & 0x20;
|
||||
svga->interlace = !!(ramdac->indexed_data[0x071] & 0x20);
|
||||
//pclog("MiscClockControl idx002=%02x, SystemClockControl idx008=%02x, Misc2 idx071=%02x, Misc1 idx070=%02x, Misc4 idx073=%02x.\n",
|
||||
// ramdac->indexed_data[0x002], ramdac->indexed_data[0x008], ramdac->indexed_data[0x071], ramdac->indexed_data[0x070], ramdac->indexed_data[0x073]);
|
||||
|
||||
if (ramdac->indexed_data[0x071] & 0x01) {
|
||||
if ((ramdac->indexed_data[0x070] & 0x03) == 0x03) {
|
||||
switch ((ramdac->indexed_data[0x002] & 0x0e) >> 1) {
|
||||
case 0x00:
|
||||
default:
|
||||
svga->clock_multiplier = 0;
|
||||
break;
|
||||
case 0x01:
|
||||
svga->clock_multiplier = 1;
|
||||
break;
|
||||
case 0x02:
|
||||
svga->clock_multiplier = 2;
|
||||
break;
|
||||
case 0x03:
|
||||
svga->clock_multiplier = 3;
|
||||
break;
|
||||
case 0x04:
|
||||
svga->clock_multiplier = 4;
|
||||
break;
|
||||
}
|
||||
} else if ((ramdac->indexed_data[0x070] & 0x03) == 0x01) {
|
||||
switch ((ramdac->indexed_data[0x002] & 0x0e) >> 1) {
|
||||
case 0x00:
|
||||
default:
|
||||
svga->clock_multiplier = 1;
|
||||
svga->clock *= 2.0;
|
||||
break;
|
||||
case 0x01:
|
||||
svga->clock_multiplier = 1;
|
||||
break;
|
||||
case 0x02:
|
||||
svga->clock_multiplier = 2;
|
||||
break;
|
||||
case 0x03:
|
||||
svga->clock_multiplier = 3;
|
||||
break;
|
||||
case 0x04:
|
||||
svga->clock_multiplier = 4;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (svga->scrblank || !svga->attr_palette_enable) {
|
||||
if ((svga->gdcreg[6] & 1) || (svga->attrregs[0x10] & 1)) {
|
||||
@@ -904,49 +954,47 @@ ibm_rgb528_recalctimings(void *priv, svga_t *svga)
|
||||
float
|
||||
ibm_rgb528_getclock(int clock, void *priv)
|
||||
{
|
||||
const ibm_rgb528_ramdac_t *ramdac = (ibm_rgb528_ramdac_t *) priv;
|
||||
int pll_vco_div_cnt;
|
||||
int pll_df;
|
||||
int pll_ref_div_cnt;
|
||||
int ddot_divs[8] = { 1, 2, 4, 8, 16, 1, 1, 1 };
|
||||
int ddot_div = ddot_divs[(ramdac->indexed_data[0x0002] >> 1) & 0x07];
|
||||
float f_pll;
|
||||
const ibm_rgb528_ramdac_t *ramdac = (ibm_rgb528_ramdac_t *) priv;
|
||||
int pll_vco_div_cnt;
|
||||
int pll_df;
|
||||
int pll_ref_div_cnt;
|
||||
int ddot_divs[8] = { 1, 2, 4, 8, 16, 1, 1, 1 };
|
||||
int ddot_div = ddot_divs[(ramdac->indexed_data[0x0002] >> 1) & 0x07];
|
||||
float f_pll;
|
||||
|
||||
clock &= 0x03;
|
||||
if (clock == 0)
|
||||
return 25175000.0f;
|
||||
if (clock == 1)
|
||||
return 28322000.0f;
|
||||
|
||||
if (ramdac->indexed_data[0x0002] & 0x01) {
|
||||
switch (ramdac->indexed_data[0x0010] & 0x07) {
|
||||
case 0x00:
|
||||
default:
|
||||
pll_vco_div_cnt = ramdac->pix_f[clock] & 0x3f;
|
||||
pll_df = 8 >> (ramdac->pix_f[clock] >> 6);
|
||||
pll_ref_div_cnt = ramdac->pix_f_ref_div & 0x1f;
|
||||
break;
|
||||
case 0x01:
|
||||
pll_vco_div_cnt = ramdac->pix_m[clock] & 0x3f;
|
||||
pll_df = 8 >> (ramdac->pix_m[clock] >> 6);
|
||||
pll_ref_div_cnt = ramdac->pix_n[clock] & 0x1f;
|
||||
break;
|
||||
case 0x02:
|
||||
pll_vco_div_cnt = ramdac->pix_f[ramdac->indexed_data[0x0011] & 0x0f] & 0x3f;
|
||||
pll_df = 8 >> (ramdac->pix_f[ramdac->indexed_data[0x0011] & 0x0f] >> 6);
|
||||
pll_ref_div_cnt = ramdac->pix_f_ref_div & 0x1f;
|
||||
break;
|
||||
case 0x03:
|
||||
pll_vco_div_cnt = ramdac->pix_m[ramdac->indexed_data[0x0011] & 0x07] & 0x3f;
|
||||
pll_df = 8 >> (ramdac->pix_m[ramdac->indexed_data[0x0011] & 0x07] >> 6);
|
||||
pll_ref_div_cnt = ramdac->pix_n[ramdac->indexed_data[0x0011] & 0x07] & 0x1f;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
pll_vco_div_cnt = ramdac->indexed_data[0x0016] & 0x3f;
|
||||
pll_df = 8 >> (ramdac->indexed_data[0x0016] >> 6);
|
||||
pll_ref_div_cnt = ramdac->indexed_data[0x0015] & 0x1f;
|
||||
switch (ramdac->indexed_data[0x0010] & 0x03) {
|
||||
case 0x00:
|
||||
default:
|
||||
pll_vco_div_cnt = ramdac->pix_f[clock & 0x03] & 0x3f;
|
||||
pll_df = 8 >> (ramdac->pix_f[clock & 0x03] >> 6);
|
||||
pll_ref_div_cnt = ramdac->pix_f_ref_div & 0x1f;
|
||||
break;
|
||||
case 0x01:
|
||||
pll_vco_div_cnt = ramdac->pix_m[clock & 0x03] & 0x3f;
|
||||
pll_df = 8 >> (ramdac->pix_m[clock & 0x03] >> 6);
|
||||
pll_ref_div_cnt = ramdac->pix_n[clock & 0x03] & 0x1f;
|
||||
break;
|
||||
case 0x02:
|
||||
pll_vco_div_cnt = ramdac->pix_f[ramdac->indexed_data[0x0011] & 0x0f] & 0x3f;
|
||||
pll_df = 8 >> (ramdac->pix_f[ramdac->indexed_data[0x0011] & 0x0f] >> 6);
|
||||
pll_ref_div_cnt = ramdac->pix_f_ref_div & 0x1f;
|
||||
break;
|
||||
case 0x03:
|
||||
pll_vco_div_cnt = ramdac->pix_m[ramdac->indexed_data[0x0011] & 0x0f] & 0x3f;
|
||||
pll_df = 8 >> (ramdac->pix_m[ramdac->indexed_data[0x0011] & 0x0f] >> 6);
|
||||
pll_ref_div_cnt = ramdac->pix_n[ramdac->indexed_data[0x0011] & 0x0f] & 0x1f;
|
||||
break;
|
||||
}
|
||||
|
||||
f_pll = ramdac->ref_clock * (float) (pll_vco_div_cnt + 65) / (float) (pll_ref_div_cnt * pll_df);
|
||||
f_pll /= (float) ddot_div;
|
||||
|
||||
//pclog("PIXCTRL1=%02x, clock=%d, m=%d, df=%d, n=%d, ctrl2=%02x, miscclock=%02x, sysclock=%02x, f_pll=%f.\n",
|
||||
// ramdac->indexed_data[0x010], clock, pll_vco_div_cnt, pll_df, pll_ref_div_cnt, ramdac->indexed_data[0x011], ramdac->indexed_data[0x002], ramdac->indexed_data[0x008], f_pll);
|
||||
return f_pll;
|
||||
}
|
||||
|
||||
@@ -1073,19 +1121,11 @@ ibm_rgb528_ramdac_init(UNUSED(const device_t *info))
|
||||
|
||||
ramdac->smlc_part = 0x0100;
|
||||
ramdac->ref_clock = 14318184.0f;
|
||||
ramdac->pix_f_ref_div = 0x07; /*Per datasheet regarding the reference clock value.*/
|
||||
|
||||
ramdac->indexed_data[0x0008] = 0x0001;
|
||||
ramdac->indexed_data[0x0014] = 0x0005;
|
||||
ramdac->indexed_data[0x0015] = 0x0008;
|
||||
ramdac->indexed_data[0x0016] = 0x0041;
|
||||
ramdac->indexed_data[0x0020] = 0x0005;
|
||||
ramdac->indexed_data[0x0021] = 0x000e;
|
||||
|
||||
ramdac->pix_f_ref_div = 0x0005;
|
||||
ramdac->pix_f[0] = 0x0005;
|
||||
ramdac->pix_f[1] = 0x000e;
|
||||
ramdac->pix_m[0] = 0x0005;
|
||||
ramdac->pix_n[0] = 0x000e;
|
||||
|
||||
return ramdac;
|
||||
}
|
||||
|
||||
@@ -49,6 +49,7 @@ typedef struct sdac_ramdac_t {
|
||||
int rs2;
|
||||
uint8_t type;
|
||||
uint8_t command;
|
||||
float ref_clock;
|
||||
} sdac_ramdac_t;
|
||||
|
||||
static void
|
||||
@@ -275,11 +276,21 @@ sdac_getclock(int clock, void *priv)
|
||||
n1 = ((ramdac->regs[clock] >> 8) & 0x1f) + 2;
|
||||
n2 = ((ramdac->regs[clock] >> 13) & 0x07);
|
||||
n2 = (1 << n2);
|
||||
t = (14318184.0f * (float) m) / (float) (n1 * n2);
|
||||
t = (ramdac->ref_clock * (float) m) / (float) (n1 * n2);
|
||||
|
||||
//pclog("SDACClock=%d, regs val=%04x.\n", clock, ramdac->regs[clock]);
|
||||
return t;
|
||||
}
|
||||
|
||||
void
|
||||
sdac_set_ref_clock(void *priv, float ref_clock)
|
||||
{
|
||||
sdac_ramdac_t *ramdac = (sdac_ramdac_t *) priv;
|
||||
|
||||
if (ramdac != NULL)
|
||||
ramdac->ref_clock = ref_clock;
|
||||
}
|
||||
|
||||
void *
|
||||
sdac_ramdac_init(const device_t *info)
|
||||
{
|
||||
@@ -288,6 +299,7 @@ sdac_ramdac_init(const device_t *info)
|
||||
|
||||
ramdac->type = info->local;
|
||||
|
||||
ramdac->ref_clock = 14318184.0f;
|
||||
ramdac->regs[0] = 0x6128;
|
||||
ramdac->regs[1] = 0x623d;
|
||||
|
||||
|
||||
@@ -31,6 +31,7 @@ typedef struct stg_ramdac_t {
|
||||
int magic_count, index;
|
||||
uint8_t regs[256];
|
||||
uint8_t command;
|
||||
int type;
|
||||
} stg_ramdac_t;
|
||||
|
||||
static int stg_state_read[2][8] = {
|
||||
@@ -46,6 +47,8 @@ stg_ramdac_set_bpp(svga_t *svga, stg_ramdac_t *ramdac)
|
||||
switch (ramdac->regs[3]) {
|
||||
default:
|
||||
case 0:
|
||||
svga->bpp = 8;
|
||||
break;
|
||||
case 5:
|
||||
case 7:
|
||||
svga->bpp = 8;
|
||||
@@ -176,7 +179,7 @@ stg_ramdac_in(uint16_t addr, void *priv, svga_t *svga)
|
||||
temp = 0x44;
|
||||
break;
|
||||
case 1:
|
||||
temp = 0x03;
|
||||
temp = ramdac->type;
|
||||
break;
|
||||
case 7:
|
||||
temp = 0x88;
|
||||
@@ -216,22 +219,24 @@ stg_getclock(int clock, void *priv)
|
||||
float t;
|
||||
int m;
|
||||
int n;
|
||||
int n2;
|
||||
const uint16_t *c;
|
||||
int d;
|
||||
int d2;
|
||||
uint16_t c;
|
||||
|
||||
if (clock == 0)
|
||||
return 25175000.0;
|
||||
if (clock == 1)
|
||||
return 28322000.0;
|
||||
|
||||
clock ^= 1; /*Clocks 2 and 3 seem to be reversed*/
|
||||
c = (uint16_t *) &ramdac->regs[0x20 + (clock << 1)];
|
||||
m = (*c & 0xff) + 2; /* B+2 */
|
||||
n = ((*c >> 8) & 0x1f) + 2; /* N1+2 */
|
||||
n2 = ((*c >> 13) & 0x07); /* D */
|
||||
n2 = (1 << n2);
|
||||
t = (14318184.0f * (float) m) / (float) (n * n2);
|
||||
c = ramdac->regs[0x20 + (clock << 1)];
|
||||
c |= (ramdac->regs[0x21 + (clock << 1)] << 8);
|
||||
m = (c & 0xff) + 2; /* B+2 */
|
||||
n = ((c >> 8) & 0x1f) + 2; /* N1+2 */
|
||||
d = ((c >> 13) & 0x07); /* D */
|
||||
d2 = (1 << d);
|
||||
t = (14318184.0f * (float) m) / (float) (n * d2);
|
||||
|
||||
//pclog("RAMDAC vclk val=0x%02x, vclk v=%d low, D=%d, t=%f.\n", ramdac->regs[0x20 + (clock << 1)], clock, d2, t);
|
||||
return t;
|
||||
}
|
||||
|
||||
@@ -241,6 +246,8 @@ stg_ramdac_init(UNUSED(const device_t *info))
|
||||
stg_ramdac_t *ramdac = (stg_ramdac_t *) malloc(sizeof(stg_ramdac_t));
|
||||
memset(ramdac, 0, sizeof(stg_ramdac_t));
|
||||
|
||||
ramdac->type = info->local & 0xff;
|
||||
|
||||
return ramdac;
|
||||
}
|
||||
|
||||
@@ -253,11 +260,25 @@ stg_ramdac_close(void *priv)
|
||||
free(ramdac);
|
||||
}
|
||||
|
||||
const device_t stg_ramdac_device = {
|
||||
.name = "SGS-Thompson STG170x RAMDAC",
|
||||
const device_t stg1702_ramdac_device = {
|
||||
.name = "SGS-Thompson STG1702 RAMDAC",
|
||||
.internal_name = "stg_ramdac",
|
||||
.flags = 0,
|
||||
.local = 0,
|
||||
.local = 2,
|
||||
.init = stg_ramdac_init,
|
||||
.close = stg_ramdac_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t stg1703_ramdac_device = {
|
||||
.name = "SGS-Thompson STG1703 RAMDAC",
|
||||
.internal_name = "stg_ramdac",
|
||||
.flags = 0,
|
||||
.local = 3,
|
||||
.init = stg_ramdac_init,
|
||||
.close = stg_ramdac_close,
|
||||
.reset = NULL,
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
* Emulation of the Texas Instruments TVP3026 true colour RAMDAC
|
||||
* family.
|
||||
*
|
||||
* TODO: Clock and other parts.
|
||||
*
|
||||
* Authors: TheCollector1995,
|
||||
*
|
||||
@@ -49,6 +48,7 @@ typedef struct tvp3026_ramdac_t {
|
||||
uint8_t mode;
|
||||
uint8_t pll_addr;
|
||||
uint8_t clock_sel;
|
||||
uint8_t color_key_ctrl;
|
||||
struct {
|
||||
uint8_t m;
|
||||
uint8_t n;
|
||||
@@ -171,25 +171,24 @@ tvp3026_ramdac_out(uint16_t addr, int rs2, int rs3, uint8_t val, void *priv, svg
|
||||
svga->dac_hwcursor.y = ramdac->hwc_y - svga->dac_hwcursor.cur_ysize;
|
||||
svga->dac_hwcursor.ena = !!(val & 0x03);
|
||||
ramdac->mode = val & 0x03;
|
||||
//pclog("0x09: DACEna=%02x, MainEna=%02x.\n", svga->dac_hwcursor.ena, svga->hwcursor.ena);
|
||||
}
|
||||
break;
|
||||
case 0x0a: /* Indexed Data (RS value = 1010) */
|
||||
switch (ramdac->ind_idx) {
|
||||
case 0x06: /* Indirect Cursor Control */
|
||||
ramdac->ccr = val;
|
||||
svga->dac_hwcursor.cur_xsize = svga->dac_hwcursor.cur_ysize = 64;
|
||||
svga->dac_hwcursor.x = ramdac->hwc_x - svga->dac_hwcursor.cur_xsize;
|
||||
svga->dac_hwcursor.y = ramdac->hwc_y - svga->dac_hwcursor.cur_ysize;
|
||||
if (!(ramdac->ccr & 0x80)) {
|
||||
svga->dac_hwcursor.cur_xsize = svga->dac_hwcursor.cur_ysize = 64;
|
||||
svga->dac_hwcursor.x = ramdac->hwc_x - svga->dac_hwcursor.cur_xsize;
|
||||
svga->dac_hwcursor.y = ramdac->hwc_y - svga->dac_hwcursor.cur_ysize;
|
||||
svga->dac_hwcursor.ena = !!(val & 0x03);
|
||||
ramdac->mode = val & 0x03;
|
||||
} else {
|
||||
svga->dac_hwcursor.cur_xsize = svga->dac_hwcursor.cur_ysize = 64;
|
||||
svga->dac_hwcursor.x = ramdac->hwc_x - svga->dac_hwcursor.cur_xsize;
|
||||
svga->dac_hwcursor.y = ramdac->hwc_y - svga->dac_hwcursor.cur_ysize;
|
||||
svga->dac_hwcursor.ena = !!(ramdac->dcc & 0x03);
|
||||
ramdac->mode = ramdac->dcc & 0x03;
|
||||
}
|
||||
//pclog("0x0a, indirect 0x06: DACEna=%02x, MainEna=%02x.\n", svga->dac_hwcursor.ena, svga->hwcursor.ena);
|
||||
break;
|
||||
case 0x0f: /* Latch Control */
|
||||
ramdac->latch_cntl = val;
|
||||
@@ -279,6 +278,9 @@ tvp3026_ramdac_out(uint16_t addr, int rs2, int rs3, uint8_t val, void *priv, svg
|
||||
}
|
||||
ramdac->pll_addr = ((ramdac->pll_addr + 0x10) & 0x30) | (ramdac->pll_addr & 0xcf);
|
||||
break;
|
||||
case 0x38: /* Color-Key Control */
|
||||
ramdac->color_key_ctrl = val;
|
||||
break;
|
||||
case 0x39: /* MCLK/Loop Clock Control */
|
||||
ramdac->mclk = val;
|
||||
break;
|
||||
@@ -470,6 +472,9 @@ tvp3026_ramdac_in(uint16_t addr, int rs2, int rs3, void *priv, svga_t *svga)
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 0x38: /* Color-Key Control */
|
||||
temp = ramdac->color_key_ctrl;
|
||||
break;
|
||||
case 0x39: /* MCLK/Loop Clock Control */
|
||||
temp = ramdac->mclk;
|
||||
break;
|
||||
@@ -516,11 +521,39 @@ tvp3026_recalctimings(void *priv, svga_t *svga)
|
||||
svga->interlace = !!(ramdac->ccr & 0x40);
|
||||
/* TODO: Figure out gamma correction for 15/16 bpp color. */
|
||||
svga->lut_map = !!((svga->bpp >= 15 && (svga->bpp != 24)) && (ramdac->true_color & 0xf0) != 0x00);
|
||||
svga->clock_multiplier = 0;
|
||||
|
||||
//pclog("RAMDAC CLOCKSEL=%02x, MCR=%02x, LoopMCLK=%02x, Latch=%02x.\n", ramdac->clock_sel, ramdac->mcr, ramdac->mclk, ramdac->latch_cntl);
|
||||
|
||||
if (!(ramdac->clock_sel & 0x70)) {
|
||||
if (ramdac->mcr != 0x98) {
|
||||
svga->hdisp <<= 1;
|
||||
svga->dots_per_clock <<= 1;
|
||||
switch ((ramdac->clock_sel >> 4) & 7) {
|
||||
case 0:
|
||||
svga->clock_multiplier = 1;
|
||||
break;
|
||||
case 1:
|
||||
svga->clock_multiplier = 2;
|
||||
break;
|
||||
case 2:
|
||||
svga->clock_multiplier = 4;
|
||||
break;
|
||||
case 3:
|
||||
svga->clock_multiplier = 8;
|
||||
break;
|
||||
case 4:
|
||||
svga->clock_multiplier = 16;
|
||||
break;
|
||||
case 5:
|
||||
svga->clock_multiplier = 32;
|
||||
break;
|
||||
case 6:
|
||||
svga->clock_multiplier = 64;
|
||||
break;
|
||||
case 7:
|
||||
default:
|
||||
svga->clock_multiplier = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -547,6 +547,7 @@ mach64_recalctimings(svga_t *svga)
|
||||
svga->rowcount = mach64->crtc_gen_cntl & 1;
|
||||
svga->lut_map = (mach64->type >= MACH64_VT);
|
||||
svga->rowoffset <<= 1;
|
||||
svga->attrregs[0x13] &= ~0x0f;
|
||||
|
||||
if (mach64->type == MACH64_GX)
|
||||
ati68860_ramdac_set_render(svga->ramdac, svga);
|
||||
@@ -4897,7 +4898,7 @@ mach64_common_init(const device_t *info)
|
||||
mach64_io_set(mach64);
|
||||
|
||||
if (info->flags & DEVICE_PCI)
|
||||
pci_add_card(PCI_ADD_NORMAL, mach64_pci_read, mach64_pci_write, mach64, &mach64->pci_slot);
|
||||
pci_add_card((info->local & (1 << 19)) ? PCI_ADD_VIDEO : PCI_ADD_NORMAL, mach64_pci_read, mach64_pci_write, mach64, &mach64->pci_slot);
|
||||
|
||||
mach64->pci_regs[PCI_REG_COMMAND] = 3;
|
||||
mach64->pci_regs[0x30] = 0x00;
|
||||
@@ -4989,7 +4990,8 @@ mach64ct_init(const device_t *info)
|
||||
|
||||
ati_eeprom_load(&mach64->eeprom, "mach64ct.nvr", 1);
|
||||
|
||||
rom_init(&mach64->bios_rom, BIOS_ROMCT_PATH, 0xc0000, 0x8000, 0x7fff, 0, MEM_MAPPING_EXTERNAL);
|
||||
if (!(info->local & (1 << 19)))
|
||||
rom_init(&mach64->bios_rom, BIOS_ROMCT_PATH, 0xc0000, 0x8000, 0x7fff, 0, MEM_MAPPING_EXTERNAL);
|
||||
|
||||
mem_mapping_disable(&mach64->bios_rom.mapping);
|
||||
|
||||
|
||||
@@ -1824,6 +1824,9 @@ gd54xx_recalctimings(svga_t *svga)
|
||||
uint8_t clocksel;
|
||||
uint8_t rdmask;
|
||||
uint8_t linedbl = svga->dispend * 9 / 10 >= svga->hdisp;
|
||||
uint8_t m = 0;
|
||||
int d = 0;
|
||||
int n = 0;
|
||||
|
||||
svga->hblankstart = svga->crtc[2];
|
||||
|
||||
@@ -1865,6 +1868,34 @@ gd54xx_recalctimings(svga_t *svga)
|
||||
svga->interlace = 0;
|
||||
}
|
||||
|
||||
clocksel = (svga->miscout >> 2) & 3;
|
||||
|
||||
if (!gd54xx->vclk_n[clocksel] || !gd54xx->vclk_d[clocksel])
|
||||
svga->clock = (cpuclock * (float) (1ULL << 32)) /
|
||||
((svga->miscout & 0xc) ? 28322000.0 : 25175000.0);
|
||||
else {
|
||||
n = gd54xx->vclk_n[clocksel] & 0x7f;
|
||||
d = (gd54xx->vclk_d[clocksel] & 0x3e) >> 1;
|
||||
m = gd54xx->vclk_d[clocksel] & 0x01 ? 2 : 1;
|
||||
float freq = (14318184.0F * ((float) n / ((float) d * m)));
|
||||
if (gd54xx_is_5422(svga)) {
|
||||
switch (svga->seqregs[0x07] & (gd54xx_is_5434(svga) ? 0xe : 6)) {
|
||||
case 2:
|
||||
freq /= 2.0F;
|
||||
break;
|
||||
case 4:
|
||||
if (!gd54xx_is_5434(svga))
|
||||
freq /= 3.0F;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
svga->clock = (cpuclock * (double) (1ULL << 32)) / freq;
|
||||
}
|
||||
|
||||
svga->bpp = 8;
|
||||
svga->map8 = svga->pallook;
|
||||
if (svga->seqregs[0x07] & CIRRUS_SR7_BPP_SVGA) {
|
||||
if (linedbl)
|
||||
@@ -1874,6 +1905,7 @@ gd54xx_recalctimings(svga_t *svga)
|
||||
if ((svga->dispend == 512) && !svga->interlace && gd54xx_is_5434(svga)) {
|
||||
svga->hdisp <<= 1;
|
||||
svga->dots_per_clock <<= 1;
|
||||
svga->clock *= 2.0;
|
||||
}
|
||||
}
|
||||
} else if (svga->gdcreg[5] & 0x40)
|
||||
@@ -1881,8 +1913,6 @@ gd54xx_recalctimings(svga_t *svga)
|
||||
|
||||
svga->memaddr_latch |= ((svga->crtc[0x1b] & 0x01) << 16) | ((svga->crtc[0x1b] & 0xc) << 15);
|
||||
|
||||
svga->bpp = 8;
|
||||
|
||||
if (gd54xx->ramdac.ctrl & 0x80) {
|
||||
if (gd54xx->ramdac.ctrl & 0x40) {
|
||||
if ((svga->crtc[0x27] >= CIRRUS_ID_CLGD5428) || (svga->crtc[0x27] == CIRRUS_ID_CLGD5426))
|
||||
@@ -2023,33 +2053,6 @@ gd54xx_recalctimings(svga_t *svga)
|
||||
}
|
||||
}
|
||||
|
||||
clocksel = (svga->miscout >> 2) & 3;
|
||||
|
||||
if (!gd54xx->vclk_n[clocksel] || !gd54xx->vclk_d[clocksel])
|
||||
svga->clock = (cpuclock * (float) (1ULL << 32)) /
|
||||
((svga->miscout & 0xc) ? 28322000.0 : 25175000.0);
|
||||
else {
|
||||
int n = gd54xx->vclk_n[clocksel] & 0x7f;
|
||||
int d = (gd54xx->vclk_d[clocksel] & 0x3e) >> 1;
|
||||
uint8_t m = gd54xx->vclk_d[clocksel] & 0x01 ? 2 : 1;
|
||||
float freq = (14318184.0F * ((float) n / ((float) d * m)));
|
||||
if (gd54xx_is_5422(svga)) {
|
||||
switch (svga->seqregs[0x07] & (gd54xx_is_5434(svga) ? 0xe : 6)) {
|
||||
case 2:
|
||||
freq /= 2.0F;
|
||||
break;
|
||||
case 4:
|
||||
if (!gd54xx_is_5434(svga))
|
||||
freq /= 3.0F;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
svga->clock = (cpuclock * (double) (1ULL << 32)) / freq;
|
||||
}
|
||||
|
||||
svga->vram_display_mask = (svga->crtc[0x1b] & 2) ? gd54xx->vram_mask : 0x3ffff;
|
||||
|
||||
if (svga->crtc[0x27] >= CIRRUS_ID_CLGD5430)
|
||||
|
||||
@@ -64,7 +64,7 @@ ddc_load_edid(char *path, uint8_t *buf, size_t size)
|
||||
|
||||
// Check the beginning of the file for the EDID header.
|
||||
uint64_t header;
|
||||
fread(&header, sizeof(header), 1, fp);
|
||||
(void) !fread(&header, sizeof(header), 1, fp);
|
||||
|
||||
if (header == EDID_HEADER) {
|
||||
// Binary format. Read as is
|
||||
|
||||
@@ -639,6 +639,7 @@ static void
|
||||
et4000_recalctimings(svga_t *svga)
|
||||
{
|
||||
const et4000_t *dev = (et4000_t *) svga->priv;
|
||||
int clk_sel = ((svga->miscout >> 2) & 0x03) | ((svga->crtc[0x34] << 1) & 0x04)| ((svga->crtc[0x31] >> 3) & 0x08);
|
||||
|
||||
svga->memaddr_latch |= (svga->crtc[0x33] & 3) << 16;
|
||||
|
||||
@@ -665,26 +666,15 @@ et4000_recalctimings(svga_t *svga)
|
||||
svga->dots_per_clock <<= 1;
|
||||
}
|
||||
|
||||
switch (((svga->miscout >> 2) & 3) | ((svga->crtc[0x34] << 1) & 4)) {
|
||||
case 0:
|
||||
case 1:
|
||||
break;
|
||||
case 3:
|
||||
svga->clock = (cpuclock * (double) (1ULL << 32)) / 40000000.0;
|
||||
break;
|
||||
case 5:
|
||||
svga->clock = (cpuclock * (double) (1ULL << 32)) / 65000000.0;
|
||||
break;
|
||||
default:
|
||||
svga->clock = (cpuclock * (double) (1ULL << 32)) / 36000000.0;
|
||||
break;
|
||||
}
|
||||
svga->clock = (cpuclock * (double) (1ULL << 32)) / svga->getclock(clk_sel, svga->clock_gen);
|
||||
if (clk_sel < 2)
|
||||
svga->clock *= 2.0;
|
||||
|
||||
switch (svga->bpp) {
|
||||
case 15:
|
||||
case 16:
|
||||
svga->hdisp /= 2;
|
||||
svga->dots_per_clock /= 2;
|
||||
svga->hdisp >>= 1;
|
||||
svga->dots_per_clock >>= 1;
|
||||
break;
|
||||
|
||||
case 24:
|
||||
@@ -901,6 +891,9 @@ et4000_init(const device_t *info)
|
||||
if (dev->type >= ET4000_TYPE_ISA)
|
||||
dev->svga.ramdac = device_add(&sc1502x_ramdac_device);
|
||||
|
||||
dev->svga.clock_gen = device_add(&ics2494an_324_device);
|
||||
dev->svga.getclock = ics2494_getclock;
|
||||
|
||||
if (dev->type == ET4000_TYPE_TC6058AF)
|
||||
dev->svga.adv_flags |= FLAG_PRECISETIME;
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
1913
src/video/vid_s3.c
1913
src/video/vid_s3.c
File diff suppressed because it is too large
Load Diff
@@ -1063,32 +1063,49 @@ s3_virge_updatemapping(virge_t *virge)
|
||||
return;
|
||||
}
|
||||
|
||||
switch (svga->gdcreg[6] & 0xc) { /*Banked framebuffer*/
|
||||
case 0x0: /*128k at A0000*/
|
||||
mem_mapping_set_addr(&svga->mapping, 0xa0000, 0x20000);
|
||||
svga->banked_mask = 0xffff;
|
||||
break;
|
||||
case 0x4: /*64k at A0000*/
|
||||
mem_mapping_set_addr(&svga->mapping, 0xa0000, 0x10000);
|
||||
svga->banked_mask = 0xffff;
|
||||
if (xga_active && (svga->xga != NULL)) {
|
||||
xga->on = 0;
|
||||
mem_mapping_set_handler(&svga->mapping, svga->read, svga->readw, svga->readl, svga->write, svga->writew, svga->writel);
|
||||
}
|
||||
break;
|
||||
case 0x8: /*32k at B0000*/
|
||||
mem_mapping_set_addr(&svga->mapping, 0xb0000, 0x08000);
|
||||
svga->banked_mask = 0x7fff;
|
||||
break;
|
||||
case 0xC: /*32k at B8000*/
|
||||
mem_mapping_set_addr(&svga->mapping, 0xb8000, 0x08000);
|
||||
svga->banked_mask = 0x7fff;
|
||||
break;
|
||||
}
|
||||
/*Banked framebuffer*/
|
||||
if (svga->crtc[0x31] & 0x08) /*Enhanced mode mappings*/
|
||||
{
|
||||
/* Enhanced mode forces 64kb at 0xa0000*/
|
||||
mem_mapping_set_addr(&svga->mapping, 0xa0000, 0x10000);
|
||||
svga->banked_mask = 0xffff;
|
||||
if (xga_active && (svga->xga != NULL)) {
|
||||
xga->on = 0;
|
||||
mem_mapping_set_handler(&svga->mapping, svga->read, svga->readw, svga->readl, svga->write, svga->writew, svga->writel);
|
||||
}
|
||||
} else
|
||||
switch (svga->gdcreg[6] & 0xc) { /*VGA mapping*/
|
||||
case 0x0: /*128k at A0000*/
|
||||
mem_mapping_set_addr(&svga->mapping, 0xa0000, 0x20000);
|
||||
svga->banked_mask = 0xffff;
|
||||
break;
|
||||
case 0x4: /*64k at A0000*/
|
||||
mem_mapping_set_addr(&svga->mapping, 0xa0000, 0x10000);
|
||||
svga->banked_mask = 0xffff;
|
||||
if (xga_active && (svga->xga != NULL)) {
|
||||
xga->on = 0;
|
||||
mem_mapping_set_handler(&svga->mapping, svga->read, svga->readw, svga->readl, svga->write, svga->writew, svga->writel);
|
||||
}
|
||||
break;
|
||||
case 0x8: /*32k at B0000*/
|
||||
mem_mapping_set_addr(&svga->mapping, 0xb0000, 0x08000);
|
||||
svga->banked_mask = 0x7fff;
|
||||
break;
|
||||
case 0xC: /*32k at B8000*/
|
||||
mem_mapping_set_addr(&svga->mapping, 0xb8000, 0x08000);
|
||||
svga->banked_mask = 0x7fff;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
virge->linear_base = (svga->crtc[0x5a] << 16) | (svga->crtc[0x59] << 24);
|
||||
|
||||
if ((svga->crtc[0x58] & 0x10) || (virge->advfunc_cntl & 0x10)) { /*Linear framebuffer*/
|
||||
/*Linear framebuffer*/
|
||||
mem_mapping_disable(&svga->mapping);
|
||||
|
||||
switch (svga->crtc[0x58] & 7) {
|
||||
case 0: /*64k*/
|
||||
virge->linear_size = 0x10000;
|
||||
@@ -1110,11 +1127,19 @@ s3_virge_updatemapping(virge_t *virge)
|
||||
break;
|
||||
}
|
||||
virge->linear_base &= ~(virge->linear_size - 1);
|
||||
if (virge->linear_base == 0xa0000) {
|
||||
mem_mapping_set_addr(&svga->mapping, 0xa0000, 0x10000);
|
||||
//pclog("CR58 & 7=%x, base=%08x.\n", svga->crtc[0x58] & 7, virge->linear_base);
|
||||
if ((virge->linear_base == 0xa0000) || (virge->linear_size == 0x10000)) {
|
||||
mem_mapping_disable(&virge->linear_mapping);
|
||||
} else
|
||||
mem_mapping_set_addr(&virge->linear_mapping, virge->linear_base, virge->linear_size);
|
||||
if (!(svga->crtc[0x53] & 0x10)) {
|
||||
mem_mapping_set_addr(&svga->mapping, 0xa0000, 0x10000);
|
||||
svga->banked_mask = 0xffff;
|
||||
}
|
||||
} else {
|
||||
if (virge->linear_base)
|
||||
mem_mapping_set_addr(&virge->linear_mapping, virge->linear_base, virge->linear_size);
|
||||
else
|
||||
mem_mapping_disable(&virge->linear_mapping);
|
||||
}
|
||||
svga->fb_only = 1;
|
||||
} else {
|
||||
mem_mapping_disable(&virge->linear_mapping);
|
||||
@@ -1122,6 +1147,7 @@ s3_virge_updatemapping(virge_t *virge)
|
||||
}
|
||||
|
||||
if ((svga->crtc[0x53] & 0x10) || (virge->advfunc_cntl & 0x20)) { /*Old MMIO*/
|
||||
mem_mapping_disable(&svga->mapping);
|
||||
if (svga->crtc[0x53] & 0x20)
|
||||
mem_mapping_set_addr(&virge->mmio_mapping, 0xb8000, 0x8000);
|
||||
else
|
||||
@@ -1129,9 +1155,12 @@ s3_virge_updatemapping(virge_t *virge)
|
||||
} else
|
||||
mem_mapping_disable(&virge->mmio_mapping);
|
||||
|
||||
if (svga->crtc[0x53] & 0x08) /*New MMIO*/
|
||||
mem_mapping_set_addr(&virge->new_mmio_mapping, virge->linear_base + 0x1000000, 0x10000);
|
||||
else
|
||||
if (svga->crtc[0x53] & 0x08) { /*New MMIO*/
|
||||
if (virge->linear_base)
|
||||
mem_mapping_set_addr(&virge->new_mmio_mapping, virge->linear_base + 0x1000000, 0x10000);
|
||||
else
|
||||
mem_mapping_disable(&virge->new_mmio_mapping);
|
||||
} else
|
||||
mem_mapping_disable(&virge->new_mmio_mapping);
|
||||
}
|
||||
|
||||
@@ -1946,9 +1975,9 @@ s3_virge_mmio_write_l(uint32_t addr, uint32_t val, void *priv)
|
||||
break;
|
||||
case 0x8190:
|
||||
virge->streams.sec_ctrl = val;
|
||||
virge->streams.dda_horiz_accumulator = val & 0x7ff;
|
||||
if (val & 0x800)
|
||||
virge->streams.dda_horiz_accumulator |= ~0x7ff;
|
||||
virge->streams.dda_horiz_accumulator = val & 0xfff;
|
||||
if (val & 0x1000)
|
||||
virge->streams.dda_horiz_accumulator |= ~0xfff;
|
||||
|
||||
virge->streams.sdif = (val >> 24) & 7;
|
||||
break;
|
||||
@@ -1961,9 +1990,9 @@ s3_virge_mmio_write_l(uint32_t addr, uint32_t val, void *priv)
|
||||
if (val & 0x800)
|
||||
virge->streams.k1_horiz_scale |= ~0x7ff;
|
||||
|
||||
virge->streams.k2_horiz_scale = (val >> 16) & 0x3ff;
|
||||
if ((val >> 16) & 0x400)
|
||||
virge->streams.k2_horiz_scale |= ~0x3ff;
|
||||
virge->streams.k2_horiz_scale = (val >> 16) & 0x7ff;
|
||||
if ((val >> 16) & 0x800)
|
||||
virge->streams.k2_horiz_scale |= ~0x7ff;
|
||||
|
||||
svga_recalctimings(svga);
|
||||
svga->fullchange = changeframecount;
|
||||
@@ -2019,14 +2048,14 @@ s3_virge_mmio_write_l(uint32_t addr, uint32_t val, void *priv)
|
||||
virge->streams.k1_vert_scale |= ~0x7ff;
|
||||
break;
|
||||
case 0x81e4:
|
||||
virge->streams.k2_vert_scale = val & 0x3ff;
|
||||
if (val & 0x400)
|
||||
virge->streams.k2_vert_scale |= ~0x3ff;
|
||||
virge->streams.k2_vert_scale = val & 0x7ff;
|
||||
if (val & 0x800)
|
||||
virge->streams.k2_vert_scale |= ~0x7ff;
|
||||
break;
|
||||
case 0x81e8:
|
||||
virge->streams.dda_vert_accumulator = val & 0x7ff;
|
||||
if (val & 0x800)
|
||||
virge->streams.dda_vert_accumulator |= ~0x7ff;
|
||||
virge->streams.dda_vert_accumulator = val & 0xfff;
|
||||
if (val & 0x1000)
|
||||
virge->streams.dda_vert_accumulator |= ~0xfff;
|
||||
|
||||
svga_recalctimings(svga);
|
||||
svga->fullchange = changeframecount;
|
||||
@@ -3124,7 +3153,7 @@ s3_virge_bitblt(virge_t *virge, int count, uint32_t cpu_dat)
|
||||
case 0:
|
||||
case CMD_SET_MS:
|
||||
READ(src_addr, source);
|
||||
if ((virge->s3d.cmd_set & CMD_SET_TP) && source == src_fg_clr)
|
||||
if ((virge->s3d.cmd_set & CMD_SET_TP) && (source == src_fg_clr))
|
||||
update = 0;
|
||||
break;
|
||||
case CMD_SET_IDS:
|
||||
@@ -3150,7 +3179,7 @@ s3_virge_bitblt(virge_t *virge, int count, uint32_t cpu_dat)
|
||||
count = 0;
|
||||
}
|
||||
}
|
||||
if ((virge->s3d.cmd_set & CMD_SET_TP) && source == src_fg_clr)
|
||||
if ((virge->s3d.cmd_set & CMD_SET_TP) && (source == src_fg_clr))
|
||||
update = 0;
|
||||
break;
|
||||
case CMD_SET_IDS | CMD_SET_MS:
|
||||
@@ -4829,7 +4858,7 @@ s3_virge_colorkey(virge_t* virge, uint32_t x, uint32_t y)
|
||||
return true;
|
||||
else if (!(virge->streams.chroma_ctrl & (1 << 28)))
|
||||
return true;
|
||||
|
||||
|
||||
comp_r = (virge->streams.chroma_ctrl >> 16) & 0xFF;
|
||||
comp_g = (virge->streams.chroma_ctrl >> 8) & 0xFF;
|
||||
comp_b = (virge->streams.chroma_ctrl) & 0xFF;
|
||||
@@ -4853,7 +4882,7 @@ s3_virge_colorkey(virge_t* virge, uint32_t x, uint32_t y)
|
||||
*/
|
||||
uint8_t index = virge->streams.chroma_ctrl & 0xFF;
|
||||
alpha_key = (virge->chip < S3_VIRGEGX2) ? (virge->streams.chroma_ctrl & (1 << 29)) : ((virge->streams.chroma_ctrl >> 29) & 3) == 1;
|
||||
|
||||
|
||||
if (alpha_key) {
|
||||
comp_r = comp_g = comp_b = index;
|
||||
comp_r_h = comp_g_h = comp_b_h = index;
|
||||
@@ -5188,6 +5217,7 @@ s3_virge_pci_write(UNUSED(int func), int addr, uint8_t val, void *priv)
|
||||
svga->crtc[0x59] = (svga->crtc[0x59] & 0x01) | (val & 0xfe);
|
||||
else
|
||||
svga->crtc[0x59] = (svga->crtc[0x59] & 0x03) | (val & 0xfc);
|
||||
|
||||
s3_virge_updatemapping(virge);
|
||||
return;
|
||||
|
||||
|
||||
@@ -134,8 +134,8 @@ video_cards[] = {
|
||||
{ .device = &s3_phoenix_86c801_isa_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &s3_spea_mirage_86c801_isa_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &s3_winner1000_805_isa_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &et4000w32_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &et4000w32i_isa_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &et4000w32_machspeed_vga_gui_2400s_isa_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &et4000w32i_axis_microdevice_isa_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
/* MCA */
|
||||
{ .device = &mach32_mca_device, .flags = VIDEO_FLAG_TYPE_8514 },
|
||||
{ .device = &gd5426_mca_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
@@ -145,12 +145,13 @@ video_cards[] = {
|
||||
/* VLB */
|
||||
{ .device = &mach32_vlb_device, .flags = VIDEO_FLAG_TYPE_8514 },
|
||||
{ .device = &mach64gx_vlb_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &et4000w32i_vlb_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &et4000w32_machspeed_vga_gui_2400s_vlb_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &et4000w32i_hercules_dynamite_pro_vlb_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &et4000w32p_videomagic_revb_vlb_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &et4000w32p_revc_vlb_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &et4000w32p_cardex_vlb_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &et4000w32p_vlb_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &et4000w32p_noncardex_vlb_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &et4000w32p_cardex_revc_vlb_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &et4000w32p_generic_revd_vlb_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &et4000w32p_cardex_revd_vlb_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &et4000w32p_diamond_revd_vlb_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &gd5424_vlb_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &gd5426_vlb_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &gd5428_vlb_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
@@ -196,11 +197,10 @@ video_cards[] = {
|
||||
{ .device = &gd5446_pci_device, .flags = VIDEO_FLAG_TYPE_SECONDARY },
|
||||
{ .device = &gd5446_stb_pci_device, .flags = VIDEO_FLAG_TYPE_SECONDARY },
|
||||
{ .device = &gd5480_pci_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &et4000w32p_videomagic_revb_pci_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &et4000w32p_revc_pci_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &et4000w32p_cardex_pci_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &et4000w32p_noncardex_pci_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &et4000w32p_pci_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &et4000w32p_cardex_revc_pci_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &et4000w32p_generic_revd_pci_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &et4000w32p_cardex_revd_pci_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &et4000w32p_diamond_revd_pci_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &s3_elsa_winner1000_86c928_pci_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &s3_spea_mercury_lite_86c928_pci_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &s3_diamond_stealth64_964_pci_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
|
||||
@@ -692,6 +692,7 @@ tgui_recalctimings(svga_t *svga)
|
||||
const tgui_t *tgui = (tgui_t *) svga->priv;
|
||||
uint8_t ger22lower = (tgui->accel.ger22 & 0xff);
|
||||
uint8_t ger22upper = (tgui->accel.ger22 >> 8);
|
||||
int std_vga_clock = 1;
|
||||
|
||||
if (tgui->type >= TGUI_9440) {
|
||||
if ((svga->crtc[0x38] & 0x19) == 0x09)
|
||||
@@ -767,10 +768,11 @@ tgui_recalctimings(svga_t *svga)
|
||||
svga->clock = (cpuclock * (double) (1ULL << 32)) / (((tgui->clock_n + 8) * 14318180.0) / ((tgui->clock_m + 2) * (1 << tgui->clock_k)));
|
||||
|
||||
if (svga->gdcreg[0xf] & 0x08)
|
||||
svga->clock *= 2;
|
||||
svga->clock *= 2.0;
|
||||
else if (svga->gdcreg[0xf] & 0x40)
|
||||
svga->clock *= 3;
|
||||
svga->clock *= 3.0;
|
||||
} else {
|
||||
//pclog("TGUI9400CXi: Clock double=%d.\n", (((svga->miscout >> 2) & 3) | ((tgui->newctrl2 << 2) & 4) | ((tgui->newctrl2 >> 3) & 8)));
|
||||
switch (((svga->miscout >> 2) & 3) | ((tgui->newctrl2 << 2) & 4) | ((tgui->newctrl2 >> 3) & 8)) {
|
||||
case 0x02:
|
||||
svga->clock = (cpuclock * (double) (1ULL << 32)) / 44900000.0;
|
||||
@@ -816,6 +818,7 @@ tgui_recalctimings(svga_t *svga)
|
||||
break;
|
||||
|
||||
default:
|
||||
std_vga_clock = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -823,6 +826,9 @@ tgui_recalctimings(svga_t *svga)
|
||||
svga->htotal <<= 1;
|
||||
svga->hdisp <<= 1;
|
||||
svga->hdisp_time <<= 1;
|
||||
svga->dots_per_clock <<= 1;
|
||||
if (std_vga_clock)
|
||||
svga->clock /= 2.0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -843,6 +849,7 @@ tgui_recalctimings(svga_t *svga)
|
||||
svga->htotal <<= 1;
|
||||
svga->hdisp <<= 1;
|
||||
svga->hdisp_time <<= 1;
|
||||
svga->dots_per_clock <<= 1;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -866,6 +873,7 @@ tgui_recalctimings(svga_t *svga)
|
||||
svga->htotal <<= 1;
|
||||
svga->hdisp <<= 1;
|
||||
svga->hdisp_time <<= 1;
|
||||
svga->dots_per_clock <<= 1;
|
||||
}
|
||||
switch (svga->hdisp) {
|
||||
case 640:
|
||||
@@ -880,18 +888,24 @@ tgui_recalctimings(svga_t *svga)
|
||||
break;
|
||||
case 15:
|
||||
svga->render = svga_render_15bpp_highres;
|
||||
if (tgui->type < TGUI_9440)
|
||||
if (tgui->type < TGUI_9440) {
|
||||
svga->hdisp >>= 1;
|
||||
svga->dots_per_clock >>= 1;
|
||||
}
|
||||
break;
|
||||
case 16:
|
||||
svga->render = svga_render_16bpp_highres;
|
||||
if (tgui->type < TGUI_9440)
|
||||
if (tgui->type < TGUI_9440) {
|
||||
svga->hdisp >>= 1;
|
||||
svga->dots_per_clock >>= 1;
|
||||
}
|
||||
break;
|
||||
case 24:
|
||||
svga->render = svga_render_24bpp_highres;
|
||||
if (tgui->type < TGUI_9440)
|
||||
svga->hdisp = (svga->hdisp << 1) / 3;
|
||||
if (tgui->type < TGUI_9440) {
|
||||
svga->hdisp /= 3;
|
||||
svga->dots_per_clock /= 3;
|
||||
}
|
||||
break;
|
||||
case 32:
|
||||
if (svga->rowoffset == 0x100)
|
||||
|
||||
Reference in New Issue
Block a user