[hatari-devel] Re: [hatari-users] Minor Problems with Falcon Emulation

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


Hi,

On perjantai 08 elokuu 2014, Ingo Schmidt wrote:
> I finally found the time to look into Hatari and use it as a Falcon
> emulator. I have to say, it is really awesome. I have it integrated in
> my HTPC in the living room and can now play those great Reservoir Gods
> games again. Truly awesome :)
> 
> Unfortunately, there are some minor problems:
> 
> - noisy sound (yes, I know it is in the TODO list, but
> what can be done to get it off that list? :-))

- Is your computer fast enough?  If it's not, you get sound issues.
- Have you compared is the sound worse than on real Falcon?

If answer to both is yes, there are some Falcon sound issues which reason
hasn't been yet found.  Finding the reason would help.


> - Patch TOS: I use a TOS 4.04 image and auto skipping the memory test
> does not work. With TOS 2.06 it works just fine. Do I have a wrong ROM?
> Is that a known problem?

It's not a problem.  What is patched, isn't memory test for each byte
of the installed memory, but check (before that) for how much memory
is actually installed.


> - JoyPad: I have a USB GamePad plugged in which works nicely in almost
> all situations, except in one game: Tautology2. Hitting the fire button
> ends the round (doesn't crash). The in-game docs say, that hitting the
> "Options" button will end the current round. So I have the feeling, that
> somehow not only the "fire" button is triggered, but also the "Options"
> button.

Did this happen just with PAD A, but not with PAD B?

I don't know how they're supposed to work, but code for
PAD A in Hatari looks buggy[1].  Does the attached patch fix
your problem?

[1] Cross-posting to hatari-devel.  Joy_StePadMulti_ReadWord() code
    looks even more suspicious than Joy_StePadButtons_ReadWord()
    code.  Could somebody knowing what it should do, comment on
    whether masks & shifts between PAD A & B have been verified
    / tested to be correct?  What game uses that interface?


> Is there a list where I can see which Real-Joystick buttons are
> mapped to the Joypad-Buttons?

See Joy_StePadButtons_ReadWord():
http://hg.tuxfamily.org/mercurialroot/hatari/hatari/file/tip/src/joy.c

Hatari makes a bitmask of the active button numbers provided by SDL &
your system without additional translation / mapping.  Then based on
STE registers, it checks that bitmask.


> I assume that an Atari Jaguar Joypad is emulated?

It seems that Jagpad number buttons [2] aren't supported by Hatari,
but I assume it's otherwise same as STE joypad.

Does that answer your question?

[2] Only thing I know from jagpad, I just read from here:
http://www.atari-
forum.com/wiki/index.php?title=The_Atari_Enhanced_Joystick_Ports_FAQ


> Not a problem with the emulation, but a question about the F12-GUI:
> Would it be possible to introduce keyboard shortcuts so that it is
> possible to navigate the GUI without a mouse? That would be cool.

What kind of additional shortcuts you were thinking of?

There are already:
- Keyboard shortcuts to directly do many of the things one
  can do through the GUI:
http://hg.tuxfamily.org/mercurialroot/hatari/hatari/raw-
file/tip/doc/manual.html#Keyboard_shortcuts
- Enter shortcut to accept current GUI options sub dialog
- ESC shortcut to cancel the GUI changes from its main view
  (only place with "Cancel")

Hatari SDL GUI doesn't have support for keyboard focus changing,
nor for specifying change chaining, so I would say that generic
keyboard navigation for the GUI is out of the question.

(Whereas Hatari's Python GUI and OSX GUIs use native widget sets
so those naturally have all the relevant widget features.)


> That's it for now. Thanks in advance for your help!


	- Eero
diff -r c91dd6fda5f4 src/joy.c
--- a/src/joy.c	Thu Aug 07 22:57:55 2014 +0200
+++ b/src/joy.c	Sat Aug 09 00:57:36 2014 +0300
@@ -490,7 +490,7 @@
 		}
 		else if (!(nSteJoySelect & 0x8))
 		{
-			if (nButtons & 0x01)  /* Fire button OPTION pressed? */
+			if (nButtons & 0x08)  /* Fire button OPTION pressed? */
 				nData &= ~2;
 		}
 	}


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/