26bit Module support

Discuss development specific to the Pi version of ADFFS
Vanfanel
Posts: 373
Joined: Mon Sep 16, 2013 12:01 am

Re: 26bit Module support

Post by Vanfanel » Fri Oct 09, 2015 10:31 am

JonAbbott wrote: It is a bit disc-swap happy. It's the usual story, copy all the discs into the !<App> folder, replace the !Run with the Boot script and comment out the first few lines.
I did that, and uncommented first line in the new !Run (which mounts disk 1), but the game keeps asking for disk 6 no matter what.

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

Re: 26bit Module support

Post by JonAbbott » Fri Oct 09, 2015 11:40 am

I've just had a nasty thought whilst pondering on how to track down the issue with Populous etc.

They way I've currently implemented reset_memory_block (which flushes translated code when the original memory is changed) is that all floppy reads, relevant SWI's called through the Hypervisor and Aborts will flush translated code.

If the OS is however changing memory, it's currently only triggering a flush if it issues a corresponding OS_SynchroniseCodeAreas to match the area its changed. I have however had to ignore full flushes triggered via OS_SynchroniseCodeAreas as the impact on the system make some games unplayable.

I suspect that in this scenario, games loaded from harddisc may fail where they may have previously worked if loaded from floppy disc.

Getting back to Populous etc. I'm fairly certain these issues are being caused by CPU cache flushes not occurring when they should. I just need to figure out if it's down to a bug that's been introduced or something I've missed out.

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

Re: 26bit Module support

Post by JonAbbott » Fri Oct 09, 2015 11:54 am

Vanfanel wrote:I did that, and uncommented first line in the new !Run (which mounts disk 1), but the game keeps asking for disk 6 no matter what.
Looks like I forgot to update the Obey.zip, try with the latest following the instructions in the Boot Script.

It's not finalised, but hopefully will get you running.

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

Re: 26bit Module support

Post by Vanfanel » Fri Oct 09, 2015 3:17 pm

JonAbbott wrote:
Vanfanel wrote:I did that, and uncommented first line in the new !Run (which mounts disk 1), but the game keeps asking for disk 6 no matter what.
Looks like I forgot to update the Obey.zip, try with the latest following the instructions in the Boot Script.

It's not finalised, but hopefully will get you running.
Yay! Running perfect from HD now!! No more crazy disk swapping!!
What an strange game...!

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

Re: 26bit Module support

Post by JonAbbott » Sat Oct 10, 2015 7:34 am

Whilst recording YouTube videos last night, a lot of games I recorded hung randomly. I'm hoping its related to the cache flush issue, but haven't found anything conclusive yet, games in question where:

Caverns
DarkWood
Diggers
Empire Soccer '94
E-Type
SWIV

I then switched to the debug build to see if it helped and spotted DarkWood was generating ridiculous numbers of Aborts; over 200,000 per/sec in Low graphics mode and 2,000,000 per/sec in High graphics mode! I gave up recording at this point, rather downhearted!

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

Re: 26bit Module support

Post by JonAbbott » Sun Oct 11, 2015 4:19 am

I started soak / regression testing on the London Show Pi's yesterday and have detailed all issues in the OP. If you have time, could you see if you're seeing the same issue as I am. BlowPipe showing the same keyboard issues as Wolfenstein 3D, and Gribbly's Day Out having similar scrolling issues to James Pond II is interesting.

Essentially I'm testing games to run in the games Arcade, so I won't be testing all games.


I'm also looking into palette issues, in particular the mouse cursor which looks okay for game set cursors, the default OS HourGlass however isn't setting one of the colours. You can repeat this by mounting a multi-floppy game, hit F12, *ADFRemapVideoMemory 13 160 and then swap between discs.

Sensible Soccer also does odd things with the palette during the intro, I'm starting to suspect I'm getting rogue palette changes from the OS. I have previously reported an issue in RISCOS, but have not confirmed it was ever resolved - it was a good year ago that I reported rogue palette changes in 4bpp MODE's.

EDIT:
I'm also looking into palette issues, in particular the mouse cursor which looks okay for game set cursors, the default OS HourGlass however isn't setting one of the colours.
I've now raised this as a bug in the OS, it's only passing palette entry 3 when the Hourglass is turned on.

EDIT2: Battle Tank not working appears to be an OS bug, which I've now reported. Ballarena seems to work okay on my Dev Pi, but not on the London Show Pi's :?

EDIT3: Rockfall only working under the debug build looks like a Page Zero access bug in the Voice Generator. The debug build might just be slow enough to delay the Channel Handler IRQ until after the bars have been setup.

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

Re: 26bit Module support

Post by Vanfanel » Wed Oct 14, 2015 7:05 pm

I've been testing and I can reproduce most of your issues, however:
-Gribbly's Day Out is scrolling well. Has a beautiful scrolling, in fact. It's NOT doing the same nasty things James Pond 2 does.
-Can't get SWIV to hang on the tittle screen. Maybe I should leave it running longer??

Keyboard problems in Wolfenstein 3D and Blowpipe are notable, yes.

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

Re: 26bit Module support

Post by JonAbbott » Wed Oct 14, 2015 9:30 pm

Gribbly's Day Out - leave it on the demo loop and watch it self-play. I couldn't reproduce when playing it, only on the demo.
SWIV - just leave it and it eventually sticks on one of the screens (the helicopter I think). I suspect it's a bug in the game code.

The OS bug that's causing Battle Tank to fail is now fixed in the OS, although I wouldn't advice going to 5.23 yet - I still have some issues to track down that are breaking a few games.

Updated obey.zip and Modules on the dev site, most changes are ZeroPain related however the mouse pointer code is now complete and clips the pointer correctly around the screen edges. Cannon Fodder's pointer issues looks resolved to me.

I've fixed several Page Zero Access bugs in games that have come to light under ZeroPain, Cannon Fodder and Rockfall being two I recall changing.

I've confirmed the HourGlass palette issue is a bug in the OS, which I've reported.

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

Re: 26bit Module support

Post by Vanfanel » Thu Oct 15, 2015 11:18 am

Can't reproduce Gribbly's scrolling issues, the game takes a LONG time to get into demo mode while a nice tracked music plays and HI-Score table forms. I have then watched two demo sequences (the second had those amiga-like copper-bars in the background) and scrolling was fine and graphics so nice :)

I have SWIV now running in soak-test mode. It seems fine so far, the intro sequence with the jeep and helicopter animations looks fine. I will leave it running for a couple of hours.
EDIT: SWIV doesn't hang here after a couple of hours in the tittle/intro loop.

I have also installed manually Diggers into the hard disc, and it hangs when trying to start the actual game after the intro.

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

Re: 26bit Module support

Post by JonAbbott » Thu Oct 15, 2015 2:59 pm

Thanks for confirming, I'll put them both on soak test on the show Pi's and see if you're now both working okay.

Diggers still has a random hang, which I've yet to pin down.

Post Reply