The Fastest MTX on earth ??
Posted: 31 Mar 2016 14:34
I've built a new CPU card for the MTXplus.
With a lot of help from Tony, Dave and I have been experimenting with the MTX plus systems by putting in additional wait states when the MTXplus CPU accesses the hardware through I/O ports.
This is an attempt to overcome some of the timing limitations of the V9958 VDP and 82C55 PPI that handles the 16 bit IDE interface. Increasing the speed of the Z80 CPU beyond 10mhz has caused issues as neither peripheral chip was designed to cope with the reduced signal times from the Z80 at higher clock rates.
Lez very kindly supplied a 33mhz Z180 cpu in a package of CPU parts a while back. The Z180 has a build it wait stare generator, so I decided to build CPU board based on the more modern chip. The intention being that the built in wait states would remove the need for the external wait state hardware. The Z180 also incorporates additional components like the memory management, CTC and a UART, on this board that's all ignored, just the Z80 compatible signals are connected. Memory management is done through the page port just like the original MTX.
The newer design of the Z180 means it takes less machine cycles to do most operations giving around a 20-25% speed improvement for a given clock rate.
The initial build as shown here has been successful to a certain extent with the I/O issues. With the maximum amount of wait states added to I/O accesses, the IDE access has been stable up to 25mhz. The video chip still has issues with data arriving too quickly and being lost beyond 10mhz. however with software delays the display is stable at 28mhz the rest of the system however can't cope at 28 and inevitably the system crashes. Surprisingly the 8mhz CTC on board is also stable at 25mhz, and that's the speed currently being run at for testing.
Memory access, using a modern 512k static ram chip, is sufficiently fast that all memory waits are currently disabled for maximum performance.
Another bonus of the Z180, there's an on-board clock divider, I'm hopeful that some additional software can be included into the boot rom to enable the CPU speed to be switched in software. That could aid compatibility with (mostly) games that drive the hardware directly. 25mhz, 12.5mhz and 6.25mhz clock rates should be directly available. An approximate Z80 4mhz equivalent should be achievable by juggling memory wait states at the slower CPU clock rate.
So here it is, the Fastest MTX on earth ?
The original Z80 tuned CPU speed detection code rated it at 31mhz, though the Z180 aware code does calculate the correct value as seen here.
With a lot of help from Tony, Dave and I have been experimenting with the MTX plus systems by putting in additional wait states when the MTXplus CPU accesses the hardware through I/O ports.
This is an attempt to overcome some of the timing limitations of the V9958 VDP and 82C55 PPI that handles the 16 bit IDE interface. Increasing the speed of the Z80 CPU beyond 10mhz has caused issues as neither peripheral chip was designed to cope with the reduced signal times from the Z80 at higher clock rates.
Lez very kindly supplied a 33mhz Z180 cpu in a package of CPU parts a while back. The Z180 has a build it wait stare generator, so I decided to build CPU board based on the more modern chip. The intention being that the built in wait states would remove the need for the external wait state hardware. The Z180 also incorporates additional components like the memory management, CTC and a UART, on this board that's all ignored, just the Z80 compatible signals are connected. Memory management is done through the page port just like the original MTX.
The newer design of the Z180 means it takes less machine cycles to do most operations giving around a 20-25% speed improvement for a given clock rate.
The initial build as shown here has been successful to a certain extent with the I/O issues. With the maximum amount of wait states added to I/O accesses, the IDE access has been stable up to 25mhz. The video chip still has issues with data arriving too quickly and being lost beyond 10mhz. however with software delays the display is stable at 28mhz the rest of the system however can't cope at 28 and inevitably the system crashes. Surprisingly the 8mhz CTC on board is also stable at 25mhz, and that's the speed currently being run at for testing.
Memory access, using a modern 512k static ram chip, is sufficiently fast that all memory waits are currently disabled for maximum performance.
Another bonus of the Z180, there's an on-board clock divider, I'm hopeful that some additional software can be included into the boot rom to enable the CPU speed to be switched in software. That could aid compatibility with (mostly) games that drive the hardware directly. 25mhz, 12.5mhz and 6.25mhz clock rates should be directly available. An approximate Z80 4mhz equivalent should be achievable by juggling memory wait states at the slower CPU clock rate.
So here it is, the Fastest MTX on earth ?
The original Z80 tuned CPU speed detection code rated it at 31mhz, though the Z180 aware code does calculate the correct value as seen here.