Motorola (freescale) 68705, 6805, MC146805, HC05 microcontroller family


How to read MC68705U3 EPROM
by Peter Ihnat A method to read the EPROM contents of a programmed MC68705U3/R3

MC68705U3 Bootstrap ROM

MC68705P3 Bootstrap ROM

MC68705P5 Bootstrap ROM ; blank.bin (2Kb-binary file This is a file with all zeros) The Bootstrap ROM doesn't program zeros, it skips them

source code to view the bootstrap rom of the P3, U3, S3 by Peter Inhat (Australia) (PDF - 4 pages - 58Kb)

dumpp3.asm | DUMPP3.BIN (Binary - .BIN - 2kb)

dumpS3.BIN (.BIN Binary file -4Kb) [to be tested] courtesy Peter Inhat (Australia)

DumpP3.bin ( Binary- 2Kb) courtesy Peter Inhat (Australia) MC68HC705P6A Features


Motorola (freescale) MC68705P5 NUM Mode read out

hereafter an easier way to dump the ROM from 6805s and 68705s. I first got it working using the 6805’s NUM pin, then the same technique worked on an 68705, by setting PC0 to 7.5V to get into NUM: Motorola MC6805P2 Motorola MC68705P5

hereafter the work from Sean Riddle:

he was able to dump the Milton MC6805P2 electronically using non-user mode. But oddly enough, he wasn't able to get it

to go into self-test, even though that's well documented.

he put the chip on a breadboard and gave it power, put a 1MHz clock on EXTAL, grounded XTAL, tied /RESET, /INT and TIMER high

and connected NUM to +5. He checked each port with an LA and noted that all PORT A bits were high, PORT B bits were toggling

(apparently) randomly, PORT C<3> was high and C<2:0> were toggling.

So he assumed PORT A and C<3> were inputs and the others were outputs. I figured opcodes would be fed into PORT A, so

he used 8 1K resistors to +5 and ground to set it to $9D, the opcode for NOP. I also tied C<3> high for the first test. He

captured PORT B and C<2:0> and was surprised to see an obviously repeated pattern every 16384 uS. Looking closer, there were

8 clocks between bytes being output, and 16384/8 = 2048, which corresponds to the 11-bit address space. Port C<2:0> outputs

bits 8-6 of the address bus, so it counts from 000 to 111 four times during a complete dump.

After searching for a while, He found the bytes that he had visually transcribed from the Milton die shot. HeI verified that all

the electronic dumps I made were identical, then compared the electronic dumps to the visual dump, and found 4 more bit errors

in my visual dump.

he was confused about where the dump was starting; each time it re-started at the same byte after reset, 1437 bytes in.

Then HeI realized that it was fetching the reset vector from $7FE, but was getting $9D9D from the resistors, which translated

to $59D in the 11-bit address space. So it dumped from there to the end before wrapping around to $000.

he was expecting to have to feed the chip opcodes to dump the ROM contents, so he was surprised but happy that it turned out

there was a simpler way. It looks like in non-user mode that the chip fetches the byte from memory and puts in on PORT B,

then executes the opcode on PORT A. Since he had made it a NOP, it just kept fetching the next byte. I'm not sure if any

of the other 6805 varieties will do the same, but maybe this will help.

he found out later that this also works on the 68705P5, if you use 7.5V on PC0 to enter NUM.

The data output to Port B is a byte of address info, a byte of memory, another byte of address info, and the same byte of memory. The address info is a permutation of the address bits.

This dumps everything in memory, not just the EPROM bytes. So you get the I/O ports, RAM and the bootloader code.

he also set the resistors to other opcodes to see what would happen. One of the opcodes I used was BRN, since it’s essentially a NOP. It also dumped ROM, but the number of bytes that it output on port B was different because it’s a 2-byte, 4-cycle opcode whereas NOP is 1-byte, 2-cycle.

RS-232 routines for MC68705 courtesy Steve Chandler

TSB3.1 (c)Logitech
mc6805 -based mouse from Logitech

Serrure codée à 68705P3 (Article RADIO-PLANS n°574 /P.58-59)

68705 development tool assembler A6805 and linker

Roger's embedded microcontrollers 6805 68HC05 info page DASM 68705 68HC05 Family Tutorial

MC68705P3 Preliminary Data Sheet NMOS 8-BIT EPROM MICROCOMPUTER, (671Ko) Programming Connections schematic diagram & Instruction Set.

MC68705P3 Programmer diagram - implantation

MC68705P3/U3/R3 Eprom Programming

MC68705R3 pinout



I have a question on the MC6805U3, can the internal ROM be bypassed so you can use an external Eprom or EEprom?

The 68705U5 had a so-called NUM mode, which stood for Non-User mode. It was proprietary technique (something weird like putting +9 volts on port C7), then sending a certain byte sequenceon the A-port), in that you had to sign a non-disclosure agreement with Motorola to get the details. Once in the NUM mode, external memory could be accessed. In fact, that is exactly how the Motorola development systems for the 68705 worked.
Now, wether it has any applicability for the 6805U3 part is not clear, but at least in some members of this (now obsolete) family the ability was there, albeit somewhat esoteric.


Motorola M6805 HMOS M146805 CMOS Family Microcomputer / Microprocessor Users's Manual second edition contains the following data sheets:
Complete M6805 M146805 User's Manual (PDF- 236 pages - 6.77Mb)

Note d'application Motorola AN-858 : Bicycle Computer using the MC146805G2( )1 Microcomputer Application note - Compteur de vélo à base d'un microcontrôleur compatible 6805 (1984 handbook)

AN993 Serial-to-Parallel Converter Using the MC68705P3

MC68705P3 Readers

Lecteur de 68705P3S - Kit Chip Service - Le schéma est basé sur un ST6225 dont le programme est verrouillé et n'est pas disponible..

MC68705P3 Reader

Lecteur/Copieur pour 68705P3
- Kit CH102 :Le schéma est donné dans le fichier PDF suivant: 68705p3.pdf (49 Ko)
La Notice d'utilisation est disponible dans le fichier suivant: (307Ko)
Le programme pour le microcontrôleur MC68705P3 utilisé dans ce montage est donné dans le fichier suivant: 68705-1.bin (2Ko)
Le programme pour l'échange de fichier avec le PC: 50Ko)


EP705N Module et LP120 : permet entre autre la lecture des MC68705P3/U3/R3 ainsi que la programmation des MC68705P5/U5/R5 (version avec bit de sécurité). lecteur TNT (MC68707P3/P5/R3/R5/U3/U5)- DASM

MC68705R3 / MC68705U3 read out with a Stag PP39 Programmer and 39M200 Module and 68MR00 adapter : L'adaptateur 68MR00 de Stag Microsystems UK permet de lire le 68705R3 et 68705U3 (en moins de 1 seconde) et ce en émulant le microcontrôleur . Cet adaptateur est composé d'une Eprom et d'une connectique adaptatrice venant se fixer sur le programmateur Stag PP39.


Motorola 6805

In the 68705P3/R3/U3, how is the "contents dump" feature invoked?
In general, 68HC705s are placed into "programming mode" by applying 9V to the IRQ pin, which forces the processor to fetch its vectors from addresses 16 bytes below the "normal" vector locations. However, on the P3/R3/U3 parts, programming mode is entered by applying 12V to the TIMER pin, which shifts the vectors downward by eight bytes.
For the P3, the "normal" vector locations are at $7F8-$7FF, so the "programming mode" vectors would be at $7F0-$7F7. For the R3/U3, the "normal" vectors are at $FF8-$FFF and the "programming mode" vectors are at $FF0-$FF7.

The "programming mode" RESET vector points to the built-in "bootstrap" code (at $785-$7F7 [P3] or $F80-$FF7 [U3/R3]), which handles all programming functions. Unfortunately, the P3, U3, and R3 parts do not contain bootstrap routines for "verify" or "contents dump".

For more information, see Motorola's application note #857, "MC68705P3/R3/U3 8-Bit EPROM Microcomputer Programming Module".

Tip: Best 6805 assembler : take a look at They offer 6505 with complete environement (DOS Version "rapid") and also later versions what contains HC05 assemblers.


I have been searching for a long time. Motorola does not want you to know how to program these parts. Their programming
algorithms are proprietary. P&E micro (who makes/sells the eval boards) will not publish this informatin either. Motorola's literature *sort of* describes the programming but the details always seem to be lacking. I own the eval card and use it for programming the parts, but the software is inefficient, in my opinion. I wanted to build my own programmer and attempted to reverse engineer how the P&E software 'force- feeds' the programming instructions to the microcontroller, but my interest and patience wore thin and I gave up. If you ever run across a DIY programmer, don't forget me. Send me your information.. Take care.


Battery charger / charge Analyzer with the MC68HC705C8 c8aprog, a Programmer for the MC68HC705C8A and MC68HSC705C8A 68HC705C8 programmer MC68HC705J1 - cf section 2.6.1 - Note that the programming details hasn't been made public by motorola . The only thing you have to do is to buy one. For example Future Electronics (Canada) sells one for $130CDN.

Routine de gestion de bus I2C pour 68hc05 (Shift- Cliquer pour télécharger 5Kb)

Un chargeur pour programmateur de 68705 (Article RADIO-PLANS n°520 p.79-82 X.FENARD) Ce loader constitue un des maillons d'une mini-chaîne de développement pour le monochip 68705P3 de Motorola. Il s'adapte sur les programmateurs de Monochips Motorola (ou compatibles). Ces derniers étant plutôt orientés vers la duplication de monochips que vers la création de logiciels, le chargeur présenté ici en étendra les possibilités.

Programmation du microcontrôleur MC68HC705K1 (Article RADIO-PLANS n°546 p.43-49 Jean-Paul Jacquet): Boîtier à fenêtre MC68HC705K1S (Eprom) DIL16, Boitier plastique sans fenêtre MC68HC705K1P (OTP) DIL16 et le boîtier CMS MC68HC705K1S (OTP).

Programmation du microcontrôleur MC68HC705J2 (Article RADIO-PLANS n° 553 p.25-32 - J.-P. JACQUET ) Microcontrôleur compatible avec la famille HC05. Les entrées-sorties appartiennent à l'espace mémoire, il intègre 2048 octets de mémoire EPROM (incluant 16 vecteurs d'interruption),il intègre 112 octets de RAM (SRAM), il possède 14 lignes d'entrées ou de sorties. Son fonctionnement est purement statique (pas de vitesse minimum d'horloge). L'oscillateur est intégré (utilisation d'un quartz ou d'un résonateur céramique). Il intègre un "timer" multifonctions (15bits). Il intègre un circuit d'interruption (RTI). Il intègre en ROM un bootloader (programmation de son EPROM). Il possède des modes faible consommation. Il possède l'émulation du MC68HC705J1. La nature du signal d'interruption est sélectionnable (en front ou en front suivi d'un niveau). Il possède un timer (COP) il intègre la multiplication non signée 8bits x 8bits. Il existe en boîtiers DIP 20 (versions OTP), SOIC 20 broches (Versions OTP) et CERDIP 20 broches (Version à fenêtre).

Testeur de 68705P3 : (Article RADIO-PLANS n°554 p.15-17 P. ACHERNARD )

Lors d'un développement, après plusieurs reprogrammations du 68705P3, où quand le programme se bloque, on peut mettre en doute le bon fonctionnement du 68705P3. De nombreux monochips de la famille Motorola disposent d'un programme de self-test, le 68705P3 en disposera d'un maintenant grâce à cette platine de test.

Un programmateur simple de 68705P3 (Article RADIO-PLANS n°526 p.63-68 X.Fenard ) (Shift-Click pour télécharger - 2.01Mo)

Le Logiciel pour ce programmateur : PRGM70 (source et exécutable) - Shift-Cliquer pour télécharger
fxprgm70.c Source modifiée par Ph. KIEFFER (octobre 1998) pour fonctionnement du programme PRGM70 sur un Pentium II 233
fxprgm70.exe Exécutable modifié pour fonctionnement du programme PRGM70 sur un Pentium II 233

Le développement d'applications autour de ce monochip passe obligatoirement par la programmation d'un EPROM. La note d'application de Motorola est très claire à ce sujet. Dans cette nouvelle version, il n'est plus nécessaire d'avoir de mémoire intermédiaire, un PC muni d'une sortie imprimante est seulement nécessaire. Elle permet de vérifier la virginité du monochip, et peut être utilisée comme mini-système de développement. Equipée d'une alimentation à découpage, elle ne nécessite plus d'alimentation supplémentaire.

Testeur de virginité pour monochip 68705P3 (Article RADIO-PLANS n°532 p.49-51 - X.FENARD)

Ce petit montage pour le monochip 68705P3 permet de déterminer si celui-ci est vierge ou non. Couplé à une lampe UV, il permettra de connaître le temps d'exposition nécessaire à l'effacement de l'EPROM du monochip. En ajustant ce temps, il sera possible d'allonger le nombre de cycle de programmation de l'EPROM et par conséquent la durée de vie du monochip.

Un convertisseur RS232 avec le 68HC705K1 ( Article RADIO-PLANS n°549 p.29-31 P.ACHERNARD)

Les "Glues Chips" désignent en électronique les circuits périphériques d'un VLSI qui sont destinés à le coller au reste du schéma électrique. Le 68HC705K1 peut être considéré comme un "Glue Soft" dans la mesure où il peut faire un traitement d'interface pour résoudre un problème spécifique. Dans cet exemple, nous allons voir comment gérer une liaison série avec un 68705K1 qui ne possède pas d'UART.

Génération d'une alimentation +5V à partir du Microcontrôleur 68HC705K1 - (Article Electronique Pratique n°224 - P.100/103) - Si votre système utilise un microcontrôleur, vous pouvez utiliser quelques ressources de ce composant comme deux broches d'entrée-sortie fournissant un courant important, un compteur, associés à un "tour d'adresse" logiciel et quelques composants extérieurs (2 diodes et 2 capacités) afin de réaliser une pompe de tension peu couteuse. Cette pompe de tension tourne en tâche de fond dans votre logiciel afin de générer en permanence la tension nécessaire de +5V.

Un chronomètre à 68705 - (Article Radio-Plans N°550 - P.43/44) Cette réalisation est propice aux détournement en tous genres, comme la réalisation d'un programmateur journalier, d'un métronome, etc. - Ce chronomètre devra fonctionner sans ordinateur (être autonome), il devra savoir compter ou décompter, gérer des relais… L'affichage a été réalisé avec des afficheurs 7 segments. Les afficheurs à LEDs consommant beaucoup, nous avons écartés d'office les versions LOW POWER (68HC705) ainsi que celles qui sont pauvres en capacité d'Eprom (le petit K1). Le 68705P3 convient. Au cas où l'applicatif deviendrait trop grand, nous passerions au 68HC705C8 mais comme d'habitude le 68705P3 sert de test. Pour une application "haut de gamme", un liaison RS232 a été prévue, le chronomètre devenant un "terminal" intelligent du PC. (composants utilisés: CD4511, MC14499, ULN2803, ULN2903, HDSP5300, 74HC(T)244, NMC9306…)

Jeu de Société (Gadget) à 68705P3 - (Article Electronique Pratique n°214-P.96/100) - Cette réalisation a pour objet d'agrémenter un jeu de société traditionnel : Recherche de code à 4 chiffres (double dé) de votre choix en moins de 1 minute, un jeu de hasard, et un décompteur associé à un buzzer. Le double dé est lancé par impulsion sur la touche A du faux clavier hexadécimal. Vous observerez alors deux chiffres glissants illisibles, le premier et le troisième en partant de la droite. Une impulsion sur la touche * bloque l'affichage sur les 2 chiffres proposés. Ceux-ci restent visibles pendant environ 4 secondes. Vous pourez ensuite relancer un nouveau cycle. Si vous appuyez sur une autre touche que *, vous observerez l'arrêt du défilement qui reprendra dès que vous la relâcherez. (circuits utilisés: 68705P3S, MC14499, Quartz 3,2768 Mhz, Aff. Cathode commune TDSR 5160…)

Ensemble Domotique Modulaire de 6 sorties configurables en télérupteurs, gradateurs ou minuteries. - (Article Electronique Pratique n°221 - P.53/67) : Carte alimentation, Carte microcontrôleur, carte sortie à relais, carte pupitre, carte à triac, carte gradateur. Montage sur Rail DIN.

Présentation du 68HC705K1 (Article RADIO-PLANS n°545 - P.46/47)

An LCD and Keypad Module for the SPI with 68HC705K1P (Circuit Cellar INK #57 - Avril 1995)

Le 68705 -Présentation (Electronique Pratique n°164- P.139-141 par X.FENARD)

Attente et transfert téléphonique TSM à 68705P3 programmé Attel (El. Pratique n°157/P.97-100)

Téléflic à 68705P3 1995, Elektor magazine, International Contest "Projets en Compétition" : First National price, for Téléflic

Surveillance déportée de chaudière au fioul (68705P3) Elektor Janvier 1996

A Learning Remote-Controlled (IR) Speaker Selector à 68HC705K1(Circuit Cellar issue #57 - Avril 1995)

Le MC68705P3 et son utilisation pratique - programmateur de 68705P3 (Revue LED -P.12/33)

Programmateur de 68HC705C8 - Retour sur le Programmateur de 68HC705C8 - Le 68HC705C8 en PLCC (Articles de X.FENARD parus dans Electronique Radio-Plans N°540,566, et 541.)

Adding New Addressing Mode in the 6805 Microcontroller - Extrait de Don Lancaster's Tech Musings Novembre 1995

programmateur journalier ou hebdomadaire - affichage sur afficheur led 7 segments ou LCD 3 digits 1/2

d'après les articles de E.DERET parus dans Hobbytronic n°10,14 et 17
une application du microcontrôleur MC68705P3 : un programmateur universel : horaire, journalier, hebdomadaire

Peut servir pour la commande d'arrosage par exemple.


mc68705P3 memory contents uniprog2 universal programmer (binary file- 2Kb)

Microprocesseur MC146805ELP
Il s'agit d'un 6805 N-MOS des Années '80 Das "E" bedeutet typisch "externer Speicher", d.h. es ist hoffentlich irgendwo ein EPROM auf der Leiterplatte.
MC146805E2 war relativ gängig. 68HC05E2 war der angeblich voll kompatible CMOS-Nachfolger. Davon habe ich das Thomson-Datenblatt. Gabs in DIL 40 oder PLCC44.

If you are looking forward some data about this products, you can contact me by e-mail at

Retour au sommaire

Retour à la Page d'accueil

25 juin, 2017