Introduction
Le kit d'évaluation MEK6800D2 était proposé dans les années 70 (1976) pour une initiation au microprocesseur Motorola MC6800. Il ne nécessitait qu'une alimentation 5V et si besoin un magnétophone à cassette audio pour enregister ou uploader les programmes. Une carte clavier/6-afficheurs assurait l'interface homme/machine. Son bus principal était à la norme Exorciser (Motorola) et permettait via une carte de fond de panier doté de connecteur 86 broches (2 x 43), de lui ajouter des cartes periphériques.
De base, il était doté de :
- une carte CPU avec :
- un microprocesseur MC6800 cadencé à une fréquence de 614.4 Khz. Alors que ce dernier supporte un cadencement de 1MHz, cette fréquence a été choisie car multiple de 4800Hz (÷128) et utilisée par la chaîne ACIA-Interface magnétophone.
- une ROM moniteur (MC6830) nommée JBUG de 1Ko contenant les fonctions de gestion de clavier - afficheur - ...
- 3 RAM (MC6810) de 128 octets chacune.
- 1 ACIA (MC6850) assurant le transfert série des données allant et venant au/du magnétophone.
- 2 PIA (MC6821 ou MC6820). L'un servant au contôle du clavier et de l'afficheur 7-segments. L'autre est libre. Ses sorties parallèles sont disponibles sur un bus secondaire de 50 broches (2x25).
- 2 sockets libres pour UVPROMS de 1 ou 2Ko chacune.
- 2 sockets pour RAM statiques (MC6810) de 128 octets chacune. L'ajout optionnel de ces RAM portent l'espace Ram de 256 octets à 512; sans compter la RAM de 128 octets de gestion de la pile (STACK).
- une carte d'interface clavier/afficheur - magnétophone, très bien déscite dans le manuel d'utilisation donné plus bas. Elle ne sera pas décrite ici, car il s'agit de s'en passer.
Prix d'achat
1977 | 2022 | |
France (1) | 1 968.00 FF | 1 258,62 € (2) |
USA (3) | 235.00 $ | 1 135,05 $ (4) 1 079,43€ (5) |
- Boutique et Club Pentasonic - Paris 16e
- Correction d'inflation INSEE
- Annonce Motorola USA
- Correction d'inflation https://www.measuringworth.com/
- Correction d'inflation https://www.measuringworth.com/ + Cours du dollar à 0.95€ en 2022
Mise en boitier
La carte CPU a une dimension HT de ~ (9.75" x 6.15") soit (25.4 cm x 16 cm).
Galerie
Les choix du constructeur
L'interface homme/machine à base d'un clavier (1 bloc de 16 chiffres hexadécimaux + 8 touches de fonctions) était d'un bon rapport (facilité d'utilisation)/(prix). En effet, l'alternative industielle était le telescripteur doté d'un lecteur/puncher de bandes papier pour lire/écrire les programmes d'un prix largement supérieur à celui du kit. Par ailleurs de nombreux constructeur de micro-ordinateurs ont suivi le principe de lecture/enregistrement sur cassettes audio basé sur un codage "Kansas-City". Les programmes (Jeux, Editeur, Assembleur, Basic, Fortran, ...) étaient fournis sur cassettes magnétiques très répendues à l'époque.
Modernisation
La configuration de base ne permet pas une agilité des développements. 3 points faibles sont à pointer :
- le passage par le support cassette magnétique.
- la faible taille de la RAM de travail sur la carte CPU (512 octets max).
- l'interface homme/machine un peu laborieuse à une heure où on peut connecter un terminal virtuel à base de PC
- installer 32Ko (voir plus) de RAM statiques sur la zone de wrapping.
- intaller 2 ou 4Ko de ROM moniteur à la place du moniteur JBUG.
- utiliser l'ACIA pour communiquer avec un terminal virtuel TTY (compatible VT-100). La vitesse de communication sera égale ou supérieure à 4800 bauds.
- Installer sur un PC (Win, Mac ou Linux)
- un émulateur de terminal TTY
- un éditeur de texte et un cross-assembleur 6800.
- le moyen d'uploader simplement un fichier S19 produit par le cross-assembleur.
- éditer un fichier source .ASM (mnémonique 6800).
- cross-assmbler le fichier source et produire un fichier binaire au format Motorola S19.
- copier le contenu du fichier S19 dans le presse-papier.
- se connecter à la carte CPU MEKD2 via un émulateur de TTY. Puis taper la commande L pour LOAD.
- Faire un Crtl-V ou un clic droit et laisser l'upload se faire.
- lancer le programme uploadé à l'adresse XXXX avec la commande G XXXX
Cartographie mémoire
La carte CPU produit 7 signaux de mapping (cartographie) :
- /RAM pour séléctionner les RAM statiques MC6810 de travail.
- /STACK pour sélectionner la RAM de gestion de la pile (stack).
- /2/3 destiné pour un adressage externe à la carte CPU. Sans doute de la RAM dynamique externe.
- /4/5 destiné pour un adressage externe à la carte CPU.
- /PROM0 pour sélectionner une EPROM optionnelle.
- /PROM1 pour sélectionner l'autre EPROM optionnelle.
- /I/O pour sélectionner l'ACIA et/ou les 2 PIA.
- /ROM pour sélectionner la ROM JBUG;
ADRESSES | / I/O | /PROM0 | /PROM1 | /ROM | /RAM | /STACK |
0000 | 1 | 1 | 1 | 1 | 0 | 1 |
007F | 1 | 1 | 1 | 1 | 0 | 1 |
0080 | 1 | 1 | 1 | 1 | 0 | 1 |
00FF | 1 | 1 | 1 | 1 | 0 | 1 |
0100 | 1 | 1 | 1 | 1 | 0 | 1 |
017F | 1 | 1 | 1 | 1 | 0 | 1 |
0180 | 1 | 1 | 1 | 1 | 0 | 1 |
01FF | 1 | 1 | 1 | 1 | 0 | 1 |
2000 | 1 | 1 | 1 | 1 | 1 | 1 |
3FFF | 1 | 1 | 1 | 1 | 1 | 1 |
4000 | 1 | 1 | 1 | 1 | 1 | 1 |
5FFF | 1 | 1 | 1 | 1 | 1 | 1 |
6000 | 1 | 1 | 0 | 1 | 1 | 1 |
7FFF | 1 | 1 | 0 | 1 | 1 | 1 |
ADRESSES | / I/O | /PROM0 | /PROM1 | /ROM | /RAM | /STACK |
8004 | 0 | 1 | 1 | 1 | 1 | 1 |
8007 | 0 | 1 | 1 | 1 | 1 | 1 |
8008 | 0 | 1 | 1 | 1 | 1 | 1 |
8009 | 0 | 1 | 1 | 1 | 1 | 1 |
8020 | 0 | 1 | 1 | 1 | 1 | 1 |
8023 | 0 | 1 | 1 | 1 | 1 | 1 |
A000 | 1 | 1 | 1 | 1 | 1 | 0 |
A07F | 1 | 1 | 1 | 1 | 1 | 0 |
C000 | 1 | 0 | 1 | 1 | 1 | 1 |
C3FF | 1 | 0 | 1 | 1 | 1 | 1 |
E000 | 1 | 1 | 1 | 0 | 1 | 1 |
E3FF | 1 | 1 | 1 | 0 | 1 | 1 |
Nouvelle cartographie
En créant le signal /RAM32K = /VMA + /A15 on obtient le signal de sélection d'une RAM statique de 32Ko allant de 0000 à $7FFF. En appliquant ce signal sur la broche /CS de la RAM additionnelle de 32K (ex. HM62256BLP-7). Il faut bien sûr oter les 2 RAM MC6810 pour éviter le conflit.
Maintenant, il faut installer une nouvelle ROM Moniteur pour ne plus utiliser la carte clavier/afficheur. Pour cela, il faut :
Maintenant, il faut installer une nouvelle ROM Moniteur pour ne plus utiliser la carte clavier/afficheur. Pour cela, il faut :
- oter la ROM JBUG (MC6830) de son support.
- couper liaison /PROM0 broche 20 du socket U10
- relier le signal /ROM à la broche 20 du socket U10
- pour que le socket U10 puisse accueillir une UVPROM de type soit 2716 (2Ko), soit 2732 (4Ko), il faire les brachanchements montrer sur la figure ci-avant.
JHLBUG Moniteur
Les changements décrits ici nécessitent un nouveau moniteur. Celui décrit ici est nommé JHLBUG. Il est inspiré des moniteurs MIKBUG et MINIBUG II.Il offre les commandes et fonctions suivantes :
Commandes
- M AAAA DD NN : permet de modifier le contenu de (AAAA) avec la valeur DD. L'ancienne valeur est DD.
- G AAAA : excute le programme commençant en AAAA.
- L : attend un fichier S19 et place son contenu en mémoire.
- R : affiche les registres après une interruption.
Un wrapper est installé en tête de ROM. Il offre un serie de fonction d'entrées/sorties qui ne nécessite pas de connaissance du matériel, ni la position des devices.
f000 ORG $F000 * WRAPPER : FEW FUNCTIONS WITH INVARIANT POSITION f000 7e f0 74 VSTART JMP START RESTART POINT f003 7e f0 93 VCNTRL JMP CONTRL NO RESTART ACIA, DISPLAY PROMPT f006 7e f0 4d VINCH JMP INCH IN A-REG f009 7e f0 57 VOUTCH JMP OUTCH PRINT A-REG f00c 7e f0 6f VPSTRNG JMP PDATA PRINT STRING (X) ZERO EOT f00f 7e f0 18 SETIRQ JMP SETVIRQ SET VIRQ WITH X f012 7e f0 1c SETNMI JMP SETVNMI SET VNMI WITH X f015 7e f0 20 SETSWI JMP SETVSWI SET VSWI WITH XExemple d'utilisation :
* SET IRQ ADDRESS AT $5678 LDX #$5678 JMP $F00F SET A NEW ADDRESS FOR IRQ HANDLER * PRINT CHAR; 'Z' LDAA #'Z JMP $F009 PRINT CHAR FROM A-REG.
Cohabitation JBUG - JHLBUG
Si on veut faire cohabiter le ROM JBUG et la nouvelle ROM JHLBUG ou autre, pour mettre au point les travaux décirts ici, on peut effecuter le cablage suivant en placant un quadruple switch s1-4.
Modification de vitesse de l'ACIA
Il s'agit ici de modifer la vitesse de communication série de l'ACIA avec un "terminal+puncher" qui permettra de transférer de programmes développés sur PC vers la mémoire RAM du Kit MEKD2. Nativement, l'ACIA est prévu pour communiquer à 300Bds avec l'interface magnétophone. Maintenant, que nous passons par un émulateur de terminal VT100 on peut augmenter cette vietesse à 38400Bds. Soit 128 fois plus rapide. Pour cela, il faire effectuer quelques modifications sur la carte CPU.
- Relier le broche 3 et 4 de l'ACIA
- Couper le liaison entre la broche 13 du MC4040 et la ligne "4800Hz"
- Relier la broche 9 du MC4040 et la ligne "4800Hz".
MC4040 Pin | Vitesse Bauds |
---|---|
14 | 75 |
12 | 150 |
13 | 300 |
4 | 600 |
2 | 1200 |
3 | 2400 |
5 | 4800 |
6 | 9600 |
7 | 19200 |
9 | 38400 |
Ajout de 32KB de RAM
Au mieux, la carte supporte 512 octets de RAM statique. On peut facilement porter cette RAM à 32KB en plaçant un botier CY62256N dans la zone de wrapping en haut à gauche de la carte CPU. La sélection du boitier se fait en reliant :
CY62256N | 6800 |
---|---|
/CE | A15 |
/WE | /WR |
/OE | /VMA |
O0-O7 | D0-D7 |
A0-A14 | A0-A14 |


CY62256N | 6800 | Sig. |
---|---|---|
28 | VCC | Vcc |
14 | GND | Gnd |
27 | 34 | WE |
26 | 13 | A4 |
25 | 12 | A3 |
24 | 11 | A2 |
23 | 10 | A1 |
22 | 5 | OE |
21 | 9 | A0 |
20 | 25 | CE |
19 | 26 | D7 |
18 | 27 | D6 |
17 | 28 | D5 |
16 | 29 | D4 |
15 | 30 | D3 |
13 | 31 | D2 |
12 | 32 | D1 |
11 | 33 | D0 |
10 | 24 | A14 |
9 | 23 | A13 |
8 | 22 | A12 |
7 | 20 | A11 |
6 | 19 | A10 |
5 | 18 | A9 |
4 | 17 | A8 |
3 | 16 | A7 |
2 | 15 | A6 |
1 | 14 | A5 |
Pour éviter tout conflit, il faut bien sûr retirer les 4 boitiers RAM MC6810 de la carte CPU qui occupent 0000 - $00FF. Ne pas oter le boitier de RAM occupant la la zone de "stack" (A000 - A07F).
Sources et références
[ 1] Kit MEK 6800 D2 Manual - Motorola (1976)
[ 2] Schéma de la carte CPU du kit MEK6800D2 - Motorola (1976)
[ 3] Bus Exorciser - Pinout - Motorola
[ 5] Réglages de l'ACIA MC6850
[12] Microprocesseur MC6800 Motorola
[13] Baud-rate Generator MC14411 Motorola
[14] Ram statique 62256 32K x 8bits