ADFFS 2.71 beta

Discuss ADFFS development and download test releases
Post Reply
JonAbbott
Posts: 2938
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.71 beta

Post by JonAbbott »

Vanfanel wrote: Thu Jan 31, 2019 3:20 am -This version has wrong icon. It has the "sprites" file wrong. Easy to fix.
I updated the sprites file with the next version, but forgot to keep the red icon...I'll correct that for the next build.
Vanfanel wrote: Thu Jan 31, 2019 3:20 am -HeroQuest works, but it skips the intro automatically. It goes straight to the language selection menu.
We're awaiting the next version of USBJoystick to fix that issue, along with several other games. Current know issues are listed here.
JonAbbott
Posts: 2938
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.71 beta

Post by JonAbbott »

I've started adding issues to the OP as I'm going through all the publicly released packages, already spotted quite a few problems in the first dozen or so I've checked.

Except for any issues these throw up, the only outstanding item is the updated USBJoystick...no pressure Richard! I'm not going to add any more features to this build. I was considering adding the USB Floppy driver that I've been working on, but will push that back to the next release as I don't feel like rushing to get it complete.
richw
Posts: 159
Joined: Sat Sep 14, 2013 9:05 pm

Re: ADFFS 2.71 beta

Post by richw »

I've had another look at this. I can't quite get my head around JKSquash. I've noticed that if I hold my joystick down when the intro starts, it seems to move the mouse pointer elsewhere, but you still cannot control the game. Odd.

My logging shows the Joystick_Status SWI (Serial Port API, provides stick 0 and 1 in r0) being hit when the game runs and it will also issue the Joy_SWI for the second stick (which returns 0 because I have nothing mapped). When it is going wrong in the game menus, I wonder if it is choosing to ignore the first stick or something.

I understand your query, Jon, about adding another SWI, but what is that for? Do you think it will help with this issue? I think I'm missing something!

Anyway, for now, I'll attach 0.15, which is basically 0.14 with the silly error on the OSBYTE handler fixed. This should allow the mouse to work in Poipulous - at least it did when I tried it.
Attachments
usbjoystick015.zip
(25.44 KiB) Downloaded 244 times
richw
Posts: 159
Joined: Sat Sep 14, 2013 9:05 pm

Re: ADFFS 2.71 beta

Post by richw »

Ahh... I have a workaround.

First, I checked some other Joymod games, and they work fine.

I recalled that the logging showed me alternating Joystick_Status and Joy_Read0/1 calls. I thought maybe the game was just being daft, so tried '*USBJoystick_EmulateJoy off' and started the game again. It works! JkSquash works nicely with the SerialPort interface, so long as nothing is also providing the Joy interface!

I tried using only Joy and disabling Serial Port, but that doesn't work. I suspect the game just has a buggy (or incompatible) JoyMod.
JonAbbott
Posts: 2938
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.71 beta

Post by JonAbbott »

richw wrote: Thu Jan 31, 2019 9:45 pm I understand your query, Jon, about adding another SWI, but what is that for? Do you think it will help with this issue? I think I'm missing something!
I don't need it, it was just a suggestion so you can ignore the calls from ADFFS, due to this:
JonAbbott wrote: Tue Jan 29, 2019 12:49 pm It doesn't call Joystick_Read only the JoyMod SWI's. I suspect you're seeing the Joystick_Read calls that ADFFS does to build the RTFM Econet register.
Thanks for 0.15, I'll drop that in the next beta. I've found so many issues with games, it's going to be a few days before it's ready for testing.
JonAbbott
Posts: 2938
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.71 beta

Post by JonAbbott »

You can't start SWIV via keyboard with USBJoystick loaded. It's RTFM code looks okay (@ 1E4D8). The EFFC0/EFFC1 SWI's are @ 1E4B4/1E4C0, it's Joystick_Read SWI is @ 1E50C and the Joystick detection code is @ 1E448.

I can get it working by forcing it to no Joystick (JITMEMORYA 1E478 73A00003 E3A00000). It appears to be assuming a Joystick is available if any of the following SWI's don't return an error: 63F40 (Acorn), A1540 (Serial Port), EFFC0 (JoyMod). Once it thinks there's a Joystick it disables the keyboard!

Question is, should USBJoystick error for those SWI's if there's no Joystick attached? Or should I rewrite the game code?
JonAbbott
Posts: 2938
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.71 beta

Post by JonAbbott »

2.71v package now available, along with updated packages for the following issues:
  • F1003901 Battle Tank (1990) (Minerva) (crashes when launched) (fixed in 2.71v)
  • F1006001 Bug Hunter in Space (1990) (Minerva) (reports Window Manager in use when quit via ESC) (package corrected)
  • F1007201 Caverns (1991) (Minerva) (hangs after title screen) (package corrected)
  • F1053501 Dune II Battle for Arrakis [CD version] (1997) (Eclipse) (reports an error prior to the intro and main game doesn't run - works with 2.71q) (fixed in 2.71v/package corrected)
  • F1015701b Fireball from Fireball II (1990) (Cambridge International Software) (crashes after loading) (package corrected)
  • F1022501 Legend of the Lost Temple, The (1992) (Eterna) (doesn't quit cleanly via CTRL-SHIFT-F12) (package corrected)
  • F1056401 Memory Magic (1990) (Cambridge International Software) (attempts to reboot when quit cleanly) (package corrected)
USBJoystick 0.15 is in this build. SWIV is on the only issue I've come across so far. Populous is resolved.
richw
Posts: 159
Joined: Sat Sep 14, 2013 9:05 pm

Re: ADFFS 2.71 beta

Post by richw »

Hmm, interesting question. The classic interfaces have no way of knowing if sticks are connected, although I suspect, say, the Serial Port driver module won't start without the adaptor connected to the parallel port. So in theory, isn't this a bug in SWIV? Isn't it perfectly legit to have a joystick interface, even with a stick connected, and want to play with the keyboard?!

Edit: of course, it would be quite trivial to return an error for those SWIs if no joysticks are mapped. I could make that switchable behaviour with a *command. I wonder what the default should be?!
JonAbbott
Posts: 2938
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.71 beta

Post by JonAbbott »

richw wrote: Fri Feb 01, 2019 10:19 pm The classic interfaces have no way of knowing if sticks are connected, although I suspect, say, the Serial Port driver module won't start without the adaptor connected to the parallel port. So in theory, isn't this a bug in SWIV? Isn't it perfectly legit to have a joystick interface, even with a stick connected, and want to play with the keyboard?!
All very true. The README on the floppy answers the question:
F1 = Choose control type / pause
...
Serial port joystick owners should install the module supplied with their joystick before running Swiv.

RTFM owners should double click on the '!RTFM_JoyEn' icon before running Swiv.
Its defaulting to the last Joystick interface it finds and is expecting there to be either none or just one Joystick interface. F1 however, allows you to switch it back to keyboard. I'd say we leave it as is, as returning an error for the SWI's may well break more games.

What I could do is query the number of Joystick USBJoystick is handling (is there an SWI for that?) and if there's no Joysticks attached, default it back to keyboard in the boot script/!Run. That will save all the problems defaulting to Joystick will cause :lol:
richw
Posts: 159
Joined: Sat Sep 14, 2013 9:05 pm

Re: ADFFS 2.71 beta

Post by richw »

That is a reasonable idea, but there isn't a SWI for that! I really need to plan some handy general SWIs and add them, probably to the Joystick SWI block. Being able to list the connected devices sounds useful.

By the way, I have been running a few games on the latest beta. I noticed that exiting ADFFS causes a bit of a graphical mess in the desktop. The screen needs a redraw (F12 and enter fixes it).
Post Reply