Technology

Upcyling a 40-year-old Tandy Mannequin 100 Moveable Laptop

Upcyling a 40-year-old Tandy Mannequin 100 Moveable Laptop
Written by admin


Final yr I picked up a Tandy Mannequin 100 on the Classic Laptop Pageant East for about US $90. Initially launched in 1983, it was the forerunner of at the moment’s pocket book computer systems, that includes a good-quality keyboard and LCD show. It might run for 20 hours on 4 AA batteries and a month on standby.


Because of the work of the Membership 100 person group, I used to be in a position to faucet right into a universe of software program written for the Mannequin 100 (often known as the M100). Sadly, my machine stopped working. I used to be in a position to determine the defective element, and moderately than try to discover a new alternative, I purchased an inexpensive, damaged M100 that was being offered for elements on eBay. I extracted the element I wanted from its motherboard and repaired my unique M100. Then I regarded on the now-even-extra-broken second M100, nonetheless with its beautiful keyboard and display screen, and thought, “Absolutely there’s one thing I can do with this.” How onerous might it’s to swap out a 40-year-old 8-bit 8085 CPU and motherboard for one thing extra fashionable?

I’m not the primary particular person to have considered this, after all. A lot of of us have upcycled the M100, however they sometimes exchange the 240-by-64-pixel monochrome show with one thing with shade and far greater decision, or they preserve the unique LCD however use it as a text-only show. I wished to maintain the unique show, as a result of I like its huge, chunky pixels and low energy wants, however I additionally wished the flexibility to assist graphics and totally different fonts, as with the unique M100. If I might do this, I might use any variety of alternative CPUs, due to software program like CircuitPython’s displayio libraries. However I quickly found the problem was within the M100’s deeply bizarre—by at the moment’s requirements—LCD.

The M100’s LCD is de facto 10 separate shows, every managed by its personal HD44102 driver chip. The motive force chips are every answerable for a 50-by-32-pixel area of the display screen, besides for 2 chips on the right-hand facet that management solely 40 by 32 pixels. This supplies a complete display screen decision of 240 by 64 pixels. Inside every area the pixels are divided into 4 rows, or banks, every eight pixels excessive. Every vertical column of eight pixels corresponds to at least one byte in a driver’s native reminiscence.

A Tandy M100 notebook computer is shown with its wide LCD display above a mechanical keyboard, along with a PCB and Arduino Mega.Classic Tandy M100 computer systems [left] may be purchased for elements for lower than US $100. A interface defend together with a resistor and capacitor [right, top] can plug into an Arduino Mega microcontroller and mean you can repurpose the display screen and keyboard.James Provost

To set an arbitrary pixel, you establish the display screen area it’s in, allow the corresponding driver chip, inform the chip you’re sending a command, ship the command to pick out a financial institution and column, inform the chip you’re now sending pixel knowledge, after which write a knowledge byte that units eight pixels without delay, together with the one you need and 7 others that come alongside for the journey.

The explanation for this association is that it speeds issues up significantly when displaying textual content. If in case you have a seven-pixel-high font, plus one pixel of clean house on the backside, you possibly can copy the font’s bitmap straight from reminiscence byte by byte. Sequential bytes can usually be despatched with out extra instructions as a result of the chip mechanically advances the column index after receiving a knowledge byte. The order of the banks as displayed will also be altered for quick scrolling.

This financial institution/column addressing scheme continues to be used, for instance, in some fashionable OLED shows, however their banks span your complete show—that’s, one chip per display screen. I must handle every area and driver myself.

Cross a wire by chance? No downside, simply repair it and check out once more.

Some issues made it simpler. First, the M100 was designed to be serviced. The display screen drivers sit on a board that interfaces with the motherboard by way of a 15-by-2-pin connector that may be merely pulled free. The keyboard makes use of a simple 10-by-10 matrix, and in addition connects by way of simply removable connectors. There’s a incredible service handbook that provides the main points of each single circuit. With the service handbook, the HD44102’s datasheet, and a few useful on-line ideas from folks who’d performed with the LCD, I used to be in a position to construct an interface between the show and an Arduino Mega 2560. And the truth that older machines are sometimes extra tolerant of abuse additionally helped—none of this “give me even a half a volt over 3.3 volts and I’ll let all of the magic smoke out” enterprise. Cross a wire by chance? No downside, simply repair it and check out once more. Feed in a uncooked pulse-width-modulated (PWM) sign as an alternative of a continuing analog one? Effective, I’ll simply sit right here and flicker a bit.

The interface supplies the -5 V the LCD wants along with +5 V. The interface additionally hosts a RC low-pass filter to easy the PWM sign that simulates the 0-to-4 V output of a potentiometer used to regulate the viewing angle. The opposite pins are handed via to the Mega’s digital enter/output or energy traces.

The LCD screen is divided into ten rectangular regions by dotted lines. 10 driver chips, all connected to a shared data bus, surround the screen. Separate select lines come out from each chip, marked CS0 through CS9, join the data bus and other control and power lines, marked +5V, -5V, GND, 0-4V, CLK, R/W, D/A Chip Select All, on the left hand side.Ten driver chips every management a area of the display screen, and have to be chosen as required by certainly one of 10 chip choose traces. Then a financial institution and column inside that row is chosen to obtain a byte of bitmapped knowledge, setting eight pixels without delay.James Provost

I wrote some code to retailer a 240-by-64-pixel framebuffer and to deal with the mapping of its pixels to their corresponding display screen areas. The software program selects the suitable chip, financial institution, and column, sends the information, and manages the assorted clock and different management alerts. The Mega seems to the surface world as the driving force of a contemporary monochrome show, accepting bitmap knowledge as rows (or columns) of pixels that span the display screen—precisely the type of factor that the displayio library can deal with.

The LCD can now be hooked as much as the microcontroller of my selection by way of a parallel or serial connection to the Mega, which copies incoming knowledge to the framebuffer; I intend to make use of a Teensy 4.1, which can permit me to speak to the matrix keyboard instantly, have sufficient compute energy for some primary text-editing firmware, and supply a VT100 terminal serial interface—which might be to a Raspberry Pi 4 compute module additionally mounted contained in the M100. That would offer Wi-Fi, a 64-bit OS, and as much as 8 gigabytes of RAM—a giant step up from the 8 to 24 kilobytes that the case initially housed!

This text seems within the October 2022 print difficulty as “Upcycling a Tandy Mannequin 100.”

About the author

admin

Leave a Comment