Last visit was: Sun Sep 19, 2021 10:51 am
It is currently Sun Sep 19, 2021 10:51 am



 [ 2 posts ] 
 Ben Ryves' Z80 projects from 2010 or so 
Author Message

Joined: Wed Jan 09, 2013 6:54 pm
Posts: 1632
Stefan mentioned this site in passing, but I thought it was worth a thread of its own:
http://benryves.com/journal/3662496

Image

Ben Ryves has a number of Z80-project posts which are worth a look. He's built a perfboard based Z80 system with an LCD and a port of BBC BASIC and of CP/M, and has some emulator sub-projects too. It seems he also started a second Z80 project, which uses a microcontroller to avoid needing to program an EPROM.

A 10MHz Z80 with an SDCard interface, keyboard and video out is quite a nice system.

See also Ben's YouTube channel, and note that YouTube's autorecommendations hold some interest too:
https://www.youtube.com/user/benryves/videos

It's worth exploring Ben's site - he's got a number of tags and groupings of related posts.


Tue Jul 08, 2014 4:05 pm

Joined: Wed Jan 09, 2013 6:54 pm
Posts: 1632
This is the crucial bit which both Stefan and I are directly interested in:
Quote:
One problem with this idea is that the Z80 expects to read or write to an I/O device in a mere four clock cycles. The AVR has a delay between an interrupt occurring (such as a pin state changing) and executing interrupt service routine of at least five clock cycles. Even though the AVR is running at twice the clock speed of the Z80 this still doesn't provide much time to sample the address bus and perform some useful action before returning a value to the Z80. Fortunately, the Z80 has another useful pin, /WAIT, specifically to address this concern. By pulling this pin low the Z80 can be stalled, allowing the I/O device plenty of time to respond. I have included a 7474 D-type flip-flop as an SR latch to control the /WAIT pin. When the Z80's /IORQ pin goes low the flip-flop is reset, which pulls the /WAIT pin low. When the AVR notices that the /IORQ line has gone low it samples the address bus, performs the requisite task then sets the flip-flop, which drives the /WAIT pin high again and the Z80 continues executing the program.


Tue Jul 08, 2014 4:13 pm
 [ 2 posts ] 

Who is online

Users browsing this forum: CCBot and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software