Page 1 of 1

Joystick not working right in early Sierra games

Posted: Thu Dec 16, 2021 7:03 am
by thorr
I am super excited that I modded my CH Products Mach III joystick with an Arduino and it works perfectly as a 3-button joystick. It works in some games like Descent perfectly. When I try to play King's Quest II or Space Quest II for examples, It says press Enter when the joystick is centered, but when I try to move, the movement is messed up. In King's Quest I (the original version) it doesn't work at all. Is there something I can do to make the joystick work in these games?

Thanks!

Edit: I got this working by turning off L1 and L2 cache and setting the speed to 56 MHz. Be sure to move the joystick and press the button while in DOS before launching the game so the joystick will be detected.

Also, I am using an Analog joystick. To set this up, I first set it up in the MiSTer main menu. I used it only at the Button A and B and Tilt questions, pressing spacebar for anything else. I set it up again in AO486 as a 2 button joystick with 2 joysticks. I told it the directions and A and B and skipped everything else. Also, the A and B buttons may be backwards. They were for me so I mapped them backwards.

Re: Joystick not working right in early Sierra games

Posted: Thu Dec 16, 2021 8:19 pm
by mhartman
Did those games support joysticks? I played them with a keyboard back then b/c joysticks weren’t all that popular on the pc scene.

Re: Joystick not working right in early Sierra games

Posted: Thu Dec 16, 2021 9:05 pm
by thorr
mhartman wrote: Thu Dec 16, 2021 8:19 pm Did those games support joysticks? I played them with a keyboard back then b/c joysticks weren’t all that popular on the pc scene.
Yes, absolutely. The Black Cauldron almost required a joystick for the Do function, etc. I can get the character to move up and to the left, but they never move right or down using the joystick. I tried lowering the MHz, etc. but it made no difference.

Re: Joystick not working right in early Sierra games

Posted: Fri Dec 17, 2021 1:23 am
by DevilHunterWolf
Speaking as someone that once tried to use a joystick with Sierra adventure games back in the day, I never got one to work correctly. I think I ran into pretty much the same problems you're describing on real hardware. Love those old classics, but it was a heck of a time for coding and compatibility. I forget if it was just their SCI engine or if it was also a problem with their AGI engine, but you can't even hold the arrow keys down or the repeating key would cause the character to constantly start and stop walking.

You said your controller is working great as a 3 button controller. I wonder if that's the problem. We didn't always have more than 2 buttons available so maybe something more complex attached to the machine (so to speak) is causing a problem? I'd try the other joystick settings in the core menu and see if 2 button mode or anything else available helps. It could come down to it only accepting a particular brand joystick for the really early titles. That is the time period where a mouse was optional so joystick support could be very limited, too.

Re: Joystick not working right in early Sierra games

Posted: Fri Dec 17, 2021 5:56 pm
by thorr
Thanks. The problem is with the older AGI games. The SCI games seem to work fine. The joystick I am using was originally a 2-button joystick that had three buttons on it. The one on the top of the stick had the same function as one of the other buttons. I never used the top button, so I decided to make it a third button with the Arduino. In the AO486 core settings, I am using it as a 2-button joystick. I have also tried the other settings, but nothing helped. I am wondering if there is a DOS TSR program or something that helps older joystick games to work on newer hardware.

Re: Joystick not working right in early Sierra games

Posted: Fri Dec 17, 2021 6:43 pm
by Classic80sgmr
I spent a couple weeks trying to get a 2 button (3 physical, 2 actual) CH joystick working with the Apple II core. The issue came down to the scaling. Far right would only get to a value around 181 and it needed to be closer to 200. The CH I have has +/- trims for X/Y. Even at extremes it did not work. The solution ended up being a close inspection of how the trims worked and I was able to physically ‘push’ the X pot so it would have a higher reading. Not the best solution but it worked. I hope to find a way to change the way scaling works so more joysticks can be plug and play.

Re: Joystick not working right in early Sierra games

Posted: Fri Dec 17, 2021 7:12 pm
by thorr
Classic80sgmr wrote: Fri Dec 17, 2021 6:43 pm I spent a couple weeks trying to get a 2 button (3 physical, 2 actual) CH joystick working with the Apple II core. The issue came down to the scaling. Far right would only get to a value around 181 and it needed to be closer to 200. The CH I have has +/- trims for X/Y. Even at extremes it did not work. The solution ended up being a close inspection of how the trims worked and I was able to physically ‘push’ the X pot so it would have a higher reading. Not the best solution but it worked. I hope to find a way to change the way scaling works so more joysticks can be plug and play.
Thanks. I also have the trims. Mine is dialed in perfectly when using the Input Tester utility. It is perfectly centered and reaches all extremes. I installed a USB-C Arduino Pro Micro inside of it with a USB cable attached and wrapped around a post inside so it won't come out, and wrote my own Arduino code. I even got it to show up as a CH Products Mach III when connected to a PC. I haven't tried it on the Apple II core yet.

Re: Joystick not working right in early Sierra games

Posted: Mon Dec 20, 2021 6:01 pm
by akeley
Going off topic a bit, I get garbled text in menus in Black Cauldron. Just me? (as for joystick, this game didn't see my DS4 at all)

Re: Joystick not working right in early Sierra games

Posted: Mon Dec 20, 2021 9:19 pm
by bbond007
akeley wrote: Mon Dec 20, 2021 6:01 pm Going off topic a bit, I get garbled text in menus in Black Cauldron. Just me? (as for joystick, this game didn't see my DS4 at all)
I think you need to use a different VGA BIOS to get around that bug if I remember right...

Edit:

found it--> https://github.com/MiSTer-devel/ao486_MiSTer/issues/20

Re: Joystick not working right in early Sierra games

Posted: Sun Feb 20, 2022 6:41 am
by thorr
Update: I got the joystick to work in early Sierra AGI games like KQ1-3 and especially it is important in the Black Cauldron! The main trick is to turn off the L1 and L2 cache. I still had some issues at 90 MHz, where not all of the directions were working. I found 56MHz seems to work pretty well. The disk performance is slow, but it was back in the day too. Be sure to move the joystick around and press the button while in DOS before launching the game or it won't be detected. Now if only we could get Tandy music support working...

Also, I am using an Analog joystick. To set this up, I first set it up in the MiSTer main menu. I used it only at the Button A and B and Tilt questions, pressing spacebar for anything else. I set it up again in AO486 as a 2 button joystick with 2 joysticks. I told it the directions and A and B and skipped everything else. Also, I noticed in the Black Cauldron (and probably everything else) that the A and B buttons were backwards, so I remapped them backwards. Pressing F1 in the game on the second page of information describes how to use the joystick and describes it with a Top and Other button which were backwards.