Starfighter 3000 and ADFFS

Discuss the project, or ask a general question
JonAbbott
Posts: 2938
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: Starfighter 3000 and ADFFS

Post 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.
Vanfanel
Posts: 576
Joined: Mon Sep 16, 2013 12:01 am

Re: Starfighter 3000 and ADFFS

Post 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.
JonAbbott
Posts: 2938
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: Starfighter 3000 and ADFFS

Post 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.
JonAbbott
Posts: 2938
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: Starfighter 3000 and ADFFS

Post 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.
Vanfanel
Posts: 576
Joined: Mon Sep 16, 2013 12:01 am

Re: Starfighter 3000 and ADFFS

Post 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?
JonAbbott
Posts: 2938
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: Starfighter 3000 and ADFFS

Post 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.
Post Reply