CPCWiki forum

General Category => Emulators => Topic started by: SyX on 15:32, 01 July 14

Title: ZEXALL z80 tests...
Post by: SyX on 15:32, 01 July 14
I was reading the PC-CPC thread in CPC-Rulez (http://cpcrulez.fr/forum/viewtopic.php?p=26098#p26098), and the last beta pass the ZEXALL tests. Great Work Demoniak! :)

And in the CPC-Power page (http://www.cpc-power.com/index.php?page=detail&num=6346) appears than a few months ago all the tests were passed by a real CPC, all the zxism from previous version have been eliminated, now is an exclusive z80 test.

CPC++ and Sugarbox pass those tests too. And i will tell to Bruno for adding PC-CPC to that list and if i remember well, CPCBox passed those tests too.

Has other emu authors tested his z80 emulation against them?

PS: CPMBox pass those tests too ;)
Title: Re: ZEXALL z80 tests...
Post by: Devilmarkus on 19:14, 01 July 14
JavaCPC passes all tests except this one:

ldd<r> (1)....................  OK
ldd<r> (2)....................  ERROR **** crc expected:39dd3de1 found:21a2bb41
ldi<r> (1)....................  OK
ldi<r> (2)....................  OK
Title: Re: ZEXALL z80 tests...
Post by: arnoldemu on 19:57, 01 July 14
my wip of arnold uses "inkz80" emulation core written by a friend.

This z80 emulation passes zexall and all the other tests including the recent findings for scf/ccf.
But of course my wip is not released yet - it's been many years in development!  :laugh:

Title: Re: ZEXALL z80 tests...
Post by: Devilmarkus on 23:41, 01 July 14
Yippieehhhhh....

CP/M 2.2 - Amstrad Consumer Electronics plc

A>zexall
Z80 instruction exerciser
ldd<r> (1)....................  OK
ldd<r> (2)....................  OK
ldi<r> (1)....................  OK
ldi<r> (2)....................  OK
neg...........................  OK
<rrd,rld>.....................  OK
<rlca,rrca,rla,rra>...........  OK
shf/rot (<ix,iy>+1)...........  OK
shf/rot <b,c,d,e,h,l,(hl),a>..  OK
<set,res> n,<bcdehl(hl)a>.....  OK
<set,res> n,(<ix,iy>+1).......  OK
ld (<ix,iy>+1),<b,c,d,e>......  OK
ld (<ix,iy>+1),<h,l>..........  OK
ld (<ix,iy>+1),a..............  OK
ld (<bc,de>),a................  OK
Tests complete
A>█


Thanks SyX for sending me the quick SNA for testing these instructions quickly :)
Title: Re: ZEXALL z80 tests...
Post by: Gryzor on 09:32, 02 July 14
This may be a naive question, but does this test have any practical significance?
Title: Re: ZEXALL z80 tests...
Post by: TotO on 09:47, 02 July 14
SyX, the master!  8)

As I know, if this test is not OK, you are not emulating properly the CPU.
(means, you emulator should have bugs related to that)
Title: Re: ZEXALL z80 tests...
Post by: Gryzor on 09:49, 02 July 14
Yeah, that's my understanding too, however sometimes CPU features are so obscure and never to be encountered, so that you can get away with these bugs and never meet them...
Title: Re: ZEXALL z80 tests...
Post by: TotO on 10:13, 02 July 14
Or not.  ;D
Title: Re: ZEXALL z80 tests...
Post by: Gryzor on 10:15, 02 July 14
Yeah, well, that's what I'm asking :D
Title: Re: ZEXALL z80 tests...
Post by: Devilmarkus on 11:55, 02 July 14
JavaCPC passes them all, too, now...

Result:

CP/M 2.2 - Amstrad Consumer Electronics plc

A>zexall
Z80 instruction exerciser
<adc,sbc> hl,<bc,de,hl,sp>....  OK
add hl,<bc,de,hl,sp>..........  OK
add ix,<bc,de,ix,sp>..........  OK
add iy,<bc,de,iy,sp>..........  OK
aluop a,nn....................  OK
aluop a,<b,c,d,e,h,l,(hl),a>..  OK
aluop a,<ixh,ixl,iyh,iyl>.....  OK
aluop a,(<ix,iy>+1)...........  OK
bit n,(<ix,iy>+1).............  OK
bit n,<b,c,d,e,h,l,(hl),a>....  OK
cpd<r>........................  OK
cpi<r>........................  OK
<daa,cpl,scf,ccf>.............  OK
<inc,dec> a...................  OK
<inc,dec> b...................  OK
<inc,dec> bc..................  OK
<inc,dec> c...................  OK
<inc,dec> d...................  OK
<inc,dec> de..................  OK
<inc,dec> e...................  OK
<inc,dec> h...................  OK
<inc,dec> hl..................  OK
<inc,dec> ix..................  OK
<inc,dec> iy..................  OK
<inc,dec> l...................  OK
<inc,dec> (hl)................  OK
<inc,dec> sp..................  OK
<inc,dec> (<ix,iy>+1).........  OK
<inc,dec> ixh.................  OK
<inc,dec> ixl.................  OK
<inc,dec> iyh.................  OK
<inc,dec> iyl.................  OK
ld <bc,de>,(nnnn).............  OK
ld hl,(nnnn)..................  OK
ld sp,(nnnn)..................  OK
ld <ix,iy>,(nnnn).............  OK
ld (nnnn),<bc,de>.............  OK
ld (nnnn),hl..................  OK
ld (nnnn),sp..................  OK
ld (nnnn),<ix,iy>.............  OK
ld <bc,de,hl,sp>,nnnn.........  OK
ld <ix,iy>,nnnn...............  OK
ld a,<(bc),(de)>..............  OK
ld <b,c,d,e,h,l,(hl),a>,nn....  OK
ld (<ix,iy>+1),nn.............  OK
ld <b,c,d,e>,(<ix,iy>+1)......  OK
ld <h,l>,(<ix,iy>+1)..........  OK
ld a,(<ix,iy>+1)..............  OK
ld <ixh,ixl,iyh,iyl>,nn.......  OK
ld <bcdehla>,<bcdehla>........  OK
ld <bcdexya>,<bcdexya>........  OK
ld a,(nnnn) / ld (nnnn),a.....  OK
ldd<r> (1)....................  OK
ldd<r> (2)....................  OK
ldi<r> (1)....................  OK
ldi<r> (2)....................  OK
neg...........................  OK
<rrd,rld>.....................  OK
<rlca,rrca,rla,rra>...........  OK
shf/rot (<ix,iy>+1)...........  OK
shf/rot <b,c,d,e,h,l,(hl),a>..  OK
<set,res> n,<bcdehl(hl)a>.....  OK
<set,res> n,(<ix,iy>+1).......  OK
ld (<ix,iy>+1),<b,c,d,e>......  OK
ld (<ix,iy>+1),<h,l>..........  OK
ld (<ix,iy>+1),a..............  OK
ld (<bc,de>),a................  OK
Tests complete
A>█


[attachimg=1]
Title: Re: ZEXALL z80 tests...
Post by: Devilmarkus on 12:12, 02 July 14
Oh... and of course this is for you, SyX:

Spoiler: ShowHide
[attachimg=1]

Title: Re: ZEXALL z80 tests...
Post by: SyX on 12:20, 02 July 14
FANTASTIC WORK MARKUS!!! :D :D :D

@Arnoldemu: Release the new version of arnold!!! 40Crisis uses it for his great projects ;)

@Gryzor (http://www.cpcwiki.eu/forum/index.php?action=profile;u=1): Yes, i have this special skill to generate code that make visible these bugs a lot, the funnier one was one that changed the left eye in the pacman ghost by O in CPCs and emulators that pass those tests, while in the ones failing the ghosts looked perfectly, i will always remember those "superfun" debugging afternoons :)
Title: Re: ZEXALL z80 tests...
Post by: AMSDOS on 12:27, 02 July 14
Quote from: Gryzor on 09:49, 02 July 14
Yeah, that's my understanding too, however sometimes CPU features are so obscure and never to be encountered, so that you can get away with these bugs and never meet them...


Are you referring to "The Eternal Light" test?  :-X
Title: Re: ZEXALL z80 tests...
Post by: Gryzor on 13:25, 02 July 14
Quote from: AMSDOS on 12:27, 02 July 14

Are you referring to "The Eternal Light" test?  :-X


None in particular, just saying...
Title: Re: ZEXALL z80 tests...
Post by: Kris on 13:29, 02 July 14
Great job ! Congrats  ;)
Title: Re: ZEXALL z80 tests...
Post by: Executioner on 01:10, 04 July 14
I'm pretty sure this isn't the latest version of the ZEXALL tests since it doesn't appear to be testing the SCF/CCF flag effects, which are definitely NOT emulated by my latest JEMU core, which also passes all the tests.
Title: Re: ZEXALL z80 tests...
Post by: Kris on 08:33, 04 July 14
Where can we find the latest version ?
Title: Re: ZEXALL z80 tests...
Post by: Devilmarkus on 10:55, 04 July 14
Because CPC-Power captcha, I'll attach the dsk image here:

Title: Re: ZEXALL z80 tests...
Post by: cngsoft on 22:48, 07 July 14
CPCE 1.94 doesn't handle ZEXALL too well...

(http://cngsoft.no-ip.org/CPCE_ZEXALL-20140707-Z80FLAG0.PNG)

However, something curious happens in an alt. version I tried to build back in the day, when the internal workings of Z80's MEMPTR register were discovered and explained:

(http://cngsoft.no-ip.org/CPCE_ZEXALL-20140707-Z80FLAG1.PNG)

It gets several instructions right where the official binary doesn't, but the four "aluop" still fail, albeit with different values.

Not that it matters too much; CPCE ran into a dead end years ago, when I ran out of space in the 16-bit binary. All attempts to add new stuff have been either limited to the 32-bit binaries (DOS and Win32) or had to be commented out because they led to excessively different behaviors. Yet another reason to scrap CPCE and rewrite it from scratch :-(
Title: Re: ZEXALL z80 tests...
Post by: arnoldemu on 09:13, 08 July 14
Concentrate on PS4CPC ;)

Your work on BB4CPC was and still is fantastic!
Title: Re: ZEXALL z80 tests...
Post by: steve on 11:43, 08 July 14
PS4CPC, yes please, I would very much like to see a CPC emulating a playstation.  :laugh:
Powered by SMFPacks Menu Editor Mod