News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

ZEXALL z80 tests...

Started by SyX, 15:32, 01 July 14

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SyX

I was reading the PC-CPC thread in CPC-Rulez, and the last beta pass the ZEXALL tests. Great Work Demoniak! :)

And in the CPC-Power page 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 ;)

Devilmarkus

#1
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
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

arnoldemu

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:

My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Devilmarkus

#3
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 :)
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Gryzor

This may be a naive question, but does this test have any practical significance?

TotO

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)
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Gryzor

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

TotO

"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Gryzor

Yeah, well, that's what I'm asking :D

Devilmarkus

#9
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]
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Devilmarkus

Oh... and of course this is for you, SyX:

Spoiler: ShowHide
[attachimg=1]

When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

SyX

FANTASTIC WORK MARKUS!!! :D :D :D

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

@Gryzor: 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 :)

AMSDOS

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
* Using the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3

Gryzor

Quote from: AMSDOS on 12:27, 02 July 14

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


None in particular, just saying...

Kris

Great job ! Congrats  ;)

Executioner

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.

Kris

Where can we find the latest version ?

Devilmarkus

Because CPC-Power captcha, I'll attach the dsk image here:

When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

cngsoft

CPCE 1.94 doesn't handle ZEXALL too well...



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:



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 :-(
(if you can't see the banner right now my server is currently offline)

arnoldemu

Concentrate on PS4CPC ;)

Your work on BB4CPC was and still is fantastic!
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

steve

PS4CPC, yes please, I would very much like to see a CPC emulating a playstation.  :laugh:

Powered by SMFPacks Menu Editor Mod