Description générale

La carte mère du 99/4A est de taille plutôt imposante: Avec ses dimensions de 40 cm sur 14,5 cm, l'implantation des composants est plutôt aérée. Elle est protégée par deux coques en métal afin de réduire les émissions de fréquences radio. Des dissipateurs thermiques sont présents sur le processeur vidéo et le générateur d'horloge TMS9904. La carte mère fait apparaître quelques pontages de dernière minute repérables par des fils électriques de couleur bleu (ce sont des fils de signaux +12V, +5V, masse et RESET).  Seuls cinq composants (trois GROM, le générateur d'horloge et le processeur vidéo) sont systématiquement montés sur des supports pour la régionalisation de l'appareil ou d'éventuelles mises à jour. Tous les autres composants sont généralement soudés, ce qui ne simplifie pas la maintenance de l'ordinateur.  L'électronique est alimentée en -5V, +5V et 12V par une carte indépendante.
L'architecture interne du TI-99/4A est particulièrement tourmentée.

Pour mieux comprendre, commençons par un schéma simplifié de l'organisation de la carte mère:

Note: Sur les deux photographies suivantes, pour gagner un clareté, les straps (fils bleus) ont été déssoudés et ressoudés sur la face inférieure de la carte mère.

Le CPU TMS9900:
Texas Instruments est une société pionnière dans le domaine des composants électroniques: Elle met au point, grâce à Jack Saint Clair, le premier circuit intégré en 1950. C'est avec le modèle TMS1000 (4 bits) qu'elle lance le microprocesseur sur le marché grand public: Aussitôt, de nombreux constructeurs intègrent ce composant dans des produits très divers allant de la calculatrice aux jeux vidéo. L'intégration est d'autant plus facile que le TMS1000 embarque de la RAM, une ROM, un support E/S et un circuit d'horloge. Mais revenons au TMS9900...
Sorti en juin 1976, il est le premier microprocesseur 16 bits. Le mini-ordinateur Texas Instruments 990 est le premier système à l'utiliser. Par la suite, viendront des équipements militaires et d'études.
Ce microprocesseur ne passe pas inaperçu avec ses 64 broches. L'avantage direct de ce choix technologique est qu'il évite le multiplexage, offrant ainsi une importante vitesse de traitement. Ce choix a eu aussi quelques inconvénients: La plupart des processeurs du marché ne disposent alors que de 40 à 42 broches, tout comme la majorité des testeurs de composants industriels. Tester un processeur aussi imposant que le 9900 est donc plus contraignant et onéreux.
Quelques particularités intéressantes du 9900: Il intègre des fonctions câblées (multiplication, division), une technologie NMOS, 69 instructions, 16 interruptions. Le bus de données et d'adressage sont sur 16 bits. Adressage mémoire de 64 Ko.

Intel proposera son microprocesseur 8086 peu de temps après la sortie TMS9900, qui devient très vite populaire dans sa version 8/16 bits (8088) puisqu'il est retenu pour équiper la première génération de compatibles IBM. il est regrettable que Texas Instruments n'ai eu plus de succès avec son puissant microprocesseur.

ROM, GROM, RAM, GRAM, VDP RAM, ...
Il est vrai que l'on s'y perdrait presque dans l'appellation de toutes ces mémoires! Pour résumer, la RAM et la ROM sont les mémoires qui sont directement accessibles par le TMS9900 contrairement à la VDP RAM , la GRAM et la GROM qui sont accessibles via le VDP.

La RAM (appellée ScratchPad RAM):
La ScratchPad RAM est la seule mémoire de l'ordinateur qui est directement accessible par le microprocesseur. Elle se compose de puces mémoire SRAM Motorola MCM6810 (128 x 8) qui, reliées en parallèle, forment un bus 16 bits nécessaire à la connexion directe sur le TMS9900. Normalement, cette mémoire (située aux adresses >8300-83FF) n'est pas destinée à l'utilisateur mais ce dernier peut malgré tout l'utiliser, il devra cependant sauvegarder au préalable son contenu dans une autre mémoire et la restaurer ensuite. Aucun logiciel niveau système devra être invoqué sous peine de blocage de l'ordinateur car certaines variables sont stockés dans cette mémoire et attendues à des adresses fixes.


La ROM:
La ROM du système comprend deux boîtiers TMS4732 de 4 Ko connectés en parallèle sur le bus 16 bits. Elle se situe dans la plage d'adresses >0000-1FFF. Les Logiciels en ROM sont le GPL (aux adresses >0024-08FF), les routines d'interruption (aux adresses >0900-0ABE), quelques utilitaires et l'interpréteur Basic TI-Basic dont  une partie seulement s'y trouve à partir de l'adresse  >18C8; le reste est situé dans la GROM interne.

La ROM Graphique (GROM):
La carte mère intègre 3 composants GROM PMOS TMC0430 montés sur support et reliés en parallèle sur le bus 8 bits. Ces composants requièrent les voltages +5V, -5V et -0.8V et sont cadencés à 447.443 KHz. Ce signal est généré par la broche n°37 du VDP.
Cette GROM située dans l'ordinateur contient une partie des routines système de l'ordinateur ainsi que la majeure partie du TI-Basic. Il existe différentes versions de la GROM 0: celle qui est datée de 1981 est la plus répandue car elle équipe la majorité des micro-ordinateurs TI-99/4A et 99/4A computer ; la GROM datée de 1983 (version 2.2) n'offre pas d'améliorations, elle a surtout l'inconvénient de brider l'usage de cartouches non agréées par Texas Instruments. La date de création de la GROM 0 est inscrite sur la puce.
La société Control Data, qui a produit des TI-99/4A sous licence, a modifié le contenu de la GROM 0 afin que l'écran d'accueil affichent son propre logo plutôt que celui de Texas Instruments.

Chaque GROM a une capacité de 8 Ko  mais seuls 6 Ko sont utilisés; L'ensemble des GROM installées sur la carte mère s'organisent de la façon suivante:
- GROM 0 (>0000-17FF) : Routines de démarrage, routines mathématiques, DSR de contrôleur K7. Nommée CD2155.
- GROM 1 (>2000-37FF) : Une partie de l'interpréteur Basic, table des vecteurs du langage Basic et messages d'erreur. Nommée CD2156.
- GROM 2 (>4000-57FF): Une partie de l'interpréteur Basic, mots réservés et valeurs Token. Nommée CD2157.
Le TI-99/4A peut recevoir un total de 8 GROM. Les GROM supplémentaires sont donc placées en >6000-F7FF par le biais de cartouches (Solid State Cartridge) qui viennent s'enficher dans le port GROM. 
Exemple: Contenu de la cartouche Extended basic:
- GROM 3 (>6000-77FF) : Une partie de l'interpréteur Basic étendu, table des vecteurs du langage Basic et messages d'erreur.
- GROM 4 (>8000-97FF) : Autre partie de l'interpréteur Basic étendu.
- GROM 5 (>A000-b7FF):  Autre partie de l'interpréteur Basic étendu.
- GROM 6 (>C000-D7FF): Dernière partie de l'interpréteur Basic étendu, mots réservés et valeurs Token.

Composant GROM TMC0430:

     ________
    |  |__|  |                               
 A7 |1     16| Vss (-0.8V)    
 A6 |2     15| GROM Ready
 A5 |3     14| Vdd (-5V)   
 A4 |4     13| GC (Horloge GROM)  
 A3 |5     12| M1 = Direction: LECTURE (niveau HAUT) ou ECRITURE (niveau BAS)  
 A2 |6     11| M0 = Mode d'accès à la GROM: COMPTEUR (niveau HAUT) ou DONNEES (niveau BAS)
  
 A1 |7     10| GROM Select    
 A0 |8      9| Vcc (+5V)    
    |________|           
                  

Lignes de contrôle:

| M0  |  M1 |
| A14 | DBIN|
|-----|-----|----------------------------------------------------------------------

|  0  |  0  | Ecriture de la ROM. Ne pas utiliser.
|-----|-----|----------------------------------------------------------------------
|  0  |  1  | Lecture des données de la GROM
|-----|-----|----------------------------------------------------------------------
|  1  |  0  | Ecriture de l'adresse dans le registre d'adresses de la GROM
|-----|-----|----------------------------------------------------------------------
|  1  |  1  | Lecture de l'adresse dans le registre d'adresses de la GROM


La VDP RAM (mémoire vidéo):
Elle se compose de 8 composants DRAM TMS4116 connectés au processeur vidéo qui dispose donc de 16 Ko de mémoire vive. Mais cette mémoire n'est pas totalement allouée à la gestion de l'affichage, une partie conséquente est destinée à la mémoire utilisateur. L'organisation de la VDP RAM n'est pas figée, elle peut changer selon le langage utilisé: TI Basic, TI Extended Basic, Mini Mémoire ou Editeur/Assembleur par exemple.

Au final : Une Organisation de la mémoire très particulière:

>0000-1FFF 8 Ko Interpréteur GPL, routines du système,  routines virgule flottante, vecteurs XMLINK et XOP, Vecteurs d'interruption, DSR ctrl de K7, etc. ROM 16 bits
>2000-3FFF 8 Ko Mémoire basse de l'extension 32 Ko RAM 8 bits
>4000-5FFF 8 Ko Gestion des accès aux périphériques du PEB (DSR) comme le contrôleur PIO/RS-232C, lecteur de disques, etc. ROM 8 bits
>6000-7FFF 8 Ko Mémoire située dans les cartouches "Solid State Software" ROM/RAM 8 bits
>8000-9FFF 768 octets
256 octets


1 Ko
1 Ko
1 Ko
1 Ko
1 Ko
1 Ko
1 Ko
>8000-82FF: ? (help!)
>8300-83FF: ScratchPad RAM

Gestionnaires Son, VDP, Speech Synthesizer, GROM:
>8400-87FF: Générateur de son.
>8800-8BFF: VDP (lecture)
>8C00-8FFF: VDP (écriture)
>9000-93FF: Speech Synthesizer (lecture)
>9400-97FF: Speech Synthesizer (écriture)
>9800-9BFF: GROM/GRAM (lecture)
>9C00-9FFF: GROM/GRAM (écriture)

RAM/ROM
16 bits


8 bits
8 bits
8 bits
8 bits
8 bits
8 bits
8 bits
>A000-FFFF 24 Ko Mémoire haute de l'extension 32 Ko RAM 8 bits
         


Le multiplexeur 16 bits -> 8 bits:
Seuls le microprocesseur, la ScratchPad RAM et la ROM sont connectés au bus de 16 bits. La VDP RAM, la GROM interne et la GROM intégrée aux cartouches, le processeur audio et les périphériques externes sont eux adressés sur un bus 8 bits. L'ordinateur dispose d'un circuit permettant de faire communiquer tout ce petit monde.

Le VDP  TMS9918A/9928A/9929A:
Cette série de VDP a été très appréciée des constructeurs de micro-ordinateurs, consoles de jeux et borne d'arcades de l'époque, citons notamment la ColecoVision, le CBS Adam,et les MSX 1 qui ont été dotés. Les principales caractéristiques graphiques sont:

- Affichage non entrelacé.
- Mode texte : 40 colonnes sur 24 lignes. Matrice de caractère de 6 x 8 pixels. Ce mode qui interdit l'usage des Sprites est le seul à ne disposer que d'une palette de 2 couleurs.
- Mode Haute résolution: 192 x 256 pixels en 16 couleurs.
- Mode Standard: 32 colonnes sur 24 lignes avec une matrice de caractère de 8 x 8. C'est le mode texte utilisé par le TI-99/4A.
- Mode Multicouleur: Un curieux mode dans lequel l'écran est formé d'une grille de 48 x 64 carrés. Chaque carré se compose donc de 4 x 4 pixels pour lequel une seule couleur parmi 16 peut être attribuée.
- Adressage de 4, 8 ou 16 Ko de DRAM
- Rafraîchissement automatique de la DRAM.
- Palette de 16 couleurs dont une transparente (en fait, 8 couleurs réelles avec deux niveaux d'intensité)
- 32 Sprites de 8 x 8 pixels avec gestion des collisions, de la vitesse et de la direction. Possibilité de «Magnifier» (grossir) la taille en 16 x 16 pixels. Quelques limitations toutefois:
- Une seule couleur peut être attribuée à un Sprite, les pixels non allumés du Sprite sont alors de couleur transparente.
- 4 Sprites au maximum peuvent utiliser le même groupe de lignes horizontales formant le Sprite; Si la position d'un cinquième Sprite vient à utiliser l'une de ces lignes, il sera masqué au niveau de cette ligne).

Le VDP est capable d'afficher des images bitmap de 256 x 192 pixels en 16 couleur. Ce mode graphique (le mode 2) est extrêmement gourmand en mémoire.   Chacun des 768 blocs qui composent l'écran peut contenir un pattern composé de 8 x 8 pixels et se voit attribué deux couleurs parmi 16 par ligne de pattern (8 octets d'information de couleur par pattern). Les trois tables du VDP qui permettent la gestion de l'écran sont la table de Noms d'une longueur de 768 octets, la table des Patterns d'une longueur de 6144 octets et la table des couleurs de même longueur.

PARSEC!
Le jeu «Parsec» est l'un des jeux qui exploite au mieux les possibilités du VDP TMS9918A.


Une autre réussite, le logiciel de dessin «TI-Artist».

Le VDP ayant tendance à chauffer de façon importante, un dissipateur thermique est donc plaqué contre celui-ci.
Le TMS9918A,  est une version améliorée et compatible du  TMS9918, il reprend d'ailleurs le même brochage. L'installation d'un TMS9918A à la place du TMS9918 sur un carte mère de TI-99/4 suffit à ce dernier pour profiter de la haute résolution; Cependant cette modification n'est pas suffisante pour transformer un TI-99/4 en TI-99/4A.
Le TMS9918A est destiné au marché américain (60Hz, signal composite NTSC), le TMS9929A au marché européen (50Hz, signaux Y, R-Y et B-Y ).
 

Le TMS9904 (ou 74LS362):
Le microprocesseur TMS9900 du TI-99/4A fonctionne à la cadence de 3 Mhz, cette fréquence est obtenue sur la carte mère par un circuit composé d'un générateur d'horloge et d'un quartz. Sur la première série de TI-99/4A, ce rôle est joué par un TMS9904 accompagné d'un quartz à 48 MHZ, ce générateur d'horloge divisant cette fréquence par 16.
Les TI-99/4A suivants, plus courants, recevront un quartz à 12 MHZ et une variante du TMS9904, le modèle "A" dont la particularité est de diviser la fréquence du quartz par 4.
 

VCC= 5V , VDD=12V


TMS9904


Le TMS9919 (ou SN94624N):
Ce processeur sonore 8 bits était plutôt puissant pour l'époque:
Il offre un 3 générateurs programmables (voies) sur 4 octaves, un générateur de bruit et la possibilité de régler le niveau sonore.  
Musique d'introduction de la cartouche Music Maker.

 
Musique (signée RushJet) extraite de la démo Light Year de Rasmus Moustgaard.

              ________
             |  |__|  |                               
          D2 |1     16| Vcc (+5V)    
          D1 |2     15| D3
          D0 |3     14| HORLOGE 
       READY |4     13| D4  
          WE |5     12| D5    
          CE |6     11| D6   
SORTIE AUDIO |7     10| D7   
       MASSE |8      9| N.C   
             |________|           
                  

 

Le TMS9901:
C'est le contrôleur d'Entrée/Sortie (E/S) du 99/4A. Il gère les intérruptions matérielles (VDP, cartes d'extensions, et clavier/télécommandes assisté dun 74LS156) mais a également en charge la gestion du port lecteurs de cassettes.

 

 


TMS9901

 

Communication vers le monde extérieur

La prise DB9 de raccordement au lecteur de cassette:
Elle permet de recevoir deux modèles de câbles proposés par Texas Instruments: Le premier est composé d'une prise DB9 et de cinq prises Jack pour permettre la liaison de deux lecteurs de cassettes à l'ordinateur (CS1 & CS2) alors que le second modèle, ne disposant que de trois prises Jack, limite l'installation à un seul lecteur de cassettes.

La prise DB9 pour  télécommandes:
Réservée aux manettes de jeux. Elle est située sur le côté gauche de l'ordinateur.

 

Connecteur pour Lecteur de K7

         

Connecteur pour Télécommandes(Joysticks)

1 Contrôle du moteur CS1 (+)
2 Contrôle du moteur CS1 (-)
3 Sortie son CS1 ou CS2 (-)
4
5 Sortie son CS1 ou CS2 (+)
6 Contrôle du moteur CS2 (+)
7 Contrôle du moteur CS2 (-)
8 Entrée son CS1 (+)
9 Entrée son CS1 (-)

          1 Sans
2 Joystick N°2
3 Haut
4 Bouton de tir
5 Gauche
6 Sans
7 Joystick N°1
8 Bas
9 Droite
 

 

La prise Audio/Vidéo:
De type DIN. Ce connecteur varie selon le pays dans lequel l'ordinateur est utilisé: USA ou Europe. Voici l'assignation des broches, vue côté câble:

Câble vidéo version US (prise DIN5 mâle)

         

Câble vidéo version EU (prise DIN6 mâle)

1 Commutateur rapide 12V
2 Masse
3 Sortie son
4 Sortie vidéo composite
5 Masse signal
          1 Commutateur rapide 12V
2 R-Y
3 Sortie audio
4 Y / Synchro
5 B-Y
6 Masse

 

Le port GROM (cartouche)
Ce port permet d'utiliser les programmes en GROMs/ROMs/GRAMs contenus dans les cartouches Solid State Software

Désignation

Broches

Désignation

       
Masse   35 36  Masse
GGND (Masse GROM)-0,7V/Masse sur derniers modèles)   33 34  ROM Select
GRDY (GROM READY)   31 32  WE- (Ecriture activée)
-5V   29 30  A4 (ligne d'adresse)
GCLK (Horloge GROM)   27 28  A5 (ligne d'adresse)
DBIN   25 26  A6 (ligne d'adresse)
A14 (ligne d'adresse)   23 24  A3 (ligne d'adresse)
GCS- (Sélection GROM)   21 22  A7 (ligne d'adresse)
+5V   19 20  A8 (ligne d'adresse)
D0(bus de données), MSB   17 18  A9 (ligne d'adresse)
D1(ligne de données)   15 16  A10 (ligne d'adresse)
D2(ligne de données)   13 14  A11 (ligne d'adresse)
D3 (ligne de données)   11 12  A12 (ligne d'adresse)
D4 (ligne de données)   09 10  A13 (ligne d'adresse)
D5(ligne de données)   07 08  A15 (LSB) / CRU OUT
D6 (ligne de données)   05 06  CRU IN (non connecté sur les TI-99/4QI)
D7 (ligne de données), LSB   03 04  Horloge CRU -
CRS (Reset)   01 02  GND (Masse)
 
OUT IN I/O
 
 

Le branchement de la broche #1 (CRS) à la broche #29 (-5v) provoque un RESET du système. Cette action est générée si l'on insère cartouche alors que l'ordinateur est en fonctionnement.
Sur le connecteur en 'L' enfiché dans le port GROM de la carte mère, le sens des assignations est inversé ( broche #1 = broche #2)
 

Note: Sur certaines cartes mère, les composants de Texas Instruments peuvent apparaître sous d'autres marques qui les ont produit sous licence comme AMI par exemple: Le composant AMI S9900P remplace le TMS9900 et l'AMI S9901P remplace le TMS9901.

Liste des opérations internes effectuées à la mise sous tension de l'ordinateur:
Remise à zéro du processeur TMS9900
Initialisation du 9900
Préparation de l'espace de travail des registres dans la ScratchPad RAM
Lecture des GROMs
Initialisation puis désactivation du TMS9919
Initialisation de TMS9918
Initialisation et vidage de la VRAM (1 seconde)
Affichage du menu d'accueil
Emission d'un Beep par le TMS9919
Routine de scrutation du clavier

 

Menu d'accueil du 99/4Menu d'accueil du 99/4A


Ecran d'accueil du TI-99/4A


Menu d'accueil du TI-99/4


...et celui du 99/4A (cartouche 'Mini Memory' insérée)

 



Contenu de ce site ©1999-2019 Fabrice Montupet