PSG register 7 and Joystick in OpenMSX

Page 2/5
1 | | 3 | 4 | 5

By TomH

Champion (327)

TomH's picture

05-03-2019, 23:05

From the peanut gallery: based on the usages of openMSX I've casually observed, perhaps a further step might be to permit breakpoints to be set on misbehaviour without raising an alert? Maybe that's already possible, but if not then it might help to please both of openMSX's user categories: those who want to use existing software and those who want to write new software.

By gdx

Enlighted (4632)

gdx's picture

06-03-2019, 00:04

wouter_ wrote:

openMSX only gives a warning when port (bit 6) is wrongly set as an output, not when port B (bit 7) is wrongly set as an input. Because only the former can cause damage. And actually right after reset port B is very briefly set as an input. So a warning about this would be annoying.

Everything could be displayed with more info in debug mode.

By Manuel

Ascended (18082)

Manuel's picture

07-03-2019, 22:02

santiontanon wrote:

Just picking up this thread, in case if helps finding the difference between OpenMSX 0.15 and real hardware.

In real hardware:
- joystick does not work on this version: https://github.com/santiontanon/xracing/releases/tag/1.0
- but it works fine on this version: https://github.com/santiontanon/xracing/releases/tag/1.0.4

Joystick works fine on both versions in OpenMSX though. The difference is that I was setting bit 7 of register 7 in the PSG to 0. What confuses me is that I am using the BIOS "WRTPSG" routine to write to PSG registers, and NYYRIKI mentioned that this routine should prevent me from setting a 0 there. But in any case, the difference between the emulator and real hardware is there. Reidrac mentioned having the same exact issue in his latest MSX game yesterday on Twitter, with the joystick working on OpenMSX but not on real hardware, as he was setting this bit to 0 as well.

On which real machines was this not-working joystick behaviour observed wth that 1.0 version?

By Manuel

Ascended (18082)

Manuel's picture

07-03-2019, 22:13

Reason I ask: I implemented the feature, but now I need to know which machines are affected by bit 7 Smile

By Manuel

Ascended (18082)

Manuel's picture

07-03-2019, 23:15

Manuel wrote:

Reason I ask: I implemented the feature, but now I need to know which machines are affected by bit 7 Smile

Just looked back: it seems the Panasonic CF-2700 of gdx (is that the German one?) and the Philips VG 8020/00. Both use no MSX-Engine, as far as I know, so it makes sense that the problem would be occurring there. Anyone else who had the joystick issue in XRacing? If yes, on which machines?

By gdx

Enlighted (4632)

gdx's picture

08-03-2019, 01:01

This is the National CF-2700 that I have.

However I also noticed quirks on my Turbo R when I converted Colecovision games. Although the routine is nearly the same, the joystick worked poorly Turbo R with Frenzy but worked fine with other converted games. The problems disappeared when I set bit 7 to 1 and bit 6 to 0. So the reaction does not only depend on the machine used but also when the program accesses the PSG. I think it's not possible to emulate this behavior without knowing the exact cause.

By Wlcracks

Champion (438)

Wlcracks's picture

08-03-2019, 07:26

I had problems with a real vg8020/00 in V1.00 and other versions.

By santiontanon

Paragon (1436)

santiontanon's picture

08-03-2019, 19:01

Thanks a lot for the implementation Manuel!

@Wicracks: correct, version 1.00 was the one that had the problem, and then later versions had partial fixes. Only the latest (v1.0.4) has the full fix. So, yes, other versions in between should have problems too.

By Manuel

Ascended (18082)

Manuel's picture

08-03-2019, 21:33

Wlcracks: that VG 8020/00, does it have an YM2149 PSG?

By mars2000you

Enlighted (5958)

mars2000you's picture

08-03-2019, 21:51

Manuel wrote:

Wlcracks: that VG 8020/00, does it have an YM2149 PSG?

To compare with this picture:

http://msx.fab.free.fr/mpc.msx/msx1/philips/8020/8020-00ff04...

Page 2/5
1 | | 3 | 4 | 5