From c43678cb489823436ddef8e951b5d7d9518aed77 Mon Sep 17 00:00:00 2001 From: gpz Date: Sat, 31 Aug 2024 19:36:24 +0000 Subject: [PATCH] bits 12-15 should return 0s, not 1s. checked with trapthem pad on real c64. fixes bug #2064 git-svn-id: https://svn.code.sf.net/p/vice-emu/code/trunk@45325 379a1393-f5fb-40a0-bcee-ef074d9b53f7 --- vice/src/joyport/ninja_snespad.c | 6 +++--- vice/src/joyport/trapthem_snespad.c | 5 +++-- vice/src/userport/userport_petscii_snespad.c | 3 ++- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/vice/src/joyport/ninja_snespad.c b/vice/src/joyport/ninja_snespad.c index ec7c239006..a03f61c824 100644 --- a/vice/src/joyport/ninja_snespad.c +++ b/vice/src/joyport/ninja_snespad.c @@ -178,11 +178,11 @@ static uint8_t snespad_read(int port) case SNESPAD_BIT_13_1: case SNESPAD_BIT_14_1: case SNESPAD_BIT_15_1: - /* part of the snes sequence, but unused, return 1 on each line */ - retval = 7; + /* part of the snes sequence, but unused, return 0 on each line */ + retval = 0; break; case SNESPAD_EOS: - retval = 0; + retval = 7; break; default: retval = 1; diff --git a/vice/src/joyport/trapthem_snespad.c b/vice/src/joyport/trapthem_snespad.c index ba8642bc13..8923484d10 100644 --- a/vice/src/joyport/trapthem_snespad.c +++ b/vice/src/joyport/trapthem_snespad.c @@ -132,10 +132,11 @@ static uint8_t snespad_read(int port) case SNESPAD_BIT_13_1: case SNESPAD_BIT_14_1: case SNESPAD_BIT_15_1: - retval = 4; + /* part of the snes sequence, but unused, return 0 on each line */ + retval = 0; break; case SNESPAD_EOS: - retval = 0; + retval = 4; break; default: retval = 1; diff --git a/vice/src/userport/userport_petscii_snespad.c b/vice/src/userport/userport_petscii_snespad.c index e1576a9afd..2440ed2476 100644 --- a/vice/src/userport/userport_petscii_snespad.c +++ b/vice/src/userport/userport_petscii_snespad.c @@ -213,7 +213,8 @@ static uint8_t userport_snespad_read_pbx(uint8_t orig) case SNESPAD_BIT_13_1: case SNESPAD_BIT_14_1: case SNESPAD_BIT_15_1: - retval = 1; + /* part of the snes sequence, but unused, return 0 on each line */ + retval = 0; break; case SNESPAD_EOS: retval = 1;