Faced with a broken Radio Shack laptop from 1983, IEEE Spectrum editor Stephen Cass didn’t throw it away. Instead, he pulled out the logic board and replaced it with a modern microcontroller so he could control the vintage screen. Cass wrote about his adventure in detail for Spectrum last week.
Cass performed his operation on a Radio Shack TRS-80 Model 100—one of the first laptops ever produced—which features a one-piece “slate” form designed by Kyocera and released as the NEC PC-8201 in Japan. Its claim to fame was not only its small portable size (at 2 inches thick and 3.9 lbs), but having a great keyboard paired with its ability to run for up to 20 hours on four AA batteries.
The Model 100 included a 2.4 MHz Intel 80C85 CPU, 8 to 32K of RAM, and an eight-line, 40-character monochrome LCD with no backlight. It doesn’t sound like much compared to today’s portable beasts, but journalists loved the Model 100 because they could comfortably write stories on the go using its built-in text editor. It also included Microsoft BASIC, a terminal program, and an address book in ROM.
While some people upgrade Model 100s using new LCD screens and CPUs (keeping only the case and keyboard), Cass decided to attempt an interface with the portable’s vintage 240×64 pixel display. I have found it particularly challenging because the computer handles driving the display in an unconventional way compared to today’s LCD panels.
“The M100’s LCD is really 10 separate displays, each controlled by its own HD44102 driver chip,” Cass writes. “The driver chips are each responsible for a 50-by-32-pixel region of the screen, except for two chips at the right-hand side that control only 40 by 32 pixels.” Its designers chose this method, Cass says, because it speeds up text display with limited available memory.
Okay, here’s my demo: first it fills and clears the screen by writing to all chips at once, then loads a full screen bitmap as fast as the display can go, then uses hadware bank switching and partial refresh to fast scroll! pic.twitter.com/VbF2vgaG9L
— stephencass (@stephencass) September 21, 2022
After working out the protocol for the screen, Cass built an interface between the screen and a modern Arduino Mega 2560 microcontroller. As the project stands now, he can display and scroll bitmapped graphics onto the Model 100’s LCD. His next step will be to try to interface the screen and keyboard (with a Teensy 4.1 development board to handle keyboard communications) to a Raspberry Pi 4 compute module, which would make for a powerful portable machine with a vintage feel.
You can read more about the technical details of his project on IEEE Spectrum’s website. Good luck Stephen!