Testing emulators using z80test-1.0. Quick results

Struggling with Fuse or trying to find an emulator with a specific feature. Ask your questions here.
User avatar
RMartins
Manic Miner
Posts: 776
Joined: Thu Nov 16, 2017 3:26 pm

Re: Testing emulators using z80test-1.0. Quck results

Post by RMartins »

Which instruction are these ?

ALO A, A
ALO something

SLIA A

SRO (xy)
Last edited by RMartins on Tue May 22, 2018 4:04 pm, edited 1 time in total.
User avatar
RMartins
Manic Miner
Posts: 776
Joined: Thu Nov 16, 2017 3:26 pm

Re: Testing emulators using z80test-1.0. Quck results

Post by RMartins »

There are some inconsistent results too

Running `Z80Full.tap`
Gives 002 errors, for example.

and I see that instruction INC RR an INC XY (apparently they are different things (could it be second is for iX and iY ?) are returned as OK.
But these return as errors, when running `Z80ccf.tap`

It's not running a subset of the full test, or something fishy is going on.

NOTE: I was using FUSE, for test.
zx81
Microbot
Posts: 138
Joined: Sat Feb 17, 2018 9:33 pm

Re: Testing emulators using z80test-1.0. Quck results

Post by zx81 »

RMartins wrote: Tue May 22, 2018 3:43 pm There are some inconsistent results too

Running `Z80Full.tap`
Gives 002 errors, for example.

and I see that instruction INC RR an INC XY (apparently they are different things (could it be second is for iX and iY ?) are returned as OK.
But these return as errors, when running `Z80ccf.tap`

It's not running a subset of the full test, or something fishy is going on.

NOTE: I was using FUSE, for test.
That's true. I have Fuse 1.5.3 compiled from sources by myself running Fedora 28 (GCC 8.1.1). z80full fails two tests. But z80ccf fails 65 tests, first the 000 SELF TEST and then from INC RR fails many tests, JMP instructions included.

JSpeccy pass all tests OK from z80ccf. I'm very confident with Patrik's tests. I suspect from some problem with Fuse.
User avatar
RMartins
Manic Miner
Posts: 776
Joined: Thu Nov 16, 2017 3:26 pm

Re: Testing emulators using z80test-1.0. Quck results

Post by RMartins »

Independently of the quality of the test tool, it might have some specific dependency on a specific instruction, that if it fails, it might trigger a lot of other fails.

What I mean, is a simple fail, might trigger a lot more fails, because the test tool relies on that specific bad instruction, to make other tests.
User avatar
druellan
Dynamite Dan
Posts: 1466
Joined: Tue Apr 03, 2018 7:19 pm

Re: Testing emulators using z80test-1.0. Quck results

Post by druellan »

RMartins wrote: Tue May 22, 2018 3:43 pm It's not running a subset of the full test, or something fishy is going on.
The readme says: "- z80ccf - tests all flags after executing CCF after each instruction tested.", so I understand is not a subset of the z80full but a variation of the test?
User avatar
druellan
Dynamite Dan
Posts: 1466
Joined: Tue Apr 03, 2018 7:19 pm

Re: Testing emulators using z80test-1.0. Quck results

Post by druellan »

Z80Stealth 1.23
Image
Result: 025 of 152 tests failed.
User avatar
druellan
Dynamite Dan
Posts: 1466
Joined: Tue Apr 03, 2018 7:19 pm

Re: Testing emulators using z80test-1.0. Quck results

Post by druellan »

Patrik Rak however later discovered that the way how the flags 5 and 3 are affected after SCF/CCF actually depends on the previous instruction completed. In case of genuine Zilog CPU, if an instruction modifies the flags, the immediately following SCF/CCF does move of bits 5 and 3 from A to F, whereas if an instruction doesn't modify the flags (and after interrupt), the SCF/CCF does OR of bits 5 and 3 from A to F. In case of NEC and other clones, it is similar, except that instead of OR it does AND with some unknown value, making the result unreliable.
Source: https://faqwiki.zxnet.co.uk/wiki/Z80

The z80ccf.tap is perhaps related to that?
zx81
Microbot
Posts: 138
Joined: Sat Feb 17, 2018 9:33 pm

Re: Testing emulators using z80test-1.0. Quck results

Post by zx81 »

druellan wrote: Tue May 22, 2018 5:57 pm
Patrik Rak however later discovered that the way how the flags 5 and 3 are affected after SCF/CCF actually depends on the previous instruction completed. In case of genuine Zilog CPU, if an instruction modifies the flags, the immediately following SCF/CCF does move of bits 5 and 3 from A to F, whereas if an instruction doesn't modify the flags (and after interrupt), the SCF/CCF does OR of bits 5 and 3 from A to F. In case of NEC and other clones, it is similar, except that instead of OR it does AND with some unknown value, making the result unreliable.
Source: https://faqwiki.zxnet.co.uk/wiki/Z80

The z80ccf.tap is perhaps related to that?
Yes, it's related.
User avatar
RMartins
Manic Miner
Posts: 776
Joined: Thu Nov 16, 2017 3:26 pm

Re: Testing emulators using z80test-1.0. Quck results

Post by RMartins »

OK, then a great test to do, is save the app into a snapshot after break, and then run it on a real Spectrum, using DIVIde, DivMMC or similar.

I'm curious to run this on the ZX Next too :)
User avatar
MonkZy
Manic Miner
Posts: 278
Joined: Thu Feb 08, 2018 1:01 pm

Re: Testing emulators using z80test-1.0. Quck results

Post by MonkZy »

ZXBaremulator (version 3.H.5)

Image

All tests pass!!
Last edited by MonkZy on Tue May 22, 2018 6:51 pm, edited 1 time in total.
zx81
Microbot
Posts: 138
Joined: Sat Feb 17, 2018 9:33 pm

Re: Testing emulators using z80test-1.0. Quck results

Post by zx81 »

[mention]MonkZy[/mention]

Thanks by the test. JSpeccy shares the Z80 core with ZX Baremulator, simply translated from Java to C++.

Are you using a mini-LCD monitor or a Raspberry's LCD touch screen?. Your system is really cool... :D
User avatar
MonkZy
Manic Miner
Posts: 278
Joined: Thu Feb 08, 2018 1:01 pm

Re: Testing emulators using z80test-1.0. Quck results

Post by MonkZy »

The screen is a cheap Chinese clone from eBay, it is a copy of the Waveshare 5" display. It does have a touch screen but I don't use it as the driver support is not good. The case is designed and printed by me 8-) I will open a thread about it, one day. I am a huge ZXBaremulator fan.
Magnus
Dizzy
Posts: 61
Joined: Sat Jan 06, 2018 6:47 am
Location: Sweden

Re: Testing emulators using z80test-1.0. Quck results

Post by Magnus »

May I add the results for SoftSpectrum48 (it was a pain though :geek: ):
Image
My ZX Spectrum emulator project: https://softspectrum48.weebly.com.
User avatar
druellan
Dynamite Dan
Posts: 1466
Joined: Tue Apr 03, 2018 7:19 pm

Re: Testing emulators using z80test-1.0. Quck results

Post by druellan »

Magnus wrote: Sat May 26, 2018 5:58 pm May I add the results for SoftSpectrum48 (it was a pain though :geek: ):
Image
Nice work. I'm testing your emulator and I can say it looks promising. It plays the Gyroscope music quite well, something not all emulators are able to do.
User avatar
Pegaz
Dynamite Dan
Posts: 1209
Joined: Mon Nov 13, 2017 1:44 pm

Re: Testing emulators using z80test-1.0. Quck results

Post by Pegaz »

Spectramine v1.0.1b, passed all tests.

Image

I'm not surprised, Woody has already praised this emulator, as very precise...
Magnus
Dizzy
Posts: 61
Joined: Sat Jan 06, 2018 6:47 am
Location: Sweden

Re: Testing emulators using z80test-1.0. Quck results

Post by Magnus »

druellan wrote: Sat May 26, 2018 8:36 pm
Magnus wrote: Sat May 26, 2018 5:58 pm May I add the results for SoftSpectrum48 (it was a pain though :geek: ):
Image
Nice work. I'm testing your emulator and I can say it looks promising. It plays the Gyroscope music quite well, something not all emulators are able to do.
Thanks :). Gyroscope is tough - Fuse plays it better (as does Spectramine and probably many others).
My ZX Spectrum emulator project: https://softspectrum48.weebly.com.
zx81
Microbot
Posts: 138
Joined: Sat Feb 17, 2018 9:33 pm

Re: Testing emulators using z80test-1.0. Quck results

Post by zx81 »

druellan wrote: Sat May 26, 2018 8:36 pm Nice work. I'm testing your emulator and I can say it looks promising. It plays the Gyroscope music quite well, something not all emulators are able to do.
I can't hear any specially hard to emulate on Gyroscope music. It's a simple tune, really. From my POV emulate Fairlight, Sidewize, Cobra, Mad Mix Game musics or the digitized voice in Cobra's Arc is hardest than Gyroscope tune.
Magnus
Dizzy
Posts: 61
Joined: Sat Jan 06, 2018 6:47 am
Location: Sweden

Re: Testing emulators using z80test-1.0. Quck results

Post by Magnus »

zx81 wrote: Sun May 27, 2018 11:34 am
druellan wrote: Sat May 26, 2018 8:36 pm Nice work. I'm testing your emulator and I can say it looks promising. It plays the Gyroscope music quite well, something not all emulators are able to do.
I can't hear any specially hard to emulate on Gyroscope music. It's a simple tune, really. From my POV emulate Fairlight, Sidewize, Cobra, Mad Mix Game musics or the digitized voice in Cobra's Arc is hardest than Gyroscope tune.
Well, maybe not, but my emulator stutters a bit when playing the Gyroscope music, though it seems to be doing fine with most other games. I gave Cobra's Arc a try and it sounded terrible, but I'm not quite sure how it should sound (I have no hardware to check against).

Edit: Sorry about taking this off topic. :oops:
My ZX Spectrum emulator project: https://softspectrum48.weebly.com.
User avatar
druellan
Dynamite Dan
Posts: 1466
Joined: Tue Apr 03, 2018 7:19 pm

Re: Testing emulators using z80test-1.0. Quck results

Post by druellan »

zx81 wrote: Sun May 27, 2018 11:34 am I can't hear any specially hard to emulate on Gyroscope music. It's a simple tune, really. From my POV emulate Fairlight, Sidewize, Cobra, Mad Mix Game musics or the digitized voice in Cobra's Arc is hardest than Gyroscope tune.
Well, in my experience there is always something off on Melbourne's music system, and specially on Gyroscope, mainly because it's a tune a remember well. The melody pops on some emulators, and sometimes there is a distinctive hi-pitch sound on the background. Even FUSE used to have problems with this (now, much better), and I use SpecEmu as reference.
User avatar
druellan
Dynamite Dan
Posts: 1466
Joined: Tue Apr 03, 2018 7:19 pm

Re: Testing emulators using z80test-1.0. Quck results

Post by druellan »

Oh, and I agree about Odin's music system: Robin of the Woods, for example, it's a nightmare, that pops even on real hardware.
User avatar
druellan
Dynamite Dan
Posts: 1466
Joined: Tue Apr 03, 2018 7:19 pm

Re: Testing emulators using z80test-1.0. Quck results

Post by druellan »

Magnus wrote: Sun May 27, 2018 1:24 pm Well, maybe not, but my emulator stutters a bit when playing the Gyroscope music, though it seems to be doing fine with most other games. I gave Cobra's Arc a try and it sounded terrible, but I'm not quite sure how it should sound (I have no hardware to check against).
SpecEmu is a good reference.
Magnus wrote: Sun May 27, 2018 1:24 pm Edit: Sorry about taking this off topic. :oops:
I don't think it is offtopic at all, and even better if this helps to improve the emulation quality of any project!
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: Testing emulators using z80test-1.0. Quck results

Post by Ast A. Moore »

Cobra’s Arc and Gryroscope seem to be using the Wham! engine for their music.
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Hernan
Drutt
Posts: 27
Joined: Wed May 30, 2018 3:45 pm

Re: Testing emulators using z80test-1.0. Quck results

Post by Hernan »

Not technically an emulator, but I've run the tests on my ZX-Uno (v4.1 crowdfund, latest EXP26 core) and my Next board (Issue 2A, latest v.1.10.31 core).

ZX-Uno:

Image

23/152 failed

ZX Spectrum Next:

Image

24/152 failed

To be fair, I epected much better results... :?
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: Testing emulators using z80test-1.0. Quck results

Post by Ast A. Moore »

Hernan wrote: Wed May 30, 2018 3:58 pm Not technically an emulator
Yes, both the ZX-Uno and the Spectrum Next are technically emulators. Hardware emulators (well, hardware+firmware). Neither perfectly emulates the Z80 CPU nor the Spectrum itself.
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
User avatar
djnzx48
Manic Miner
Posts: 729
Joined: Wed Dec 06, 2017 2:13 am
Location: New Zealand

Re: Testing emulators using z80test-1.0. Quck results

Post by djnzx48 »

Wow, I'm definitely surprised that the Next failed so many tests! Are there any major revisions expected in the future?
Post Reply