ADFFS 2.60

Floppy Disc Controller emulator and virtual IOC/IOMD/ARM JIT for modern RISC OS machines
Post Reply
JonAbbott
Posts: 2938
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

ADFFS 2.60

Post by JonAbbott »

This build introduces some big changes for ARMv5+ and GPU based machines. APCS-R and APCS-32 are no longer translated to the current CLib, instead, a localized version of CLib 5.92 is loaded under the JIT, removing the requirement to manage C environments. This greatly improves compatibility of APCS code running on ARMv7.

On GPU based machines (Iyonix, Pi etc), the legacy screen buffer is no longer blitted at 50Hz, but is instead blitted based on a PLL. This removes the requirement to generate a fake 50Hz VSync while suppressing actual VSyncs and provides the game with a 50Hz VSync immediately. Previously ADFFS would have to count actual VSync for a few seconds, before it could provide 50Hz to the game.

For RO3.x users, there's a few bug fixes. Disk swapping is improved, "FileCore in use" and "Ambiguous Disc" errors should no longer occur.


Additional games that now work on the Pi:
Asylum, Brutal Horse Power, The Crystal Maze, Cycloids, Emotions - Search for Humanity, The Exotic Adventures of Sylvia Layne, Frak!, Guile, Iron Lord, Interdictor, Interdictor II, Leeds United, Logic Mania: Blindfold, Logic Mania: Gloop, Logic Mania: Tilt, MiG-29M Super Fulcrum, Morph, The Olympics, Ravenskull, Repton 3 Four Game Compilation, Small, Superior Golf, Trivial Pursuit, UIM
A305/A301/A410/A440/A540 requirements:
  • 4MB RAM minimum, 12MB RAM maximum
  • RISCOS 3.11
  • SparkFS must be loaded if "Boot Floppy" is going to be used
RiscPC requirements:
  • 32MB RAM minimum
  • RISC OS 3.x, 4.x or 5.23 Jun 9th 2016 or newer. Note that some games will not work on 4.x due to the way it allocates screen memory in 1MB blocks
  • SparkFS must be loaded
Iyonix requirements
  • RISC OS 5.23 Jun 9th 2016 or newer (must be High Vector, use a Nightly beta build. Do not use RC15)
  • SparkFS must be loaded
  • To get legacy TV MODEs working (0 to 15), you can try this Monitor file for 75Hz EGA on VGA
    EGAonVGAMonitor.zip
    (698 Bytes) Downloaded 558 times
Pi requirements:
  • Any revision Pi, from Pi 1 to Pi 3 Model B, including Pi Zero
  • RISC OS 5.23 Jun 9th 2016 or newer (must be High Vector, use a Nightly beta build. Do not use RC15)
  • SparkFS must be loaded (it's included in the OS SD image)
  • AnyMode must be installed in !Boot.Choices.Boot.PreDesk or the monitor set to Auto in Configure
  • Ensure fake_vsync_isr=1 is uncommented in !Boot.Loader.CONFIG/TXT
  • (optional) For the proper retro gaming look, you can turn off the default GPU filtered upscaling by editing !Boot.Loader.CONFIG/TXT and add the following lines:

    Code: Select all

    #set GPU upscaling to nearest neighbour
    scaling_kernel=8
  • (optional) If your display supports 50Hz, you can force the Pi to use 50Hz by editing !Boot.Loader.CONFIG/TXT and adding the following lines. Uncomment one of the hdmi_mode values:

    Code: Select all

    hdmi_ignore_edid=0xa5000080
    #
    hdmi_group=1
    #576p @ 50Hz
    #hdmi_mode=17
    #
    #720p @ 50Hz
    #hdmi_mode=19
    #
    #1080p @ 50Hz
    hdmi_mode=31
    At other monitor frequencies, games will still run at the correct rate but micro stutter may be noticeable where extra frames are added to make up the difference
  • If you're running a ROM build of 14th Dec 2016 or newer you need to disable GPU mode change support by creating !Boot.Loader.CMDLINE/TXT with the following contents:

    Code: Select all

    disable_mode_changes

Known issues
  • Does not support the protection used by Chequered Flag (RO2 version), Bubble Fair (Eterna), Fine Racer (Eterna) and KerBang! (Eterna) when running on RISC OS 3.1x (they talk directly to the FDC via IOC)
  • Shelling out of the desktop (Ctrl-Shift-F12 twice) hangs if an HD floppy is mounted on RO3.5+ ARM710 under RedSquirrel
  • Although Caverns runs fine under VIDC translation on the A7000, on a RiscPC the scrolling isn't quite correct
  • Does not work on a RISC OS 3.1x machine with more than 12mb of RAM
  • Some games don't display on Kinetic (eg Zarch)
  • OMAP based cores are untested and may not work
  • Some games that use overscan may result in a blank screen on a RiscPC
  • Rockfall will crash if left on the demo loop when run on a ARM600 or newer
  • Boogie Buggy fails to work on disc 3 levels
  • Wolfenstein 3D, can't turn in-game music on when run on StrongArm or newer
  • Manchester United, the prompt to swap to disk 2 can be hard to see without holding SHIFT
  • Going directly to a 1/2/4 bit MODE after starting the JIT selects an 8bit equivalent
  • CTRL-SHIFT-F12 to quit out of a game running under the JIT fails when a BASIC program calls machine code that has its own Exit handler
  • *QUIT from BASIC when the JIT is running causes a Branch through Zero Abort
Games that are made compatible with StrongARM or newer processors (tested on Pi 3):
F1000101 2067 BC (1993) (Oregan Developments)
F1000601 Aggressor (1992) (Atomic Software)
F1000701 Air Supremacy (1991) (Superior Software)
F1001001 Alerion (1988) (DABS Press)
F1001501 Alone In the Dark (1995) (Krisalis Software)
F1001701 Apocalypse (1990) (The Fourth Dimension)
F1001901 Arcade Soccer (1989) (The Fourth Dimension)
F1002401 ArcPinball (1990) (Shibumi Soft)
F1049301 Arc/A3000 Christmas Box, The: Brixx! (1990) (RTFM Software)
F1049302 Arc/A3000 Christmas Box, The: PON! in Winterland (1990) (RTFM Software)
F1049303 Arc/A3000 Christmas Box, The: Zap the red wierdos from Mars (1990) (RTFM Software)
F1001801 Arcade 3 (1988) (Clares Micro Supplies)
F1002001 Arcendium (1988) (Alien Images)
F1002601 Arcturus (1994) (Oregan Developments)
F1003301 Asylum (1993) (Digital Psychosis) (speed issues)
F1003401 Axis (1993) (TBA Software)
F1023101 Ballarena (1990) (Sisteme)
F1003601 Ballarena (1994) (Uffenkamp Computer Systeme)
F1003701 Bambuzle (1991) (Arxe Systems)
F1003801 Battle Chess (1993) (Krisalis Software)
F1003901 Battle Tank (1990) (Minerva)
F1004101 Big Bang (1996) (Psycore)
F1004201 Birds of War (1993) (The Fourth Dimension)
F1064001 Blaston (1991) (Eterna)
F1004401 Blaston (1994) (Uffenkamp Computer Systeme) (no sound)
F1004601 Blitz! (1991) (Arxe Systems)
F1004701 BloodLust (1998) (The Fourth Dimension)
F1004801 Blood Sport (1993) (Matt Black)
F1004901 BlowPipe (1990) (Eclipse)
F1005201 Bobby Blockhead vs The Dark Planet (1991) (Atomic Software)
F1005301 Boogie Buggy (1991) (The Fourth Dimension)
F1045201 Bouncer (1991) (RTFM Software)
F1044301 Brutal Horse Power (1997) (TBA Software)
F1005801 Bubble Impact (1997) (Moving Pixels) (flickers)
F1005701 Bubble Fair (1991) (Eterna)
F1006001 Bug Hunter in Space (1990) (Minerva)
F1006201 Burn 'Out (1995) (Oregan Developments)
F1006501 Cannon Fodder (1994) (Krisalis Software)
F1006701 Carnage Inc. (1993) (The Fourth Dimension)
F1019501 Cartoon Line part one (1991) (Eterna)
F1002201 Cartoon Line part one (1993) (Uffenkamp Computer Systeme)
F1035501 Cascade (1992) (Milo Shaffer and Richard Norman)
F1006801 Casino (1989) (Minerva)
F1007101 Cataclysm (1991) (The Fourth Dimension)
F1048201 Cataclysm [SA version] (1998) (The Fourth Dimension)
F1007201 Caverns (1991) (Minerva)
F1049001 Champions: Jahangir Khan World Championship Squash (1991) (Krisalis Software)
F1049002 Champions: Manchester United (1992) (Krisalis Software)
F1049005 Champions: World Class Leader Board (1992) (Krisalis Software) (needs slowing down)
F1062401 Chequered Flag [RO3 version] (1992) (Cambridge International Software)
F1007801 Chocks Away (1990) (The Fourth Dimension)
F1008001 Chopper Force (1992) (The Fourth Dimension)
F1008101 Chuck Rock (1991) (Krisalis Software)
F1008301 Cobalt Seed, The (1995) (TBA Software)
F1008801 Command Ship (1995) (TBA Software)
F1008901 Confusion (1989) (Cambridge International Software)
F1009001 Conqueror (1988) (Superior Software)
F1009301 Corruption (1989) (Rainbird)
F1009601 Crystal Maze, The (1993) (Sherston Software)
F1009901 Cyber Ape (1995) (TBA Software)
F1010301 Cycloids (1993) (Software 42)
F1010401 DarkWood (1995) (Eclipse)
F1046201 Deadline (1996) (Network 23)
F1010901 Deeva (1990) (Calderglen Computers)
F1011501 Diggers (1994) (Millennium Interactive)
F1011701 DinoSaw (1993) (Five Star Marketing)
F1011801 Dominate (1991) (RTFM Software)
F1012501 Drifter (1997) (The Fourth Dimension)
F1012701 Drop Ship (1990) (The Fourth Dimension)
F1060101 Drop Ship [SA version] (1997) (The Fourth Dimension)
F1012801 Dune II - Battle for Arrakis (1995) (Eclipse) (v1.23F)
F1053501 Dune II - Battle for Arrakis (1997) (Eclipse) [CD version] (v1.32)
F1012901 Dungeon, The (1993) (The Fourth Dimension)
F1030701 Ego: Repton 4 (1992) (Superior Software)
F1013101 Emotions - Search for Humanity (1997) (The Datafile)
F1013201 Empire Soccer '94 (1995) (Empire Software)
F1013401 Enter The Realm (1991) (The Fourth Dimension) (screen borders aren't correct)
F1045701 Enter The Realm [SA version] (1992) (The Fourth Dimension)
F1014001 E-Type (1989) (The Fourth Dimension)
F1014601 Exotic Adventures of Sylvia Layne, The (1993) (The Fourth Dimension)
F1015301 Fine Racer (1991) (Eterna)
F1015401 Fire & Ice (1995) (Warner Interactive Entertainment)
F1015701 Fireball II (1990) (Cambridge International Software)
F1015801 Fish! (1988) (Rainbird)
F1015901 Flashback (1994) (U.S. Gold)
F1063101 Formula Fun (1993) (Mystery Software)
F1016501 Frak! (1998) (R-Comp Interactive)
F1016601 F.R.E.D. (1993) (Software 42) (provided you preload the 32bit version of ArcFS)
F1016701 Freddy's Folly (1988) (Minerva)
F1017001 Galactic Dan (1992) (The Fourth Dimension)
F1059201 Games Minipack Five: Fireball II (1990) (Cambridge International Software)
F1059201 Games Minipack Five: PON! (1990) (Cambridge International Software)
F1017201 Gods (1992) (Krisalis Software)
F1017901 Gribbly's Day Out (1992) (Coin-Age)
F1017801 Grievous Bodily 'ARM (1991) (The Fourth Dimension) (hard to swap discs without it asking for disc 1)
F1024501 Grievous Bodily 'ARM (1991) (The Fourth Dimension) (hard to swap discs without it asking for disc 1)
F1018001 Groundhog (1998) (The Fourth Dimension)
F1041101 Guild of Thieves, The (1987) (Rainbird)
F1018301 Guile (1992) (Dream Software)
F1018801 Heimdall (1993) (Krisalis Software)
F1019201 Hero Quest (1991) (Krisalis Software)
F1019901 Holed Out!! (1989) (The Fourth Dimension)
F1020101 Hostages (1990) (Superior Software)
F1020201 HoverBod (1988) (Minerva)
F1020401 Ibix the Viking (1989) (Minerva)
F1020501 Inertia (1990) (The Fourth Dimension)
F1040801 Inferno (1996) (Paradise Games)
F1020601 Interdictor (1989) (Clares Micro Supplies)
F1020701 Interdictor II (1990) (Clares Micro Supplies)
F1020801 Iron Lord (1990) (UBI Soft)
F1021001 Jahangir Khan World Championship Squash (1991) (Krisalis Software)
F1021101 James Pond (1990) (Krisalis Software)
F1059001 James Pond [BUZZ version] (1990) (Krisalis Software)
F1021201 James Pond II Robocod (1993) (Eclipse)
F1052501 James Pond II+ Robocod (1995) (Eclipse)
F1021301 Jet Fighter (1988) (Minerva)
F1021401 Jinxter (1989) (Rainbird)
F1021801 Kaptain Konflict (1990) (Calderglen Computers)
F1048401 Krisalis Collection, The: Mad Professor Mariarti [BUZZ version] (1991) (Krisalis Software)
F1048402 Krisalis Collection, The: Pipe Mania (1993) (Krisalis Software)
F1048403 Krisalis Collection, The: Revelation! [BUZZ version] (1993) (Krisalis Software)
F1048404 Krisalis Collection, The: Terramex (1993) (Krisalis Software)
F1022301 Last Ninja, The (1992) (Superior Software)
F1022401 Leeds United (1993) (CDS Software)
F1022501 Legend of the Lost Temple, The (1992) (Eterna)
F1027701 Lemmings (1991) (Krisalis Software)
F1046901 Lemmings [Learning Curve version] (1991) (Krisalis Software)
F1022801 Lemmings 2: The Tribes (1994) (Krisalis Software)
F1022902 Logic Mania: Blindfold (1996) (The Fourth Dimension)
F1022903 Logic Mania: Gloop (1996) (The Fourth Dimension)
F1022904 Logic Mania: Tilt (1996) (The Fourth Dimension) (font palette issues if booted)
F1023201 Lotus Turbo Challenge 2 (1992) (Krisalis Software)
F1023501 Maddingly Hall (1989) (Minerva)
F1023301 Mad Professor Mariarti (1990) (Krisalis Software)
F1023601 Magic Pockets (1993) (Renegade)
F1023801 Magnetoids (1994) (Oregan Developments)
F1024101 Man at Arms (1990) (The Fourth Dimension)
F1024201 Manchester United (1990) (Krisalis Software)
F1049101 Manchester United Europe (1991) (Krisalis Software)
F1025202 Merp (1996) (TBA Software)
F1025001 MiG-29 Fulcrum (1991) (Domark)
F1040901 MiG-29M Super Fulcrum (1991) (Domark)
F1025201 Mirror Image (1996) (TBA Software)
F1025101 Minotaur (1987) (Minerva)
F1025301 Missile Control (1988) (Minerva)
F1025601 Morph (1998) (The Fourth Dimension) (flickers)
F1025801 Mr Doo (1994) (Archimedes World)
F1026001 Nebulus (1992) (Krisalis Software)
F1026101 Nevryon (1990) (The Fourth Dimension)
F1026301 No Excuses (1991) (Arcana Software)
F1026701 Oh, No! More Lemmings (1992) (Krisalis Software)
F1026801 Olympics, The (1990) (The Fourth Dimension) (graphics issues under blitter)
F1027001 Orion (1988) (Minerva)
F1027101 Overload (1989) (Clares Micro Supplies)
F1027201 Overload (2000) (Paradise Games)
F1050701 Pac-mania (1989) (Grandslam Entertainments)
F1044701 Pac-mania [Learning Curve version] (1991) (Domark)
F1027401 Pandora's Box (1991) (The Fourth Dimension)
F1047801 Pandora's Box [SA version] (1998) (The Fourth Dimension)
F1027501 Paradroid 2000 (1993) (Coin-Age)
F1027701 Pawn, The (1990) (Rainbird)
F1027801 Pesky Muskrats (1992) (Coin-Age)
F1028101 Pipe Mania (1989) (Krisalis Software)
F1028201 Poizone (1991) (Eterna)
F1028501 Populous (1992) (Krisalis Software)
F1028601 PowerBand (1990) (The Fourth Dimension) (v1.00)
F1061901 PowerBand (1990) (The Fourth Dimension) (v2.00)
F1060001 PowerBand [SA version] (1998) (The Fourth Dimension)
F1029001 Pysanki (1990) (The Fourth Dimension)
F1029601 Quark (1993) (Oregan Developments)
F1029701 Quazer (1988) (Impact Software)
F1029801 Quest For Gold
F1048001 Quest For Gold [Learning Curve version] (1992) (Krisalis Software)
F1030101 Ravenskull (1997) (ProAction)
F1047501 Rekall (1990) (RTFM Software)
F1030301 RedShift (1990) (Minerva)
F1030601 Repton 3 (1988) (Superior Software)
F1047901 Repton 3 Four Game Compilation (1992) (Superior Software)
F1030801 Revelation! (1992) (Krisalis Software)
F1059501 Revelation! [BUZZ version] (1993) (Krisalis Software)
F1030901 Revolver () (Psycore)
F1031001 Rick Dangerous (1995) (The Hitmen Software)
F1031201 Rise in Crime (1988) (Robico Software)
F1031501 Rockfall (1991) (Eterna)
F1031601 Rotor (1989) (Arcana Software)
F1031901 Saloon Cars Deluxe (1992) (The Fourth Dimension)
F1032601 Sensible Soccer (1993) (Renegade)[/color]
F1032701 Serpents (1993) (Cambridge International Software)
F1032901 Silver Ball (1997) (The Fourth Dimension)
F1033201 Simon the Sorcerer (1994) (GamesWare)
F1045601 Slappit (1990) (RTFM Software)
F1033401 Small (1993) (Virgo Software)
F1033801 SpeedBall 2 (1994) (Krisalis Software)
F1033901 Spheres of Chaos (1992) (Matt Black)
F1034101 Spobbleoid (1994) (Cybernation Entertainment Systems)
F1034201 Spobbleoid Fantasy (1994) (Cybernation Entertainment Systems)
F1034301 Sporting Triangles (1990) (CDS Software)[/color]
F1034701 Starch (1990) (Alien Images)
F1034801 StarTrader (1989) (Gem Electronics)
F1035001 Stranded! (1989) (Robico Software)
F1035101 Stunt Racer 2000 (1993) (The Fourth Dimension)
F1035601 Super Snail (1998) (The Fourth Dimension)
F1035701 Superior Golf (1990) (Superior Software) (speed issues, click on club to select instead of using MENU/ADJUST)
F1035901 S.W.I.V. (1992) (Krisalis Software)
F1056601 S.W.I.V. [BUZZ version] (1993) (Krisalis Software)
F1036101 Tactic (1996) (Uffenkamp Computer Systeme)
F1036201 Talisman (1989) (Minerva)
F1036401 Technodream (1993) (Superior Software)
F1036601 Terramex (1988) (Grandslam Entertainments)
F1036701 Thundermonk (1989) (Minerva)
F1037001 Top Banana (1988) (Hex)
F1037101 Tower of Babel (1991) (Cygnus Software)
F1037201 Trivial Pursuit (1989) (Domark)
F1037501 UIM (1990) (The Fourth Dimension)
F1037801 Warlocks (1993) (Network 23)
F1038101 White Magic (1989) (The Fourth Dimension)
F1038801 Wolfenstein 3D (1994) (Powerslave Software)
F1038901 Wonderland (1991) (Virgin Mastertronic)
F1039001 Word Up Word Down (1989) (Gem Electronics)
F1039601 Xenon 2: Megablast (1993) (Eclipse)
F1039701 X-Fire (1992) (The Fourth Dimension)
F1040201 Zarch (1987) (Superior Software)
F1040301 Zelanites - The Onslaught (1991) (MicroPower)
F1003001 Zodiac - Aries: BlowPipe (1994) (GamesWare)
F1003005 Zodiac - Aries: Square Route (1994) (GamesWare)



Changes since 2.59:
  • TrackerModule wasn't releasing claimed RMA on finalize
  • JIT CMF was being incorrectly encoded (fixes Mig-29M Super Fulcrum)
  • JIT Vector_Claim_Handlers wasn't clearing OS_CallAfter's after they had been entered (fixes PowerBand)
  • ADFMount wasn't checking for CR as a filename terminator
  • diskswap was checking the wrong register when looking for the start of the filename
  • OS_Byte 19 wasn't waiting for VSync on IOC
  • OS_Byte 113 may not have added forced VSyncs on IOC
  • JIT Vector claims weren't being reused, the type check was corrupting the original address
  • JIT CallBacks weren't being cleared down after they're called
  • JIT OS_RemoveTickerEvent could remove non tickers
  • ADFS_DiscOp was returning the wrong error numbers for Sector CRC and Sector Missing, when emulating a 1772 (fixes BlowPipe)
  • OS_DynamicArea on RO3.11 wasn't allowing more than one DA (fixes DTT shim module on RO3.11)
  • ADFEject no longer issues *DISMOUNT to cure Ambiguous disc name (introduced in 2.53g to fix Flashback on RO5, but causes issues with The Fourth Dimension installers)
  • ADFMount now checks for an Ambiguous disc name once it knows the canonicalised floppy name, "adfs:dismount <discname>" is issued if the disc triggers an Ambigous disc error
  • Abort handler may have handled aborts above &FFFFFFF instead of passing them onto RISCOS
  • JIT OS_Module 18 wasn't working
  • ADFRemapVideoMemory wasn't turning off the pointer when shutting down (fixes running games after HeroQuest)
  • GraphicsV 11 wasn't calculating the highest palette entry correctly
  • OS_Byte 176 wasn't working correctly
  • JIT OS_PlatformFeatures now returns an error
  • JIT Page Zero RISCOSLibWord and CLibWord added
  • JIT 26bit Modules with SWI's would work if the SWI table pointer wasn't valid
  • JIT Moved the environment handler tracking to VMM workspace
  • JIT Environment handlers that use a register block weren't handing the PSR
  • JIT OS_ChangeEnvironment may not have handled handlers 6..15 correctly
  • JIT CallBack handler wasn't copying the PSR into PC before passing to user code (fixes Alone in the Dark, Empire Soccer '94 and Populous)
  • JIT LDM/STMxx Rn{!},{<reglist>}^ without PC no longer remove the ^ (fixes localized CLibAPCS-R, Zarch and Chopper Force Boot scripts correct the unpredictable instructions)
  • JIT STM Rn{!},{<reglist>}^ with PC in reglist no longer removes ^ (Fire & Ice Boot script updated to correct code)
  • JIT 26bit Module handler wasn't checking bits 0..5 of the SWI chunk were 0 (fixes Guile)
  • OS_Claim now reclaims EventV to ensure we're at the top of the call queue (fixes The Crystal Maze disk swapping, which broke in 2.18m)
  • JIT CTRL-SHIFT-F12 would hang on 26bit RISCOS
  • JIT Sound_QSchedule now ensures the X bit is set (fixes CTRL-SHIFT-F12 in Repton 3)
  • Swapping discs at an ADFS prompt to insert another disc could generate a "FileCore in use" error
  • Miscop PollChanged now returns "maybe changed" when the floppy hasn't changed to fix RO5 FileCore not detecting disc swaps
  • ADFBootFloppy now checks if a floppy has the boot options set before attempting to boot it
  • Didn't track MODEs 25-40
  • Screen memory is no longer remapped to the RO3.1 area when emulating RO3.5 (fixes flickering in Frak! and Bubble Impact)
  • JIT 26bit Modules could replace essential Modules
  • JIT 26bit Modules now support an B instruction in the Start entry (fixes 65Arthur in Enthar Seven)
  • JIT 26bit Modules may not have returned an error if they failed to load
  • JIT RMRun implemented for 26bit Modules (fixes Enthar Seven)
  • JIT OS_ReadLine now translated to OS_ReadLine32 on 32bit OS
  • OS_Release wasn't returning an error for an invalid release (fixes Enthar Seven)
  • JIT CallBack handler wasn't updating physical USER R13 (fixes Interdictor)
  • OS_ChangeDynamicArea 2 was corrupting R0
  • JIT dynamically loads localized APCS-A / APCS-R Modules when CLib SWI's are issued
  • Sound buffer is now non-cacheable under RO5
  • MEMC_Vinit / MEMC_Vstart now ensure they're quad-word aligned (fixes scrolling in Caverns, bug intruduced in 2.57s)
adffs260.zip
(608.2 KiB) Downloaded 782 times
source.zip
(308.17 KiB) Downloaded 479 times
NOTE: You must have !SparkFS loaded and use "Boot floppy" to run a game. If you don't, you could end up with a machine that isn't bootable, as some games try to alter the CMOS. Provided "Boot floppy" is used, ADFFS will prevent games from altering both the CMOS and unplugging modules.
DO NOT try to run a game by launching it's Icon - it will almost certainly damage your machine.
richw
Posts: 159
Joined: Sat Sep 14, 2013 9:05 pm

Re: ADFFS 2.60

Post by richw »

I have finally managed to get my Pi set up again. I gave ADFFS a quick blast with a Pi firmware and RISC OS ROM image set that are about a week old. Only hassle was the need to do the 'disable_mode_changes' hack. I am not quite sure if this is due to the new RISC OS GPU driving code being buggy or incomplete, or it is just a situation ADFFS cannot cope with?
JonAbbott
Posts: 2938
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.60

Post by JonAbbott »

richw wrote:Only hassle was the need to do the 'disable_mode_changes' hack. I am not quite sure if this is due to the new RISC OS GPU driving code being buggy or incomplete, or it is just a situation ADFFS cannot cope with?
A key part of the EDID development in RISCOS is the ability to directly control the resolution of the display. The unfortunate side effect of this so far as gaming is concerned, is the display has to support the resolution and frequency being requested. Essentially it's a step back to the way video worked on the RiscPC, where you need to know the hardware spec of the display, although instead of using monitor definition files, it's now done automatically (if your display has a valid EDID of course, a lot don't) via quizzing the monitor for its EDID data.

What makes the Pi so great for gaming, is the ability to seperate the physical display resolution/refresh rate from the logical resolution/refresh rate that the OS is using, where the two differ, the GPU will upscale so you always have a visible image. It's this GPU upscaling that many games rely on as next to no modern displays support legacy screen resolutions and certainly don't support overscan.

Adding "disable_mode_changes" to CMDLINE.TXT prevents RISCOS from directly controlling the physical display resolution, which is instead fixed in CONFIG.TXT as has been the case up until recent Pi firmware.
richw
Posts: 159
Joined: Sat Sep 14, 2013 9:05 pm

Re: ADFFS 2.60

Post by richw »

Ah, OK, that makes total sense. I was wondering if it was an issue in RISC OS or ADFFS, but it's neither! I guess the same issues apply to the OMAP4/5, iMX6 and even IOMD machines to an extent. So a keen gamer would want an original Archimedes or a Pi.

I suppose the only other solution is that someone implements a software scaler, which would no doubt present a performance conundrum. I can't say I see the point, when a Pi Zero can be had for under a fiver!

Thanks for the info.
Post Reply