C'est une carte d'étude et d'évaluation du microprocesseur 6502 et des circuits périphériques de la famille 65xx.
Elle a été fabriquée vers 1975 par COMMODORE après le rachat de MOS TECHNOLOGY.
C'est l'une des toutes premières cartes de ce genre, le plus souvent vendue en kit , celle dont je dispose est la révision G.
Dimensions 270 x 210 mm
Caractéristiques principales du 6502 :
Circuits en boîtier 40 broches dual in line comportant :
1 bus d'adresses 16 bits,
1 bus de données bidirectionnelles 8 bits,
1 bus de commande avec les signaux lecture/écriture R/W, RDY, SYNC, SO, Ø1
entrée RESET
entrées de demande d'interruption /NMI et /IRQ
entrées d'horloge avec oscillateur interne acceptant une fréquence de 1 MHz
Alimentation unique 5 volts.
Le microprocesseur est secondé par 2 circuits périphériques d'interface 6530 ROM, RAM, I/O, TIMER (RRIOT).
Caractéristiques principales du 6530 :
Ces circuits en boîtier 40 broches dual in line comportent :
1 bus de données bidirectionnelles 8 bits
1 bus d'adresses 10 bits
1 bus de commande avec les signaux de lecture/écriture, sélection de boîtier, horloge
2 ports 8 bits bidirectionnels d'entrées/sorties
1 timer programmable
1024 octets de ROM
64 octets de RAM statique
L'alimentation de la carte KIM-1se fait sous 5 volts courant continu, le courant absorbé est d'environ 600 mA.
Comme on peut le voir sur la photo, l'affichage est réalisé par 6 afficheurs de type 7 segments.
Les 4 afficheurs de gauche montrent l'adresse d'un emplacement mémoire exprimée en hexadécimal ($2002)
Les 2 afficheurs de droite montrent le contenu de l'adresse $2002 qui peut être :
- soit une instruction
- soit une donnée.
Un moniteur implanté dans les ROM des 2 circuits RRIOT de 2048 octets permet l'accès aux ressources de la carte, il occupe les adresses de $1800 à $1FFF.
La programmation s'effectue directement en hexadécimal, en introduisant les codes assembleur à partir du clavier 23 touches plus un interrupteur.
16 touches 0 à F utilisées pour entrer les adresses ou les données en hexadécimal,
7 touches de « fonction »
ST= stoppe l'exécution d'un programme,
PC = appelle la valeur contenue dans le compteur de programme du microprocesseur (Program Counter) pour la visualiser,
RS = reset, réinitialise complètement et place sous contrôle du moniteur
DA = sélectionne le mode d'entrée des données,
AD = sélectionne le mode d'entrée des adresses,
+ = incrémente (passe à l'emplacement mémoire suivant, notamment pour relire le programme), cela ne modifie pas le contenu de la mémoire examinée,
GO = lance l'exécution du programme à partir de l'adresse présentée sur les afficheurs,
Enfin un petit interrupteur SST, permet la mise en ou hors service du mode PAS à PAS (single step).qui permet l'exécution du programme instruction par instruction, pour la mise au point.
Le programme préparé par l'utilisateur est placé dans la mémoire vive RAM qui est répartie de la manière suivante :
1024 octets (8 boîtiers de 128 octets) couvrant les adresses $0000 à $03FF
64 octets internes au circuit RRIOT 1 couvrant les adresses $1780 à $17BF
64 octets internes au circuit RRIOT 2 couvrant les adresses $17C0 à $17FF
soit un total de 1152 octets.
Ecriture d'un programme :
initialiser l'adresse de début d'implantation en RAM (exemple AD =0200) les afficheurs de gauche montrent l'adresse 0200, les afficheurs de droite montrent le contenu actuel de l'emplacement sélectionné.
passer en mode entrée des données, en actionnant la touche DA, suivi par l'entrée du code machine par exemple A9
action sur la touche +, ouvre la case mémoire suivante, ici 0201
entrée de la donnée par exemple 01
…… on continue, jusqu'à la fin du programme
Remarque : Si l'on commet une erreur, telle que l'oubli d'une instruction, il est impossible d'insérer, il faut tout retaper.
Exécution du programme :
initialiser l'adresse de début d'implantation en RAM (dans l'exemple, AD =0200) les afficheurs de gauche montrent l'adresse 0200, les afficheurs de droite montrent le contenu actuel de l'emplacement sélectionné selon l'exemple, A9.
appuyer sur la touche GO
Remarque : en cas de dysfonctionnement tel que l'exécution d'une boucle infinie, la seule méthode pour reprendre la main consiste à appuyer sur la touche RESET, qui redonne la contrôle au moniteur.
Mise au point du programme :
Placer le commutateur SST sur ON,
initialiser le compteur de programme (par exemple AD puis 0200) sur l'adresse de début d'implantation en RAM,
appuyer sur la touche GO, une seule instruction s'exécute, une interruption non masquable (NMI) est déclenchée et le contrôle est redonné au moniteur qui affiche l'adresse et l'instruction suivante à exécuter,
il est possible de visualiser les contenus des accumulateurs, pointeurs… dont les contenus sont sauvegardés en mémoire par le programme d'interruption, à partir d'une adresse conventionnelle
appuyer de nouveau sur la touche GO, une seule instruction s'exécute… ainsi de proche en proche on peut mettre le programme au point.
On distingue sur le côté gauche les 2 connecteurs comportant chacun 2 rangées de 22 broches.
Le premier reçoit les signaux d'adresses, de données et de commande, ainsi que des signaux de pré décodage d'adresses il est utilisé pour étendre la mémoire par exemple
Le second reçoit les 16 signaux d'entrées/sorties d'un des circuits RRIOT pour réaliser des applications,.
Cette carte est aussi pourvue:
- d'une interface série boucle de courant 20 mA permettant la connexion a une télétype de type ASR 33, et dans la mesure ou ce terminal possède un perforateur/lecteur de ruban les programmes peuvent être sauvegardés et/ou relus depuis ou vers ce périphérique.
- d'une interface magnétophone pour enregistrer les programmes.
|