TheGoodDoktor / 8BitAnalysers

MIT License
87 stars 14 forks source link

SpectrumAnalyser does not support 128K snapshots made on ZX Spectrum Next #27

Open kborowinski opened 10 months ago

kborowinski commented 10 months ago

@TheGoodDoktor I've tried to analyse 128K snapshot made on ZX Spectrum Next, of the excellent game Angels, but it looks like it's not recognized: Angels.zip

Edit: According to ZX Spectrum Next wiki it supports this implementation of the format. I'm trying to get more info on Next discord channel, on which version of format is implemented by Next (v1/v2/v3), and if there are any differences in the implementation

Colourclash commented 10 months ago

The Angels snapshot you uploaded seems to be a version 1 .z80 snapshot file, which doesn't support the Spectrum 128, according to the format. I think you will need to create a >v1 z80 file or perhaps try to save in the .sna format.

kborowinski commented 10 months ago

This is a 128K snapshot for sure, because it loads back on ZX Spectrum Next and runs correctly. And this is the only format that ZX Spectrum Next supports when saving snapshots. I can't use SNA.

I'll try to fiddle a bit with the version flag in this file (to force v3) to see if it loads on SpectrunAnaylser.

kborowinski commented 10 months ago

@TheGoodDoktor : Thanks to much wiser guys than me (@Threetwosevensixseven and @em00k) I was able to gather following info that could help to narrow the issue:

  1. It looks like this is v3 format, you can use ZX BlockEditor to see the snapshot details (it's Windows only): image

  2. And this's excerpt from our conversation on Spectrum Next Discord channel: image image

  3. If you find that helpful I can provide you with more 128K Z80 snapshots from ZX Spectrum Next.

Colourclash commented 10 months ago

Thanks for the info. I made a mistake. :) It is a v3 snapshot but it looks like the snapshot handling code in the Chips code doesn't support uncompressed snapshots. Spectrum Analyser is built on top of the Chips code.

See this comment in zx_quickload() in zx.h:

image

Threetwosevensixseven commented 10 months ago

Thanks for figuring it out @Colourclash! Here's an uncompressed 48K snapshot from the Next too, so you can test when you come to implemement this feature.

Uridium.z80