I have noticed that E-Type appears to be impossible to exit from. Only CTRL-BREAK gets me out!
Perhaps related, but when I add my pointerv handler into USBJoystick, E-Type will refuse to start, locking the machine solid. No doubt I am doing something wrong, but E-Type is strange!
ADFFS 2.71 beta
Re: ADFFS 2.71 beta
Can you see if it happens in 2.70 please, I've tried to reproduce it but couldn't. I did notice some screen corruption when triangles get down to 1 or 2 pixels, but it appears to do the same thing on a RiscPC, so that's a bug in the game code.
I didn't think E_Type had an exit option, CTRL-SHIFT-F12 being the only option to kill it. I thought it disabled CTRL-BREAK in the script, but I'm possibly thinking of another game...I'll check tomorrow.richw wrote: ↑Sun Feb 10, 2019 10:01 pm I have noticed that E-Type appears to be impossible to exit from. Only CTRL-BREAK gets me out!
Perhaps related, but when I add my pointerv handler into USBJoystick, E-Type will refuse to start, locking the machine solid. No doubt I am doing something wrong, but E-Type is strange!
Send me a copy of USBJoystick along with the source, I'll debug E-Type and see what it's doing.
Re: ADFFS 2.71 beta
I've been investigating the issue with Chequered Flag, which appears to be memory corruption. It's proving particularly difficult to track down and may or may not be related to the issue in Alone in the Dark.
Somewhere during its init stage, the previous exit handler stored at 45A10 is being overwritten with what looks like a PSR. I've checked 45A10 on entry/exit from the SWI handler and it appears to be okay, checking when the JIT is entered is finding its changed as does checking it when a Environment handler is entered.
EDIT: I've tracked it down to a bug in the handling of the CallBack Environment handler, which I've now fixed. There also appears to be an issue with the Exit handler, which I'm investigating.
Somewhere during its init stage, the previous exit handler stored at 45A10 is being overwritten with what looks like a PSR. I've checked 45A10 on entry/exit from the SWI handler and it appears to be okay, checking when the JIT is entered is finding its changed as does checking it when a Environment handler is entered.
EDIT: I've tracked it down to a bug in the handling of the CallBack Environment handler, which I've now fixed. There also appears to be an issue with the Exit handler, which I'm investigating.
Re: ADFFS 2.71 beta
2.71z package is now available and includes this feature; in theory, if the game crashes it should shut down the JIT and turn off the video memory remapping so the machine stays stable. The Obey script that runs the game does get terminated if an Abort occurs, so some games that need Aliases, VSync delays etc will not clean up properly, which is something I need to solve. I also need to implement a few more bits to cover ADFFS being RMKilled, so I'll be bumping it to 2.72 once those are added.
The CallBack issue that was causing Chequered Flag to crash on exit is also resolved.
Could you please see if Alone in the Dark still crashes with this build.
E-Type does disable CTRL-BREAK so I'm not sure how you managed to kill it that way, I'll have to find a keyboard with a BREAK key so I can test it. The general rule-of-thumb is, if CTRL-ESC doesn't exit a game or there's no obvious menu/key combination listed in the manual, use CTRL-SHIFT-F12 to forcibly terminates it via ADFFS.
On further investigation, the game is exiting cleanly, the Obey file continues and shuts down the JIT. The lock occurs when Obey exits back to the desktop, so I need to investigate in more detail to find out why the lock is occurring.
Re: ADFFS 2.71 beta
@Jon: With current beta, Alone does not hang anymore! I played for half an hour with no hangs ![Smile :)](./images/smilies/icon_e_smile.gif)
Fireball I however boots to a black screen and hangs the system. Fireball II works fine, in case it helps.
![Smile :)](./images/smilies/icon_e_smile.gif)
Fireball I however boots to a black screen and hangs the system. Fireball II works fine, in case it helps.
Re: ADFFS 2.71 beta
Bugger...thought I'd fixed that issue. It's the BASIC Exit handler hanging. I'll see if I can finish off the clean up code as well, might be a few days as I'm out tomorrow and Thu.
Re: ADFFS 2.71 beta
Hmm, E-Type isn't locking the machine (I think!). It just seems to stop the keyboard and mouse working, maybe even bork the USB stack. It clears the screen, but instead of the E-Type logo fading in, I just see a flashing cursor at the top left for ever.
If I don't register my pointerv handler, then the game starts fine. Oh, and it exits nicely too, with CTRL SHIFT F12. My pointerv handler can be blank, makes no difference.
If I don't register my pointerv handler, then the game starts fine. Oh, and it exits nicely too, with CTRL SHIFT F12. My pointerv handler can be blank, makes no difference.
Re: ADFFS 2.71 beta
2.72a package is now available. After updating via Packman, immediately reboot as Exit handlers for every app will be left pointing to the previous ADFFS Module. I'll get that issue fixed soon, hopefully by the weekend.
Turns out it wasn't the BASIC Exit handler hanging, but the JIT shutting down prematurely. As I'm not going to be around for a few days, I put some hours in tonight to get it fixed. Hopefully, all games should now exit cleanly and should there be an abort or abnormal termination, ADFFS will at least shut the JIT down. I tested Chequered Flag, Populous, Fireball and a few TOPOLOGIKA titles and they all appeared to exit cleanly to the desktop.
I have botched it somewhat. Whenever a task is run, ADFFS looks to see if the Exit handler is currently pointing into the WindowManager Module. If it is, it installs its own Exit and Error handlers which tell the JIT to shutdown if its active in the current domain (ie the task is running under the JIT).
Send me the Module and source and I'll debug E-Type with it loaded to see why its failing.richw wrote: ↑Tue Feb 12, 2019 9:29 pm Hmm, E-Type isn't locking the machine (I think!). It just seems to stop the keyboard and mouse working, maybe even bork the USB stack. It clears the screen, but instead of the E-Type logo fading in, I just see a flashing cursor at the top left for ever.
If I don't register my pointerv handler, then the game starts fine. Oh, and it exits nicely too, with CTRL SHIFT F12. My pointerv handler can be blank, makes no difference.
Re: ADFFS 2.71 beta
Whilst testing games this morning I've spotted an issue with BlastOn (Eterna), which may fail to load after running something else. It's putting code at &4400 which is possibly not being handled correctly. I've fixed it in the boot script by relocating the code higher in memory, but need to investigate why &4000-&8000 isn't being handled correctly.
Omar Sharif's Bridge also appears to hang the first time you run it. If you kill it via CTRL-SHIFT-F12 and then immediately re-run it, it works![Confused :?](./images/smilies/icon_e_confused.gif)
Spheres of Chaos locks as soon as you start a game (broke in 2.71y)
Confusion is crashing with a Page Zero access issue in its CallBack handler, after running Chuck Rock (the CallBack veneer needs to check if the regdump address is valid before copying them)
Omar Sharif's Bridge also appears to hang the first time you run it. If you kill it via CTRL-SHIFT-F12 and then immediately re-run it, it works
![Confused :?](./images/smilies/icon_e_confused.gif)
Spheres of Chaos locks as soon as you start a game (broke in 2.71y)
Confusion is crashing with a Page Zero access issue in its CallBack handler, after running Chuck Rock (the CallBack veneer needs to check if the regdump address is valid before copying them)
Re: ADFFS 2.71 beta
2.72b package is now available. After updating via Packman, immediately reboot as Exit handlers for every app will be left pointing to the previous ADFFS Module - this build now orphans the Exit handler, to resolve this issue and prevent crashes when ADFFS is terminated or updated.
Unless any more issues show up, I'm going to release this build next week.
Fixed, it wasn't filling &4000-&8000 with hypercalls.JonAbbott wrote: ↑Wed Feb 13, 2019 8:16 am Whilst testing games this morning I've spotted an issue with BlastOn (Eterna), which may fail to load after running something else. It's putting code at &4400 which is possibly not being handled correctly. I've fixed it in the boot script by relocating the code higher in memory, but need to investigate why &4000-&8000 isn't being handled correctly.
Fixed, my rewrite of LDM with Rn in <reglist> wasn't required so I've pulled it.
Fixed, it now checks if the regdump pointer is valid.
Unless any more issues show up, I'm going to release this build next week.