Close

Overclocking the Z80-MBC2...

A project log for Z80-MBC2: 4ICs homemade Z80 computer

8MHz Z80, 128kB banked RAM, RTC, Disk on SD, Basic and Forth interpreters, CP/M 2.2 and 3, cross Assembler and C (SDCC) toolchains

Just4FunJust4Fun 11/02/2018 at 09:514 Comments

Because the Mighty Core gives the chance to choice a 20MHz bootloader, I've decided to try to "overclock" the Atmega32A using a 20MHz quartz:

You don't need others HW changes, just use a 20MHz quartz instead of a 16MHz one. The Z80 clock speed will be at 10MHz.

You have to select the "20MHz external" option in the "Toos" menu of Arduino IDE before flashing the 20MHz bootloader:


Of course you need to load the sketch again (using the "20MHz external" option). IOS will display the new clock speed:


Remember that using a 20MHz quartz you are out of the Atmega32a specifications (the Atmega32a is rated at 16MHz max.), so you are in a "grey area" where things "may works"...

Discussions

freefuel wrote 07/12/2019 at 23:01 point

why does the Z80 have to run at half speed? if the AVR can assert a bus halt, could it not be run at 20Mhz with a suitably rated part?  

  Are you sure? yes | no

WestfW wrote 4 days ago point

The Z80 clock is driven off a timer output of the AVR, not directly from the crystal.  The max output frequency of the timer is half its input frequency, and the max input frequency is the core clock frequency (20MHz, in this case.) (Also, I'm not sure that common external RAM will run at that sort of speed.)

  Are you sure? yes | no

freefuel wrote 4 days ago point

if I had SRAM fast enough and clocked the Z80 directly off the crystal output, might it work then? 

  Are you sure? yes | no

freefuel wrote 07/12/2019 at 22:22 point

there is a drop in variant of the AVR chip rated for 20MHz http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-42743-ATmega324P_Summary.pdf there is also a 64KB and 128KB varient of this chip series.

  Are you sure? yes | no