Logicielsmoto.com
http://www.logicielsmoto.com/phpBB/

Résumé technique du MO5
http://www.logicielsmoto.com/phpBB/viewtopic.php?f=3&t=386
Page 4 sur 4

Auteur:  PulkoMandy [ 24 Mar 2012, 10:23 ]
Sujet du message: 

L'interface série, il y en a 2 :
* La CC90 (série/parallèle) ne fonctionne que sur TO7 avec le 12v. Elle peut être modifiée comme c'est indiqué dans la doc du logiciel CC90 de Prehisto
* La RF57 fonctionne sur toutes les machines. C'est une interface série uniquement, et pour le moment limitée à 19200baud, mais il y a une possibilité d'injecter une horloge externe.

Cela dit, sur MO5 avec seulement un port d'extension, on ne peut pas la connecter en même temps que le lecteur de disquettes et le synthétiseur vocal... La mienne reste donc rangée quelque part pour le moment, le port cassette étant plus accessible :)

Auteur:  Fool-DupleX [ 26 Mar 2012, 08:59 ]
Sujet du message: 

C'est pas $A8xx qui a un extra chip select sur le bus externe, c'est $Bxxx. C'est mappé sur le bus externe et ca pointe sur une extra interne de 4 Ko en gen 2 (cf. schémas).

Tu pourrais avoir envie de rajouter l'extension mémoire 64 Ko, elle marche parfaitement sans le nanoreseau, c'est juste qu'elle n'est pas gérée par le BASIC résident. 96 Ko pour les démos, ca peut servir :-)

Auteur:  PulkoMandy [ 26 Mar 2012, 18:25 ]
Sujet du message: 

Oui, sauf que sur le MO5 Gen1 il manque des signaux sur le port cartouche pour la faire fonctionner, cette extension de 64k (le write, entre autres) ?
Ou bien mes informations sont-elles (encore) fausses ?

Et, justement, j'ai un MO5 première génération. Mais je suis loin d'avoir rempli les 48k, et avec le lecteur de disquettes, je pense qu'on peut charger les choses assez vite pour que la RAM dispo ne soit pas un trop gros problème.

Auteur:  Fool-DupleX [ 27 Mar 2012, 09:56 ]
Sujet du message: 

Non c'est vrai, le MO5 gen 1 n'a pas les signaux necessaires : E, /WR, A14 et A15.

Le chargement depuis le lecteur de disquette peut tres difficilement se faire en tache de fond, car il n'y a ni DMA ni interruptions sur le controleur. En fait, pour faire des demos, la plupart des routines fournies par le moniteur sont a reecrire de zero : le trace de ligne est trop lent, la gestion du son est moisie et Prehisto nous a montre qu'on peut aller tres loin dans l'optimisation des routines de gestion disque. Je ne parle meme pas de la scrutation clavier et de l'affichage de texte.

Les difficultés a utiliser la disquette en fond sont peut-etre la raison pour laquelle la totalite des demos thomson sont "oldskool multipart". A voir ...

J'aimerais bien entendre Prehisto a ce sujet.

Auteur:  Prehisto [ 27 Mar 2012, 10:55 ]
Sujet du message: 

Fool-DupleX a écrit:
J'aimerais bien entendre Prehisto a ce sujet.

Tu l'auras voulu ;)

A mon avis, tu as déjà tout dit.

Il aurait pu y avoir les opérations automatiques (que le THMFC1 est aussi capable de traiter), mais elles nécessitent d'être constamment présent pour rattrapper les balles. C'est toute la problématique de la lecture pas-à-pas. C'est vrai qu'un petit DMA n'aurait pas été un luxe, car il n'y a aucune vraie liaison entre le contrôleur et la mémoire.

Pour autant, il y a toujours la possibilité de charger les données secteur par secteur, en synchronisant le programme pour toujours tomber sur le secteur suivant au moment voulu. Ca impose de n'utiliser qu'un seul type d'entrelacement. Et pour le déplacement des têtes, il est aussi possible de le faire pas-à-pas, et de remplacer les temporisations par du code utile.

Auteur:  PulkoMandy [ 27 Mar 2012, 18:14 ]
Sujet du message: 

Moui...
Je sais bien que le moniteur ne pourra pas aller très loin dans le monde de la démo, mais c'est comme ça sur la plupart des micros 8bits...

Sur Amstrad CPC par exemple, il n'y a pas d'interruptions pour le controleur disquette non plus. Pourtant, on a des démos comme Midline Process (http://www.pouet.net/prod.php?which=14317) qui fait du streaming vidéo (certes, en assez basse résolution), ou encore Batman Forever (http://pouet.net/prod.php?which=56761) qui s'organise pour charger des choses pendant l'affichage des effets les moins coûteux en CPU.

La technique n'est pas très complexe. D'abord, il faut savoir qu'une disquette tourne à 300 tours par minute, soit 5 par seconde. Sur Amstrad CPC, en le format par défaut utilise 9 secteurs par piste (de 512 octets). Ces démos utilisent 10 secteurs.
En effet, de cette façon on a exactement 50 secteurs par seconde qui passent sous la tête de lecture, ce qui est tout juste synchronisé avec le balayage écran.

Ensuite, il "suffit" de savoir quel secteur va se présenter et de demander son chargement au controleur disquette juste avant. Ainsi, on n'a pas besoin d'attendre que la disquette fasse un tour complet pour trouver le secteur en question.

La vitesse maximale théorique est de 25Ko par seconde. En pratique, l'Amstrad CPC ne peut pas lire tous les secteurs en une seule rotation de la disquette, il lui en faut au moins 2. Je ne vois pas pourquoi ce serait différent sur les machines Thomson, en tout cas avec le CD90-640 qui a un fonctionnement assez similaire au UPD765 de l'Amstrad CPC.

Auteur:  Fool-DupleX [ 28 Mar 2012, 13:10 ]
Sujet du message: 

Pour info, au passage, les controleurs disquette sur Thomson, sauf sur le 80 Ko, sont des WD1770 et WD2793. Le THM-FC1, chip developpé in-house chez Thomson est en fait un dérivé amélioré du WD2793, capable de gerer le QDD. Le controleur du QDD externe quant à lui est juste un ACIA synchrone.

Tu savais pas tout ca prehisto hein ;)

Auteur:  Prehisto [ 29 Mar 2012, 09:53 ]
Sujet du message: 

Fool-DupleX a écrit:
Tu savais pas tout ca prehisto hein ;)

Je mentirais si je répondais que si. Mais j'en savais une partie.
Que le THMFC1 soit amélioré du WD2793, je ne savais pas. Bien que je m'en doutais un peu : j'ai toujours trouvé dans le THMFC1 une flexibilité remarquable, qui n'existe pas chez les Western Digital.

Auteur:  Fool-DupleX [ 29 Mar 2012, 10:25 ]
Sujet du message: 

Ce serait à creuser mais je tiens cette information d'un échange avec l'un des ingénieur de l'équipe R&D de Thomson : on discutait des gate-array et puis ca a derive sur la partie pseudo-analogique du thmfc-1 dont il était fier ; c'est l'a qu'il m'a indique que l'equipe s'etait inspiree du WD2793 deja utilise dans leurs produits pour faire ce circuit.

Auteur:  Daniel Coulom [ 29 Mar 2012, 20:33 ]
Sujet du message: 

J'ai peut-être une solution pour charger des images et de la musique sans interrompre le programme : les lire sur une carte SD. Contrairement aux périphériques classiques, qui ne peuvent pas être interrompus quand ils travaillent, la liaison SPI est synchrone et doit pouvoir être interrompue. Il reste à tester ce que ça donne, mais je pense que c'est une solution souple et relativement rapide. Je vous en dirai plus quand mon projet d'interface sera plus avancé, mais d'ores et déjà je sais charger des blocs mémoire depuis la carte SD à une vitesse d'environ 4 Ko par seconde. C'est également mieux adapté aux démos que la disquette, avec une capacité de 4 Go et un fonctionnement totalement silencieux.

Auteur:  Samuel Devulder [ 02 Avr 2012, 13:40 ]
Sujet du message: 

Daniel Coulom a écrit:
d'ores et déjà je sais charger des blocs mémoire depuis la carte SD à une vitesse d'environ 4 Ko par seconde.

4Ko/sec.. Donc avec un anim à 12img/sec, ca nous fait 4096/12=341 octets par image. Il va être difficile de jouer du temps reel directement depuis le SD sans compression. Remarque, avec ca on doit pouvoir streamer Starwars en ascii-art sur thomson.

Sinon, la limitation de vitesse de 4Ko vient de quoi? De l'optimisation ASM des routines? Si on arrive à gagner un facteur 10, on doit atteindre le 44Ko/sec et ainsi avoir un player audio qualité CD en temps réel pour THOMSON :p (Même à 22Khz ca ferait déjà un très bon son).

Allez si on met le timer en jeu et qu'on est capable de récupérer les données à toute vitesse on peut peut-être même jouer du son en tâche de fond (j'avais une D7 qui jouait les guignols de l'info ainsi pour TO9. Elle bug un peu sur les émuls, mais le son sur DCMOTO est assez fidèle. Bizarrement sous TO8 le son est plus grave. C'est peut-être que le traitement de l'IRQ timer dans le moniteur est plus long que sur TO9.)

Auteur:  PulkoMandy [ 02 Avr 2012, 18:08 ]
Sujet du message: 

Euh, la qualité CD c'est 44100 Hz * 16 bits * 2 canaux, soit 176400 octets/seconde ;)

Mais le son ça peut se compresser plutôt bien...
http://www.pouet.net/prod.php?which=54384

Le DAC 6-bits sur Thomson peut surement rendre les choses plus faciles.

Auteur:  Daniel Coulom [ 03 Avr 2012, 09:02 ]
Sujet du message: 

Samuel Devulder a écrit:
le son sur DCMOTO est assez fidèle. Bizarrement sous TO8 le son est plus grave.

On m'a signalé des anomalies dans la génération de son avec dcmoto en mode TO8 (son trop aigu). C'est un bug, mais je ne l'ai pas encore trouvé.

D'après mes essais avec le prototype du driver MO5SD, la vitesse de transfert est de l'ordre de 4Ko/s. Mais, comme je l'ai écrit, ce driver n'est pas du tout optimisé : c'est un premier jet, tel qu'il m'est venu sans trop réfléchir. J'étais tellement content d'avoir réussi que je l'ai publié immédiatement. Maintenant il faudrait l'optimiser. Il y a déjà des pistes, mais plus il y aura de bons programmeurs sur le coup, plus on aura de chances de faire mieux. Je ne crois pas au gain d'un facteur 10 (je suis mauvais en langage machine 6809, mais pas à ce point !). Par contre, en étant optimiste, 8Ko/s doit être possible.

Auteur:  PulkoMandy [ 23 Mar 2014, 15:12 ]
Sujet du message: 

Bonjour,
La documentation en HTML devenait assez peu pratique à force d'y ajouter des informations. De plus, j'ai reçu des demandes d'ajout d'information sur les autres machines de chez Thomson, en particulier le MO6 (parce que même en lisant le français, il est difficile de trouver des informations sur cette machine...)

J'ai donc migré toute les informations sur le MO5 dans un wiki, et j'en ai profité pour réorganiser les choses et les rendre un peu plus lisibles.

Il manque encore beaucoup d'informations, je les rajouterais... quand j'aurais le temps! :)

ça se passe donc ici: http://pulkomandy.tk/wiki/.

Page 4 sur 4 Heures au format UTC + 1 heure
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/