DCMOTO - Emulateur universel Thomson 8 bits : Forum - Programmes et jeux - problème JANE sur MO5E/NR/MO6/PC128
Pages : 1 - 2
Auteur Message
Xavier
Visiteur
Date : 01/05/2005 à 20h25
Bonjour,


J'ai voulu brancher la cartouche rom JANE sur le MO6 que j'ai récupéré.

Quand on sélectionne alors le menu "Jane 0", le MO6 plante... (traits de couleurs aléatoires brouillant l'affichage)

C'est la seule cartouche que j'ai et qui ne marche pas sur MO6.


C'est normal? Ou ça dépend encore de la version du MO6?


Suite à cette bizarrerie, j'ai voulu tester sur émulateur (DCMOTO 8.4 et 9.0).
Avec MO5, tout marche bien :)
Avec MO5E, MO5NR, MO6 et PC128, on peut lancer la cartouche (donc ça ne plante pas)
Par contre, il y a des petits bugs...

Je pense que Jane utilise sa propre routine d'affichage de caractères accentués (car avec Jane, on peut accentuer n'importe quoi et n'importe comment, même des consonnes!)

Sur MO5E, MO5NR, MO6 et PC128, dans les boîtes de dialogues (par exemple "insérer la disquette système") il y a des problèmes dans l'affichage des caractères après le caractère accentué.

Sur MO5E les caractères sont alors décalés d'1 ligne vers le haut (et la 8ème ligne affiche quelque chose... même caractère en boucle? 1ère ligne du caractère caractère suivant car pointeur décalé?...)

Sur MO5NR, MO6 et PC128, l'anomalie est beaucoup plus fragrante: après le caractère accentué, tous les caractères sont brouillés, affichant n'importe quoi... (je ne sais pas sur quoi ça pointe, mais c'est sûrement pas là où il faut...)


Toutes informations bienvenues! (si vous avez un MO5E, MO5NR, MO6 ou PC128 et la cartouche JANE...)
en haut - en bas
Daniel
Visiteur
Date : 02/05/2005 à 07h22
La cartouche Jane fait appel à des routines et des tables en ROM. Les adresses sont différentes d'une machine à l'autre. C'est pourquoi elle ne peut fonctionner qu'avec un MO5.

Daniel
en haut - en bas
Xavier
Visiteur
Date : 02/05/2005 à 08h17
Merci.

Il est quand même remarquable que ça ne marche pas sur un vrai MO6, et que ça marche "presque" avec DCMOTO! Ton émulateur, il est mieux qu'un vrai MO6!
en haut - en bas
Daniel
Visiteur
Date : 02/05/2005 à 08h36
Il faudrait essayer avec d'autres MO6. Parmi les 3 versions de rom connues, celle qui est utilisée par dcmoto donne peut-être de meilleurs résultats. Mais l'affichage des caractères ne sera jamais correct, car la table n'a pas la même adresse dans la rom MO5.

Daniel
en haut - en bas
Fool-DupleX
Visiteur
Date : 02/05/2005 à 09h21
Il n'y a pas que cela. Jane est une cartouche de 64 Ko de ROM en 4 banques de 16 Ko, avec l'electronique embarquee pour commuter les pages. Est-ce que DCMOTO emule cela correctement ? Le mecanisme de commutation est double : il utilise la technique "Extension 64K Nanoreseau" qui fait appel au registre A7CB, ainsi que la technique "TO7/70" qui consiste a aller lire les registres (transpose au mo5) BFFC, BFFD, BFFE et BFFF pour realiser la commutation. En fait les deux font la meme chose. Il y a deux raisons possibles a cela : soit l'extension 64 Ko nanoreseau etait utilisee pour les developpements, soit une compatibilite avec cette cartouche (par exemple avec Jane sur disquette 3"1/2) etait prevue.

J'ajoute que Jane detourne de maniere interessante les differentes interruptions pour realiser un petit noyau multitache qui gere le curseur du crayon optique ainsi que le fenetrage. Du joli travail. Par ailleurs, si vous regardez bien, vous constaterez que Jane possede plusieurs polices de caracteres, l'usage de la table en ROM est en fait presque anecdotique.

Jane n'est pas la seule cartouche a embarquer de l'electronique supplementaire. Si on voulait etre orthogonal, il faudrait que les fichiers images de cartouches ne contiennent pas seulement le binaire de la ROM mais egalement un plug-in qui emule l'electronique en question.

Fool
en haut - en bas
Daniel
Visiteur
Date : 02/05/2005 à 10h31
DCMOTO émule les deux mécanismes de commutation de banques de cartouche. Il commute si on modifie A7CB (y compris l'extension de A7CB pour OS-9), et il commute aussi quand on lit BFFx.

Ce qu'on peut lui reprocher, c'est d'en faire trop : il émule le commutateur hard même si la cartouche n'en est pas équipée. Mais, à ma connaissance, toutes les cartouches MO de plus de 16K ont ce dispositif.

La compatibilité avec l'extension mémoire 64K est bien pratique sur MO6 pour ceux qui n'ont pas la vraie cartouche (c'est mon cas). On peut faire comme sur TO8 avec des CHG

Daniel
en haut - en bas
Fool-DupleX
Visiteur
Date : 02/05/2005 à 10h43
Sur MO5E, la cartouche Jane devrait theoriquement fonctionner normalement (sauf peut-etre les accents), les developpements sous OS-9 n'ont pas montre de difference significative avec le MO5 standard.

Qu'est-ce qui ne va pas sur le MO6 d'apres toi Daniel ? Est-ce le registre A7CB, un conflit avec les banques memoire, est-ce la gestion particuliere du crayon optique via les interruptions ? le qdd (je ne crois pas, car Jane fonctionne de maniere transparente sur 3"1/2, donc ca sous-entend qu'il utilise les appels standard) ?

Toujours est-il que cette cartouche ne fonctionne pas sur mo6, ca j'avais deja pu le verifier aussi.

Fool
en haut - en bas
Daniel
Visiteur
Date : 02/05/2005 à 11h51
Fool-DupleX a écrit :
Qu'est-ce qui ne va pas sur le MO6 d'apres toi Daniel ?

Je n'ai pas eu le courage de désassembler la cartouche pour savoir exactement quel est le problème. Je suppose que Jane accède à des tables et/ou des routines du moniteur MO5 en spécifiant directement leur adresse.

Une autre piste : le moniteur MO6 est contenu dans deux banques mémoire. Jane ne doit pas savoir les commuter.

Mais ce sont uniquement des supputations, un bon moyen de savoir serait de désassembler avec le debugger de dcmoto

Daniel
en haut - en bas
Fool-DupleX
Visiteur
Date : 02/05/2005 à 12h04
J'ai deja desassemble la premiere banque de Jane il y a 2-3 ans en arriere. Tous les appels au moniteur se font dans les regles avec SWI. Mais Jane en utilise relativement peu : affichage de caracteres, son, clavier et disquette. Je crois que le crayon optique utilise ses propres routines.

Jane a aussi un mecanisme d'overlays en RAM pour les differents modules (write, calc, base et help) pas mal fichu, mais je ne vois rien la-dedans qui puisse poser probleme.

La commutation de l'extra-moniteur est une piste interessante.

Fool
en haut - en bas
Xavier
Visiteur
Date : 02/05/2005 à 22h01
Pour répondre à une question de Fool-Duplex, j'ai réessayé JANE en remplaçant le contrôleur de QDD par le contrôleur 5'25, et puis même sans contrôleur...

Le résultat est le même: plantage, pas à l'allumage, mais dès qu'on "lance" la rom (menu 0 qui affiche de façon sympa "JANE 1.0").

Qui a JANE 1.1 pour MO6?
en haut - en bas
Daniel
Visiteur
Date : 03/05/2005 à 07h36
Le MO5 est la seule machine Thomson à posséder une suite bureautique complète sur cartouche
Belle performance pour le modèle le plus économique de la gamme

Daniel
en haut - en bas
Fool-DupleX
Visiteur
Date : 03/05/2005 à 09h50
Oui, ca a toujours ete le paradoxe du MO5. Pourquoi lui adjoindre une suite bureautique complete, permettant meme l'OLE (ie: en cliquant sur un tableau dans une lettre de Write on se retrouve dans Calc pour l'editer) sur un support inadapte (j'ai copie il y a pas mal de temps deja Jane sur disquette 3"1/2, c'est un vrai plaisir, le passage d'un module a l'autre se fait en quelques secondes, contre une bonne minute sur qdd), alors qu'une machine comme le TO9+ en aurait nettement plus beneficie ? Jane en 80 colonnes avec une souris, ca aurait pu faire des envieux. Et l'aide en ligne est splendide dans ce logiciel, digne des assistants microsoft dans le dernier office

Il faut savoir aussi que Jane est un produit Arktronics pour Apple II a l'origine. Quand on songe que Thomson revait de concepts Apple II et Macintosh pour ses machines a venir, quel sacre pied de nez et surtout, quelle incoherence !

Fool
en haut - en bas
Fool-DupleX
Visiteur
Date : 03/05/2005 à 10h01
Finalement, faut etre honnete, quand on y pense, c'est le MO5 qui est la plus avancee des machines dans la gamme : c'est la seule qui supporte pleinement le reseau et la bureautique ! Tres en avance sur son temps !

Fool
en haut - en bas
Xavier
Visiteur
Date : 03/05/2005 à 10h37
Tu veux dire que le contrôleur nano-réseau ne marche pas à 100% sur les autres?
en haut - en bas
Daniel
Visiteur
Date : 03/05/2005 à 11h02
Le "et" de Fool-Duplex est à interpréter comme l'opération booléenne AND
Les autres machines supportent le nano-reseau, mais ne supportent pas Jane.

Daniel
en haut - en bas
Fool-DupleX
Visiteur
Date : 03/05/2005 à 11h59
Quoique... officiellement, le nano-reseau ne supporte que les TO7, TO7/70, MO5, MO5E, MO5NR. Bien sur cela ne veut pas dire qu'il ne fonctionne pas sur les autres machines. Toutefois, il n'existe pas a ma connaissance de ROM nr specifique aux autres machines, ce qui exclut dans la pratique de pouvoir les utiliser totalement. Sans compter le conflit avec le controleur interne de disquette sur TO8D, TO9 et TO9+.

Notons egalement que le MO5 equipe de son extension (QDD integre) ignore joyeusement le controleur nr puisqu'il est masque par le controleur interne du QDD (on pourrait les faire travailler ensemble, mais c'est du boulot).

Les seules machines qui aient ete totalement supportees sur le nano-reseau sont le MO5 (par extension le MO5E) et le MO5NR. Le TO7 n'avait pas assez de RAM et ne pouvait etre utilise qu'en BASIC reseau. Le TO7/70 ne disposait pas du mecanisme de cartouche de RAM paginee dans l'espace MEMO7. Il fallait donc lui adjoindre les cartouches specifiques LOGO, LSE etc. et se taper le gym-kana d'eteindre chaque fois la machine pour changer la cartouche. Alors que sur MO5, cela se fait a la volee et meme a distance.

Officieusement, c'est une autre histoire, on voit bien que les machines Thomson sont tres versatiles et se ressemblent beaucoup.

Fool
en haut - en bas
jasz
Visiteur
Date : 04/05/2005 à 21h59
Et le MO6NR tu en fais quoi?
en haut - en bas
Daniel
Visiteur
Date : 05/05/2005 à 17h10
Pour exécuter Jane dans l'extension mémoire 64K, faut-il modifier les routines de changement de banque, et utiliser A7CB ?
Même question posée autrement : l'extension 64K a-t-elle le même système de commutation de banques que les MEMO5 (en plus de la commutation par A7CB) ?

Mes essais semblent montrer que non. On peut parfaitement charger l'image d'une cartouche 16K dans l'extension et l'exécuter, je l'ai fait avec Blitz! et tout fonctionne parfaitement. Mais avec une cartouche 32K comme Colorpaint, les deux banques s'initialisent bien (en jouant sur A7CB), puis à l'exécution le programme démarre et se plante aussitôt.

Finalement, j'ai posé la question et donné la réponse, mais comme j'ai toujours des doutes ça me rassurerait d'avoir confirmation.

Mon projet est de faire des disquettes MO5 bootables contenant des images de MEMO5, avec un loader pour les charger et les exécuter dans l'extension 64K. Ca marche déjà pour toutes les cartouches de 16K et moins, reste à trouver une solution pour les autres. Certaines existent en fichiers .mo5 sur disquettes nanoreseau (par exemple Colorcalc) et devraient fonctionner dans l'extension, mais ce n'est pas le cas de Jane

Daniel
en haut - en bas
FoolDupleX
Visiteur
Date : 06/05/2005 à 11h41
Daniel....

J'ai deja fait ca depuis longtemps...

L'ext 64K n'a que le mecanisme a7cb. les roms multibanques possedent le mecanisme BFFF car ca coute moins en electronique, mais les rom contiennent en general (mais pas toujours!) le code pour les deux mecanismes. C'est le cas de Jane qui fonctionne sans modif avec l'ext 64k.

Le coup du loader depuis la disquette, je l'ai code le jour ou le connecteur MEMO5 de ma machine etait tellement raide qu'il fallait que je rentre 22 fois la cartouche assembleur avant qu'elle ne daigne booter. Depuis je n'utilise que cela.

Fool
en haut - en bas
FoolDupleX
Visiteur
Date : 06/05/2005 à 11h52
En fait, le MO6NR est une sottise. Officiellement ce nom n'existe pas, et en ce qui concerne la machine qui porte cette reference, l'analyse a montre qu'il n'y a que des differences minimes (voire nulles, Daniel me corrigera) avec le MO6 pas NR (l'enigme reste donc entiere).

Et le format de fichier nanoreseau n'est pas en mesure de coder un identifiant "MO6", donc l'affaire est reglee (les fichiers nanoreseau contiennent un header avec entre autres la machine cible pour ce fichier).

En resume, cette machine fonctionne peut-etre mais ce n'etait pas officiellement prevu, ce qui s'applique finalement a toutes les autres machines de la gamme, sauf les mo5, mo5e, mo5nr, to7/70 et to7.

Fool
en haut - en bas
Pages : 1 - 2