Computers Overview
Commodore PET
Sinclair ZX80
Sinclair ZX81
BBC Micro
Sinclair Spectrum
Memotech MTX
    About
    Library
    Manuals
    Options
    Photos
    Projects
    Repairs
      FDX Power
      FDX Systems
      MTX Capacitors
      MTX Keyboard
      MTX Power
      MTX RAM
      MTX ROM
      MTX Speculator
      MTX VRAM
      MTX VRAM - 2
      Spare Parts
      Video Wall DDFS
    Software
    Tools
    User Groups
    Video Wall
Memotech CP/M
Atari ST
PDAs
DEC 3000 AXP
OpenVMS
Raspberry Pi

 

 
 

The Memotech MTX Series

FDX 80 Column Board Colour Fault

 

Introduction

Just when I thought that I was getting my FDX back into working order, a fault developed on the 80 Column board; when the FDX booted, rather than the monitor displaying the boot sequence and subsequent text with the default Cyan foreground on a Black background, the text was displayed with Blue foreground on a Black background. With another 80 Column card using the same wiring and monitor, the colours were as expected, indicating that it was a card fault.

This table, from my MTX Video page, shows how the 8 colours available for use by the FDX video display system are generated from the Red, Green and Blue primary colours.

Colour Display Red Green Blue

FDX BASIC

Colour Code

Black 0 0 0 0
Red 1 0 0 1
Green 0 1 0 2
Yellow 1 1 0 3
Blue 0 0 1 4
Magenta 1 0 1 5
Cyan 0 1 1 6
White 1 1 1 7
A "1" in the table corresponds to the associated TTL signal being ON (at 2-5 volts).

 

This neat diagram from Wikipedia, shows in graphical form, how 8 colours can be produced from the three primary colours (Red, Green and Blue).

As the image shows, on an 8 colour RGB system, Cyan is generated by combining Blue and Green, the obvious conclusion therefore, was that there was a problem with the logic driving the Green output from the 80 Column board.

To "prove" that theory, I tried generating various display conditions using the control codes listed in the 80 Column board manual. Entering the appropriate control codes at the keyboard, I confirmed that there was definitely a problem with the colour generation, but it was difficult to diagnose where the problem lay. I could produce a Green background, so the Green output was working, but I needed to get a better idea of exactly what was working and what wasn't.
 
I knocked up a "rough and ready" FDX BASIC program to run through the available colours to see what was working correctly and what wasn't.

The small program shown should set the background to one colour and the foreground to the next colour in the available palette, clear the screen, print the current settings and move onto the next colour when any key is pressed.

10 FOR X = 0 TO 7

20 LET Y = X + 1

30 PAPER X

40 INK Y
50 CLS
60 PRINT "Paper colour = "; X
70 PRINT "Ink Colour = "; Y

80 IF INKEY$ = "" THEN GOTO 80

90 NEXT X

A quicker way to set a particular attribute is to use the <control> or <escape> codes listed in the 80 Column card section of the FDX Technical Manual on the Manuals page.
 
 

 

Test Results (pass, fail)

 Command

Command

Actual Actual Comments on Comments on
X = Background Y = Foreground Background  Foreground Background Foreground
0 Black 1 Red Black Blue OK Error
1 Red 2 Green Black Blue No Red Component Error
2 Green 3 Yellow Green Blue OK Error
3 Yellow 4 Blue Green Blue No Red Component OK
4 Blue 5 Magenta Blue Blue OK Error
5 Magenta 6 Cyan Blue Blue No Red Component Error
6 Cyan 7 White Cyan Blue OK Error
7 White 8 n/a Cyan Blue No Red Component Error

The table above summarises the results of the quick test that I ran under FDX BASIC and shows how the foreground colour did not change from Blue and the four colours (Red, Yellow, Magenta and White) reliant on the red component to to generate the correct background colour are incorrect. The implication being that there were two faults :

  • Fixed foreground colour (Blue)

  • No output from the Red component when setting the background colour

The schematic diagram for the 80 Column board shows that the RGB outputs from connector J8 are on pins 7, 8 and 9 respectively. Tracing these back through the board shows that the signals are either "active high" or "active low" depending on the position of links LS, LR, LG, and LB at location 4E on the board. The "high and "low" colour signals are generated by the 74LS175 Quad Flip-Flop at board location 5E, who's inputs in turn come from the output of the 74LS157 Quad 2 input multiplexer at board location 7E. Finally, the RGB signals are conditioned by the SN7406 inverter buffer/driver at board location 3E and outputs from the inverters on this chip are fed to connector J8.

The voltages measured on the output of the SN7406 confirmed that there was a problem with the Red channel, since this chip was installed in a socket, rather than being soldered onto the PCB, replacement of this chip was an easy option. I ordered up a new 7406 but unfortunately, found that Red was still not being produced by the 80 Column board. Swapping back to the good 80 Column board, I found that the issue with the Red output was now present on this card too. Further investigation showed an intermittent fault on the cable between the output from the FDX RGB video socket and the monitor - aaargh! Unsurprisingly, fixing the faulty cable restored the Red output on both of the 80 Column boards.

This resolved the background colour problem, but the fixed colour Blue foreground fault was still present.

 

Foreground Colour Problem

In order to be able to fault find the foreground problem, I spent quite a bit of time trying to understand how the 80 column card generates the display output. I have made some notes describing how I think the MC8645 is used in the 80 column card, you can read them on this page.

 

On closer investigation, I found that it was not a colour problem as such, it was an attribute issue, i.e., the "colour" problem was also evident when using the monochrome output. As well as setting Red foreground, Attribute bit 0 should set the Underline attribute on the mono display. I found that the mono output didn't respond properly to attribute commands sent from the command line, indicating that it was an attribute problem.

 

 

The image above is an extract from my 80 Column Board schematic that shows most of the components associated with driving the CRT with the appropriate colour and monochrome attributes. (Zoom in on the drawing by clicking the image.)

 

Given the knowledge that it was an attribute problem, I discounted the 74LS157 in board position "7E" and the 74LS175 in board position "5E" as a fault on either of these chips would have been likely to affect either the colour or monochrome output, but probably not both.

 

Although there were a number of possible causes for the issue, as I had spare chips, I decided to dive right in and start replacing what I thought were likely to be the most likely culprits. I started by replacing the 74LS374 in position "8E" - to no effect.

 

I then replaced the 74LS273 in position "8D" which resolved the problem - probably as much to do with good luck as anything else!

 

So, the 80 Column Board is now working and this particular problem can be considered solved.

 

 

Should a similar fault develop in future, once I finish my 80 Column Board notes, I will try and follow a more structured approach to fault-finding the issue and, hopefully, not need to resort to haphazard chip replacement!

 

 

 

mailto: Webmaster

 Terms & Conditions