Little Kawasaki Z80 experiment

Page 2/2
1 |

By lintweaker

Champion (415)

lintweaker's picture

13-04-2020, 20:31

Nice find, that adapter could be easily recreated if there is need for it.
note the missing /RFSH on pin 28.

By Pentarou

Champion (394)

Pentarou's picture

13-04-2020, 21:34

By gdx

Enlighted (4692)

gdx's picture

14-04-2020, 16:26

Quote:

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.

R800 also doesn't have the /RFSH pin and /M1 is not connected. According Wikipipia this is the S1990 that emulates these signals.
https://ja.wikipedia.org/wiki/S1990

I do not know how exactly but /RFSH can be certainly recreated more easily than /M1.

By hlide

Supporter (2)

hlide's picture

26-09-2021, 16:00

Pentarou wrote:

Found also a DIY adapter PCB:
https://easyeda.com/hlide.dev.mobile/kc80-z80-adapter

Yep, it's me. It's not completed. I was aware of /RFSH issue only after designing it.

I got a little more informations in scattered PDF which shows /RFSH is /CFNG. /CFNG should be H for Z80 mode but I thought it is only when booting it is taken into account as it would be very wrong if that signal can toggle while running Z80 normally (due to control bus difference between Z80 mode and KC80 mode). I found weird they didn't implement /RFHS in Z80 mode. The best explanation is that if you toggle /CFNG while running, it may indeed mess up with the control bus or the inner state of the CPU.

So you need to recreate the /RFSH signal and I had a friend to help me to recreate it through a GAL16V8 but I must retrieve the project as it was done over one year ago. And so the the KC80 adaptor needs to be redesigned with the GAL addition to recreate the /RFSH signal.

Other issues may be unofficial instructions not being implemented or 16-bit I/O ports (a genuine Z80 has 16-bit address port internally) not being possible making that KC80 falsely "fully compatible" with Z80 machine relying upon those "unofficial" details.

Regards.

By hlide

Supporter (2)

hlide's picture

26-09-2021, 15:59

From KC80 document, /M1 is provided (I can see it in their diagrams) when in Z80 mode, so I don't understand why you need to recreate it. In KC80 mode, /M1 exists but have a different meaning : "the opcode fetch cycle is the same as the memory read cycle except /M1 signal. Note that /M1 is inactive ('H') in the opcode fetch cycle but goes active ('L') in the memory read/write cycle." Diagrams shows /M1 is also low in I/O read/write cycle and mode 1 interrupt accepting. As a fact, simply inverting /M1 won't work because of the timing. I agree, recreating /M1 in KC80 mode seems complicated.

At least, mode Z80 offers quicker 16-bit operations (same cycles as 8-bit operations) and relative conditional branch operations for instance.

EDIT: ah sorry, it was R800 which hasn't /M1.

Page 2/2
1 |