Computers Overview
Commodore PET
Sinclair ZX80
Sinclair ZX81
BBC Micro
Commodore 64
Sinclair Spectrum
Memotech MTX
      Hardware Hacks
      Legacy (1980s)
          Design Data
      PAL Reader
      PC Keyboard I/F
    User Groups
    Video Wall
Memotech CP/M
Atari ST
DEC 3000 AXP
Raspberry Pi





Site Map


Memotech MTX-512 on steroids? - "MTX Plus+"

This started with an idea that Lez Anderson floated at the end of 2012 - to create an updated "MTX", a Z80 based, 8-bit computer, running at 20MHz with enhanced graphics capabilities. Lez proposed running a "crash Z80 design course" on the Memotech Forum on mtxworld in August 2012, this sounded very interesting and I planned on taking part. Unfortunately, the idea of a structured course did not get sufficient interest to make it viable, but I am pressing on regardless - you can see my progress (or lack of!) on this page.

Things have gone a lot slower than I had intended, but I think that things are close to completion now. If you are at all interested in how this project evolved, then I think that it is probably better to read the project updates, what few there are, in reverse chronological order - so, to see the history of this project, go to the bottom of the page and work up!

28/01/2017 - Current Status

Despite there being no obvious progress documented here, work on MTXPlus+ has been continuing .....

When Andy demonstrated HEXTRAIN at Memofest 2016, we found that it would not run on correctly MTXPlus+. This was something of a disappointment as we had thought that the system would be able to run all MTX software. However, HEXTRAIN really pushes the VDP to the limit and subtle timing differences between the MTX's V9929 and the supposedly compatible V9958 in MTXPlus+ are enough to stop from HEXTRAIN from working properly and results in an unusable display when motion is being simulated on the screen. Tony Brewer has spent a lot of time (thanks Tony!) trying to optimise the wait state generator in MTXPlus+ so that it would allow HEXTRAIN to run. Unfortunately, it has not been possible to overcome the timing differences and we have had to give up on making MTXPlus+ run HEXTRAIN.

Despite being sidetracked by these efforts, MTXPlus+ is now back on track, albeit that the goal of 100% MTX compatibility has now been derailed.

Enough of the (|HEX)train metaphors, and back to MTXPlus+ . . . . . . more updates soon . . . .


26/08/2016 - System Speed Developments

Thanks to some clever logic designed by Tony Brewer, the system now has some really flexible speed control features. By dividing the master oscillator frequency, the CPLD (or GAL) on the CPU board now generates 16 different frequencies that can be used to clock the system at a range of frequencies pretty evenly spaced between 4 MHz and 16 MHz. The user can select any one of the available speeds in real time by sending an appropriate value to the system control I/O port (FFh). This is a significant enhancement over the coarse DIP switch settings previously used to set the CPU clock frequency.

Martin is in the process of including additional commands into MTXPlus+ BASIC to allow the system speed to be read and controlled through BASIC commands.

In separate exercise, Tony has also enhanced the wait state generation needed to allow the VDP and PIA to be clocked at the faster rates. Instead of the GAL on the Video board using fixed wait states set by DIP switches, the GAL now controls the wait states based on the system clock frequency.

Adding these extra features has slightly delayed getting the next PCB produced, but it has certainly been worth the wait.


29/07/2016 - First PCB Manufactured ! (- Some issues though)

With the design of the CPU board nearing completion, I decided that it was time to start thinking about getting some PCB's made. I designed a combined power & backplane board and got a sample run of those made.

Unfortunately, there are a few errors with it - mainly to do with some apparent changes between the component footprints that the previous and current version of KiCad uses - at least, that's my excuse. The biggest issue is around the TIP2955, I probably picked the wrong footprint for that one, but it's not a "fatal" error, it just needs some creative "bodging" when fitting the power transistor.

The biggest issue is my misreading the photo on the eBay item listing where I sourced the Boost Regulator that provides +12VDC from the low voltage DC supply to the board. I have reversed the Vin+ and Vin- terminals on the PCB. Again, that isn't something that can't be worked around, but in the short term, I have just not installed the Boost Regulator. It is only used for automatic picture sizing with SCART and for the RS232 connection which is not currently used.


16/07/2016 - Z80 CPU Board

The design of the Z80 CPU board is pretty much finalised, once one final modification has been tested, I am planning on getting some PCBs professionally manufactured. In the unlikely event that you want to build your own MTXPlus+, see the details on this page.


03/05/2016 - System Speed Rating & Enhanced CPU Board Option

Although still a "work in progress", as it turns out, with assistance from Tony Brewer, we have been able to increase the clock speed of MTXPlus+ to the point where 16MHz is just about stable - it just needs some minor "tuning", and even 20MHz may be possible after all.

While testing MTXPlus+ with the speed optimisations referred to above, I was having a number of stability issues that were not necessarily related to the speed "tweaks". Martin had built a second CPU board based on the Z8S180 enhanced Z80 processors that Lez had supplied, so I decided to do the same to give me another CPU board that I could use to prove the rest of the system. This has held up finalising the Z80 CPU board configuration, but it is now pretty much done, so I can get back to finishing off the Z80 design.


23/01/2016 - System Speed Rating

We have decided that the rated speed of MTXPlus+ should be reduced to 10MHz. Whilst this may be a little disappointing, it probably should not be too much of a surprise that even 16MHz was a little too ambitious. You can read a more detailed explanation for this decision on the notes page, but in brief, although the CPU and memory can operate faster, the system speed is constrained by the legacy devices used for the peripherals, such as the PIA, CTC and SIO.


30/12/2015 - System Backplane

I had been experiencing issues with the stability of the system for some time, at faster CPU speeds, the system was very sensitive to the position and spacing of the boards on my backplane, an issue I put down to the lack of proper termination on the bus. I toyed with the idea of trying to build a pair of bus terminators, but eventually decided on a more extreme course of action! More details can be found on my notes page, limited testing has shown that it does appear to have helped the system's stability, at least up to 12Mz.

In an unrelated development, Martin has designed and built a 6502 co-processor board for the original MTX, he has also done an MTXPlus+ version and generously donated the first board to me.


31/10/2015 - General

Well, after a long delay in making progress on MTXPlus+ over the summer, I have now picked up the project again. Unfortunately, an issue with the keyboard interface on the I/O board arose that caused a further delay that I could have done without. It turned out to be a cable problem but the symptoms were misleading and it took me a while to get to the bottom of it. More details can be found on my notes page.


31/01/2015 - Various

Lots of activity going on in the background, including trying to find (with help) a hardware solution to allow the VDP on the video board to be written to at any CPU speed and optimising the buffer arrangement on the CPU board. Perhaps the most noteworthy progress though, is Martin's code to integrate the CF with the MTX ROM. You can see an example of the work to date on the I/O board page.


15/01/2015 - I/O Board


Both the keyboard and parallel printer interfaces on Martin's and I's I/O boards have now been successfully tested with original MTX matrix keyboards, and in my case, a genuine Memotech DMX80 printer (Martin used a Star LC10). At this point, I have not tested the CPLD implementation of the interfaces - that is on the "to-do" list. The IDE/CF interfaces have also been successfully tested using a test program in ROM and Martin is now working on software to interface them to the MTX ROM. 


03/01/2015 - MTXPlus+ Lives !

Wiring up my I/O board took quite a bit of time and effort, as well as having the "74" series logic chips installed, the two CPLDs needed almost as many connections, so the board is pretty "busy". The good news though is that with just the GAL and keyboard ICs installed, and the ROM loaded with a copy of the original MTX OS, ASSEM and BASIC ROMs, my MTXPlus+ is working! The system can accept and run BASIC programs - more testing is required, but things are looking good so far.


22/12/2014 - I/O Board

Martin has pressed on ahead (again) and finished wiring his I/O board - at least, enough of it to get MTXPlus+ up and running! I need to finish off wiring my I/O board - I still have a couple of days to make the Christmas deadline.

So - the end is in sight - a few bits & pieces to tidy up on the different boards, but, MTXPlus+ is pretty close to completion when running in MTX emulation mode. The enhanced features of MTXPlus+ still require some work.


13/12/2014 - I/O Board

We seem to have a workable I/O board design and are ready to actually start building - less than two weeks until Christmas, but barring any unforeseen problems, we should still have a working by Christmas!


29/11/2014 - CPU Board & I/O Board

Testing of the CPU board is pretty much complete, a couple of issues have been identified that will require some rewiring to resolve, but the issues are not "show-stoppers" and can be worked around in the meantime.

The only interface that is missing before we have a useable system is for the keyboard, this interface will be located on the I/O board. Martin and I are just about to start construction of the I/O boards, concentrating on the keyboard interface and targeting completion before Christmas - watch this space ! 


16/11/2014 - CPU Board

Construction of the CPU boards is complete, and despite a couple of teething problems, testing of them is close to completion. Martin put together a couple of ROMs to do some basic memory testing and when used with the video and diagnostic boards that were already built, gave us a nice testing toolkit. Current status is that non-paging ROM and RAM memory access is now working, the next step will be to configure the MTX Page Port logic and add the RTC to the I/O decode logic.


20/10/2014 - CPU Board

The CPU board design and layouts are now complete - the reason for more than one layout is to support the two designs that Martin and I are working on. The base board design is the same, but Martin is using GALs for the glue logic whereas I am using a CPLD. The higher capacity of the CPLD also allows me to reduce the chip of my CPU board - removing the 74HC273 (page port) and two 74HC183s (clock dividers) and putting their functionality in the CPLD.


11/10/2014 - CPU Board

With the video board being "finished", even if not fully tested, focus has now moved back to the CPU board


03/10/2014 - Video Board

The Video Daughter Board has now been completed, despite a bit of lost time due to a faulty GAL, the limited testing that I have done indicates that the video card and DB is working as expected - in Composite Video mode anyway. Further testing is required to try other video modes and the alternative outputs, i.e., RGB and S-Video.


02/10/2014 - Bus Diagnostic Board

Updated Diagnostic Board revision to Version 1.01 to correct error in the value of C19 (thanks to Matthew Cook for the info)


25/09/2014 - General

Now that things have progressed to a stage when the hardware is being built and tested, I have started to post copies of the design files, such as schematics and firmware code, in native format. Once a particular module has been built and tested, at least to a basic level, the source files will be available via links on the Design Data page. There is not much available at the moment, but I have made a start by releasing the system bus drawing and the power board in KiCad format.


21/09/2014 - Video Board

I have been a bit busy over the last couple of weeks, but Martin has been pressing on and has just completed building the video conditioning daughter board. From his limited testing so far, the good news is that the video card & daughter board appear to be working,  though the composite video quality is not great and some "tweaking" may be required, things are looking good.

Update : tweaking the variable capacitor on the daughter board has made a big difference, the composite video output is pretty good, further testing is needed on the RGB outputs.


29/08/2014 - Video Board

Construction of my video base board is complete, next step is building the video conditioning daughter board


23/08/2014 - Video Board

Martin and I have started construction of the video boards in preparation for testing on our MTX512s


01/08/2014 - Video Board etc.

Progress has been a little slow again, too many concurrent projects and the weather being nice has not helped, but here's a brief update for what (little) happened in July.

The VDP adapter board works fine, but I was a bit too cautious when laying it out, by reducing some of the overly generous clearances between the SDIP and the pin header holes and between the pin headers and the board edges, I have been able to reduce the width of the adapter board by 0.5" to 1.3". I does not sound like a lot, but it means an "extra" 5 columns become available on the prototype board - making more room for the rest of the components. I have ordered a batch of the smaller footprint adapters.

I have redesigned the Video Board to use the smaller footprint adapter and completed the design of the "digital" video output conditioning board. The analogue (transistor) based circuit is on hold at the moment as I am not overly confident in the design. I may revisit it later, but probably only if the digital board has problems.

The next step is to build the video board and test it on an MTX512, connected via my MTXPlus+ diagnostic adapter board and using temporary I/O ports so as not to conflict with the MTX I/O port allocation.


26/06/2014 - Video Board - SDIP Adapter

I decided to design a "proper" adapter board for mounting the V9958 SDIP, rather than force-fitting it onto the prototype video board. A small run of boards has been manufactured, enough for a couple each for Martin and I, plus a few extras. There seems to be quite a few kits that include a V9958 being sold on ebay by Lez and others, so, to cover the cost, I may see if there is any interest for the extra boards by putting them on ebay. If there is any interest from the Memotech community, I would be willing to give you first option on buying one, if you are interested, make me an offer. (I don't plan on finishing off the extra boards with an SDIP socket and SIL connectors, I intend to just sell on the bare boards as I don't have any spare SDIP-64 sockets.)


14/06/2014 - Video Board

As I mentioned previously, the focus of attention has now moved to the video board. In another small design change, the video board will now have a daughter board for the output video circuitry, much like the original MTX did. More details on the reason for this can be found on my notes page.


07/06/2014 - CPU Board - Real Time Clock

The CPU board will include a RTC using the Dallas DS12887 that Lez included in his "kit of parts". As described on my Notes page, I found this really helpful article written by a Wilf Rigter around 1996. The article demonstrates the use of the DS1287 (an earlier version of the DS12882) with a ZX81 and included examples of Z80 assembler and BASIC programs to access the chip. Martin was able to use this information with the DS12887 and modified address decode logic to make a working RTC that will be included on the MTXPlus+ CPU board and has posted the details on the Memotech forum in this thread.


06/06/2014 - Schedule Update

My original development schedule was based on developing the CPU board before the video board, however, 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.


02/06/2014 - Bus Diagnostic Board

Now that a couple of missing components have arrived, I have put the finishing touches to the Bus Diagnostic Card, i.e., the Single Instruction Step circuit is complete, tested and appears to "do what it says on the tin!


28/05/2014 - Bus Diagnostic Board - For MTX Computers

Well, OK, it's just an adapter to allow the MTXPlus Diagnostic Board to be used with MTX computers. Martin built one to help him diagnose a problem with an ailing MTX and I thought that it was a good idea to build one too, The board only patches the signals from the MTX cartridge port to the MTXPlus backplane layout. Using the board on a good MTX will help me get an idea of what the bus signals should look like for an operating Z80 before I get to testing the MTXPlus CPU board.


24/05/2014 - Bus Diagnostic Board

The Bus Diagnostic Card is is now essentially complete and tested. I (along with Martin) should now be able to get back to completing the CPU board design and starting construction.

As an aside, although it never occurred to me when I envisaged creating the diagnostic board, with a suitable adapter board, it is possible to use the diagnostic board for fault finding on a standard MTX computer. Martin is doing just that at the moment , using his diag board to fault find his faulty MTX.


01/05/2014 - Status

Construction of the Bus Diagnostic Card is in progress . . . . .


15/04/2014 - CPLD "Development Board"

Testing of the CPLD "Development Board" has now been completed, I can program the CPLD from Quartus II and have successfully tested an early version of the MTXPlus memory decode logic. The next mini-project will be the construction of the MTXPlus "Bus Diagnostic Card".


10/04/2014 - CPLD "Development Board"

The CPLD "Development Board" is mechanically complete and has been electrically tested, the next step is to try downloading my test program from Quartus II via the JTAG interface. I have also completed my power board, this board will breakout the required voltages and control lines from the ATX PSU as well as mounting fuses and load resistors on the +5V and +12V lines.


03/04/2014 - CPLD "Development Board"

In  preparation for programming the MTXPlus CPLD, I want to be able to program and test (rather than just simulate) some basic logic designs to get some familiarity with the Altera development suite, Quartus II, and the EPM7128S CPLD. To that end, I am building a small "development" board that will serve as a test bed for my CPLD logic.


26/03/2014 - More Freebies From Lez Anderson

Even though the idea for a formal design course has been dropped, Lez is still very keen on encouraging people to get into electronics and hardware design in particular. To that end, he has made additional "kits" of parts available to a number of members of the Memotech Forum who expressed an interest in getting one. These kits contain a range of very useful and interesting ICs - they are not old parts that Lez happened to have lying around, they are "new old stock" items that Lez bought from China to give away to the group. A real big "thank you" to Lez for this generous gesture. You can see the latest "bumper bundle" that I received from Lez on the Parts page, I shall be sending on kits to the other interested folks shortly.


22/03/2014 - Backplane Bus Monitoring Board

The design "roadmap" for MTXPlus is based on phased construction, with the CPU board being built first. Testing the CPU board without peripherals such as a video board or keyboard will be rather difficult, in order to allow a basic level of monitoring and diagnostics to be done without a user interface, the design now includes a backplane bus monitoring board. The provisional design for the bus monitoring board is available on its own page.


13/03/2014 - Update : and then there were two :-)

Although there has not been a lot of obvious progress, things are moving along and picking up pace. I have been spending quite a bit of time getting to know more about the CPLD that I will be using for the glue logic etc.

A more significant piece of news though, is that the project is now a collaborative effort - Martin Allcorn has now gotten interested and will provide valuable technical knowledge. I'm sure that another active developer will provide additional drive to keep the project moving! Based on our discussions, there have already been some changes to the proposed architecture which should help the design.

30/11/2013 - I spoke too soon - I now intend to use a CPLD on the CPU board to replace some of the discrete logic chips

15/11/2013 - CPU board updated & more or less finalised - hopefully!

03/11/2013 - I now have a draft design for the CPU board, it's not finished, but it should be close to the final design

20/10/2013 - Update

Doesn't time fly! - Here were are, a year has gone by and there is little, if any, progress to show. However, I have at least made some fundamental design decisions. . . . . . .

My original idea was to create a single board computer like the MTX512 - possibly even installing it in an original MTX computer case. I have now decided that this is probably too limiting, instead, the design will be modular, the major functions, such as CPU & memory, I/O ports, video system, etc., will be built on their own circuit boards - linked together by a system backplane, similar to The N8VEM Home Brew Computer Project. The N8VEM is a small computer project, also based on the Z80, using Eurocard (160 x 100 mm) circuit boards, the design has already been done - building a N8VEM computer is really an assembly project, rather than design & build.

Taking on board the idea, I will be building my computer using Eurocard sized boards and DIN 41612 connectors, but the design will be my own, or at least, it will be a combination of various other Z80 based designs that I like the look of and might want to "steal" :-)

The N8VEM design is based on a small, 8-slot, Eurocard backplane and I did think of starting with a bare N8VEM backplane PCB and using that as the basis of my design. Bare backplane boards are available for $20, to that I would have needed to add, as a minimum, the DIN 41612 connectors. I also know that if I had gone this way, I would have been very tempted just to build a "standard" N8VEM computer. So instead, I have purchased a used Eurocard backplane from ebay and will build my design to suit.

The basis of design are now documented on the Architecture page.


Lez produced some high level material which was intended to provide a starting point for the original design, although my design is far removed from the original intent, you may be interested in a copy of the original material - you can download it from here.



22/10/2012 - Update - I'm on my own :-(

Unfortunately, Lez did not get enough interest in his idea, so has decided not to proceed with the course that he'd planned and is selling off the rest of his hardware on eBay. I am still keen on going ahead though, albeit, without a guiding hand. Things will progress, but somewhat slower than I'd hoped.

05/09/2012 - Preparation - software revisited

The only weakness that I see in FreePCB is that it does not allow schematics to be produced, although not strictly necessary, I wanted the ability to produce schematics for the design. The free version of Eagle looks like a good PCB design tool, but the free version only allows board sizes up to 100mm x 80mm - far to small for this project. An internet search for other, free, PCB design tools led me to KiCad. KiCad is another open source (GPL) tool which describes itself as "software for the creation of electronic schematic diagrams and printed circuit board artwork." Incidentally, (KiCad is the software used by Andy Key to produce his Memotech related hardware such as REMEMOTECH and REMEMOrizer.)

Wings3D is an add-on for KiCad for creating 3D models from the KiCad design. When you install KiCad, you are pointed to the Wings3D website.

Having started to use KiCad to draw schematics of some legacy MTX PCBs, I have decided that KiCad will be used for this project, both for prototyping and generating Gerber files if I eventually get around to getting PCBs professionally made.


28/08/2012 - Preparation - software

At some point, we'll need to design the PCB on which to build the "computer". The software that will be used in this project is FreePCB. "FreePCB is a free, open-source PCB editor for Microsoft Windows, released under the GNU General Public License."

I downloaded a copy of FreePCB and installed it using the instructions on the download page. (You need to install a complete distribution, then apply updates on top to get the latest release version, which, at the time of writing, was 1.359.) The update also installs a copy of the free PCB routing program. fpcRoute. (A web based Java Application.)


26/08/2012 - Preparation - documentation

Starting to gather technical data for the chips that we'll be using, there are links on the parts kit page but the final home for all of the technical data for the project will be here.


24/08/2012 - Preparation

Lez has generously donated some components and other miscellaneous parts, these won't be needed for a while, but it does make it feel like the ball is rolling. You can see the list and photos of the parts that Lez sent me here.



mailto: Webmaster

 Terms & Conditions