Intel 8049 (8048, 8748, 8749, 8035, 8039) / MCS-48 Hardware-Debugger & Monitor
This project came about because I had an "unfinished business" for many years with the MCS-48 microcontroller family, which was very frustrating for me at the time. Now, in view of the obstacles and difficulties (including new frustrations) that have arisen on the way to the current state of the "DeMon48" project, I am undecided whether it would not have been better to leave this "business unfinished". On the other hand, the intensive work with this obscure, rather cumbersome to use and not particularly well-documented microcontroller family certainly offered an opportunity for one thing:
Hacking at its best !
A long time ago I purchased a few 8049 microcontrollers of the Intel MCS-48 family (specifically the second-source type "µPD8049" from Nippon Electric Company (NEC)) - without having the slightest idea how to do anything with them or even what to do with them. And because at the time no further information about these microcontrollers was available to me, they lived a peaceful existence, undisturbed by any possible use, for several years.
About 6 more years passed until I came across a kit for a "development system" ("PECAZ": "Preiswertester Einplatinen Computer Aller Zeiten" ("Most Affordable Single Board Computer Ever")) for 8049 microcontrollers.
This "development system" consisted of:
1 | Latch 74LS373 for demultiplexing the address and data bus |
1 | Socket for the 8049 µC |
1 | Socket for a 2716/2732 EPROM |
2 | Pushbutton (*RESET, *INT) |
2 | SPDT Switch (T0, T1) |
13 | LEDs with associated resistors and driver transistors (P1.0 bis P1.7, P2.3 bis P2.7) |
1 | Resistor, electrolytic capacitor and diode for power-on reset |
1 | 11MHz crystal and oscillator capacitor |
2 | Blocking capacitors |
1 | Main board for switches, buttons, transistors, resistors, LEDs, with a bus structure onto which 2 smaller cards can be plugged (1x 8049 card + 1x extension) |
1 | Small board for the microcontroller, latch and EPROM (8049 board) |
3 | Connector for connecting µC card and motherboard |
Images: "PECAZ" - subsequently modified for EPROMs of type 2764
A compact booklet "Mikrocontroller angewandt : MCS-48 Familie" ("Microcontrollers applied : MCS-48 family") from Elektor-Verlag GmbH (which contains 2 serious errors and omissions in the description of the instruction set (MOVX @Ri,A is incorrectly coded as 0x50,0x51 (correct: 0xA0,0xA1) and MOVX @Ri,A (0x90,0x91) is completely missing, the index registers are incorrectly named as Rr and not correctly as Ri ("Ri : Data memory pointer (i = 0, or 1); Rr : Register Designator (r = 0-7)" Source: Intel 8-Bit Embedded Controllers Handbook 1990; Chapter "MCS(R)-48 Instruction Set, Symbols and Abbreviations Used"; p.3-7), the "MOV @Ri,A" instruction printed as "MOV @Rr,A" is incorrectly described as a 2-cycle instruction, the demonstration program is faulty in its interrupt routine and only partially functional and the printed single-step circuit, which differs from the one published by Intel, should be treated with caution if one wants to use the Q and *Q outputs of the 74LS74 flip-flop at the same time - which are not always complementary in this "economy circuit": so all in all pretty useless literature) and an expensive, programmed EPROM (2732) with the faulty demonstration program could also be purchased.
Images: "Mikrocontroller angewandt: MCS-48 Familie"; ISBN 3-928051-23-7
The ignorance at the time, the lack of information sources, the programming in machine or assembly language, which was partly made more difficult by the errors in the Elektor booklet mentioned above, the programming and erasing of the EPROM necessary for testing software, led to a waning of interest after a while, despite the great enthusiasm at the beginning.
A few years later, a single 8049 µC was used in one of my projects - at that time I was already equipped with a copy of the "Intel 8-bit embedded controllers" manual.
Image: "Intel 8-Bit Embedded Controllers" manual (1990); ISBN 1-55512-093-8