vice-emu-commit Mailing List for VICE
Versatile Commodore Emulator
Brought to you by:
blackystardust,
gpz
You can subscribe to this list here.
| 2008 |
Jan
|
Feb
|
Mar
|
Apr
(38) |
May
(60) |
Jun
(122) |
Jul
(148) |
Aug
(178) |
Sep
(151) |
Oct
(131) |
Nov
(208) |
Dec
(129) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2009 |
Jan
(193) |
Feb
(209) |
Mar
(221) |
Apr
(243) |
May
(165) |
Jun
(168) |
Jul
(198) |
Aug
(161) |
Sep
(103) |
Oct
(98) |
Nov
(168) |
Dec
(99) |
| 2010 |
Jan
(263) |
Feb
(156) |
Mar
(57) |
Apr
(93) |
May
(85) |
Jun
(124) |
Jul
(57) |
Aug
(58) |
Sep
(113) |
Oct
(148) |
Nov
(114) |
Dec
(193) |
| 2011 |
Jan
(200) |
Feb
(207) |
Mar
(91) |
Apr
(91) |
May
(142) |
Jun
(104) |
Jul
(115) |
Aug
(137) |
Sep
(266) |
Oct
(91) |
Nov
(85) |
Dec
(186) |
| 2012 |
Jan
(98) |
Feb
(146) |
Mar
(160) |
Apr
(99) |
May
(59) |
Jun
(257) |
Jul
(84) |
Aug
(103) |
Sep
(169) |
Oct
(206) |
Nov
(90) |
Dec
(296) |
| 2013 |
Jan
(294) |
Feb
(130) |
Mar
(36) |
Apr
(14) |
May
(51) |
Jun
(74) |
Jul
(180) |
Aug
(85) |
Sep
(26) |
Oct
(45) |
Nov
(29) |
Dec
(21) |
| 2014 |
Jan
(56) |
Feb
(40) |
Mar
(57) |
Apr
(30) |
May
(31) |
Jun
(11) |
Jul
(107) |
Aug
(135) |
Sep
(142) |
Oct
(195) |
Nov
(139) |
Dec
(133) |
| 2015 |
Jan
(293) |
Feb
(161) |
Mar
(146) |
Apr
(85) |
May
(139) |
Jun
(51) |
Jul
(21) |
Aug
(24) |
Sep
(29) |
Oct
(136) |
Nov
(212) |
Dec
(118) |
| 2016 |
Jan
(119) |
Feb
(165) |
Mar
(229) |
Apr
(219) |
May
(134) |
Jun
(119) |
Jul
(134) |
Aug
(236) |
Sep
(203) |
Oct
(215) |
Nov
(300) |
Dec
(140) |
| 2017 |
Jan
(188) |
Feb
(20) |
Mar
(147) |
Apr
(198) |
May
(26) |
Jun
(21) |
Jul
(67) |
Aug
(219) |
Sep
(209) |
Oct
(194) |
Nov
(144) |
Dec
(99) |
| 2018 |
Jan
(139) |
Feb
(122) |
Mar
(116) |
Apr
(85) |
May
(232) |
Jun
(181) |
Jul
(190) |
Aug
(105) |
Sep
(92) |
Oct
(178) |
Nov
(105) |
Dec
(86) |
| 2019 |
Jan
(119) |
Feb
(79) |
Mar
(74) |
Apr
(117) |
May
(115) |
Jun
(307) |
Jul
(107) |
Aug
(131) |
Sep
(103) |
Oct
(60) |
Nov
(118) |
Dec
(70) |
| 2020 |
Jan
(114) |
Feb
(103) |
Mar
(77) |
Apr
(121) |
May
(193) |
Jun
(110) |
Jul
(214) |
Aug
(210) |
Sep
(179) |
Oct
(260) |
Nov
(237) |
Dec
(334) |
| 2021 |
Jan
(163) |
Feb
(186) |
Mar
(58) |
Apr
(81) |
May
(108) |
Jun
(175) |
Jul
(154) |
Aug
(180) |
Sep
(217) |
Oct
(204) |
Nov
(232) |
Dec
(190) |
| 2022 |
Jan
(253) |
Feb
(134) |
Mar
(229) |
Apr
(190) |
May
(125) |
Jun
(70) |
Jul
(8) |
Aug
(22) |
Sep
(19) |
Oct
(33) |
Nov
(94) |
Dec
(164) |
| 2023 |
Jan
(158) |
Feb
(366) |
Mar
(272) |
Apr
(109) |
May
(198) |
Jun
(226) |
Jul
(200) |
Aug
(94) |
Sep
(108) |
Oct
(62) |
Nov
(175) |
Dec
(116) |
| 2024 |
Jan
(35) |
Feb
(40) |
Mar
(51) |
Apr
(89) |
May
(24) |
Jun
(26) |
Jul
(53) |
Aug
(71) |
Sep
(23) |
Oct
(11) |
Nov
(22) |
Dec
(58) |
| 2025 |
Jan
(26) |
Feb
(40) |
Mar
(107) |
Apr
(39) |
May
(35) |
Jun
(20) |
Jul
(11) |
Aug
(24) |
Sep
(35) |
Oct
(28) |
Nov
(75) |
Dec
(51) |
| 2026 |
Jan
(27) |
Feb
(40) |
Mar
(37) |
Apr
(43) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <gp...@us...> - 2026-04-19 12:51:16
|
Revision: 46083
http://sourceforge.net/p/vice-emu/code/46083
Author: gpz
Date: 2026-04-19 12:51:15 +0000 (Sun, 19 Apr 2026)
Log Message:
-----------
clean up keyboard scanning a little, handle pb7 vs joystick right better, see bug #904
Modified Paths:
--------------
trunk/vice/src/vic20/vic20via2.c
Modified: trunk/vice/src/vic20/vic20via2.c
===================================================================
--- trunk/vice/src/vic20/vic20via2.c 2026-04-19 04:10:36 UTC (rev 46082)
+++ trunk/vice/src/vic20/vic20via2.c 2026-04-19 12:51:15 UTC (rev 46083)
@@ -144,6 +144,32 @@
return byte;
}
+/*
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+ |Bit 0|Bit 1|Bit 2|Bit 3|Bit 4|Bit 5|Bit 6|Bit 7| (row, read port A)
+ +-----+-----+-----+-----+-----+-----+-----+-----+-----+
+ |Bit 0| 1 ! |A_LFT| CTRL| R/S |SPACE| C= | Q | 2 " |
+ +-----+-----+-----+-----+-----+-----+-----+-----+-----+
+ |Bit 1| 3 # | W | A | S_L | Z | S | E | 4 $ |
+ +-----+-----+-----+-----+-----+-----+-----+-----+-----+
+ |Bit 2| 5 % | R | D | X | C | F | T | 6 & |
+ +-----+-----+-----+-----+-----+-----+-----+-----+-----+
+ |Bit 3| 7 ' | Y | G | V | B | H | U | 8 ( |
+ +-----+-----+-----+-----+-----+-----+-----+-----+-----+
+ |Bit 4| 9 ) | I | J | N | M | K | O | 0 |
+ +-----+-----+-----+-----+-----+-----+-----+-----+-----+
+ |Bit 5| + | P | L | , < | . > | : [ | @ | - |
+ +-----+-----+-----+-----+-----+-----+-----+-----+-----+
+ |Bit 6|POUND| * | ; ] | / ? | S_R | = | A_UP| HOME|
+ +-----+-----+-----+-----+-----+-----+-----+-----+-----+
+ |Bit 7| DEL |Retrn|C_L/R|C_U/D| F1 | F3 | F5 | F7 |
+ +-----+-----+-----+-----+-----+-----+-----+-----+-----+
+ \
+ (column, write port b)
+ port b bit 7 - joystick pin 4 (right)
+ 3 - cassette write
+*/
+
static uint8_t read_pra(via_context_t *via_context, uint16_t addr)
{
uint8_t byte;
@@ -150,11 +176,17 @@
/* FIXME: not 100% sure about this... */
uint8_t val = ~(via_context->via[VIA_DDRA]);
uint8_t msk = via_context->oldpb;
- uint8_t m;
+ uint8_t joy = ~read_joyport_dig(JOYPORT_1);
int i;
- for (m = 0x1, i = 0; i < 8; m <<= 1, i++) {
- if (!(msk & m)) {
+ /* Bit 7 is mapped to the right direction of the joystick (bit
+ 3 in `joystick_value[]'). */
+ if (joy & 0x8) {
+ msk &= 0x7f;
+ }
+
+ for (i = 0; i < 8; i++) {
+ if (!(msk & (1 << i))) {
val &= ~rev_keyarr[i];
}
}
@@ -170,10 +202,10 @@
uint8_t val = ~(via_context->via[VIA_DDRB]);
uint8_t msk = via_context->oldpa;
uint8_t joy = ~read_joyport_dig(JOYPORT_1);
- int m, i;
+ int i;
- for (m = 0x1, i = 0; i < 8; m <<= 1, i++) {
- if (!(msk & m)) {
+ for (i = 0; i < 8; i++) {
+ if (!(msk & (1 << i))) {
val &= ~keyarr[i];
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2026-04-19 04:10:38
|
Revision: 46082
http://sourceforge.net/p/vice-emu/code/46082
Author: gpz
Date: 2026-04-19 04:10:36 +0000 (Sun, 19 Apr 2026)
Log Message:
-----------
missing files
Added Paths:
-----------
trunk/vice/src/joyport/mouse_digital.c
trunk/vice/src/joyport/mouse_digital.h
Added: trunk/vice/src/joyport/mouse_digital.c
===================================================================
--- trunk/vice/src/joyport/mouse_digital.c (rev 0)
+++ trunk/vice/src/joyport/mouse_digital.c 2026-04-19 04:10:36 UTC (rev 46082)
@@ -0,0 +1,377 @@
+/*
+ * mouse_digital.c - Digital "joy" mouse handling
+ *
+ * Written by
+ * groepaz <gr...@gm...>
+ *
+ * This file is part of VICE, the Versatile Commodore Emulator.
+ * See README for copyright notice.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307 USA.
+ *
+ */
+
+/* Control port <--> mouse/paddles/pad connections:
+
+ cport | joy mouse | I/O
+ --------------------------
+ 1 | D0 | I
+ 2 | D1 | I
+ 3 | D2 | I
+ 4 | D3 | I
+
+ 6 | left button | I ("Fire")
+ 7 | +5VDC | Power
+ 8 | GND | Ground
+ 9 | right button | I ("POTX")
+
+ Works on:
+ - native joystick port(s) (x64/x64sc/xscpu64/x128/xvic/xcbm5x0)
+ - sidcart joystick adapter port (xplus4)
+*/
+
+/* #define DEBUG_DIGITAL */
+
+#ifdef DEBUG_DIGITAL
+#define DBG(_x_) log_printf _x_
+#else
+#define DBG(_x_)
+#endif
+
+#include <stdlib.h> /* abs */
+
+#include "vice.h"
+
+#include "joyport.h"
+#include "maincpu.h"
+#include "log.h"
+#include "mouse.h"
+#include "mousedrv.h"
+#include "snapshot.h"
+#include "vsyncapi.h"
+
+#include "mouse_digital.h"
+
+/******************************************************************************/
+
+static uint8_t mouse_digital_val = 0;
+
+static int16_t mouse_latest_x;
+static int16_t mouse_latest_y;
+
+static CLOCK clock_vert_move = 0;
+static CLOCK clock_hori_move = 0;
+
+static int digital_buttons;
+
+static int digital_lastx;
+static int digital_lasty;
+static int digital_newx;
+static int digital_newy;
+
+static int digital_state = 0xff;
+
+/******************************************************************************/
+
+void digital_mouse_set_machine_parameter(long clock_rate)
+{
+ /*digital_time_out_cycles = (CLOCK)((clock_rate / 10000) * 2);*/
+}
+
+static void digital_get_new_movement(void)
+{
+ int16_t newx16, newy16;
+
+ digital_lastx = digital_newx;
+ digital_lasty = digital_newy;
+
+ mouse_get_raw_int16(&newx16, &newy16);
+ digital_newx = newx16;
+ digital_newy = newy16;
+
+ /*DBG(("digital_get_new_movement %08ld %dx%d new: %dx%d last: %dx%d",
+ maincpu_clk, newx16, newy16, digital_newx, digital_newy, digital_lastx ,digital_lasty)); */
+}
+
+#define MOVE_CLOCK_DELAY (((312 * 65) * 3) / 2)
+
+#define MOVE_MIN_DIFF 8
+
+uint8_t digital_mouse_read(void)
+{
+ digital_get_new_movement();
+
+ if ((digital_newy - digital_lasty) > MOVE_MIN_DIFF) {
+ DBG(("up %d,%d", digital_newy, digital_lasty));
+ digital_state &= ~(1 << 0); /* up */
+ clock_vert_move = maincpu_clk + MOVE_CLOCK_DELAY;
+ } else if ((digital_lasty - digital_newy) > MOVE_MIN_DIFF) {
+ DBG(("down %d,%d", digital_newy, digital_lasty));
+ digital_state &= ~(1 << 1); /* down */
+ clock_vert_move = maincpu_clk + MOVE_CLOCK_DELAY;
+ }
+ if ((digital_lastx - digital_newx) > MOVE_MIN_DIFF) {
+ DBG(("left %d,%d", digital_newx, digital_lastx));
+ digital_state &= ~(1 << 2); /* left */
+ clock_hori_move = maincpu_clk + MOVE_CLOCK_DELAY;
+ } else if ((digital_newx - digital_lastx) > MOVE_MIN_DIFF) {
+ DBG(("right %d,%d", digital_newx, digital_lastx));
+ digital_state &= ~(1 << 3); /* right */
+ clock_hori_move = maincpu_clk + MOVE_CLOCK_DELAY;
+ }
+
+ if (maincpu_clk > clock_vert_move) {
+ digital_state |= 0x03;
+ }
+ if (maincpu_clk > clock_hori_move) {
+ digital_state |= 0x0c;
+ }
+ DBG(("digital_get_new_movement %08ld new: %dx%d last: %dx%d clock_vert_move %ld clock_hori_move %ld",
+ maincpu_clk, digital_newx, digital_newy, digital_lastx ,digital_lasty, clock_vert_move, clock_hori_move));
+
+ return digital_state;
+}
+
+static uint8_t joyport_mouse_digital_value(int port)
+{
+ uint8_t retval = 0xff;
+
+ if (_mouse_enabled) {
+
+ /* we need to poll here, else the mouse can not move if the C64 code
+ does not read POTX */
+ mouse_poll();
+
+ retval = (uint8_t)((~mouse_digital_val) & digital_mouse_read());
+
+ if (retval != (uint8_t)~mouse_digital_val) {
+ joyport_display_joyport(port, JOYPORT_ID_MOUSE_DIGITAL, (uint16_t)(~retval));
+ }
+ }
+ return retval;
+}
+
+void mouse_digital_button_right(int pressed)
+{
+ if (pressed) {
+ digital_buttons |= JOYPORT_FIRE_2;
+ } else {
+ digital_buttons &= ~JOYPORT_FIRE_2;
+ }
+}
+
+void mouse_digital_button_left(int pressed)
+{
+ if (pressed) {
+ mouse_digital_val |= JOYPORT_FIRE_1;
+ } else {
+ mouse_digital_val &= (uint8_t)~JOYPORT_FIRE_1;
+ }
+}
+
+
+static uint8_t joyport_mouse_digital_potx(int port)
+{
+ DBG(("joyport_mouse_digital_potx %02x", digital_buttons));
+ return _mouse_enabled ? ((digital_buttons & JOYPORT_FIRE_2) ? 0 : 0xff) : 0xff;
+}
+
+void mouse_digital_set_enabled(int enabled)
+{
+ if (enabled) {
+ mouse_get_raw_int16(&mouse_latest_x, &mouse_latest_y);
+ digital_lastx = mouse_latest_x;
+ digital_lasty = mouse_latest_y;
+ }
+}
+
+static int joyport_mouse_digital_set_enabled(int port, int joyportid)
+{
+ int mt;
+
+ mouse_reset();
+ digital_lastx = mouse_latest_x;
+ digital_lasty = mouse_latest_y;
+
+ if (joyportid == JOYPORT_ID_NONE) {
+ /* disabled, set mouse type to invalid/none */
+ mouse_type = -1;
+ return 0;
+ }
+
+ /* convert joyport ID to mouse type */
+ mt = mouse_id_to_type(joyportid);
+
+ if (mt == -1) {
+ return -1;
+ }
+
+ DBG(("joyport_mouse_digital_set_enabled mt:%d,mouse_type:%d",mt,mouse_type));
+ if (mt == mouse_type) {
+ return 0;
+ }
+
+ mouse_type = mt;
+
+ return 0;
+}
+
+
+/* Some prototypes are needed */
+int mouse_digital_write_snapshot(struct snapshot_s *s, int port);
+int mouse_digital_read_snapshot(struct snapshot_s *s, int port);
+
+static joyport_t mouse_digital_joyport_device = {
+ "Mouse (Joystick Mouse)", /* name of the device */
+ JOYPORT_RES_ID_MOUSE, /* device uses the mouse for input, only 1 mouse type device can be active at the same time */
+ JOYPORT_IS_NOT_LIGHTPEN, /* device is NOT a lightpen */
+ JOYPORT_POT_OPTIONAL, /* device uses the potentiometer line for the right button, but could work without it */
+ JOYPORT_5VDC_REQUIRED, /* device NEEDS +5VDC to work */
+ JOYSTICK_ADAPTER_ID_NONE, /* device is NOT a joystick adapter */
+ JOYPORT_DEVICE_MOUSE, /* device is a Mouse */
+ 0x10, /* bit 4 is an output bit */
+ joyport_mouse_digital_set_enabled, /* device enable/disable function */
+ joyport_mouse_digital_value, /* digital line read function */
+ NULL, /* digital line store function */
+ joyport_mouse_digital_potx, /* pot-x read function */
+ NULL, /* NO pot-y read function */
+ NULL, /* NO powerup function */
+ mouse_digital_write_snapshot, /* device write snapshot function */
+ mouse_digital_read_snapshot, /* device read snapshot function */
+ NULL, /* NO device hook function */
+ 0 /* NO device hook function mask */
+};
+
+int mouse_digital_register(void)
+{
+ DBG(("mouse_digital_register"));
+ return joyport_device_register(JOYPORT_ID_MOUSE_DIGITAL, &mouse_digital_joyport_device);
+}
+
+
+void mouse_digital_init(void)
+{
+ DBG(("mouse_digital_init"));
+ digital_buttons = 0;
+ clock_vert_move = 0;
+ clock_hori_move = 0;
+}
+
+/* --------------------------------------------------------- */
+
+/* MOUSE_DIGITAL snapshot module format:
+
+ type | name | description
+ ------------------------------------------
+ BYTE | digital value | digital pins return value
+ DWORD | buttons | buttons state
+ BYTE | new x | X
+ BYTE | new y | Y
+ BYTE | last x | last X
+ BYTE | last y | last Y
+ DWORD | digital state | state
+ DWORD | clock_vert_move | last trigger clock (Vertical)
+ DWORD | clock_hori_move | last trigger clock (Horizontal)
+ */
+
+static const char mouse_digital_snap_module_name[] = "MOUSE_DIGITAL";
+#define MOUSE_DIGITAL_VER_MAJOR 1
+#define MOUSE_DIGITAL_VER_MINOR 0
+
+int mouse_digital_write_snapshot(struct snapshot_s *s, int port)
+{
+ snapshot_module_t *m;
+
+ m = snapshot_module_create(s, mouse_digital_snap_module_name, MOUSE_DIGITAL_VER_MAJOR, MOUSE_DIGITAL_VER_MINOR);
+
+ if (m == NULL) {
+ return -1;
+ }
+
+ if (write_mouse_common_snapshot(m) < 0) {
+ goto fail;
+ }
+
+ if (0
+ || SMW_B(m, mouse_digital_val) < 0
+ || SMW_DW(m, (uint32_t)digital_buttons) < 0
+ || SMW_DW(m, digital_newx) < 0
+ || SMW_DW(m, digital_newy) < 0
+ || SMW_DW(m, digital_lastx) < 0
+ || SMW_DW(m, digital_lasty) < 0
+ || SMW_DW(m, (uint32_t)digital_state) < 0
+ || SMW_DW(m, (uint32_t)clock_vert_move) < 0
+ || SMW_DW(m, (uint32_t)clock_hori_move) < 0
+ ) {
+ goto fail;
+ }
+
+ return snapshot_module_close(m);
+
+fail:
+ snapshot_module_close(m);
+ return -1;
+}
+
+int mouse_digital_read_snapshot(struct snapshot_s *s, int port)
+{
+ uint8_t major_version, minor_version;
+ snapshot_module_t *m;
+ uint32_t tmpc1;
+ uint32_t tmpc2;
+ int tmp_digital_state;
+
+ m = snapshot_module_open(s, mouse_digital_snap_module_name, &major_version, &minor_version);
+
+ if (m == NULL) {
+ return -1;
+ }
+
+ /* Do not accept higher versions than current */
+ if (snapshot_version_is_bigger(major_version, minor_version, MOUSE_DIGITAL_VER_MAJOR, MOUSE_DIGITAL_VER_MINOR)) {
+ snapshot_set_error(SNAPSHOT_MODULE_HIGHER_VERSION);
+ goto fail;
+ }
+
+ if (read_mouse_common_snapshot(m) < 0) {
+ goto fail;
+ }
+
+ if (0
+ || SMR_B(m, &mouse_digital_val) < 0
+ || SMR_DW_INT(m, &digital_buttons) < 0
+ || SMR_DW_INT(m, &digital_newx) < 0
+ || SMR_DW_INT(m, &digital_newy) < 0
+ || SMR_DW_INT(m, &digital_lastx) < 0
+ || SMR_DW_INT(m, &digital_lasty) < 0
+ || SMR_DW_INT(m, &tmp_digital_state) < 0
+ || SMR_DW(m, &tmpc1) < 0
+ || SMR_DW(m, &tmpc2) < 0
+ ) {
+ goto fail;
+ }
+
+ clock_vert_move = (CLOCK)tmpc1;
+ clock_hori_move = (CLOCK)tmpc2;
+ digital_state = tmp_digital_state;
+
+ return snapshot_module_close(m);
+
+fail:
+ snapshot_module_close(m);
+ return -1;
+}
+
Added: trunk/vice/src/joyport/mouse_digital.h
===================================================================
--- trunk/vice/src/joyport/mouse_digital.h (rev 0)
+++ trunk/vice/src/joyport/mouse_digital.h 2026-04-19 04:10:36 UTC (rev 46082)
@@ -0,0 +1,42 @@
+/*
+ * mouse_digital.h - Digital "joy" mouse handling (header)
+ *
+ * Written by
+ * groepaz <gr...@gm...>
+ *
+ * This file is part of VICE, the Versatile Commodore Emulator.
+ * See README for copyright notice.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307 USA.
+ *
+ */
+
+#ifndef VICE_MOUSE_DIGITAL_H
+#define VICE_MOUSE_DIGITAL_H
+
+void mouse_digital_init(void);
+void mouse_digital_set_enabled(int enabled);
+void mouse_digital_button_right(int pressed);
+void mouse_digital_button_left(int pressed);
+
+int mouse_digital_register(void);
+
+void digital_mouse_set_machine_parameter(long clock_rate);
+
+void digital_mouse_store(int port, uint8_t val);
+uint8_t digital_mouse_read(void);
+
+#endif
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2026-04-18 17:59:36
|
Revision: 46081
http://sourceforge.net/p/vice-emu/code/46081
Author: gpz
Date: 2026-04-18 17:59:34 +0000 (Sat, 18 Apr 2026)
Log Message:
-----------
add 'digital' mouse (1350 style)
Modified Paths:
--------------
trunk/vice/doc/vice.texi
trunk/vice/src/joyport/Makefile.am
trunk/vice/src/joyport/joyport.c
trunk/vice/src/joyport/joyport.h
trunk/vice/src/joyport/mouse.c
trunk/vice/src/joyport/mouse.h
Modified: trunk/vice/doc/vice.texi
===================================================================
--- trunk/vice/doc/vice.texi 2026-04-18 15:01:40 UTC (rev 46080)
+++ trunk/vice/doc/vice.texi 2026-04-18 17:59:34 UTC (rev 46081)
@@ -4591,6 +4591,7 @@
@node Control port and devices, , Control port options, Control port settings
@subsection Control port and devices
+
x64/x64sc/xscpu64 control ports and devices:
@multitable @columnfractions .05 .33 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05
@@ -4876,8 +4877,13 @@
@tab Chalkboard Powerpad
@tab X
@tab X
+@item 44
+@tab Mouse (Joystick mouse)
+@tab X
+@tab X
@end multitable
+
x128 control ports and devices:
@multitable @columnfractions .05 .33 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05
@@ -5111,8 +5117,13 @@
@tab Chalkboard Powerpad
@tab X
@tab X
+@item 44
+@tab Mouse (Joystick mouse)
+@tab X
+@tab X
@end multitable
+
x64dtv control ports and devices:
@multitable @columnfractions .05 .33 .05 .05 .05
@@ -5147,6 +5158,7 @@
@tab X
@end multitable
+
xcbm2/xpet can handle the following devices on all control ports:
@multitable @columnfractions .05 .33
@@ -5158,6 +5170,7 @@
@tab Joystick
@end multitable
+
xcbm5x0 control ports and devices:
@multitable @columnfractions .05 .33 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05
@@ -5339,6 +5352,7 @@
@tab X
@end multitable
+
xplus4 control ports and devices:
@multitable @columnfractions .05 .33 .05 .05 .05 .05 .05 .05 .05 .05 .05
@@ -5658,8 +5672,22 @@
@tab
@tab
@tab X
+@item 44
+@tab Mouse (Joystick mouse)
+@tab
+@tab
+@tab
+@tab
+@tab
+@tab
+@tab
+@tab
+@tab
+@tab
+@tab X
@end multitable
+
xvic control ports and devices:
@multitable @columnfractions .05 .33 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05 .05
@@ -5869,11 +5897,15 @@
@item 42
@tab Chalkboard Powerpad
@tab X
+@item 44
+@tab Mouse (Joystick mouse)
+@tab X
@end multitable
+
Meaning of abreviations used in the tables above:
-@multitable @columnfractions .05 .33
+@multitable @columnfractions .05 .95
@headitem abr
@tab meaning
@item N1
Modified: trunk/vice/src/joyport/Makefile.am
===================================================================
--- trunk/vice/src/joyport/Makefile.am 2026-04-18 15:01:40 UTC (rev 46080)
+++ trunk/vice/src/joyport/Makefile.am 2026-04-18 17:59:34 UTC (rev 46081)
@@ -47,6 +47,8 @@
mouse.h \
mouse_1351.c \
mouse_1351.h \
+ mouse_digital.c \
+ mouse_digital.h \
mouse_neos.c \
mouse_neos.h \
mouse_paddle.c \
Modified: trunk/vice/src/joyport/joyport.c
===================================================================
--- trunk/vice/src/joyport/joyport.c 2026-04-18 15:01:40 UTC (rev 46080)
+++ trunk/vice/src/joyport/joyport.c 2026-04-18 17:59:34 UTC (rev 46081)
@@ -47,10 +47,13 @@
#include "log.h"
#include "machine.h"
#include "maincpu.h"
+
#include "mouse_1351.h"
+#include "mouse_digital.h"
#include "mouse_neos.h"
#include "mouse_paddle.h"
#include "mouse_quadrature.h"
+
#include "multijoy.h"
#include "ninja_snespad.h"
#include "paperclip2.h"
@@ -1215,6 +1218,12 @@
NULL /* cmdline options init function */
},
#ifdef HAVE_MOUSE
+ { JOYPORT_ID_MOUSE_DIGITAL, /* device id */
+ VICE_MACHINE_NATIVE_5V_JOYPORTS, /* emulators this device works on */
+ mouse_digital_register, /* resources init function */
+ NULL, /* resources shutdown function */
+ NULL /* cmdline options init function */
+ },
{ JOYPORT_ID_MOUSE_1351, /* device id */
VICE_MACHINE_NATIVE_5V_JOYPORTS, /* emulators this device works on */
mouse_1351_register, /* resources init function */
Modified: trunk/vice/src/joyport/joyport.h
===================================================================
--- trunk/vice/src/joyport/joyport.h 2026-04-18 15:01:40 UTC (rev 46080)
+++ trunk/vice/src/joyport/joyport.h 2026-04-18 17:59:34 UTC (rev 46081)
@@ -86,6 +86,7 @@
JOYPORT_ID_PAPERCLIP2,
JOYPORT_ID_POWERPAD,
JOYPORT_ID_DIAG_586220_HARNESS,
+ JOYPORT_ID_MOUSE_DIGITAL,
/* This item always needs to be at the end */
JOYPORT_MAX_DEVICES
Modified: trunk/vice/src/joyport/mouse.c
===================================================================
--- trunk/vice/src/joyport/mouse.c 2026-04-18 15:01:40 UTC (rev 46080)
+++ trunk/vice/src/joyport/mouse.c 2026-04-18 17:59:34 UTC (rev 46081)
@@ -60,6 +60,7 @@
#include "snapshot.h"
#include "mouse_1351.h"
+#include "mouse_digital.h"
#include "mouse_neos.h"
#include "mouse_paddle.h"
#include "mouse_quadrature.h"
@@ -381,6 +382,9 @@
{
DBG(("mouse_button_left %d type:%d\n", pressed, mouse_type));
switch (mouse_type) {
+ case MOUSE_TYPE_DIGITAL:
+ mouse_digital_button_left(pressed);
+ break;
case MOUSE_TYPE_1351:
case MOUSE_TYPE_SMART:
case MOUSE_TYPE_MICROMYS:
@@ -409,6 +413,9 @@
{
DBG(("mouse_button_right %d\n", pressed));
switch (mouse_type) {
+ case MOUSE_TYPE_DIGITAL:
+ mouse_digital_button_right(pressed);
+ break;
case MOUSE_TYPE_1351:
case MOUSE_TYPE_SMART:
case MOUSE_TYPE_MICROMYS:
@@ -485,6 +492,7 @@
{ MOUSE_TYPE_MICROMYS, JOYPORT_ID_MOUSE_MICROMYS },
{ MOUSE_TYPE_KOALAPAD, JOYPORT_ID_KOALAPAD },
{ MOUSE_TYPE_POWERPAD, JOYPORT_ID_POWERPAD },
+ { MOUSE_TYPE_DIGITAL, JOYPORT_ID_MOUSE_DIGITAL },
{ -1, -1 }
};
Modified: trunk/vice/src/joyport/mouse.h
===================================================================
--- trunk/vice/src/joyport/mouse.h 2026-04-18 15:01:40 UTC (rev 46080)
+++ trunk/vice/src/joyport/mouse.h 2026-04-18 17:59:34 UTC (rev 46081)
@@ -76,6 +76,7 @@
MOUSE_TYPE_KOALAPAD,
MOUSE_TYPE_MF_JOY,
MOUSE_TYPE_POWERPAD,
+ MOUSE_TYPE_DIGITAL,
/* This item always needs to be at the end */
MOUSE_TYPE_NUM
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <st...@us...> - 2026-04-18 15:01:42
|
Revision: 46080
http://sourceforge.net/p/vice-emu/code/46080
Author: strobey
Date: 2026-04-18 15:01:40 +0000 (Sat, 18 Apr 2026)
Log Message:
-----------
Update msys2 prerequisites after doing a clean install test.
Modified Paths:
--------------
trunk/vice/doc/building/Windows-MinGW-GTK3-Howto.txt
Modified: trunk/vice/doc/building/Windows-MinGW-GTK3-Howto.txt
===================================================================
--- trunk/vice/doc/building/Windows-MinGW-GTK3-Howto.txt 2026-04-18 13:35:54 UTC (rev 46079)
+++ trunk/vice/doc/building/Windows-MinGW-GTK3-Howto.txt 2026-04-18 15:01:40 UTC (rev 46080)
@@ -76,7 +76,7 @@
Run the following command lines to install the prerequisites:
-$ pacman -S --noconfirm --needed autotools base-devel p7zip subversion unzip zip
+$ pacman -S --noconfirm --needed autotools base-devel iconv p7zip subversion unzip zip
If you are using a 64-bit MinGW shell also run this:
$ pacman -S --noconfirm --needed mingw-w64-x86_64-curl mingw-w64-x86_64-gcc mingw-w64-x86_64-glew mingw-w64-x86_64-gtk3 mingw-w64-x86_64-icoutils mingw-w64-x86_64-ntldd mingw-w64-x86_64-xa65
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2026-04-18 13:35:57
|
Revision: 46079
http://sourceforge.net/p/vice-emu/code/46079
Author: gpz
Date: 2026-04-18 13:35:54 +0000 (Sat, 18 Apr 2026)
Log Message:
-----------
save connected (sub)devices into snapshots for some joystick adapters. affected are: petscii-snespad, trapthem-snespad, spaceballs, ninja-snespad, multijoy, inception. fixes part of #1509
Modified Paths:
--------------
trunk/vice/src/joyport/inception.c
trunk/vice/src/joyport/joyport.c
trunk/vice/src/joyport/joystick.c
trunk/vice/src/joyport/multijoy.c
trunk/vice/src/joyport/ninja_snespad.c
trunk/vice/src/joyport/spaceballs.c
trunk/vice/src/joyport/trapthem_snespad.c
trunk/vice/src/userport/userport_petscii_snespad.c
trunk/vice/src/userport/userport_spt_joystick.c
trunk/vice/src/userport/userport_synergy_joystick.c
trunk/vice/src/userport/userport_v8_joystick.c
trunk/vice/src/userport/userport_woj_joystick.c
Modified: trunk/vice/src/joyport/inception.c
===================================================================
--- trunk/vice/src/joyport/inception.c 2026-04-17 11:45:42 UTC (rev 46078)
+++ trunk/vice/src/joyport/inception.c 2026-04-18 13:35:54 UTC (rev 46079)
@@ -39,6 +39,14 @@
#include "log.h"
+/* #define DEBUGINCEPTION */
+
+#ifdef DEBUGINCEPTION
+#define DBG(x) log_printf x
+#else
+#define DBG(x)
+#endif
+
/* Control port <--> INCEPTION connections:
cport | INCEPTION
@@ -69,6 +77,8 @@
{
int new_state = enabled ? 1 : 0;
+ /* FIXME: "port" is completely ignored? */
+ DBG(("joyport_inception_set_enabled port:%d enabled:%d", port, enabled));
if (new_state == inception_enabled) {
return 0;
}
@@ -87,6 +97,7 @@
/* set the current state */
inception_enabled = new_state;
+ DBG(("joyport_inception_set_enabled changed port:%d inception_enabled:%d", port, inception_enabled));
return 0;
}
@@ -256,16 +267,19 @@
----------------------------------
BYTE | COUNTER | counter value
BYTE | CLOCK | clock line state
+
+ followed by 8 joyport modules
*/
static const char snap_module_name[] = "INCEPTION";
#define SNAP_MAJOR 0
-#define SNAP_MINOR 0
+#define SNAP_MINOR 1
static int inception_write_snapshot(struct snapshot_s *s, int p)
{
snapshot_module_t *m;
+ DBG(("inception_write_snapshot"));
m = snapshot_module_create(s, snap_module_name, SNAP_MAJOR, SNAP_MINOR);
if (m == NULL) {
@@ -278,7 +292,21 @@
snapshot_module_close(m);
return -1;
}
- return snapshot_module_close(m);
+ snapshot_module_close(m);
+
+ if (0
+ || joyport_snapshot_write_module(s, JOYPORT_3) < 0
+ || joyport_snapshot_write_module(s, JOYPORT_4) < 0
+ || joyport_snapshot_write_module(s, JOYPORT_5) < 0
+ || joyport_snapshot_write_module(s, JOYPORT_6) < 0
+ || joyport_snapshot_write_module(s, JOYPORT_7) < 0
+ || joyport_snapshot_write_module(s, JOYPORT_8) < 0
+ || joyport_snapshot_write_module(s, JOYPORT_9) < 0
+ || joyport_snapshot_write_module(s, JOYPORT_10) < 0) {
+ return -1;
+ }
+
+ return 0;
}
static int inception_read_snapshot(struct snapshot_s *s, int p)
@@ -286,6 +314,7 @@
uint8_t major_version, minor_version;
snapshot_module_t *m;
+ DBG(("inception_read_snapshot"));
m = snapshot_module_open(s, snap_module_name, &major_version, &minor_version);
if (m == NULL) {
@@ -304,8 +333,21 @@
goto fail;
}
- return snapshot_module_close(m);
+ snapshot_module_close(m);
+ if (0
+ || joyport_snapshot_read_module(s, JOYPORT_3) < 0
+ || joyport_snapshot_read_module(s, JOYPORT_4) < 0
+ || joyport_snapshot_read_module(s, JOYPORT_5) < 0
+ || joyport_snapshot_read_module(s, JOYPORT_6) < 0
+ || joyport_snapshot_read_module(s, JOYPORT_7) < 0
+ || joyport_snapshot_read_module(s, JOYPORT_8) < 0
+ || joyport_snapshot_read_module(s, JOYPORT_9) < 0
+ || joyport_snapshot_read_module(s, JOYPORT_10) < 0) {
+ return -1;
+ }
+ return 0;
+
fail:
snapshot_module_close(m);
return -1;
Modified: trunk/vice/src/joyport/joyport.c
===================================================================
--- trunk/vice/src/joyport/joyport.c 2026-04-17 11:45:42 UTC (rev 46078)
+++ trunk/vice/src/joyport/joyport.c 2026-04-18 13:35:54 UTC (rev 46079)
@@ -1029,6 +1029,7 @@
}
}
+/* enable extra joystick ports */
void joystick_adapter_set_ports(int ports, int has_5vdc)
{
int i;
@@ -1047,6 +1048,7 @@
return joystick_adapter_ports + joystick_adapter_additional_ports;
}
+/* enable even more joystick ports (eg internal expansion) */
void joystick_adapter_set_add_ports(int ports)
{
joystick_adapter_additional_ports = ports;
@@ -2069,6 +2071,7 @@
char snapshot_name[16];
sprintf(snapshot_name, "JOYPORT%d", port);
+ DBG(("joyport_snapshot_write_module %s", snapshot_name));
m = snapshot_module_create(s, snapshot_name, DUMP_VER_MAJOR, DUMP_VER_MINOR);
@@ -2085,6 +2088,7 @@
snapshot_module_close(m);
/* save seperate joyport device module */
+ DBG(("joyport_snapshot_write_module device id %d", joy_port[port]));
switch (joy_port[port]) {
case JOYPORT_ID_NONE:
break;
@@ -2108,6 +2112,7 @@
char snapshot_name[16];
sprintf(snapshot_name, "JOYPORT%d", port);
+ DBG(("joyport_snapshot_read_module %s", snapshot_name));
m = snapshot_module_open(s, snapshot_name, &major_version, &minor_version);
if (m == NULL) {
@@ -2131,6 +2136,7 @@
joyport_set_device(port, temp_joy_port);
/* load device snapshot */
+ DBG(("joyport_snapshot_read_module device id %d (=%d)", joy_port[port], temp_joy_port));
switch (joy_port[port]) {
case JOYPORT_ID_NONE:
break;
Modified: trunk/vice/src/joyport/joystick.c
===================================================================
--- trunk/vice/src/joyport/joystick.c 2026-04-17 11:45:42 UTC (rev 46078)
+++ trunk/vice/src/joyport/joystick.c 2026-04-18 13:35:54 UTC (rev 46079)
@@ -84,7 +84,7 @@
/* #define DEBUGJOY */
#ifdef DEBUGJOY
-#define DBG(x) printf x
+#define DBG(x) log_printf x
#else
#define DBG(x)
#endif
@@ -2738,6 +2738,7 @@
char snapshot_name[16];
sprintf(snapshot_name, "JOYSTICK%d", port);
+ DBG(("joystick_snapshot_write_module %s", snapshot_name));
m = snapshot_module_create(s, snapshot_name, DUMP_VER_MAJOR, DUMP_VER_MINOR);
if (m == NULL) {
@@ -2759,6 +2760,7 @@
char snapshot_name[16];
sprintf(snapshot_name, "JOYSTICK%d", port);
+ DBG(("joystick_snapshot_read_module %s", snapshot_name));
m = snapshot_module_open(s, snapshot_name, &major_version, &minor_version);
if (m == NULL) {
@@ -2922,7 +2924,7 @@
{
switch (event->action) {
case JOY_ACTION_JOYSTICK:
- DBG(("joy_perform_event (JOY_ACTION_JOYSTICK) joyport: %d value: %d pin: %02x\n",
+ DBG(("joy_perform_event (JOY_ACTION_JOYSTICK) joyport: %d value: %d pin: %02x",
joyport, value, event->value.joy_pin));
if (joyport >=0 && joyport < JOYPORT_MAX_PORTS) {
if (value) {
@@ -2933,7 +2935,7 @@
}
break;
case JOY_ACTION_KEYBOARD:
- DBG(("joy_perform_event (JOY_ACTION_KEYBOARD) joyport: %d value: %d key: %02x/%02x/%02x\n",
+ DBG(("joy_perform_event (JOY_ACTION_KEYBOARD) joyport: %d value: %d key: %02x/%02x/%02x",
joyport, value, (unsigned int)event->value.key[0], (unsigned int)event->value.key[1], (unsigned int)event->value.key[2]));
keyboard_set_keyarr_any(event->value.key[0], event->value.key[1], value);
/* bit 0 of the flag value indicates a shifted key */
@@ -2945,7 +2947,7 @@
}
break;
case JOY_ACTION_UI_ACTIVATE:
- DBG(("%s (JOY_ACTION_UI_ACTIVATE) joyport: %d value: %d\n", __func__, joyport, value));
+ DBG(("%s (JOY_ACTION_UI_ACTIVATE) joyport: %d value: %d", __func__, joyport, value));
if ((joyport >= 0) && (joyport < JOYPORT_MAX_PORTS)) {
if (value) {
arch_ui_activate();
@@ -2953,7 +2955,7 @@
}
break;
case JOY_ACTION_UI_FUNCTION:
- DBG(("%s (JOY_ACTION_UI_FUNCTION) joyport: %d value: %d\n", __func__, joyport, value));
+ DBG(("%s (JOY_ACTION_UI_FUNCTION) joyport: %d value: %d", __func__, joyport, value));
if ((joyport >= 0) && (joyport < JOYPORT_MAX_PORTS)) {
if (value && event->value.ui_action > ACTION_NONE) {
ui_action_trigger(event->value.ui_action);
@@ -2961,7 +2963,7 @@
}
#if 0 /* FIXME */
case MENUACTION:
- DBG(("joy_perform_event (MENUACTION) joyport: %d value: %d action: %d\n",
+ DBG(("joy_perform_event (MENUACTION) joyport: %d value: %d action: %d",
joyport, value,event->value.action));
break;
#endif
@@ -3046,7 +3048,7 @@
return;
}
- DBG(("joy_axis_event: joy: %s axis: %d value: %d: direction: %d prev: %d\n",
+ DBG(("joy_axis_event: joy: %s axis: %d value: %d: direction: %d prev: %d",
axis->device->name, axis->index, value, direction, prev));
/* release directions first if needed */
@@ -3127,7 +3129,7 @@
if (value != button->prev) {
int32_t pressed = joystick_button_pressed(button, value);
- DBG(("joy_button_event: joy: %s, button: %d (%s) pressed: %d\n",
+ DBG(("joy_button_event: joy: %s, button: %d (%s) pressed: %d",
button->device->name, button->index, button->name, pressed));
joy_perform_event(&button->mapping, button->device->joyport, pressed);
button->prev = value;
Modified: trunk/vice/src/joyport/multijoy.c
===================================================================
--- trunk/vice/src/joyport/multijoy.c 2026-04-17 11:45:42 UTC (rev 46078)
+++ trunk/vice/src/joyport/multijoy.c 2026-04-18 13:35:54 UTC (rev 46079)
@@ -239,11 +239,13 @@
type | name | description
----------------------------------
BYTE | ADDRESS | which joystick is active
+
+ followed by 8 joyport modules
*/
static const char snap_module_name[] = "MULTIJOY";
#define SNAP_MAJOR 0
-#define SNAP_MINOR 0
+#define SNAP_MINOR 1
static int multijoy_write_snapshot(struct snapshot_s *s, int p)
{
@@ -260,7 +262,21 @@
snapshot_module_close(m);
return -1;
}
- return snapshot_module_close(m);
+
+ snapshot_module_close(m);
+
+ if (0
+ || joyport_snapshot_write_module(s, JOYPORT_3) < 0
+ || joyport_snapshot_write_module(s, JOYPORT_4) < 0
+ || joyport_snapshot_write_module(s, JOYPORT_5) < 0
+ || joyport_snapshot_write_module(s, JOYPORT_6) < 0
+ || joyport_snapshot_write_module(s, JOYPORT_7) < 0
+ || joyport_snapshot_write_module(s, JOYPORT_8) < 0
+ || joyport_snapshot_write_module(s, JOYPORT_9) < 0
+ || joyport_snapshot_write_module(s, JOYPORT_10) < 0) {
+ return -1;
+ }
+ return 0;
}
static int multijoy_read_snapshot(struct snapshot_s *s, int p)
@@ -285,9 +301,23 @@
goto fail;
}
- return snapshot_module_close(m);
+ snapshot_module_close(m);
+ if (0
+ || joyport_snapshot_read_module(s, JOYPORT_3) < 0
+ || joyport_snapshot_read_module(s, JOYPORT_4) < 0
+ || joyport_snapshot_read_module(s, JOYPORT_5) < 0
+ || joyport_snapshot_read_module(s, JOYPORT_6) < 0
+ || joyport_snapshot_read_module(s, JOYPORT_7) < 0
+ || joyport_snapshot_read_module(s, JOYPORT_8) < 0
+ || joyport_snapshot_read_module(s, JOYPORT_9) < 0
+ || joyport_snapshot_read_module(s, JOYPORT_10) < 0) {
+ return -1;
+ }
+ return 0;
+
fail:
snapshot_module_close(m);
return -1;
+
}
Modified: trunk/vice/src/joyport/ninja_snespad.c
===================================================================
--- trunk/vice/src/joyport/ninja_snespad.c 2026-04-17 11:45:42 UTC (rev 46078)
+++ trunk/vice/src/joyport/ninja_snespad.c 2026-04-18 13:35:54 UTC (rev 46079)
@@ -260,11 +260,13 @@
BYTE | COUNTER | counter value
BYTE | LATCH | latch line state
BYTE | CLOCK | clock line state
+
+ followed by (up to 8, currently) 3 joyport modules
*/
static const char snap_module_name[] = "NINJASNESPAD";
#define SNAP_MAJOR 0
-#define SNAP_MINOR 0
+#define SNAP_MINOR 1
static int ninja_snespad_write_snapshot(struct snapshot_s *s, int p)
{
@@ -283,7 +285,23 @@
snapshot_module_close(m);
return -1;
}
- return snapshot_module_close(m);
+ snapshot_module_close(m);
+
+ if (0
+ || joyport_snapshot_write_module(s, JOYPORT_3) < 0
+ || joyport_snapshot_write_module(s, JOYPORT_4) < 0
+ || joyport_snapshot_write_module(s, JOYPORT_5) < 0
+#if 0
+ || joyport_snapshot_write_module(s, JOYPORT_6) < 0
+ || joyport_snapshot_write_module(s, JOYPORT_7) < 0
+ || joyport_snapshot_write_module(s, JOYPORT_8) < 0
+ || joyport_snapshot_write_module(s, JOYPORT_9) < 0
+ || joyport_snapshot_write_module(s, JOYPORT_10) < 0
+#endif
+) {
+ return -1;
+ }
+ return 0;
}
static int ninja_snespad_read_snapshot(struct snapshot_s *s, int p)
@@ -310,8 +328,24 @@
goto fail;
}
- return snapshot_module_close(m);
+ snapshot_module_close(m);
+ if (0
+ || joyport_snapshot_read_module(s, JOYPORT_3) < 0
+ || joyport_snapshot_read_module(s, JOYPORT_4) < 0
+ || joyport_snapshot_read_module(s, JOYPORT_5) < 0
+#if 0
+ || joyport_snapshot_read_module(s, JOYPORT_6) < 0
+ || joyport_snapshot_read_module(s, JOYPORT_7) < 0
+ || joyport_snapshot_read_module(s, JOYPORT_8) < 0
+ || joyport_snapshot_read_module(s, JOYPORT_9) < 0
+ || joyport_snapshot_read_module(s, JOYPORT_10) < 0
+#endif
+) {
+ return -1;
+ }
+ return 0;
+
fail:
snapshot_module_close(m);
return -1;
Modified: trunk/vice/src/joyport/spaceballs.c
===================================================================
--- trunk/vice/src/joyport/spaceballs.c 2026-04-17 11:45:42 UTC (rev 46078)
+++ trunk/vice/src/joyport/spaceballs.c 2026-04-18 13:35:54 UTC (rev 46079)
@@ -199,11 +199,13 @@
type | name | description
----------------------------------
BYTE | GROUNDS | userport PBx state
+
+ followed by 8 joyport modules
*/
static const char snap_module_name[] = "SPACEBALLS";
#define SNAP_MAJOR 0
-#define SNAP_MINOR 0
+#define SNAP_MINOR 1
static int spaceballs_write_snapshot(struct snapshot_s *s, int p)
{
@@ -220,7 +222,20 @@
snapshot_module_close(m);
return -1;
}
- return snapshot_module_close(m);
+ snapshot_module_close(m);
+
+ if (0
+ || joyport_snapshot_write_module(s, JOYPORT_3) < 0
+ || joyport_snapshot_write_module(s, JOYPORT_4) < 0
+ || joyport_snapshot_write_module(s, JOYPORT_5) < 0
+ || joyport_snapshot_write_module(s, JOYPORT_6) < 0
+ || joyport_snapshot_write_module(s, JOYPORT_7) < 0
+ || joyport_snapshot_write_module(s, JOYPORT_8) < 0
+ || joyport_snapshot_write_module(s, JOYPORT_9) < 0
+ || joyport_snapshot_write_module(s, JOYPORT_10) < 0) {
+ return -1;
+ }
+ return 0;
}
static int spaceballs_read_snapshot(struct snapshot_s *s, int p)
@@ -245,8 +260,21 @@
goto fail;
}
- return snapshot_module_close(m);
+ snapshot_module_close(m);
+ if (0
+ || joyport_snapshot_read_module(s, JOYPORT_3) < 0
+ || joyport_snapshot_read_module(s, JOYPORT_4) < 0
+ || joyport_snapshot_read_module(s, JOYPORT_5) < 0
+ || joyport_snapshot_read_module(s, JOYPORT_6) < 0
+ || joyport_snapshot_read_module(s, JOYPORT_7) < 0
+ || joyport_snapshot_read_module(s, JOYPORT_8) < 0
+ || joyport_snapshot_read_module(s, JOYPORT_9) < 0
+ || joyport_snapshot_read_module(s, JOYPORT_10) < 0) {
+ return -1;
+ }
+ return 0;
+
fail:
snapshot_module_close(m);
return -1;
Modified: trunk/vice/src/joyport/trapthem_snespad.c
===================================================================
--- trunk/vice/src/joyport/trapthem_snespad.c 2026-04-17 11:45:42 UTC (rev 46078)
+++ trunk/vice/src/joyport/trapthem_snespad.c 2026-04-18 13:35:54 UTC (rev 46079)
@@ -212,11 +212,13 @@
BYTE | COUNTER | counter value
BYTE | LATCH | latch line state
BYTE | CLOCK | clock line state
- */
+ followed by 1 joyport module
+*/
+
static const char snap_module_name[] = "TRAPTHEMSNESPAD";
#define SNAP_MAJOR 0
-#define SNAP_MINOR 1
+#define SNAP_MINOR 2
static int trapthem_snespad_write_snapshot(struct snapshot_s *s, int p)
{
@@ -235,7 +237,12 @@
snapshot_module_close(m);
return -1;
}
- return snapshot_module_close(m);
+ snapshot_module_close(m);
+
+ if (joyport_snapshot_write_module(s, JOYPORT_3) < 0) {
+ return -1;
+ }
+ return 0;
}
static int trapthem_snespad_read_snapshot(struct snapshot_s *s, int p)
@@ -262,9 +269,15 @@
goto fail;
}
- return snapshot_module_close(m);
+ snapshot_module_close(m);
+ if (joyport_snapshot_read_module(s, JOYPORT_3) < 0) {
+ return -1;
+ }
+ return 0;
+
fail:
snapshot_module_close(m);
return -1;
+
}
Modified: trunk/vice/src/userport/userport_petscii_snespad.c
===================================================================
--- trunk/vice/src/userport/userport_petscii_snespad.c 2026-04-17 11:45:42 UTC (rev 46078)
+++ trunk/vice/src/userport/userport_petscii_snespad.c 2026-04-18 13:35:54 UTC (rev 46079)
@@ -248,11 +248,13 @@
BYTE | COUNTER | current count
BYTE | CLOCK | clock line state
BYTE | LATCH | latch line state
+
+ followed by 1 joyport module
*/
static const char snap_module_name[] = "UPPETSCII";
#define SNAP_MAJOR 0
-#define SNAP_MINOR 1
+#define SNAP_MINOR 2
static int userport_petscii_write_snapshot_module(snapshot_t *s)
{
@@ -271,7 +273,12 @@
snapshot_module_close(m);
return -1;
}
- return snapshot_module_close(m);
+ snapshot_module_close(m);
+
+ if (joyport_snapshot_write_module(s, JOYPORT_3) < 0) {
+ return -1;
+ }
+ return 0;
}
static int userport_petscii_read_snapshot_module(snapshot_t *s)
@@ -297,8 +304,13 @@
|| (SMR_B(m, &latch_line) < 0)) {
goto fail;
}
- return snapshot_module_close(m);
+ snapshot_module_close(m);
+ if (joyport_snapshot_read_module(s, JOYPORT_3) < 0) {
+ return -1;
+ }
+ return 0;
+
fail:
snapshot_module_close(m);
return -1;
Modified: trunk/vice/src/userport/userport_spt_joystick.c
===================================================================
--- trunk/vice/src/userport/userport_spt_joystick.c 2026-04-17 11:45:42 UTC (rev 46078)
+++ trunk/vice/src/userport/userport_spt_joystick.c 2026-04-18 13:35:54 UTC (rev 46079)
@@ -168,6 +168,10 @@
/* ---------------------------------------------------------------------*/
+/*
+ followed by 1 joyport module
+*/
+
static int userport_spt_joystick_write_snapshot_module(snapshot_t *s)
{
return joyport_snapshot_write_module(s, JOYPORT_3);
Modified: trunk/vice/src/userport/userport_synergy_joystick.c
===================================================================
--- trunk/vice/src/userport/userport_synergy_joystick.c 2026-04-17 11:45:42 UTC (rev 46078)
+++ trunk/vice/src/userport/userport_synergy_joystick.c 2026-04-18 13:35:54 UTC (rev 46079)
@@ -177,6 +177,8 @@
type | name | description
----------------------------
BYTE | select | joyport select
+
+ followed by 3 joyport modules
*/
static const char synergy_module_name[] = "UPJOYSYNERGY";
Modified: trunk/vice/src/userport/userport_v8_joystick.c
===================================================================
--- trunk/vice/src/userport/userport_v8_joystick.c 2026-04-17 11:45:42 UTC (rev 46078)
+++ trunk/vice/src/userport/userport_v8_joystick.c 2026-04-18 13:35:54 UTC (rev 46079)
@@ -180,6 +180,8 @@
type | name | description
----------------------------
BYTE | select | joyport select
+
+ followed by 8 joyport modules
*/
static const char v8_module_name[] = "UPJOYV8";
Modified: trunk/vice/src/userport/userport_woj_joystick.c
===================================================================
--- trunk/vice/src/userport/userport_woj_joystick.c 2026-04-17 11:45:42 UTC (rev 46078)
+++ trunk/vice/src/userport/userport_woj_joystick.c 2026-04-18 13:35:54 UTC (rev 46079)
@@ -156,6 +156,8 @@
type | name | description
----------------------------
BYTE | select | joyport select
+
+ followed by 8 joyport modules
*/
static const char woj_module_name[] = "UPJOYWOJ";
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2026-04-17 11:45:45
|
Revision: 46078
http://sourceforge.net/p/vice-emu/code/46078
Author: gpz
Date: 2026-04-17 11:45:42 +0000 (Fri, 17 Apr 2026)
Log Message:
-----------
we should use a signed int to compare axis direction(s), should fix #2222
Modified Paths:
--------------
trunk/vice/src/arch/sdl/joy.c
trunk/vice/src/arch/sdl/menu_joystick.c
trunk/vice/src/arch/sdl/uipoll.c
Modified: trunk/vice/src/arch/sdl/joy.c
===================================================================
--- trunk/vice/src/arch/sdl/joy.c 2026-04-17 01:18:41 UTC (rev 46077)
+++ trunk/vice/src/arch/sdl/joy.c 2026-04-17 11:45:42 UTC (rev 46078)
@@ -54,6 +54,16 @@
#include "uimenu.h"
#include "vkbd.h"
+
+/*#define DEBUG_JOY*/
+
+#ifdef DEBUG_JOY
+#define DBG(x) log_printf x
+#else
+#define DBG(x)
+#endif
+
+
#define DEFAULT_JOYSTICK_THRESHOLD 10000
#define DEFAULT_JOYSTICK_FUZZ 1000
@@ -573,7 +583,7 @@
static joystick_mapping_t *sdljoy_get_mapping(SDL_Event e)
{
joystick_mapping_t *retval = NULL;
- uint8_t cur;
+ int cur;
int joynum;
switch (e.type) {
@@ -801,9 +811,11 @@
{
joystick_mapping_t *joyevent = sdljoy_get_mapping(e);
+ DBG(("sdljoy_set_joystick bits:%02x value:%d", (unsigned)bits, e.jaxis.value));
if (joyevent != NULL) {
joyevent->action = JOY_ACTION_JOYSTICK;
joyevent->value.joy_pin = (uint16_t)bits;
+ DBG(("sdljoy_set_joystick action:%02x joy_pin:%02x", joyevent->action, joyevent->value.joy_pin));
}
}
@@ -811,6 +823,7 @@
{
int joynum;
+ DBG(("sdljoy_set_joystick_axis pot:%d", pot));
if (e.type != SDL_JOYAXISMOTION) {
return;
}
Modified: trunk/vice/src/arch/sdl/menu_joystick.c
===================================================================
--- trunk/vice/src/arch/sdl/menu_joystick.c 2026-04-17 01:18:41 UTC (rev 46077)
+++ trunk/vice/src/arch/sdl/menu_joystick.c 2026-04-17 11:45:42 UTC (rev 46078)
@@ -32,6 +32,7 @@
#include "joystick.h"
#include "kbd.h"
#include "lib.h"
+#include "log.h"
#include "machine.h"
#include "menu_common.h"
#include "mouse.h"
@@ -48,7 +49,15 @@
#include "menu_joystick.h"
+/*#define DEBUG_MENU_JOYSTICK*/
+#ifdef DEBUG_MENU_JOYSTICK
+#define DBG(x) log_printf x
+#else
+#define DBG(x)
+#endif
+
+
UI_MENU_DEFINE_RADIO(JoyDevice1)
UI_MENU_DEFINE_RADIO(JoyDevice2)
UI_MENU_DEFINE_RADIO(JoyDevice3)
@@ -560,14 +569,24 @@
}
if (activated) {
+ DBG(("custom_joymap_callback port:%d pin: %02x", port, (unsigned)pin));
target = lib_msprintf("Port %i %s", port + 1, joy_pin[port][pin]);
e = sdl_ui_poll_event("controller", target, joystick_device, 0, 1, 0, 5);
lib_free(target);
+ DBG(("custom_joymap_callback: e.type:%02x", e.type));
switch (e.type) {
case SDL_JOYAXISMOTION:
+ DBG(("custom_joymap_callback: (SDL_JOYAXISMOTION %d) sdljoy_set_joystick %02x (pin:%d)",
+ e.jaxis.value, 1U << pin, pin));
+ sdljoy_set_joystick(e, 1 << pin);
+ break;
case SDL_JOYBUTTONDOWN:
+ DBG(("custom_joymap_callback: (SDL_JOYBUTTONDOWN) sdljoy_set_joystick %02x (pin:%d)", 1U << pin, pin));
+ sdljoy_set_joystick(e, 1 << pin);
+ break;
case SDL_JOYHATMOTION:
+ DBG(("custom_joymap_callback: (SDL_JOYHATMOTION) sdljoy_set_joystick %02x (pin:%d)", 1U << pin, pin));
sdljoy_set_joystick(e, 1 << pin);
break;
case SDL_KEYDOWN:
Modified: trunk/vice/src/arch/sdl/uipoll.c
===================================================================
--- trunk/vice/src/arch/sdl/uipoll.c 2026-04-17 01:18:41 UTC (rev 46077)
+++ trunk/vice/src/arch/sdl/uipoll.c 2026-04-17 11:45:42 UTC (rev 46078)
@@ -33,10 +33,21 @@
#include "joy.h"
#include "kbd.h"
#include "lib.h"
+#include "log.h"
#include "ui.h"
#include "uimenu.h"
#include "uipoll.h"
+
+/* #define DEBUG_UIPOLL */
+
+#ifdef DEBUG_UIPOLL
+#define DBG(x) log_printf x
+#else
+#define DBG(x)
+#endif
+
+
/* ------------------------------------------------------------------ */
/* static functions */
@@ -94,16 +105,19 @@
break;
#ifdef HAVE_SDL_NUMJOYSTICKS
case SDL_JOYBUTTONDOWN:
+ DBG(("sdl_ui_poll_event SDL_JOYBUTTONDOWN"));
if (allow_any_joystick || e.jbutton.which == joystick_device) {
polling = 0;
}
break;
case SDL_JOYHATMOTION:
+ DBG(("sdl_ui_poll_event SDL_JOYHATMOTION"));
if ((allow_any_joystick || e.jhat.which == joystick_device) && (sdljoy_check_hat_movement(e) != 0)) {
polling = 0;
}
break;
case SDL_JOYAXISMOTION:
+ DBG(("sdl_ui_poll_event SDL_JOYAXISMOTION %d", e.jaxis.value));
if ((allow_any_joystick || e.jaxis.which == joystick_device) && (sdljoy_check_axis_movement(e) != 0)) {
polling = 0;
}
@@ -130,6 +144,6 @@
if (polling == 1) {
e.type = SDL_USEREVENT;
}
-
+ DBG(("sdl_ui_poll_event e.type:%02x polling:%d axis value:%d", e.type, polling, e.jaxis.value));
return e;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2026-04-17 01:18:43
|
Revision: 46077
http://sourceforge.net/p/vice-emu/code/46077
Author: gpz
Date: 2026-04-17 01:18:41 +0000 (Fri, 17 Apr 2026)
Log Message:
-----------
some (mostly) windows related UI tweaks, based on Strobes patch, should fix rest of #2205 (please test)
Modified Paths:
--------------
trunk/vice/src/arch/gtk3/actions-settings.c
trunk/vice/src/arch/gtk3/widgets/base/cartridgewidgets.c
trunk/vice/src/arch/gtk3/widgets/settings_dqbb.c
trunk/vice/src/arch/gtk3/widgets/settings_georam.c
trunk/vice/src/arch/gtk3/widgets/settings_hotkeys.c
trunk/vice/src/arch/gtk3/widgets/settings_joymap.c
trunk/vice/src/arch/gtk3/widgets/settings_keyboard.c
trunk/vice/src/arch/gtk3/widgets/settings_mmc64.c
trunk/vice/src/arch/gtk3/widgets/settings_ramcart.c
trunk/vice/src/arch/gtk3/widgets/settings_reu.c
trunk/vice/src/arch/gtk3/widgets/settings_rom.c
Modified: trunk/vice/src/arch/gtk3/actions-settings.c
===================================================================
--- trunk/vice/src/arch/gtk3/actions-settings.c 2026-04-16 13:47:05 UTC (rev 46076)
+++ trunk/vice/src/arch/gtk3/actions-settings.c 2026-04-17 01:18:41 UTC (rev 46077)
@@ -39,6 +39,7 @@
#include "resources.h"
#include "types.h"
#include "ui.h"
+#include "uiapi.h"
#include "uiactions.h"
#include "uihotkeys.h"
#include "uisettings.h"
@@ -235,7 +236,18 @@
{
if (filename!= NULL) {
mainlock_obtain();
+/* On Windows the main thread stops responding when we use the dialog as
+ parent here, see bug #2205 */
+#ifdef WINDOWS_COMPILE
if (resources_save(filename) != 0) {
+ mainlock_release();
+ ui_error("Failed to save settings as '%s'",
+ filename);
+ } else {
+ mainlock_release();
+ }
+#else
+ if (resources_save(filename) != 0) {
vice_gtk3_message_error(GTK_WINDOW(dialog),
"VICE core error",
"Failed to save settings as '%s'",
@@ -242,10 +254,11 @@
filename);
}
mainlock_release();
+#endif
lastdir_update(GTK_WIDGET(dialog), &last_dir, &last_file);
g_free(filename);
}
- mainlock_release();
+ /*mainlock_release();*/
gtk_widget_destroy(GTK_WIDGET(dialog));
mainlock_obtain();
ui_action_finish(ACTION_SETTINGS_SAVE_TO);
Modified: trunk/vice/src/arch/gtk3/widgets/base/cartridgewidgets.c
===================================================================
--- trunk/vice/src/arch/gtk3/widgets/base/cartridgewidgets.c 2026-04-16 13:47:05 UTC (rev 46076)
+++ trunk/vice/src/arch/gtk3/widgets/base/cartridgewidgets.c 2026-04-17 01:18:41 UTC (rev 46077)
@@ -36,6 +36,7 @@
#include "resourcecheckbutton.h"
#include "resourcewidgetmediator.h"
#include "ui.h"
+#include "uiapi.h"
#include "cartridgewidgets.h"
@@ -157,9 +158,16 @@
char title[256];
g_snprintf(title, sizeof title, "%s Error", state->cart_name);
+/* On Windows the main thread stops responding when we use the dialog as
+ parent here, see bug #2205 */
+#ifdef WINDOWS_COMPILE
+ ui_error("Failed to save %s %s image as:\n'%s'.",
+ state->cart_name, state->image_tag, filename);
+#else
vice_gtk3_message_error(GTK_WINDOW(self), title,
"Failed to save %s %s image as '%s'.",
state->cart_name, state->image_tag, filename);
+#endif
}
g_free(filename);
}
Modified: trunk/vice/src/arch/gtk3/widgets/settings_dqbb.c
===================================================================
--- trunk/vice/src/arch/gtk3/widgets/settings_dqbb.c 2026-04-16 13:47:05 UTC (rev 46076)
+++ trunk/vice/src/arch/gtk3/widgets/settings_dqbb.c 2026-04-17 01:18:41 UTC (rev 46077)
@@ -105,13 +105,18 @@
return image;
}
-static void on_enable_clicked(GtkWidget *widget, gpointer user_data)
+/** \brief Handler for the 'toggled' event of the "Enable" check button
+ *
+ * Update sensitivity of the cart image widget's buttons when enabling/disabling
+ * DQBB emulation.
+ *
+ * \param[in] self check button (ignored)
+ * \param[in] image cartridge image widget
+ */
+static void on_enable_activate(GtkWidget *self, gpointer image)
{
- /*GtkWidget *parent = gtk_widget_get_toplevel(widget);*/
- int enabled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
-
- DBG(("DQBB on_enable_clicked: %d", enabled));
- /* FIXME: update save/flush button(s) */
+ DBG(("DQBB on_enable_activate"));
+ cart_image_widget_update_sensitivity(GTK_WIDGET(image));
}
/** \brief Create widget to control Double Quick Brown Box resources
@@ -133,10 +138,6 @@
dqbb_enable_widget = carthelpers_create_enable_check_button(CARTRIDGE_NAME_DQBB,
CARTRIDGE_DQBB);
- g_signal_connect(G_OBJECT(dqbb_enable_widget),
- "clicked",
- G_CALLBACK(on_enable_clicked),
- NULL);
gtk_grid_attach(GTK_GRID(grid), dqbb_enable_widget, 0, 0, 1, 1);
dqbb_image = create_dqbb_image_widget();
@@ -155,6 +156,13 @@
gtk_grid_attach(GTK_GRID(grid), dqbb_mode, 0, 2+3+2, 1, 1);
+ /* set up signal handler to update sensitivity of save/flush buttons when
+ * toggling DQBB emulation */
+ g_signal_connect(G_OBJECT(dqbb_enable_widget),
+ "toggled",
+ G_CALLBACK(on_enable_activate),
+ (gpointer)dqbb_image);
+
gtk_widget_show_all(grid);
return grid;
}
Modified: trunk/vice/src/arch/gtk3/widgets/settings_georam.c
===================================================================
--- trunk/vice/src/arch/gtk3/widgets/settings_georam.c 2026-04-16 13:47:05 UTC (rev 46076)
+++ trunk/vice/src/arch/gtk3/widgets/settings_georam.c 2026-04-17 01:18:41 UTC (rev 46077)
@@ -37,6 +37,7 @@
#include <gtk/gtk.h>
#include "vice_gtk3.h"
+#include "log.h"
#include "machine.h"
#include "resources.h"
#include "cartridge.h"
@@ -44,7 +45,14 @@
#include "settings_georam.h"
+#define DEBUG_GEORAM
+#ifdef DEBUG_GEORAM
+#define DBG(x) log_printf x
+#else
+#define DBG(x)
+#endif
+
/** \brief List of supported RAM sizes */
static int ram_sizes[] = { 512, 1024, 2048, 4096, -1 };
@@ -70,6 +78,20 @@
ram_sizes);
}
+/** \brief Handler for the 'toggled' event of the "Enable" check button
+ *
+ * Update sensitivity of the cart image widget's buttons when enabling/disabling
+ * GEORAM emulation.
+ *
+ * \param[in] self check button (ignored)
+ * \param[in] image cartridge image widget
+ */
+static void on_enable_activate(GtkWidget *self, gpointer image)
+{
+ DBG(("GEORAM on_enable_activate"));
+ cart_image_widget_update_sensitivity(GTK_WIDGET(image));
+}
+
/** \brief Create widget to load/save GEORAM image file
*
* \return GtkGrid
@@ -124,6 +146,13 @@
gtk_grid_attach(GTK_GRID(grid), georam_ioswap, 0, 3, 1, 1);
}
+ /* set up signal handler to update sensitivity of save/flush buttons when
+ * toggling georam emulation */
+ g_signal_connect(G_OBJECT(georam_enable),
+ "toggled",
+ G_CALLBACK(on_enable_activate),
+ (gpointer)georam_image);
+
gtk_widget_show_all(grid);
return grid;
}
Modified: trunk/vice/src/arch/gtk3/widgets/settings_hotkeys.c
===================================================================
--- trunk/vice/src/arch/gtk3/widgets/settings_hotkeys.c 2026-04-16 13:47:05 UTC (rev 46076)
+++ trunk/vice/src/arch/gtk3/widgets/settings_hotkeys.c 2026-04-17 01:18:41 UTC (rev 46077)
@@ -1401,10 +1401,16 @@
g_free(path);
if (!ui_hotkeys_save_as(fullpath)) {
+/* On Windows the main thread stops responding when we use the dialog as
+ parent here, see bug #2205 */
+#ifdef WINDOWS_COMPILE
+ ui_error("Failed to save hotkeys as '%s'.", fullpath);
+#else
vice_gtk3_message_error(GTK_WINDOW(dialog),
"Hotkeys error",
"Failed to save hotkeys as '%s'.",
fullpath);
+#endif
}
lib_free(fullpath);
update_hotkeys_info();
Modified: trunk/vice/src/arch/gtk3/widgets/settings_joymap.c
===================================================================
--- trunk/vice/src/arch/gtk3/widgets/settings_joymap.c 2026-04-16 13:47:05 UTC (rev 46076)
+++ trunk/vice/src/arch/gtk3/widgets/settings_joymap.c 2026-04-17 01:18:41 UTC (rev 46077)
@@ -45,6 +45,7 @@
#include "vsync.h"
#include "uiactions.h"
+#include "uiapi.h"
#include "settings_joymap.h"
#include "joymapdialog.h"
@@ -397,10 +398,16 @@
g_free(path);
if (joy_arch_mapping_dump(fullpath, joydev) == -1) {
+/* On Windows the main thread stops responding when we use the dialog as
+ parent here, see bug #2205 */
+#ifdef WINDOWS_COMPILE
+ ui_error("Failed to save joymap as '%s'.", fullpath);
+#else
vice_gtk3_message_error(GTK_WINDOW(dialog),
"Joymap error",
"Failed to save joymap as '%s'.",
fullpath);
+#endif
}
lib_free(fullpath);
}
Modified: trunk/vice/src/arch/gtk3/widgets/settings_keyboard.c
===================================================================
--- trunk/vice/src/arch/gtk3/widgets/settings_keyboard.c 2026-04-16 13:47:05 UTC (rev 46076)
+++ trunk/vice/src/arch/gtk3/widgets/settings_keyboard.c 2026-04-17 01:18:41 UTC (rev 46077)
@@ -46,6 +46,7 @@
#include "resources.h"
#include "uistatusbar.h"
#include "util.h"
+#include "uiapi.h"
#include "vice_gtk3.h"
#include "settings_keyboard.h"
@@ -90,10 +91,17 @@
result = keyboard_keymap_dump(path);
if (result != 0) {
+/* On Windows the main thread stops responding when we use the dialog as
+ parent here, see bug #2205 */
+#ifdef WINDOWS_COMPILE
+ ui_error("Failed to save custom keymap\nError %d: %s",
+ errno, strerror(errno));
+#else
vice_gtk3_message_error(GTK_WINDOW(dialog),
"Failed to save custom keymap",
"Error %d: %s",
errno, strerror(errno));
+#endif
}
lib_free(path);
}
Modified: trunk/vice/src/arch/gtk3/widgets/settings_mmc64.c
===================================================================
--- trunk/vice/src/arch/gtk3/widgets/settings_mmc64.c 2026-04-16 13:47:05 UTC (rev 46076)
+++ trunk/vice/src/arch/gtk3/widgets/settings_mmc64.c 2026-04-17 01:18:41 UTC (rev 46077)
@@ -166,15 +166,22 @@
return row + 1;
}
-static void on_enable_clicked(GtkWidget *widget, gpointer user_data)
+
+/** \brief Handler for the 'toggled' event of the "Enable" check button
+ *
+ * Update sensitivity of the cart image widget's buttons when enabling/disabling
+ * MMC64 emulation.
+ *
+ * \param[in] self check button (ignored)
+ * \param[in] image cartridge image widget
+ */
+static void on_enable_activate(GtkWidget *self, gpointer image)
{
- /*GtkWidget *parent = gtk_widget_get_toplevel(widget);*/
- int enabled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
-
- DBG(("MMC64 on_enable_clicked: %d", enabled));
- /* FIXME: update save/flush button(s) */
+ DBG(("MMC64 on_enable_activate"));
+ cart_image_widget_update_sensitivity(GTK_WIDGET(image));
}
+
/** \brief Create widget to control MMC64 resources
*
* \param[in] parent parent widget (unused)
@@ -208,10 +215,6 @@
/* enable emulation check button */
enable_widget = carthelpers_create_enable_check_button(CARTRIDGE_NAME_MMC64,
CARTRIDGE_MMC64);
- g_signal_connect(G_OBJECT(enable_widget),
- "clicked",
- G_CALLBACK(on_enable_clicked),
- NULL);
/* jumper switch and label */
jumper_wrapper = gtk_grid_new();
@@ -265,6 +268,12 @@
row = create_card_image_layout(grid, row, NUM_COLS);
+ /* set up signal handler to update sensitivity of save/flush buttons when
+ * toggling MMC64 emulation */
+ g_signal_connect(G_OBJECT(enable_widget),
+ "toggled",
+ G_CALLBACK(on_enable_activate),
+ (gpointer)primary);
#undef NUM_COLS
gtk_widget_show_all(grid);
Modified: trunk/vice/src/arch/gtk3/widgets/settings_ramcart.c
===================================================================
--- trunk/vice/src/arch/gtk3/widgets/settings_ramcart.c 2026-04-16 13:47:05 UTC (rev 46076)
+++ trunk/vice/src/arch/gtk3/widgets/settings_ramcart.c 2026-04-17 01:18:41 UTC (rev 46077)
@@ -38,10 +38,20 @@
#include "cartridge.h"
#include "vice_gtk3.h"
+#include "log.h"
#include "settings_ramcart.h"
+#define DEBUG_RAMCART
+
+#ifdef DEBUG_RAMCART
+#define DBG(x) log_printf x
+#else
+#define DBG(x)
+#endif
+
+
/** \brief List of supported RAM sizes in KiB */
static int ram_sizes[] = { 64, 128, -1 };
@@ -96,6 +106,21 @@
}
+/** \brief Handler for the 'toggled' event of the "Enable" check button
+ *
+ * Update sensitivity of the cart image widget's buttons when enabling/disabling
+ * RAMCART emulation.
+ *
+ * \param[in] self check button (ignored)
+ * \param[in] image cartridge image widget
+ */
+static void on_enable_activate(GtkWidget *self, gpointer image)
+{
+ DBG(("Ramcart on_enable_activate"));
+ cart_image_widget_update_sensitivity(GTK_WIDGET(image));
+}
+
+
/** \brief Create widget to control RamCart resources
*
* \param[in] parent parent widget (unused)
@@ -120,6 +145,13 @@
gtk_grid_attach(GTK_GRID(grid), image, 0, 1, 1, 1);
gtk_grid_attach(GTK_GRID(grid), size, 0, 2, 1, 1);
+ /* set up signal handler to update sensitivity of save/flush buttons when
+ * toggling ramcart emulation */
+ g_signal_connect(G_OBJECT(enable),
+ "toggled",
+ G_CALLBACK(on_enable_activate),
+ (gpointer)image);
+
gtk_widget_show_all(grid);
return grid;
}
Modified: trunk/vice/src/arch/gtk3/widgets/settings_reu.c
===================================================================
--- trunk/vice/src/arch/gtk3/widgets/settings_reu.c 2026-04-16 13:47:05 UTC (rev 46076)
+++ trunk/vice/src/arch/gtk3/widgets/settings_reu.c 2026-04-17 01:18:41 UTC (rev 46077)
@@ -37,10 +37,20 @@
#include "cartridge.h"
#include "vice_gtk3.h"
+#include "log.h"
#include "settings_reu.h"
+#define DEBUG_REU
+
+#ifdef DEBUG_REU
+#define DBG(x) log_printf x
+#else
+#define DBG(x)
+#endif
+
+
/** \brief List of supported RAM sizes in KiB */
static int ram_sizes[] = { 128, 256, 512, 1024, 2048, 4096, 8192, 16384, -1 };
@@ -55,6 +65,7 @@
*/
static void on_enable_activate(GtkWidget *self, gpointer image)
{
+ DBG(("REU on_enable_activate"));
cart_image_widget_update_sensitivity(GTK_WIDGET(image));
}
Modified: trunk/vice/src/arch/gtk3/widgets/settings_rom.c
===================================================================
--- trunk/vice/src/arch/gtk3/widgets/settings_rom.c 2026-04-16 13:47:05 UTC (rev 46076)
+++ trunk/vice/src/arch/gtk3/widgets/settings_rom.c 2026-04-17 01:18:41 UTC (rev 46077)
@@ -352,10 +352,16 @@
const char **roms = get_all_resource_names();
if (romset_file_save(filename, roms) != 0) {
+/* On Windows the main thread stops responding when we use the dialog as
+ parent here, see bug #2205 */
+#ifdef WINDOWS_COMPILE
+ ui_error("Failed to save ROM set file %s.", filename);
+#else
vice_gtk3_message_error(GTK_WINDOW(dialog),
"VICE error",
"Failed to save ROM set file %s.",
filename);
+#endif
}
lib_free(roms);
g_free(filename);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2026-04-16 13:47:09
|
Revision: 46076
http://sourceforge.net/p/vice-emu/code/46076
Author: gpz
Date: 2026-04-16 13:47:05 +0000 (Thu, 16 Apr 2026)
Log Message:
-----------
Use common code for all carridge rom widgets, affected cartridges are: dqbb,mmc64,gmod3,ide64,lt.kernal,retro replay,rr-net mk3,mmcr,gmod2-c128. some logging intentionally left enabled. some details may still need fixing
Modified Paths:
--------------
trunk/vice/doc/vice.texi
trunk/vice/src/arch/gtk3/uimachinewindow.c
trunk/vice/src/arch/gtk3/uisettings.c
trunk/vice/src/arch/gtk3/widgets/settings_dqbb.c
trunk/vice/src/arch/gtk3/widgets/settings_gmod2c128.c
trunk/vice/src/arch/gtk3/widgets/settings_gmod3.c
trunk/vice/src/arch/gtk3/widgets/settings_ide64.c
trunk/vice/src/arch/gtk3/widgets/settings_ltkernal.c
trunk/vice/src/arch/gtk3/widgets/settings_mmc64.c
trunk/vice/src/arch/gtk3/widgets/settings_mmcr.c
trunk/vice/src/arch/gtk3/widgets/settings_retroreplay.c
trunk/vice/src/arch/gtk3/widgets/settings_rrnetmk3.c
trunk/vice/src/c128/cart/c128cart.c
trunk/vice/src/c128/cart/gmod2c128.c
trunk/vice/src/c64/cart/c64cart.c
trunk/vice/src/c64/cart/c64carthooks.c
trunk/vice/src/c64/cart/dqbb.c
trunk/vice/src/c64/cart/gmod3.c
trunk/vice/src/c64/cart/ide64.c
trunk/vice/src/c64/cart/ltkernal.c
trunk/vice/src/c64/cart/mmc64.c
trunk/vice/src/c64/cart/mmcreplay.c
trunk/vice/src/c64/cart/retroreplay.c
trunk/vice/src/c64/cart/rrnetmk3.c
Modified: trunk/vice/doc/vice.texi
===================================================================
--- trunk/vice/doc/vice.texi 2026-04-09 14:21:47 UTC (rev 46075)
+++ trunk/vice/doc/vice.texi 2026-04-16 13:47:05 UTC (rev 46076)
@@ -2465,7 +2465,7 @@
@subsubsection Example
-Take this sample line from data/common/sdl_joymap_ds3.vjm
+Take this sample line from data/joymaps/sdl_joymap_ds3.vjm
@example
0 1 10 5 pause-toggle
Modified: trunk/vice/src/arch/gtk3/uimachinewindow.c
===================================================================
--- trunk/vice/src/arch/gtk3/uimachinewindow.c 2026-04-09 14:21:47 UTC (rev 46075)
+++ trunk/vice/src/arch/gtk3/uimachinewindow.c 2026-04-16 13:47:05 UTC (rev 46076)
@@ -674,7 +674,8 @@
machine_window_log = log_open("Window");
/* hack to determine window index for use in UI action handling later */
- if (strcmp(canvas->videoconfig->chip_name, "VDC") == 0) {
+ if (canvas && canvas->videoconfig && canvas->videoconfig->chip_name &&
+ strcmp(canvas->videoconfig->chip_name, "VDC") == 0) {
window_id = SECONDARY_WINDOW;
}
Modified: trunk/vice/src/arch/gtk3/uisettings.c
===================================================================
--- trunk/vice/src/arch/gtk3/uisettings.c 2026-04-09 14:21:47 UTC (rev 46075)
+++ trunk/vice/src/arch/gtk3/uisettings.c 2026-04-16 13:47:05 UTC (rev 46076)
@@ -50,6 +50,8 @@
* +------------------------------------------+
*/
+/* #define DEBUG_UISETTINGS */
+
#include "vice.h"
#include <gtk/gtk.h>
#include <stdio.h>
@@ -161,7 +163,13 @@
#include "uisettings.h"
+#ifdef DEBUG_UISETTINGS
+#define DBG(x) log_printf x
+#else
+#define DBG(x)
+#endif
+
/** \brief CSS to allow collapsing/expanding tree nodes with crsr keys
*
* Note the 'treeview' rule, before Gtk+ 3.20 this was 'GtkTreeView'
@@ -2345,6 +2353,7 @@
}
for (i = 0; nodes[i].name != NULL; i++) {
+ /*DBG(("node %d:%s", i, nodes[i].name));*/
gtk_tree_store_append(model, &iter, NULL);
gtk_tree_store_set(model, &iter,
COLUMN_NAME, nodes[i].name,
@@ -2361,6 +2370,7 @@
for (c = 0; list[c].name != NULL; c++) {
char buffer[256];
+ /*DBG(("child %d:%s", c, list[c].name));*/
g_snprintf(buffer, 256, "%s", list[c].name);
gtk_tree_store_append(model, &child, &iter);
gtk_tree_store_set(model, &child,
@@ -2481,6 +2491,8 @@
GtkWidget *button_box;
GtkWidget *close_button;
+ DBG(("create_content_widget"));
+
settings_grid = gtk_grid_new();
settings_tree = create_treeview();
@@ -2528,6 +2540,7 @@
}
}
}
+ DBG(("create_content_widget new grid"));
/* create container for generic settings and close button */
extra = gtk_grid_new();
@@ -2613,6 +2626,7 @@
if (response_id == GTK_RESPONSE_DELETE_EVENT) {
/* close dialog */
int pause_on_settings = 0;
+ DBG(("response_callback"));
gtk_widget_destroy(widget);
settings_window = NULL;
@@ -2650,6 +2664,7 @@
int max_width = DIALOG_WIDTH + DIALOG_WIDTH_TOLERANCE;
int max_height = DIALOG_HEIGHT + DIALOG_HEIGHT_TOLERANCE;
#endif
+ DBG(("on_dialog_configure_event"));
/* Update dialog position, using gtk_window_get_position() doesn't
* work, it reports the position of the dialog when it was spawned,
* not the position if it has been moved afterwards. */
@@ -2712,6 +2727,7 @@
"destroy",
G_CALLBACK(on_settings_dialog_destroy),
NULL);
+ DBG(("dialog_create_helper done"));
return dialog;
}
@@ -2854,7 +2870,7 @@
settings_xpos, settings_ypos);
gtk_window_move(GTK_WINDOW(dialog), settings_xpos, settings_ypos);
}
-
+ DBG(("ui_settings_dialog_show_impl done"));
return FALSE;
}
Modified: trunk/vice/src/arch/gtk3/widgets/settings_dqbb.c
===================================================================
--- trunk/vice/src/arch/gtk3/widgets/settings_dqbb.c 2026-04-09 14:21:47 UTC (rev 46075)
+++ trunk/vice/src/arch/gtk3/widgets/settings_dqbb.c 2026-04-16 13:47:05 UTC (rev 46076)
@@ -39,14 +39,27 @@
#include "cartridge.h"
#include "c64cart.h"
#include "vice_gtk3.h"
+#include "log.h"
#include "settings_dqbb.h"
+#define DEBUG_DQBB
+
+#ifdef DEBUG_DQBB
+#define DBG(x) log_printf x
+#else
+#define DBG(x)
+#endif
+
/** \brief List of supported RAM sizes */
static int ram_sizes[] = { 16, 32, 64, 128, 256, -1 };
/** \brief List of supported modes */
-static int dqbb_modes[] = { DQBB_MODE_C64, DQBB_MODE_C128, -1 };
+static const vice_gtk3_radiogroup_entry_t dqbb_modes[] = {
+ { "C64", DQBB_MODE_C64 },
+ { "C128", DQBB_MODE_C128 },
+ { NULL, -1 }
+};
/** \brief Create radio button group to determine DQBB RAM size
*
@@ -65,9 +78,10 @@
*/
static GtkWidget *create_dqbb_mode_widget(void)
{
- return ram_size_radiogroup_new("DQBBmode",
- CARTRIDGE_NAME_DQBB " Mode",
- dqbb_modes);
+ return vice_gtk3_resource_radiogroup_new("DQBBmode",
+ dqbb_modes,
+ GTK_ORIENTATION_VERTICAL);
+
}
/** \brief Create widget to load/save Double Quick Brown Box image file
@@ -91,7 +105,15 @@
return image;
}
+static void on_enable_clicked(GtkWidget *widget, gpointer user_data)
+{
+ /*GtkWidget *parent = gtk_widget_get_toplevel(widget);*/
+ int enabled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
+ DBG(("DQBB on_enable_clicked: %d", enabled));
+ /* FIXME: update save/flush button(s) */
+}
+
/** \brief Create widget to control Double Quick Brown Box resources
*
* \param[in] parent parent widget, used for dialogs
@@ -105,11 +127,16 @@
GtkWidget *dqbb_image;
GtkWidget *dqbb_size;
GtkWidget *dqbb_mode;
+ GtkWidget *label;
grid = vice_gtk3_grid_new_spaced(8, 8);
dqbb_enable_widget = carthelpers_create_enable_check_button(CARTRIDGE_NAME_DQBB,
CARTRIDGE_DQBB);
+ g_signal_connect(G_OBJECT(dqbb_enable_widget),
+ "clicked",
+ G_CALLBACK(on_enable_clicked),
+ NULL);
gtk_grid_attach(GTK_GRID(grid), dqbb_enable_widget, 0, 0, 1, 1);
dqbb_image = create_dqbb_image_widget();
@@ -117,10 +144,17 @@
dqbb_mode = create_dqbb_mode_widget();
gtk_widget_set_margin_top(dqbb_image, 8);
- gtk_grid_attach(GTK_GRID(grid), dqbb_image, 0, 1, 1, 1);
- gtk_grid_attach(GTK_GRID(grid), dqbb_size, 0, 2, 1, 1);
- gtk_grid_attach(GTK_GRID(grid), dqbb_mode, 1, 2, 1, 1);
+ gtk_grid_attach(GTK_GRID(grid), dqbb_image, 0, 1, 1, 4);
+ /* FIXME: why +3 */
+ gtk_grid_attach(GTK_GRID(grid), dqbb_size, 0, 2+3, 1, 1);
+ label = gtk_label_new(NULL);
+ gtk_label_set_markup(GTK_LABEL(label), "<b>" CARTRIDGE_NAME_DQBB " mode</b>");
+ gtk_widget_set_halign(label, GTK_ALIGN_START);
+ gtk_grid_attach(GTK_GRID(grid), label, 0, 2+3+1, 1, 1);
+
+ gtk_grid_attach(GTK_GRID(grid), dqbb_mode, 0, 2+3+2, 1, 1);
+
gtk_widget_show_all(grid);
return grid;
}
Modified: trunk/vice/src/arch/gtk3/widgets/settings_gmod2c128.c
===================================================================
--- trunk/vice/src/arch/gtk3/widgets/settings_gmod2c128.c 2026-04-09 14:21:47 UTC (rev 46075)
+++ trunk/vice/src/arch/gtk3/widgets/settings_gmod2c128.c 2026-04-16 13:47:05 UTC (rev 46076)
@@ -31,6 +31,8 @@
*
*/
+/* #define DEBUG_GMOD2C128 */
+
#include "vice.h"
#include <gtk/gtk.h>
@@ -39,213 +41,64 @@
#include "machine.h"
#include "resources.h"
#include "ui.h"
+#include "log.h"
#include "settings_gmod2c128.h"
+#ifdef DEBUG_GMOD2C128
+#define DBG(x) log_printf x
+#else
+#define DBG(x)
+#endif
-/** \brief Text entry used for the EEPROM filename
- */
-static GtkWidget *eeprom_entry;
-
-/** \brief Callback for the open-file dialog
+/** \brief Create widget to control GMOD2-C128 resources
*
- * \param[in,out] dialog open-file dialog
- * \param[in,out] filename filename or NULL on cancel
- * \param[in] data extra data (unused)
- */
-static void save_filename_callback(GtkDialog *dialog,
- gchar *filename,
- gpointer data)
-{
- if (filename != NULL) {
- if (cartridge_save_image(CARTRIDGE_C128_MAKEID(CARTRIDGE_C128_GMOD2C128), filename) < 0) {
- vice_gtk3_message_error(GTK_WINDOW(dialog),
- "Saving failed",
- "Failed to save cartridge image '%s'",
- filename);
- }
- g_free(filename);
- }
- gtk_widget_destroy(GTK_WIDGET(dialog));
-}
-
-
-/** \brief Handler for the "clicked" event of the Save Image button
+ * \param[in] parent parent widget, used for dialogs
*
- * \param[in] widget button
- * \param[in] user_data unused
- */
-static void on_save_clicked(GtkWidget *widget, gpointer user_data)
-{
- /* TODO: retrieve filename of cart image */
-
- vice_gtk3_save_file_dialog("Save cartridge image",
- NULL, TRUE, NULL,
- save_filename_callback,
- NULL);
-}
-
-
-/** \brief Handler for the "clicked" event of the Flush Image button
- *
- * \param[in] widget button
- * \param[in] user_data unused
- */
-static void on_flush_clicked(GtkWidget *widget, gpointer user_data)
-{
- if (cartridge_flush_image(CARTRIDGE_C128_MAKEID(CARTRIDGE_C128_GMOD2C128)) < 0) {
- GtkWidget *parent;
-
- /* get settings dialog */
- parent = gtk_widget_get_toplevel(widget);
- if (!GTK_IS_WINDOW(parent)) {
- /* revert to current emulator window */
- parent = NULL;
- }
- vice_gtk3_message_error(GTK_WINDOW(parent),
- "Flushing failed",
- "Failed to fush cartridge image");
- }
-}
-
-
-/** \brief Callback for the EEPROM file selection dialog
- *
- * \param[in,out] dialog file chooser dialog
- * \param[in,out] filename name of the EEPROM file
- * \param[in] data extra data (unused)
- */
-static void eeprom_filename_callback(GtkDialog *dialog,
- gchar *filename,
- gpointer data)
-{
- if (filename != NULL) {
- if (resources_set_string("GMod128EEPROMImage", filename) < 0) {
- vice_gtk3_message_error(GTK_WINDOW(dialog),
- "Failed to load EEPROM file",
- "Failed to load EEPROM image file '%s'",
- filename);
- } else {
- gtk_entry_set_text(GTK_ENTRY(eeprom_entry), filename);
- }
- g_free(filename);
- }
- gtk_widget_destroy(GTK_WIDGET(dialog));
-}
-
-
-
-/** \brief Handler for the "clicked" event of the EEPROM browse button
- *
- * \param[in] widget button
- * \param[in] user_data text entry
- */
-static void on_eeprom_browse_clicked(GtkWidget *widget, gpointer user_data)
-{
- GtkWidget *dialog;
-
- dialog = vice_gtk3_open_file_dialog(
- "Open EEMPROM image",
- NULL, NULL, NULL,
- eeprom_filename_callback,
- NULL);
- gtk_widget_show(dialog);
-}
-
-
-/** \brief Create widget to handle Cartridge image resources and save/flush
- *
* \return GtkGrid
*/
-static GtkWidget *create_cart_image_widget(void)
+GtkWidget *settings_gmod2c128_widget_create(GtkWidget *parent)
{
GtkWidget *grid;
- GtkWidget *write_back;
- GtkWidget *save_button;
- GtkWidget *flush_button;
+ GtkWidget *primary;
+ GtkWidget *secondary;
- grid = vice_gtk3_grid_new_spaced_with_label(
- -1, -1, "GMod2-C128 Cartridge image", 3);
+ DBG(("settings_gmod2c128_widget_create"));
- write_back = vice_gtk3_resource_check_button_new("GMod128FlashWrite",
- "Save image when changed");
- gtk_widget_set_margin_start(write_back, 16);
- gtk_grid_attach(GTK_GRID(grid), write_back, 0, 1, 1, 1);
+ grid = gtk_grid_new();
+ gtk_grid_set_row_spacing(GTK_GRID(grid), 32);
- save_button = gtk_button_new_with_label("Save image as ...");
- g_signal_connect(save_button, "clicked", G_CALLBACK(on_save_clicked),
- NULL);
- gtk_grid_attach(GTK_GRID(grid), save_button, 1, 1, 1, 1);
- gtk_widget_set_sensitive(save_button,
- (gboolean)(cartridge_can_save_image(CARTRIDGE_C128_MAKEID(CARTRIDGE_C128_GMOD2C128))));
+ /* primary image */
+ primary = cart_image_widget_new(CARTRIDGE_C128_MAKEID(CARTRIDGE_C128_GMOD2C128), /* cart id */
+ CARTRIDGE_C128_NAME_GMOD2C128, /* cart name */
+ CART_IMAGE_PRIMARY, /* image number */
+ "cartridge", /* image tag */
+ NULL, /* resource name */
+ TRUE, /* flush button */
+ TRUE /* save button */
+ );
+ cart_image_widget_append_check(primary,
+ "GMod128FlashWrite",
+ "Save image when changed");
- flush_button = gtk_button_new_with_label("Save image");
- g_signal_connect(flush_button, "clicked", G_CALLBACK(on_flush_clicked),
- NULL);
- gtk_widget_set_sensitive(flush_button,
- (gboolean)(cartridge_can_flush_image(CARTRIDGE_C128_MAKEID(CARTRIDGE_C128_GMOD2C128))));
- gtk_grid_attach(GTK_GRID(grid), flush_button, 2, 1, 1, 1);
+ /* secondary image */
+ secondary = cart_image_widget_new(CARTRIDGE_C128_MAKEID(CARTRIDGE_C128_GMOD2C128),
+ CARTRIDGE_C128_NAME_GMOD2C128,
+ CART_IMAGE_SECONDARY,
+ "EEPROM",
+ "GMod128EEPROMImage",
+ TRUE,
+ TRUE);
+ cart_image_widget_append_check(secondary,
+ "GMod128EEPROMRW",
+ "Enable writes to " CARTRIDGE_C128_NAME_GMOD2C128
+ " EEPROM image");
- gtk_widget_show_all(grid);
- return grid;
-}
+ gtk_grid_attach(GTK_GRID(grid), primary, 0, 0, 1, 1);
+ gtk_grid_attach(GTK_GRID(grid), secondary, 0, 1, 1, 1);
-
-/** \brief Create widget to control GMod2 EEPROM
- *
- * \return GtkGrid
- */
-static GtkWidget *create_eeprom_image_widget(void)
-{
- GtkWidget *grid;
- GtkWidget *label;
- GtkWidget *browse;
- GtkWidget *write_enable;
-
- grid = vice_gtk3_grid_new_spaced_with_label(-1, -1, "GMod2-C128 EEPROM image", 1);
-
- label = gtk_label_new("EEPROM image file");
- gtk_widget_set_halign(label, GTK_ALIGN_START);
- gtk_widget_set_margin_start(label, 16);
-
- eeprom_entry = vice_gtk3_resource_entry_new("GMod128EEPROMImage");
- gtk_widget_set_hexpand(eeprom_entry, TRUE);
-
- browse = gtk_button_new_with_label("Browse ...");
- g_signal_connect(browse, "clicked", G_CALLBACK(on_eeprom_browse_clicked),
- NULL);
-
- gtk_grid_attach(GTK_GRID(grid), label, 0, 1, 1, 1);
- gtk_grid_attach(GTK_GRID(grid), eeprom_entry, 1, 1, 1, 1);
- gtk_grid_attach(GTK_GRID(grid), browse, 2, 1, 1, 1);
-
- write_enable = vice_gtk3_resource_check_button_new("GMod128EEPROMRW",
- "Enable writes to GMod2-C128 EEPROM image");
- gtk_widget_set_margin_start(write_enable, 16);
- gtk_grid_attach(GTK_GRID(grid), write_enable, 0, 2, 3, 1);
-
-
gtk_widget_show_all(grid);
- return grid;
-}
-
-/** \brief Create widget to control GMOD2-C128 resources
- *
- * \param[in] parent parent widget, used for dialogs
- *
- * \return GtkGrid
- */
-GtkWidget *settings_gmod2c128_widget_create(GtkWidget *parent)
-{
- GtkWidget *grid;
-
- grid = vice_gtk3_grid_new_spaced(8, 8);
-
- gtk_grid_attach(GTK_GRID(grid), create_cart_image_widget(), 0, 0, 1, 1);
- gtk_grid_attach(GTK_GRID(grid), create_eeprom_image_widget(), 0, 1, 1, 1);
-
- gtk_widget_show_all(grid);
return grid;
}
Modified: trunk/vice/src/arch/gtk3/widgets/settings_gmod3.c
===================================================================
--- trunk/vice/src/arch/gtk3/widgets/settings_gmod3.c 2026-04-09 14:21:47 UTC (rev 46075)
+++ trunk/vice/src/arch/gtk3/widgets/settings_gmod3.c 2026-04-16 13:47:05 UTC (rev 46076)
@@ -39,129 +39,34 @@
#include "settings_gmod3.h"
-
-/** \brief Callback for the save-dialog response handler
+/** \brief Create widget to control GMOD3 resources
*
- * \param[in,out] dialog save-file dialog
- * \param[in,out] filename filename
- * \param[in] data extra data (unused)
- */
-static void save_filename_callback(GtkDialog *dialog,
- gchar *filename,
- gpointer data)
-{
- if (filename != NULL) {
- if (cartridge_save_image(CARTRIDGE_GMOD3, filename) < 0) {
- vice_gtk3_message_error(GTK_WINDOW(dialog),
- CARTRIDGE_NAME_GMOD3 " Error",
- "Failed to save cartridge image '%s'.",
- filename);
- }
- g_free(filename);
- }
- gtk_widget_destroy(GTK_WIDGET(dialog));
-}
-
-/** \brief Handler for the "clicked" event of the Save Image button
+ * \param[in] parent parent widget (ignored)
*
- * \param[in] widget button
- * \param[in] user_data unused
- */
-static void on_save_clicked(GtkWidget *widget, gpointer user_data)
-{
- /* TODO: retrieve filename of cart image */
- vice_gtk3_save_file_dialog("Save " CARTRIDGE_NAME_GMOD3 " cartridge image",
- NULL, TRUE, NULL,
- save_filename_callback,
- NULL);
-}
-
-/** \brief Handler for the "clicked" event of the Flush Image button
- *
- * \param[in] widget button
- * \param[in] user_data unused
- */
-static void on_flush_clicked(GtkWidget *widget, gpointer user_data)
-{
- if (cartridge_flush_image(CARTRIDGE_GMOD3) < 0) {
- /* get settings dialog */
- GtkWidget *parent = gtk_widget_get_toplevel(widget);
- if (!GTK_IS_WINDOW(parent)) {
- /* revert to current emulator window */
- parent = NULL;
- }
- vice_gtk3_message_error(GTK_WINDOW(parent),
- CARTRIDGE_NAME_GMOD3 " Error",
- "Failed to flush cartridge image.");
- }
-}
-
-/** \brief Create widget to handle Cartridge image resources and save/flush
- *
* \return GtkGrid
*/
-static GtkWidget *create_cart_image_widget(void)
+GtkWidget *settings_gmod3_widget_create(GtkWidget *parent)
{
GtkWidget *grid;
- GtkWidget *label;
- GtkWidget *write_back;
- GtkWidget *save_button;
- GtkWidget *flush_button;
- GtkWidget *box;
- gboolean can_save;
- gboolean can_flush;
+ GtkWidget *primary;
grid = gtk_grid_new();
- gtk_grid_set_column_spacing(GTK_GRID(grid), 8);
- gtk_grid_set_row_spacing(GTK_GRID(grid), 8);
+ gtk_grid_set_row_spacing(GTK_GRID(grid), 32);
- label = gtk_label_new(NULL);
- gtk_label_set_markup(GTK_LABEL(label), "<b>" CARTRIDGE_NAME_GMOD3 " cartridge image</b>");
- gtk_widget_set_halign(label, GTK_ALIGN_START);
- gtk_grid_attach(GTK_GRID(grid), label, 0, 0, 2, 1);
+ primary = cart_image_widget_new(CARTRIDGE_GMOD3, /* cart id */
+ CARTRIDGE_NAME_GMOD3, /* cart name */
+ CART_IMAGE_PRIMARY, /* image number */
+ "cartridge", /* image tag */
+ NULL, /* resource name */
+ TRUE, /* flush button */
+ TRUE /* save button */
+ );
+ cart_image_widget_append_check(primary,
+ "GMod3FlashWrite",
+ "Save image when changed");
+ gtk_grid_attach(GTK_GRID(grid), primary, 0, 0, 1, 1);
- write_back = vice_gtk3_resource_check_button_new("GMod3FlashWrite",
- "Write image when contents are changed");
- gtk_widget_set_valign(write_back, GTK_ALIGN_START);
- save_button = gtk_button_new_with_label("Save image as ..");
- g_signal_connect(save_button,
- "clicked",
- G_CALLBACK(on_save_clicked),
- NULL);
- flush_button = gtk_button_new_with_label("Flush image");
- g_signal_connect(flush_button,
- "clicked",
- G_CALLBACK(on_flush_clicked),
- NULL);
-
- can_save = (gboolean)cartridge_can_save_image(CARTRIDGE_GMOD3);
- can_flush = (gboolean)cartridge_can_flush_image(CARTRIDGE_GMOD3);
- gtk_widget_set_sensitive(save_button, can_save);
- gtk_widget_set_sensitive(flush_button, can_flush);
-
- box = gtk_button_box_new(GTK_ORIENTATION_VERTICAL);
- gtk_widget_set_halign(box, GTK_ALIGN_END);
- gtk_widget_set_hexpand(box, TRUE);
- gtk_box_set_spacing(GTK_BOX(box), 8);
- gtk_box_pack_start(GTK_BOX(box), save_button, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(box), flush_button, FALSE, FALSE, 0);
-
- gtk_grid_attach(GTK_GRID(grid), write_back, 0, 1, 1, 1);
- gtk_grid_attach(GTK_GRID(grid), box, 1, 1, 1, 1);
-
gtk_widget_show_all(grid);
return grid;
}
-
-
-/** \brief Create widget to control GMOD3 resources
- *
- * \param[in] parent parent widget (ignored)
- *
- * \return GtkGrid
- */
-GtkWidget *settings_gmod3_widget_create(GtkWidget *parent)
-{
- return create_cart_image_widget();
-}
Modified: trunk/vice/src/arch/gtk3/widgets/settings_ide64.c
===================================================================
--- trunk/vice/src/arch/gtk3/widgets/settings_ide64.c 2026-04-09 14:21:47 UTC (rev 46075)
+++ trunk/vice/src/arch/gtk3/widgets/settings_ide64.c 2026-04-16 13:47:05 UTC (rev 46076)
@@ -238,6 +238,8 @@
"*.hdd", "*.iso", "*.fdd", "*.cfa", "*.dsk", "*.img", NULL
};
+ /* FIXME: HD-image Widget should also be implemented in common code */
+
grid = gtk_grid_new();
gtk_grid_set_column_spacing(GTK_GRID(grid), 8);
gtk_grid_set_row_spacing(GTK_GRID(grid), 8);
Modified: trunk/vice/src/arch/gtk3/widgets/settings_ltkernal.c
===================================================================
--- trunk/vice/src/arch/gtk3/widgets/settings_ltkernal.c 2026-04-09 14:21:47 UTC (rev 46075)
+++ trunk/vice/src/arch/gtk3/widgets/settings_ltkernal.c 2026-04-16 13:47:05 UTC (rev 46076)
@@ -272,6 +272,8 @@
GtkWidget *label;
int disk;
+ /* FIXME: HD-image Widget should also be implemented in common code */
+
/* create header */
label = gtk_label_new(NULL);
gtk_label_set_markup(GTK_LABEL(label),
Modified: trunk/vice/src/arch/gtk3/widgets/settings_mmc64.c
===================================================================
--- trunk/vice/src/arch/gtk3/widgets/settings_mmc64.c 2026-04-09 14:21:47 UTC (rev 46075)
+++ trunk/vice/src/arch/gtk3/widgets/settings_mmc64.c 2026-04-16 13:47:05 UTC (rev 46076)
@@ -49,10 +49,15 @@
#include "settings_mmc64.h"
-/** \brief Temporary define to make editing easier */
-#define CARTNAME CARTRIDGE_NAME_MMC64
+#define DEBUG_MMC64
+#ifdef DEBUG_MMC64
+#define DBG(x) log_printf x
+#else
+#define DBG(x)
+#endif
+
/** \brief List of revisions
*/
static const vice_gtk3_radiogroup_entry_t revisions[] = {
@@ -72,173 +77,10 @@
};
-/** \brief BIOS filename entry */
-static GtkWidget *bios_filename = NULL;
-
-/** \brief BIOS "Flush image" button */
-static GtkWidget *flush_button = NULL;
-
-/** \brief BIOS "Save As" button" */
-static GtkWidget *save_button = NULL;
-
/** \brief SD card widget filename entry */
static GtkWidget *card_filename = NULL;
-/** \brief Update sensitivity of BIOS flush and save buttons
- *
- * Set sensitivity of the "Flush" and "Save As" buttons of the BIOS file
- * widget, based on the presence of a BIOS image.
- * (Assumes the resource "MMC64BIOSfilename" is only set if a valid BIOS file
- * is loaded)
- */
-static void update_buttons_sensitivity(void)
-{
- const char *bios = NULL;
- gboolean sensitive;
-
- resources_get_string("MMC64BIOSfilename", &bios);
- sensitive = (bios != NULL && *bios != '\0');
- gtk_widget_set_sensitive(flush_button, sensitive);
- gtk_widget_set_sensitive(save_button, sensitive);
-}
-
-/** \brief Custom callback for the BIOS file chooser widget
- *
- * \param[in] entry file chooser's GtkEntry widget (ignored)
- * \param[in] filename filename returned by the file chooser (ignored)
- */
-static void bios_callback(GtkEntry *entry, gchar *filename)
-{
- update_buttons_sensitivity();
-}
-
-/** \brief Handler for the 'toggled' event of the "MMC64 Enabled" widget
- *
- * \param[in,out] check check button
- * \param[in] user_data extra event data (unused)
- */
-static void on_enable_toggled(GtkWidget *check, gpointer user_data)
-{
- GtkWidget *parent;
- gboolean enabled;
- const char *bios;
-
- enabled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(check));
- bios = gtk_entry_get_text(GTK_ENTRY(bios_filename));
- parent = gtk_widget_get_toplevel(check);
- if (!GTK_IS_WINDOW(parent)) {
- parent = NULL;
- }
-
- if (enabled && (bios == NULL || *bios == '\0')) {
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check), FALSE);
- vice_gtk3_message_error(GTK_WINDOW(parent),
- CARTNAME " Error",
- "Cannot enable " CARTNAME " due to missing BIOS file.");
- update_buttons_sensitivity();
- return;
- }
-
- if (enabled && bios != NULL && *bios != '\0') {
- if (cartridge_enable(CARTRIDGE_MMC64) < 0) {
- /* failed to set resource */
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check), FALSE);
- log_error(LOG_DEFAULT,
- "failed to enable " CARTNAME ", please set BIOS file.");
- vice_gtk3_message_error(GTK_WINDOW(parent),
- CARTNAME " Error",
- "Failed to enable " CARTNAME ", please set BIOS file.");
- }
- } else if (!enabled) {
- if (cartridge_disable(CARTRIDGE_MMC64) < 0) {
- log_error(LOG_DEFAULT, "failed to disable " CARTNAME ".");
- vice_gtk3_message_error(GTK_WINDOW(parent),
- CARTNAME " Error",
- "Failed to disable " CARTNAME ", please set BIOS file.");
- }
- }
-
- update_buttons_sensitivity();
-}
-
-/** \brief Callback for the save-dialog response handler
- *
- * \param[in,out] dialog save-file dialog
- * \param[in,out] filename filename
- * \param[in] data extra data (unused)
- */
-static void save_filename_callback(GtkDialog *dialog,
- gchar *filename,
- gpointer data)
-{
- if (filename != NULL) {
- if (cartridge_save_image(CARTRIDGE_MMC64, filename) < 0) {
- vice_gtk3_message_error(GTK_WINDOW(dialog),
- CARTRIDGE_NAME_MMC64 " Error",
- "Failed to save image as '%s'.",
- filename);
- }
- g_free(filename);
- }
- gtk_widget_destroy(GTK_WIDGET(dialog));
-}
-
-/** \brief Handler for the "clicked" event of the Save Image button
- *
- * \param[in] widget button
- * \param[in] user_data unused
- */
-static void on_save_clicked(GtkWidget *widget, gpointer user_data)
-{
- GtkWidget *dialog;
-
- dialog = vice_gtk3_save_file_dialog("Save " CARTRIDGE_NAME_MMC64 " image",
- NULL, TRUE, NULL,
- save_filename_callback,
- NULL);
- gtk_widget_show(dialog);
-}
-
-/** \brief Handler for the "clicked" event of the Flush Image button
- *
- * \param[in] widget button
- * \param[in] user_data unused
- */
-static void on_flush_clicked(GtkWidget *widget, gpointer user_data)
-{
- GtkWidget *parent = gtk_widget_get_toplevel(widget);
-
- if (!GTK_IS_WINDOW(parent)) {
- parent = NULL; /* make error dialog default to active window */
- }
- if (cartridge_flush_image(CARTRIDGE_MMC64) < 0) {
- vice_gtk3_message_error(GTK_WINDOW(parent),
- CARTNAME " Error",
- "Failed to flush image.");
- }
-}
-
-
-/** \brief Create widget to toggle MMC64 emulation
- *
- * \return GtkCheckButton
- */
-static GtkWidget *create_mmc64_enable_widget(void)
-{
- GtkWidget *check;
-
- check = gtk_check_button_new_with_label("Enable " CARTNAME " emulation");
-
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check),
- cartridge_type_enabled(CARTRIDGE_MMC64));
- g_signal_connect(G_OBJECT(check),
- "toggled",
- G_CALLBACK(on_enable_toggled),
- NULL);
- return check;
-}
-
/** \brief Create widget to toggle the MMC64 flash jumper
*
* \return GtkSwitch
@@ -268,69 +110,6 @@
return group;
}
-/** \brief Add BIOS widgets to main grid
- *
- * \param[in] grid main grid
- * \param[in] row row in \a grid to add widgets
- * \param[in] columns number of columns in \a grid, for proper column span
- *
- * \return row in \a grid to add more widgets
- */
-static int create_bios_image_layout(GtkWidget *grid, int row, int columns)
-{
- GtkWidget *label;
- GtkWidget *bios_write;
- GtkWidget *button_box;
- const char *title;
-
- /* header */
- label = gtk_label_new(NULL);
- gtk_label_set_markup(GTK_LABEL(label),
- "<b>" CARTRIDGE_NAME_MMC64 " BIOS</b>");
- gtk_widget_set_halign(label, GTK_ALIGN_START);
- gtk_widget_set_margin_top(label, 8);
- gtk_grid_attach(GTK_GRID(grid), label, 0, row, columns, 1);
- row++;
-
- /* BIOS file chooser */
- label = gtk_label_new("BIOS filename");
- gtk_widget_set_halign(label, GTK_ALIGN_START);
-
- bios_filename = vice_gtk3_resource_filechooser_new("MMC64BIOSfilename",
- GTK_FILE_CHOOSER_ACTION_OPEN);
- title = "Select " CARTRIDGE_NAME_MMC64 " BIOS file";
- vice_gtk3_resource_filechooser_set_custom_title(bios_filename, title);
- vice_gtk3_resource_filechooser_set_callback(bios_filename, bios_callback);
- gtk_grid_attach(GTK_GRID(grid), label, 0, row, 1, 1);
- gtk_grid_attach(GTK_GRID(grid), bios_filename, 1, row, columns - 1, 1);
- row++;
-
- /* BIOS writes */
- bios_write = vice_gtk3_resource_check_button_new("MMC64_bios_write",
- "Enable BIOS image writes");
- /* buttons */
- button_box = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL);
- flush_button = gtk_button_new_with_label("Flush image");
- save_button = gtk_button_new_with_label("Save image as ..");
-
- g_signal_connect(G_OBJECT(flush_button),
- "clicked",
- G_CALLBACK(on_flush_clicked),
- NULL);
- g_signal_connect(G_OBJECT(save_button),
- "clicked",
- G_CALLBACK(on_save_clicked),
- NULL);
-
- gtk_box_pack_start(GTK_BOX(button_box), save_button, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(button_box), flush_button, FALSE, FALSE, 0);
- gtk_box_set_spacing(GTK_BOX(button_box), 8);
- gtk_widget_set_halign(button_box, GTK_ALIGN_END);
- gtk_grid_attach(GTK_GRID(grid), bios_write, 1, row, 1, 1);
- gtk_grid_attach(GTK_GRID(grid), button_box, 2, row, columns - 2, 1);
- return row + 1;
-}
-
/** \brief Add widgets for the SD/MCC card
*
* \param[in] grid main grid
@@ -346,10 +125,12 @@
GtkWidget *type;
const char *title;
+ /* FIXME: SD/MMC Card Widget should also be implemented in common code */
+
/* header */
label = gtk_label_new(NULL);
gtk_label_set_markup(GTK_LABEL(label),
- "<b>" CARTNAME " SD/MMC Card</b>");
+ "<b>" CARTRIDGE_NAME_MMC64 " SD/MMC Card</b>");
gtk_widget_set_halign(label, GTK_ALIGN_START);
gtk_widget_set_margin_top(label, 16);
gtk_grid_attach(GTK_GRID(grid), label, 0, row, columns, 1);
@@ -360,7 +141,7 @@
gtk_widget_set_halign(label, GTK_ALIGN_START);
card_filename = vice_gtk3_resource_filechooser_new("MMC64Imagefilename",
GTK_FILE_CHOOSER_ACTION_OPEN);
- title = "Select " CARTNAME " SD/MMC card image file";
+ title = "Select " CARTRIDGE_NAME_MMC64 " SD/MMC card image file";
vice_gtk3_resource_filechooser_set_custom_title(card_filename, title);
gtk_grid_attach(GTK_GRID(grid), label, 0, row, 1, 1);
gtk_grid_attach(GTK_GRID(grid), card_filename, 1, row, columns - 1, 1);
@@ -385,7 +166,15 @@
return row + 1;
}
+static void on_enable_clicked(GtkWidget *widget, gpointer user_data)
+{
+ /*GtkWidget *parent = gtk_widget_get_toplevel(widget);*/
+ int enabled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
+ DBG(("MMC64 on_enable_clicked: %d", enabled));
+ /* FIXME: update save/flush button(s) */
+}
+
/** \brief Create widget to control MMC64 resources
*
* \param[in] parent parent widget (unused)
@@ -405,8 +194,11 @@
GtkWidget *revision_widget;
GtkWidget *clockport_label;
GtkWidget *clockport_widget;
+ GtkWidget *primary;
int row = 0;
+ DBG(("MMC64 settings_mmc64_widget_create"));
+
grid = gtk_grid_new();
gtk_grid_set_column_spacing(GTK_GRID(grid), 8);
/* all rows need at least 8 pixels space between widgets, so we set the
@@ -414,12 +206,17 @@
gtk_grid_set_row_spacing(GTK_GRID(grid), 8);
/* enable emulation check button */
- enable_widget = create_mmc64_enable_widget();
+ enable_widget = carthelpers_create_enable_check_button(CARTRIDGE_NAME_MMC64,
+ CARTRIDGE_MMC64);
+ g_signal_connect(G_OBJECT(enable_widget),
+ "clicked",
+ G_CALLBACK(on_enable_clicked),
+ NULL);
/* jumper switch and label */
jumper_wrapper = gtk_grid_new();
gtk_grid_set_column_spacing(GTK_GRID(jumper_wrapper), 16);
- jumper_label = gtk_label_new(CARTNAME " Flash jumper");
+ jumper_label = gtk_label_new(CARTRIDGE_NAME_MMC64 " Flash jumper");
jumper_widget = create_mmc64_jumper_widget();
gtk_widget_set_halign(jumper_label, GTK_ALIGN_END);
gtk_widget_set_hexpand(jumper_label, TRUE);
@@ -432,8 +229,13 @@
gtk_grid_attach(GTK_GRID(grid), jumper_wrapper, 2, row, 2, 1);
row++;
- row = create_bios_image_layout(grid, row, NUM_COLS);
- row = create_card_image_layout(grid, row, NUM_COLS);
+ revision_label = gtk_label_new(CARTRIDGE_NAME_MMC64 " Revision");
+ revision_widget = create_mmc64_revision_widget();
+ gtk_widget_set_halign(revision_label, GTK_ALIGN_START);
+ gtk_widget_set_valign(revision_widget, GTK_ALIGN_START);
+ gtk_grid_attach(GTK_GRID(grid), revision_label, 0, row, 1, 1);
+ gtk_grid_attach(GTK_GRID(grid), revision_widget, 1, row, 1, 1);
+ row++;
clockport_label = gtk_label_new("ClockPort device");
clockport_widget = clockport_device_widget_create("MMC64ClockPort");
@@ -444,18 +246,27 @@
gtk_grid_attach(GTK_GRID(grid), clockport_widget, 1, row, 1, 1);
row++;
- revision_label = gtk_label_new(CARTNAME " Revision");
- revision_widget = create_mmc64_revision_widget();
- gtk_widget_set_halign(revision_label, GTK_ALIGN_START);
- gtk_widget_set_valign(revision_widget, GTK_ALIGN_START);
- gtk_grid_attach(GTK_GRID(grid), revision_label, 0, row, 1, 1);
- gtk_grid_attach(GTK_GRID(grid), revision_widget, 1, row, 1, 1);
+
+ primary = cart_image_widget_new(CARTRIDGE_MMC64, /* cart id */
+ CARTRIDGE_NAME_MMC64, /* cart name */
+ CART_IMAGE_PRIMARY, /* image number */
+ "BIOS", /* image tag */
+ "MMC64BIOSfilename", /* resource name */
+ TRUE, /* flush button */
+ TRUE /* save button */
+ );
+ cart_image_widget_append_check(primary,
+ "MMC64_bios_write",
+ "Enable BIOS image writes");
+
+
+ gtk_grid_attach(GTK_GRID(grid), primary, 0, row, 4, 1);
+ row++;
+
+ row = create_card_image_layout(grid, row, NUM_COLS);
+
#undef NUM_COLS
- update_buttons_sensitivity();
-
gtk_widget_show_all(grid);
return grid;
}
-
-#undef CARTNAME
Modified: trunk/vice/src/arch/gtk3/widgets/settings_mmcr.c
===================================================================
--- trunk/vice/src/arch/gtk3/widgets/settings_mmcr.c 2026-04-09 14:21:47 UTC (rev 46075)
+++ trunk/vice/src/arch/gtk3/widgets/settings_mmcr.c 2026-04-16 13:47:05 UTC (rev 46076)
@@ -61,63 +61,6 @@
};
-/** \brief Callback for the save-dialog response handler
- *
- * \param[in,out] dialog save-file dialog
- * \param[in,out] filename filename
- * \param[in] data extra data (unused)
- */
-static void save_filename_callback(GtkDialog *dialog,
- gchar *filename,
- gpointer data)
-{
- if (filename != NULL) {
- if (cartridge_save_image(CARTRIDGE_MMC_REPLAY, filename) < 0) {
- vice_gtk3_message_error(GTK_WINDOW(dialog),
- CARTNAME " Error",
- "Failed to save image as '%s'",
- filename);
- }
- g_free(filename);
- }
- gtk_widget_destroy(GTK_WIDGET(dialog));
-}
-
-/** \brief Handler for the "clicked" event of the Save Image button
- *
- * \param[in] widget button (unused)
- * \param[in] user_data extra event data (unused)
- */
-static void on_save_clicked(GtkWidget *widget, gpointer user_data)
-{
- GtkWidget *dialog;
-
- dialog = vice_gtk3_save_file_dialog("Save " CARTNAME " image",
- NULL, TRUE, NULL,
- save_filename_callback,
- NULL);
- gtk_widget_show(dialog);
-}
-
-/** \brief Handler for the "clicked" event of the Flush Image button
- *
- * \param[in] widget button
- * \param[in] user_data unused
- */
-static void on_flush_clicked(GtkWidget *widget, gpointer user_data)
-{
- GtkWidget *parent = gtk_widget_get_toplevel(widget);
-
- if (!GTK_IS_WINDOW(parent)) {
- parent = NULL; /* make error dialog default to active window */
- }
- if (cartridge_flush_image(CARTRIDGE_MMC_REPLAY) < 0) {
- vice_gtk3_message_error(GTK_WINDOW(parent),
- CARTNAME "Error",
- "Failed to flush image.");
- }
-}
-
/** \brief Create grid with switch and label for the MMCRRescueMode resource
*
* \return GtkGrid
@@ -146,48 +89,7 @@
return grid;
}
-/** \brief Add EEPROM widgets to main grid
- *
- * \param[in] grid main grid
- * \param[in] row row in \a grid to add widgets
- * \param[in] columns number of columns in \a grid, for proper column span
- *
- * \return row in \a grid to add more widgets
- */
-static int create_eeprom_layout(GtkWidget *grid, int row, int columns)
-{
- GtkWidget *label;
- GtkWidget *eeprom;
- GtkWidget *readwrite;
- const char *title;
- label = gtk_label_new(NULL);
- gtk_label_set_markup(GTK_LABEL(label),
- "<b>" CARTNAME " EEPROM</b>");
- gtk_widget_set_halign(label, GTK_ALIGN_START);
- gtk_widget_set_margin_top(label, 8);
- gtk_grid_attach(GTK_GRID(grid), label, 0, row, columns, 1);
- row++;
-
- label = gtk_label_new("Image file");
- eeprom = vice_gtk3_resource_filechooser_new("MMCREEPROMImage",
- GTK_FILE_CHOOSER_ACTION_OPEN);
- title = "Select " CARTNAME " EEPROM image file";
- vice_gtk3_resource_filechooser_set_custom_title(eeprom, title);
- gtk_widget_set_halign(label, GTK_ALIGN_START);
-
- gtk_grid_attach(GTK_GRID(grid), label, 0, row, 1, 1);
- gtk_grid_attach(GTK_GRID(grid), eeprom, 1, row, columns - 1, 1);
- row++;
-
- /* add RW widget */
- readwrite = vice_gtk3_resource_check_button_new("MMCREEPROMRW",
- "Enable writes to EEPROM image");
- gtk_grid_attach(GTK_GRID(grid), readwrite, 1, row, columns - 1, 1);
-
- return row + 1;
-}
-
/** \brief Add widgets for the SD/MCC card
*
* \param[in] grid main grid
@@ -204,6 +106,8 @@
GtkWidget *card_type;
const char *title;
+ /* FIXME: SD/MMC Card Widget should also be implemented in common code */
+
label = gtk_label_new(NULL);
gtk_label_set_markup(GTK_LABEL(label),
"<b>" CARTNAME "SD/MMC Card</b>");
@@ -240,58 +144,8 @@
return row + 1;
}
-/** \brief Add cartridge image widgets to main grid
- *
- * \param[in] grid main grid
- * \param[in] row row in \a grid to add widgets
- * \param[in] columns number of columns in \a grid, for proper column span
- *
- * \return row in \a grid to add more widgets
- */
-static int create_cart_image_layout(GtkWidget *grid, int row, int columns)
-{
- GtkWidget *label;
- GtkWidget *write_back;
- GtkWidget *box;
- GtkWidget *save;
- GtkWidget *flush;
- label = gtk_label_new(NULL);
- gtk_label_set_markup(GTK_LABEL(label),
- "<b>" CARTNAME " Cartridge Image</b>");
- gtk_widget_set_halign(label, GTK_ALIGN_START);
- gtk_widget_set_margin_top(label, 16);
- gtk_grid_attach(GTK_GRID(grid), label, 0, row, columns, 1);
- row++;
- write_back = vice_gtk3_resource_check_button_new("MMCRImageWrite",
- "Save image when changed");
- gtk_grid_attach(GTK_GRID(grid), write_back, 0, row, 2, 1);
-
-
- box = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL);
- flush = gtk_button_new_with_label("Flush image");
- save = gtk_button_new_with_label("Save image as ..");
-
- g_signal_connect(G_OBJECT(flush),
- "clicked",
- G_CALLBACK(on_flush_clicked),
- NULL);
- g_signal_connect(G_OBJECT(save),
- "clicked",
- G_CALLBACK(on_save_clicked),
- NULL);
-
- gtk_box_pack_start(GTK_BOX(box), save, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(box), flush, FALSE, FALSE, 0);
- gtk_box_set_spacing(GTK_BOX(box), 8);
- gtk_widget_set_halign(box, GTK_ALIGN_END);
- gtk_grid_attach(GTK_GRID(grid), box, 2, row, columns - 2, 1);
-
- return row + 1;
-}
-
-
/** \brief Create widget to control MMC Replay resources
*
* \param[in] parent parent widget (used for dialogs)
@@ -305,6 +159,8 @@
GtkWidget *rescue_widget;
GtkWidget *clockport_label;
GtkWidget *clockport_widget;
+ GtkWidget *primary;
+ GtkWidget *secondary;
int row = 0;
grid = vice_gtk3_grid_new_spaced(8, 8);
@@ -314,12 +170,6 @@
gtk_grid_attach(GTK_GRID(grid), rescue_widget, 0, row, NUM_COLS, 1);
row++;
- row = create_eeprom_layout (grid, row, NUM_COLS);
- row = create_card_layout (grid, row, NUM_COLS);
- row = create_cart_image_layout(grid, row, NUM_COLS);
-#if 0
- gtk_grid_attach(GTK_GRID(grid), create_card_type_widget(), 0, row, NUM_COLS, 1);
-#endif
clockport_label = gtk_label_new("ClockPort device");
clockport_widget = clockport_device_widget_create("MMCRClockPort");
gtk_widget_set_margin_top(clockport_label, 16);
@@ -327,7 +177,40 @@
gtk_widget_set_halign(clockport_label, GTK_ALIGN_START);
gtk_grid_attach(GTK_GRID(grid), clockport_label, 0, row, 1, 1);
gtk_grid_attach(GTK_GRID(grid), clockport_widget, 1, row, 1, 1);
+ row++;
+ primary = cart_image_widget_new(CARTRIDGE_MMC_REPLAY, /* cart id */
+ CARTRIDGE_NAME_MMC_REPLAY, /* cart name */
+ CART_IMAGE_PRIMARY, /* image number */
+ "cartridge", /* image tag */
+ NULL, /* resource name */
+ TRUE, /* flush button */
+ TRUE /* save button */
+ );
+ cart_image_widget_append_check(primary,
+ "MMCRImageWrite",
+ "Save image when changed");
+
+
+ gtk_grid_attach(GTK_GRID(grid), primary, 0, row, 4, 1);
+ row++;
+
+ secondary = cart_image_widget_new(CARTRIDGE_MMC_REPLAY,
+ CARTRIDGE_NAME_MMC_REPLAY,
+ CART_IMAGE_SECONDARY,
+ "EEPROM",
+ "MMCREEPROMImage",
+ TRUE,
+ TRUE);
+ cart_image_widget_append_check(secondary,
+ "MMCREEPROMRW",
+ "Enable writes to " CARTRIDGE_NAME_MMC_REPLAY
+ " EEPROM image");
+ gtk_grid_attach(GTK_GRID(grid), secondary, 0, row, 4, 1);
+ row++;
+
+ row = create_card_layout (grid, row, NUM_COLS);
+
#undef NUM_COLS
gtk_widget_show_all(grid);
return grid;
Modified: trunk/vice/src/arch/gtk3/widgets/settings_retroreplay.c
===================================================================
--- trunk/vice/src/arch/gtk3/widgets/settings_retroreplay.c 2026-04-09 14:21:47 UTC (rev 46075)
+++ trunk/vice/src/arch/gtk3/widgets/settings_retroreplay.c 2026-04-16 13:47:05 UTC (rev 46076)
@@ -60,68 +60,6 @@
};
-/** \brief Callback for the save-dialog response handler
- *
- * \param[in,out] dialog save-file dialog
- * \param[in,out] filename filename
- * \param[in] data extra data (unused)
- */
-static void save_filename_callback(GtkDialog *dialog,
- gchar *filename,
- gpointer data)
-{
- if (filename != NULL) {
- if (cartridge_save_image(CARTRIDGE_RETRO_REPLAY, filename) < 0) {
- vice_gtk3_message_error(GTK_WINDOW(dialog),
- CARTNAME " Error",
- "Failed to save image as '%s'.",
- filename);
- }
- g_free(filename);
- }
- gtk_widget_destroy(GTK_WIDGET(dialog));
-}
-
-/** \brief Handler for the 'clicked' event of the "Save As" button
- *
- * \param[in] widget button
- * \param[in] user_data extra event data (unused)
- */
-static void on_save_clicked(GtkWidget *widget, gpointer user_data)
-{
- GtkWidget *dialog;
-
- dialog = vice_gtk3_save_file_dialog("Save " CARTNAME
- " image as",
- NULL,
- TRUE,
- NULL,
- save_filename_callback,
- NULL);
- gtk_widget_show(dialog);
-}
-
-
-/** \brief Handler for the 'clicked' event of the "Flush now" button
- *
- * \param[in] widget button
- * \param[in] user_data extra event data (unused)
- */
-static void on_flush_clicked(GtkWidget *widget, gpointer user_data)
-{
- if (cartridge_flush_image(CARTRIDGE_RETRO_REPLAY) < 0) {
- GtkWidget *parent;
-
- parent = gtk_widget_get_toplevel(widget);
- if (!GTK_IS_WINDOW(widget)) {
- parent = NULL; /* default to current emulator window */
- }
- vice_gtk3_message_error(GTK_WINDOW(parent),
- CARTNAME " Error",
- "Failed to flush current image.");
- }
-}
-
/** \brief Create left-align label
*
* \param[in] text text for the label (uses Pango markup)
@@ -166,15 +104,12 @@
GtkWidget *settings_retroreplay_widget_create(GtkWidget *parent)
{
GtkWidget *grid;
- GtkWidget *box;
GtkWidget *flash;
GtkWidget *bank;
GtkWidget *label;
GtkWidget *revision;
GtkWidget *clockport;
- GtkWidget *save_button;
- GtkWidget *flush_button;
- GtkWidget *bios_write;
+ GtkWidget *primary;
grid = vice_gtk3_grid_new_spaced(8, 8);
gtk_grid_set_column_homogeneous(GTK_GRID(grid), TRUE);
@@ -208,36 +143,19 @@
gtk_grid_attach(GTK_GRID(grid), label, 0, 3, 1, 1);
gtk_grid_attach(GTK_GRID(grid), clockport, 1, 3, 1, 1);
- /* RRBiosWrite */
- bios_write = vice_gtk3_resource_check_button_new("RRBiosWrite",
- "Write back " CARTNAME " Flash ROM image automatically");
- gtk_widget_set_valign(bios_write, GTK_ALIGN_START);
- gtk_grid_attach(GTK_GRID(grid), bios_write, 0, 4, 3, 1);
+ primary = cart_image_widget_new(CARTRIDGE_RETRO_REPLAY, /* cart id */
+ CARTRIDGE_NAME_RETRO_REPLAY, /* cart name */
+ CART_IMAGE_PRIMARY, /* image number */
+ "cartridge", /* image tag */
+ NULL, /* resource name */
+ TRUE, /* flush button */
+ TRUE /* save button */
+ );
+ cart_image_widget_append_check(primary,
+ "RRBiosWrite",
+ "Save image when changed");
+ gtk_grid_attach(GTK_GRID(grid), primary, 0, 4, 4, 1);
- /* wrap buttons in button box */
- box = gtk_button_box_new(GTK_ORIENTATION_VERTICAL);
- gtk_box_set_spacing(GTK_BOX(box), 8);
- gtk_widget_set_hexpand(box, TRUE);
- gtk_widget_set_halign(box, GTK_ALIGN_END);
-
- /* Save image as .. */
- save_button = gtk_button_new_with_label("Save image as ..");
- g_signal_connect(save_button,
- "clicked",
- G_CALLBACK(on_save_clicked),
- NULL);
-
- /* Flush image now */
- flush_button = gtk_button_new_with_label("Flush image");
- g_signal_connect(flush_button,
- "clicked",
- G_CALLBACK(on_flush_clicked),
- NULL);
-
- gtk_box_pack_start(GTK_BOX(box), save_button, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(box), flush_button, FALSE, FALSE, 0);
- gtk_grid_attach(GTK_GRID(grid), box, 3, 4, 1, 1);
-
gtk_widget_show_all(grid);
return grid;
}
Modified: trunk/vice/src/arch/gtk3/widgets/settings_rrnetmk3.c
===================================================================
--- trunk/vice/src/arch/gtk3/widgets/settings_rrnetmk3.c 2026-04-09 14:21:47 UTC (rev 46075)
+++ trunk/vice/src/arch/gtk3/widgets/settings_rrnetmk3.c 2026-04-16 13:47:05 UTC (rev 46076)
@@ -35,62 +35,6 @@
#include "settings_rrnetmk3.h"
-
-/** \brief Callback for the save-dialog response handler
- *
- * \param[in,out] dialog save-file dialog
- * \param[in,out] filename filename
- * \param[in] data extra data (unused)
- */
-static void save_filename_callback(GtkDialog *dialog,
- gchar *filename,
- gpointer data)
-{
- if (filename != NULL) {
- if (cartridge_save_image(CARTRIDGE_RRNETMK3, filename) < 0) {
- vice_gtk3_message_error(GTK_WINDOW(dialog),
- CARTRIDGE_NAME_RRNETMK3 " Error",
- "Failed to save image as '%s'",
- filename);
- }
- g_free(filename);
- }
- gtk_widget_destroy(GTK_WIDGET(dialog));
-}
-
-/** \brief Handler for the "clicked" event of the "Save As" button
- *
- * \param[in] widget button
- * \param[in] user_data extra event data (unused)
- */
-static void on_save_clicked(GtkWidget *widget, gpointer user_data)
-{
- GtkWidget *dialog;
-
- dialog = vice_gtk3_save_file_dialog("Save " CARTRIDGE_NAME_RRNETMK3 " image as",
- NULL,
- TRUE,
- NULL,
- save_filename_callback,
- NULL);
- gtk_widget_show(dialog);
-}
-
-/** \brief Handler for the "clicked" event of the "Flush now" button
- *
- * \param[in] widget button
- * \param[in] user_data extra event data (unused)
- */
-static void on_flush_clicked(GtkWidget *widget, gpointer user_data)
-{
- if (cartridge_flush_image(CARTRIDGE_RRNETMK3) < 0) {
- vice_gtk3_message_error(GTK_WINDOW(gtk_widget_get_toplevel(widget)),
- CARTRIDGE_NAME_RRNETMK3 " Error",
- "Failed to flush image.");
- }
-}
-
-
/** \brief Create widget to control RRNet Mk3 resources
*
* \param[in] parent parent widget (unused)
@@ -100,12 +44,10 @@
GtkWidget *settings_rrnetmk3_widget_create(GtkWidget *parent)
{
GtkWidget *grid;
- GtkWidget *box;
GtkWidget *flash_label;
GtkWidget *flash_jumper;
- GtkWidget *bios_write;
- GtkWidget *save_button;
- GtkWidget *flush_button;
+ GtkWidget *primary;
+ int row = 0;
grid = gtk_grid_new();
gtk_grid_set_column_spacing(GTK_GRID(grid), 8);
@@ -119,41 +61,26 @@
gtk_widget_set_halign(flash_jumper, GTK_ALIGN_START);
gtk_widget_set_valign(flash_jumper, GTK_ALIGN_CENTER);
- /* RRBiosWrite */
- bios_write = vice_gtk3_resource_check_button_new("RRNETMK3_bios_write",
- "Write back " CARTRIDGE_NAME_RRNETMK3 " Flash ROM image automatically");
- gtk_widget_set_valign(bios_write, GTK_ALIGN_START);
- gtk_widget_set_margin_top(bios_write, 8);
+ gtk_grid_attach(GTK_GRID(grid), flash_label, 0, row, 1, 1);
+ gtk_grid_attach(GTK_GRID(grid), flash_jumper, 1, row, 1, 1);
+ row++;
- /* wrap buttons in button box */
- box = gtk_button_box_new(GTK_ORIENTATION_VERTICAL);
- gtk_box_set_spacing(GTK_BOX(box), 8);
- gtk_widget_set_hexpand(box, TRUE);
- gtk_widget_set_halign(box, GTK_ALIGN_END);
- gtk_widget_set_margin_top(box, 8);
+ primary = cart_image_widget_new(CARTRIDGE_RRNETMK3, /* cart id */
+ CARTRIDGE_NAME_RRNETMK3, /* cart name */
+ CART_IMAGE_PRIMARY, /* image number */
+ "cartridge", /* image tag */
+ NULL, /* resource name */
+ TRUE, /* flush button */
+ TRUE /* save button */
+ );
+ cart_image_widget_append_check(primary,
+ "RRNETMK3_bios_write",
+ "Save image when changed");
- /* Save image as .. */
- save_button = gtk_button_new_with_label("Save image as ..");
- g_signal_connect(save_button,
- "clicked",
- G_CALLBACK(on_save_clicked),
- NULL);
- /* Flush image */
- flush_button = gtk_button_new_with_label("Flush image");
- g_signal_connect(flush_button,
- "clicked",
- G_CALLBACK(on_flush_clicked),
- NULL);
+ gtk_grid_attach(GTK_GRID(grid), primary, 0, row, 4, 1);
+ row++;
- gtk_box_pack_start(GTK_BOX(box), save_button, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(box), flush_button, FALSE, FALSE, 0);
-
- gtk_grid_attach(GTK_GRID(grid), flash_label, 0, 0, 1, 1);
- gtk_grid_attach(GTK_GRID(grid), flash_jumper, 1, 0, 1, 1);
- gtk_grid_attach(GTK_GRID(grid), bios_write, 0, 1, 3, 1);
- gtk_grid_attach(GTK_GRID(grid), box, 3, 1, 1, 1);
-
gtk_widget_show_all(grid);
return grid;
}
Modified: trunk/vice/src/c128/cart/c128cart.c
===================================================================
--- trunk/vice/src/c128/cart/c128cart.c 2026-04-09 14:21:47 UTC (rev 46075)
+++ trunk/vice/src/c128/cart/c128cart.c 2026-04-16 13:47:05 UTC (rev 46076)
@@ -56,10 +56,10 @@
#include "ltkernal.h"
#include "ramlink.h"
-/* #define DBGC128CART */
+#define DBGC128CART
#ifdef DBGC128CART
-#define DBG(x) printf x
+#define DBG(x) log_printf x
#else
#define DBG(x)
#endif
@@ -199,7 +199,7 @@
static void c128cartridge_config_init(int type)
{
- DBG(("c128cartridge_config_init()\n"));
+ DBG(("c128cartridge_config_init()"));
switch (type) {
case CARTRIDGE_C128_MAKEID(CARTRIDGE_C128_GENERIC):
@@ -217,7 +217,7 @@
/* copy data from rawcart into actually used ROM array(s). (called from c64carthooks:cart_attach()) */
static void c128cartridge_config_setup(int type,...
[truncated message content] |
|
From: <st...@us...> - 2026-04-09 14:21:50
|
Revision: 46075
http://sourceforge.net/p/vice-emu/code/46075
Author: strobey
Date: 2026-04-09 14:21:47 +0000 (Thu, 09 Apr 2026)
Log Message:
-----------
Add SDL equivalents of the ds3 & Logitech windows mappings. Add a gtk3 thec64 one too. Comment the Logitech one so it's easier to tweak to a users liking. Fix some whitespace & missing axes inconsistencies.
Modified Paths:
--------------
trunk/vice/data/joymaps/Makefile.am
trunk/vice/data/joymaps/gtk3_joymap_ds3_DsHidMini.vjm
trunk/vice/data/joymaps/gtk3_joymap_ds3_Sony.vjm
trunk/vice/data/joymaps/gtk3_joymap_logitech_x3dpro_windows.vjm
trunk/vice/data/joymaps/sdl_joymap_xbox_one_windows.vjm
Added Paths:
-----------
trunk/vice/data/joymaps/gtk3_joymap_thec64.vjm
trunk/vice/data/joymaps/sdl_joymap_ds3_DsHidMini.vjm
trunk/vice/data/joymaps/sdl_joymap_ds3_Sony.vjm
trunk/vice/data/joymaps/sdl_joymap_logitech_x3dpro_windows.vjm
Modified: trunk/vice/data/joymaps/Makefile.am
===================================================================
--- trunk/vice/data/joymaps/Makefile.am 2026-04-08 23:24:23 UTC (rev 46074)
+++ trunk/vice/data/joymaps/Makefile.am 2026-04-09 14:21:47 UTC (rev 46075)
@@ -2,10 +2,13 @@
sdl_joymaps = sdl_joymap_8bitdo_6b.vjm \
sdl_joymap_ds3.vjm \
+ sdl_joymap_ds3_DsHidMini.vjm \
+ sdl_joymap_ds3_Sony.vjm \
sdl_joymap_ds4.vjm \
sdl_joymap_ds4_windows.vjm \
sdl_joymap_ds5.vjm \
sdl_joymap_keyrah_v3.vjm \
+ sdl_joymap_logitech_x3dpro_windows.vjm \
sdl_joymap_thec64.vjm \
sdl_joymap_xbox360.vjm \
sdl_joymap_xbox_one_windows.vjm
@@ -18,7 +21,8 @@
gtk3_joymap_ds4_windows.vjm \
gtk3_joymap_ds5.vjm \
gtk3_joymap_logitech_x3dpro_windows.vjm \
- gtk3_joymap_xbox_one_windows.vjm
+ gtk3_joymap_thec64.vjm \
+ gtk3_joymap_xbox_one_windows.vjm
EXTRA_DIST = $(sdl_joymaps) $(gtk_joymaps)
# Do not install joymaps files when configured for headless
Modified: trunk/vice/data/joymaps/gtk3_joymap_ds3_DsHidMini.vjm
===================================================================
--- trunk/vice/data/joymaps/gtk3_joymap_ds3_DsHidMini.vjm 2026-04-08 23:24:23 UTC (rev 46074)
+++ trunk/vice/data/joymaps/gtk3_joymap_ds3_DsHidMini.vjm 2026-04-09 14:21:47 UTC (rev 46075)
@@ -75,5 +75,3 @@
0 2 1 1 2
0 2 2 1 4
0 2 3 1 8
-
-
Modified: trunk/vice/data/joymaps/gtk3_joymap_ds3_Sony.vjm
===================================================================
--- trunk/vice/data/joymaps/gtk3_joymap_ds3_Sony.vjm 2026-04-08 23:24:23 UTC (rev 46074)
+++ trunk/vice/data/joymaps/gtk3_joymap_ds3_Sony.vjm 2026-04-09 14:21:47 UTC (rev 46075)
@@ -94,5 +94,3 @@
0 2 1 1 2
0 2 2 1 4
0 2 3 1 8
-
-
Modified: trunk/vice/data/joymaps/gtk3_joymap_logitech_x3dpro_windows.vjm
===================================================================
--- trunk/vice/data/joymaps/gtk3_joymap_logitech_x3dpro_windows.vjm 2026-04-08 23:24:23 UTC (rev 46074)
+++ trunk/vice/data/joymaps/gtk3_joymap_logitech_x3dpro_windows.vjm 2026-04-09 14:21:47 UTC (rev 46075)
@@ -37,29 +37,50 @@
# [046d:0001] "Logitech Extreme 3D" (4 axes, 12 buttons, 1 hat) Windows 10, GTK
# Driver - default Windows driver
+
+# X Axis > Right/left
0 0 0 1 8
0 0 1 1 4
+# Y Axis > Down/up
0 0 2 1 2
0 0 3 1 1
+# Throttle > Pot Y
0 0 2 6 2
+# Twist/Z > Pot X
0 0 3 6 1
+# Trigger > Fire
0 1 0 1 16
+
+# Thumb (2) > Fire2 / SNES-Y
0 1 1 1 32
+
+# Button 3 > Fire3 / SNES-A
0 1 2 1 64
+
+# Button 4 > Fire4 / SNES-X
0 1 3 1 128
+
+# Btns 5-6 > LB / RB
0 1 4 1 256
0 1 5 1 512
+
+# Btns 7-8 > Select / Start
0 1 6 1 1024
0 1 7 1 2048
+
+# Buttons 9-11 unmapped
0 1 8 0
0 1 9 0
0 1 10 0
+
+# Button 12 > Pause
0 1 11 5 pause-toggle
+# Hat/D-Pad > Up/down/left/right
0 2 0 1 1
0 2 1 1 2
0 2 2 1 4
Added: trunk/vice/data/joymaps/gtk3_joymap_thec64.vjm
===================================================================
--- trunk/vice/data/joymaps/gtk3_joymap_thec64.vjm (rev 0)
+++ trunk/vice/data/joymaps/gtk3_joymap_thec64.vjm 2026-04-09 14:21:47 UTC (rev 46075)
@@ -0,0 +1,63 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [1c59:0001] " THEC64 Joystick" (5 axes, 8 buttons, 0 hats) Windows 10, GTK
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 4 0
+0 0 5 0
+
+0 0 6 0
+0 0 7 0
+
+0 0 8 0
+0 0 9 0
+
+0 1 0 1 16
+0 1 1 1 16
+0 1 2 1 32
+0 1 3 1 64
+0 1 4 5 virtual-keyboard
+0 1 5 5 show-statusbar-toggle
+0 1 6 5 pause-toggle
+0 1 7 4
+
Added: trunk/vice/data/joymaps/sdl_joymap_ds3_DsHidMini.vjm
===================================================================
--- trunk/vice/data/joymaps/sdl_joymap_ds3_DsHidMini.vjm (rev 0)
+++ trunk/vice/data/joymaps/sdl_joymap_ds3_DsHidMini.vjm 2026-04-09 14:21:47 UTC (rev 46075)
@@ -0,0 +1,80 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [7331:0002] "Nefarius Software Solutions e.U. DS3 Compatible HID Device" (6 axes, 16 buttons, 1 hat) Windows 10, SDL
+# Driver - DsHidMini Driver v2.2.282
+# + (optional for bluetooth support) BthPS3 Bluetooth Drivers v2.17.0
+# Source - https://docs.nefarius.at/projects/DsHidMini/v2/How-to-Install/
+# Tested both USB and bluetooth OK
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 2 6 1
+
+0 0 3 6 2
+
+0 0 8 0
+0 0 9 0
+
+0 0 10 0
+0 0 11 0
+
+0 1 0 1 16
+0 1 1 1 64
+0 1 2 1 32
+0 1 3 1 128
+0 1 4 1 256
+0 1 5 1 512
+0 1 6 1 1024
+0 1 7 1 2048
+0 1 8 0
+0 1 9 0
+0 1 10 5 pause-toggle
+0 1 11 0
+0 1 12 0
+0 1 13 0
+0 1 14 0
+0 1 15 0
+
+0 2 0 1 1
+0 2 1 1 2
+0 2 2 1 4
+0 2 3 1 8
Added: trunk/vice/data/joymaps/sdl_joymap_ds3_Sony.vjm
===================================================================
--- trunk/vice/data/joymaps/sdl_joymap_ds3_Sony.vjm (rev 0)
+++ trunk/vice/data/joymaps/sdl_joymap_ds3_Sony.vjm 2026-04-09 14:21:47 UTC (rev 46075)
@@ -0,0 +1,96 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [054c:0268] "PLAYSTATION(R)3 Controller" (8 axes, 24 buttons, 1 hat) Windows 10, SDL
+# Driver - Official Sony Driver. Note - only works wired with USB cable, no bluetooth
+# Source - https://wiki.rpcs3.net/index.php?title=Help:Controller_Configuration#Using_DualShock_3_controller
+# Device: "Wireless controller for PLAYSTATION(R)3"
+# Provider: Sony Computer Entertatinment Inc.
+# Date: 28/03/2013
+# Version 1.5.0.0
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 2 6 1
+
+0 0 6 0
+0 0 7 0
+
+0 0 8 0
+0 0 9 0
+
+0 0 5 6 2
+
+0 0 12 0
+0 0 13 0
+
+0 0 14 0
+0 0 15 0
+
+0 1 0 1 128
+0 1 1 1 64
+0 1 2 1 16
+0 1 3 1 32
+0 1 4 0
+0 1 5 0
+0 1 6 1 256
+0 1 7 1 512
+0 1 8 1 2048
+0 1 9 1 1024
+0 1 10 0
+0 1 11 0
+0 1 12 5 pause-toggle
+0 1 13 0
+0 1 14 0
+0 1 15 0
+0 1 16 0
+0 1 17 0
+0 1 18 0
+0 1 19 0
+0 1 20 0
+0 1 21 0
+0 1 22 0
+0 1 23 0
+
+0 2 0 1 1
+0 2 1 1 2
+0 2 2 1 4
+0 2 3 1 8
Added: trunk/vice/data/joymaps/sdl_joymap_logitech_x3dpro_windows.vjm
===================================================================
--- trunk/vice/data/joymaps/sdl_joymap_logitech_x3dpro_windows.vjm (rev 0)
+++ trunk/vice/data/joymaps/sdl_joymap_logitech_x3dpro_windows.vjm 2026-04-09 14:21:47 UTC (rev 46075)
@@ -0,0 +1,87 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [046d:c215] "Logitech Extreme 3D" (4 axes, 12 buttons, 1 hat) Windows 10, SDL
+# Driver - default Windows driver
+
+# X Axis > Right/left
+0 0 0 1 8
+0 0 1 1 4
+
+# Y Axis > Down/up
+0 0 2 1 2
+0 0 3 1 1
+
+# Twist/Z > Pot X
+0 0 2 6 1
+
+# Throttle > Pot Y
+0 0 3 6 2
+
+# Trigger > Fire
+0 1 0 1 16
+
+# Thumb (2) > Fire2 / SNES-Y
+0 1 1 1 32
+
+# Button 3 > Fire3 / SNES-A
+0 1 2 1 64
+
+# Button 4 > Fire4 / SNES-X
+0 1 3 1 128
+
+# Btns 5-6 > LB / RB
+0 1 4 1 256
+0 1 5 1 512
+
+# Btns 7-8 > Select / Start
+0 1 6 1 1024
+0 1 7 1 2048
+
+# Buttons 9-11 unmapped
+0 1 8 0
+0 1 9 0
+0 1 10 0
+
+# Button 12 > Pause
+0 1 11 5 pause-toggle
+
+# Hat/D-Pad > Up/down/left/right
+0 2 0 1 1
+0 2 1 1 2
+0 2 2 1 4
+0 2 3 1 8
Modified: trunk/vice/data/joymaps/sdl_joymap_xbox_one_windows.vjm
===================================================================
--- trunk/vice/data/joymaps/sdl_joymap_xbox_one_windows.vjm 2026-04-08 23:24:23 UTC (rev 46074)
+++ trunk/vice/data/joymaps/sdl_joymap_xbox_one_windows.vjm 2026-04-09 14:21:47 UTC (rev 46075)
@@ -55,6 +55,12 @@
0 0 3 6 2
+0 0 8 0
+0 0 9 0
+
+0 0 10 0
+0 0 11 0
+
0 1 0 1 16
0 1 1 1 64
0 1 2 1 32
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2026-04-08 23:24:25
|
Revision: 46074
http://sourceforge.net/p/vice-emu/code/46074
Author: gpz
Date: 2026-04-08 23:24:23 +0000 (Wed, 08 Apr 2026)
Log Message:
-----------
remove ls voodoo, fix some typos
Modified Paths:
--------------
trunk/.github/workflows/build-main-on-push.yml
trunk/vice/doc/vice.texi
trunk/vice/src/arch/sdl/make-bindist_win32.sh
trunk/vice/src/arch/shared/make-bindist_osx.sh
trunk/vice/src/arch/shared/make_bindist_win32.sh
Modified: trunk/.github/workflows/build-main-on-push.yml
===================================================================
--- trunk/.github/workflows/build-main-on-push.yml 2026-04-08 23:01:58 UTC (rev 46073)
+++ trunk/.github/workflows/build-main-on-push.yml 2026-04-08 23:24:23 UTC (rev 46074)
@@ -147,11 +147,7 @@
run: |
cd vice
./src/buildtools/genvicedate_h.sh
- ls -al
- ls -al data/joymaps
- ./autogen.sh || cat .automake.out
- ls -al
- ls -al data/joymaps
+ ./autogen.sh
./configure --enable-option-checking=fatal \
--enable-headlessui \
--enable-html-docs \
Modified: trunk/vice/doc/vice.texi
===================================================================
--- trunk/vice/doc/vice.texi 2026-04-08 23:01:58 UTC (rev 46073)
+++ trunk/vice/doc/vice.texi 2026-04-08 23:24:23 UTC (rev 46074)
@@ -2354,7 +2354,6 @@
controller exactly this mapping is for, and which OS and port (GTK/SDL) was used.
If you save the mapping from the UI, all of this is automatically included.
-@node Directives
@subsubsection Directives
Directives are special commands for the parser. They start with
@strong{@code{!}} and are case-insensitive.
Modified: trunk/vice/src/arch/sdl/make-bindist_win32.sh
===================================================================
--- trunk/vice/src/arch/sdl/make-bindist_win32.sh 2026-04-08 23:01:58 UTC (rev 46073)
+++ trunk/vice/src/arch/sdl/make-bindist_win32.sh 2026-04-08 23:24:23 UTC (rev 46074)
@@ -189,7 +189,7 @@
mkdir $BINDIST_DIR/hotkeys
cp -a $TOPSRCDIR/data/hotkeys/*.vhk $BINDIST_DIR/hotkeys
mkdir $BINDIST_DIR/joymaps
-cp -a $TOPSRCDIR/data/joymaps/*.vhk $BINDIST_DIR/joymaps
+cp -a $TOPSRCDIR/data/joymaps/*.vjm $BINDIST_DIR/joymaps
# Icon files for SDL1
if test x"$SDLVERSION" = "x1"; then
Modified: trunk/vice/src/arch/shared/make-bindist_osx.sh
===================================================================
--- trunk/vice/src/arch/shared/make-bindist_osx.sh 2026-04-08 23:01:58 UTC (rev 46073)
+++ trunk/vice/src/arch/shared/make-bindist_osx.sh 2026-04-08 23:24:23 UTC (rev 46074)
@@ -732,7 +732,7 @@
cp "$TOP_DIR/data/hotkeys/"*.vhk "$APP_HOTKEYS/"
# --- copy joymap files ---
-cp "$TOP_DIR/data/joymaps/"*.vhk "$APP_JOYMAPS/"
+cp "$TOP_DIR/data/joymaps/"*.vjm "$APP_JOYMAPS/"
# --- code signing (for Apple notarisation) ------------------------------------
Modified: trunk/vice/src/arch/shared/make_bindist_win32.sh
===================================================================
--- trunk/vice/src/arch/shared/make_bindist_win32.sh 2026-04-08 23:01:58 UTC (rev 46073)
+++ trunk/vice/src/arch/shared/make_bindist_win32.sh 2026-04-08 23:24:23 UTC (rev 46074)
@@ -97,7 +97,7 @@
# Tools
BINDIST_TOOLS="c1541 tools/cartconv/cartconv tools/petcat/petcat"
-# Emulator data directories (ROMs, ROMSets, keymaps, joymaps)
+# Emulator data directories (ROMs, ROMSets, keymaps)
BINDIST_EMU_DATA_DIRS="C128 C64 C64DTV CBM-II DRIVES PET PLUS4 PRINTER SCPU64 VIC20"
# Bindist DLLs
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2026-04-08 23:02:00
|
Revision: 46073
http://sourceforge.net/p/vice-emu/code/46073
Author: gpz
Date: 2026-04-08 23:01:58 +0000 (Wed, 08 Apr 2026)
Log Message:
-----------
add the missing file, it is actually needed for this to work!
Added Paths:
-----------
trunk/vice/data/joymaps/Makefile.am
Added: trunk/vice/data/joymaps/Makefile.am
===================================================================
--- trunk/vice/data/joymaps/Makefile.am (rev 0)
+++ trunk/vice/data/joymaps/Makefile.am 2026-04-08 23:01:58 UTC (rev 46073)
@@ -0,0 +1,27 @@
+joymapsdir = $(VICE_DATADIR)/joymaps
+
+sdl_joymaps = sdl_joymap_8bitdo_6b.vjm \
+ sdl_joymap_ds3.vjm \
+ sdl_joymap_ds4.vjm \
+ sdl_joymap_ds4_windows.vjm \
+ sdl_joymap_ds5.vjm \
+ sdl_joymap_keyrah_v3.vjm \
+ sdl_joymap_thec64.vjm \
+ sdl_joymap_xbox360.vjm \
+ sdl_joymap_xbox_one_windows.vjm
+
+gtk_joymaps = gtk3_joymap_ds3_DsHidMini.vjm \
+ gtk3_joymap_ds3_scp_tools.vjm \
+ gtk3_joymap_ds3_Sony.vjm \
+ gtk3_joymap_ds3.vjm \
+ gtk3_joymap_ds4.vjm \
+ gtk3_joymap_ds4_windows.vjm \
+ gtk3_joymap_ds5.vjm \
+ gtk3_joymap_logitech_x3dpro_windows.vjm \
+ gtk3_joymap_xbox_one_windows.vjm
+
+EXTRA_DIST = $(sdl_joymaps) $(gtk_joymaps)
+# Do not install joymaps files when configured for headless
+if !USE_HEADLESSUI
+joymaps_DATA = $(sdl_joymaps) $(gtk_joymaps)
+endif
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2026-04-08 23:00:48
|
Revision: 46072
http://sourceforge.net/p/vice-emu/code/46072
Author: gpz
Date: 2026-04-08 23:00:46 +0000 (Wed, 08 Apr 2026)
Log Message:
-----------
once more
Modified Paths:
--------------
trunk/.github/workflows/build-main-on-push.yml
Modified: trunk/.github/workflows/build-main-on-push.yml
===================================================================
--- trunk/.github/workflows/build-main-on-push.yml 2026-04-08 22:53:02 UTC (rev 46071)
+++ trunk/.github/workflows/build-main-on-push.yml 2026-04-08 23:00:46 UTC (rev 46072)
@@ -147,8 +147,10 @@
run: |
cd vice
./src/buildtools/genvicedate_h.sh
+ ls -al
ls -al data/joymaps
./autogen.sh || cat .automake.out
+ ls -al
ls -al data/joymaps
./configure --enable-option-checking=fatal \
--enable-headlessui \
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2026-04-08 22:53:05
|
Revision: 46071
http://sourceforge.net/p/vice-emu/code/46071
Author: gpz
Date: 2026-04-08 22:53:02 +0000 (Wed, 08 Apr 2026)
Log Message:
-----------
drop some ls there
Modified Paths:
--------------
trunk/.github/workflows/build-main-on-push.yml
Modified: trunk/.github/workflows/build-main-on-push.yml
===================================================================
--- trunk/.github/workflows/build-main-on-push.yml 2026-04-08 22:45:08 UTC (rev 46070)
+++ trunk/.github/workflows/build-main-on-push.yml 2026-04-08 22:53:02 UTC (rev 46071)
@@ -147,7 +147,9 @@
run: |
cd vice
./src/buildtools/genvicedate_h.sh
+ ls -al data/joymaps
./autogen.sh || cat .automake.out
+ ls -al data/joymaps
./configure --enable-option-checking=fatal \
--enable-headlessui \
--enable-html-docs \
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2026-04-08 22:45:10
|
Revision: 46070
http://sourceforge.net/p/vice-emu/code/46070
Author: gpz
Date: 2026-04-08 22:45:08 +0000 (Wed, 08 Apr 2026)
Log Message:
-----------
try cat'ing automake.out on failure
Modified Paths:
--------------
trunk/.github/workflows/build-main-on-push.yml
Modified: trunk/.github/workflows/build-main-on-push.yml
===================================================================
--- trunk/.github/workflows/build-main-on-push.yml 2026-04-08 22:25:53 UTC (rev 46069)
+++ trunk/.github/workflows/build-main-on-push.yml 2026-04-08 22:45:08 UTC (rev 46070)
@@ -147,7 +147,7 @@
run: |
cd vice
./src/buildtools/genvicedate_h.sh
- ./autogen.sh
+ ./autogen.sh || cat .automake.out
./configure --enable-option-checking=fatal \
--enable-headlessui \
--enable-html-docs \
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2026-04-08 22:25:56
|
Revision: 46069
http://sourceforge.net/p/vice-emu/code/46069
Author: gpz
Date: 2026-04-08 22:25:53 +0000 (Wed, 08 Apr 2026)
Log Message:
-----------
move joymaps to a dedicated directory, like hotkeys. more or less blindly fix the various bindist things accordingly, lets see what happens
Modified Paths:
--------------
trunk/vice/configure.ac
trunk/vice/data/Makefile.am
trunk/vice/data/common/Makefile.am
trunk/vice/src/arch/gtk3/make-bindist_win32.sh
trunk/vice/src/arch/sdl/make-bindist_win32.sh
trunk/vice/src/arch/shared/make-bindist_osx.sh
Added Paths:
-----------
trunk/vice/data/joymaps/
trunk/vice/data/joymaps/gtk3_joymap_ds3.vjm
trunk/vice/data/joymaps/gtk3_joymap_ds3_DsHidMini.vjm
trunk/vice/data/joymaps/gtk3_joymap_ds3_Sony.vjm
trunk/vice/data/joymaps/gtk3_joymap_ds3_scp_tools.vjm
trunk/vice/data/joymaps/gtk3_joymap_ds4.vjm
trunk/vice/data/joymaps/gtk3_joymap_ds4_windows.vjm
trunk/vice/data/joymaps/gtk3_joymap_ds5.vjm
trunk/vice/data/joymaps/gtk3_joymap_logitech_x3dpro_windows.vjm
trunk/vice/data/joymaps/gtk3_joymap_xbox_one_windows.vjm
trunk/vice/data/joymaps/sdl_joymap_8bitdo_6b.vjm
trunk/vice/data/joymaps/sdl_joymap_ds3.vjm
trunk/vice/data/joymaps/sdl_joymap_ds4.vjm
trunk/vice/data/joymaps/sdl_joymap_ds4_windows.vjm
trunk/vice/data/joymaps/sdl_joymap_ds5.vjm
trunk/vice/data/joymaps/sdl_joymap_keyrah_v3.vjm
trunk/vice/data/joymaps/sdl_joymap_thec64.vjm
trunk/vice/data/joymaps/sdl_joymap_xbox360.vjm
trunk/vice/data/joymaps/sdl_joymap_xbox_one_windows.vjm
Removed Paths:
-------------
trunk/vice/data/common/gtk3_joymap_ds3.vjm
trunk/vice/data/common/gtk3_joymap_ds3_DsHidMini.vjm
trunk/vice/data/common/gtk3_joymap_ds3_Sony.vjm
trunk/vice/data/common/gtk3_joymap_ds3_scp_tools.vjm
trunk/vice/data/common/gtk3_joymap_ds4.vjm
trunk/vice/data/common/gtk3_joymap_ds4_windows.vjm
trunk/vice/data/common/gtk3_joymap_ds5.vjm
trunk/vice/data/common/gtk3_joymap_logitech_x3dpro_windows.vjm
trunk/vice/data/common/gtk3_joymap_xbox_one_windows.vjm
trunk/vice/data/common/sdl_joymap_8bitdo_6b.vjm
trunk/vice/data/common/sdl_joymap_ds3.vjm
trunk/vice/data/common/sdl_joymap_ds4.vjm
trunk/vice/data/common/sdl_joymap_ds4_windows.vjm
trunk/vice/data/common/sdl_joymap_ds5.vjm
trunk/vice/data/common/sdl_joymap_keyrah_v3.vjm
trunk/vice/data/common/sdl_joymap_thec64.vjm
trunk/vice/data/common/sdl_joymap_xbox360.vjm
trunk/vice/data/common/sdl_joymap_xbox_one_windows.vjm
Modified: trunk/vice/configure.ac
===================================================================
--- trunk/vice/configure.ac 2026-04-08 20:30:57 UTC (rev 46068)
+++ trunk/vice/configure.ac 2026-04-08 22:25:53 UTC (rev 46069)
@@ -3482,6 +3482,7 @@
data/common/Makefile
data/GLSL/Makefile
data/hotkeys/Makefile
+ data/joymaps/Makefile
doc/Makefile
doc/building/Makefile
doc/html/Makefile
Modified: trunk/vice/data/Makefile.am
===================================================================
--- trunk/vice/data/Makefile.am 2026-04-08 20:30:57 UTC (rev 46068)
+++ trunk/vice/data/Makefile.am 2026-04-08 22:25:53 UTC (rev 46069)
@@ -1 +1 @@
-SUBDIRS = C64 C64DTV C128 VIC20 PET PLUS4 CBM-II SCPU64 DRIVES PRINTER common GLSL hotkeys
+SUBDIRS = C64 C64DTV C128 VIC20 PET PLUS4 CBM-II SCPU64 DRIVES PRINTER common GLSL hotkeys joymaps
Modified: trunk/vice/data/common/Makefile.am
===================================================================
--- trunk/vice/data/common/Makefile.am 2026-04-08 20:30:57 UTC (rev 46068)
+++ trunk/vice/data/common/Makefile.am 2026-04-08 22:25:53 UTC (rev 46069)
@@ -175,39 +175,18 @@
xcbm5x0.desktop \
vsid.desktop
-sdl_joymaps = sdl_joymap_8bitdo_6b.vjm \
- sdl_joymap_ds3.vjm \
- sdl_joymap_ds4.vjm \
- sdl_joymap_ds4_windows.vjm \
- sdl_joymap_ds5.vjm \
- sdl_joymap_keyrah_v3.vjm \
- sdl_joymap_thec64.vjm \
- sdl_joymap_xbox360.vjm \
- sdl_joymap_xbox_one_windows.vjm
-
-gtk_joymaps = gtk3_joymap_ds3_DsHidMini.vjm \
- gtk3_joymap_ds3_scp_tools.vjm \
- gtk3_joymap_ds3_Sony.vjm \
- gtk3_joymap_ds3.vjm \
- gtk3_joymap_ds4.vjm \
- gtk3_joymap_ds4_windows.vjm \
- gtk3_joymap_ds5.vjm \
- gtk3_joymap_logitech_x3dpro_windows.vjm \
- gtk3_joymap_xbox_one_windows.vjm
-
-
if USE_SDLUI
if WINDOWS_COMPILE
# SDL 1.2 says to use 32x32 icons on Windows
-common_DATA = $(icons_32x32) $(sdl_joymaps)
+common_DATA = $(icons_32x32)
else
-common_DATA = $(icons_256x256) $(sdl_joymaps)
+common_DATA = $(icons_256x256)
endif
endif
if USE_SDL2UI
# 256x256 icons are fine for SDL 2.x for all OSes
-common_DATA = $(icons_256x256) $(sdl_joymaps)
+common_DATA = $(icons_256x256)
endif
if USE_GTK3UI
@@ -214,8 +193,7 @@
if INSTALL_DESKTOP_FILES
# We install icons via xdg-icon-resource, so don't install any icons directly
common_DATA = $(logo_files) \
- $(font_files) \
- $(gtk_joymaps)
+ $(font_files)
else
common_DATA = $(icons_32x32) \
$(icons_48x48) \
@@ -223,8 +201,7 @@
$(icons_256x256) \
$(icons_scalable) \
$(logo_files) \
- $(font_files) \
- $(gtk_joymaps)
+ $(font_files)
endif
endif
@@ -453,7 +430,7 @@
$(logo_files) \
$(font_files) \
$(desktop_files) \
- PetMe-FreeLicense.txt \
+ PetMe-FreeLicense.txt \
x64.rc \
x64sc.rc \
x64dtv.rc \
Deleted: trunk/vice/data/common/gtk3_joymap_ds3.vjm
===================================================================
--- trunk/vice/data/common/gtk3_joymap_ds3.vjm 2026-04-08 20:30:57 UTC (rev 46068)
+++ trunk/vice/data/common/gtk3_joymap_ds3.vjm 2026-04-08 22:25:53 UTC (rev 46069)
@@ -1,73 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
-# right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
-# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
-# axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flags keyboard (flags: 1=shift)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# [054c:0268] "PLAYSTATION(R)3 Controller" (6 axes, 17 buttons, 0 hats) Linux, GTK
-
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 4 0
-0 0 5 0
-
-0 0 3 6 1
-
-0 0 4 6 2
-
-0 0 10 0
-0 0 11 0
-
-0 1 0 1 16
-0 1 1 1 64
-0 1 2 1 128
-0 1 3 1 32
-0 1 4 1 256
-0 1 5 1 512
-0 1 6 0
-0 1 7 0
-0 1 8 1 1024
-0 1 9 1 2048
-0 1 10 5 pause-toggle
-0 1 11 0
-0 1 12 0
-0 1 13 1 1
-0 1 14 1 2
-0 1 15 1 4
-0 1 16 1 8
-
Deleted: trunk/vice/data/common/gtk3_joymap_ds3_DsHidMini.vjm
===================================================================
--- trunk/vice/data/common/gtk3_joymap_ds3_DsHidMini.vjm 2026-04-08 20:30:57 UTC (rev 46068)
+++ trunk/vice/data/common/gtk3_joymap_ds3_DsHidMini.vjm 2026-04-08 22:25:53 UTC (rev 46069)
@@ -1,79 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
-# right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
-# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
-# axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flags keyboard (flags: 1=shift)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# [7331:0001] "DS3 Compatible HID Device" (5 axes, 16 buttons, 1 hat) Windows 10, GTK
-# Driver - DsHidMini Driver v2.2.282
-# + (optional for bluetooth support) BthPS3 Bluetooth Drivers v2.17.0
-# Source - https://docs.nefarius.at/projects/DsHidMini/v2/How-to-Install/
-# Tested both USB and bluetooth OK
-
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 4 0
-0 0 5 0
-
-0 0 3 6 1
-
-0 0 4 6 2
-
-0 1 0 1 16
-0 1 1 1 64
-0 1 2 1 32
-0 1 3 1 128
-0 1 4 1 256
-0 1 5 1 512
-0 1 6 1 1024
-0 1 7 1 2048
-0 1 8 0
-0 1 9 0
-0 1 10 5 pause-toggle
-0 1 11 0
-0 1 12 0
-0 1 13 0
-0 1 14 0
-0 1 15 0
-
-0 2 0 1 1
-0 2 1 1 2
-0 2 2 1 4
-0 2 3 1 8
-
-
Deleted: trunk/vice/data/common/gtk3_joymap_ds3_Sony.vjm
===================================================================
--- trunk/vice/data/common/gtk3_joymap_ds3_Sony.vjm 2026-04-08 20:30:57 UTC (rev 46068)
+++ trunk/vice/data/common/gtk3_joymap_ds3_Sony.vjm 2026-04-08 22:25:53 UTC (rev 46069)
@@ -1,98 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
-# right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
-# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
-# axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flags keyboard (flags: 1=shift)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# [054c:0001] "PLAYSTATION(R)3 Controller" (8 axes, 24 buttons, 1 hat) Windows 10, GTK
-# Driver - Official Sony Driver. Note - only works wired with USB cable, no bluetooth
-# Source - https://wiki.rpcs3.net/index.php?title=Help:Controller_Configuration#Using_DualShock_3_controller
-# Device: "Wireless controller for PLAYSTATION(R)3"
-# Provider: Sony Computer Entertatinment Inc.
-# Date: 28/03/2013
-# Version 1.5.0.0
-
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 2 6 1
-
-0 0 6 0
-0 0 7 0
-
-0 0 8 0
-0 0 9 0
-
-0 0 5 6 2
-
-0 0 12 0
-0 0 13 0
-
-0 0 14 0
-0 0 15 0
-
-0 1 0 1 128
-0 1 1 1 64
-0 1 2 1 16
-0 1 3 1 32
-0 1 4 0
-0 1 5 0
-0 1 6 1 256
-0 1 7 1 512
-0 1 8 1 2048
-0 1 9 1 1024
-0 1 10 0
-0 1 11 0
-0 1 12 5 pause-toggle
-0 1 13 0
-0 1 14 0
-0 1 15 0
-0 1 16 0
-0 1 17 0
-0 1 18 0
-0 1 19 0
-0 1 20 0
-0 1 21 0
-0 1 22 0
-0 1 23 0
-
-0 2 0 1 1
-0 2 1 1 2
-0 2 2 1 4
-0 2 3 1 8
-
-
Deleted: trunk/vice/data/common/gtk3_joymap_ds3_scp_tools.vjm
===================================================================
--- trunk/vice/data/common/gtk3_joymap_ds3_scp_tools.vjm 2026-04-08 20:30:57 UTC (rev 46068)
+++ trunk/vice/data/common/gtk3_joymap_ds3_scp_tools.vjm 2026-04-08 22:25:53 UTC (rev 46069)
@@ -1,73 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
-# right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
-# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
-# axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flags keyboard (flags: 1=shift)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# This was made using the "SCP Tools" Driver
-# [045e:0001] "DS3 Compatible HID Device" (5 axes, 16 buttons, 1 hat) Windows 10, GTK
-
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 2 6 1
-
-0 0 3 6 1
-
-0 0 4 6 2
-
-0 1 0 1 16
-0 1 1 1 64
-0 1 2 1 32
-0 1 3 1 128
-0 1 4 1 256
-0 1 5 1 512
-0 1 6 1 1024
-0 1 7 1 2048
-0 1 8 0
-0 1 9 0
-0 1 10 5 pause-toggle
-0 1 11 0
-0 1 12 0
-0 1 13 0
-0 1 14 0
-0 1 15 0
-
-0 2 0 1 1
-0 2 1 1 2
-0 2 2 1 4
-0 2 3 1 8
Deleted: trunk/vice/data/common/gtk3_joymap_ds4.vjm
===================================================================
--- trunk/vice/data/common/gtk3_joymap_ds4.vjm 2026-04-08 20:30:57 UTC (rev 46068)
+++ trunk/vice/data/common/gtk3_joymap_ds4.vjm 2026-04-08 22:25:53 UTC (rev 46069)
@@ -1,75 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
-# right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
-# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
-# axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flags keyboard (flags: 1=shift)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# [054c:09cc] "Sony Interactive Entertainment Wireless Controller" (8 axes, 13 buttons, 0 hats) Linux, GTK
-
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 4 0
-0 0 5 0
-
-0 0 3 6 1
-
-0 0 4 6 2
-
-0 0 10 0
-0 0 11 0
-
-0 0 12 1 8
-0 0 13 1 4
-
-0 0 14 1 2
-0 0 15 1 1
-
-0 1 0 1 16
-0 1 1 1 64
-0 1 2 1 128
-0 1 3 1 32
-0 1 4 1 256
-0 1 5 1 512
-0 1 6 0
-0 1 7 0
-0 1 8 1 1024
-0 1 9 1 2048
-0 1 10 5 pause-toggle
-0 1 11 0
-0 1 12 0
-
Deleted: trunk/vice/data/common/gtk3_joymap_ds4_windows.vjm
===================================================================
--- trunk/vice/data/common/gtk3_joymap_ds4_windows.vjm 2026-04-08 20:30:57 UTC (rev 46068)
+++ trunk/vice/data/common/gtk3_joymap_ds4_windows.vjm 2026-04-08 22:25:53 UTC (rev 46069)
@@ -1,74 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
-# right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
-# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
-# axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flags keyboard (flags: 1=shift)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# [054c:0001] "Wireless Controller" (6 axes, 14 buttons, 1 hat) Windows 10, GTK
-
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 2 6 1
-
-0 0 6 0
-0 0 7 0
-
-0 0 8 0
-0 0 9 0
-
-0 0 5 6 2
-
-0 1 0 1 32
-0 1 1 1 16
-0 1 2 1 64
-0 1 3 1 128
-0 1 4 1 256
-0 1 5 1 512
-0 1 6 0
-0 1 7 0
-0 1 8 1 1024
-0 1 9 1 2048
-0 1 10 5 pause-toggle
-0 1 11 0
-0 1 12 0
-0 1 13 0
-
-0 2 0 1 1
-0 2 1 1 2
-0 2 2 1 4
-0 2 3 1 8
Deleted: trunk/vice/data/common/gtk3_joymap_ds5.vjm
===================================================================
--- trunk/vice/data/common/gtk3_joymap_ds5.vjm 2026-04-08 20:30:57 UTC (rev 46068)
+++ trunk/vice/data/common/gtk3_joymap_ds5.vjm 2026-04-08 22:25:53 UTC (rev 46069)
@@ -1,75 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
-# right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
-# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
-# axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flags keyboard (flags: 1=shift)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# [054c:0ce6] "Sony Interactive Entertainment DualSense Wireless Controller" (8 axes, 13 buttons, 0 hats) Linux, GTK
-
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 4 0
-0 0 5 0
-
-0 0 3 6 1
-
-0 0 4 6 2
-
-0 0 10 0
-0 0 11 0
-
-0 0 12 1 8
-0 0 13 1 4
-
-0 0 14 1 2
-0 0 15 1 1
-
-0 1 0 1 16
-0 1 1 1 64
-0 1 2 1 128
-0 1 3 1 32
-0 1 4 1 256
-0 1 5 1 512
-0 1 6 0
-0 1 7 0
-0 1 8 1 1024
-0 1 9 1 2048
-0 1 10 5 pause-toggle
-0 1 11 0
-0 1 12 0
-
Deleted: trunk/vice/data/common/gtk3_joymap_logitech_x3dpro_windows.vjm
===================================================================
--- trunk/vice/data/common/gtk3_joymap_logitech_x3dpro_windows.vjm 2026-04-08 20:30:57 UTC (rev 46068)
+++ trunk/vice/data/common/gtk3_joymap_logitech_x3dpro_windows.vjm 2026-04-08 22:25:53 UTC (rev 46069)
@@ -1,66 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
-# right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
-# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
-# axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flags keyboard (flags: 1=shift)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# [046d:0001] "Logitech Extreme 3D" (4 axes, 12 buttons, 1 hat) Windows 10, GTK
-# Driver - default Windows driver
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 2 6 2
-
-0 0 3 6 1
-
-0 1 0 1 16
-0 1 1 1 32
-0 1 2 1 64
-0 1 3 1 128
-0 1 4 1 256
-0 1 5 1 512
-0 1 6 1 1024
-0 1 7 1 2048
-0 1 8 0
-0 1 9 0
-0 1 10 0
-0 1 11 5 pause-toggle
-
-0 2 0 1 1
-0 2 1 1 2
-0 2 2 1 4
-0 2 3 1 8
Deleted: trunk/vice/data/common/gtk3_joymap_xbox_one_windows.vjm
===================================================================
--- trunk/vice/data/common/gtk3_joymap_xbox_one_windows.vjm 2026-04-08 20:30:57 UTC (rev 46068)
+++ trunk/vice/data/common/gtk3_joymap_xbox_one_windows.vjm 2026-04-08 22:25:53 UTC (rev 46069)
@@ -1,81 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
-# right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
-# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
-# axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flags keyboard (flags: 1=shift)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# [045e:0001] "Controller (Xbox One For Windows)" (5 axes, 16 buttons, 1 hat) Windows 10, GTK
-# [045e:0001] "Bluetooth LE XINPUT compatible input device" (5 axes, 16 buttons, 1 hat) Windows 10, GTK
-# Driver - default Windows driver
-# Tested successfully with:
-# - Wired Xbox one controller
-# - Wireless Xbox one controller used with a USB cable
-# - Wireless Xbox one controller (newer model) with bluetooth (appears as "Bluetooth LE XINPUT compatible input device" in GTK)
-# NOTE if the Xbox button (mapped to pause) doesn't register, update the controller firmware.
-# Untested - Older Xbox one wireless controllers (not bluetooth compatible) using Xbox wireless adapter
-
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 4 0
-0 0 5 0
-
-0 0 3 6 1
-
-0 0 4 6 2
-
-0 1 0 1 16
-0 1 1 1 64
-0 1 2 1 32
-0 1 3 1 128
-0 1 4 1 256
-0 1 5 1 512
-0 1 6 1 1024
-0 1 7 1 2048
-0 1 8 0
-0 1 9 0
-0 1 10 5 pause-toggle
-0 1 11 0
-0 1 12 0
-0 1 13 0
-0 1 14 0
-0 1 15 0
-
-0 2 0 1 1
-0 2 1 1 2
-0 2 2 1 4
-0 2 3 1 8
Deleted: trunk/vice/data/common/sdl_joymap_8bitdo_6b.vjm
===================================================================
--- trunk/vice/data/common/sdl_joymap_8bitdo_6b.vjm 2026-04-08 20:30:57 UTC (rev 46068)
+++ trunk/vice/data/common/sdl_joymap_8bitdo_6b.vjm 2026-04-08 22:25:53 UTC (rev 46069)
@@ -1,60 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col keyboard
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-# This file was taken from https://github.com/aminch/8-bit-pc-pi-compile/
-#
-# for use with the https://www.8bitdo.com "6b" controller
-
-!CLEAR
-
-# 6B controller
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 4 0
-0 0 5 0
-
-0 1 0 1 64
-0 1 1 1 16
-0 1 2 1 32
-0 1 3 0
-0 1 4 0
-0 1 5 1 1
-0 1 6 0
-0 1 7 0
-0 1 8 4
-0 1 9 0
-
-
Deleted: trunk/vice/data/common/sdl_joymap_ds3.vjm
===================================================================
--- trunk/vice/data/common/sdl_joymap_ds3.vjm 2026-04-08 20:30:57 UTC (rev 46068)
+++ trunk/vice/data/common/sdl_joymap_ds3.vjm 2026-04-08 22:25:53 UTC (rev 46069)
@@ -1,75 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
-# right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
-# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
-# axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flags keyboard (flags: 1=shift)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# [054c:0268] "PLAYSTATION(R)3 Controller" (6 axes, 17 buttons, 0 hats) Linux, SDL
-
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 4 0
-0 0 5 0
-
-0 0 3 6 1
-
-0 0 4 6 2
-
-0 0 10 0
-0 0 11 0
-
-0 1 0 1 16
-0 1 1 1 64
-0 1 2 1 128
-0 1 3 1 32
-0 1 4 1 256
-0 1 5 1 512
-0 1 6 0
-0 1 7 0
-0 1 8 1 1024
-0 1 9 1 2048
-0 1 10 5 pause-toggle
-0 1 11 0
-0 1 12 0
-0 1 13 1 1
-0 1 14 1 2
-0 1 15 1 4
-0 1 16 1 8
-
-
-
Deleted: trunk/vice/data/common/sdl_joymap_ds4.vjm
===================================================================
--- trunk/vice/data/common/sdl_joymap_ds4.vjm 2026-04-08 20:30:57 UTC (rev 46068)
+++ trunk/vice/data/common/sdl_joymap_ds4.vjm 2026-04-08 22:25:53 UTC (rev 46069)
@@ -1,73 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
-# right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
-# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
-# axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flags keyboard (flags: 1=shift)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# [054c:09cc] "Sony Interactive Entertainment Wireless Controller" (6 axes, 13 buttons, 1 hat) Linux, SDL
-
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 4 0
-0 0 5 0
-
-0 0 3 6 1
-
-0 0 4 6 2
-
-0 0 10 0
-0 0 11 0
-
-0 1 0 1 16
-0 1 1 1 64
-0 1 2 1 128
-0 1 3 1 32
-0 1 4 1 256
-0 1 5 1 512
-0 1 6 0
-0 1 7 0
-0 1 8 1 1024
-0 1 9 1 2048
-0 1 10 5 pause-toggle
-0 1 11 0
-0 1 12 0
-
-0 2 0 1 1
-0 2 1 1 2
-0 2 2 1 4
-0 2 3 1 8
Deleted: trunk/vice/data/common/sdl_joymap_ds4_windows.vjm
===================================================================
--- trunk/vice/data/common/sdl_joymap_ds4_windows.vjm 2026-04-08 20:30:57 UTC (rev 46068)
+++ trunk/vice/data/common/sdl_joymap_ds4_windows.vjm 2026-04-08 22:25:53 UTC (rev 46069)
@@ -1,65 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
-# right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
-# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
-# axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flags keyboard (flags: 1=shift)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# [054c:09cc] "PS4 Controller" (6 axes, 16 buttons, 0 hats) Windows 10, SDL
-
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 2 6 1
-0 0 3 6 2
-
-0 1 0 1 16
-0 1 1 1 64
-0 1 2 1 32
-0 1 3 1 128
-0 1 4 1 1024
-0 1 5 0
-0 1 6 1 2048
-0 1 7 0
-0 1 8 0
-0 1 9 1 256
-0 1 10 1 512
-0 1 11 1 1
-0 1 12 1 2
-0 1 13 1 4
-0 1 14 1 8
-0 1 15 0
-
Deleted: trunk/vice/data/common/sdl_joymap_ds5.vjm
===================================================================
--- trunk/vice/data/common/sdl_joymap_ds5.vjm 2026-04-08 20:30:57 UTC (rev 46068)
+++ trunk/vice/data/common/sdl_joymap_ds5.vjm 2026-04-08 22:25:53 UTC (rev 46069)
@@ -1,73 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
-# right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
-# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
-# axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flags keyboard (flags: 1=shift)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# [054c:0ce6] "Sony Interactive Entertainment DualSense Wireless Controller" (6 axes, 13 buttons, 1 hat) Linux, SDL
-
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 4 0
-0 0 5 0
-
-0 0 3 6 1
-
-0 0 4 6 2
-
-0 0 10 0
-0 0 11 0
-
-0 1 0 1 16
-0 1 1 1 64
-0 1 2 1 128
-0 1 3 1 32
-0 1 4 1 256
-0 1 5 1 512
-0 1 6 0
-0 1 7 0
-0 1 8 1 1024
-0 1 9 1 2048
-0 1 10 5 pause-toggle
-0 1 11 0
-0 1 12 0
-
-0 2 0 1 1
-0 2 1 1 2
-0 2 2 1 4
-0 2 3 1 8
Deleted: trunk/vice/data/common/sdl_joymap_keyrah_v3.vjm
===================================================================
--- trunk/vice/data/common/sdl_joymap_keyrah_v3.vjm 2026-04-08 20:30:57 UTC (rev 46068)
+++ trunk/vice/data/common/sdl_joymap_keyrah_v3.vjm 2026-04-08 22:25:53 UTC (rev 46069)
@@ -1,49 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col keyboard
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# Joystick
-0 0 0 1 8
-0 0 1 1 4
-0 0 2 1 2
-0 0 3 1 1
-
-# paddles
-0 0 2 6 1
-0 0 3 6 2
-
-# buttons
-0 1 0 1 16
-0 1 1 1 32
-0 1 2 1 64
-
Deleted: trunk/vice/data/common/sdl_joymap_thec64.vjm
===================================================================
--- trunk/vice/data/common/sdl_joymap_thec64.vjm 2026-04-08 20:30:57 UTC (rev 46068)
+++ trunk/vice/data/common/sdl_joymap_thec64.vjm 2026-04-08 22:25:53 UTC (rev 46069)
@@ -1,49 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flgs keyboard (flags: 1 = shifted)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# THEC64 Joystick
-0 0 0 1 8
-0 0 1 1 4
-0 0 2 1 2
-0 0 3 1 1
-
-0 1 0 1 16
-0 1 1 1 16
-0 1 2 1 32
-0 1 3 1 64
-0 1 4 5 virtual-keyboard
-0 1 5 5 show-statusbar-toggle
-0 1 6 5 pause-toggle
-0 1 7 4
-
Deleted: trunk/vice/data/common/sdl_joymap_xbox360.vjm
===================================================================
--- trunk/vice/data/common/sdl_joymap_xbox360.vjm 2026-04-08 20:30:57 UTC (rev 46068)
+++ trunk/vice/data/common/sdl_joymap_xbox360.vjm 2026-04-08 22:25:53 UTC (rev 46069)
@@ -1,63 +0,0 @@
-# Controller (Cyborg Rumble Pad - PC/Xbox 360)
-
-# Left analog stick - right
-0 0 0 1 8
-# Left analog stick - left
-0 0 1 1 4
-
-# Left analog stick - down
-0 0 2 1 2
-# Left analog stick - up
-0 0 3 1 1
-
-# Right analog stick - right
-0 0 4 0
-# Right analog stick - left
-0 0 5 0
-
-# Right analog stick - down
-0 0 6 0
-# Right analog stick - up
-0 0 7 0
-
-# Left analog trigger - pressed
-0 0 8 0
-# Left analog trigger - released
-0 0 9 0
-
-# Right analog trigger - pressed
-0 0 10 0
-# Right analog trigger - released
-0 0 11 0
-
-# A
-0 1 0 1 16
-# B
-0 1 1 1 32
-# X
-0 1 2 1 64
-# Y
-0 1 3 0
-# LB
-0 1 4 0
-# RB
-0 1 5 0
-# Back
-0 1 6 0
-# Start
-0 1 7 0
-# LSB
-0 1 8 0
-# RSB
-0 1 9 0
-# Guide
-0 1 10 0
-
-# DPAD up
-0 2 0 1 1
-# DPAD down
-0 2 1 1 2
-# DPAD left
-0 2 2 1 4
-# DPAD right
-0 2 3 1 8
Deleted: trunk/vice/data/common/sdl_joymap_xbox_one_windows.vjm
===================================================================
--- trunk/vice/data/common/sdl_joymap_xbox_one_windows.vjm 2026-04-08 20:30:57 UTC (rev 46068)
+++ trunk/vice/data/common/sdl_joymap_xbox_one_windows.vjm 2026-04-08 22:25:53 UTC (rev 46069)
@@ -1,78 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
-# right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
-# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
-# axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flags keyboard (flags: 1=shift)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# [045e:02ff] "Xbox One Controller" (6 axes, 16 buttons, 1 hat) Windows 10, SDL
-# [045e:0b20] "Xbox One S Controller" (6 axes, 16 buttons, 1 hat) Windows 10, SDL
-# Driver - default Windows driver
-# Tested successfully with:
-# - Wired Xbox one controller
-# - Wireless Xbox one controller used with a USB cable
-# - Wireless Xbox one controller (newer model) with bluetooth (appears as "Xbox One S Controller" in SDL)
-# NOTE if the Xbox button (mapped to pause) doesn't register, update the controller firmware.
-# Untested - Older Xbox one wireless controllers (not bluetooth compatible) using Xbox wireless adapter
-
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 2 6 1
-
-0 0 3 6 2
-
-0 1 0 1 16
-0 1 1 1 64
-0 1 2 1 32
-0 1 3 1 128
-0 1 4 1 256
-0 1 5 1 512
-0 1 6 1 1024
-0 1 7 1 2048
-0 1 8 0
-0 1 9 0
-0 1 10 5 pause-toggle
-0 1 11 0
-0 1 12 0
-0 1 13 0
-0 1 14 0
-0 1 15 0
-
-0 2 0 1 1
-0 2 1 1 2
-0 2 2 1 4
-0 2 3 1 8
Copied: trunk/vice/data/joymaps/gtk3_joymap_ds3.vjm (from rev 46068, trunk/vice/data/common/gtk3_joymap_ds3.vjm)
===================================================================
--- trunk/vice/data/joymaps/gtk3_joymap_ds3.vjm (rev 0)
+++ trunk/vice/data/joymaps/gtk3_joymap_ds3.vjm 2026-04-08 22:25:53 UTC (rev 46069)
@@ -0,0 +1,73 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [054c:0268] "PLAYSTATION(R)3 Controller" (6 axes, 17 buttons, 0 hats) Linux, GTK
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 4 0
+0 0 5 0
+
+0 0 3 6 1
+
+0 0 4 6 2
+
+0 0 10 0
+0 0 11 0
+
+0 1 0 1 16
+0 1 1 1 64
+0 1 2 1 128
+0 1 3 1 32
+0 1 4 1 256
+0 1 5 1 512
+0 1 6 0
+0 1 7 0
+0 1 8 1 1024
+0 1 9 1 2048
+0 1 10 5 pause-toggle
+0 1 11 0
+0 1 12 0
+0 1 13 1 1
+0 1 14 1 2
+0 1 15 1 4
+0 1 16 1 8
+
Copied: trunk/vice/data/joymaps/gtk3_joymap_ds3_DsHidMini.vjm (from rev 46068, trunk/vice/data/common/gtk3_joymap_ds3_DsHidMini.vjm)
===================================================================
--- trunk/vice/data/joymaps/gtk3_joymap_ds3_DsHidMini.vjm (rev 0)
+++ trunk/vice/data/joymaps/gtk3_joymap_ds3_DsHidMini.vjm 2026-04-08 22:25:53 UTC (rev 46069)
@@ -0,0 +1,79 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [7331:0001] "DS3 Compatible HID Device" (5 axes, 16 buttons, 1 hat) Windows 10, GTK
+# Driver - DsHidMini Driver v2.2.282
+# + (optional for bluetooth support) BthPS3 Bluetooth Drivers v2.17.0
+# Source - https://docs.nefarius.at/projects/DsHidMini/v2/How-to-Install/
+# Tested both USB and bluetooth OK
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 4 0
+0 0 5 0
+
+0 0 3 6 1
+
+0 0 4 6 2
+
+0 1 0 1 16
+0 1 1 1 64
+0 1 2 1 32
+0 1 3 1 128
+0 1 4 1 256
+0 1 5 1 512
+0 1 6 1 1024
+0 1 7 1 2048
+0 1 8 0
+0 1 9 0
+0 1 10 5 pause-toggle
+0 1 11 0
+0 1 12 0
+0 1 13 0
+0 1 14 0
+0 1 15 0
+
+0 2 0 1 1
+0 2 1 1 2
+0 2 2 1 4
+0 2 3 1 8
+
+
Copied: trunk/vice/data/joymaps/gtk3_joymap_ds3_Sony.vjm (from rev 46068, trunk/vice/data/common/gtk3_joymap_ds3_Sony.vjm)
===================================================================
--- trunk/vice/data/joymaps/gtk3_joymap_ds3_Sony.vjm (rev 0)
+++ trunk/vice/data/joymaps/gtk3_joymap_ds3_Sony.vjm 2026-04-08 22:25:53 UTC (rev 46069)
@@ -0,0 +1,98 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [054c:0001] "PLAYSTATION(R)3 Controller" (8 axes, 24 buttons, 1 hat) Windows 10, GTK
+# Driver - Official Sony Driver. Note - only works wired with USB cable, no bluetooth
+# Source - https://wiki.rpcs3.net/index.php?title=Help:Controller_Configuration#Using_DualShock_3_controller
+# Device: "Wireless controller for PLAYSTATION(R)3"
+# Provider: Sony Computer Entertatinment Inc.
+# Date: 28/03/2013
+# Version 1.5.0.0
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 2 6 1
+
+0 0 6 0
+0 0 7 0
+
+0 0 8 0
+0 0 9 0
+
+0 0 5 6 2
+
+0 0 12 0
+0 0 13 0
+
+0 0 14 0
+0 0 15 0
+
+0 1 0 1 128
+0 1 1 1 64
+0 1 2 1 16
+0 1 3 1 32
+0 1 4 0
+0 1 5 0
+0 1 6 1 256
+0 1 7 1 512
+0 1 8 1 2048
+0 1 9 1 1024
+0 1 10 0
+0 1 11 0
+0 1 12 5 pause-toggle
+0 1 13 0
+0 1 14 0
+0 1 15 0
+0 1 16 0
+0 1 17 0
+0 1 18 0
+0 1 19 0
+0 1 20 0
+0 1 21 0
+0 1 22 0
+0 1 23 0
+
+0 2 0 1 1
+0 2 1 1 2
+0 2 2 1 4
+0 2 3 1 8
+
+
Copied: trunk/vice/data/joymaps/gtk3_joymap_ds3_scp_tools.vjm (from rev 46068, trunk/vice/data/common/gtk3_joymap_ds3_scp_tools.vjm)
===================================================================
--- trunk/vice/data/joymaps/gtk3_joymap_ds3_scp_tools.vjm (rev 0)
+++ trunk/vice/data/joymaps/gtk3_joymap_ds3_scp_tools.vjm 2026-04-08 22:25:53 UTC (rev 46069)
@@ -0,0 +1,73 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# This was made using the "SCP Tools" Driver
+# [045e:0001] "DS3 Compatible HID Device" (5 axes, 16 buttons, 1 hat) Windows 10, GTK
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 2 6 1
+
+0 0 3 6 1
+
+0 0 4 6 2
+
+0 1 0 1 16
+0 1 1 1 64
+0 1 2 1 32
+0 1 3 1 128
+0 1 4 1 256
+0 1 5 1 512
+0 1 6 1 1024
+0 1 7 1 2048
+0 1 8 0
+0 1 9 0
+0 1 10 5 pause-toggle
+0 1 11 0
+0 1 12 0
+0 1 13 0
+0 1 14 0
+0 1 15 0
+
+0 2 0 1 1
+0 2 1 1 2
+0 2 2 1 4
+0 2 3 1 8
Copied: trunk/vice/data/joymaps/gtk3_joymap_ds4.vjm (from rev 46068, trunk/vice/data/common/gtk3_joymap_ds4.vjm)
===================================================================
--- trunk/vice/data/joymaps/gtk3_joymap_ds4.vjm (rev 0)
+++ trunk/vice/data/joymaps/gtk3_joymap_ds4.vjm 2026-04-08 22:25:53 UTC (rev 46069)
@@ -0,0 +1,75 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [054c:09cc] "Sony Interactive Entertainment Wireless Controller" (8 axes, 13 buttons, 0 hats) Linux, GTK
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 4 0
+0 0 5 0
+
+0 0 3 6 1
+
+0 0 4 6 2
+
+0 0 10 0
+0 0 11 0
+
+0 0 12 1 8
+0 0 13 1 4
+
+0 0 14 1 2
+0 0 15 1 1
+
+0 1 0 1 16
+0 1 1 1 64
+0 1 2 1 128
+0 1 3 1 32
+0 1 4 1 256
+0 1 5 1 512
+0 1 6 0
+0 1 7 0
+0 1 8 1 1024
+0 1 9 1 2048
+0 1 10 5 pause-toggle
+0 1 11 0
+0 1 12 0
+
Copied: trunk/vice/data/joymaps/gtk3_joymap_ds4_windows.vjm (from rev 46068, trunk/vice/data/common/gtk3_joymap_ds4_windows.vjm)
===================================================================
--- trunk/vice/data/joymaps/gtk3_joymap_ds4_windows.vjm (rev 0)
+++ trunk/vice/data/joymaps/gtk3_joymap_ds4_windows.vjm 2026-04-08 22:25:53 UTC (rev 46069)
@@ -0,0 +1,74 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [054c:0001] "Wireless Controller" (6 axes, 14 buttons, 1 hat) Windows 10, GTK
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 2 6 1
+
+0 0 6 0
+0 0 7 0
+
+0 0 8 0
+0 0 9 0
+
+0 0 5 6 2
+
+0 1 0 1 32
+0 1 1 1 16
+0 1 2 1 64
+0 1 3 1 128
+0 1 4 1 256
+0 1 5 1 512
+0 1 6 0
+0 1 7 0
+0 1 8 1 1024
+0 1 9 1 2048
+0 1 10 5 pause-toggle
+0 1 11 0
+0 1 12 0
+0 1 13 0
+
+0 2 0 1 1
+0 2 1 1 2
+0 2 2 1 4
+0 2 3 1 8
Copied: trunk/vice/data/joymaps/gtk3_joymap_ds5.vjm (from rev 46068, trunk/vice/data/common/gtk3_joymap_ds5.vjm)
===================================================================
--- trunk/vice/data/joymaps/gtk3_joymap_ds5.vjm (rev 0)
+++ trunk/vice/data/joymaps/gtk3_joymap_ds5.vjm 2026-04-08 22:25:53 UTC (rev 46069)
@@ -0,0 +1,75 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [054c:0ce6] "Sony Interactive Entertainment DualSense Wireless Controller" (8 axes, 13 buttons, 0 hats) Linux, GTK
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 4 0
+0 0 5 0
+
+0 0 3 6 1
+
+0 0 4 6 2
+
+0 0 10 0
+0 0 11 0
+
+0 0 12 1 8
+0 0 13 1 4
+
+0 0 14 1 2
+0 0 15 1 1
+
+0 1 0 1 16
+0 1 1 1 64
+0 1 2 1 128
+0 1 3 1 32
+0 1 4 1 256
+0 1 5 1 512
+0 1 6 0
+0 1 7 0
+0 1 8 1 1024
+0 1 9 1 2048
+0 1 10 5 pause-toggle
+0 1 11 0
+0 1 12 0
+
Copied: trunk/vice/data/joymaps/gtk3_joymap_logitech_x3dpro_windows.vjm (from rev 46068, trunk/vice/data/common/gtk3_joymap_logitech_x3dpro_windows.vjm)
===================================================================
--- trunk/vice/data/joymaps/gtk3_joymap_logitech_x3dpro_windows.vjm (rev 0)
+++ trunk/vice/data/joymaps/gtk3_joymap_logitech_x3dpro_windows.vjm 2026-04-08 22:25:53 UTC (rev 46069)
@@ -0,0 +1,66 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [046d:0001] "Logitech Extreme 3D" (4 axes, 12 buttons, 1 hat) Windows 10, GTK
+# Driver - default Windows driver
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 2 6 2
+
+0 0 3 6 1
+
+0 1 0 1 16
+0 1 1 1 32
+0 1 2 1 64
+0 1 3 1 128
+0 1 4 1 256
+0 1 5 1 512
+0 1 6 1 1024
+0 1 7 1 2048
+0 1 8 0
+0 1 9 0
+0 1 10 0
+0 1 11 5 pause-toggle
+
+0 2 0 1 1
+0 2 1 1 2
+0 2 2 1 4
+0 2 3 1 8
Copied: trunk/vice/data/joymaps/gtk3_joymap_xbox_one_windows.vjm (from rev 46068, trunk/vice/data/common/gtk3_joymap_xbox_one_windows.vjm)
===================================================================
--- trunk/vice/data/joymaps/gtk3_joymap_xbox_one_windows.vjm (rev 0)
+++ trunk/vice/data/joymaps/gtk3_joymap_xbox_one_windows.vjm 2026-04-08 22:25:53 UTC (rev 46069)
@@ -0,0 +1,81 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [045e:0001] "Controller (Xbox One For Windows)" (5 axes, 16 buttons, 1 hat) Windows 10, GTK
+# [045e:0001] "Bluetooth LE XINPUT compatible input device" (5 axes, 16 buttons, 1 hat) Windows 10, GTK
+# Driver - default Windows driver
+# Tested successfully with:
+# - Wired Xbox one controller
+# - Wireless Xbox one controller used with a USB cable
+# - Wireless Xbox one controller (newer model) with bluetooth (appears as "Bluetooth LE XINPUT compatible input device" in GTK)
+# NOTE if the Xbox button (mapped to pause) doesn't register, update the controller firmware.
+# Untested - Older Xbox one wireless controllers (not bluetooth compatible) using Xbox wireless adapter
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 4 0
+0 0 5 0
+
+0 0 3 6 1
+
+0 0 4 6 2
+
+0 1 0 1 16
+0 1 1 1 64
+0 1 2 1 32
+0 1 3 1 128
+0 1 4 1 256
+0 1 5 1 512
+0 1 6 1 1024
+0 1 7 1 2048
+0 1 8 0
+0 1 9 0
+0 1 10 5 pause-toggle
+0 1 11 0
+0 1 12 0
+0 1 13 0
+0 1 14 0
+0 1 15 0
+
+0 2 0 1 1
+0 2 1 1 2
+0 2 2 1 4
+0 2 3 1 8
Copied: trunk/vice/data/joymaps/sdl_joymap_8bitdo_6b.vjm (from rev 46068, trunk/vice/data/common/sdl_joymap_8bitdo_6b.vjm)
===================================================================
--- trunk/vice/data/joymaps/sdl_joymap_8bitdo_6b.vjm (rev 0)
+++ trunk/vice/data/joymaps/sdl_joymap_8bitdo_6b.vjm 2026-04-08 22:25:53 UTC (rev 46069)
@@ -0,0 +1,60 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col keyboard
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+# This file was taken from https://github.com/aminch/8-bit-pc-pi-compile/
+#
+# for use with the https://www.8bitdo.com "6b" controller
+
+!CLEAR
+
+# 6B controller
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 4 0
+0 0 5 0
+
+0 1 0 1 64
+0 1 1 1 16
+0 1 2 1 32
+0 1 3 0
+0 1 4 0
+0 1 5 1 1
+0 1 6 0
+0 1 7 0
+0 1 8 4
+0 1 9 0
+
+
Copied: trunk/vice/data/joymaps/sdl_joymap_ds3.vjm (from rev 46068, trunk/vice/data/common/sdl_joymap_ds3.vjm)
===================================================================
--- trunk/vice/data/joymaps/sdl_joymap_ds3.vjm (rev 0)
+++ trunk/vice/data/joymaps/sdl_joymap_ds3.vjm 2026-04-08 22:25:53 UTC (rev 46069)
@@ -0,0 +1,75 @@
+# VICE joystick mapping file
+#
+# A joyst...
[truncated message content] |
|
From: <gp...@us...> - 2026-04-08 20:31:00
|
Revision: 46068
http://sourceforge.net/p/vice-emu/code/46068
Author: gpz
Date: 2026-04-08 20:30:57 +0000 (Wed, 08 Apr 2026)
Log Message:
-----------
its not apt upgrade, enable it again. sigh
Modified Paths:
--------------
trunk/.github/workflows/build-main-on-push.yml
trunk/.github/workflows/make-release.yml
Modified: trunk/.github/workflows/build-main-on-push.yml
===================================================================
--- trunk/.github/workflows/build-main-on-push.yml 2026-04-08 20:07:43 UTC (rev 46067)
+++ trunk/.github/workflows/build-main-on-push.yml 2026-04-08 20:30:57 UTC (rev 46068)
@@ -463,7 +463,7 @@
texlive-latex-extra \
xa65
sudo apt install -y ${{ matrix.ui.deps }}
- # sudo apt upgrade -y
+ sudo apt upgrade -y
- name: Build
shell: bash
Modified: trunk/.github/workflows/make-release.yml
===================================================================
--- trunk/.github/workflows/make-release.yml 2026-04-08 20:07:43 UTC (rev 46067)
+++ trunk/.github/workflows/make-release.yml 2026-04-08 20:30:57 UTC (rev 46068)
@@ -421,7 +421,7 @@
texlive-latex-extra \
xa65
sudo apt install -y ${{ matrix.ui.deps }}
- # sudo apt upgrade -y
+ sudo apt upgrade -y
- name: Build
shell: bash
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2026-04-08 20:07:45
|
Revision: 46067
http://sourceforge.net/p/vice-emu/code/46067
Author: gpz
Date: 2026-04-08 20:07:43 +0000 (Wed, 08 Apr 2026)
Log Message:
-----------
apt upgrade seems to run into some kind of limit, disable it
Modified Paths:
--------------
trunk/.github/workflows/build-main-on-push.yml
trunk/.github/workflows/make-release.yml
Modified: trunk/.github/workflows/build-main-on-push.yml
===================================================================
--- trunk/.github/workflows/build-main-on-push.yml 2026-04-08 19:26:43 UTC (rev 46066)
+++ trunk/.github/workflows/build-main-on-push.yml 2026-04-08 20:07:43 UTC (rev 46067)
@@ -463,7 +463,7 @@
texlive-latex-extra \
xa65
sudo apt install -y ${{ matrix.ui.deps }}
- sudo apt upgrade -y
+ # sudo apt upgrade -y
- name: Build
shell: bash
Modified: trunk/.github/workflows/make-release.yml
===================================================================
--- trunk/.github/workflows/make-release.yml 2026-04-08 19:26:43 UTC (rev 46066)
+++ trunk/.github/workflows/make-release.yml 2026-04-08 20:07:43 UTC (rev 46067)
@@ -421,7 +421,7 @@
texlive-latex-extra \
xa65
sudo apt install -y ${{ matrix.ui.deps }}
- sudo apt upgrade -y
+ # sudo apt upgrade -y
- name: Build
shell: bash
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2026-04-08 19:26:45
|
Revision: 46066
http://sourceforge.net/p/vice-emu/code/46066
Author: gpz
Date: 2026-04-08 19:26:43 +0000 (Wed, 08 Apr 2026)
Log Message:
-----------
rename gtk_ to gtk3_, fix makefile, fix docs
Modified Paths:
--------------
trunk/vice/data/common/Makefile.am
trunk/vice/doc/vice.texi
Added Paths:
-----------
trunk/vice/data/common/gtk3_joymap_ds3.vjm
trunk/vice/data/common/gtk3_joymap_ds3_DsHidMini.vjm
trunk/vice/data/common/gtk3_joymap_ds3_Sony.vjm
trunk/vice/data/common/gtk3_joymap_ds3_scp_tools.vjm
trunk/vice/data/common/gtk3_joymap_ds4.vjm
trunk/vice/data/common/gtk3_joymap_ds4_windows.vjm
trunk/vice/data/common/gtk3_joymap_ds5.vjm
trunk/vice/data/common/gtk3_joymap_logitech_x3dpro_windows.vjm
trunk/vice/data/common/gtk3_joymap_xbox_one_windows.vjm
Removed Paths:
-------------
trunk/vice/data/common/gtk_joymap_ds3.vjm
trunk/vice/data/common/gtk_joymap_ds3_DsHidMini.vjm
trunk/vice/data/common/gtk_joymap_ds3_Sony.vjm
trunk/vice/data/common/gtk_joymap_ds3_scp_tools.vjm
trunk/vice/data/common/gtk_joymap_ds4.vjm
trunk/vice/data/common/gtk_joymap_ds4_windows.vjm
trunk/vice/data/common/gtk_joymap_ds5.vjm
trunk/vice/data/common/gtk_joymap_logitech_x3dpro_windows.vjm
trunk/vice/data/common/gtk_joymap_xbox_one_windows.vjm
Modified: trunk/vice/data/common/Makefile.am
===================================================================
--- trunk/vice/data/common/Makefile.am 2026-04-08 18:37:46 UTC (rev 46065)
+++ trunk/vice/data/common/Makefile.am 2026-04-08 19:26:43 UTC (rev 46066)
@@ -183,17 +183,17 @@
sdl_joymap_keyrah_v3.vjm \
sdl_joymap_thec64.vjm \
sdl_joymap_xbox360.vjm \
- sdl_joymap_xbox_one_windows.vjm \
+ sdl_joymap_xbox_one_windows.vjm
-gtk_joymaps = gtk_joymap_ds3_DsHidMini.vjm \
- gtk_joymap_ds3_scp_tools.vjm \
- gtk_joymap_ds3_Sony.vjm \
- gtk_joymap_ds3.vjm \
- gtk_joymap_ds4.vjm \
- gtk_joymap_ds4_windows.vjm \
- gtk_joymap_ds5.vjm \
- gtk_joymap_logitech_x3dpro_windows.vjm \
- gtk_joymap_xbox_one_windows.vjm
+gtk_joymaps = gtk3_joymap_ds3_DsHidMini.vjm \
+ gtk3_joymap_ds3_scp_tools.vjm \
+ gtk3_joymap_ds3_Sony.vjm \
+ gtk3_joymap_ds3.vjm \
+ gtk3_joymap_ds4.vjm \
+ gtk3_joymap_ds4_windows.vjm \
+ gtk3_joymap_ds5.vjm \
+ gtk3_joymap_logitech_x3dpro_windows.vjm \
+ gtk3_joymap_xbox_one_windows.vjm
if USE_SDLUI
Added: trunk/vice/data/common/gtk3_joymap_ds3.vjm
===================================================================
--- trunk/vice/data/common/gtk3_joymap_ds3.vjm (rev 0)
+++ trunk/vice/data/common/gtk3_joymap_ds3.vjm 2026-04-08 19:26:43 UTC (rev 46066)
@@ -0,0 +1,73 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [054c:0268] "PLAYSTATION(R)3 Controller" (6 axes, 17 buttons, 0 hats) Linux, GTK
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 4 0
+0 0 5 0
+
+0 0 3 6 1
+
+0 0 4 6 2
+
+0 0 10 0
+0 0 11 0
+
+0 1 0 1 16
+0 1 1 1 64
+0 1 2 1 128
+0 1 3 1 32
+0 1 4 1 256
+0 1 5 1 512
+0 1 6 0
+0 1 7 0
+0 1 8 1 1024
+0 1 9 1 2048
+0 1 10 5 pause-toggle
+0 1 11 0
+0 1 12 0
+0 1 13 1 1
+0 1 14 1 2
+0 1 15 1 4
+0 1 16 1 8
+
Added: trunk/vice/data/common/gtk3_joymap_ds3_DsHidMini.vjm
===================================================================
--- trunk/vice/data/common/gtk3_joymap_ds3_DsHidMini.vjm (rev 0)
+++ trunk/vice/data/common/gtk3_joymap_ds3_DsHidMini.vjm 2026-04-08 19:26:43 UTC (rev 46066)
@@ -0,0 +1,79 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [7331:0001] "DS3 Compatible HID Device" (5 axes, 16 buttons, 1 hat) Windows 10, GTK
+# Driver - DsHidMini Driver v2.2.282
+# + (optional for bluetooth support) BthPS3 Bluetooth Drivers v2.17.0
+# Source - https://docs.nefarius.at/projects/DsHidMini/v2/How-to-Install/
+# Tested both USB and bluetooth OK
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 4 0
+0 0 5 0
+
+0 0 3 6 1
+
+0 0 4 6 2
+
+0 1 0 1 16
+0 1 1 1 64
+0 1 2 1 32
+0 1 3 1 128
+0 1 4 1 256
+0 1 5 1 512
+0 1 6 1 1024
+0 1 7 1 2048
+0 1 8 0
+0 1 9 0
+0 1 10 5 pause-toggle
+0 1 11 0
+0 1 12 0
+0 1 13 0
+0 1 14 0
+0 1 15 0
+
+0 2 0 1 1
+0 2 1 1 2
+0 2 2 1 4
+0 2 3 1 8
+
+
Added: trunk/vice/data/common/gtk3_joymap_ds3_Sony.vjm
===================================================================
--- trunk/vice/data/common/gtk3_joymap_ds3_Sony.vjm (rev 0)
+++ trunk/vice/data/common/gtk3_joymap_ds3_Sony.vjm 2026-04-08 19:26:43 UTC (rev 46066)
@@ -0,0 +1,98 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [054c:0001] "PLAYSTATION(R)3 Controller" (8 axes, 24 buttons, 1 hat) Windows 10, GTK
+# Driver - Official Sony Driver. Note - only works wired with USB cable, no bluetooth
+# Source - https://wiki.rpcs3.net/index.php?title=Help:Controller_Configuration#Using_DualShock_3_controller
+# Device: "Wireless controller for PLAYSTATION(R)3"
+# Provider: Sony Computer Entertatinment Inc.
+# Date: 28/03/2013
+# Version 1.5.0.0
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 2 6 1
+
+0 0 6 0
+0 0 7 0
+
+0 0 8 0
+0 0 9 0
+
+0 0 5 6 2
+
+0 0 12 0
+0 0 13 0
+
+0 0 14 0
+0 0 15 0
+
+0 1 0 1 128
+0 1 1 1 64
+0 1 2 1 16
+0 1 3 1 32
+0 1 4 0
+0 1 5 0
+0 1 6 1 256
+0 1 7 1 512
+0 1 8 1 2048
+0 1 9 1 1024
+0 1 10 0
+0 1 11 0
+0 1 12 5 pause-toggle
+0 1 13 0
+0 1 14 0
+0 1 15 0
+0 1 16 0
+0 1 17 0
+0 1 18 0
+0 1 19 0
+0 1 20 0
+0 1 21 0
+0 1 22 0
+0 1 23 0
+
+0 2 0 1 1
+0 2 1 1 2
+0 2 2 1 4
+0 2 3 1 8
+
+
Added: trunk/vice/data/common/gtk3_joymap_ds3_scp_tools.vjm
===================================================================
--- trunk/vice/data/common/gtk3_joymap_ds3_scp_tools.vjm (rev 0)
+++ trunk/vice/data/common/gtk3_joymap_ds3_scp_tools.vjm 2026-04-08 19:26:43 UTC (rev 46066)
@@ -0,0 +1,73 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# This was made using the "SCP Tools" Driver
+# [045e:0001] "DS3 Compatible HID Device" (5 axes, 16 buttons, 1 hat) Windows 10, GTK
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 2 6 1
+
+0 0 3 6 1
+
+0 0 4 6 2
+
+0 1 0 1 16
+0 1 1 1 64
+0 1 2 1 32
+0 1 3 1 128
+0 1 4 1 256
+0 1 5 1 512
+0 1 6 1 1024
+0 1 7 1 2048
+0 1 8 0
+0 1 9 0
+0 1 10 5 pause-toggle
+0 1 11 0
+0 1 12 0
+0 1 13 0
+0 1 14 0
+0 1 15 0
+
+0 2 0 1 1
+0 2 1 1 2
+0 2 2 1 4
+0 2 3 1 8
Added: trunk/vice/data/common/gtk3_joymap_ds4.vjm
===================================================================
--- trunk/vice/data/common/gtk3_joymap_ds4.vjm (rev 0)
+++ trunk/vice/data/common/gtk3_joymap_ds4.vjm 2026-04-08 19:26:43 UTC (rev 46066)
@@ -0,0 +1,75 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [054c:09cc] "Sony Interactive Entertainment Wireless Controller" (8 axes, 13 buttons, 0 hats) Linux, GTK
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 4 0
+0 0 5 0
+
+0 0 3 6 1
+
+0 0 4 6 2
+
+0 0 10 0
+0 0 11 0
+
+0 0 12 1 8
+0 0 13 1 4
+
+0 0 14 1 2
+0 0 15 1 1
+
+0 1 0 1 16
+0 1 1 1 64
+0 1 2 1 128
+0 1 3 1 32
+0 1 4 1 256
+0 1 5 1 512
+0 1 6 0
+0 1 7 0
+0 1 8 1 1024
+0 1 9 1 2048
+0 1 10 5 pause-toggle
+0 1 11 0
+0 1 12 0
+
Added: trunk/vice/data/common/gtk3_joymap_ds4_windows.vjm
===================================================================
--- trunk/vice/data/common/gtk3_joymap_ds4_windows.vjm (rev 0)
+++ trunk/vice/data/common/gtk3_joymap_ds4_windows.vjm 2026-04-08 19:26:43 UTC (rev 46066)
@@ -0,0 +1,74 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [054c:0001] "Wireless Controller" (6 axes, 14 buttons, 1 hat) Windows 10, GTK
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 2 6 1
+
+0 0 6 0
+0 0 7 0
+
+0 0 8 0
+0 0 9 0
+
+0 0 5 6 2
+
+0 1 0 1 32
+0 1 1 1 16
+0 1 2 1 64
+0 1 3 1 128
+0 1 4 1 256
+0 1 5 1 512
+0 1 6 0
+0 1 7 0
+0 1 8 1 1024
+0 1 9 1 2048
+0 1 10 5 pause-toggle
+0 1 11 0
+0 1 12 0
+0 1 13 0
+
+0 2 0 1 1
+0 2 1 1 2
+0 2 2 1 4
+0 2 3 1 8
Added: trunk/vice/data/common/gtk3_joymap_ds5.vjm
===================================================================
--- trunk/vice/data/common/gtk3_joymap_ds5.vjm (rev 0)
+++ trunk/vice/data/common/gtk3_joymap_ds5.vjm 2026-04-08 19:26:43 UTC (rev 46066)
@@ -0,0 +1,75 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [054c:0ce6] "Sony Interactive Entertainment DualSense Wireless Controller" (8 axes, 13 buttons, 0 hats) Linux, GTK
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 4 0
+0 0 5 0
+
+0 0 3 6 1
+
+0 0 4 6 2
+
+0 0 10 0
+0 0 11 0
+
+0 0 12 1 8
+0 0 13 1 4
+
+0 0 14 1 2
+0 0 15 1 1
+
+0 1 0 1 16
+0 1 1 1 64
+0 1 2 1 128
+0 1 3 1 32
+0 1 4 1 256
+0 1 5 1 512
+0 1 6 0
+0 1 7 0
+0 1 8 1 1024
+0 1 9 1 2048
+0 1 10 5 pause-toggle
+0 1 11 0
+0 1 12 0
+
Added: trunk/vice/data/common/gtk3_joymap_logitech_x3dpro_windows.vjm
===================================================================
--- trunk/vice/data/common/gtk3_joymap_logitech_x3dpro_windows.vjm (rev 0)
+++ trunk/vice/data/common/gtk3_joymap_logitech_x3dpro_windows.vjm 2026-04-08 19:26:43 UTC (rev 46066)
@@ -0,0 +1,66 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [046d:0001] "Logitech Extreme 3D" (4 axes, 12 buttons, 1 hat) Windows 10, GTK
+# Driver - default Windows driver
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 2 6 2
+
+0 0 3 6 1
+
+0 1 0 1 16
+0 1 1 1 32
+0 1 2 1 64
+0 1 3 1 128
+0 1 4 1 256
+0 1 5 1 512
+0 1 6 1 1024
+0 1 7 1 2048
+0 1 8 0
+0 1 9 0
+0 1 10 0
+0 1 11 5 pause-toggle
+
+0 2 0 1 1
+0 2 1 1 2
+0 2 2 1 4
+0 2 3 1 8
Added: trunk/vice/data/common/gtk3_joymap_xbox_one_windows.vjm
===================================================================
--- trunk/vice/data/common/gtk3_joymap_xbox_one_windows.vjm (rev 0)
+++ trunk/vice/data/common/gtk3_joymap_xbox_one_windows.vjm 2026-04-08 19:26:43 UTC (rev 46066)
@@ -0,0 +1,81 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [045e:0001] "Controller (Xbox One For Windows)" (5 axes, 16 buttons, 1 hat) Windows 10, GTK
+# [045e:0001] "Bluetooth LE XINPUT compatible input device" (5 axes, 16 buttons, 1 hat) Windows 10, GTK
+# Driver - default Windows driver
+# Tested successfully with:
+# - Wired Xbox one controller
+# - Wireless Xbox one controller used with a USB cable
+# - Wireless Xbox one controller (newer model) with bluetooth (appears as "Bluetooth LE XINPUT compatible input device" in GTK)
+# NOTE if the Xbox button (mapped to pause) doesn't register, update the controller firmware.
+# Untested - Older Xbox one wireless controllers (not bluetooth compatible) using Xbox wireless adapter
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 4 0
+0 0 5 0
+
+0 0 3 6 1
+
+0 0 4 6 2
+
+0 1 0 1 16
+0 1 1 1 64
+0 1 2 1 32
+0 1 3 1 128
+0 1 4 1 256
+0 1 5 1 512
+0 1 6 1 1024
+0 1 7 1 2048
+0 1 8 0
+0 1 9 0
+0 1 10 5 pause-toggle
+0 1 11 0
+0 1 12 0
+0 1 13 0
+0 1 14 0
+0 1 15 0
+
+0 2 0 1 1
+0 2 1 1 2
+0 2 2 1 4
+0 2 3 1 8
Deleted: trunk/vice/data/common/gtk_joymap_ds3.vjm
===================================================================
--- trunk/vice/data/common/gtk_joymap_ds3.vjm 2026-04-08 18:37:46 UTC (rev 46065)
+++ trunk/vice/data/common/gtk_joymap_ds3.vjm 2026-04-08 19:26:43 UTC (rev 46066)
@@ -1,73 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
-# right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
-# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
-# axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flags keyboard (flags: 1=shift)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# [054c:0268] "PLAYSTATION(R)3 Controller" (6 axes, 17 buttons, 0 hats) Linux, GTK
-
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 4 0
-0 0 5 0
-
-0 0 3 6 1
-
-0 0 4 6 2
-
-0 0 10 0
-0 0 11 0
-
-0 1 0 1 16
-0 1 1 1 64
-0 1 2 1 128
-0 1 3 1 32
-0 1 4 1 256
-0 1 5 1 512
-0 1 6 0
-0 1 7 0
-0 1 8 1 1024
-0 1 9 1 2048
-0 1 10 5 pause-toggle
-0 1 11 0
-0 1 12 0
-0 1 13 1 1
-0 1 14 1 2
-0 1 15 1 4
-0 1 16 1 8
-
Deleted: trunk/vice/data/common/gtk_joymap_ds3_DsHidMini.vjm
===================================================================
--- trunk/vice/data/common/gtk_joymap_ds3_DsHidMini.vjm 2026-04-08 18:37:46 UTC (rev 46065)
+++ trunk/vice/data/common/gtk_joymap_ds3_DsHidMini.vjm 2026-04-08 19:26:43 UTC (rev 46066)
@@ -1,79 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
-# right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
-# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
-# axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flags keyboard (flags: 1=shift)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# [7331:0001] "DS3 Compatible HID Device" (5 axes, 16 buttons, 1 hat) Windows 10, GTK
-# Driver - DsHidMini Driver v2.2.282
-# + (optional for bluetooth support) BthPS3 Bluetooth Drivers v2.17.0
-# Source - https://docs.nefarius.at/projects/DsHidMini/v2/How-to-Install/
-# Tested both USB and bluetooth OK
-
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 4 0
-0 0 5 0
-
-0 0 3 6 1
-
-0 0 4 6 2
-
-0 1 0 1 16
-0 1 1 1 64
-0 1 2 1 32
-0 1 3 1 128
-0 1 4 1 256
-0 1 5 1 512
-0 1 6 1 1024
-0 1 7 1 2048
-0 1 8 0
-0 1 9 0
-0 1 10 5 pause-toggle
-0 1 11 0
-0 1 12 0
-0 1 13 0
-0 1 14 0
-0 1 15 0
-
-0 2 0 1 1
-0 2 1 1 2
-0 2 2 1 4
-0 2 3 1 8
-
-
Deleted: trunk/vice/data/common/gtk_joymap_ds3_Sony.vjm
===================================================================
--- trunk/vice/data/common/gtk_joymap_ds3_Sony.vjm 2026-04-08 18:37:46 UTC (rev 46065)
+++ trunk/vice/data/common/gtk_joymap_ds3_Sony.vjm 2026-04-08 19:26:43 UTC (rev 46066)
@@ -1,98 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
-# right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
-# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
-# axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flags keyboard (flags: 1=shift)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# [054c:0001] "PLAYSTATION(R)3 Controller" (8 axes, 24 buttons, 1 hat) Windows 10, GTK
-# Driver - Official Sony Driver. Note - only works wired with USB cable, no bluetooth
-# Source - https://wiki.rpcs3.net/index.php?title=Help:Controller_Configuration#Using_DualShock_3_controller
-# Device: "Wireless controller for PLAYSTATION(R)3"
-# Provider: Sony Computer Entertatinment Inc.
-# Date: 28/03/2013
-# Version 1.5.0.0
-
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 2 6 1
-
-0 0 6 0
-0 0 7 0
-
-0 0 8 0
-0 0 9 0
-
-0 0 5 6 2
-
-0 0 12 0
-0 0 13 0
-
-0 0 14 0
-0 0 15 0
-
-0 1 0 1 128
-0 1 1 1 64
-0 1 2 1 16
-0 1 3 1 32
-0 1 4 0
-0 1 5 0
-0 1 6 1 256
-0 1 7 1 512
-0 1 8 1 2048
-0 1 9 1 1024
-0 1 10 0
-0 1 11 0
-0 1 12 5 pause-toggle
-0 1 13 0
-0 1 14 0
-0 1 15 0
-0 1 16 0
-0 1 17 0
-0 1 18 0
-0 1 19 0
-0 1 20 0
-0 1 21 0
-0 1 22 0
-0 1 23 0
-
-0 2 0 1 1
-0 2 1 1 2
-0 2 2 1 4
-0 2 3 1 8
-
-
Deleted: trunk/vice/data/common/gtk_joymap_ds3_scp_tools.vjm
===================================================================
--- trunk/vice/data/common/gtk_joymap_ds3_scp_tools.vjm 2026-04-08 18:37:46 UTC (rev 46065)
+++ trunk/vice/data/common/gtk_joymap_ds3_scp_tools.vjm 2026-04-08 19:26:43 UTC (rev 46066)
@@ -1,73 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
-# right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
-# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
-# axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flags keyboard (flags: 1=shift)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# This was made using the "SCP Tools" Driver
-# [045e:0001] "DS3 Compatible HID Device" (5 axes, 16 buttons, 1 hat) Windows 10, GTK
-
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 2 6 1
-
-0 0 3 6 1
-
-0 0 4 6 2
-
-0 1 0 1 16
-0 1 1 1 64
-0 1 2 1 32
-0 1 3 1 128
-0 1 4 1 256
-0 1 5 1 512
-0 1 6 1 1024
-0 1 7 1 2048
-0 1 8 0
-0 1 9 0
-0 1 10 5 pause-toggle
-0 1 11 0
-0 1 12 0
-0 1 13 0
-0 1 14 0
-0 1 15 0
-
-0 2 0 1 1
-0 2 1 1 2
-0 2 2 1 4
-0 2 3 1 8
Deleted: trunk/vice/data/common/gtk_joymap_ds4.vjm
===================================================================
--- trunk/vice/data/common/gtk_joymap_ds4.vjm 2026-04-08 18:37:46 UTC (rev 46065)
+++ trunk/vice/data/common/gtk_joymap_ds4.vjm 2026-04-08 19:26:43 UTC (rev 46066)
@@ -1,75 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
-# right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
-# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
-# axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flags keyboard (flags: 1=shift)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# [054c:09cc] "Sony Interactive Entertainment Wireless Controller" (8 axes, 13 buttons, 0 hats) Linux, GTK
-
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 4 0
-0 0 5 0
-
-0 0 3 6 1
-
-0 0 4 6 2
-
-0 0 10 0
-0 0 11 0
-
-0 0 12 1 8
-0 0 13 1 4
-
-0 0 14 1 2
-0 0 15 1 1
-
-0 1 0 1 16
-0 1 1 1 64
-0 1 2 1 128
-0 1 3 1 32
-0 1 4 1 256
-0 1 5 1 512
-0 1 6 0
-0 1 7 0
-0 1 8 1 1024
-0 1 9 1 2048
-0 1 10 5 pause-toggle
-0 1 11 0
-0 1 12 0
-
Deleted: trunk/vice/data/common/gtk_joymap_ds4_windows.vjm
===================================================================
--- trunk/vice/data/common/gtk_joymap_ds4_windows.vjm 2026-04-08 18:37:46 UTC (rev 46065)
+++ trunk/vice/data/common/gtk_joymap_ds4_windows.vjm 2026-04-08 19:26:43 UTC (rev 46066)
@@ -1,74 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
-# right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
-# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
-# axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flags keyboard (flags: 1=shift)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# [054c:0001] "Wireless Controller" (6 axes, 14 buttons, 1 hat) Windows 10, GTK
-
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 2 6 1
-
-0 0 6 0
-0 0 7 0
-
-0 0 8 0
-0 0 9 0
-
-0 0 5 6 2
-
-0 1 0 1 32
-0 1 1 1 16
-0 1 2 1 64
-0 1 3 1 128
-0 1 4 1 256
-0 1 5 1 512
-0 1 6 0
-0 1 7 0
-0 1 8 1 1024
-0 1 9 1 2048
-0 1 10 5 pause-toggle
-0 1 11 0
-0 1 12 0
-0 1 13 0
-
-0 2 0 1 1
-0 2 1 1 2
-0 2 2 1 4
-0 2 3 1 8
Deleted: trunk/vice/data/common/gtk_joymap_ds5.vjm
===================================================================
--- trunk/vice/data/common/gtk_joymap_ds5.vjm 2026-04-08 18:37:46 UTC (rev 46065)
+++ trunk/vice/data/common/gtk_joymap_ds5.vjm 2026-04-08 19:26:43 UTC (rev 46066)
@@ -1,75 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
-# right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
-# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
-# axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flags keyboard (flags: 1=shift)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# [054c:0ce6] "Sony Interactive Entertainment DualSense Wireless Controller" (8 axes, 13 buttons, 0 hats) Linux, GTK
-
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 4 0
-0 0 5 0
-
-0 0 3 6 1
-
-0 0 4 6 2
-
-0 0 10 0
-0 0 11 0
-
-0 0 12 1 8
-0 0 13 1 4
-
-0 0 14 1 2
-0 0 15 1 1
-
-0 1 0 1 16
-0 1 1 1 64
-0 1 2 1 128
-0 1 3 1 32
-0 1 4 1 256
-0 1 5 1 512
-0 1 6 0
-0 1 7 0
-0 1 8 1 1024
-0 1 9 1 2048
-0 1 10 5 pause-toggle
-0 1 11 0
-0 1 12 0
-
Deleted: trunk/vice/data/common/gtk_joymap_logitech_x3dpro_windows.vjm
===================================================================
--- trunk/vice/data/common/gtk_joymap_logitech_x3dpro_windows.vjm 2026-04-08 18:37:46 UTC (rev 46065)
+++ trunk/vice/data/common/gtk_joymap_logitech_x3dpro_windows.vjm 2026-04-08 19:26:43 UTC (rev 46066)
@@ -1,66 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
-# right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
-# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
-# axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flags keyboard (flags: 1=shift)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# [046d:0001] "Logitech Extreme 3D" (4 axes, 12 buttons, 1 hat) Windows 10, GTK
-# Driver - default Windows driver
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 2 6 2
-
-0 0 3 6 1
-
-0 1 0 1 16
-0 1 1 1 32
-0 1 2 1 64
-0 1 3 1 128
-0 1 4 1 256
-0 1 5 1 512
-0 1 6 1 1024
-0 1 7 1 2048
-0 1 8 0
-0 1 9 0
-0 1 10 0
-0 1 11 5 pause-toggle
-
-0 2 0 1 1
-0 2 1 1 2
-0 2 2 1 4
-0 2 3 1 8
Deleted: trunk/vice/data/common/gtk_joymap_xbox_one_windows.vjm
===================================================================
--- trunk/vice/data/common/gtk_joymap_xbox_one_windows.vjm 2026-04-08 18:37:46 UTC (rev 46065)
+++ trunk/vice/data/common/gtk_joymap_xbox_one_windows.vjm 2026-04-08 19:26:43 UTC (rev 46066)
@@ -1,81 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
-# right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
-# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
-# axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flags keyboard (flags: 1=shift)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# [045e:0001] "Controller (Xbox One For Windows)" (5 axes, 16 buttons, 1 hat) Windows 10, GTK
-# [045e:0001] "Bluetooth LE XINPUT compatible input device" (5 axes, 16 buttons, 1 hat) Windows 10, GTK
-# Driver - default Windows driver
-# Tested successfully with:
-# - Wired Xbox one controller
-# - Wireless Xbox one controller used with a USB cable
-# - Wireless Xbox one controller (newer model) with bluetooth (appears as "Bluetooth LE XINPUT compatible input device" in GTK)
-# NOTE if the Xbox button (mapped to pause) doesn't register, update the controller firmware.
-# Untested - Older Xbox one wireless controllers (not bluetooth compatible) using Xbox wireless adapter
-
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 4 0
-0 0 5 0
-
-0 0 3 6 1
-
-0 0 4 6 2
-
-0 1 0 1 16
-0 1 1 1 64
-0 1 2 1 32
-0 1 3 1 128
-0 1 4 1 256
-0 1 5 1 512
-0 1 6 1 1024
-0 1 7 1 2048
-0 1 8 0
-0 1 9 0
-0 1 10 5 pause-toggle
-0 1 11 0
-0 1 12 0
-0 1 13 0
-0 1 14 0
-0 1 15 0
-
-0 2 0 1 1
-0 2 1 1 2
-0 2 2 1 4
-0 2 3 1 8
Modified: trunk/vice/doc/vice.texi
===================================================================
--- trunk/vice/doc/vice.texi 2026-04-08 18:37:46 UTC (rev 46065)
+++ trunk/vice/doc/vice.texi 2026-04-08 19:26:43 UTC (rev 46066)
@@ -2392,12 +2392,16 @@
@item Input index
@itemize
@item For buttons, it is the zero-based index of the button
-@item For axes: * if the action is 6 (POT_AXIS), it is the zero-based index of the axis * otherwise, 0 and 1 are respectively the positive and negative directions of axis 0; 2 and 3 are respectively the positive and negative directions of axis 1 etc. In formulas: axis=inputindex/2 (integer division), direction = positive if inputindex % 2 ==0 , negative if inputindex % 2 ==1.
+@item For axes:
+@itemize
+@item if the action is 6 (POT_AXIS), it is the zero-based index of the axis
+@item otherwise, 0 and 1 are respectively the positive and negative directions of axis 0; 2 and 3 are respectively the positive and negative directions of axis 1 etc. In formulas: axis=inputindex/2 (integer division), direction = positive if inputindex % 2 == 0 , negative if inputindex % 2 == 1.
+@end itemize
@item for hats, 0, 1, 2 and 3 are respectively up, down, left and right of hat 0; 4, 5, 6 and 7 are respectively up, down, left and right of hat 1, etc.
@end itemize
@item Action
-@enumerate
+@enumerate 0
@item NONE: none
@item JOYSTICK: emulated joystick action
@item KEYBOARD: emulated keyboard action
@@ -2413,8 +2417,6 @@
@item JOYSTICK
@enumerate 5
@item emulated joystick pin:
-@end enumerate
-
@multitable @columnfractions .1 .5 .5
@item 1
@tab Joystick up / SNES pad up
@@ -2441,6 +2443,7 @@
@item 2048
@tab SNES pad start button
@end multitable
+@end enumerate
@item KEYBOARD
@enumerate 5
@@ -2451,12 +2454,12 @@
@item POT_AXIS
@enumerate 5
-which potentiometer is affected:
-@end enumerate
+@item which potentiometer is affected:
@enumerate 1
@item Pot-X
@item Pot-Y
@end enumerate
+@end enumerate
@end itemize
@end enumerate
@@ -2463,20 +2466,18 @@
@subsubsection Example
-Take this sample line from data/C64/sdl_joymap_ps3.vjm
+Take this sample line from data/common/sdl_joymap_ds3.vjm
@example
-# O -> Space
-0 1 1 2 7 4 0
+0 1 10 5 pause-toggle
@end example
@itemize
@item First column: HW joystick 0
@item Second column: input type is button (1)
-@item Third column: input index 1, so button 1
-@item Fourth column: action KEYBOARD (2)
-@item Fifth and sixth columns: Space (7 and 4 in the matrix)
-@item seventh column: flags (no SHIFT)
+@item Third column: input index 10, so button 10
+@item Fourth column: action UI_FUNCTION (5)
+@item Fifth column: Toggle pause mode (pause-toggle)
@end itemize
@subsection Default mapping
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2026-04-08 18:37:48
|
Revision: 46065
http://sourceforge.net/p/vice-emu/code/46065
Author: gpz
Date: 2026-04-08 18:37:46 +0000 (Wed, 08 Apr 2026)
Log Message:
-----------
move joymaps to data/common, update makefile so they will actually end up in the release package
Modified Paths:
--------------
trunk/vice/data/C64/Makefile.am
trunk/vice/data/common/Makefile.am
Added Paths:
-----------
trunk/vice/data/common/gtk_joymap_ds3.vjm
trunk/vice/data/common/gtk_joymap_ds3_DsHidMini.vjm
trunk/vice/data/common/gtk_joymap_ds3_Sony.vjm
trunk/vice/data/common/gtk_joymap_ds3_scp_tools.vjm
trunk/vice/data/common/gtk_joymap_ds4.vjm
trunk/vice/data/common/gtk_joymap_ds4_windows.vjm
trunk/vice/data/common/gtk_joymap_ds5.vjm
trunk/vice/data/common/gtk_joymap_logitech_x3dpro_windows.vjm
trunk/vice/data/common/gtk_joymap_xbox_one_windows.vjm
trunk/vice/data/common/sdl_joymap_8bitdo_6b.vjm
trunk/vice/data/common/sdl_joymap_ds3.vjm
trunk/vice/data/common/sdl_joymap_ds4.vjm
trunk/vice/data/common/sdl_joymap_ds4_windows.vjm
trunk/vice/data/common/sdl_joymap_ds5.vjm
trunk/vice/data/common/sdl_joymap_keyrah_v3.vjm
trunk/vice/data/common/sdl_joymap_thec64.vjm
trunk/vice/data/common/sdl_joymap_xbox360.vjm
trunk/vice/data/common/sdl_joymap_xbox_one_windows.vjm
Removed Paths:
-------------
trunk/vice/data/C64/joymap_logitech_x3dpro.vjm
trunk/vice/data/C64/joymap_ps3_DsHidMini.vjm
trunk/vice/data/C64/joymap_ps3_Sony.vjm
trunk/vice/data/C64/joymap_xbox_one.vjm
trunk/vice/data/C64/sdl_joymap_8bitdo_6b.vjm
trunk/vice/data/C64/sdl_joymap_keyrah_v3.vjm
trunk/vice/data/C64/sdl_joymap_ps3.vjm
trunk/vice/data/C64/sdl_joymap_thec64.vjm
trunk/vice/data/C64/sdl_joymap_xbox360.vjm
trunk/vice/data/C64/sdl_joymap_xbox_one.vjm
Modified: trunk/vice/data/C64/Makefile.am
===================================================================
--- trunk/vice/data/C64/Makefile.am 2026-04-08 15:37:17 UTC (rev 46064)
+++ trunk/vice/data/C64/Makefile.am 2026-04-08 18:37:46 UTC (rev 46065)
@@ -68,11 +68,6 @@
gtk3_pos_bmc64.vkm
sdl_keymaps = \
- sdl_joymap_ps3.vjm \
- sdl_joymap_thec64.vjm \
- sdl_joymap_keyrah_v3.vjm \
- sdl_joymap_xbox360.vjm \
- sdl_joymap_8bitdo_6b.vjm \
sdl_pos.vkm \
sdl_pos_uk.vkm \
sdl_pos_ch.vkm \
Deleted: trunk/vice/data/C64/joymap_logitech_x3dpro.vjm
===================================================================
--- trunk/vice/data/C64/joymap_logitech_x3dpro.vjm 2026-04-08 15:37:17 UTC (rev 46064)
+++ trunk/vice/data/C64/joymap_logitech_x3dpro.vjm 2026-04-08 18:37:46 UTC (rev 46065)
@@ -1,66 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
-# right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
-# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
-# axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flags keyboard (flags: 1=shift)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# [046d:0001] "Logitech Extreme 3D" (4 axes, 12 buttons, 1 hat) Windows 10, GTK
-# Driver - default Windows driver
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 2 6 2
-
-0 0 3 6 1
-
-0 1 0 1 16
-0 1 1 1 32
-0 1 2 1 64
-0 1 3 1 128
-0 1 4 1 256
-0 1 5 1 512
-0 1 6 1 1024
-0 1 7 1 2048
-0 1 8 0
-0 1 9 0
-0 1 10 0
-0 1 11 5 pause-toggle
-
-0 2 0 1 1
-0 2 1 1 2
-0 2 2 1 4
-0 2 3 1 8
Deleted: trunk/vice/data/C64/joymap_ps3_DsHidMini.vjm
===================================================================
--- trunk/vice/data/C64/joymap_ps3_DsHidMini.vjm 2026-04-08 15:37:17 UTC (rev 46064)
+++ trunk/vice/data/C64/joymap_ps3_DsHidMini.vjm 2026-04-08 18:37:46 UTC (rev 46065)
@@ -1,79 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
-# right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
-# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
-# axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flags keyboard (flags: 1=shift)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# [7331:0001] "DS3 Compatible HID Device" (5 axes, 16 buttons, 1 hat) Windows 10, GTK
-# Driver - DsHidMini Driver v2.2.282
-# + (optional for bluetooth support) BthPS3 Bluetooth Drivers v2.17.0
-# Source - https://docs.nefarius.at/projects/DsHidMini/v2/How-to-Install/
-# Tested both USB and bluetooth OK
-
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 4 0
-0 0 5 0
-
-0 0 3 6 1
-
-0 0 4 6 2
-
-0 1 0 1 16
-0 1 1 1 64
-0 1 2 1 32
-0 1 3 1 128
-0 1 4 1 256
-0 1 5 1 512
-0 1 6 1 1024
-0 1 7 1 2048
-0 1 8 0
-0 1 9 0
-0 1 10 5 pause-toggle
-0 1 11 0
-0 1 12 0
-0 1 13 0
-0 1 14 0
-0 1 15 0
-
-0 2 0 1 1
-0 2 1 1 2
-0 2 2 1 4
-0 2 3 1 8
-
-
Deleted: trunk/vice/data/C64/joymap_ps3_Sony.vjm
===================================================================
--- trunk/vice/data/C64/joymap_ps3_Sony.vjm 2026-04-08 15:37:17 UTC (rev 46064)
+++ trunk/vice/data/C64/joymap_ps3_Sony.vjm 2026-04-08 18:37:46 UTC (rev 46065)
@@ -1,98 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
-# right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
-# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
-# axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flags keyboard (flags: 1=shift)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# [054c:0001] "PLAYSTATION(R)3 Controller" (8 axes, 24 buttons, 1 hat) Windows 10, GTK
-# Driver - Official Sony Driver. Note - only works wired with USB cable, no bluetooth
-# Source - https://wiki.rpcs3.net/index.php?title=Help:Controller_Configuration#Using_DualShock_3_controller
-# Device: "Wireless controller for PLAYSTATION(R)3"
-# Provider: Sony Computer Entertatinment Inc.
-# Date: 28/03/2013
-# Version 1.5.0.0
-
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 2 6 1
-
-0 0 6 0
-0 0 7 0
-
-0 0 8 0
-0 0 9 0
-
-0 0 5 6 2
-
-0 0 12 0
-0 0 13 0
-
-0 0 14 0
-0 0 15 0
-
-0 1 0 1 128
-0 1 1 1 64
-0 1 2 1 16
-0 1 3 1 32
-0 1 4 0
-0 1 5 0
-0 1 6 1 256
-0 1 7 1 512
-0 1 8 1 2048
-0 1 9 1 1024
-0 1 10 0
-0 1 11 0
-0 1 12 5 pause-toggle
-0 1 13 0
-0 1 14 0
-0 1 15 0
-0 1 16 0
-0 1 17 0
-0 1 18 0
-0 1 19 0
-0 1 20 0
-0 1 21 0
-0 1 22 0
-0 1 23 0
-
-0 2 0 1 1
-0 2 1 1 2
-0 2 2 1 4
-0 2 3 1 8
-
-
Deleted: trunk/vice/data/C64/joymap_xbox_one.vjm
===================================================================
--- trunk/vice/data/C64/joymap_xbox_one.vjm 2026-04-08 15:37:17 UTC (rev 46064)
+++ trunk/vice/data/C64/joymap_xbox_one.vjm 2026-04-08 18:37:46 UTC (rev 46065)
@@ -1,81 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
-# right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
-# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
-# axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flags keyboard (flags: 1=shift)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# [045e:0001] "Controller (Xbox One For Windows)" (5 axes, 16 buttons, 1 hat) Windows 10, GTK
-# [045e:0001] "Bluetooth LE XINPUT compatible input device" (5 axes, 16 buttons, 1 hat) Windows 10, GTK
-# Driver - default Windows driver
-# Tested successfully with:
-# - Wired Xbox one controller
-# - Wireless Xbox one controller used with a USB cable
-# - Wireless Xbox one controller (newer model) with bluetooth (appears as "Bluetooth LE XINPUT compatible input device" in GTK)
-# NOTE if the Xbox button (mapped to pause) doesn't register, update the controller firmware.
-# Untested - Older Xbox one wireless controllers (not bluetooth compatible) using Xbox wireless adapter
-
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 4 0
-0 0 5 0
-
-0 0 3 6 1
-
-0 0 4 6 2
-
-0 1 0 1 16
-0 1 1 1 64
-0 1 2 1 32
-0 1 3 1 128
-0 1 4 1 256
-0 1 5 1 512
-0 1 6 1 1024
-0 1 7 1 2048
-0 1 8 0
-0 1 9 0
-0 1 10 5 pause-toggle
-0 1 11 0
-0 1 12 0
-0 1 13 0
-0 1 14 0
-0 1 15 0
-
-0 2 0 1 1
-0 2 1 1 2
-0 2 2 1 4
-0 2 3 1 8
Deleted: trunk/vice/data/C64/sdl_joymap_8bitdo_6b.vjm
===================================================================
--- trunk/vice/data/C64/sdl_joymap_8bitdo_6b.vjm 2026-04-08 15:37:17 UTC (rev 46064)
+++ trunk/vice/data/C64/sdl_joymap_8bitdo_6b.vjm 2026-04-08 18:37:46 UTC (rev 46065)
@@ -1,60 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col keyboard
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-# This file was taken from https://github.com/aminch/8-bit-pc-pi-compile/
-#
-# for use with the https://www.8bitdo.com "6b" controller
-
-!CLEAR
-
-# 6B controller
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 4 0
-0 0 5 0
-
-0 1 0 1 64
-0 1 1 1 16
-0 1 2 1 32
-0 1 3 0
-0 1 4 0
-0 1 5 1 1
-0 1 6 0
-0 1 7 0
-0 1 8 4
-0 1 9 0
-
-
Deleted: trunk/vice/data/C64/sdl_joymap_keyrah_v3.vjm
===================================================================
--- trunk/vice/data/C64/sdl_joymap_keyrah_v3.vjm 2026-04-08 15:37:17 UTC (rev 46064)
+++ trunk/vice/data/C64/sdl_joymap_keyrah_v3.vjm 2026-04-08 18:37:46 UTC (rev 46065)
@@ -1,49 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col keyboard
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# Joystick
-0 0 0 1 8
-0 0 1 1 4
-0 0 2 1 2
-0 0 3 1 1
-
-# paddles
-0 0 2 6 1
-0 0 3 6 2
-
-# buttons
-0 1 0 1 16
-0 1 1 1 32
-0 1 2 1 64
-
Deleted: trunk/vice/data/C64/sdl_joymap_ps3.vjm
===================================================================
--- trunk/vice/data/C64/sdl_joymap_ps3.vjm 2026-04-08 15:37:17 UTC (rev 46064)
+++ trunk/vice/data/C64/sdl_joymap_ps3.vjm 2026-04-08 18:37:46 UTC (rev 46065)
@@ -1,75 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
-# right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
-# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
-# axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flags keyboard (flags: 1=shift)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# [054c:0268] "PLAYSTATION(R)3 Controller" (6 axes, 17 buttons, 0 hats) Linux, SDL
-
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 4 0
-0 0 5 0
-
-0 0 3 6 1
-
-0 0 4 6 2
-
-0 0 10 0
-0 0 11 0
-
-0 1 0 1 16
-0 1 1 1 64
-0 1 2 1 128
-0 1 3 1 32
-0 1 4 1 256
-0 1 5 1 512
-0 1 6 0
-0 1 7 0
-0 1 8 1 1024
-0 1 9 1 2048
-0 1 10 5 pause-toggle
-0 1 11 0
-0 1 12 0
-0 1 13 1 1
-0 1 14 1 2
-0 1 15 1 4
-0 1 16 1 8
-
-
-
Deleted: trunk/vice/data/C64/sdl_joymap_thec64.vjm
===================================================================
--- trunk/vice/data/C64/sdl_joymap_thec64.vjm 2026-04-08 15:37:17 UTC (rev 46064)
+++ trunk/vice/data/C64/sdl_joymap_thec64.vjm 2026-04-08 18:37:46 UTC (rev 46065)
@@ -1,49 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flgs keyboard (flags: 1 = shifted)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# THEC64 Joystick
-0 0 0 1 8
-0 0 1 1 4
-0 0 2 1 2
-0 0 3 1 1
-
-0 1 0 1 16
-0 1 1 1 16
-0 1 2 1 32
-0 1 3 1 64
-0 1 4 5 virtual-keyboard
-0 1 5 5 show-statusbar-toggle
-0 1 6 5 pause-toggle
-0 1 7 4
-
Deleted: trunk/vice/data/C64/sdl_joymap_xbox360.vjm
===================================================================
--- trunk/vice/data/C64/sdl_joymap_xbox360.vjm 2026-04-08 15:37:17 UTC (rev 46064)
+++ trunk/vice/data/C64/sdl_joymap_xbox360.vjm 2026-04-08 18:37:46 UTC (rev 46065)
@@ -1,63 +0,0 @@
-# Controller (Cyborg Rumble Pad - PC/Xbox 360)
-
-# Left analog stick - right
-0 0 0 1 8
-# Left analog stick - left
-0 0 1 1 4
-
-# Left analog stick - down
-0 0 2 1 2
-# Left analog stick - up
-0 0 3 1 1
-
-# Right analog stick - right
-0 0 4 0
-# Right analog stick - left
-0 0 5 0
-
-# Right analog stick - down
-0 0 6 0
-# Right analog stick - up
-0 0 7 0
-
-# Left analog trigger - pressed
-0 0 8 0
-# Left analog trigger - released
-0 0 9 0
-
-# Right analog trigger - pressed
-0 0 10 0
-# Right analog trigger - released
-0 0 11 0
-
-# A
-0 1 0 1 16
-# B
-0 1 1 1 32
-# X
-0 1 2 1 64
-# Y
-0 1 3 0
-# LB
-0 1 4 0
-# RB
-0 1 5 0
-# Back
-0 1 6 0
-# Start
-0 1 7 0
-# LSB
-0 1 8 0
-# RSB
-0 1 9 0
-# Guide
-0 1 10 0
-
-# DPAD up
-0 2 0 1 1
-# DPAD down
-0 2 1 1 2
-# DPAD left
-0 2 2 1 4
-# DPAD right
-0 2 3 1 8
Deleted: trunk/vice/data/C64/sdl_joymap_xbox_one.vjm
===================================================================
--- trunk/vice/data/C64/sdl_joymap_xbox_one.vjm 2026-04-08 15:37:17 UTC (rev 46064)
+++ trunk/vice/data/C64/sdl_joymap_xbox_one.vjm 2026-04-08 18:37:46 UTC (rev 46065)
@@ -1,78 +0,0 @@
-# VICE joystick mapping file
-#
-# A joystick map is read in as patch to the current map.
-#
-# File format:
-# - comment lines start with '#'
-# - keyword lines start with '!keyword'
-# - normal line has 'joynum inputtype inputindex action'
-#
-# Keywords and their lines are:
-# '!CLEAR' clear all mappings
-#
-# inputtype:
-# 0 axis
-# 1 button
-# 2 hat
-#
-# For buttons, inputindex is the zero-based index of the button.
-# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
-# right. Hat 1 has 5,6,7,8 etc.
-# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
-# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
-# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
-# axis.
-#
-# action [action_parameters]:
-# 0 none
-# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
-# 2 row col flags keyboard (flags: 1=shift)
-# 3 map
-# 4 UI activate
-# 5 action-name UI function
-# 6 pot potentiometer (1=pot x, 2=pot y)
-#
-
-!CLEAR
-
-# [045e:02ff] "Xbox One Controller" (6 axes, 16 buttons, 1 hat) Windows 10, SDL
-# [045e:0b20] "Xbox One S Controller" (6 axes, 16 buttons, 1 hat) Windows 10, SDL
-# Driver - default Windows driver
-# Tested successfully with:
-# - Wired Xbox one controller
-# - Wireless Xbox one controller used with a USB cable
-# - Wireless Xbox one controller (newer model) with bluetooth (appears as "Xbox One S Controller" in SDL)
-# NOTE if the Xbox button (mapped to pause) doesn't register, update the controller firmware.
-# Untested - Older Xbox one wireless controllers (not bluetooth compatible) using Xbox wireless adapter
-
-0 0 0 1 8
-0 0 1 1 4
-
-0 0 2 1 2
-0 0 3 1 1
-
-0 0 2 6 1
-
-0 0 3 6 2
-
-0 1 0 1 16
-0 1 1 1 64
-0 1 2 1 32
-0 1 3 1 128
-0 1 4 1 256
-0 1 5 1 512
-0 1 6 1 1024
-0 1 7 1 2048
-0 1 8 0
-0 1 9 0
-0 1 10 5 pause-toggle
-0 1 11 0
-0 1 12 0
-0 1 13 0
-0 1 14 0
-0 1 15 0
-
-0 2 0 1 1
-0 2 1 1 2
-0 2 2 1 4
-0 2 3 1 8
Modified: trunk/vice/data/common/Makefile.am
===================================================================
--- trunk/vice/data/common/Makefile.am 2026-04-08 15:37:17 UTC (rev 46064)
+++ trunk/vice/data/common/Makefile.am 2026-04-08 18:37:46 UTC (rev 46065)
@@ -175,19 +175,39 @@
xcbm5x0.desktop \
vsid.desktop
+sdl_joymaps = sdl_joymap_8bitdo_6b.vjm \
+ sdl_joymap_ds3.vjm \
+ sdl_joymap_ds4.vjm \
+ sdl_joymap_ds4_windows.vjm \
+ sdl_joymap_ds5.vjm \
+ sdl_joymap_keyrah_v3.vjm \
+ sdl_joymap_thec64.vjm \
+ sdl_joymap_xbox360.vjm \
+ sdl_joymap_xbox_one_windows.vjm \
+gtk_joymaps = gtk_joymap_ds3_DsHidMini.vjm \
+ gtk_joymap_ds3_scp_tools.vjm \
+ gtk_joymap_ds3_Sony.vjm \
+ gtk_joymap_ds3.vjm \
+ gtk_joymap_ds4.vjm \
+ gtk_joymap_ds4_windows.vjm \
+ gtk_joymap_ds5.vjm \
+ gtk_joymap_logitech_x3dpro_windows.vjm \
+ gtk_joymap_xbox_one_windows.vjm
+
+
if USE_SDLUI
if WINDOWS_COMPILE
# SDL 1.2 says to use 32x32 icons on Windows
-common_DATA = $(icons_32x32)
+common_DATA = $(icons_32x32) $(sdl_joymaps)
else
-common_DATA = $(icons_256x256)
+common_DATA = $(icons_256x256) $(sdl_joymaps)
endif
endif
if USE_SDL2UI
# 256x256 icons are fine for SDL 2.x for all OSes
-common_DATA = $(icons_256x256)
+common_DATA = $(icons_256x256) $(sdl_joymaps)
endif
if USE_GTK3UI
@@ -194,7 +214,8 @@
if INSTALL_DESKTOP_FILES
# We install icons via xdg-icon-resource, so don't install any icons directly
common_DATA = $(logo_files) \
- $(font_files)
+ $(font_files) \
+ $(gtk_joymaps)
else
common_DATA = $(icons_32x32) \
$(icons_48x48) \
@@ -202,7 +223,8 @@
$(icons_256x256) \
$(icons_scalable) \
$(logo_files) \
- $(font_files)
+ $(font_files) \
+ $(gtk_joymaps)
endif
endif
Added: trunk/vice/data/common/gtk_joymap_ds3.vjm
===================================================================
--- trunk/vice/data/common/gtk_joymap_ds3.vjm (rev 0)
+++ trunk/vice/data/common/gtk_joymap_ds3.vjm 2026-04-08 18:37:46 UTC (rev 46065)
@@ -0,0 +1,73 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [054c:0268] "PLAYSTATION(R)3 Controller" (6 axes, 17 buttons, 0 hats) Linux, GTK
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 4 0
+0 0 5 0
+
+0 0 3 6 1
+
+0 0 4 6 2
+
+0 0 10 0
+0 0 11 0
+
+0 1 0 1 16
+0 1 1 1 64
+0 1 2 1 128
+0 1 3 1 32
+0 1 4 1 256
+0 1 5 1 512
+0 1 6 0
+0 1 7 0
+0 1 8 1 1024
+0 1 9 1 2048
+0 1 10 5 pause-toggle
+0 1 11 0
+0 1 12 0
+0 1 13 1 1
+0 1 14 1 2
+0 1 15 1 4
+0 1 16 1 8
+
Added: trunk/vice/data/common/gtk_joymap_ds3_DsHidMini.vjm
===================================================================
--- trunk/vice/data/common/gtk_joymap_ds3_DsHidMini.vjm (rev 0)
+++ trunk/vice/data/common/gtk_joymap_ds3_DsHidMini.vjm 2026-04-08 18:37:46 UTC (rev 46065)
@@ -0,0 +1,79 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [7331:0001] "DS3 Compatible HID Device" (5 axes, 16 buttons, 1 hat) Windows 10, GTK
+# Driver - DsHidMini Driver v2.2.282
+# + (optional for bluetooth support) BthPS3 Bluetooth Drivers v2.17.0
+# Source - https://docs.nefarius.at/projects/DsHidMini/v2/How-to-Install/
+# Tested both USB and bluetooth OK
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 4 0
+0 0 5 0
+
+0 0 3 6 1
+
+0 0 4 6 2
+
+0 1 0 1 16
+0 1 1 1 64
+0 1 2 1 32
+0 1 3 1 128
+0 1 4 1 256
+0 1 5 1 512
+0 1 6 1 1024
+0 1 7 1 2048
+0 1 8 0
+0 1 9 0
+0 1 10 5 pause-toggle
+0 1 11 0
+0 1 12 0
+0 1 13 0
+0 1 14 0
+0 1 15 0
+
+0 2 0 1 1
+0 2 1 1 2
+0 2 2 1 4
+0 2 3 1 8
+
+
Added: trunk/vice/data/common/gtk_joymap_ds3_Sony.vjm
===================================================================
--- trunk/vice/data/common/gtk_joymap_ds3_Sony.vjm (rev 0)
+++ trunk/vice/data/common/gtk_joymap_ds3_Sony.vjm 2026-04-08 18:37:46 UTC (rev 46065)
@@ -0,0 +1,98 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [054c:0001] "PLAYSTATION(R)3 Controller" (8 axes, 24 buttons, 1 hat) Windows 10, GTK
+# Driver - Official Sony Driver. Note - only works wired with USB cable, no bluetooth
+# Source - https://wiki.rpcs3.net/index.php?title=Help:Controller_Configuration#Using_DualShock_3_controller
+# Device: "Wireless controller for PLAYSTATION(R)3"
+# Provider: Sony Computer Entertatinment Inc.
+# Date: 28/03/2013
+# Version 1.5.0.0
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 2 6 1
+
+0 0 6 0
+0 0 7 0
+
+0 0 8 0
+0 0 9 0
+
+0 0 5 6 2
+
+0 0 12 0
+0 0 13 0
+
+0 0 14 0
+0 0 15 0
+
+0 1 0 1 128
+0 1 1 1 64
+0 1 2 1 16
+0 1 3 1 32
+0 1 4 0
+0 1 5 0
+0 1 6 1 256
+0 1 7 1 512
+0 1 8 1 2048
+0 1 9 1 1024
+0 1 10 0
+0 1 11 0
+0 1 12 5 pause-toggle
+0 1 13 0
+0 1 14 0
+0 1 15 0
+0 1 16 0
+0 1 17 0
+0 1 18 0
+0 1 19 0
+0 1 20 0
+0 1 21 0
+0 1 22 0
+0 1 23 0
+
+0 2 0 1 1
+0 2 1 1 2
+0 2 2 1 4
+0 2 3 1 8
+
+
Added: trunk/vice/data/common/gtk_joymap_ds3_scp_tools.vjm
===================================================================
--- trunk/vice/data/common/gtk_joymap_ds3_scp_tools.vjm (rev 0)
+++ trunk/vice/data/common/gtk_joymap_ds3_scp_tools.vjm 2026-04-08 18:37:46 UTC (rev 46065)
@@ -0,0 +1,73 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# This was made using the "SCP Tools" Driver
+# [045e:0001] "DS3 Compatible HID Device" (5 axes, 16 buttons, 1 hat) Windows 10, GTK
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 2 6 1
+
+0 0 3 6 1
+
+0 0 4 6 2
+
+0 1 0 1 16
+0 1 1 1 64
+0 1 2 1 32
+0 1 3 1 128
+0 1 4 1 256
+0 1 5 1 512
+0 1 6 1 1024
+0 1 7 1 2048
+0 1 8 0
+0 1 9 0
+0 1 10 5 pause-toggle
+0 1 11 0
+0 1 12 0
+0 1 13 0
+0 1 14 0
+0 1 15 0
+
+0 2 0 1 1
+0 2 1 1 2
+0 2 2 1 4
+0 2 3 1 8
Added: trunk/vice/data/common/gtk_joymap_ds4.vjm
===================================================================
--- trunk/vice/data/common/gtk_joymap_ds4.vjm (rev 0)
+++ trunk/vice/data/common/gtk_joymap_ds4.vjm 2026-04-08 18:37:46 UTC (rev 46065)
@@ -0,0 +1,75 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [054c:09cc] "Sony Interactive Entertainment Wireless Controller" (8 axes, 13 buttons, 0 hats) Linux, GTK
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 4 0
+0 0 5 0
+
+0 0 3 6 1
+
+0 0 4 6 2
+
+0 0 10 0
+0 0 11 0
+
+0 0 12 1 8
+0 0 13 1 4
+
+0 0 14 1 2
+0 0 15 1 1
+
+0 1 0 1 16
+0 1 1 1 64
+0 1 2 1 128
+0 1 3 1 32
+0 1 4 1 256
+0 1 5 1 512
+0 1 6 0
+0 1 7 0
+0 1 8 1 1024
+0 1 9 1 2048
+0 1 10 5 pause-toggle
+0 1 11 0
+0 1 12 0
+
Added: trunk/vice/data/common/gtk_joymap_ds4_windows.vjm
===================================================================
--- trunk/vice/data/common/gtk_joymap_ds4_windows.vjm (rev 0)
+++ trunk/vice/data/common/gtk_joymap_ds4_windows.vjm 2026-04-08 18:37:46 UTC (rev 46065)
@@ -0,0 +1,74 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [054c:0001] "Wireless Controller" (6 axes, 14 buttons, 1 hat) Windows 10, GTK
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 2 6 1
+
+0 0 6 0
+0 0 7 0
+
+0 0 8 0
+0 0 9 0
+
+0 0 5 6 2
+
+0 1 0 1 32
+0 1 1 1 16
+0 1 2 1 64
+0 1 3 1 128
+0 1 4 1 256
+0 1 5 1 512
+0 1 6 0
+0 1 7 0
+0 1 8 1 1024
+0 1 9 1 2048
+0 1 10 5 pause-toggle
+0 1 11 0
+0 1 12 0
+0 1 13 0
+
+0 2 0 1 1
+0 2 1 1 2
+0 2 2 1 4
+0 2 3 1 8
Added: trunk/vice/data/common/gtk_joymap_ds5.vjm
===================================================================
--- trunk/vice/data/common/gtk_joymap_ds5.vjm (rev 0)
+++ trunk/vice/data/common/gtk_joymap_ds5.vjm 2026-04-08 18:37:46 UTC (rev 46065)
@@ -0,0 +1,75 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [054c:0ce6] "Sony Interactive Entertainment DualSense Wireless Controller" (8 axes, 13 buttons, 0 hats) Linux, GTK
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 4 0
+0 0 5 0
+
+0 0 3 6 1
+
+0 0 4 6 2
+
+0 0 10 0
+0 0 11 0
+
+0 0 12 1 8
+0 0 13 1 4
+
+0 0 14 1 2
+0 0 15 1 1
+
+0 1 0 1 16
+0 1 1 1 64
+0 1 2 1 128
+0 1 3 1 32
+0 1 4 1 256
+0 1 5 1 512
+0 1 6 0
+0 1 7 0
+0 1 8 1 1024
+0 1 9 1 2048
+0 1 10 5 pause-toggle
+0 1 11 0
+0 1 12 0
+
Added: trunk/vice/data/common/gtk_joymap_logitech_x3dpro_windows.vjm
===================================================================
--- trunk/vice/data/common/gtk_joymap_logitech_x3dpro_windows.vjm (rev 0)
+++ trunk/vice/data/common/gtk_joymap_logitech_x3dpro_windows.vjm 2026-04-08 18:37:46 UTC (rev 46065)
@@ -0,0 +1,66 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [046d:0001] "Logitech Extreme 3D" (4 axes, 12 buttons, 1 hat) Windows 10, GTK
+# Driver - default Windows driver
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 2 6 2
+
+0 0 3 6 1
+
+0 1 0 1 16
+0 1 1 1 32
+0 1 2 1 64
+0 1 3 1 128
+0 1 4 1 256
+0 1 5 1 512
+0 1 6 1 1024
+0 1 7 1 2048
+0 1 8 0
+0 1 9 0
+0 1 10 0
+0 1 11 5 pause-toggle
+
+0 2 0 1 1
+0 2 1 1 2
+0 2 2 1 4
+0 2 3 1 8
Added: trunk/vice/data/common/gtk_joymap_xbox_one_windows.vjm
===================================================================
--- trunk/vice/data/common/gtk_joymap_xbox_one_windows.vjm (rev 0)
+++ trunk/vice/data/common/gtk_joymap_xbox_one_windows.vjm 2026-04-08 18:37:46 UTC (rev 46065)
@@ -0,0 +1,81 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [045e:0001] "Controller (Xbox One For Windows)" (5 axes, 16 buttons, 1 hat) Windows 10, GTK
+# [045e:0001] "Bluetooth LE XINPUT compatible input device" (5 axes, 16 buttons, 1 hat) Windows 10, GTK
+# Driver - default Windows driver
+# Tested successfully with:
+# - Wired Xbox one controller
+# - Wireless Xbox one controller used with a USB cable
+# - Wireless Xbox one controller (newer model) with bluetooth (appears as "Bluetooth LE XINPUT compatible input device" in GTK)
+# NOTE if the Xbox button (mapped to pause) doesn't register, update the controller firmware.
+# Untested - Older Xbox one wireless controllers (not bluetooth compatible) using Xbox wireless adapter
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 4 0
+0 0 5 0
+
+0 0 3 6 1
+
+0 0 4 6 2
+
+0 1 0 1 16
+0 1 1 1 64
+0 1 2 1 32
+0 1 3 1 128
+0 1 4 1 256
+0 1 5 1 512
+0 1 6 1 1024
+0 1 7 1 2048
+0 1 8 0
+0 1 9 0
+0 1 10 5 pause-toggle
+0 1 11 0
+0 1 12 0
+0 1 13 0
+0 1 14 0
+0 1 15 0
+
+0 2 0 1 1
+0 2 1 1 2
+0 2 2 1 4
+0 2 3 1 8
Added: trunk/vice/data/common/sdl_joymap_8bitdo_6b.vjm
===================================================================
--- trunk/vice/data/common/sdl_joymap_8bitdo_6b.vjm (rev 0)
+++ trunk/vice/data/common/sdl_joymap_8bitdo_6b.vjm 2026-04-08 18:37:46 UTC (rev 46065)
@@ -0,0 +1,60 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col keyboard
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+# This file was taken from https://github.com/aminch/8-bit-pc-pi-compile/
+#
+# for use with the https://www.8bitdo.com "6b" controller
+
+!CLEAR
+
+# 6B controller
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 4 0
+0 0 5 0
+
+0 1 0 1 64
+0 1 1 1 16
+0 1 2 1 32
+0 1 3 0
+0 1 4 0
+0 1 5 1 1
+0 1 6 0
+0 1 7 0
+0 1 8 4
+0 1 9 0
+
+
Added: trunk/vice/data/common/sdl_joymap_ds3.vjm
===================================================================
--- trunk/vice/data/common/sdl_joymap_ds3.vjm (rev 0)
+++ trunk/vice/data/common/sdl_joymap_ds3.vjm 2026-04-08 18:37:46 UTC (rev 46065)
@@ -0,0 +1,75 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [054c:0268] "PLAYSTATION(R)3 Controller" (6 axes, 17 buttons, 0 hats) Linux, SDL
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 4 0
+0 0 5 0
+
+0 0 3 6 1
+
+0 0 4 6 2
+
+0 0 10 0
+0 0 11 0
+
+0 1 0 1 16
+0 1 1 1 64
+0 1 2 1 128
+0 1 3 1 32
+0 1 4 1 256
+0 1 5 1 512
+0 1 6 0
+0 1 7 0
+0 1 8 1 1024
+0 1 9 1 2048
+0 1 10 5 pause-toggle
+0 1 11 0
+0 1 12 0
+0 1 13 1 1
+0 1 14 1 2
+0 1 15 1 4
+0 1 16 1 8
+
+
+
Added: trunk/vice/data/common/sdl_joymap_ds4.vjm
===================================================================
--- trunk/vice/data/common/sdl_joymap_ds4.vjm (rev 0)
+++ trunk/vice/data/common/sdl_joymap_ds4.vjm 2026-04-08 18:37:46 UTC (rev 46065)
@@ -0,0 +1,73 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [054c:09cc] "Sony Interactive Entertainment Wireless Controller" (6 axes, 13 buttons, 1 hat) Linux, SDL
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 4 0
+0 0 5 0
+
+0 0 3 6 1
+
+0 0 4 6 2
+
+0 0 10 0
+0 0 11 0
+
+0 1 0 1 16
+0 1 1 1 64
+0 1 2 1 128
+0 1 3 1 32
+0 1 4 1 256
+0 1 5 1 512
+0 1 6 0
+0 1 7 0
+0 1 8 1 1024
+0 1 9 1 2048
+0 1 10 5 pause-toggle
+0 1 11 0
+0 1 12 0
+
+0 2 0 1 1
+0 2 1 1 2
+0 2 2 1 4
+0 2 3 1 8
Added: trunk/vice/data/common/sdl_joymap_ds4_windows.vjm
===================================================================
--- trunk/vice/data/common/sdl_joymap_ds4_windows.vjm (rev 0)
+++ trunk/vice/data/common/sdl_joymap_ds4_windows.vjm 2026-04-08 18:37:46 UTC (rev 46065)
@@ -0,0 +1,65 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [054c:09cc] "PS4 Controller" (6 axes, 16 buttons, 0 hats) Windows 10, SDL
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 2 6 1
+0 0 3 6 2
+
+0 1 0 1 16
+0 1 1 1 64
+0 1 2 1 32
+0 1 3 1 128
+0 1 4 1 1024
+0 1 5 0
+0 1 6 1 2048
+0 1 7 0
+0 1 8 0
+0 1 9 1 256
+0 1 10 1 512
+0 1 11 1 1
+0 1 12 1 2
+0 1 13 1 4
+0 1 14 1 8
+0 1 15 0
+
Added: trunk/vice/data/common/sdl_joymap_ds5.vjm
===================================================================
--- trunk/vice/data/common/sdl_joymap_ds5.vjm (rev 0)
+++ trunk/vice/data/common/sdl_joymap_ds5.vjm 2026-04-08 18:37:46 UTC (rev 46065)
@@ -0,0 +1,73 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [054c:0ce6] "Sony Interactive Entertainment DualSense Wireless Controller" (6 axes, 13 buttons, 1 hat) Linux, SDL
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 4 0
+0 0 5 0
+
+0 0 3 6 1
+
+0 0 4 6 2
+
+0 0 10 0
+0 0 11 0
+
+0 1 0 1 16
+0 1 1 1 64
+0 1 2 1 128
+0 1 3 1 32
+0 1 4 1 256
+0 1 5 1 512
+0 1 6 0
+0 1 7 0
+0 1 8 1 1024
+0 1 9 1 2048
+0 1 10 5 pause-toggle
+0 1 11 0
+0 1 12 0
+
+0 2 0 1 1
+0 2 1 1 2
+0 2 2 1 4
+0 2 3 1 8
Added: trunk/vice/data/common/sdl_joymap_keyrah_v3.vjm
===================================================================
--- trunk/vice/data/common/sdl_joymap_keyrah_v3.vjm (rev 0)
+++ trunk/vice/data/common/sdl_joymap_keyrah_v3.vjm 2026-04-08 18:37:46 UTC (rev 46065)
@@ -0,0 +1,49 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col keyboard
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# Joystick
+0 0 0 1 8
+0 0 1 1 4
+0 0 2 1 2
+0 0 3 1 1
+
+# paddles
+0 0 2 6 1
+0 0 3 6 2
+
+# buttons
+0 1 0 1 16
+0 1 1 1 32
+0 1 2 1 64
+
Added: trunk/vice/data/common/sdl_joymap_thec64.vjm
===================================================================
--- trunk/vice/data/common/sdl_joymap_thec64.vjm (rev 0)
+++ trunk/vice/data/common/sdl_joymap_thec64.vjm 2026-04-08 18:37:46 UTC (rev 46065)
@@ -0,0 +1,49 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flgs keyboard (flags: 1 = shifted)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# THEC64 Joystick
+0 0 0 1 8
+0 0 1 1 4
+0 0 2 1 2
+0 0 3 1 1
+
+0 1 0 1 16
+0 1 1 1 16
+0 1 2 1 32
+0 1 3 1 64
+0 1 4 5 virtual-keyboard
+0 1 5 5 show-statusbar-toggle
+0 1 6 5 pause-toggle
+0 1 7 4
+
Added: trunk/vice/data/common/sdl_joymap_xbox360.vjm
===================================================================
--- trunk/vice/data/common/sdl_joymap_xbox360.vjm (rev 0)
+++ trunk/vice/data/common/sdl_joymap_xbox360.vjm 2026-04-08 18:37:46 UTC (rev 46065)
@@ -0,0 +1,63 @@
+# Controller (Cyborg Rumble Pad - PC/Xbox 360)
+
+# Left analog stick - right
+0 0 0 1 8
+# Left analog stick - left
+0 0 1 1 4
+
+# Left analog stick - down
+0 0 2 1 2
+# Left analog stick - up
+0 0 3 1 1
+
+# Right analog stick - right
+0 0 4 0
+# Right analog stick - left
+0 0 5 0
+
+# Right analog stick - down
+0 0 6 0
+# Right analog stick - up
+0 0 7 0
+
+# Left analog trigger - pressed
+0 0 8 0
+# Left analog trigger - released
+0 0 9 0
+
+# Right analog trigger - pressed
+0 0 10 0
+# Right analog trigger - released
+0 0 11 0
+
+# A
+0 1 0 1 16
+# B
+0 1 1 1 32
+# X
+0 1 2 1 64
+# Y
+0 1 3 0
+# LB
+0 1 4 0
+# RB
+0 1 5 0
+# Back
+0 1 6 0
+# Start
+0 1 7 0
+# LSB
+0 1 8 0
+# RSB
+0 1 9 0
+# Guide
+0 1 10 0
+
+# DPAD up
+0 2 0 1 1
+# DPAD down
+0 2 1 1 2
+# DPAD left
+0 2 2 1 4
+# DPAD right
+0 2 3 1 8
Added: trunk/vice/data/common/sdl_joymap_xbox_one_windows.vjm
===================================================================
--- trunk/vice/data/common/sdl_joymap_xbox_one_windows.vjm (rev 0)
+++ trunk/vice/data/common/sdl_joymap_xbox_one_windows.vjm 2026-04-08 18:37:46 UTC (rev 46065)
@@ -0,0 +1,78 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [045e:02ff] "Xbox One Controller" (6 axes, 16 buttons, 1 hat) Windows 10, SDL
+# [045e:0b20] "Xbox One S Controller" (6 axes, 16 buttons, 1 hat) Windows 10, SDL
+# Driver - default Windows driver
+# Tested successfully with:
+# - Wired Xbox one controller
+# - Wireless Xbox one controller used with a USB cable
+# - Wireless Xbox one controller (newer model) with bluetooth (appears as "Xbox One S Controller" in SDL)
+# NOTE if the Xbox button (mapped to pause) doesn't register, update the controller firmware.
+# Untested - Older Xbox one wireless controllers (not bluetooth compatible) using Xbox wireless adapter
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 2 6 1
+
+0 0 3 6 2
+
+0 1 0 1 16
+0 1 1 1 64
+0 1 2 1 32
+0 1 3 1 128
+0 1 4 1 256
+0 1 5 1 512
+0 1 6 1 1024
+0 1 7 1 2048
+0 1 8 0
+0 1 9 0
+0 1 10 5 pause-toggle
+0 1 11 0
+0 1 12 0
+0 1 13 0
+0 1 14 0
+0 1 15 0
+
+0 2 0 1 1
+0 2 1 1 2
+0 2 2 1 4
+0 2 3 1 8
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2026-04-08 15:37:18
|
Revision: 46064
http://sourceforge.net/p/vice-emu/code/46064
Author: gpz
Date: 2026-04-08 15:37:17 +0000 (Wed, 08 Apr 2026)
Log Message:
-----------
make FIXMEs more clear hopefully
Modified Paths:
--------------
trunk/vice/src/arch/gtk3/joystickdrv/joystick_osx.c
Modified: trunk/vice/src/arch/gtk3/joystickdrv/joystick_osx.c
===================================================================
--- trunk/vice/src/arch/gtk3/joystickdrv/joystick_osx.c 2026-04-08 15:15:58 UTC (rev 46063)
+++ trunk/vice/src/arch/gtk3/joystickdrv/joystick_osx.c 2026-04-08 15:37:17 UTC (rev 46064)
@@ -46,8 +46,7 @@
#define HID_CODE(page, usage) (((page) << 16) | (usage))
-/* FIXME: this should not be here, remapping happens one level higher
- * This hat map was created from values observed on macOS 12 with PS4 and PS5 controller (bluetooth),
+/* This hat map was created from values observed on macOS 12 with PS4 and PS5 controller (bluetooth),
* and based on various searches other controllers use this scheme. Xbox controllers are slightly
* different which is handled via a hack later.
*/
@@ -227,6 +226,7 @@
axis->minimum = e->min_lvalue;
axis->maximum = e->max_lvalue;
+ /* FIXME: this should not be here, default mapping happens one level above */
/* HACK: Get axis used as joystick by default */
if (is_joy_axis) {
axis->mapping.negative.action = JOY_ACTION_JOYSTICK;
@@ -285,7 +285,11 @@
}
}
-/* FIXME: this should not be here, its the job of the OS */
+/* FIXME: this should probably not be here, its the job of the OS */
+/* apparently ds3 is supposed to work out of the box?
+ * https://www.thetechedvocate.org/how-to-connect-a-ps3-controller-to-your-mac/
+ * https://osxdaily.com/2014/12/28/connect-playstation-3-controller-mac-os-x/
+ */
static void joy_hidlib_device_specific_init_ps3(joystick_device_t *joydev)
{
IOHIDDeviceRef dev = ((joy_hid_device_t *)joydev->priv)->internal_device;
@@ -460,7 +464,7 @@
case kHIDUsage_GD_Hatswitch:
if (joy_hidlib_get_value(device, &e, &value, 0) >= 0) {
if (joydev->vendor == 0x45e) {
- /* FIXME: this should not be here, remapping happens one level higher
+ /* FIXME: not sure this is actually needed, a properly configured mapping might do it
* Microsoft device hack ... idea from godot source:
* https://github.com/godotengine/godot/blob/master/platform/osx/joypad_osx.cpp
*
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <st...@us...> - 2026-04-08 15:15:59
|
Revision: 46063
http://sourceforge.net/p/vice-emu/code/46063
Author: strobey
Date: 2026-04-08 15:15:58 +0000 (Wed, 08 Apr 2026)
Log Message:
-----------
Update Xbox One joystick mapping now that I found a Bluetooth one. Remove L2/R2 trigger mapping as it conflicts if you try to use the GTK mapping in SDL and it wasn't necessary anyway.
Add an SDL Xbox One mapping file because of course they are subtly different, the paddle mapping to the right analogue stick is broken between the GUIs :-/
Modified Paths:
--------------
trunk/vice/data/C64/joymap_xbox_one.vjm
Added Paths:
-----------
trunk/vice/data/C64/sdl_joymap_xbox_one.vjm
Modified: trunk/vice/data/C64/joymap_xbox_one.vjm
===================================================================
--- trunk/vice/data/C64/joymap_xbox_one.vjm 2026-04-08 14:51:17 UTC (rev 46062)
+++ trunk/vice/data/C64/joymap_xbox_one.vjm 2026-04-08 15:15:58 UTC (rev 46063)
@@ -36,10 +36,14 @@
!CLEAR
# [045e:0001] "Controller (Xbox One For Windows)" (5 axes, 16 buttons, 1 hat) Windows 10, GTK
+# [045e:0001] "Bluetooth LE XINPUT compatible input device" (5 axes, 16 buttons, 1 hat) Windows 10, GTK
# Driver - default Windows driver
-# NOTE this is only tested (so far) with:
-# - Wired (only) xbox one controller
-# - Wireless xbox one controller used with a USB cable (not bluetooth)
+# Tested successfully with:
+# - Wired Xbox one controller
+# - Wireless Xbox one controller used with a USB cable
+# - Wireless Xbox one controller (newer model) with bluetooth (appears as "Bluetooth LE XINPUT compatible input device" in GTK)
+# NOTE if the Xbox button (mapped to pause) doesn't register, update the controller firmware.
+# Untested - Older Xbox one wireless controllers (not bluetooth compatible) using Xbox wireless adapter
0 0 0 1 8
0 0 1 1 4
@@ -47,8 +51,8 @@
0 0 2 1 2
0 0 3 1 1
-0 0 4 1 256
-0 0 5 1 512
+0 0 4 0
+0 0 5 0
0 0 3 6 1
Added: trunk/vice/data/C64/sdl_joymap_xbox_one.vjm
===================================================================
--- trunk/vice/data/C64/sdl_joymap_xbox_one.vjm (rev 0)
+++ trunk/vice/data/C64/sdl_joymap_xbox_one.vjm 2026-04-08 15:15:58 UTC (rev 46063)
@@ -0,0 +1,78 @@
+# VICE joystick mapping file
+#
+# A joystick map is read in as patch to the current map.
+#
+# File format:
+# - comment lines start with '#'
+# - keyword lines start with '!keyword'
+# - normal line has 'joynum inputtype inputindex action'
+#
+# Keywords and their lines are:
+# '!CLEAR' clear all mappings
+#
+# inputtype:
+# 0 axis
+# 1 button
+# 2 hat
+#
+# For buttons, inputindex is the zero-based index of the button.
+# For hats: hat 0 has inputindex 0,1,2,3 respectively for up, down, left and
+# right. Hat 1 has 5,6,7,8 etc.
+# For axes, and action 1 (joystick) and 2 (keyboard): axis 0 has inputindex
+# 0,1 respectively for positive and negative, axis 1 has 2,3 etc.
+# For axes, and action 6 (pot axis): inputindex is the zero-based index of the
+# axis.
+#
+# action [action_parameters]:
+# 0 none
+# 1 pin joystick (pin: 1/2/4/8/16/32/64 = u/d/l/r/fire/fire2/fire3)
+# 2 row col flags keyboard (flags: 1=shift)
+# 3 map
+# 4 UI activate
+# 5 action-name UI function
+# 6 pot potentiometer (1=pot x, 2=pot y)
+#
+
+!CLEAR
+
+# [045e:02ff] "Xbox One Controller" (6 axes, 16 buttons, 1 hat) Windows 10, SDL
+# [045e:0b20] "Xbox One S Controller" (6 axes, 16 buttons, 1 hat) Windows 10, SDL
+# Driver - default Windows driver
+# Tested successfully with:
+# - Wired Xbox one controller
+# - Wireless Xbox one controller used with a USB cable
+# - Wireless Xbox one controller (newer model) with bluetooth (appears as "Xbox One S Controller" in SDL)
+# NOTE if the Xbox button (mapped to pause) doesn't register, update the controller firmware.
+# Untested - Older Xbox one wireless controllers (not bluetooth compatible) using Xbox wireless adapter
+
+0 0 0 1 8
+0 0 1 1 4
+
+0 0 2 1 2
+0 0 3 1 1
+
+0 0 2 6 1
+
+0 0 3 6 2
+
+0 1 0 1 16
+0 1 1 1 64
+0 1 2 1 32
+0 1 3 1 128
+0 1 4 1 256
+0 1 5 1 512
+0 1 6 1 1024
+0 1 7 1 2048
+0 1 8 0
+0 1 9 0
+0 1 10 5 pause-toggle
+0 1 11 0
+0 1 12 0
+0 1 13 0
+0 1 14 0
+0 1 15 0
+
+0 2 0 1 1
+0 2 1 1 2
+0 2 2 1 4
+0 2 3 1 8
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2026-04-08 14:51:19
|
Revision: 46062
http://sourceforge.net/p/vice-emu/code/46062
Author: gpz
Date: 2026-04-08 14:51:17 +0000 (Wed, 08 Apr 2026)
Log Message:
-----------
use a dedicated resource 'JoysticksAreSwapped' for swapping joystick ports, instead of actually swapping the related resources.
Modified Paths:
--------------
trunk/vice/doc/vice.texi
trunk/vice/src/arch/gtk3/actions-joystick.c
trunk/vice/src/arch/gtk3/widgets/settings_joystick.c
trunk/vice/src/arch/sdl/actions-joystick.c
trunk/vice/src/arch/sdl/joy.c
trunk/vice/src/arch/sdl/menu_joystick.c
trunk/vice/src/joyport/joyport.c
Modified: trunk/vice/doc/vice.texi
===================================================================
--- trunk/vice/doc/vice.texi 2026-04-08 14:49:22 UTC (rev 46061)
+++ trunk/vice/doc/vice.texi 2026-04-08 14:51:17 UTC (rev 46062)
@@ -4412,6 +4412,10 @@
@table @code
+@vindex JoysticksAreSwapped
+@item JoysticksAreSwapped
+Boolean indicating whether the first two joysticks/controllers are swapped.
+
@vindex JoyPort1Device
@item JoyPort1Device
Set the device attached to:
@@ -4491,6 +4495,12 @@
@table @code
+@vindex -swapjoysticks, +swapjoysticks
+@item -swapjoysticks
+@item +swapjoysticks
+Swap/do not swap the first two joysticks/controllers.
+(@code{JoysticksAreSwapped})
+
@findex -controlport1device
@item -controlport1device <device>
Set the device attached to:
Modified: trunk/vice/src/arch/gtk3/actions-joystick.c
===================================================================
--- trunk/vice/src/arch/gtk3/actions-joystick.c 2026-04-08 14:49:22 UTC (rev 46061)
+++ trunk/vice/src/arch/gtk3/actions-joystick.c 2026-04-08 14:51:17 UTC (rev 46062)
@@ -49,11 +49,6 @@
#include "actions-joystick.h"
-/** \brief Joysticks swapped state
- */
-static bool controlport_swapped = false;
-
-
/** \brief Get controlport swapped state
*
* \return `true` if swapped
@@ -60,7 +55,9 @@
*/
bool ui_get_controlport_swapped(void)
{
- return controlport_swapped;
+ int swapped = 0;
+ resources_get_int("JoysticksAreSwapped", &swapped);
+ return swapped;
}
@@ -70,40 +67,10 @@
*/
static void swap_controlport_toggle_action(ui_action_map_t *self)
{
- int joy1 = -1;
- int joy2 = -1;
- int type1 = -1;
- int type2 = -1;
-
- resources_get_int("JoyPort1Device", &type1);
- resources_get_int("JoyPort2Device", &type2);
-
- /* unset both resources first to avoid assigning for example the mouse to
- * two ports. here might be dragons!
- */
- resources_set_int("JoyPort1Device", 0);
- resources_set_int("JoyPort2Device", 0);
-
- /* try setting port #2 first, some devices only work in port #1 */
- if (resources_set_int("JoyPort2Device", type1) < 0) {
- /* restore config */
- resources_set_int("JoyPort1Device", type1);
- resources_set_int("JoyPort2Device", type2);
- return;
- }
- if (resources_set_int("JoyPort1Device", type2) < 0) {
- /* restore config */
- resources_set_int("JoyPort1Device", type1);
- resources_set_int("JoyPort2Device", type2);
- return;
- }
-
- resources_get_int("JoyDevice1", &joy1);
- resources_get_int("JoyDevice2", &joy2);
- resources_set_int("JoyDevice1", joy2);
- resources_set_int("JoyDevice2", joy1);
- controlport_swapped = !controlport_swapped;
- vhk_gtk_set_check_item_blocked_by_action(self->action, controlport_swapped);
+ int swapped = 0;
+ resources_get_int("JoysticksAreSwapped", &swapped);
+ resources_set_int("JoysticksAreSwapped", swapped ^ 1);
+ vhk_gtk_set_check_item_blocked_by_action(self->action, swapped);
}
/** \brief Toggle keyset joysticks
@@ -196,7 +163,7 @@
/* swap joysticks */
if (ui_action_is_valid(ACTION_SWAP_CONTROLPORT_TOGGLE)) {
vhk_gtk_set_check_item_blocked_by_action(ACTION_SWAP_CONTROLPORT_TOGGLE,
- (gboolean)controlport_swapped);
+ (gboolean)ui_get_controlport_swapped());
}
/* keyset joysticks */
Modified: trunk/vice/src/arch/gtk3/widgets/settings_joystick.c
===================================================================
--- trunk/vice/src/arch/gtk3/widgets/settings_joystick.c 2026-04-08 14:49:22 UTC (rev 46061)
+++ trunk/vice/src/arch/gtk3/widgets/settings_joystick.c 2026-04-08 14:51:17 UTC (rev 46062)
@@ -131,9 +131,6 @@
*/
static void on_swap_joysticks_toggled(GtkWidget *button, gpointer data)
{
- int joy1 = -1;
- int joy2 = -1;
-
ui_action_trigger(ACTION_SWAP_CONTROLPORT_TOGGLE);
/* make sure to set the correct state, swapping might fail due to certain
@@ -140,15 +137,6 @@
* devices not being allowed on certain ports */
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button),
ui_get_controlport_swapped());
-
- /* get current values */
- resources_get_int_sprintf("JoyDevice%d", &joy1, 1);
- resources_get_int_sprintf("JoyDevice%d", &joy2, 2);
-
- /* updating the widgets (triggers updating the resources but since they're
- * the same nothing will happen) */
- joystick_device_widget_update(device_widgets[JOYPORT_1], joy1);
- joystick_device_widget_update(device_widgets[JOYPORT_2], joy2);
}
/** \brief Handler for the 'clicked' event of the "Configure keysets" button
Modified: trunk/vice/src/arch/sdl/actions-joystick.c
===================================================================
--- trunk/vice/src/arch/sdl/actions-joystick.c 2026-04-08 14:49:22 UTC (rev 46061)
+++ trunk/vice/src/arch/sdl/actions-joystick.c 2026-04-08 14:51:17 UTC (rev 46062)
@@ -75,13 +75,3 @@
{
ui_actions_register(joystick_actions);
}
-
-
-/** \brief Custom display callback for "swap-controlport-toggle"
- *
- * \param[in] item menu item (unused)
- */
-const char *swap_controlport_toggle_display(ui_menu_entry_t *item)
-{
- return sdljoy_get_swap_ports() ? MENU_CHECKMARK_CHECKED_STRING : NULL;
-}
Modified: trunk/vice/src/arch/sdl/joy.c
===================================================================
--- trunk/vice/src/arch/sdl/joy.c 2026-04-08 14:49:22 UTC (rev 46061)
+++ trunk/vice/src/arch/sdl/joy.c 2026-04-08 14:51:17 UTC (rev 46062)
@@ -864,22 +864,18 @@
/* ------------------------------------------------------------------------- */
-static int _sdljoy_swap_ports = 0;
-
void sdljoy_swap_ports(void)
{
- int i, k;
-
- resources_get_int("JoyDevice1", &i);
- resources_get_int("JoyDevice2", &k);
- resources_set_int("JoyDevice1", k);
- resources_set_int("JoyDevice2", i);
- _sdljoy_swap_ports ^= 1;
+ int swapped = 0;
+ resources_get_int("JoysticksAreSwapped", &swapped);
+ resources_set_int("JoysticksAreSwapped", swapped ^ 1);
}
int sdljoy_get_swap_ports(void)
{
- return _sdljoy_swap_ports;
+ int swapped = 0;
+ resources_get_int("JoysticksAreSwapped", &swapped);
+ return swapped;
}
void joystick_arch_shutdown(void)
@@ -894,12 +890,9 @@
void sdljoy_swap_ports(void)
{
- int i, k;
-
- resources_get_int("JoyDevice1", &i);
- resources_get_int("JoyDevice2", &k);
- resources_set_int("JoyDevice1", k);
- resources_set_int("JoyDevice2", i);
+ int swapped = 0;
+ resources_get_int("JoysticksAreSwapped", &swapped);
+ resources_set_int("JoysticksAreSwapped", swapped ^ 1);
}
void joystick(void)
Modified: trunk/vice/src/arch/sdl/menu_joystick.c
===================================================================
--- trunk/vice/src/arch/sdl/menu_joystick.c 2026-04-08 14:49:22 UTC (rev 46061)
+++ trunk/vice/src/arch/sdl/menu_joystick.c 2026-04-08 14:51:17 UTC (rev 46062)
@@ -1031,8 +1031,8 @@
},
{ .action = ACTION_SWAP_CONTROLPORT_TOGGLE,
.string = "Swap native joystick ports",
- .type = MENU_ENTRY_OTHER_TOGGLE,
- .displayed = swap_controlport_toggle_display
+ .type = MENU_ENTRY_RESOURCE_TOGGLE,
+ .resource = "JoysticksAreSwapped"
},
SDL_MENU_ITEM_SEPARATOR,
@@ -1147,8 +1147,8 @@
},
{ .action = ACTION_SWAP_CONTROLPORT_TOGGLE,
.string = "Swap native joystick ports",
- .type = MENU_ENTRY_OTHER_TOGGLE,
- .displayed = swap_controlport_toggle_display
+ .type = MENU_ENTRY_RESOURCE_TOGGLE,
+ .resource = "JoysticksAreSwapped"
},
SDL_MENU_ITEM_SEPARATOR,
@@ -1262,8 +1262,8 @@
},
{ .action = ACTION_SWAP_CONTROLPORT_TOGGLE,
.string = "Swap native joystick ports",
- .type = MENU_ENTRY_OTHER_TOGGLE,
- .displayed = swap_controlport_toggle_display
+ .type = MENU_ENTRY_RESOURCE_TOGGLE,
+ .resource = "JoysticksAreSwapped"
},
SDL_MENU_ITEM_SEPARATOR,
@@ -1384,8 +1384,8 @@
},
{ .action = ACTION_SWAP_CONTROLPORT_TOGGLE,
.string = "Swap native joystick ports",
- .type = MENU_ENTRY_OTHER_TOGGLE,
- .displayed = swap_controlport_toggle_display
+ .type = MENU_ENTRY_RESOURCE_TOGGLE,
+ .resource = "JoysticksAreSwapped"
},
SDL_MENU_ITEM_SEPARATOR,
Modified: trunk/vice/src/joyport/joyport.c
===================================================================
--- trunk/vice/src/joyport/joyport.c 2026-04-08 14:49:22 UTC (rev 46061)
+++ trunk/vice/src/joyport/joyport.c 2026-04-08 14:51:17 UTC (rev 46062)
@@ -78,6 +78,9 @@
#define DBG(x)
#endif
+/* resource */
+static int joysticks_are_swapped;
+
static joyport_t joyport_device[JOYPORT_MAX_DEVICES];
static uint16_t joyport_display[JOYPORT_MAX_PORTS + 1];
@@ -106,9 +109,12 @@
{ -1, NULL }
};
+#define POT_PORT_UNINITIALIZED -1
+#define POT_PORT_NOT_FOUND -2
static int pot_port1 = -1;
static int pot_port2 = -1;
+/* find first two control ports that have POT inputs */
static void find_pot_ports(void)
{
int i;
@@ -115,18 +121,18 @@
for (i = 0; i < JOYPORT_MAX_PORTS; ++i) {
if (port_props[i].has_pot) {
- if (pot_port1 == -1) {
+ if (pot_port1 == POT_PORT_UNINITIALIZED) {
pot_port1 = i;
- } else {
+ } else if (pot_port2 == POT_PORT_UNINITIALIZED) {
pot_port2 = i;
}
}
}
- if (pot_port1 == -1) {
- pot_port1 = -2;
+ if (pot_port1 == POT_PORT_UNINITIALIZED) {
+ pot_port1 = POT_PORT_NOT_FOUND;
}
- if (pot_port2 == -1) {
- pot_port2 = -2;
+ if (pot_port2 == POT_PORT_UNINITIALIZED) {
+ pot_port2 = POT_PORT_NOT_FOUND;
}
}
@@ -156,11 +162,12 @@
int val2y = 255;
/* find the pot ports if needed */
- if (pot_port1 == -1 || pot_port2 == -1) {
+ if ((pot_port1 == POT_PORT_UNINITIALIZED) ||
+ (pot_port2 == POT_PORT_UNINITIALIZED)) {
find_pot_ports();
}
/* set bit in testmask for each port that has a pot connected */
- if (pot_port1 != -2) {
+ if (pot_port1 != POT_PORT_NOT_FOUND) {
id1 = joy_port[pot_port1];
if (id1 != JOYPORT_ID_NONE) {
/* get POT value */
@@ -178,7 +185,7 @@
}
}
}
- if (pot_port2 != -2) {
+ if (pot_port2 != POT_PORT_NOT_FOUND) {
id2 = joy_port[pot_port2];
if (id2 != JOYPORT_ID_NONE) {
/* get POT value */
@@ -350,8 +357,14 @@
/* read the digital lines from port 'port' */
uint8_t read_joyport_dig(int port)
{
- int id = joy_port[port];
+ int id;
+ if (joysticks_are_swapped && (port < 2)) {
+ port ^= 1;
+ }
+
+ id = joy_port[port];
+
if (id == JOYPORT_ID_NONE) {
return 0xff;
}
@@ -359,6 +372,7 @@
if (!joyport_device[id].read_digital) {
return 0xff;
}
+
return joyport_device[id].read_digital(port);
}
@@ -365,9 +379,15 @@
/* drive the digital lines that are indicated as active in 'mask' with value 'val' of port 'port' */
void store_joyport_dig(int port, uint8_t val, uint8_t mask)
{
- int id = joy_port[port];
uint8_t store_val;
+ int id;
+ if (joysticks_are_swapped && (port < 2)) {
+ port ^= 1;
+ }
+
+ id = joy_port[port];
+
if (id == JOYPORT_ID_NONE) {
return;
}
@@ -392,12 +412,13 @@
int get_joyport_pot_type(void)
{
/* first find the pot ports if needed */
- if (pot_port1 == -1 || pot_port2 == -1) {
+ if ((pot_port1 == POT_PORT_UNINITIALIZED) ||
+ (pot_port2 == POT_PORT_UNINITIALIZED)) {
find_pot_ports();
}
if (pot_port_mask == 1 || pot_port_mask == 3) {
- if (pot_port1 != -2) {
+ if (pot_port1 != POT_PORT_NOT_FOUND) {
switch (joy_port[pot_port1]) {
case JOYPORT_ID_MOUSE_1351:
case JOYPORT_ID_MOUSE_SMART:
@@ -408,7 +429,7 @@
}
if (pot_port_mask == 2 || pot_port_mask == 3) {
- if (pot_port2 != -2) {
+ if (pot_port2 != POT_PORT_NOT_FOUND) {
switch (joy_port[pot_port2]) {
case JOYPORT_ID_MOUSE_1351:
case JOYPORT_ID_MOUSE_SMART:
@@ -464,22 +485,29 @@
uint8_t ret2 = 0xff;
/* first find the pot ports if needed */
- if (pot_port1 == -1 || pot_port2 == -1) {
+ if ((pot_port1 == POT_PORT_UNINITIALIZED) ||
+ (pot_port2 == POT_PORT_UNINITIALIZED)) {
find_pot_ports();
}
if (pot_port_mask == 1 || pot_port_mask == 3) {
- if (pot_port1 != -2) {
+ if (pot_port1 != POT_PORT_NOT_FOUND) {
id1 = joy_port[pot_port1];
}
}
if (pot_port_mask == 2 || pot_port_mask == 3) {
- if (pot_port2 != -2) {
+ if (pot_port2 != POT_PORT_NOT_FOUND) {
id2 = joy_port[pot_port2];
}
}
+ if (joysticks_are_swapped) {
+ int tmp = id1;
+ id1 = id2;
+ id2 = tmp;
+ }
+
if (id1 != JOYPORT_ID_NONE) {
if (joyport_device[id1].read_potx) {
ret1 = joyport_device[id1].read_potx(pot_port1);
@@ -494,12 +522,18 @@
DBG(("read_joyport_potx id: %d %d ret: %d %d", id1, id2, ret1, ret2));
+ if (joysticks_are_swapped) {
+ int tmp = ret1;
+ ret1 = ret2;
+ ret2 = tmp;
+ }
+
switch (pot_port_mask) {
- case 1:
+ case 1: /* port 1 */
return ret1;
- case 2:
+ case 2: /* port 2 */
return ret2;
- case 3:
+ case 3: /* both ports */
return calc_parallel_paddle_value(ret1, ret2);
default:
return 0xff;
@@ -515,22 +549,29 @@
uint8_t ret2 = 0xff;
/* first find the pot ports if needed */
- if (pot_port1 == -1 || pot_port2 == -1) {
+ if ((pot_port1 == POT_PORT_UNINITIALIZED) ||
+ (pot_port2 == POT_PORT_UNINITIALIZED)) {
find_pot_ports();
}
if (pot_port_mask == 1 || pot_port_mask == 3) {
- if (pot_port1 != -2) {
+ if (pot_port1 != POT_PORT_NOT_FOUND) {
id1 = joy_port[pot_port1];
}
}
if (pot_port_mask == 2 || pot_port_mask == 3) {
- if (pot_port2 != -2) {
+ if (pot_port2 != POT_PORT_NOT_FOUND) {
id2 = joy_port[pot_port2];
}
}
+ if (joysticks_are_swapped) {
+ int tmp = id1;
+ id1 = id2;
+ id2 = tmp;
+ }
+
if (id1 != JOYPORT_ID_NONE) {
if (joyport_device[id1].read_poty) {
ret1 = joyport_device[id1].read_poty(pot_port1);
@@ -543,12 +584,18 @@
}
}
+ if (joysticks_are_swapped) {
+ int tmp = ret1;
+ ret1 = ret2;
+ ret2 = tmp;
+ }
+
switch (pot_port_mask) {
- case 1:
+ case 1: /* port 1 */
return ret1;
- case 2:
+ case 2: /* port 2 */
return ret2;
- case 3:
+ case 3: /* both ports */
return calc_parallel_paddle_value(ret1, ret2);
default:
return 0xff;
@@ -1454,6 +1501,12 @@
return joyport_set_device(port, val);
}
+static int set_joysticks_are_swapped(int val, void *param)
+{
+ joysticks_are_swapped = val ? 1 : 0;
+ return 0;
+}
+
static const resource_int_t resources_int_port1[] = {
{ "JoyPort1Device", JOYPORT_ID_JOYSTICK, RES_EVENT_NO, NULL,
&joy_port[JOYPORT_1], set_joyport_device, (void *)JOYPORT_1 },
@@ -1520,10 +1573,20 @@
RESOURCE_INT_LIST_END
};
+static const resource_int_t resources_int_joyport[] = {
+ { "JoysticksAreSwapped", 0, RES_EVENT_NO, NULL,
+ &joysticks_are_swapped, set_joysticks_are_swapped, (void *)0 },
+ RESOURCE_INT_LIST_END
+};
+
int joyport_resources_init(void)
{
int i;
+ if (resources_register_int(resources_int_joyport) < 0) {
+ return -1;
+ }
+
memset(joyport_device, 0, sizeof(joyport_device));
joyport_device[0].name = "None";
joyport_device[0].is_lp = JOYPORT_IS_NOT_LIGHTPEN;
@@ -1873,10 +1936,25 @@
CMDLINE_LIST_END
};
+static cmdline_option_t cmdline_options_joyport[] =
+{
+ { "-swapjoysticks", SET_RESOURCE, CMDLINE_ATTRIB_NONE,
+ NULL, NULL, "JoysticksAreSwapped", (resource_value_t)1,
+ NULL, "Swap joystick ports." },
+ { "+swapjoysticks", SET_RESOURCE, CMDLINE_ATTRIB_NONE,
+ NULL, NULL, "JoysticksAreSwapped", (resource_value_t)0,
+ NULL, "Do not swap joystick ports." },
+ CMDLINE_LIST_END
+};
+
int joyport_cmdline_options_init(void)
{
union char_func cf;
+ if (cmdline_register_options(cmdline_options_joyport) < 0) {
+ return -1;
+ }
+
if (port_props[JOYPORT_1].name) {
cf.f = build_joyport_string;
cmdline_options_port1[0].description = cf.c;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2026-04-08 14:49:23
|
Revision: 46061
http://sourceforge.net/p/vice-emu/code/46061
Author: gpz
Date: 2026-04-08 14:49:22 +0000 (Wed, 08 Apr 2026)
Log Message:
-----------
fix ds3 sdl mapping
Modified Paths:
--------------
trunk/vice/data/C64/sdl_joymap_ps3.vjm
Modified: trunk/vice/data/C64/sdl_joymap_ps3.vjm
===================================================================
--- trunk/vice/data/C64/sdl_joymap_ps3.vjm 2026-04-07 19:46:21 UTC (rev 46060)
+++ trunk/vice/data/C64/sdl_joymap_ps3.vjm 2026-04-08 14:49:22 UTC (rev 46061)
@@ -35,7 +35,8 @@
!CLEAR
-# Sony PLAYSTATION(R)3 Controller
+# [054c:0268] "PLAYSTATION(R)3 Controller" (6 axes, 17 buttons, 0 hats) Linux, SDL
+
0 0 0 1 8
0 0 1 1 4
@@ -58,8 +59,8 @@
0 1 3 1 32
0 1 4 1 256
0 1 5 1 512
-0 1 6 1 64
-0 1 7 1 32
+0 1 6 0
+0 1 7 0
0 1 8 1 1024
0 1 9 1 2048
0 1 10 5 pause-toggle
@@ -70,3 +71,5 @@
0 1 15 1 4
0 1 16 1 8
+
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2026-04-07 19:46:22
|
Revision: 46060
http://sourceforge.net/p/vice-emu/code/46060
Author: gpz
Date: 2026-04-07 19:46:21 +0000 (Tue, 07 Apr 2026)
Log Message:
-----------
libsdl-image1.2 might work better
Modified Paths:
--------------
trunk/vice/build/debian/control.sdl1
Modified: trunk/vice/build/debian/control.sdl1
===================================================================
--- trunk/vice/build/debian/control.sdl1 2026-04-07 18:54:40 UTC (rev 46059)
+++ trunk/vice/build/debian/control.sdl1 2026-04-07 19:46:21 UTC (rev 46060)
@@ -26,7 +26,7 @@
libpcap0.8,
libpng16-16,
libsdl-1.2-0,
- libsdl-image-0,
+ libsdl-image1.2,
libstdc++6,
libvorbis0a,
libx11-6,
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gp...@us...> - 2026-04-07 18:54:41
|
Revision: 46059
http://sourceforge.net/p/vice-emu/code/46059
Author: gpz
Date: 2026-04-07 18:54:40 +0000 (Tue, 07 Apr 2026)
Log Message:
-----------
update download-artifact@v4 -> download-artifact@v8 and upload-artifact@v4 -> upload-artifact@v6
Modified Paths:
--------------
trunk/.github/workflows/build-main-on-push.yml
trunk/.github/workflows/check-make-dist.yml
trunk/.github/workflows/make-release.yml
Modified: trunk/.github/workflows/build-main-on-push.yml
===================================================================
--- trunk/.github/workflows/build-main-on-push.yml 2026-04-07 18:38:17 UTC (rev 46058)
+++ trunk/.github/workflows/build-main-on-push.yml 2026-04-07 18:54:40 UTC (rev 46059)
@@ -159,7 +159,7 @@
make -j $(sysctl -n hw.ncpu) -s
- name: Upload Artifact
- uses: actions/upload-artifact@v4
+ uses: actions/upload-artifact@v6
with:
name: vice-pdf
path: vice/doc/vice.pdf
@@ -207,7 +207,7 @@
uses: actions/checkout@v6
- name: Download Documentation
- uses: actions/download-artifact@v4
+ uses: actions/download-artifact@v8
with:
name: vice-pdf
path: vice/doc/
@@ -424,7 +424,7 @@
uses: actions/checkout@v6
- name: Download Documentation
- uses: actions/download-artifact@v4
+ uses: actions/download-artifact@v8
with:
name: vice-pdf
path: vice/doc/
@@ -557,7 +557,7 @@
uses: actions/checkout@v6
- name: Download Documentation
- uses: actions/download-artifact@v4
+ uses: actions/download-artifact@v8
with:
name: vice-pdf
path: vice/doc/
Modified: trunk/.github/workflows/check-make-dist.yml
===================================================================
--- trunk/.github/workflows/check-make-dist.yml 2026-04-07 18:38:17 UTC (rev 46058)
+++ trunk/.github/workflows/check-make-dist.yml 2026-04-07 18:54:40 UTC (rev 46059)
@@ -76,7 +76,7 @@
echo "artifact_name=$(basename -s .tar.gz vice-*.tar.gz)-${{ matrix.source.name }}.tar.gz" >> $GITHUB_OUTPUT
- name: Upload Artifact
- uses: actions/upload-artifact@v4
+ uses: actions/upload-artifact@v6
# This makes sure we only upload artifacts for the different configure
# options used when creating the tarballs, not every combination of
# source and target:
@@ -140,7 +140,7 @@
uses: actions/checkout@v6
- name: Download Dist Tarballs
- uses: actions/download-artifact@v4
+ uses: actions/download-artifact@v8
# we don't specify an artifact name or download path so we download
# all artifacts to the current working directory
Modified: trunk/.github/workflows/make-release.yml
===================================================================
--- trunk/.github/workflows/make-release.yml 2026-04-07 18:38:17 UTC (rev 46058)
+++ trunk/.github/workflows/make-release.yml 2026-04-07 18:54:40 UTC (rev 46059)
@@ -70,7 +70,7 @@
echo "tarball_name=${TARBALL}" >> $GITHUB_OUTPUT
- name: Upload Artifact Tarball
- uses: actions/upload-artifact@v4
+ uses: actions/upload-artifact@v6
with:
name: vice-tarball
path: ${{ steps.build.outputs.tarball_path }}
@@ -110,7 +110,7 @@
run: git config --global core.autocrlf input
- name: Download Tarball
- uses: actions/download-artifact@v4
+ uses: actions/download-artifact@v8
with:
name: vice-tarball
@@ -155,7 +155,7 @@
echo "pdf_path=$(echo $(pwd)/doc/vice.pdf)" >> $GITHUB_OUTPUT
- name: Upload
- uses: actions/upload-artifact@v4
+ uses: actions/upload-artifact@v6
with:
name: vice-pdf
path: ${{ steps.build.outputs.pdf_path }}
@@ -187,12 +187,12 @@
ls -A1 | grep -v 'build-.*\.sh' | xargs rm -rf
- name: Download Documentation
- uses: actions/download-artifact@v4
+ uses: actions/download-artifact@v8
with:
name: vice-pdf
- name: Download Tarball
- uses: actions/download-artifact@v4
+ uses: actions/download-artifact@v8
with:
name: vice-tarball
@@ -382,7 +382,7 @@
uses: actions/checkout@v6
- name: Download Documentation
- uses: actions/download-artifact@v4
+ uses: actions/download-artifact@v8
with:
name: vice-pdf
path: vice/doc/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|