source: vital-to8-sdk/docs/TO8HARD.HTM

Last change on this file was 1, checked in by svn, 5 years ago

Import initial

File size: 7.5 KB
Line 
1<HTML>
2<HEAD>
3  <TITLE>La page du hardware TO8</TITLE>
4</HEAD>
5<BODY BGCOLOR="#ffffb0">
6<H2>
7  Informations sur l'architecture interne du TO8
8</H2>
9<P>
10Ces informations proviennent de diverses sources, en premier lieu la revue
11sp&eacute;cialis&eacute;e Thomson TEO<I>phile</I> (disparue vers la fin des
12ann&eacute;es 80). Ensuite le d&eacute;sassemblage de la ROM du TO8.<BR>
13Les derni&egrave;res informations m'ont &eacute;t&eacute; apport&eacute;es
14par Alexandre Pukal<BR>
15(E7E6 - BORDER - DISK)
16<H2>
17  I - Organisation de la m&eacute;moire
18</H2>
19<P>
20<H3>
21  I.1 Carte m&eacute;moire (espace d'adressage du 6809)
22</H3>
23<P>
24<TABLE BORDER CELLPADDING="2">
25  <TR>
26    <TD>Debut</TD>
27    <TD>Fin</TD>
28    <TD>Taille</TD>
29    <TD>Description</TD>
30  </TR>
31  <TR>
32    <TD>0000</TD>
33    <TD>3FFF</TD>
34    <TD>16ko</TD>
35    <TD>ROM1</TD>
36  </TR>
37  <TR>
38    <TD>4000</TD>
39    <TD>5FFF</TD>
40    <TD>8ko</TD>
41    <TD>VRAM (video RAM)</TD>
42  </TR>
43  <TR>
44    <TD>6000</TD>
45    <TD>BFFF</TD>
46    <TD>16ko</TD>
47    <TD>RAM1 (Fixe)</TD>
48  </TR>
49  <TR>
50    <TD>A000</TD>
51    <TD>DFFF</TD>
52    <TD>16ko</TD>
53    <TD>RAM2 (fen&ecirc;tre de RAM pagin&eacute;e)</TD>
54  </TR>
55  <TR>
56    <TD>E000</TD>
57    <TD>FFFF</TD>
58    <TD>8ko</TD>
59    <TD>ROM2 (Moniteur)</TD>
60  </TR>
61  <TR>
62    <TD>E000</TD>
63    <TD>E7FF</TD>
64    <TD>-</TD>
65    <TD>acc&egrave;s aux p&eacute;riph&eacute;riques</TD>
66  </TR>
67</TABLE>
68<P>
69<H3>
70  I.2 Organisation des banques :
71</H3>
72<P>
73<P>
74ROM1 est compos&eacute; de 4 banques de 16ko
75<UL>
76  <LI>
77    Banque 0 : Basic 512 Part I
78  <LI>
79    Banque 1 : Basic 512 Part II
80  <LI>
81    Banque 2 : Basic 1.0
82  <LI>
83    Banque 3 : Exploitation de fichiers
84</UL>
85<P>
86VRAM est compos&eacute; de 2 banques de 8ko (appel&eacute;e forme et couleur
87pour des raisons historiques)
88<P>
89RAM1 n'a pas de banques
90<P>
91RAM2 est compos&eacute; de 14 (TO8 de 256ko) &agrave; 30 banques (TO8 de
92512ko) de 16ko
93<P>
94ROM2 est compos&eacute; de 2 banques de 8ko partiellement accessibles (la
95fen&ecirc;tre d'acc&egrave;s aux p&eacute;riph&eacute;riques)
96<P>
97<H3>
98  I.3 Commutation des banques de RAM2:
99</H3>
100<P>
101<P>
102Il existe 2 modes de commutation (pour conserver la compatibilit&eacute;
103TO7/70 et TO9).Le bit 4 du registre $E7E7 d&eacute;termine le mode (1 mode
104registre /0 mode PIA)
105<P>
106<P>
107<B>Mode registre (mode normal)</B>
108<P>
109Elle se fait par &eacute;criture dans le registre (8bits) $E7E5. La premiere
110page porte le num&eacute;ro 2.
111<P>
112<B>Mode PIA (mode compatible TO7/70 et TO9)</B>
113<P>
114Seules 6 banques sont accessibles dans ce mode. Les bits 3 &agrave; 7 du
115registre de direction du port B (DDRB) effectuent cette commutation.
116<P>
117exemple : (Le numero de la banque est dans le registre A)
118<PRE>RCOM               EQU     $E7CB   registre commande<BR>RDIR               EQU     $E7C9   registre
119direction<BR>TABANK             FCB     $0f,$17,$e7,$67,$a7,$27
120COMMUT          PSHS    D,X<BR>                 LDB     RCOM<BR>                ANDB    #$FB<BR>                STB     RCOM<BR>                LDX     #TABANK<BR>             LDA     A,X<BR>         STA     RDIR<BR>                ORB     #$04<BR>                STB     RCOM<BR>                PULS    D,X<BR>         RTS
121</PRE>
122<P>
123<P>
124Rem : Les num&eacute;ros des banques ne se correspondant pas dans les 2 modes.
125<P>
126<H3>
127  I.4 Commutation des banques de ROM2:
128</H3>
129<P>
130<P>
131Cette commutation passe par le 6846 syst&egrave;me. Le bit 4 du PRC situ&eacute;
132en E7C3 selectionne la banque de ROM moniteur (2pages).
133<P>
134<H3>
135  I.5 Commutation des banques de ROM1:
136</H3>
137<P>
138<P>
139Le m&eacute;canisme principal consiste &agrave; tenter d'&eacute;crire dans
140la ROM. Une &eacute;criture &agrave; l'adresse 0000 commute la banque 0,
141une &eacute;criture &agrave; l'adresse 0001 commute la banque 1, etc...
142<P>
143De plus, le bit 2 du PRC situ&eacute; en E7C3 effectue la selection entre
144la cartouche et la ROM interne
145<P>
146Enfin le registre E7E6 du Gate Mode Page permet de venir mapper une banque
147de RAM dans cet emplacement
148<H3>
149  I.6 Selection des pages de VRAM
150</H3>
151<P>
152<P>
153La s&eacute;lection se fait par le bit 0 du PIA syst&egrave;me situ&eacute;
154en E7C3
155<UL>
156  <LI>
157    1 -&gt; forme
158  <LI>
159    0 -&gt; couleur
160</UL>
161<P>
162Le mode d'affichage se selectionne par une &eacute;criture dans le Gate Array
163&agrave; l'adresse E7DC
164<UL>
165  <LI>
166    5A - Mode compatible (40 colonnes)
167  <LI>
168    5B - Mode 80 colonnes
169  <LI>
170    59 - Mode Bitmap 4
171  <LI>
172    5941 - Mode Bitmap 4 sp&eacute;cial
173  <LI>
174    48 - Mode Page1 / 49 - Mode Page 2
175  <LI>
176    4A - 4B - Mode Overlay
177  <LI>
178    5E - Mode Bitmap 16
179  <LI>
180    88-89-8A-8B - Mode Triple Overlay
181</UL>
182<P>
183  <HR>
184<H2>
185  II Les Ports du TO8
186</H2>
187<P>
188<H3>
189  II.1 6846 syst&egrave;me
190</H3>
191<P>
192E7C1 - CRC<BR>
193E7C3 - PRC
194<P>
195CRC:
196<UL>
197  <LI>
198    bit2 : Sortie Son 1bit
199  <LI>
200    CP1 : request clavier
201  <LI>
202    CP2 : Mute son pour souris
203</UL>
204<P>
205PRC:
206<UL>
207  <LI>
208    bit0(E/S) : Selection page VRAM (Forme/Fond)
209  <LI>
210    bit2(Sortie) : S&eacute;lection Cartouche/Basic
211  <LI>
212    bit3(Entr&eacute;e) : Reflet LED clavier
213  <LI>
214    bit4(Sortie) : S&eacute;lection banque ROM moniteur
215  <LI>
216    bit5(Entr&eacute;e) : Ack liaison clavier
217  <LI>
218    bit6(Entr&eacute;e) : Busy imprimante
219</UL>
220<P>
221<H3>
222  II.2 PIA syst&egrave;me 6821
223</H3>
224<P>
225<P>
226E7C8 - PORTA ou DDRA<BR>
227E7C9 - PORTB ou DDRB<BR>
228E7CA - CRA<BR>
229E7CB - CRB
230<P>
231PORTA:
232<UL>
233  <LI>
234    bit0 : Keytest
235  <LI>
236    bit1-7 : D1 &agrave; D7 de l'imprimante
237</UL>
238<P>
239PORT B:
240<UL>
241  <LI>
242    bit0 : D0 de l'imprimante
243  <LI>
244    bit1 : strobe de l'imprimante
245  <LI>
246    bit2 : commande d'incrustation
247</UL>
248<P>
249DDRB:
250<UL>
251  <LI>
252    bit3-7 : S&eacute;lection banque RAM (mode compatible TO7/70 et TO9)
253</UL>
254<P>
255CRB:
256<UL>
257  <LI>
258    CB1 : signal code barre
259</UL>
260<P>
261<H3>
262  II.3 PIA interface manette
263</H3>
264<P>
265<P>
266E7CC - PORTA ou DDRA<BR>
267E7CD - PORTB ou DDRB<BR>
268E7CE - CRA<BR>
269E7CF - CRB
270<P>
271PORTA:
272<UL>
273  <LI>
274    bit0-3 : Direction Joy0 D,G,B,H (1 au repos)
275  <LI>
276    bit4-7 : Direction Joy1
277</UL>
278<P>
279PORTB:
280<UL>
281  <LI>
282    bit0-5 : Convertisseur num&eacute;rique -&gt; analogique (son)
283  <LI>
284    bit6 : Fire Joy0 (1au repos)
285  <LI>
286    bit7 : Fire Joy1
287</UL>
288<P>
289CRA:
290<UL>
291  <LI>
292    CRA1 est reli&eacute; au Fire Joy0
293  <LI>
294    CRA2 est reli&eacute; au Fire Joy1
295</UL>
296<P>
297<H3>
298  II.4 Les circuits "Gate Array"
299</H3>
300<P>
301<P>
302E7E5 - GE7E5<BR>
303E7E6 - GE7E6 <BR>
304E7E7 - GE7E7
305<P>
306GE7E5:
307<UL>
308  <LI>
309    bit0-4: s&eacute;lection banque ram
310</UL>
311<P>
312GE7E6:
313<UL>
314  <LI>
315    bit 4,3,2,1,0 : num&eacute;ro de page RAM utilis&eacute;e dans l'espace cartouche
316    ( de 0 a 31 )
317  <LI>
318    bit 5 : bit de s&eacute;lection de l'espace cartouche<BR>
319    0 l'espace cartouche n'est pas recouvert par de la RAM<BR>
320    1 l'espace cartouche est recouvert par de la RAM dont le num&eacute;ro est
321    donn&eacute; par les bits 4 &agrave; 0
322  <LI>
323    bit 6 : bit de protection en &eacute;criture dans la page RAM
324    s&eacute;lectionn&eacute;e lorsque l'espace cartouche est recouvert pas cette
325    m&ecirc;me page de RAM. ( bit 5 = 1 ). C'est ce qui permet de passer les
326    cartouches MEMO7 en disquettes et de les lancer avec l'option 4 du menu du
327    TO8.<BR>
328    0 &eacute;criture impossible<BR>
329    1 &eacute;criture autoris&eacute;e
330  <LI>
331    bit 7 toujours &agrave; 0
332</UL>
333<P>
334GE7E7:
335<UL>
336  <LI>
337    bit4 : Selection mode commutation RAM (0 Mode PIA/1 Mode registre)
338  <LI>
339    bit5 : Selection 50/60Hz
340  <LI>
341    bit7 : Synchro Trame
342</UL>
343<P>
344<P>
345E7DA - P_WRITE<BR>
346E7DB - P_INDEX<BR>
347E7DC - G_MODE<BR>
348E7DD - BORDER
349<P>
350P_INDEX : registre d'index de modification de palette (0-31)
351<P>
352P_WRITE : registre d'&eacute;criture dans la palette
353<P>
354G_MODE : Mode graphique
355<P>
356BORDER :
357<UL>
358  <LI>
359    bit0 &agrave; 3: couleur &agrave; utiliser pour le pourtour de l'&eacute;cran
360  <LI>
361    bit7 et bit6 : Page de Ram utilis&eacute;e pour l' affichage<BR>
362    00 - systeme normal type TO7<BR>
363    01 - RAM1 <BR>
364    10 - Bank 1<BR>
365    11 - Bank 2
366</UL>
367<P>
368</BODY></HTML>
Note: See TracBrowser for help on using the repository browser.