On Thu, Mar 20, 2025 at 12:58 AM Paul Dufresne via Freedos-devel
<freedos-devel@lists.sourceforge.net> wrote:
>
[..]
> So my version is still usable in dosbox (dosbox always think there is a 
> joystick present0...
> But also works in QEMU and VirtualBOX (giving an error and exiting when there 
> is no joystck).
>
> For this reason I believe my version is better for FreeDOS than the original 
> one (which is better for DosBox).
>
> Probably DosBox should be fixed to return AH=86h when no joystick is present.


Maybe DOSDEF could print a few diagnostic messages to let users know
what is happening. For example, before probing for the joystick, do
something like this:

fputs("Detecting joystick .. ", stdout);

Then, if the system (like the Pocket386) doesn't have a joystick, it
would effectively print:

>> Detecting joystick .. A joystick is required to play DOS Defender!

If DOSDEF finds a joystick, it should pause to print a message (like
"found. Press any key to play DOS Defender!") before the game goes
into graphics mode to calibrate the joystick. This would effectively
print:

>> Detecting joystick .. found. Press any key to play DOS Defender!

Then DOSDEF might wait for the user to press a key, then go into
graphics mode to calibrate the joystick.


I know it's "user management" and not an elegant fix, but it's a small
fix that could have avoided all the debugging & testing we just had to
do, because at least we would have known from the start that (a) a
joystick was required, and (b) under QEMU, a joystick was detected,
and (c) DOSDEF hangs at a blue screen after that. Just having that
information would have made me think "ah, I don't really have a
joystick connected to my QEMU .. that's probably the issue" and I
would have debugged this by trying to connect a joystick through QEMU
rather than figuring out if DOSDEF had a weird bug.

And more importantly: a general user who installed FreeDOS on a
virtual machine and tried to play DOSDEF would also ask questions like
"how do I connect a joystick in my virtual machine" rather than "why
doesn't DOSDEF work on FreeDOS?"

Adding the fixes to the joystick detection & calibration is the right
thing to do, but these messages would be really helpful.


_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to