ADFFS 2.54

Discuss development specific to the Pi version of ADFFS
Post Reply
JonAbbott
Posts: 1736
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex

ADFFS 2.54

Post by JonAbbott » Mon Mar 07, 2016 12:16 pm

@Vanfanel

2.54a Modules are on the dev site, but you may find some games may now be broken and the 50Hz monitor detection may not work correctly - I've not tested it. You'll also need to update obey.zip as I've fixed a Page Zero access bug in Pac-mania.

Change from 2.52 include:
  1. RISCOS ARMOp's calls are now used for all cache/TLB related operations, which should hopefully make it forward compatible with the Pi2 / Pi3
  2. Unaligned memory accesses are now handled, so games should work with the Pi1/2 CPU in ARM v7 strict mode
  3. Page Zero writes are now failed silently
  4. Some Page Zero reads are failed silently
Known issues:
  • Rockfall sometimes fails to load when booted from the WIMP, but works via *ADFBootFloppy
  • Some games that work on the Pi1 fail on the Pi2 (tested on 5.23 30th Oct 15). eg Pac-mania, SWIV, Zarch to name a few
    I believe some failures are down to errata or deprecated instructions, as some games such as Zarch and Cannon Fodder are seeing register corruption

Vanfanel
Posts: 373
Joined: Mon Sep 16, 2013 12:01 am

Re: ADFFS 2.54

Post by Vanfanel » Tue Mar 08, 2016 12:03 am

OK! Testing time! I will get as much time as I can for this! :D
I will start posting here about the games I test. Tests are done on Rpi1, ROS 5.23 ROM, with a 50HZ monitor and video mode for perfect scrolling in games.

-2067 BC: Works great!
-A3000 xmas pack, BRIXX: Works well but title music sounds clackling.
-A3000 xmas pack, PON: Works great! (Skweek anyone? :D)
-A3000 xmas pack, Zap the Red Wierdos from Mars: Works (JA)
-Alerion: Works great!
-Apocalypse: Works (JA)
-Arcade 3: Works (JA)
-Axis: Works great!
-Ballarena: Works great!
-BattleChess: Works great!
-Battle Tank: Works (JA)
-Bouncer (F10452) (JA)
-Bubble Fair: Works great!
-Bug Hunter in Space: Works great!
-Cannon Fodder: Works great!
-Carnage INC: Works great!
-Cartoon Line part one: Works
-Cascade: Works great!
-Cataclysm: Works great!
-Caverns: Works great!
-Chuck Rock: Works great!
-Conqueror: Works (JA)
-DarkWood: Works great!
-Diggers: Works great!
-Drifter: Works great!
-Drop Ship: Works (JA)
-The Dungeon: Worls great!
-Ego: Repton 4: Working (JA)
-Fire & Ice: Works great, at least first level! (Have not gotten farther than this, but I will keep trying)
-Fireball II: Works great!
-Fish! (F10158): Works (JA)
-Flashback: Works great!
-Freddy's Folly: Works (JA)
-Galactic Dan: Works great!
-GODS: Works great!
-Gribbly's Day Out: Works great!
-Heimdall: Works great!
-Holed Out!: Works great!
-Inferno: Hangs Works great!
-James Pond: Works great!
-Jet Fighter: Works great!
-Mad Prof Mariarti: Works great!
-The Last Ninja: Works great!
-Legend of the Lost Temple: Works great!
-Lemmings: Works great! Cursor still re-appears on the left side of the screen if I take it to the right edge. Minor problem.
-Lotus Turbo Challenge 2: Works great!
-Maddingly Hall: Works great!
-Magic Pockets: Works great!
-Manchester United: Works (although RISCOS notes disc 2 isn't readable) (JA)
-Manchester United Europe: Works (JA)
-Man at Arms: Works great!
-Minotaur: Works great!
-Nebulus: Works great!
-No Excuses: Works great! (as strange as this game is...)
-Orion: Works great!
-Pac-mania: Works great! Better than ever! No "jerky scroll" during the first 2 seconds on the title screen any more!!! PERFECT!
-Pandora's Box: Works great!
-Paradroid 2000: Works great!
-Pesky Muskrats: Works with a small blinking band on the lower left part of the screen. Maybe this was visible on the Archimedes too?
-PipeMania: Works great!
-Poizone: Works great!
-Populous: Works great!
-Pysanki: Works great! (whatever this is about in any case...)
-Quest for Gold: Works (JA)
-RedShift: Works great!
-Repton 3: Works great!
-Revelation: Works great!
-Revolver: Works great!
-Rockfall: Works great!
-Rotor: Works great!
-Slappit: Works great! (whatever the game is about! :D)
-Speedball 2: Works great!
-Spheres of chaos: Works great!
-SWIV: Works great!
-Tactic: Works great!
-Talisman: Works great!
-Terramex (F1036601): Working (JA)
-Terramex (F1048404): Working (JA)
-Tower of Babel: Works great!
-Warlocks: Works great!
-White magic: Works
-Xenon2: Works great!
-Zarch: Works great!

Minor issues:
-Boogie Buggy: Disc 3 levels don't work (JA)
-Dominate: seems to work with a small screen corruption band on the left panel. (corruption on original floppy)
-E-Type: Works but it's too fast! Use keys to slow it down. (disk 2 needs setting to 12.5fps)
-HoverBod: Works, but needs slowing down
-Ibix the Viking: Works now, too fast as it was before, but it works
-Mig-29 Fulcrum: No sound (JA)
-Missile Control: Works, but too fast in places (JA)
-Sensible Soccer: Seems to work with palette problems (I think that is already known)
-StarTrader: Works, but too fast in places
-Thundermonk: Works (invisible shoots)
-Zelanities: Works with no audio

Keyboard/mouse issues:
-Blowpipe: Keyboard control problems. Looks and sounds perfect but seems unplayable
-Jahangir Khan World Championship Squash: Keyboard unresponsive
-Hero Quest: Mouse problem, the cursor keeps moving after you stop moving the mouse
-Nevryon: Control problems with keyboard and mouse. Otherwise, game works
-Wolfenstein 3D: Keyboard unresponsive

Scrolling issues:
-Grievous Bodily ARM: Works now, but scrolling is broken in a similar way as James Pond II
-James Pond 2: Works but still has notable scrolling problems

Failing:
-Alone in the Dark: ADFFS Exception: ADFF5015 Unhandled read/write in page zero
-Deeva: Hangs on internal error when choosing planet: abort on data transfer at &2027AB48
-Kaptain Konflict: hangs when the actual gameplay starts, with Internal Error: undefined instruction at &019F4200
-Lemmings 2 (ok, this one has never worked, but so near!): hangs on black screen after level briefing. Not working with UO modules either
-Overload (Paradise Games): Hangs on loading
-Overload (Clares): Only works from F12 prompt or under debug build (JA)
-Serpents: Internal Error: abort on data transfer at &FC044444

Currently unsupported:
-Aldebaran: Hangs desktop after pressing ADFFS "boot floppy" button. (unsupported - requires WIMP support)
-The Cobalt Seed: Black screen. (unsupported, loads code into a dynamic heap)
-Elite: hangs the desktop after clicking on ADFFS "Boot Floppy" button. (unsupported - requires WIMP support)
-Formula 2000: Asks for name and planet, and I don't know what tu put there as it always says "invalid planet".
-FRED: Seems to hang on tittle screen with music playing. No response to any keys or mouse buttons. (unsupported, requires CPU pipeline support of STR Rx,[PC, #-4])
-Jinxter: ADFFS exception. (unsupported - requires APCS-A support)
-Morph: floppy won't even try to boot. Lack of script maybe? (no Boot Script)

Scrolling games work perfect now, no more "frame adjustment", it just works PERFECT now. Way to go!
Last edited by Vanfanel on Mon Mar 21, 2016 3:49 pm, edited 31 times in total.

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

Re: ADFFS 2.54

Post by JonAbbott » Tue Mar 08, 2016 8:39 am

Keep up the testing, I'll start looking into the ones that are crashing. RedShift now appears to work, which along with Battle Tank are two I need to get ready for release.

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

Re: ADFFS 2.54

Post by JonAbbott » Tue Mar 08, 2016 5:59 pm

-BattleChess: crashes with
ADFFS Exception: ADFFS5007 Aborted LDM or STM with PC in reglist
Now fixed in todays build, an ARMv7 check had crept into the build
-The Last Ninja: crashes on undefined instruction
Might be fixed on todays build as it's working on my Pi
-Hero Quest: abort on data transfer at &FC02929C
Might be fixed on todays build as it's working on my Pi
-Magic Pockets: crashes on:
Abort on data transfer at &202B5C7C
A Page Zero access bug in the tracker module, which I've hopefully fixed correctly (not sure what the code was trying to achieve). Grab TrackerMod504.zip from /development/trackermodules/trackermod and place the Module it contains into !ADFFS.trackers

Vanfanel
Posts: 373
Joined: Mon Sep 16, 2013 12:01 am

Re: ADFFS 2.54

Post by Vanfanel » Tue Mar 08, 2016 6:21 pm

@Jon, I have updated status for Magic Pockets, it works with today's build!
But the other failing games still don't work. BattleChess error has changed, it now gets to ask for disk 2, then hangs, see message in the first post.
The others are still failing too. Maybe we are not using the same ROS ROM? I am using yesterday's ROS ROM build.

EDIT: I have added many more test results in post 1 and 2.

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

Re: ADFFS 2.54

Post by JonAbbott » Wed Mar 09, 2016 10:37 am

I took the liberty of merging your posts and splitting the working/non-working to make it easier to follow.

Jinxter incidentally has never been compatible as it was coded for the APCS-A C standard. I haven't coded a shim to APCS-32 for APCS-A yet, as there's no documentation for it. The only titles that use the APCS-A standard are Jinxter, Guild of Thieves and possibly The Pawn (untested)

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

Re: ADFFS 2.54

Post by JonAbbott » Wed Mar 09, 2016 10:55 am

-Orion: abort on data transfer at &2027941C at 2620
This is a bug in the Unaligned Abort handler, where an unaligned STM in screen memory is failing.

In today's build, I've temporarily turned off the Unaligned Abort handler. Could you quickly test the ones that are failing and in a separate post let me know which now work.

EDIT: Ignore the games with keyboard issues

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

Re: ADFFS 2.54

Post by JonAbbott » Wed Mar 09, 2016 1:18 pm

I've fixed two bugs in the Unaligned Abort handler, which fixes Inferno, Bubble Fair, Legends of the Lost Temple, Orion, Poizone, Populous and possibly others.

For testing purposes, I've put two sets of builds on the dev server. ADFFS500 / ADFFS500db include the Unaligned handlers, ADFFS500NoU / ADFFS500NoUdb don't.

If a game doesn't work with ADFFS500, see if you get the same result with ADFFS500NoU - which will tell us if the issue is Unaligned related.
Maybe we are not using the same ROS ROM? I am using yesterday's ROS ROM build.
I'm testing with 30th Oct 2015 ROM on the Pi1 and 4th Mar 2016 on the Pi2

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

Re: ADFFS 2.54

Post by JonAbbott » Wed Mar 09, 2016 3:07 pm

-Grevious Bodily: Black screen after tittle screen.
This could be an issue with screen addresses, as the game is trying to access the physical screen memory. With the Unaligned Abort handler off, it works but the screen is offset - again indicating it's using the wrong address.

EDIT: Now fixed, I've updated the Modules on the dev site. The games' Mode Module was getting the physical screen memory address instead of the legacy address.

Vanfanel
Posts: 373
Joined: Mon Sep 16, 2013 12:01 am

Re: ADFFS 2.54

Post by Vanfanel » Wed Mar 09, 2016 4:19 pm

@Jon: Updated results with today's modules. I have tried the failing games with the alternative modules also.

Post Reply