Silicon ChipThe Matrox ALT-256 Graphics Card - October 2020 SILICON CHIP
  1. Outer Front Cover
  2. Contents
  3. Publisher's Letter: The balance between historical and forward-looking articles
  4. Feature: Satellite Navigation in Space by Dr David Maddison
  5. Project: D1 Mini LCD BackPack with WiFi by Tim Blythman
  6. Feature: Improved ADS-B Reception on a Computer by Jim Rowe
  7. Project: Flexible Digital Lighting Controller, part 1 by Tim Blythman
  8. PartShop
  9. Serviceman's Log: Decisions, decisions, decisions... by Dave Thompson
  10. Review: The CAE SoundCam by Allan Linton-Smith
  11. Project: USB SuperCodec – part three by Phil Prosser
  12. Vintage Radio: AWA model 501 console radio by Associate Professor Graham Parslow
  13. Project: High Power Ultrasonic Cleaner – part two by John Clarke
  14. Product Showcase
  15. Feature: The Matrox ALT-256 Graphics Card by Hugo Holden
  16. Market Centre
  17. Notes & Errata: Four USB power supplies for laptop charger, Circuit Notebook, August 2020; Velco 1937 radio chassis restoration, August 2020; Infrared Remote Control Assistant, July 2020
  18. Advertising Index
  19. Outer Back Cover

This is only a preview of the October 2020 issue of Silicon Chip.

You can view 40 of the 112 pages in the full issue, including the advertisments.

For full access, purchase the issue for $10.00 or subscribe for access to the latest issues.

Items relevant to "D1 Mini LCD BackPack with WiFi":
  • Mini WiFi LCD BackPack PCB [24106201] (AUD $5.00)
  • 3.5-inch TFT Touchscreen LCD module with SD card socket (Component, AUD $35.00)
  • Mini WiFi LCD BackPack kit (Component, AUD $70.00)
  • Matte/Gloss Black UB3 Lid for Micromite LCD BackPack V3 or Pico BackPack using 3.5in screen (PCB, AUD $5.00)
  • Arduino sketch for the Mini WiFi LCD BackPack (Software, Free)
  • Mini WiFi LCD BackPack PCB pattern (PDF download) [24106201] (Free)
Items relevant to "Flexible Digital Lighting Controller, part 1":
  • Flexible Digital Lighting Controller main PCB [16110202] (AUD $20.00)
  • Flexible Digital Lighting Controller Micromite Master PCB [16110201] (AUD $5.00)
  • Flexible Digital Lighting Controller CP2102 Adaptor PCB [16110204] (AUD $2.50)
  • Flexible Digital Lighting Controller LED slave PCB [16110205] (AUD $5.00)
  • PIC16F1705-I/P programmed for the Flexible Digital Lighting Controller [1611020A.HEX] (Programmed Microcontroller, AUD $10.00)
  • PIC32MX170F256B-50I/SP programmed for the Flexible Digital Lighting Controller Micromite master [1611020B.hex] (Programmed Microcontroller, AUD $15.00)
  • PIC16F1455-I/P programmed for the Flexible Digital Lighting Controller WS2812 Slave [16110205.HEX] (Programmed Microcontroller, AUD $10.00)
  • Si8751AB 2.5kV isolated Mosfet driver with integral power supply (Component, AUD $10.00)
  • Micromite LCD BackPack V3 complete kit (Component, AUD $75.00)
  • Hard-to-get parts for the Flexible Digital Lighting Controller (Component, AUD $100.00)
  • Flexible Digital Lighting Controller front panel PCB [16110203] (AUD $20.00)
  • Firmware and software for the Fiexible Digital Lighting Controller (Free)
  • Firmware and PC software for the Digital Lighting Controller [1611010A.HEX] (Free)
  • Flexible Digital Lighting Controller mains slave PCB patterns (PDF download) [16110202-3] (Free)
  • Flexible Digital Lighting Controller Master PCB patterns (PDF download) [16110201, 16110204] (Free)
  • Flexible Digital Lighting Controller LED slave PCB pattern (PDF download) [16110205] (Free)
  • Drilling and cutting diagrams for the Flexible Digital Lighting Controller Micromite master (PDF download) (Panel Artwork, Free)
  • Cutting diagram for the Flexible Digital Lighting Controller mains slave rear panel (PDF download) (Panel Artwork, Free)
  • Cutting diagrams and front panel artwork for the Flexible Digital Lighting Controller LED slave (PDF download) (Free)
Articles in this series:
  • Flexible Digital Lighting Controller, part 1 (October 2020)
  • Flexible Digital Lighting Controller, part 1 (October 2020)
  • Flexible Digital Lighting Controller, part 2 (November 2020)
  • Flexible Digital Lighting Controller, part 2 (November 2020)
  • Flexible Digital Lighting Controller, part 3 (December 2020)
  • Flexible Digital Lighting Controller, part 3 (December 2020)
  • Digital Lighting Controller Translator (December 2021)
  • Digital Lighting Controller Translator (December 2021)
Items relevant to "USB SuperCodec – part three":
  • USB SuperCodec PCB [01106201] (AUD $12.50)
  • USB SuperCodec Balanced Input Attenuator add-on PCB [01106202] (AUD $7.50)
  • Parts source grid for the USB SuperCodec (Software, Free)
  • USB SuperCodec PCB pattern (PDF download) [01106201] (Free)
  • USB SuperCodec Balanced Input Attenuator add-on PCB pattern (PDF download) [01106202] (Free)
  • USB SuperCodec front panel artwork (PDF download) (Free)
  • Drilling and cutting diagrams for the USB SuperCodec Balanced Input Attenuator (PDF download) (Panel Artwork, Free)
Articles in this series:
  • USB SuperCodec (August 2020)
  • USB SuperCodec (August 2020)
  • USB SuperCodec – part two (September 2020)
  • USB SuperCodec – part two (September 2020)
  • USB SuperCodec – part three (October 2020)
  • USB SuperCodec – part three (October 2020)
  • Balanced Input Attenuator for the USB SuperCodec (November 2020)
  • Balanced Input Attenuator for the USB SuperCodec (November 2020)
  • Balanced Input Attenuator for the USB SuperCodec, Part 2 (December 2020)
  • Balanced Input Attenuator for the USB SuperCodec, Part 2 (December 2020)
Items relevant to "High Power Ultrasonic Cleaner – part two":
  • High Power Ultrasonic Cleaner main PCB [04105201] (AUD $7.50)
  • High Power Ultrasonic Cleaner front panel PCB [04105202] (AUD $5.00)
  • PIC16F1459-I/P programmed for the High Power Ultrasonic Cleaner [0410520A.HEX] (Programmed Microcontroller, AUD $10.00)
  • One 40kHz 50W ultrasonic transducer (Component, AUD $55.00)
  • ETD29 transformer components (AUD $15.00)
  • Hard-to-get parts for the High Power Ultrasonic Cleaner (Component, AUD $35.00)
  • High Power Ultrasonic Cleaner main PCB patterns (PDF download) [04105201-2] (Free)
  • High Power Ultrasonic Cleaner lid panel artwork & drilling diagram (PDF download) (Free)
Articles in this series:
  • High Power Ultrasonic Cleaner (September 2020)
  • High Power Ultrasonic Cleaner (September 2020)
  • High Power Ultrasonic Cleaner – part two (October 2020)
  • High Power Ultrasonic Cleaner – part two (October 2020)
Articles in this series:
  • The Matrox ALT-256 Graphics Card (October 2020)
  • The Matrox ALT-256 Graphics Card (October 2020)
  • The Vintage Matrox ALT-512 Graphics Card (November 2020)
  • The Vintage Matrox ALT-512 Graphics Card (November 2020)

Purchase a printed copy of this issue for $10.00.

THE MATROX ALT-256 the world's first graphics card! Today’s graphics cards have awesome computing power, with teraflops of processing speed, enabling amazingly realistic 3D graphics from cuttingedge custom silicon. Not this one, though. It’s made from bog-standard through-hole chips and provides a less-than-awe-inspiring 256x240 pixel display. But it’s a clever design; in fact, groundbreaking in its day. E arly home computers in the 1970s generally had text-only screens. The shape of each character (letter, number or symbol) was stored in dedicated ROM ICs. By the late 1970s, there was a hunger for graphics screens in home computers. So Matrox, a Canadian company, came up with the ALT-256. This was the product which launched their company, which later became a one billion dollar enterprise. They’re still in business today, making video cards and other graphics products! See www.matrox.com for more details. The ALT-256 generated a 256 x 240 visible pixel display on a standard composite video monitor. The card itself had a single video plane and contained 38 TTL (transistor-transistor logic) ICs and 16 RAM (random access memory) ICs. The RAM ICs are TMS4027 types, although the documentation cites them as the “4096”. Each of these ICs has a storage ca100 Silicon Chip pacity of 4096 bits, and each IC has a one-bit (on/off) output. So there were no shades of grey; the pixel is either on or off. However, with three cards combined, one output of each can be assigned to the R, G & B channels of a colour video system. And in that case, eight shades of grey are possible on a monochrome monitor, or eight different colours (black, red, green, blue, yellow, cyan, mauve and white) on a colour monitor. Later, Matrox produced the ALT512 which was more advanced than the ALT-256, with twice the memory. This accommodated two video planes, so four shades of grey could be attained from a single card by displaying two pixels (one from each plane) with different intensity weighting simultaneously. We’ll get to that a bit later. When Matrox released the ALT-256 By Dr Hugo Holden Australia’s electronics magazine graphics card, around 1977, it was a revolutionary step forward for S-100 computer owners interested in graphics. There was a review of the ALT256 in Byte Magazine in 1978. This was one remark after mentioning that three boards could enable animation and a colour display: For the Star Trek freak, now there is available a real (if imaginary) universe to save, rather than a slow printer banging out descriptions. For the artist, a canvas; the researcher, a window; and the kids, an electronic sketch pad. Perhaps the word “freak” should have been “fan” to be more diplomatic. However, those remarks are quite profound when one considers what computer graphics cards in modern computers have evolved into. Byte Magazine cited the price of the ALT256 board at $395, which is about $1700 today. Then imagine having to buy three of them! Matrox also produced a companion 2480 card, to generate text, which can siliconchip.com.au Screen 1: a sample image I drew and loaded into the ALT256’s RAM. It may seem crude, but this was sci-fi type stuff back in the late 70s. My monitor has an amber phosphor, hence the colour; it is, in fact, monochrome. be linked with the ALT-256 for a simultaneous text and graphics display. The TV sync generators on these boards can operate as a master or slave, and the video signals either from the graphics card or the text card can be mixed to obtain one video output signal. Circuit diagram I searched the internet for a decent scanned copy of the ALT-256 manual, which included a circuit diagram and the PCB component layout. I kept finding the same scan repeated over the net in many places. It was kind of somebody to scan it in the past; however, when they did, they accidentally left page 84 blank. Wouldn’t you know it, that just happened to be the central section of the circuit diagram! So I hunted around for months, unable to find the full ALT-256 schematic. I was about to reverse engineer the PCB. I tried to contact Matrox, but unless you have a modern product of theirs, it is very difficult. I then found out there was an ALT256 card in a computer museum in Canada, and they had the manual, and the curator copied out the page for me. That was quite a treasure hunt, but it was very useful to have, and it helped me to repair my board. The block diagram from that manual is reproduced in Fig.1, and the full circuit diagram that was so hard to find is shown in Fig.2 It still amazes me what they were are to achieve at the time, just with the 74-series TTL ICs and a small amount of memory. siliconchip.com.au Screen 2: the same image as Screen 1 but shown in ‘reverse video’. The card doesn’t have the capability to do this, so I had to write the image into its memory with the pixel values inverted (ie, one for zero and zero for one). Sample ALT-256 screens Matrox published a software package called MTXGRAPH, as a .PRN listing in the ALT-256 manual. Presumably, this was also on disk at the time, but it would be very rare now. I plan to assemble and test this software in the future. For now, though, I had to write my own program to test the card. Screen 1 shows the image I drew, displayed by the ALT-256. It started as a 180kB, 256 x 240 pixel monochrome .BMP file which I processed to convert into a format that the SOL20 computer could load and then display on the ALT-256. I drew this image in “Microsoft Picture It” by tracing over some drawings of the DeLorean. The wheel hubs were the most difficult part. I found it best Fig.1: the ALT-256 block diagram shows how the RAM array, comprising ICs A32-47, feed into shift registers A27-28 and then the video generator to create a continuous composite video signal. At the same time, the S100 bus interface (A51-55) can write pixels via A1 & A9 or clear the screen via A1 & A19. Australia’s electronics magazine October 2020  101 Fig.2: the complete ALT-256 circuit diagram was hard to track down, but I’m so glad I managed to get a copy. It makes working on the card a lot easier! It may seem complicated, but when you consider that it is a complete video system with a computer interface, it’s actually quite elegant. 102 Silicon Chip Australia’s electronics magazine siliconchip.com.au to draw in the native resolution, rather than start with a higher-resolution file and try to scale it down. I also created an image file for the reversed (negative) image shown in Screen 2. This is easy to do in hardware by inverting the video signal (and not the sync), but the ALT-256 does not have this facility. So it required a separate image file. This ALT-256 card has likely not produced any graphics since the 1970s, so it was a gratifying experience to see this image come up after all the work required to process the image file to suit the card. Repairing my ALT-256 Actually, before I could display those images, I had to repair the card – a process which I shall now describe. I acquired the ALT-256 card from eBay. My experience with this card is very little different than any other vintage S-100 card from that era. There are usually one or two faulty 74LS series TTL ICs, and in cases where there are IC sockets, these sockets and the IC pins require significant cleaning to re-establish a good connection. In the case of the ALT-256 though, Matrox decided not to use any sockets for any of the ICs. This makes for a more reliable card, especially after more than 40 years. However, there were two faulty ICs on the card I acquired (a 74LS367 and a 74LS04) in the TV sync generator circuitry. So I had to desolder them and replace them with suitable, period-correct ICs. I did the fault-finding with the aid of the schematic and a 2465B Tektronix Oscilloscope. Also, somebody had worked on this PCB in the past; three jumpers were cut, one IC pin was cut and a 7812 regulator IC had failed. One TMS4027 RAM IC, A42, also required replacing. One cannot acquire a card of this age and expect it to be working off the bat. Locating faulty RAM ICs As you can see from Fig.3, the 16 RAM ICs are located in the upper-left corner of the card and are labelled A32 through A47. You can figure out which may be faulty based on looking at columns of pixels on the display. One good thing about fault-finding graphics cards with video RAM is that the screen image serves as the diagnostic window. Each of the TMS4027 RAM ICs looks after an area of screen pixels in 16 vertical rows. If each row were 256 pixels high, then this would correspond to the 4096 single-bit storage locations within that IC. While all of these locations can be “written to” with software commands, there are only 240 active scanning lines on the monitor (the remainder are in the blanked out vertical retrace time), so only pixels on the Y-axis labelled 0 to 239 are visible. On the other hand, on the x or horizontal axis, all 256 pixels are seen (labelled 0 to 255). In this video card, coordinates x=0 and y=0, specified in the card’s registers, are at the top left-hand corner of the video monitor. With a RAM IC failure, the output pin (pin 14 on the TMS4027) could be stuck low or high. In the case it is stuck high, 16 rows of vertical pixels will be turned on. These will only be seen easily if the background or all surrounding pixels are off. You can switch all pixels off in BASIC. Assuming the address jumpers on the PCB are set so that A7, A6, A5, A4, A3 & A2 are tied low, the Erase port address is 03: OUT 3,0 ; sets all pixels off Conversely, if a RAM IC output is stuck low, to see it, all the pixels need to be set on: OUT 3,1 ; sets all pixels on The Matrox ALT-512 was produced a shortly after the ALT-256 and has a display resolution of 512 x 256 pixels (or 256 x 256 with two layers). Further details on this board will be detailed in part two of this article next month. Photo source: siliconchip.com.au/link/ab3y (https://deramp.com/) siliconchip.com.au Australia’s electronics magazine October 2020  103 Fig.3: this diagram shows where each component is located on the card PCB. Most significantly, it shows the positions of all 57 ICs. No doubt, mounting them all with the same orientation helped with the designer’s sanity. 104 Silicon Chip Australia’s electronics magazine siliconchip.com.au Program to help find defective pixels (shown in Screen 3) 10 B=0 20 FOR X = 0 TO 255 30 OUT 1,(X+B) 40 OUT 2,X 50 OUT 0,1 60 IF (X+B) = 255 GOTO 100 70 NEXT X 80 B=16 90 GOTO 20 100 END I run MBASIC in the operating system CP/M (Control Program for Microcomputers) on my SOL-20 computer. To figure out which row of pixels is defective (and therefore which IC), I found it helped to plot two diagonal lines spaced 16 pixels apart (the finished program is shown above), either a black or a lit line. Select a 0 or a 1 for the pixel to be displayed (line 50) depending on whether all the pixels are previously off or on with the OUT 3 instruction above. This program, when RUN, plots two ; ; ; ; ; ; initialize offset number of pixels x coordinate y coordinate “1” plots an on pixel, “0” plots an off pixel limit max x pixel coordinate to 255. ; set offset for second line ; plot second line diagonal lines which can be used as a RAM diagnostic to determine which physical RAM IC is defective. Firstly, if pixels are stuck on, use “OUT 3,0” initially to set all pixels off, and then change code line 50 to be “OUT 0,1” and run the program. (Conversely, if pixels are stuck off, type “OUT 3,1” to set all pixels on and code line 50 to be “OUT 0,0”). Which IC looks after which column is shown in Fig.4. The boxes in grey represent the lines plotted by the BASIC program, called “locator lines”. The columns looked after by each RAM IC are shown at the top. As can be seen, for this example (where IC A42 has failed) the defect is in the 6th column. Therefore, by examining the video display, to see where the locator lines and the defective pixel coincide, the failed column can be found and the IC corresponding to it physically located. The purpose of the lines being diagonal is to make it easy to visually count the pixels, which is very difficult if they are on the same row. Physical ICs and pixel assignments for the ALT-256 Fig.4: this diagram shows which RAM ICs control which display columns, and how you can draw diagonal lines on the screen to figure out which IC is faulty if the display is not right. A faulty RAM IC will usually cause either black or white vertical stripes, but some faults could result in just one or a few pixels in those columns being stuck on or off. siliconchip.com.au Australia’s electronics magazine October 2020  105 ► Screen 3: RAM IC A42 had failed on the ALT-256 card I bought, and here is the display I got when drawing the diagonal lines. By counting pixels, I quickly pinpointed the faulty part. ► Screen 4: this is what the output of the program looks like if you set all the pixels on on the screen on first. This would normally be used to find a fault where columns of pixels were stuck off. However, in my case they were stuck on and you can see here that this mode can still be used to determine which RAM IC is faulty. Screen 3 shows the result of running this program with my eBay card. In this example, IC A42 has failed, its output pin 14 being stuck high. Screen 4 shows what the screen looks like when running the program to detect a RAM output that’s stuck low. The locator lines are plotted in black, with all other pixels switched on. It is straightforward to count along the pixels on the x-axis to see that it is column 6, 22, 38 etc that are defective and we can then tell from Fig.4 that A42 is responsible. If there were single or more defec106 Silicon Chip tive pixels, related to one or more of the 4096 locations inside a single TMS4027 IC, these would show up somewhere in one of the columns provided by that IC. Conclusion So you can now see how computer graphics got its start. As shown earlier, not long after the ALT-256 was released, Matrox came along with the more capable ALT-512, and I also got my hands on one of these. I shall describe it in the follow-up article next month. Australia’s electronics magazine One thing to note about the ALT256 is that, once you put the data into graphics memory, there is no way to read it back out. So if you want a copy of what is on the screen, you have to write that data elsewhere in general memory too. With the ALT-512, you can interrogate the graphics memory. This is helpful say in a program like a light pen, where you alter the pixel values in graphics memory, then you want to save the image you have drawn later. More details on this will be published next month. SC siliconchip.com.au