[Thomson] Le Gate array des TO

Cette catégorie traite de développements récents pour nos vieilles machines, applications, jeux ou démos... Amis programmeurs, c'est ici que vous pourrez enfin devenir célèbres!

Modérateurs : Papy.G, fneck, Carl

Avatar de l’utilisateur
jb_jb_fr
Messages : 391
Inscription : 29 mars 2010 10:36
Localisation : Essonne (91)
Contact :

[Thomson] Le Gate array des TO

Message par jb_jb_fr »

Bonsoir à tous

Venant à l'instant de faire une découverte majeur, je vous en fait part.

Je suis en train d'adapter OS9 sur TO9+.
L'opération semblait simple vu que je l'ai déja fait sur MO5 et sur MO6.
L'avantage d'avoir travaillé sur le MO6, c'est que le Gate Array est presque le même que sur le TO9P
Donc bettement, dans mon code, j'ai remplacé toutes les adresses $A7xx par $E7xx
Vu que ce sont les adresses du Gate Array mais aussi des periphériques.

Et donc je commence mes essais, et.... rien :(
Je rajoute des affichages en RS232, et ..... rien :cry: :cry:
Je décide des le départ de changer le tour de l'écran en bleu pour voir si ca démarre bien, et ..... rien :evil: :evil:

Bon comme vraiment rien ne marche, et que bien sur j'avais remis la ROM d'origine qui marchait tres bien, je décide de désassembler le code de démarrage du TO9
Et qu'est-ce que je vois :

Code : Tout sélectionner

0 0 2 $0000FDF8 >e
0 0 2 $0000FDA0    ORCC  #$50                  /
0 0 2 $0000FDA2    LDA   #$4B                  /
0 0 2 $0000FDA4    STA   >$E7FE                /
0 0 2 $0000FDA7    CLR   >$E7E6                /
0 0 2 $0000FDAA    LDB   #$60                  /
0 0 2 $0000FDAC    TFR   B,DP                  /
0 0 2 $0000FDAE    LDS   #$60CC                /
0 0 2 $0000FDB2    LDA   #$D4                  /
0 0 2 $0000FDB4    LDU   .$FE                  /
0 0 2 $0000FDB6    CMPU  #$A55A                /
0 0 2 $0000FDBA    BEQ   >$FDD2                /
0 0 2 $0000FDBC    CMPU  #$A559                /
0 0 2 $0000FDC0    BEQ   >$FDD2                /
0 0 2 $0000FDC2    STA   >$A7E7                / <<---- ICI
0 0 2 $0000FDC5    LDU   #$6000                /
0 0 2 $0000FDC8    CLR   ,U+                   /
Il y a une ecriture a l'adresse $A7E7! dans une zone MO :!:

Argh, le Gate Array démarre en mode MO et pas en mode TO :shock: :shock:

Il faut donc au démarrage, écrire à une adresse MO, pour configurer le GateArray en mode TO, pour acceder aux périphériques situé aux adresses $E7xx

C'est pas marqué dans les doc COFADEL ce genre de truc!

Maintenant je n'ai plus qu'a remettre mon code d'applombs et reprendre proprement la ou j'en étais.

Jacques
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [Thomson] Le Gate array des TO

Message par __sam__ »

Attention au niveau des adresses $E7xx <-> $A7xx. Elles ne sont pas toutes équivalentes. Le port A du PIA système dont le bit b0 détermine la page mémoire forme ou couleur est en $A7C0 sur MO mais en $E7C3 sur TO.

A noter:
* le même code de démarrage est présent sur TO8 mais absent du TO9 dont le gate-array est différent.
* peu après l'écriture en $A7E7, la même valeur est écrite en $E7E7. Je crois que $D4 revient à selectionner le controlleur disk interne. Et d'ailleurs le code qui suit l'écriture en $E7E7 effectue un checksum de $E000-$E003 pour voir si la ROM floppy est bien présente.

Dans tous les cas, ce sera cool de voir OS9 sur TO9+. Il y a plein de RAM là dedans 8)
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Avatar de l’utilisateur
jb_jb_fr
Messages : 391
Inscription : 29 mars 2010 10:36
Localisation : Essonne (91)
Contact :

Re: [Thomson] Le Gate array des TO

Message par jb_jb_fr »

__sam__ a écrit : * peu après l'écriture en $A7E7, la même valeur est écrite en $E7E7. Je crois que $D4 revient à selectionner le controlleur disk interne. Et d'ailleurs le code qui suit l'écriture en $E7E7 effectue un checksum de $E000-$E003 pour voir si la ROM floppy est bien présente.
C'est exact pour les 2 points. Mais pour l'instant je vais, sous OS9, me cantonner a utiliser que le drive interne. Quand a determiner si la ROM Floppy est la, est inutile, car comme je reste en interne, la zone de soft floppy, fait partie de la ROM IW12, et donc sera forcement présente.
__sam__ a écrit : Dans tous les cas, ce sera cool de voir OS9 sur TO9+. Il y a plein de RAM là dedans 8)
Je vais utiliser cette RAM pour faire un disque virtuel, car la version d'OS9 qui gere plus de 64K de RAM (OS9 Level 2 pour CoCo) est costaud! J'ai commencé à bosser dessus, et pour l'instant je me casse les dents. Donc je vais faire simple au debut : le même noyau que sur MO5/MO6, et faire un disque virtuel de 448 Ko

Jacques
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] Le Gate array des TO

Message par Daniel »

Les TO8, TO8D et TO9+ ont tous cette instruction d'écriture en $A7E7. J'ai beaucoup cherché son utilité, et je n'ai toujours pas trouvé. C'est probablement une erreur.

Sinon, il y a effectivement pas mal de différences entre les MO et TO dans les entrées/sorties, mais ça concerne essentiellement le PIA système et la lecture du clavier. C'est totalement indépendant de l'écriture en $A7E7.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
jb_jb_fr
Messages : 391
Inscription : 29 mars 2010 10:36
Localisation : Essonne (91)
Contact :

Re: [Thomson] Le Gate array des TO

Message par jb_jb_fr »

Bonjour
Daniel a écrit :Les TO8, TO8D et TO9+ ont tous cette instruction d'écriture en $A7E7. J'ai beaucoup cherché son utilité, et je n'ai toujours pas trouvé. C'est probablement une erreur.
Non justement Daniel ca n'est pas une erreur
Et c'est la que j'ai coincé. Les registres du Gate array, sur le TO9,au demarrage sont vue en A7Ex et pas en E7Ex
Donc le GateArray au demarrage est en mode MO et pas en mode TO!!
Donc faut ecrire $D4 pour passer en mode TO, et donc voir les registres aux bonnes addresses : $E7Ex

C'est ca le truc!

Jacques
Avatar de l’utilisateur
gilles
Messages : 2779
Inscription : 07 août 2008 13:44
Localisation : Nantes
Contact :

Re: [Thomson] Le Gate array des TO

Message par gilles »

il me semble qu'il y a d'autres subtilités sur ce registre, comme un possible passage en mode 60Hz ou la configuration de RAM.
C'est un registre de configuration, seul un bit configure le mode TO/MO.

Je pense qu'il y a une logique à ça. Ce chip possède un reset mais rien d'extérieur précisant si c'est un MO ou un TO. Le bit est donc soit dans un état indéterminé (il faut donc écrire aux 2 emplacements), soit spécifiquement dans un mode.
Répondre