MTX Co-Processor

Modern, Memotech inspired, hardware projects
Post Reply
Martin A
Posts: 483
Joined: 09 Nov 2013 21:03

MTX Co-Processor

Post by Martin A »

The BBC Micro's could run a series or external processors, I've long wanted something similar for the MTX.

And now I've finally got something more or less working. There's details of the development on Dave's site, but I thought I'd put some details here too.

It's built in 2 parts, Interface board and processor board. It's done that way for 2 reasons: 1) it leaves more room on the processor board for components - not an issue with the test board, but it could be for other processors like the 68008 or 9900 that Lez generously donated. Which are physical larger and in the 9900's case 16 bit data bus. 2) Cost. The 1K dual port ram used for communications actually cost me more than the 6502 did

The slim interface board consists of an 8k rom, the dual port ram and a 15ns GAL.
The GAL pages the ROM into slot 7 and is used to save space, timing on the MTX side is fairly relaxed and so I could have used standard logic chips. The GAL also pages the top 256 bytes of the 1k ram into the top of the rom bank. The top part on the ram is required, as the top 2 locations of ram also act as interrupt controllers, one for each side. I've used the Cypress CY7C-131 on this board, and the IDT7130 on the MTXplus version of the board as they both work the same way. 256 bytes are used as this enables the transfer of a full CPM sector and control information, with the minimal loss of available ROM space.

The 6502 processor board has a W65C02-14, 128k static ram, 128k flash, a 7ns GAL and an oscillator to allow the 6502 to be clocked independently from the Z80. For a language, the 6502 is currently using HiBasic 3 from the BBC Micro's external 6502 processor, that's a 16k image, and is designed to allow 2k space for the tube OS, I've used that space, and allocated another 2k below the language rom, making 20k in total. That leaves room for 44k of system ram. The GAL pages the RAM chip in for the lower 44k of the memory map, and the ROM in for most of the upper 20k. The to 256 bytes of the dual port ram is fitted into a "page" near the top of the 2k tube rom area. The un-used areas of the Flash and Ram aren't accessible

The 6502 is currently clocked at 14.3mhz, which is why the board needs the fast GAL, Standard logic would have restricted the CPU to a much slower clock rate.

The 6502 is in charge of all communications across the dual port ram. The replacement for the tube rom has a VERY restricted subset of the BBC MOS running, but it is enough to print, read the keyboard, and save/load basic to the CFX that's plugged into the external connector on the other end of the MTX..

The z80 however controls the 6502 interrupts, and is currently generating a 100hz interrupt as used by the BBC. The 6502 to Z80 interrupt isn't connected. The Z80 control software works by constantly reading the shared ram for new instructions from the 6502.
The evidence.jpg
The evidence.jpg (171.53 KiB) Viewed 2519 times
I see loading.jpg
I see loading.jpg (71.59 KiB) Viewed 2519 times
User avatar
Posts: 832
Joined: 11 Aug 2012 18:16

Re: MTX Co-Processor

Post by Dave »

Hi Martin,

Well Done !

As you know, I have been very impressed with "my" co-processor.
- It rattles along at 16MHz, rather than the paltry 14.7MHz of yours :lol:
(Martin generously sent me a version for MTXPlus+)

I will update the web page with some of the technical detail that you have included here

Post Reply