Page 3 of 3

Re: Starfighter 3000 and ADFFS

Posted: Mon Dec 27, 2021 6:51 pm
by JonAbbott
Vanfanel wrote: Mon Dec 27, 2021 3:23 pm The game needs the "anymode" module loaded to run, and has flickering during gameplay, framerate is also very slow.
Any other advice you can give to correct the flickering at least?
Having a key or key combo to quit the game without having to reboot the system by force would be good too :D
It shouldn't need AnyMode, but as I mentioned previously you will need ADFFS loaded to support the legacy MODE it runs in.

CTRL-ESC should quit to desktop - as it will for most games written in C.

Re: Starfighter 3000 and ADFFS

Posted: Mon Dec 27, 2021 7:32 pm
by Vanfanel
Ah, yes! CTRL-ESC works!
And ADFFS loaded prevents flickering! :)

Does the game somehow support USB joysticks? Seems to be tailored for 3DO gamepads.

Re: Starfighter 3000 and ADFFS

Posted: Thu Dec 30, 2021 11:58 pm
by JonAbbott
Vanfanel wrote: Mon Dec 27, 2021 7:32 pm Does the game somehow support USB joysticks? Seems to be tailored for 3DO gamepads.
I've taken a quick look at the TNG code and it looks like the 3DO gamepad code has been removed as all it does is check for CTRL-ESC. I can't find any obvious code that checks Joysticks, so you'd need to use *ADFJoystickKeys to map the Joystick to keys.

Whilst there I also looked at its frame-pacing code. It's hardcoded for 25 FPS and uses an overly complicated FPU based routine to determine how many ms to wait. At no point does it wait for VSync, which is why you're seeing flickering.

Re: Starfighter 3000 and ADFFS

Posted: Sat Jan 01, 2022 3:55 pm
by JonAbbott
JonAbbott wrote: Thu Dec 30, 2021 11:58 pm At no point does it wait for VSync, which is why you're seeing flickering.
Correcting myself, it is waiting for VSync but the frame swap code isn't right. It's switching both the VDU and hardware frame buffers to the same address and is not using multiple frame buffers so is always writing to the front buffer.

It looks like the author probably had the intention of implementing multiple frame buffers, otherwise it wouldn't have frame-swap code in it.

It's also coded in a strange way as it's using OS_Word 22 to alter the buffers, not OS_Byte 112/113 - which I've rarely seen in games.

Re: Starfighter 3000 and ADFFS

Posted: Sun Jan 02, 2022 2:42 pm
by Vanfanel
@Jon I think the original version is far better, and even plays better.
Is this TNG version considered superior? If so, why exactly?

Re: Starfighter 3000 and ADFFS

Posted: Mon Jan 03, 2022 1:02 pm
by JonAbbott
The TNG version is a port of the 3DO build, which I believe had improvements in the graphics engine. As I've never played either version of the game I couldn't tell you what the exact differences are.