Computers Overview
Commodore PET
Sinclair ZX80
Sinclair ZX81
BBC Micro
Commodore 64
Sinclair Spectrum
Memotech MTX
    About
    Library
    Manuals
    Options
    Photos
    Projects
      CFX
      Hardware Hacks
      Legacy (1980s)
      MAGROM
      MTXPlus+
          Architecture
              CPU
              Games ROM
              Diagnostics
              I/O Ports
              Power
              System Bus
              Video
          Design Data
          Firmware
          Parts
          Software
      PAL Reader
      Programmers
      ReMemotech
      ReMemorizer
      SDX
      SFX
    Repairs
    Software
    Tools
    User Groups
    Video Wall
Memotech CP/M
Atari ST
DEC 3000 AXP
OpenVMS
Raspberry Pi

 

 
 
 

"MTX Plus+" - Architecture

Printed Circuit Boards
Power / Backplane Diagnostic Video CPU - Z80 I/O
Future  
Pending

Prototype Circuit Boards
Power V2   Video CPU V3 (Z180)   I/O
     

(photo

pending)

Power V1 System Bus  Diagnostic CPU V2 (Z80)  6502 Co-Pro

 

 

Basis of Design

The aim of this project is to create an updated "MTX", a Z80 based, 8-bit computer, that will be software compatible with the original, but using the fastest available Z80 processor (20MHz). Producing a functional, and perhaps even useful (!), system will involve designing the hardware and creating low level software to operate it - both elements are breaking new ground for me and will involve quite a bit of learning on my part.

Statement of "Requirements"

Perhaps better referred to as a wish-list, some high level goals that the project should achieve - all very much dependent on me acquiring the required skills, or finding help, to achieve them.

  • Software compatible with the original MTX computers
  • Flexible - able to run in  "MTX" and an "enhanced" mode
  • Supporting additional functionality, perhaps including hard disk/SD card
  • Modular - allowing staged development and upgrades

Design Development : "Nice to have" - MSX Compatibility

As I started to work through the design, it struck me that, with the similarities in the hardware between the MTX and MSX computers, it may be possible to include a degree of MSX compatibility in MTXPlus. The major components in the MTX and MSX are the Z80 CPU and the TMS 9918 (in MSX1) VDP, although the VDP is accessed through different I/O ports. The systems also use different programmable sound generators (PSG) and other peripherals.

Update : The video board has been configured with a jumper to select the I/O ports used, to be either MTX or MSX compatible but the MSX sound chip proved to me too difficult to incorporate at this stage. So, at this point, MSX compatibility only extends as far as the video board.

 

Likely Development Phases

Phase PCB Main functionality
I Bus The system will consist of individual circuit boards for the major modules such as the processor/memory board and video board, connected over a system bus, the system bus is described on the system bus page.
II Diagnostic Bus Diagnostic Card

My original plan was to develop the CPU board before the video board, so in the early stages of development, there was likely to be an operational CPU board before a video board was available and I wanted to be able to determine whether the CPU appeared to be running "stand-alone" with no operator interfaces connected.

The MTXPlus Bus Diagnostic Card was designed to achieve this.

III Video Video Board - VDP, VRAM, Sound Generator

As Martin and I have created MTXPlus+ to MTX interface boards as part of the Diagnostic board development, we now have the ability (by using temporary I/O port addresses) to test a video board on a standard  MTX. So, in a change to the planned development schedule, the video board has been "promoted" to Phase III and is being developed ahead of the CPU board.

The video board will contain the VDP, VRAM, video output conditioning and the Sound Generator. My long term goal is to have a VGA output from the machine, but the VDP has a low frequency output that it not VGA compatible. Video up-scalers are not easy to build, and as I did not just want to use an external up-scaler like the HD9800 described on my MTX Video page, the output from the VDP will be conditioned to output RGB signals compatible with the SCART interface of modern TVs. In another design development, the video board output circuit components will now be installed on a daughter board - very similar to the original Memotech idea. This configuration will allow different video configurations to be developed and tested without changing the base board design.

IV CPU

CPU Board - CPU, CTC, ROM, RAM, RTC, memory decode logic and a "local" I/O connector.

 

The intention is to create a Z80 CPU board with functionality that is as close as possible to the MTX, to such an extent that an MTX OS/BASIC ROM can be dropped into the ROM socket and run MTXPlus+ as an MTX. The features of MTXPlus+ mode will be made available by selection of its own ROM.

 

To support this basic design and to enable testing before the I/O board was available, I had intended to include an interface connector on the CPU board that would allow some minimal I/O to be connected to the system. The plan was to add a connector to the PCB to enable "local", i.e., not backplane connected, I/O to be built for testing etc.

However, with the video board having been developed before the CPU board, a considerable amount of testing has already been possible. There is now little benefit in including the "local" I/O connector on the CPU board and it has been removed from the design to free up the allocated board space.

 

Rather than the proposed 20MHz, the CPU clock speed will now be 16MHz as described on the notes page

 

Making use of another couple of components from Lez, the board will also include :

  • A Real Time Clock using a Dallas 12887, which is a direct replacement for the IBM/AT clock/calendar. Martin has proposed that the RTC uses the same I/O ports (70h & 71h) as an IBM PC, these ports are unused by any Memotech hardware and may make it easier to refer to IBM documentation when programming the RTC.

  • A MAX705 microprocessor supervisory module to implement the RESET functions

V I/O Base Scope : An I/O board providing the same basic I/O functions as the MTX, i.e., keyboard interface, 2 x Atari type joystick ports, 2 x RS232 ports and a parallel printer port.

Enhancements : The draft design includes an 8255 Programmable Peripheral Interface (PPI) chip, intended to be used to provide an IDE interface to a Compact Flash drive for "mass" storage.

Aspirational : Ideally, it would be possible to build a PS/2 keyboard decoder that would allow MTX type I/O signals to be fed to the MTX ROM from a PS/2 keyboard. The design includes 2 CPLDs intended to perform this function.

Once a PS/2 keyboard interface has been built, and after creating a new OS for MTXPlus+, the enhanced capabilities of a PS/2 keyboard could be used.

VI GROM Games ROM Board, Martin's design for a multi-game ROM card based on his original MAGROM design.

Although they won't fit on one of the existing boards, the MAGROM components do not require a full size Eurocard board, but the extra space could be used for other things, for example, a floppy disk controller.

VII FDC

Add a Floppy Disk Controller, with SDCard support - not required, see I/O Card CF card

X Co-Pro Originally designed for use with a standard MTX computer, Martin has adapted his 6502 Co-Processor design to work with MTXPlus+ and kindly donated the first board to me.
Completed In Progress In Design Future

 

System Overview

To retain software compatibility with the original MTX design, the upgraded system will need to be I/O port and graphics compatible with the MTX, but will also be capable of operating in an enhanced configuration with a higher processor speed, more memory and enhanced graphics capabilities.

This block diagram is from the MTX Operator's Guide and gives a high level overview of the MTX design, including the I/O port allocation. I have shown the cassette interface in grey as, at this point, I am not sure whether I will implement it and may build a floppy disk controller instead. Similarly, I will probably do away with the TV interface and upgrade the graphics output from the VDP to VGA, but the rest of the ports will be unchanged, details of the I/O for "MTXPlus+" can be found on the I/O Ports page.

Specifications

CPU1 Z84C0020 20MHz CPU clocked at 10MHz 4
RAM2 KM684000 512k byte SRAM
ROM3 W27C010 128k byte EEPROM
VDP Yamaha V9958 (TMS 9918 compatible)
VRAM 128k bytes (option for 192k bytes)
PSG (sound) TI SN76489AN 

 

Design Development:

1 Clock speed reduced to 16Mhz

2 Increased RAM from 128K (HM628128) to 512K (KM684000)

3 Increased ROM from 64K (W27C512) to 128K (W27C010)

4 Clock speed reduced to 10MHz

 

Hardware Design

The system will be based on a Eurocard type backplane, with individual boards for the major functions such as CPU & memory, video processor & VRAM, I/O etc. I bought this used backplane for 5.00 off ebay for development & testing the concept, the finished system will require a much smaller bus - even allowing for expansion, probably 6 slots at most.
Having decided on the Eurocard format, that set the maximum size for each PCB. Typical Eurocard PCBs for mounting in a 3U rack are 100mm tall x 160mm deep - my template KiCad board is shown here, with a 40 pin DIL Z80 CPU and DIN 41612 connector dropped in to show scale.

If I was going straight from KiCad to a finished design, I would be able have quite a high component density on each PCB, but for development, I plan to use Eurocard sized prototype boards.

A typical Eurocard prototype board is shown here, in view of the size of the board and the potential number of wire links required, current thoughts are that there will be 3 main PCBs, populated like this :-
1 CPU, CTC, System Memory (RAM/ROM)
2 VDP, VRAM, Sound Processor(s)
3 I/O Ports - Serial, Parallel, Keyboard, Printer, USB

Signal allocation is described on the system bus page.

Power Supply

The system backplane will be fed with +3.3v, +5v and +12v regulated supplies from an PC ATX style PSU. To stabilise the on board power, 0.1uF decoupling capacitors will be connected between VCC and GND, installed as close as possible to each IC.

A 100uF electrolytic capacitor will be placed between VCC and GND, close to the power input pins of each PCB. The bulk capacitor is intended to overcome voltage slumps caused by PC board trace inductances. To handle noise and fast transients, a 100nF capacitor will be connected in parallel with the electrolytic.

Here you can see the backplane stood up vertically with the diagnostic board and power distribution board plugged in and powered up.

For initial testing and use, the backplane will sit flat on the desk and the cards will stand up vertically from it, but I need to start thinking of a permanent solution.

Since I purchased the backplane, I had been thinking how I might mount it when (if?) the system actually worked and had been keeping an eye out on ebay for a surplus Eurocard equipment rack of some description when I came across this - it's a Schroff Compac Pro case.

It is not perfect for my backplane as it is only 63HP wide and so I will need to cut-down the backplane a little., but for the price (40 after negotiation) it was too good an opportunity to pass up. 

This is the sellers photo of the actual item, you should be able to see that the items is brand new - it is still in the original box with it's original packing materials.

These are the rest of the parts for the case, I am not 100% sure that I have everything that I need, but I am very hopeful. Paying 40 for a less than ideal box was not what I had in mind, but this now gives me a secure "home" for the boards as they are produced.

Since I am not using a standard Eurobus power supply, this case also has ample space behind the card frame to install my ATX PSU.

This is the parts breakdown for the 6U case from the Schroff catalogue.

Although not necessarily true for the desktop case like this, many of the Schroff and other vendor's, equipment sub-racks have lots of options available to suit the end-users requirements.

Consequently, the basic parts kit is very spare and the kit needs to be built up at extra cost to build an enclosure that meets your needs. This was always likely to be a problem when buying a used rack - it might have been missing essential components that I needed. Even though I have still to confirm what is in the box, I think (hope) that I pretty much have everything that I need and this was a great buy at the price.

ATX Form Factor
As described above, MTXPlus+ was designed to be a modular system that could be built and tested in stages with the major modules such as the CPU and video boards, plugging into a system backplane.

Once the major modules had been built and tested, Martin decided that he wanted to build a complete system on a single ATX form factor prototype board and fit it into a PC case.
   
   
   

 

mailto: Webmaster

 Terms & Conditions