Installing games to HD and boot them with ADFFS

Discuss ADFFS development and download test releases
Mikecad
Posts: 6
Joined: Wed Apr 13, 2016 12:07 pm

Re: Installing games to HD and boot them with ADFFS

Post by Mikecad » Thu Apr 14, 2016 7:48 pm

Just to ask the question, in terms of ADFSS development, has it moved beyond ROS 3.11 in compatibility now, I'm using 2.20, is this the highest version I can go to?

JonAbbott
Posts: 2116
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex

Re: Installing games to HD and boot them with ADFFS

Post by JonAbbott » Thu Apr 14, 2016 10:10 pm

Mikecad wrote:Interestingly when mounting the ADF files for Chocks with ADFFS, trying to launch !Chocks still gives a bad disk error, if I convert them to HFE and mount them in my HXC the game runs fine.
If an ADF is generating a disk error under ADFFS, it's probably a truncated image and missing the last few sectors.
Mikecad wrote:Just to ask the question, in terms of ADFSS development, has it moved beyond ROS 3.11 in compatibility now, I'm using 2.20, is this the highest version I can go to?
Not sure what you mean with regard to compatibility, are you referring to the games it gets running on the Pi?

The latest publicly available version is the London Show 2.52 build

Mikecad
Posts: 6
Joined: Wed Apr 13, 2016 12:07 pm

Re: Installing games to HD and boot them with ADFFS

Post by Mikecad » Fri Apr 15, 2016 12:27 pm

In terms of the A3000 running RiscOS 3.11, I'm retro :)

JonAbbott
Posts: 2116
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex

Re: Installing games to HD and boot them with ADFFS

Post by JonAbbott » Fri Apr 15, 2016 1:16 pm

Mikecad wrote:In terms of the A3000 running RiscOS 3.11, I'm retro :)
Still not quite sure what you're asking. ADFFS has always been compatible with RO3.11

Mikecad
Posts: 6
Joined: Wed Apr 13, 2016 12:07 pm

Re: Installing games to HD and boot them with ADFFS

Post by Mikecad » Fri Apr 15, 2016 1:19 pm

Ah so it's only Pi that has the RISC OS 5.23 requirement and you're maintaining compatibility with the real hardware and their respective OS versions.

JonAbbott
Posts: 2116
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex

Re: Installing games to HD and boot them with ADFFS

Post by JonAbbott » Fri Apr 15, 2016 2:13 pm

Mikecad wrote:Ah so it's only Pi that has the RISC OS 5.23 requirement and you're maintaining compatibility with the real hardware and their respective OS versions.
As per my post yesterday regarding Page Zero relocation, all machines after IOMD will require a High Vector build of RISCOS for the JIT to work.

On IOMD, as High Vectors aren't possible, the JIT interprets LDR to trap Page Zero reads and it's obviously not relevant to IOC as the games aren't being managed by ADFFS.

ADFFS is essentially just a floppy emulator on IOC, on IOMD it emulates the IOC chipset and on StrongARM and above it acts as a Hypervisor.

User avatar
helpful
Posts: 3
Joined: Fri Jun 17, 2016 5:41 pm
Location: London
Contact:

Re: Installing games to HD and boot them with ADFFS

Post by helpful » Sun Feb 11, 2018 1:32 am

I'm trying to setup a bunch of games in their own application directories following the instructions in this thread, so they can be run simply by double clicking on them. It works fine for single disc games, but any multi disc games get stuck when they want the second disc.

I copied all the jfd files into the directory along with the Obey script from ADFFS, then created a !Run file like this:

ADFMount <Obey$Dir>.Fxxxxxx1/jfd
Obey -c <Obey$Dir>.Fxxxxxx1

Then tried:

Set ADFFS$GameDir <Obey$Dir>
ADFMount <ADFFS$GameDir>.Fxxxxxx1/jfd
Obey -c <ADFFS$GameDir>.Fxxxxxx1

Then tried:

Set ADFFS$GameDir <Obey$Dir>
ADFMount <ADFFS$GameDir>.Fxxxxxx1/jfd
ADFBootFloppy

In all cases when ctrl-shift-F2 is pressed to swap discs, the hourglass briefly flashes up (presumably ADFFS mounting the jfd) but the game just sits there waiting :-(

Yet after pressing ctrl-shift-F12 to exit back to the desktop and selecting Boot Floppy from the ADFFS menu, the disc swap works fine. What am I missing?

ADFFS v2.63
RISC OS 5.23 (19 Jan 2018)

Cannon Fodder is the main game I've been experimenting with, but it's the same on other multi disc games.

Thanks,
Bryan.
RISC OS User Group Of London - http://www.rougol.jellybaby.net/
RISC OS London Show - http://www.riscoslondonshow.co.uk/

JonAbbott
Posts: 2116
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex

Re: Installing games to HD and boot them with ADFFS

Post by JonAbbott » Sun Feb 11, 2018 7:12 am

Almost certainly a path issue, it's failing to find the second disc. Temporarily comment out the ADFBootFloppy in your second example, run it, drop to the command line and check ADFFS$GameDir is a fully qualified path and not using an unexpanded reference to Obey$Dir.

If it looks good, ensure you can manually swap discs at the desktop. If that works and the path is fully qualified, but it still doesn't work in-game try reserving 900K of floppy buffer via "*ADFReserveMemory 900". If it still fails after that, the game is failing to detect the floppy change...which will be an issue I'd need to look into - incidentally ADFFS forces a "floppy changed" on every disc access to avoid floppy detection issues in-game.

As a general rule of thumb, if a game can only run from floppy, always use your second example of mounting disc 1 and booting via ADFBootFloppy as it will always use the latest boot script - saves manually maintaining it should it be updated between ADFFS releases.

User avatar
helpful
Posts: 3
Joined: Fri Jun 17, 2016 5:41 pm
Location: London
Contact:

Re: Installing games to HD and boot them with ADFFS

Post by helpful » Mon Feb 12, 2018 3:02 pm

JonAbbott wrote:
Sun Feb 11, 2018 7:12 am
Almost certainly a path issue, it's failing to find the second disc. Temporarily comment out the ADFBootFloppy in your second example, run it, drop to the command line and check ADFFS$GameDir is a fully qualified path and not using an unexpanded reference to Obey$Dir.
Path is fine, fully expanded.
If it looks good, ensure you can manually swap discs at the desktop.
After returning to the desktop, disc swap doesn't work. Filer window closes, but on clicking on the ADFFS icon it is still the first disc. Yet after double clicking on the first disc to open it, pressing ctrl-shift-F2 in the desktop works.

Thinking about your comment about it being a path issue, I tried putting a Do command in front on the ADFMount, so that the path variables would definitely be expanded first, and now it works :-)

The obey file now boils down to:

Do ADFMount <Obey$Dir>.Fxxxxxxx1/jfd
ADFBootFloppy
always use your second example of mounting disc 1 and booting via ADFBootFloppy as it will always use the latest boot script - saves manually maintaining it should it be updated between ADFFS releases.
Yeah, I realised that once I discovered the ADFBootFloppy command! Probably worth updating the earlier posts in this thread with the "correct" way.

Thanks,
Bryan.
RISC OS User Group Of London - http://www.rougol.jellybaby.net/
RISC OS London Show - http://www.riscoslondonshow.co.uk/

JonAbbott
Posts: 2116
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex

Re: Installing games to HD and boot them with ADFFS

Post by JonAbbott » Wed Feb 14, 2018 9:18 am

helpful wrote:
Mon Feb 12, 2018 3:02 pm
Probably worth updating the earlier posts in this thread with the "correct" way.
There is no one "correct" way to get a game to run on HD. The general rule of thumb is:
  1. Look in the boot script for instructions
  2. For Single disc games, mount and boot the floppy (unless you want to try and preserve high score tables)
  3. Try copying all the discs to HD and replace !Run
  4. Try the game's installer and replace !Run
  5. Mount disc 1 in !Run if it has disc protection
  6. If all else fails, copy all the floppy images into a folder and mount/boot disc 1
In the case of replacing !Run with the boot script, you may need to strip off the first few lines that redirect Obey$Dir to ADFS::0. Then there's the issue of games with multiple !Apps, which don't fit well in a generic Games folder and how to create a !App folder for games that either don't have one, or can't be run from HD.

Post Reply