ADFFS 2.69

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

ADFFS 2.69

Post by JonAbbott »

A minor update to bring in sync with the PackMan distribution.


A305/A301/A410/A440/A540 requirements:
  • 4MB RAM minimum, 12MB RAM maximum
  • RISCOS 3.11
  • ADFFS must be installed to a hard-drive
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
  • NOTE: Some RISC OS 4 builds (4.39 for example) have an inbuilt version of ZLib which contains a compression bug. You must *RMUnplug ZLib from the ROM if you wish to save/image JFD files
Iyonix requirements
  • RISC OS 5.23 Jun 9th 2016 or newer
  • To get legacy TV MODEs working (0 to 15), you can try this Monitor file for 75Hz EGA on VGA
    EGAonVGAMonitor.zip
  • (optional) For USB Joystick support, load the USBJoystick Module and configure the Joystick mappings with *USBJoystick_Map, before running a game via ADFFS
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
  • Ensure fake_vsync_isr=1 is uncommented in !Boot.Loader.CONFIG/TXT
  • If you're running a ROM build of 14th Dec 2016 or newer you must disable GPU mode change support by creating !Boot.Loader.CMDLINE/TXT with the following contents:

    Code: Select all

    disable_mode_changes
  • (optional) For USB Joystick support, load the USBJoystick Module and configure the Joystick mappings with *USBJoystick_Map, before running a game via ADFFS
  • (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

Known issues
  • Does not support the protection used by Chequered Flag (RO2 version) when running on RISC OS 3.1x (talks 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
  • 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
  • Vubars in Overload (2000) (Paradise Games) help pages cause a crash
  • 26bit WIMP app support under RISC OS 5 can randomly lock the machine (related to a feature of RISC OS, which doesn't preserve memory page access across a task switch)

Games that are made compatible with StrongARM or newer processors (tested on Pi 3):
F1000101 2067 BC (1993) (Oregan Developments)
F1000201 3D Construction Kit (1991) (Domark)
F1045101 Acheton & Kingom of Hamil (1987) (TOPOLOGIKA)
F1000401 Adventures, classic complication [Philosopher's Quest, Countdown to Doom, Return to Doom, Kingdom of Hamil, Acheton] (1988) (TOPOLOGIKA)
F1000402 Adventures, classic complication [Philosopher's Quest, Countdown to Doom, Return to Doom, Kingdom of Hamil, Acheton] (1988) (TOPOLOGIKA)
F1049202 Adventure Collection, The: Kidnapping (1993) (Alpine Software)
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)
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)
F1001901 Arcade Soccer (1989) (The Fourth Dimension)
F1002001 Arcendium (1988) (Alien Images)
F1002401 ArcPinball (1990) (Shibumi Soft)
F1002601 Arcturus (1994) (Oregan Developments)
F1003301 Asylum (1993) (Digital Psychosis)
F1048901 Avon & Murdac (1989) (TOPOLOGIKA)
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)
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)
F1005501 Botkiller2 (1999) (Artex Software)
F1045201 Bouncer (1991) (RTFM Software)
F1005601 Break 147 & Superpool (1991) (The Fourth Dimension) (HD install only)
F1044301 Brutal Horse Power (1997) (TBA Software)
F1005701 Bubble Fair (1991) (Eterna)
F1005801 Bubble Impact (1997) (Moving Pixels)
F1005901 Bug Hunter & Moondash (1990) (Minerva)
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)
F1049004 Champions: World Championship Boxing Manager (1992) (Krisalis Software)
F1049005 Champions: World Class Leaderboard (1992) (Krisalis Software)
F1062401 Chequered Flag [RO3 version] (1992) (Cambridge International Software)
F1007801 Chocks Away (1990) (The Fourth Dimension)
F1060601 Chocks Away Compendium [SA version] (2000) (The Fourth Dimension)
F1008001 Chopper Force (1992) (The Fourth Dimension)
F1008101 Chuck Rock (1991) (Krisalis Software)
F1014401 Chuck Rock [BUZZ version] (1994) (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)
F1009101 COPS (1989) (Alpine Software)
F1009301 Corruption (1989) (Rainbird)
F1009501 Crisis (1990) (Cambridge International Software)
F1009601 Crystal Maze, The (1993) (Sherston Software)
F1009901 Cyber Ape (1995) (TBA Software)
F1010201b Cyborg (1992) (Alpine Software) (Text Adventure only)
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)
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)
F1013501 Enthar Seven (1988) (Robico Software)
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) (see F1015701b script for Fireball)
F1015801 Fish! (1988) (Rainbird)
F1015901 Flashback (1994) (U.S. Gold)
F1016301 Flying High: Joust (1997) (GEK)
F1016302 Flying High: Euroblaster (1997) (GEK)
F1063101 Formula Fun (1993) (Mystery Software)
F1016601 F.R.E.D. (1993) (Software 42) (provided you preload the 32bit version of ArcFS)
F1016701 Freddy's Folly (1988) (Minerva)
F1043701 Fugative's Quest (1989) (Robico Software)
F1017001 Galactic Dan (1992) (The Fourth Dimension)
F1055601 Games Minipack Four: Confusion (1989) (Cambridge International Software)
F1055602 Games Minipack Four: Orion (1988) (Minerva)
F1055603 Games Minipack Four: StarTrader (1989) (Gem Electronics)
F1055604 Games Minipack Four: Word Up Word Down (1989) (Gem Electronics)
F1059201 Games Minipack Five: Fireball II (1990) (Cambridge International Software) (F1059201b script for Fireball)
F1059202 Games Minipack Five: Fish! (1990) (Cambridge International Software)
F1059203 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)
F1019301 Heroes of Might and Magic 2: The Succession Wars (2000) (R-Comp Interactive) (no script)
F1019901 Holed Out!! (1989) (The Fourth Dimension)
F1020101 Hostages (1990) (Superior Software)
F1020201 HoverBod (1988) (Minerva)
F1056501 Humanoids and Robotix (1993) (Cambridge International Software)
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) (Cygnus Software)
F1021001 Jahangir Khan World Championship Squash (1991) (Krisalis Software)
F1064901 Jahangir Khan World Championship Squash [BUZZ version] (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)
F1063301 James Pond Underwater Agent and Running Water (1995) (SkillsWare)
F1021301 Jet Fighter (1988) (Minerva)
F1021401 Jinxter (1989) (Rainbird)
F1021801 Kaptain Konflict (1990) (Calderglen Computers)
F1022001 KerBang! (1991) (Eterna)
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)
F1022101 Labyrinth (2000) (Acornsoft)
F1008401 Last Days of Doom, The & Hezarin (1990) (TOPOLOGIKA)
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)
F1023301 Mad Professor Mariarti (1990) (Krisalis Software)
F1059301 Mad Professor Mariarti [BUZZ version] (1991) (Krisalis Software)
F1023501 Maddingly Hall (1989) (Minerva)
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)
F1024401 Master Break (1990) (Superior Software)
F1056401 Memory Magic (1990) (Cambridge International Software)
F1024701 MicroDrive (1990) (Cambridge International Software)
F1045801 MicroDrive Designer (1992) (Cambridge International Software)
F1024801 MicroDrive World Edition (1991) (Cambridge International Software)
F1025001 MiG-29 Fulcrum (1991) (Domark)
F1040901 MiG-29M Super Fulcrum (1991) (Domark)
F1025101 Minotaur (1987) (Minerva)
F1025201 Mirror Image (1996) (TBA Software)
F1025301 Missile Control (1988) (Minerva)
F1025601 Morph (1998) (The Fourth Dimension)
F1025801 Mr Doo (1994) (Archimedes World)
F1026001 Nebulus (1992) (Krisalis Software)
F1026101 Nevryon (1990) (The Fourth Dimension)
F1061301 Nevryon [SA version] (2001) (The Fourth Dimension) (HD install only)
F1026301 No Excuses (1991) (Arcana Software)
F10266o1 OddBall (1995) (Digital Psychosis)
F1026701 Oh, No! More Lemmings (1992) (Krisalis Software)
F1026801 Olympics, The (1990) (The Fourth Dimension) (graphics issues under blitter)
F1026901 Omar Sharif's Bridge (1992) (Krisalis Software)
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)
F1041001 Plague Planet (1988) (Alpine Software)
F1048701 Play It Again Sam 3 disk 1 [Superior Golf, Zelanites] (1993) (Superior Software)
F1048702 Play It Again Sam 3 disk 2 [Letrouve, Top Banana] (1993) (Superior Software)
F1057407 Play It Again Sam 4: Last Ninja, The (1997) (ProAction)
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)
F1029301 Pushy (1997) (The Fourth Dimension)
F1029201 Put It! (1992) (Uffenkamp Computer Systeme) (sound issues)
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)
F1030201 Raw Power (1993) (Software 42)
F1030301 RedShift (1990) (Minerva)
F1047501 Rekall (1990) (RTFM Software)
F1065901 Repton 1 (1997) (ProAction)
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 (1995) (Psycore)
F1031001 Rick Dangerous (1995) (The Hitmen Software)
F1031201 Rise in Crime (1988) (Robico Software)
F1031501 Rockfall (1991) (Eterna)
F1031601 Rotor (1989) (Arcana Software)
F1031801 Saloon Cars (1991) (The Fourth Dimension)
F1031901 Saloon Cars Deluxe (1992) (The Fourth Dimension)
F1032601 Sensible Soccer (1993) (Renegade)
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)
F1059405 Software 42 Collection: Raw Power (1993) (Eclipse)
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)
F1034401 SpySnatcher (1992) (TOPOLOGIKA)
F1034701 Starch (1990) (Alien Images)
F1034801 StarTrader (1989) (Gem Electronics)
F1035001 Stranded! (1989) (Robico Software)
F1035101 Stunt Racer 2000 (1993) (The Fourth Dimension)
F1044501 Stunt Racer 2000 [SA version] (1997) (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)
F1036001 Syndicate+ (1998) (R-Comp Interactive)
F1062901 Tactic (1990) (Eterna)
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)
F1037401 Twinworld (1990) (Cygnus Software)
F1037501 UIM (1990) (The Fourth Dimension)
F1037801 Warlocks (1993) (Network 23)
F1038101 White Magic (1989) (The Fourth Dimension)
F1038201 White Magic 2 (1989) (The Fourth Dimension)
F1038801 Wolfenstein 3D (1994) (Powerslave Software) (use the native 32bit version instead)
F1038701 WolfPack (1992) (Software 42)
F1038901 Wonderland (1991) (Virgin Mastertronic)
F1039001 Word Up Word Down (1989) (Gem Electronics)
F1039201 World Championship Boxing Manager (1991) (Krisalis Software)
F1039301 World Class Leaderboard (1988) (Krisalis Software)
F1039101 WorldScape [pre-release v0.91] (1990) (Eclipse)
F1039401 Worra Battle (1989) (Oak Solutions)
F1039601 Xenon 2: Megablast (1993) (Eclipse)
F1039701 X-Fire (1992) (The Fourth Dimension) (Spray sound doesn't work correctly)
F1032001 X-Run (1990) (XFM Software)
F1040101 Zalaga (1996) (Pro-Action)
F1040201 Zarch (1987) (Superior Software)
F1040301 Zelanites - The Onslaught (1991) (MicroPower)
F1003001 Zodiac - Aries: BlowPipe (1994) (GamesWare)
F1003004 Zodiac - Aries: (1994) (GamesWare)
F1003005 Zodiac - Aries: Square Route (1994) (GamesWare)


Changes since 2.68:
  • *TV setting wasn't being applied on IOMD RO5
  • removed VSync_at_Key_Scan code
  • OS_ClaimDeviceVector SSBC tracking was causing a hang on IOMD
  • Autoloads USBJoystick on RISC OS 5
adffs269.zip
(1018.02 KiB) Downloaded 508 times

NOTE: You must use "Boot floppy" to run supported games. If you don't, you could end up with a machine that isn't bootable, as some games 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.


source269.zip
(299.29 KiB) Downloaded 374 times
richw
Posts: 159
Joined: Sat Sep 14, 2013 9:05 pm

Re: ADFFS 2.69

Post by richw »

Following on from my earlier issues with crashes, I thought I’d do a spot of re-testing. I’ve updated my Pi B+ to the firmware from 5th Nov and RISC OS 5.27 (built 16 Nov). I have tried using ADFFS 2.69 and 2.70b, but I can’t get Pacmania, E-Type or Saloon Cars to run at all.

With previous versions of RISC OS, Saloon Cars would clear the screen and say ‘Please insert the original disc, press SPACE or click mouse’, so I would press SPACE, and see it load. Now, the message isn’t printed on a clear mode 13-style screen - it is just painted onto the desktop. If I press SPACE, then it says ‘not enough memory to change to this screen mode’ and stops loading. If I try again, I get ‘Abort on instruction fetch at 01A04454’, then similar at 011FF54C. I have to hit CTRL-BREAK at the point, as the machine becomes very unstable.

Pacmania doesn’t load. It prints ‘not enough memory to change to this screen mode’ onto the desktop.

E-Type doesn’t load. It displays the E-Type silver graphic, then freezes.

I suspect that Jeffrey’s latest round of graphics code updates (which I think are related to mode changing!) are causing an issue. I’ll ask on the ROOL forum, as even basic stuff like F12, BASIC, MODE 12 doesn’t work (it says ‘screen mode not available’).

I’ll try and look into it a bit more with an older version of RISC OS (prior to Jeffrey’s changes).
Vanfanel
Posts: 576
Joined: Mon Sep 16, 2013 12:01 am

Re: ADFFS 2.69

Post by Vanfanel »

@Jon: I have found some regressions:
-Hero Quest hangs on language selection screen
-James Pond 2+ causes screen corruption on exit
JonAbbott
Posts: 2938
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.69

Post by JonAbbott »

richw wrote: Sat Nov 17, 2018 6:50 pm I suspect that Jeffrey’s latest round of graphics code updates (which I think are related to mode changing!) are causing an issue.
Your suspicions are correct, ironically those changes are the first part of a reimplementation that came off the back of issues I reported whilst coding the legacy MODE support in ADFFS. I'm not sure if it's one issue or several as DA2 memory allocation doesn't appear to be working.

Speaking of regressions, with USBJoystick loaded (any version) and no Joystick attached (haven't tried it with one attached), load Pacmania [learning curve version] and watch the level selection screen go nuts when you try to start a game. I believe it's using the Acorn interface, so is possibly getting rogue values causing the selection to change.
Vanfanel wrote: Sun Nov 18, 2018 12:08 am @Jon: I have found some regressions:
-Hero Quest hangs on language selection screen
-James Pond 2+ causes screen corruption on exit
I couldn't reproduce the issue with JP2+ (tested on 2.70b) but did reproduce the issue with HeroQuest. Now that's odd, because I was using HeroQuest to test the changes to DiscOp\MiscOp in 2.70b and it was working perfectly. I've had to go back to 2.66j before it works reliably, so will investigate further. It's actually reporting an undefined instruction after selecting the language, so it's possibly some self-modifying code running under IRQ/SVC causing the issue.

EDIT: HeroQuest also works with 2.68s but not 2.68t
JonAbbott
Posts: 2938
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.69

Post by JonAbbott »

JonAbbott wrote: Sun Nov 18, 2018 9:35 am HeroQuest also works with 2.68s but not 2.68t
The only change between 2.68s and 2.68t was the VCHIQ locking issue fix in the GraphicsV driver, so its possibly a timing issue around VSync that causing the lock.

I suspect the game is getting into a race condition as it doesn't actually hang, I believe its stuck in a tight loop waiting for a memory value to change. I'll probably need to dump the game code and modify it, as I've no idea when the VCHIQ issue will be resolved in the OS.
richw
Posts: 159
Joined: Sat Sep 14, 2013 9:05 pm

Re: ADFFS 2.69

Post by richw »

JonAbbott wrote: Sun Nov 18, 2018 9:35 am Speaking of regressions, with USBJoystick loaded (any version) and no Joystick attached (haven't tried it with one attached), load Pacmania [learning curve version] and watch the level selection screen go nuts when you try to start a game. I believe it's using the Acorn interface, so is possibly getting rogue values causing the selection to change.
Looks like the Learning Curve version added Acorn SWI support (I had previously been testing with the 1989 release).

I don’t see what you mean by ‘go nuts’. I’ve always found the selection screen to be hyper-sensitive to keypresses, making it quite tricky to pick 1, 2 or 3. But this was even before I started writing USBJoystick. As far as I can tell, the USBJoystick module doesn’t make things any worse (I tried the game with and without it loaded).

I have spotted a bit of nonsense though... if you have no stick mapped, then the default response to the 16-bit Acorn SWI is corrupt (it should be X/Y entered and no buttons pressed). But only about two games use this SWI, so it’s no biggie to fix. I’ve been messing about with it, but it’s not making any difference to Pacmania (just in case).

So I’m a bit perplexed by this one!
JonAbbott
Posts: 2938
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.69

Post by JonAbbott »

richw wrote: Sun Nov 18, 2018 9:58 pm I don’t see what you mean by ‘go nuts’.
Must just be on mine then. The selection page is cycling around the level options really fast, making it impossible to make a selection vie keyboard.

I'll breakpoint the code to see what Joystick_Read is returning.
JonAbbott
Posts: 2938
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.69

Post by JonAbbott »

richw wrote: Sun Nov 18, 2018 9:58 pm Looks like the Learning Curve version added Acorn SWI support (I had previously been testing with the 1989 release).
It adds JoyMod support. There's one SWI @ 409C0 which isn't getting a result returned from USBJoystick.

I think you just need to return R0=0 if there's no Joystick attached to fix it.
richw
Posts: 159
Joined: Sat Sep 14, 2013 9:05 pm

Re: ADFFS 2.69

Post by richw »

Ahh... Not sure why I thought it was Joystick SWI! I must have assumed a 1991 re-release was for the A3010, but I am a year too early! You are quite right, it is Joy.

I do return zero if the emulate joy behaviour is off, but not if it is on and there is no mapped stick. I have fixed this now in my local code, and the Joy SWI now returns zero (it was leaving it alone, so was undefined behaviour).

I previously fixed the Acorn 16-bit response to default to centre if there are no sticks.

I am currently experimenting with mouse support, so all these things should be in the next release.
JonAbbott
Posts: 2938
Joined: Thu Apr 11, 2013 12:13 pm
Location: Essex
Contact:

Re: ADFFS 2.69

Post by JonAbbott »

You'd think it would be using the Acorn interface being an Acorn release :roll:
Vanfanel wrote: Sun Nov 18, 2018 12:08 am -Hero Quest hangs on language selection screen
Spent a few hours recoding VSync generation in the GraphicsV driver yesterday and managed to get this title working...however, the knock on effect is Gribbly's Day Out, Manchester United and Manchester United Europe all break.

The current method (2.69) of generating a VSync is to let through the GPU VSync that occurs after the virtual 50hz tick, I tried switching that to a soft generated VSync under RTSupport on the 50hz tick, which I think is causing threading locks.

Time to think of more ingenious ways to generate a VSync that doesn't involve IRQs!
Post Reply