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)
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 |
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)
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.
Cette commutation passe par le 6846 système. Le bit 4 du PRC situé en E7C3 selectionne la banque de ROM moniteur (2pages).
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
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
E7C1 - CRC
E7C3 - PRC
CRC:
PRC:
E7C8 - PORTA ou DDRA
E7C9 - PORTB ou DDRB
E7CA - CRA
E7CB - CRB
PORTA:
PORT B:
DDRB:
CRB:
E7CC - PORTA ou DDRA
E7CD - PORTB ou DDRB
E7CE - CRA
E7CF - CRB
PORTA:
PORTB:
CRA:
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 :