ADFFS 2.80 public beta
Re: ADFFS 2.80 public beta
If added all the known issues I'm tracking to the OP, if you'd like to double check I've not missed any.
I've got another underlying change for the next build, which moves IRQ1V into the task's Page Zero, so I would hold fire on further testing until I release. It's implemented and I'm doing the final debugging/testing.
IRQ1V is the last Page Zero variable that was being tracked separately and once moved I can relocate Page Zero into a DynamicArea, with a seperate Page Zero for each task. I'll also look at moving the IOC/IOMD state into a DA in due course, which is another step towards each task having a dedicated VM.
Further ahead I'll implement CPU Paravirtualization, which will allow games to change CPU mode and correctly maintain the PSR, SPSR and R8-R14.
I've got another underlying change for the next build, which moves IRQ1V into the task's Page Zero, so I would hold fire on further testing until I release. It's implemented and I'm doing the final debugging/testing.
IRQ1V is the last Page Zero variable that was being tracked separately and once moved I can relocate Page Zero into a DynamicArea, with a seperate Page Zero for each task. I'll also look at moving the IOC/IOMD state into a DA in due course, which is another step towards each task having a dedicated VM.
Further ahead I'll implement CPU Paravirtualization, which will allow games to change CPU mode and correctly maintain the PSR, SPSR and R8-R14.
Re: ADFFS 2.80 public beta
2.80x in the OP and via PackMan for testers. This build moves IRQ1V back into Page Zero and adds RISC OS 2 default VIDC1 MODE parameters.
The following games have updated packages to resolve issues noted in the OP:
The following games have updated packages to resolve issues noted in the OP:
- Enter The Realm
- Gods [RPC version]
- Slappit
Re: ADFFS 2.80 public beta
I've tried the game on various physical machines and OS versions and it's the same on all of them - the axe does not follow the actual mouse pointer.
Based on that knowledge, I decided to take a look at what the game code was doing and sure enough it does not actually read the Mouse position in the Axe mini-game. It sets it, based on the following calculations:
Code: Select all
Mouse X [R12,#48] = [R12,#48]+[R12,#36]-[R12,#32]+[R12,#72]
Mouse Y [R12,#52] = [R12,#52]+[R12,#28]-[R12,#24]+[R12,#76]
EDIT: I've now corrected it's Mouse code to read the current Mouse position. Package Heimdall 0.3 will include the fix when available
Re: ADFFS 2.80 public beta
I have now reproduced this issue.Idge wrote: ↑Tue Feb 15, 2022 9:07 pm Fireball 2
The music starts off fine, but after it has been playing for a while, it starts having glitches with some of the instruments. I just tested it and timed it with a stop watch from when the music starts and it starts going wrong after 01:32
EDIT: I have now updated my Pi to the latest stable Riscos rom and wiped it and set it all up from scratch and this no longer happens. I have left it playing for a while and it all sounds correct now
If I load the music on it's own (by running FBsound) it plays correctly. After the game loads however, the music and some of the samples become corrupt, so I suspect there's a problem in the game code which is corrupting memory.
EDIT: I've finally tracked this down to an issue with the samples/tracker. The tracker is overrunning the end of the samples and playing non-zerod memory, it will be fixed in Fireball II 0.6 once available.
Re: ADFFS 2.80 public beta
Apologies for the lack of updates, among cutting up fallen trees and repairing broken fencing I'm trying to track down the lock in Enthar Seven as I'm concerned it's a fundamental issue with the JIT changes. The BBC6502Emulator Modules it uses is hand coded, uses very few SWI and has no complicated instructions so there's nothing obvious to cause a hard lock. Tracking down where the lock occurs is proving difficult without a JTAG step debugger.
Re: ADFFS 2.80 public beta
Nice work Jon, I am glad I wasn't imagining it!JonAbbott wrote: ↑Thu Feb 24, 2022 6:46 pmI have now reproduced this issue.Idge wrote: ↑Tue Feb 15, 2022 9:07 pm Fireball 2
The music starts off fine, but after it has been playing for a while, it starts having glitches with some of the instruments. I just tested it and timed it with a stop watch from when the music starts and it starts going wrong after 01:32
EDIT: I have now updated my Pi to the latest stable Riscos rom and wiped it and set it all up from scratch and this no longer happens. I have left it playing for a while and it all sounds correct now
If I load the music on it's own (by running FBsound) it plays correctly. After the game loads however, the music and some of the samples become corrupt, so I suspect there's a problem in the game code which is corrupting memory.
EDIT: I've finally tracked this down to an issue with the samples/tracker. The tracker is overrunning the end of the samples and playing non-zerod memory, it will be fixed in Fireball II 0.6 once available.
Re: ADFFS 2.80 public beta
It took some testing to get it to trigger as the correct memory page had to non-zero before loading it.
The majority of the other issues I've looked at recently were all Null deference related, so I'm going to leave Null dereference detection on in 2.80y. A lot of games will probably trigger it as the problem is so widespread, so I'll make a note of them in the Page Zero access thread for fixing later and turn it off in the following build.
The majority of the other issues I've looked at recently were all Null deference related, so I'm going to leave Null dereference detection on in 2.80y. A lot of games will probably trigger it as the problem is so widespread, so I'll make a note of them in the Page Zero access thread for fixing later and turn it off in the following build.
Re: ADFFS 2.80 public beta
I've tracked this down to a bug in it's UpCall handler, which triggers the insert disk prompt if "Media not present" is raised. The bug is causing it to trigger the insert disk prompt for all UpCall's.
Whilst debugging this, I've also spotted its disk protection contains a bug. Its supposed to read two sectors from the end of the disk, but is exiting early before the 2nd check. I've followed the checks it performs and confirmed it does pass the protection despite the bug, which is possibly why the author didn't spot it.
I'll upload an updated package in due course.
EDIT: I've just imaged my copy of K.V. and realised its an earlier version that has most of the disk protection removed.
The game has more bugs though as it doesn't stop the alarm sound when restarting a level and it only gives you 10 seconds to complete level 2 - which makes it impossible to complete.
Re: ADFFS 2.80 public beta
I've updated the following packages to resolve issues noted in the OP:
- Asylum
- Asylum [Acorn Arcade]
- Fireball II
- Frak!
- Heimdall
- Interdictor
- Jahangir Khan World Championship Squash
- K.V.
Re: ADFFS 2.80 public beta
2.80y available in the OP and via PackMan for testers. This build implements the Undefined hardware vector and limits code execution in Page Zero to the IRQ, FIQ and Undefined hardware vectors.
NOTE: This build has Null dereference checking turned on and will Abort if a game touches 0. Please let me know repro steps if you see any, so I can document them.
The following games have updated packages to resolve issues noted in the OP:
EDIT2: Aborts during a Module Finalise now report, but you must reboot the machine after as it will be in an unstable state
NOTE: This build has Null dereference checking turned on and will Abort if a game touches 0. Please let me know repro steps if you see any, so I can document them.
The following games have updated packages to resolve issues noted in the OP:
- Alerion
- Alien Invasion
EDIT2: Aborts during a Module Finalise now report, but you must reboot the machine after as it will be in an unstable state