Computers Overview
Commodore PET
Sinclair ZX80
Sinclair ZX81
BBC Micro
Sinclair ZXSpectrum
Memotech MTX
    About
    Library
    Manuals
    Options
    Photos
    Projects
    Repairs
    Software
    Tools
    User Groups
Memotech CP/M
Atari ST
Commodore Amiga
PDAs
DEC 3000 AXP
OpenVMS
Raspberry Pi

 

 
 
 

The Memotech MTX Series

 

DME February/March 1984

When Memotech's MTX computer was launched at the Earl's Court Computer Fair in June, it was clear that if it lived up to its advance specification it would be one of the most substantial and potentially powerful computers available in the sub-£300 price range. Now that it is available in production quantities, just eight weeks after the proposed release date in August, the time has come to look inside this new British Micro to see what makes it tick.

Memotech seem to have provided everything bar the kitchen sink in the MTX package. Inside the polystyrene box lies the computer, all 2.6 kilograms of it and with an array of 79 keys spread along its 49cm, width, a separate power supply (complete with illuminated mains switch), five cassettes tapes, an assortment of leads and documents, and the manual.

One of the leaflets explains that the manual supplied is provisional and that the proper version is expected from the printers and will be sent on to the MTX purchaser. In view of this, it would be unfair to comment on the quality of the provisional handbook, though at over 250 A4 pages it will certainly keep most users happy until the proper version arrives.

The MTX computer is sold as an all-purpose computer, and from its starting price of £275 inclusive, it can be expanded in stages until it holds 512K of on-board RAM and quite a few megabytes of memory on Floppy Discs, Silicon Discs or Winchester Discs.

Since the MTX is using the Z80 CPU as its processor, and that can only address 64K of ROM/RAM, Memotech are using software to page in and out the various options of on-board memory. This process is transparent to the user, who merely enjoys the vast amount of memory at his disposal, but to the software writers who write the operating code for paged systems it represents an extra challenge - paged software is that such more difficult to de-bug!

An interesting point about the MTX memory map is that the ROM is normally in low memory, so that the Z80 restarts may be utilised, but the CP/M operating system requires RAM at low memory so when an upgrade to CP/M is made, part of the memory map alters. Figure 1 shows the memory map of the basic MTX 500, and shows how the extra memory pages are filled in as extra RAM upgrades are purchased. The 32K MTX 500 and the 64K MTX 512 have their 24K of ROM represented by SYS-A, SYS-B and SYS-C, and have 32K of RAM from 8000H to FFFFH. The MTX 512 uses 16K of its extra RAM to fill the gap at 4000H-7FFFH, (area (a) in Figure 1) and the other 16K is banked up on page 1 between 8000H-BFFFH (area (b)).

The additional memory boards begin to fill up the pages as appropriate in the order (a), (b), (c), (d) etc., while extra ROM is added in a similar manner on top of SYS-B and SYS-C. Eight pages of ROM are allowed, and sixteen of RAM, but the diagram shows just four pages.

The MTX case consists of two aluminium extrusions hinged together at the front. A single pcb slides into the lower part, and the voltage regulators are bolted to the metal so that the whole case acts as an enormous heatsink, which is very effective. The keyboard is housed in the upper portion and aluminium plates at each end of the computer hold to two halves together. The whole assembly is extremely rigid.

To take a look inside you must first unscrew the screws holding on the end plates. These screws are really quite childproof, since you need a small allen key to turn them, but once the end plates fall away the keyboard hinges up and the insides are revealed.

There are 48 chips on the main pcb, and a few more on a little "piggy back" pcb near the UHF modulator. The little board isn't a correction - in fact there are no signs of any last minute alterations on the boards - but contains the British TV circuitry; export models of the MTX will have different piggy-back pcbs to suit the requirements of the recipient country.

There are edge connectors on both ends of the main board: they are identical and contain all the important CPU signals (see Figure 2).

One connector is intended for external ROM packs, such as a ROM FORTH, while the other connects to any expansion board which may be fitted in the large space beneath the auxiliary keypads. The expansions may be RAM boards or the communications board. The latter board carries two completely independent RS232 channels and a disc drive bus, but not the floppy disc controller itself since that and certain other boards fit inside the disc-drive case.

An Abundance of Chips, Sockets and Ports

All the chips are standard off the-shelf types, apart from a small TTL ROM which does all the fancy decoding for the paged memory. There isn't a ULA in sight, which perhaps explains why there have been no serious delays in getting this micro into the market place.

The TTL ROM and the larger ICs are socketed, and all components are laid out neatly and without any space being wasted. Memotech are using the Z80A processor running at 4MHz. At this speed it runs a BASIC which is faster than the Commodore 64's, but not quite as fast as Acorn's BBC computer. However, there are rumblings at Memotech about fitting a 6MHz version of the Z80 chip, and if that is successful then the MTX would be one of the fastest micros around.

It is often said that devotees of the Z80 and 6502 CPUs are not capable of seeing each other's point of view, and I must declare that I sit firmly in the Z80 camp. The Z80 chip allows compatibility with CP/M, but that is of little concern to users outside the business field. However there are more immediate advantages associated with the Z80: all ports have their own address allocation and do not intrude into the memory map; and it is, on the whole, much cheaper to add memory to a Z80 computer; the fact that a 32K memory card for the MTX costs £50 and a 20K memory card for the BBC micro costs £114 hears witness to this!

Most of the timing in the circuit is carried out by the Z80 Counter Timer Circuit (CTC) chip. This IC has four independent timing channels, and two important tasks it has do for the MTX are to control the video circuitry and operate a real-time clock.

This clock is interesting, in that it is easily set up from BASIC. Unfortunately the clock has no battery back-up, since the CTC isn't a CMOS device, and draws rather a lot of current, but it does count in hours, minutes and seconds while the computer is running, up to a total of 99 hours, when it cycles round again. Time-out signals from two other CTC timers are taken to the edge-connector bus, which might prove convenient to the builders of MTX add-ons

I would guess that one add-on which won't be needed is a sound board. The MTX uses the Texas Instrument's SN76489 as its sound processor, and very good it is too, especially if the output is akin to a hi-fi. There are three tone generators and one noise generator in this chip, and they can be manipulated quite simply from BASIC using the command SOUND followed by 3 parameters or more complex sounds including synthesised music can be created using SOUND followed by 7 parameters.

Although there are no ULAs present in the MTX, the chip count has certainly been reduced by the decision to use the TMS9929A video-processor to handle the screen display. This is the European version of the Texas chip, which simplifies the entire video circuitry, but it still has a nasty habit of putting oval-shaped circles onto our TV screens. Memotech are working on a modification to improve matters, but I am told that the problem is not nearly so bad on a video monitor. The video socket is a high quality BNC socket and it shares the back edge of the computer with eight other sockets of various types and two cut-outs which are ready for the RS232 interface.

Apart from the usual power, cassette and TV sockets, there is a Centronics- standard printer port, two joystick ports, and a sound output for connection to an external amplifier. Not content with that, Memotech has also provided an uncommitted parallel I/O port on the pcb itself, and a suitable slot at the back to allow ribbon cable to pass out.

The Software

The MTX has BASIC and powerful low- level languages all resident in ROM. Figure 3 shows the BASIC commands and functions available, which include a fair number of powerful graphic and sprite handling commands.

A closer look reveals that some rather more standard words are missing from the BASIC, presumably due to lack of space. TAB and DEF/FN are missing, and there seems to be no IN to accompany the OUT. Other more advanced commands that you might miss having are MERGE, and the structuring facilities of REPEAT/UNTIL/DEFPROC which the BBC micro has made popular.

The MTX saves its variables with the BASIC program, so you don't need to worry about separate save commands for those, but there may not be a direct way of saving and loading machine code - this is an area where the provisional manual is vague. However, most of the time any machine code that you write will be incorporated in the BASIC listing and will therefore load and save automatically.

This is possible because the MTX has a built in assembler, which can be called at any time from within BASIC. If you type ASS. 10, the line 10 CODE will appear in the BASIC listing, and the computer will pass into assembly mode. Using the assembler is easy, and the editing and listing facilities are more than adequate. The syntax of each line is checked at the time of entry (as it is with the BASIC) so the system is a pleasure to use.

The object code created is placed in memory starting at the line called CODE, along with a few other labels and essential pieces of information, stored as well. The source code isn't saved, and when you see it listed you are really looking at a disassembly of the machine code itself; and you may have a print out of the listing to scrutinise, if you so wish. The whole procedure is designed to optimise the use of memory space and to encourage programmers to use machine code at appropriate times in their BASIC program. In fact one of the first uses you are likely to make of the assembler will be to replace that missing IN command!

The Front Panel

The "front panel" is a software implementation of the flashing lights and switches in which the original mainframe computers used to specialise. It represents a view into machine- language of the MTX, but as Figure 4 shows, the modern day panel consists of alphanumeric information on the VDU, rather than the fireworks display so beloved by the directors of science fiction films.

Behind the "front panel" lies a machine code monitor which enables the user to test and debug programs which have been written on an assembler. The RML 380Z/480Z which is the micro widely available in schools and colleges under the DOI scheme, has a similar panel command, but the MTX version is definitely superior since it has the ability to disassemble blocks of code.

Figure 4 shows that there are four display areas; the hexadecimal tabulation at the bottom of the screen shows the contents of memory around a specified byte (A 193 in the example) and you can scroll up and down the memory ad-infinitum using the cursor control keys. It is also possible to change the contents of the byte pointed to (F l in the example) and so make adjustments to the program under review.

At the top right there is a display of the contents of the Z80 registers. They show zero until they are changed by the programmer, or until a program is single-stepped, when they will show their own content and the content of the address at which they are pointing. Z80 flags are shown, as and when they come into operation but the Interrupt Vector register is not show: perhaps because it would be unwise to attempt to alter its contents. In the example given, the Program Counter (PC) has been set to 8D38 and that address holds byte 32H. The instruction that begins at the PC address is automatically disassembled and displayed at lower left as source code.

Entire blocks of memory may also be disassembled as a list (top left) which can have a starting address quite different from that set for the Hex tabulation. Remember, though, that machine code DATA disassembles into invalid source code, and there is never any way around that particular problem. However, Memotech have made sure that when source code is listed under command of the MTX ASSEMBLER, data bytes are correctly identified as such. One command missing from the front panel is a "search for byte pattern" facility, but I think that this is more than compensated for by the facility of listing in source code format, and Memotech are to be congratulated for providing this most excellent of monitors.

Using the MTX Screens

The MTX screen can operate in four modes:

Graphics M 1: 256 X 192 pixels

Graphics M2: 256 X 192 pixels

Text Mode: 40 X 24 character positions

Multicolour mode: 64 X 48 positions

Text may be used within graphic modes 1 and 2, in which case there will be 32 character positions across the screen, and a pattern position will be made up of 8 X 8 pixels. In Graphics Mode One 256 possible patterns may be defined for the 768 pattern positions, with two unique colours allowed for each pattern definition. Graphics Mode Two provides 768 pattern definitions for the 768 pattern positions, and all 16 colours may be used in a single pattern position.

In Text Mode a pattern position consists of a 6 X 8 pixel grid, and just two colours can be defined for the whole screen. Finally, in Multicolour Mode the screen is broken into a grid of 64 X 48 positions, each of which is a 4 X 4 pixel pattern, and each position can be given its own unique colour from the palette of 16.

All the patterns created by illuminating the pixels exist on what is known as the 'pattern plane' of the video screen. Behind the pattern plane there is the backdrop plane, a somewhat larger area which also happens to create the border around the pattern plane.

Colour for these two planes can be easily selected by the commands INK and PAPER, but there are many more complex commands available to set up the pattern plane, and to create any one of 32 sprite planes which overlay the pattern plane.

Sprites can be created and manipulated using the powerful commands of Memotech's extended BASIC. All the planes have been assigned an order of priority, with sprite 0 taking top priority and sprite 31 taking least priority. The pattern plane may be regarded as 32 and the backdrop 33 in the priority hierarchy. Whenever a pixel on a higher priority plane is transparent, the colour of the next plane can be seen through that plane.

There is much more that could be said of sprites: they make the writing of animated programs relatively simple, so that would-be programmers at home or in school can concentrate on ideas and style without being too far sidetracked by the time-consuming task of writing code. The MTX has sprites, and you don't have to buy any extras to use them. Twenty four pages of the provisional manual are devoted to them and other advanced graphic features, and the appendices are helpful in the detail they provide for machine-code programmers.

If you never have the time to experiment with high resolution graphics, there are many more features of the MTX which should please you. The separate editing keypad and the function keys (for typing in user-defined characters) allow for efficiency in editing programs, accepting INPUT from the screen, and in composing entire screen-fulls of text.

The Memotech computer has NODDY, a text-oriented language which can be use its own right to create interactive programs, or can be used from BASIC to call predefined screens. A direct screen input (DSI) command allows the user to roam about freely within the screen, ending when carriage return is pressed. Useful keys such a 'tab" step the cursor forward in tabulation steps; control keys have certain functions such as switching the cursor on and off, and various "escape key sequences" do other useful things - Escape, K duplicates a line for example.

Clearly, a great deal of thought has gone into the design of the MTX range.

These days it is expected of a new computer that it should have a large memory, high resolution colour graphics, multi-channel sound facility and a joystick port. The MTX has all these things. It seems to have remarkably few problems and shortcomings and the track record from Memotech suggests that bugs do not stay uncorrected for long.

The keyboard is superb - goodness knows how much it is costing Memotech to fit it and it gives the machine a very definite professional style. A closer inspection of the hardware and software reveals that the professionalism runs Deep, and that although the machine may be used by a beginner it is equally suitable for the expert and likely to keep any user satisfied for a good many years. If Memotech can get their MTX 500 and good software support into the shops and the schools in quantity, then I think they are set fair to take a large slice of the market away from Acorn and Commodore.

mailto: Webmaster

 Terms & Conditions

Page last modified 27/04/2015