Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
06716 Media Support Critical (emulator) Always Oct 14, 2017, 13:01 Jul 27, 2019, 09:16
Tester StHiryu View Status Public Platform MAME (Unofficial Binary)
Assigned To AmatCoder Resolution Fixed OS Windows Vista/7/8 (64-bit)
Status [?] Resolved Driver spectrum.cpp
Version 0.190 Fixed in Version 0.212 Build 64-bit
Summary MESS-specific 06716: specpl3e: Fatal error when launching spectrum disks
Description When launching some spectrum disks like "Golden Axe" from WorldOfSpectrum.org, a fatal error message appears at the emulator. These disk images work well in other emus like zxspin.
Steps To Reproduce 1-Insert disk image in the floppy disk1 slot.
2-Launch ZX Spectrum +3e
Additional Information Disk download site (GoldenAxe.dsk.zip):
http://www.worldofspectrum.org/infoseekid.cgi?id=0002081

Attached image with the error message (error,jpg)
Flags
Regression Version
Affected Sets / Systems specpl3e
Attached Files
jpg file icon error.jpg (40,318 bytes) Oct 14, 2017, 13:01 Uploaded by StHiryu
StHiryu
Relationships
There are no relationship linked to this issue.
Notes
5
User avatar
No.14272
StHiryu
Tester
Oct 14, 2017, 13:04
Maybe the crash is because in the source code there is a variable expected_size with maximun value = 100000. Increasing that value may solve the problem...
User avatar
No.14274
Robbbert
Developer
Oct 14, 2017, 17:10
The crash is because the disk is not in the format expected by MAME. This type of crash came with the wd-fdc rewrite some time ago.
User avatar
No.14290
mahlemiut
Developer
Oct 17, 2017, 22:34
This is likely due to copy protection on the disk image. Extended CPCEMU images can support some level of disk protections, but MAME often doesn't handle longer than normal tracks very well.
User avatar
No.16625
AmatCoder
Tester
Jul 6, 2019, 09:11
I created a pull request for this issue: https://github.com/mamedev/mame/pull/5316

It fixes two types of protected tracks with mixed sector sizes:

1) When first sector has a size code of 6 (6144 bytes) and the rest have a size code of 2 (512 bytes)
Examples: Golden Axe, NARC, Monty Python's Flying Circus, Adidas Championship Tie-Break...

2) When first sector has a size code of 0 (128 bytes) and the rest have a size code of N*128 (256, 512, 1024...)
Examples: Into the Eagle's Nest, Licence to Kill, Star Raiders II...
Also some CPC games: APB - All Points Bulletin, Predator... The complete list here: http://www.cpc-power.com/index.php?page=protection&lenom=16sectors
User avatar
No.16692
AmatCoder
Tester
Jul 26, 2019, 15:41
PR was merged: https://github.com/mamedev/mame/pull/5316/commits/ab20a16990ac6975f63d63d40549cc64a95ce684
So this issue can be closed as resolved.