Informations sur l'architecture interne du TO8

Ces informations proviennent de diverses sources, en premier lieu la revue spécialisée Thomson TEOphile (disparue vers la fin des années 80). Ensuite le désassemblage de la ROM du TO8.
Les dernières informations m'ont été apportées par Alexandre Pukal
(E7E6 - BORDER - DISK)

I - Organisation de la mémoire

I.1 Carte mémoire (espace d'adressage du 6809)

Debut Fin Taille Description
0000 3FFF 16ko ROM1
4000 5FFF 8ko VRAM (video RAM)
6000 BFFF 16ko RAM1 (Fixe)
A000 DFFF 16ko RAM2 (fenêtre de RAM paginée)
E000 FFFF 8ko ROM2 (Moniteur)
E000 E7FF - accès aux périphériques

I.2 Organisation des banques :

ROM1 est composé de 4 banques de 16ko

VRAM est composé de 2 banques de 8ko (appelée forme et couleur pour des raisons historiques)

RAM1 n'a pas de banques

RAM2 est composé de 14 (TO8 de 256ko) à 30 banques (TO8 de 512ko) de 16ko

ROM2 est composé de 2 banques de 8ko partiellement accessibles (la fenêtre d'accès aux périphériques)

I.3 Commutation des banques de RAM2:

Il existe 2 modes de commutation (pour conserver la compatibilité TO7/70 et TO9).Le bit 4 du registre $E7E7 détermine le mode (1 mode registre /0 mode PIA)

Mode registre (mode normal)

Elle se fait par écriture dans le registre (8bits) $E7E5. La premiere page porte le numéro 2.

Mode PIA (mode compatible TO7/70 et TO9)

Seules 6 banques sont accessibles dans ce mode. Les bits 3 à 7 du registre de direction du port B (DDRB) effectuent cette commutation.

exemple : (Le numero de la banque est dans le registre A)

RCOM 		EQU 	$E7CB 	registre commande
RDIR EQU $E7C9 registre direction
TABANK FCB $0f,$17,$e7,$67,$a7,$27 COMMUT PSHS D,X
LDB RCOM
ANDB #$FB
STB RCOM
LDX #TABANK
LDA A,X
STA RDIR
ORB #$04
STB RCOM
PULS D,X
RTS

Rem : Les numéros des banques ne se correspondant pas dans les 2 modes.

I.4 Commutation des banques de ROM2:

Cette commutation passe par le 6846 système. Le bit 4 du PRC situé en E7C3 selectionne la banque de ROM moniteur (2pages).

I.5 Commutation des banques de ROM1:

Le mécanisme principal consiste à tenter d'écrire dans la ROM. Une écriture à l'adresse 0000 commute la banque 0, une écriture à l'adresse 0001 commute la banque 1, etc...

De plus, le bit 2 du PRC situé en E7C3 effectue la selection entre la cartouche et la ROM interne

Enfin le registre E7E6 du Gate Mode Page permet de venir mapper une banque de RAM dans cet emplacement

I.6 Selection des pages de VRAM

La sélection se fait par le bit 0 du PIA système situé en E7C3

Le mode d'affichage se selectionne par une écriture dans le Gate Array à l'adresse E7DC


II Les Ports du TO8

II.1 6846 système

E7C1 - CRC
E7C3 - PRC

CRC:

PRC:

II.2 PIA système 6821

E7C8 - PORTA ou DDRA
E7C9 - PORTB ou DDRB
E7CA - CRA
E7CB - CRB

PORTA:

PORT B:

DDRB:

CRB:

II.3 PIA interface manette

E7CC - PORTA ou DDRA
E7CD - PORTB ou DDRB
E7CE - CRA
E7CF - CRB

PORTA:

PORTB:

CRA:

II.4 Les circuits "Gate Array"

E7E5 - GE7E5
E7E6 - GE7E6
E7E7 - GE7E7

GE7E5:

GE7E6:

GE7E7:

E7DA - P_WRITE
E7DB - P_INDEX
E7DC - G_MODE
E7DD - BORDER

P_INDEX : registre d'index de modification de palette (0-31)

P_WRITE : registre d'écriture dans la palette

G_MODE : Mode graphique

BORDER :