Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
06283 DIP/Input Major Always Jul 6, 2016, 13:19 Jul 11, 2016, 19:47
Tester demotester View Status Public Platform MESS (Unofficial Binary)
Assigned To Resolution Open OS Windows XP
Status [?] Acknowledged Driver mz700.cpp
Version 0.175 Fixed in Version Build Normal
Summary MESS-specific 06283: mz700: Joysticks unusable
Description Joy Stick Instruction Manual - http://sharpmz.org/mz-700/download/1x03.pdf

On the page 2 and 3 of the manual is explained how to get values for joystick with function JOY.

On MZ-700 it is possible to have attached 2 joysticks of each has 2 switch buttons (i.e. fire buttons):

JOY(4) ... SW1 of stick 1
JOY(5) ... SW2 of stick 1

JOY(6) ... SW1 of stick 2
JOY(7) ... SW2 of stick 2


Values of JOY(n):

 0: switch is in OFF state
-1: switch is in ON state

I have wrote a little S-BASIC program to test that states in MESS and other emus... and here is the result (see on pictures)!

It seems that MESS has all switches at -1:= ON state, while other emus (except one: mz800emu103) has all switches at 0:= OFF state !

According to above manual, -1:= ON state should be only set when switches are active / pressed !
 
P.S.
That could also explain some strange behaving in several games (like Star Avenger for ex. - not in current sw-list) that assume the Joystick button is pressed and use a Joystick instead of a Keyboard.

Steps To Reproduce Load S-BASIC and type the program from one of attached pictures! (See pictures below!)

Additional Information Same apply for MESS mz800 driver in 700-mode !? (NO, same apply for mz1500 driver but not for mz800 driver, see EDIT below)

Out of topic!
Btw. if MESS really want to be accurate with mz800 driver, it should also emulate the border area where it was possible to show 16 colors! (what 2 emus already does, as shown on pictures)
Would you accept emulation of the ZX-Spectrum without the border area as accurate !? (it is same here with mz800 driver)
(regarding the other machines: mz700 and mz1500, they also had a border area but it was always in black, so its not important to be emulated)


EDIT:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Note: While MZ-700 and MZ-1500 use non-standard MZ-1x03 Joystick, the MZ-800 uses standard Atari Joystick - MZ-1x16 ( http://sharpmz.org/mz-800/download/1x16.pdf ).
Also, MZ-700 programs which use joystick MZ-1X03 cannot be used on MZ-800 in 700 mode ! (acc. to MZ-800 Owner's Manual)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Flags
Regression Version
Affected Sets / Systems mz700
Attached Files
png file icon 1_mess_mz700_and_mz800_in_700-mode.png (2,216 bytes) Jul 6, 2016, 13:19 Uploaded by demotester
On MESS mz700 driver !
demotester
png file icon 3_mz8emu099_in_700-mode.png (14,957 bytes) Jul 6, 2016, 13:21 Uploaded by demotester
On mz8emu099 !
demotester
png file icon 4_emuz-700.png (17,941 bytes) Jul 6, 2016, 13:22 Uploaded by demotester
On EmuZ-700 !
demotester
png file icon 6_mz700win_in_700-mode.png (14,178 bytes) Jul 6, 2016, 13:23 Uploaded by demotester
demotester
png file icon 7_mz800emu103_in_700-mode.png (7,476 bytes) Jul 6, 2016, 13:29 Uploaded by demotester
demotester
Relationships
related to 06254Confirmed mz700: Keyboard unusable for certain games 
Notes
2
User avatar
No.12904
demotester
Tester
Jul 6, 2016, 15:26
edited on: Jul 6, 2016, 15:27
Proposal !
Perhaps, for a start, it would be best to completely disable the joystick emulation on mz700 and mz800 so that values are at all joystick ports 0.
This will certainly contribute to increase compatibility with regard to some currently problematic programs.
The worst would be to wait a few years until it is implemented properly. ;-)

User avatar
No.12905
Tafoid
Administrator
Jul 6, 2016, 22:03
I have to assume this is mainly due to all input not registering as it should (keyboard, joystick, etc) for the emulated machine.
I'll acknowledge this and set it up as related to your keyboard report.