NOS teletext TV board from the 90's has an AT89C2051 on it (8051 compatible MCU) - Page 1
Forum section: electronics / general

author: RoGeorge
author_rank: Super Contributor
timestamp: September 21, 2025, 10:57:36 am
content: Found a $1 NOS board from the 90's and couldn't resist the price, it's a teletext board for TV's!Has a set of very specialized ICs for decoding the teletext data, a handful of passives and BJTs, and to my surprise when I've arrived home, a (re)programmable ATMEL microcontroller, AT89C2051.Downloaded the datasheet, thinking at first it might be a memory, or something OTP (one time programming), but it seems AT89C2051 is an erasable 8bit MCU, has 2k of Flash and 128 bytes of RAM, and it is compatible with the MCS-51 instruction set (8051 compatible), so not exactly an AVR (Arduino compatible chip), but still, a nice 8 bit MCU to fool around with in a weekend:https://ww1.microchip.com/downloads/en/DeviceDoc/doc0368.pdfReading the datasheet now, and it seems to need 12V for programming, but at least the programming protocol is very simple: feed 8 bits in parallel to the MCU's first port, then give it a writing pulse. And another 5V pulse to increment the writing address counter.Very tempted to hijack the MCU, since this teletext board already has the additional circuitry needed for the AT89C2051 to run (12MHz ceramic resonator and a power-on reset).Now, what project(s) to do with 15 IOs, 5V capable and able to drive LEDs, two 16bit counters and an analog comparator (no ADC), all in an 8051 MCU from the 90's?

author: SiliconWizard
author_rank: Super Contributor
timestamp: September 21, 2025, 01:36:17 pm
content: Fun stuff.https://www.manualslib.com/manual/2849819/Texas-Instruments-Eurotext-Cf70200.html

author: RoGeorge
author_rank: Super Contributor
timestamp: September 21, 2025, 05:07:16 pm
content: The nice side when digging through vintage ICs is they usually have the part number in plain text, and the datasheets are publicly available, in contrast with more recent SMD ICs with weird SMD markings and documentation kept behind an NDA contract.All the chips on that teletext board have datasheets, posting only the part numbers, without the pdf links:TDA9160 - PAL-NTSC-SECAM decoder-sync - PhilipsSDA9288X - PiP ic for TV - SiemensCF70200 - Eurotext teletext TV - TICF72306 - data slicer teletext TV - TITDA4665 - baseband delay line - PhilipsGL3820 - video switch IC for teletextAT89C2051 - MCS-51 compatible MCU, 2kB flash, 128B RAM, 15 IO, UART, comparator, 24MHz, 2.7V to 6V - AtmelUnfortunately all of them (except the MCU) are highly specialized for TV signal processing. I've browsed yesterday their datasheets, out of curiosity, and I don't think they can be convinced to do anything else other than TV signal processing.Meanwhile I've found the pdf for the peripherals of the AT89C2051, a different pdf common to all Atmel 8051 family:Atmel 8051 Microcontrollers Hardware ManualThe I/O pins seem weird now, they are sort of an open drain.That 'direct LED drive' capability advertised in the datasheet means an I/O can sink 20mA, but it can not source any current more than the pullup resistor can provide. And to turn an I/O into an input, you write a 1 into the output latch of the I/O. Plus that the IOs have to implement two additional FETs on the high side (aside from the pullup resistor which is also a FET) The other two are, one for stiffening the raising edge voltage of the output-drain pin, and the other against some glitching situation. Seems overly complicated and cumbersome, don't know why it was implemented that way.Oh, and an instruction usually takes 12 oscillator's periods, so a 12MHz oscillator means in fact only 1MIPS.The two of the 16 bit timers are also a simplified version of today's typical MCU timer (and if the UART is used, one of the timers has to be used to provide the UART baud rate). And, because of the parallel programing, in circuit programing is not practical, but the biggest deterrent for me is those open-drain-like I/Os described at page 75 in the link.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: September 21, 2025, 05:22:57 pm
content: Many years ago I designed a teletext receiver peripheral for the Acorn Archimedes using the CF72306. This chip was just a front-end, doing the data slicing etc. and outputting a datastream that the CF70200 displayed in the normal TV application.I only used the front-end chip, using a couple of PLDs and a FIFO to feed it to the computer for decoding in software.When I contacted a TI distributor about supplies, they denied all knowledge of it - apparently as part of a TV chipset it wasn't a product that sold through normal distribution. I ended up soucring them as TV spare parts from CPC

author: RoGeorge
author_rank: Super Contributor
timestamp: September 21, 2025, 05:43:00 pm
content: Quote from: mikeselectricstuff on September 21, 2025, 05:22:57 pmWow, looks great!Must have been a lot of work.

author: westfw
author_rank: Super Contributor
timestamp: September 21, 2025, 08:41:11 pm
content: QuoteThat was standard for 8051 family chips...The 89C2051 was one of the earlier flash-based low-pin-count 8051s. Neat stuff, aside from the need for a 12V programmer.

author: PCB.Wiz
author_rank: Super Contributor
timestamp: September 22, 2025, 05:45:38 am
content: Quote from: RoGeorge on September 21, 2025, 10:57:36 amIt’s not clear if you want to reuse the teletext engine too, but if you are ok with the programming steps, the AT89C2051 is usable.The family lineage includes the larger AT89C4051, then came the serial pgm AT89S2051/4051 and then came the 1T core AT89LP2052/4052.Other companies also cloned ‘2051’ series parts, some offering 6051 variants.Today, you can still buy that pin out, in the form of STC’s ST12H series which adds a faster 1T core, ADC, calibrated OSC I think up to 28k flash.That lineage should give you some scope to extend that board feature set significantly if you want to.

author: RoGeorge
author_rank: Super Contributor
timestamp: September 23, 2025, 12:29:06 pm
content: OK, then I'll give it a try.No idea what to do with the teletext part, only want the MCU for future hobby projects.Already desoldered the MCU, using this ultra secret extracting tool:image fromhttps://www.eevblog.com/forum/beginners/kapton-tape-and-heat-guns-on-retro-boards/msg5335985/#msg5335985(the extracting tool is a syringe needle)Seems there are plenty of 8051 code examples around, including code to read more recent sensors, ADCs, etc., e.g.:https://github.com/sshahryiar/8051-ProjectsThe SDCC compiler project on sourceforge seems very alive:https://sourceforge.net/projects/sdcc/Is this compiler OK for 2025? Should I look for something else? Has to be free, for Linux, and preferably open source.Found, too, a programmer easy to cobble, made with an Arduino that feeds the parallel programming data and the programming pulses, and it makes the 12V with a charge pump. Has all the software already written (both the Arduino part, in C, and the command line tool, in Python).This schematic is fromhttps://leap.tardate.com/8051/at89c2051/programmer/https://github.com/tardate/LittleArduinoProjects/tree/main/8051/AT89C2051/ProgrammerConstruction, installing and using instructions seem straightforward, so I guess this programmer will work with no problems, will go with this one.Is that programmer OK, is there other DIY programmer to consider instead?Side note/offtopic, this drawing looks very nice:(The drawing is from the same blog as the 8051 programmer project, the LEAP blog:https://leap.tardate.com/notebook/)

author: RoGeorge
author_rank: Super Contributor
timestamp: September 24, 2025, 12:59:09 pm
content: Code:$ at89overlord -p /dev/ttyCH341USB0 -f Blinky.hex# Initializing the programmer...# Initialized!# Confirming chip ID...# Confirmed!# Erasing flash...# Done!# Writing flash...# Done!# Verifying...# Done!And now, what?Joke aside, it feels awkward to have to physically move the MCU from its final PCB to the programmer socket, back and forth, at each code change. The good side is, that makes you to put more attention into code design, and makes you to keep the number of iterations short, and with no features creep.

author: PCB.Wiz
author_rank: Super Contributor
timestamp: September 24, 2025, 02:53:15 pm
content: Quote from: RoGeorge on September 24, 2025, 12:59:09 pmYou have a few options.If your circuit is made Pgmr drive compatible, which mostly means RST is made 12V tolerant, you can permanently connect the programmer.Or you can drop in a SPI ISP variant like AT89S2051/4051 or AT89LP2052/4052 or a UART/USB ISP pin clone /upgrade like STC12H or older STC12