Page 1 of 2

ADFFS under emulation

Posted: Thu Jan 29, 2015 12:14 am
by morb
Greetings all!

I'm interested in running ADFFS under Archimedes emulation (e.g. ARM3 RISC OS 3.1,) on a Windows laptop. Is this a reasonable thing to do, or completely misguided? Are there any success stories? Because I'm finding some frustration.

Firstly, there are several emulators available which seem far from equal. I have Arculator, RedSquirrel and Virtual A5000 at my disposal, and it seems to me that VA5000 usually works best. However when I attempt to mount floppy images in it using ADFFS I see "Internal error: Abort on data transfer at &019277EC."

Edit: What I've not mentioned is the ADFFS version under discussion - I went for the most recent non-beta release, v2.20.

(I see elsewhere on this board mention of something called Aemulator; I take it this is native RISC OS software for emulating older hardware, and therefore something I shouldn't need?)

Anyway there is a certain geeky pleasure in banging my head against assorted brick walls in order to play games that mostly weren't even very good twenty-five years ago, so seriously: thank you for your ongoing work in this worthwhile project.

morb.

Re: ADFFS under emulation

Posted: Thu Jan 29, 2015 10:43 am
by JonAbbott
Running under an emulator should work, I use it mainly under emulation.

Firstly, try the latest beta. If you're still having problems, let me know which game you're trying, and if it's not an official JASPP release email me the floppy image.

Re: ADFFS under emulation

Posted: Thu Jan 29, 2015 7:50 pm
by morb
Hi Jon,

Just the same problem with v2.47b I'm afraid. I'm testing against your Lemmings (1991) and Magic Pockets (1993) releases. Both behave identically with a crash on mount. I also get a crash when trying to create blank floppy images with the Format... menu option.

Taking a cue from another thread, *modules tells me the following:

No. Position Workspace Name
110 018CC8A4 00000000 AutoVIDC
111 018C6CF4 00000000 ADFFS
112 018AFF54 00000000 LCDGameModes
113 018C3954 00000000 ADFFSFiler

(And in case it's important, VA5000 emulates 16mb RAM.)

Re: ADFFS under emulation

Posted: Thu Jan 29, 2015 8:06 pm
by JonAbbott
morb wrote:(And in case it's important, VA5000 emulates 16mb RAM.)
Did you change the memory allocations? ADFFS has a known issue with machines with 16mb of RAM. It's detailed in the "known issues" section:
  • Will not work on a RISC OS 3.1x machine with more than 13mb allocated to application space. To workaround increase another area until Applications (free) is below 13mb and ensure it never goes above it whilst ADFFS is loaded
Try increasing the RMA, Fonts or Sprites and see if it resolves the problem.

It's an issue that I've yet to look at resolving, as I don't have a machine with 16mb of RAM. If I can get a copy of VA5000 from somewhere, I could resolve under emulation - I don't think any of the emulators I currently have support 16mb, although I may be wrong on that.

Re: ADFFS under emulation

Posted: Thu Jan 29, 2015 8:21 pm
by morb
I did see this caveat and have tried to work around it without success. My approach was to create a large RAM disk, but I've now tried the others you suggest: again, all to no avail. I aim for about 7mb in Applications (free), because, well, why not.

VA5000's not been available since 2004 or something so it's unsurprising that it's hard to get hold of.

Re: ADFFS under emulation

Posted: Thu Jan 29, 2015 9:11 pm
by richw
Have you tried Arculator? From what I remember, it was pretty good at emulating the older machines at a sensible speed.

Re: ADFFS under emulation

Posted: Thu Jan 29, 2015 9:54 pm
by JonAbbott
morb wrote:VA5000's not been available since 2004 or something so it's unsurprising that it's hard to get hold of.
It could be an issue with VA5000 - ADFFS does tend to show up shortfalls in emulator accuracy. Every emulator except Arculator has one issue or another, RPCEmu doesn't emulate memory page access correctly and Red Squirrel fails to emulate 1k subpages correctly, both have issues running ADFFS' JIT. Whilst in beta I've turned off 1k subpages as Red Squirrel is my main development/testing platform.

Unless I can get hold of a copy of VA5000 to investigate further, I'm afraid there's little I can do to help. I've done a quick search for the demo (which was available back in the day), but haven't found it on the web.

The best advise I can offer it to try Arculator or Red Squirrel, Arculator is the most accurate for Archimedes machines. Red Squirrel is the most accurate for A5000/A7000/RPC although it doesn't accurately emulator the IOC timers, so games that palette bash look pretty bad - again Arculator is spot on here.

Re: ADFFS under emulation

Posted: Thu Jan 29, 2015 11:22 pm
by morb
richw wrote:Have you tried Arculator? From what I remember, it was pretty good at emulating the older machines at a sensible speed.
The issue I have with Arculator - well there's a couple. Let me run it and see. Well, for one, when I click 'capture mouse', the mouse handling becomes painfully slow and jerky. Curiously, it's much better & smoother when the mouse is left 'uncaptured', but that doesn't make it much more usable! At any rate, this does not bode well for games which rely on mouse control.

I was having crash issues with full-screen mode, but this no longer seems to be the case; there's occasional flicker but nothing major. VA5000 supports a very crisp-looking Mode 102 which I don't know how (or if) I could coerce Arculator to do. On the plus side, mouse handling in full-screen mode is a massive improvement - weird.

The ArculFS filesystem only seems to operate for me in read-only mode, although the documentation says it supports read/write. This is another big problem for usability and I can't really fathom it.

So it does look as though Arculator is going to win out for compatibility although VA5000 has the edge in giving me a very pleasant user experience!

Re: ADFFS under emulation

Posted: Thu Jan 29, 2015 11:43 pm
by richw
The cutting edge for Arculator is here (if you fancy compiling your own)
http://www.retrosoftware.co.uk/hg/arculator

There is also a work in progress fork which aims to run on Linux (Arculator is Windows-only)
https://bitbucket.org/dboddie/arculator

Re: ADFFS under emulation

Posted: Fri Jan 30, 2015 9:33 am
by JonAbbott
I've now tested ADFFS on VA5000 and the crash is occurring in CLib. ADFFS itself doesn't use CLib - it's pure assembler, but ZLib which is used to unzip the floppy images does.

I've tried various versions of CLib and they all crash at the same point under VA5000, so I can only presume it's a bug in VA5000's ARM3 JIT. My advice...switch to Red Squirrel as they're pretty much the same product. It's going to be slower as it's interpreted is your only drawback.