Testing emulators using z80test-1.0. Quck results

Struggling with Fuse or trying to find an emulator with a specific feature. Ask your questions here.
User avatar
druellan
Microbot
Posts: 116
Joined: Tue Apr 03, 2018 6:19 pm
Location: Argentina
Contact:

Re: Testing emulators using z80test-1.0. Quck results

Post by druellan » Tue May 22, 2018 2:18 pm

RMartins wrote:
Tue May 22, 2018 2:07 pm
The description of Zero 0.7.1 says 005 but the image states only 3 errors.
Oh! My bad! Sadly, I can't change it anymore. I also misspelled "quick" on the title :roll:
0 x

User avatar
RMartins
Manic Miner
Posts: 323
Joined: Thu Nov 16, 2017 3:26 pm

Re: Testing emulators using z80test-1.0. Quck results

Post by RMartins » Tue May 22, 2018 2:34 pm

Which instruction are these ?

ALO A, A
ALO something

SLIA A

SRO (xy)
Last edited by RMartins on Tue May 22, 2018 3:04 pm, edited 1 time in total.
0 x

User avatar
RMartins
Manic Miner
Posts: 323
Joined: Thu Nov 16, 2017 3:26 pm

Re: Testing emulators using z80test-1.0. Quck results

Post by RMartins » Tue May 22, 2018 2: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.
1 x

zx81
Berk
Posts: 39
Joined: Sat Feb 17, 2018 9:33 pm

Re: Testing emulators using z80test-1.0. Quck results

Post by zx81 » Tue May 22, 2018 3:22 pm

RMartins wrote:
Tue May 22, 2018 2: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.
0 x

User avatar
RMartins
Manic Miner
Posts: 323
Joined: Thu Nov 16, 2017 3:26 pm

Re: Testing emulators using z80test-1.0. Quck results

Post by RMartins » Tue May 22, 2018 4:32 pm

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.
0 x

User avatar
druellan
Microbot
Posts: 116
Joined: Tue Apr 03, 2018 6:19 pm
Location: Argentina
Contact:

Re: Testing emulators using z80test-1.0. Quck results

Post by druellan » Tue May 22, 2018 4:34 pm

RMartins wrote:
Tue May 22, 2018 2: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?
0 x

User avatar
druellan
Microbot
Posts: 116
Joined: Tue Apr 03, 2018 6:19 pm
Location: Argentina
Contact:

Re: Testing emulators using z80test-1.0. Quck results

Post by druellan » Tue May 22, 2018 4:50 pm

Z80Stealth 1.23
Image
Result: 025 of 152 tests failed.
0 x

User avatar
druellan
Microbot
Posts: 116
Joined: Tue Apr 03, 2018 6:19 pm
Location: Argentina
Contact:

Re: Testing emulators using z80test-1.0. Quck results

Post by druellan » Tue May 22, 2018 4: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?
1 x

zx81
Berk
Posts: 39
Joined: Sat Feb 17, 2018 9:33 pm

Re: Testing emulators using z80test-1.0. Quck results

Post by zx81 » Tue May 22, 2018 5:03 pm

druellan wrote:
Tue May 22, 2018 4: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.
0 x

User avatar
RMartins
Manic Miner
Posts: 323
Joined: Thu Nov 16, 2017 3:26 pm

Re: Testing emulators using z80test-1.0. Quck results

Post by RMartins » Tue May 22, 2018 5:05 pm

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 :)
0 x

Post Reply