CSpect Accuracy

Discuss game and other programming topics not specifically covered in another forum

Moderator: Programming Moderators

Holmanix
Posts: 6
Joined: Thu Sep 10, 2020 8:13 pm

CSpect Accuracy

Postby Holmanix » Tue Mar 09, 2021 8:27 pm

Hi Everyone,

Can I ask how accurate Cspect is to use as a development tool? I bought Warhawk the other day and can't get it to run (demo works fine) so I'm wondering if there's some subtle incompatibilities that might make it a bad choice to start trying things out on.

Cheers

Ped7g
Posts: 256
Joined: Mon Jul 16, 2018 7:11 pm

Re: CSpect Accuracy

Postby Ped7g » Wed Mar 10, 2021 7:02 am

How accurate it is: as development tool quite accurate, definitely worth of use during development phase (the inaccuracy is outweighed by quick turn around times when building+testing+debugging, saves ton of time and hassle, if you develop on the PC)
Compared to classic ZX emulators being cycle-perfect, it's very inaccurate, forget about that level of fidelity. Not only timing is not perfect, but even various HW features are incomplete or not completely correct. Although overall CSpect is quite good. I have my own fork of ZEsarUX "ZESERUse", which is in some features more complete/correct, but also more PITA to use, and it's not perfect either, having just different set of problems.

But it's also important to test with real HW Next, at least from time to time, to ensure the code is working as intended.

The Warhawk itself was developed mostly in CSpect, so I'm a bit surprised the full version doesn't run it (I don't have full version to test), but it could happen, as I wrote above, no Next emulator is fully correct (and I don't expect any to become cycle-perfect for many many years, even feature-complete will take probably long time, because of how many features Next has and because the Next itself is still evolving and changing, so even if you would create quite complete emulator of core3.1.5, once the next core version will be finally released, you would have quite some features to add).

Also account for various video modes used by users, which affect the overall behaviour (exact speed) of Next, these are not emulated either in any emulator.

https://wiki.specnext.dev/CSpect:known_bugs
this is test+maintained by me, having only partial set of tests (mostly these https://github.com/MrKWatkins/ZXSpectrumNextTests and then some of the publicly available Next SW and some of my secret prototypes), so there may be more bugs.

And check https://wiki.specnext.dev/Emulators for other emulators... emulator. Technically there are just two, CSpect and ZEsarUX, and my fork of ZEsarUX.

If you want to "try things out", CSpect should be good enough. If you are at expert level familiar with classic ZX to the point that all your creations include multicolours and exact timing, you will have to readjust your expectations a bit and step down from that level, that's too much for CSpect, but just to get familiar with all major HW features of Next, and do 90% of testing during development, CSpect is excellent tool. Of course it also helps to get familiar with all the known shortcomings, and when you think you do hit some new issue, posting some source + sna/nex/dot binary to forum or discord may help, people will test it + report what it does on real Next for you usually within few hours. I did develop 90% of that test suite by reading the docs and asking people with dev-boards (before first Kickstarter shipped cased units) to test them for me (when I felt they finished enough, that the test should work).

Ped7g
Posts: 256
Joined: Mon Jul 16, 2018 7:11 pm

Re: CSpect Accuracy

Postby Ped7g » Wed Mar 10, 2021 9:03 am

And answer directly from Rusty pixels:
It will work is you use a batch file to launch it or if you just press f2 from cspect to load it. If you use it from an SD system image it will hang. When Warhawk starts its looks for the pi0 and will attempt to communicate. Somehow cspect then fails as if a transfer has been started and the game will not run. In the full release this is used to enable the original sid to play on the title screen if present.

Holmanix
Posts: 6
Joined: Thu Sep 10, 2020 8:13 pm

Re: CSpect Accuracy

Postby Holmanix » Wed Mar 10, 2021 7:13 pm

That's marvellous, thanks for the advice. I'm very much in the early stages of ASM coding but I'm certainly getting better, and the toolchain I've been using to fiddle about with Spectaculator will be easily transferred to CSpect.

Cheers


Who is online

Users browsing this forum: No registered users and 4 guests