Little Kawasaki Z80 experiment

Page 1/2
| 2

By lintweaker

Champion (417)

lintweaker's picture

13-04-2020, 11:37

Reading about the Kawasaki Z80 (KL5C8400) here on the forum I decided to do a little experiment with it.
Made a board to test with on my DIY MSX:

(board on the foto still has a lot of flux residue on it)

It was a little tricky to get working as the processor was slightly too big for the pads on the PCB. But I got it working :)

The processor is a little bit optimized so it can execute some instructions a bit faster. Improvement about 20% (according to the datasheet) at the same speed.
Real world usability for MSX: not really. It is missing a refresh pin which is really needed for MSX computers with DRAM. It works great on my DIY MSX as it only has SRAMs.

Login or register to post comments

By Pentarou

Champion (400)

Pentarou's picture

13-04-2020, 13:08

Does it need to be set-up in compatibility mode, via some code executed at boot, or can it work as-is as a z80 drop-in replacement?

Quote:

Improvement about 20% (according to the datasheet) at the same speed.

Is the improvement all across the board or just for some kind of work? What's your experience with it running on your machine (compatibility/performance)?

By lintweaker

Champion (417)

lintweaker's picture

13-04-2020, 14:07

The KL5C8400 can be used in Z80 mode or 'KC80' mode by setting the CNFG pin 'H' (Z80) or low 'KC80'.
See also :
Link to datasheet

In KC80 mode it's a bit faster even then in Z80 mode. KC80 mode is not usable for MSX. The datasheet lists which (type of) instructions are faster then with a normal Z80.
So far I've done limited testing (just up and running for a few hours) but it looks good.
As for a drop in Z80 replacement: as mentioned it does not have a /RFSH pin so probably not usable on all MSX models due to DRAM not being refreshed.

By Pentarou

Champion (400)

Pentarou's picture

13-04-2020, 14:48

I found the same datasheet right after posting the previous reply. It's really the bare minimum and doesn't even mention the operating voltage... Given you had it working, can you confirm that is a 5v part?

Can you explain why you wrote that:

Quote:

KC80 mode is not usable for MSX

??
Anyway, the full compatibility, combined with the increased efficiency and the 33MHZ clock make it a very interesting device. Thanks for your post!

By lintweaker

Champion (417)

lintweaker's picture

13-04-2020, 16:57

Yes, the datasheet is very limited. The missing operating voltage is indeed an important one. Hopefully is it really 5V Smile
In KC80 mode it is no longer fully Z80 bus compatible, signals on the pins change to combined signals.
E.g.: /WR pin becomes /MWR (mem write) see figure 4 in the datasheet. And more importantly it no longer does the M1 cycle which is important for MSX.

For clock speed, it can go up to 33MHz (Original CMOS Zilog Z80s can go up to 20MHz).
Wrt full compatibility...I just tested some games and saw interesting results (screen corruption with DOS2, and with space manbow)

By Pentarou

Champion (400)

Pentarou's picture

13-04-2020, 17:37

Thanks for the explanation, I guess the biggest problem is the missing M1 signal in the KC80 mode.
Do you know if the mode selection can be toggled while it's running? The datasheet doesn't mention it, but also doesn't rule it out.
About the screen corruption: Instruction timing changes, so glitches during I/O operations are normal. Do you have implemented some of the known fixes (9358 Wait signal/ Turbo circuit)?

By Pac

Scribe (6479)

Pac's picture

13-04-2020, 17:46

lintweaker wrote:

Real world usability for MSX: not really. It is missing a refresh pin which is really needed for MSX computers with DRAM. It works great on my DIY MSX as it only has SRAMs.

Interesting, at least it is an option for new MSX compatible computer developments. Just out of curiosity, do you know the Rabbit Z80 compatible CPU?

https://www.msx.org/forum/msx-talk/hardware/fast-z80-rabbit

By Manuel

Ascended (18256)

Manuel's picture

13-04-2020, 17:47

Did someone ever build an MSX with a 20MHz Z80?

By Dolphin101546015

Champion (335)

Dolphin101546015's picture

13-04-2020, 17:52

lintweaker wrote:

For clock speed, it can go up to 33MHz (Original CMOS Zilog Z80s can go up to 20MHz).
Wrt full compatibility...I just tested some games and saw interesting results (screen corruption with DOS2, and with space manbow)

I often use OpenMSX with nonstandart z80 freqs.
Sometime I get this sympthoms, you talking about.
It coz VDP not able produce exchange on so fast speeds.
Methenk you need using WAIT from VDP, maybe it cure your trouble.
Thanks for your experiments! Wink

By lintweaker

Champion (417)

lintweaker's picture

13-04-2020, 19:58

I was not expecting screen corruption with just the normal 3.58MHz and a slightly optimized CPU. Enabling VDP wait works but the can easily be undone by games and/or basic setting the screen.

By Pentarou

Champion (400)

Pentarou's picture

13-04-2020, 20:14

I guess that even just 1 clock/instruction difference causes problems in timing loops.
MSX 1-2 games shouldn't touch the VDP wait register, and a patched BIOS would fix most (not all) of the problems.

Anyway I've found out there are were ready made modules that can replace a DIP Z80:


And according to CPUWORLD it's a 5v device (link).

Page 1/2
| 2