Screen corruption/crash on some disk games

Discuss ZX Spectrum Next Games, Tools and more.
chris
Posts: 93
Joined: Tue May 30, 2017 9:28 am
Contact:

Screen corruption/crash on some disk games

Postby chris » Mon Sep 28, 2020 12:09 pm

I thought this was a one off incompatibility but I've now found two disk games that don't boot with exactly the same result. The loading screen displays, and then corruption (see below).

Bubble Bobble:
Image

Black Lamp:
Image

They both load and execute some code which causes this (I tried running the Black Lamp code manually and the corruption occurs, and pressing keys just corrupts more of the screen).

Tape versions of both run fine, just the code on the disk is trying to do something the Next doesn't like.

dave18
Posts: 186
Joined: Tue May 30, 2017 1:06 am
Location: Bristol, UK

Re: Screen corruption/crash on some disk games

Postby dave18 » Mon Sep 28, 2020 1:13 pm

There is no floppy drive controller implemented on the Next. I think Next OS can redirect OS disk calls but any custom loaders won't work. Take this as dsk format is not a sensible format to use for games on the Next.

chris
Posts: 93
Joined: Tue May 30, 2017 9:28 am
Contact:

Re: Screen corruption/crash on some disk games

Postby chris » Tue Sep 29, 2020 7:23 pm

dave18 wrote:
Mon Sep 28, 2020 1:13 pm
There is no floppy drive controller implemented on the Next. I think Next OS can redirect OS disk calls but any custom loaders won't work. Take this as dsk format is not a sensible format to use for games on the Next.
I'm aware of that but this occurs after the game is loaded, and the Next pops up an FDC error when it tries to access that - which isn't happening here.

It looks like it could be a fixable ROM thing rather than non-existent hardware.

dave18
Posts: 186
Joined: Tue May 30, 2017 1:06 am
Location: Bristol, UK

Re: Screen corruption/crash on some disk games

Postby dave18 » Tue Sep 29, 2020 7:30 pm

Maybe, but I still don't see much point in persevering with disk images as they offer no advantage. Those games would load instantly as tap files.

chris
Posts: 93
Joined: Tue May 30, 2017 9:28 am
Contact:

Re: Screen corruption/crash on some disk games

Postby chris » Tue Sep 29, 2020 10:03 pm

I know (I even said the tape versions were fine in my original post), but if it's a bug it ought to at least be investigated. You don't know what else it is affecting.

garrylancaster
Posts: 36
Joined: Mon Feb 19, 2018 2:44 pm

Re: Screen corruption/crash on some disk games

Postby garrylancaster » Sun Oct 18, 2020 7:30 am

chris wrote:
Tue Sep 29, 2020 7:23 pm
I'm aware of that but this occurs after the game is loaded, and the Next pops up an FDC error when it tries to access that - which isn't happening here.
NextZXOS does try to warn if a game loader looks like it might be accessing the FDC directly, but it can only hope to catch a small fraction of loaders that do this. There are many different ways code could be written to access the FDC, and this code could occur anywhere within the .DSK image, possibly even encrypted (and subsequently decrypted by an earlier part of the loading process). NextZXOS just attempts to find the most common indication, by searching the boot sector for the LD BC,$2FFD instruction, which addresses the FDC.

There are also plenty of other ways that protected .DSK games may fail to load. The most common other cause is making calls to unofficial entry points in the ROMs: when loading .DSKs, the NextZXOS ROMs are present rather than the +3 ROMs, so there are many routines that have relocated or have been removed to make room for other functionality.

As an example, a commercial system seemed to have been used by multiple different software houses to make it easy for them to port their 48K/128K games to protected +3 disks. The loader used in this system copies the 48K BASIC ROM into RAM and patches the cassette loading routines to instead read sectors from the disk. Then the 48K/128K game is simply loaded as if it was loading from tape. This doesn't work on the Next because the first part of the loader is always a BASIC program, and the Next's version of the 48K BASIC ROM no longer includes the BASIC interpreter parts.

The upshot is, for games that were also released on the 48K/128K machines, it's always better to use the TAP/TZX that is available. These should always work and are quicker and easier to use than .DSK files anyway. .DSK handling was really added to NextZXOS in order to support +3-specific software such as the Magnetic Scrolls games, later Level 9 games and productivity software such as Tasword Plus Three, Tascalc and Masterfile. All such software should work well as they are written to take advantage of the +3's operating system and as such use the official APIs for accessing disk facilities.

chris
Posts: 93
Joined: Tue May 30, 2017 9:28 am
Contact:

Re: Screen corruption/crash on some disk games

Postby chris » Sun Oct 18, 2020 8:55 pm

Interesting, thanks. Wasn't sure if it was a bug in NextZXOS. No problem with using the tape versions, it was only because I'd seen it on two different games that I flagged it.

Incidentally, Tasword +3 doesn't appear to like the drive letter being changed in the file selector. Not sure if it is because no image is mounted. Typing full path and filename works so it isn't a massive issue.

AndyCalling
Posts: 28
Joined: Thu Feb 27, 2020 9:35 pm

Re: Screen corruption/crash on some disk games

Postby AndyCalling » Wed Dec 30, 2020 5:49 am

I would like to try Tasword +3, but there's no way that will work I'm sure. I used to use Tasword 128 but my mate had the +3 version and I envied that spell checker.

chris
Posts: 93
Joined: Tue May 30, 2017 9:28 am
Contact:

Re: Screen corruption/crash on some disk games

Postby chris » Wed Jan 06, 2021 11:12 pm

AndyCalling wrote:
Wed Dec 30, 2020 5:49 am
I would like to try Tasword +3, but there's no way that will work I'm sure. I used to use Tasword 128 but my mate had the +3 version and I envied that spell checker.
Tasword +3 works fine (as much as I've used it, which isn't much). You just have to type the full path in to the file selector otherwise the Spectrum will crash or freeze.

AndyCalling
Posts: 28
Joined: Thu Feb 27, 2020 9:35 pm

Re: Screen corruption/crash on some disk games

Postby AndyCalling » Sat Jan 23, 2021 2:01 am

Will it be able to access the spell checker on the other side of the disk? If It can't do that, then Tasword 128 is fine. The spell checker was the only difference.


Who is online

Users browsing this forum: No registered users and 3 guests