[Thomson] Contrôleur CS91-280 pour carte SD

Cette catégorie traite de développements récents destinés à 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

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

Re: [Thomson] Contrôleur CS91-280 pour carte SD

Message par Daniel »

Voici le code de la fonction SWI #$1C (JOYS = lecture des manettes) dans le moniteur MO6 :

Code : Tout sélectionner

-------------------------------
JOYS = lecture manettes
-------------------------------
FAC1  E64C      LDB    $0C,U      lecture $A7CC
FAC3  4D        TSTA              A = n° manette 0 ou 1
FAC4  2706      BEQ    $FACC --   manette 0 : A=$00
FAC6  8640      LDA    #$40    |  manette 1 : A=$40
FAC8  54        LSRB           |  
FAC9  54        LSRB           |
FACA  54        LSRB           |
FACB  54        LSRB           |
FACC  C40F      ANDB   #$0F  <-   B contient la position manette 0 ou 1
FACE  8EFAD7    LDX    #$FAD7     table des codes position
FAD1  E685      LDB    B,X        B contient le code position
FAD3  E764      STB    $04,S      retour du code dans la pile
FAD5  8B40      ADDA   #$40       A=$40(manette 0) ou $80(manette 1) 
FAD7  A44D      ANDA   $0D,U      
FAD9  8101      CMPA   #$01
FADB  39        RTS    
En $FAD7 il y a un ANDA avec le contenu de $A7CD (port B du PIA jeux) : c'est la position des boutons d'action dans les bits 6 et 7.
Ensuite il y a un CMPA #$01. Mon problème est là, la lecture de $A7CD ne donne probablement pas le résultat attendu car j'ai initialisé les bits 0 à 5 en sortie pour le CNA. Peut-être ne faut-il pas le faire à l'initialisation, mais seulement juste avant de jouer de la musique. Je vais explorer cette piste...
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13297
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: [Thomson] Contrôleur CS91-280 pour carte SD

Message par Carl »

Finalement capitain blood fonctionne après un reset et touchr B. (TO8)

ps : il faut savoir attendre si l'on a pas l'option de la led qui indique une activité :wink:

Carl
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13297
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: [Thomson] Contrôleur CS91-280 pour carte SD

Message par Carl »

mais quand on appuie sur le bouton Action il ne se passe rien, le jeu ne démarre pas. Sur TO8D il n'y a pas ce problème.
sur TO8, il faut appuyer sur STOP pour que le jeu démarre...

carl
Fool-DupleX
Messages : 2365
Inscription : 06 avr. 2009 12:07

Re: [Thomson] Contrôleur CS91-280 pour carte SD

Message par Fool-DupleX »

STOP pour démarrer ? Ca me rappelle un vieux gag de menu démarrer pour éteindre ... :arrow: ok je sors
Daniel
Messages : 17423
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] Contrôleur CS91-280 pour carte SD

Message par Daniel »

Bonne nouvelle pour Captain Blood, c'est un jeu excellent :D

Pour la diode d'activité, il est possible de modifier l'ancienne interface, mais c'est un peu délicat : il faut remplacer la résistance de 1K de la LED vers le +5V par une résistance de 5K de la LED vers CLK.

Le risque est de détruire l'interface si on n'a pas le bon outillage, en particulier le matériel pour dessouder. Je pense qu'il est plus prudent de construire une nouvelle interface selon le dernier schéma (voir SDMOTO section bricolage).
Daniel
L'obstacle augmente mon ardeur.
Daniel
Messages : 17423
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] Contrôleur CS91-280 pour carte SD

Message par Daniel »

Daniel a écrit :Mon problème est là, la lecture de $A7CD ne donne probablement pas le résultat attendu car j'ai initialisé les bits 0 à 5 en sortie pour le CNA. Peut-être ne faut-il pas le faire à l'initialisation, mais seulement juste avant de jouer de la musique. Je vais explorer cette piste...
C'est bien ça : si on n'initialise pas le CNA en sortie, il reste initialisé par défaut en entrée. Dans ce cas les manettes sont bien détectées, et MGT fonctionne sur MO6. C'est complètement absurde, mais c'est comme ça :twisted:

En contrepartie, bien évidemment, toutes mes géniales démonstrations de musique sont devenues totalement muettes :cry:
Mais je suis content d'avoir trouvé, car j'ai souvent eu ce genre de problème dans le passé, même avec de "vraies" disquettes. A l'époque je n'avais pas compris et j'avais laissé tomber. Maintenant je sais :lol:

J'espère que les eproms supportent de nombreux cycles d'effacement et de programmation, car au rythme actuel c'est en moyenne deux ou trois par jour depuis le début du mois. Peu importe, l'essentiel est de faire progresser la science :wink:
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 7986
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [Thomson] Contrôleur CS91-280 pour carte SD

Message par __sam__ »

Daniel a écrit :En contrepartie, bien évidemment, toutes mes géniales démonstrations de musique sont devenues totalement muettes :cry:
J'ai le sentiment que cela plaide pour avoir une gestion totalement locale des ports manettes dans les routines du contrôleur. Les effets de bords seront alors limités et les machines continueront à marcher comme si on ne touchait pas à la config des ports manettes.
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
Daniel
Messages : 17423
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] Contrôleur CS91-280 pour carte SD

Message par Daniel »

Ne vous inquiétez pas pour les démonstrations de musique, j'ai ajouté l'initialisation du CNA au début de chacune et elles fonctionnent toutes à nouveau :D

Pour le contrôleur, je vais suivre le conseil de sam. Toutefois, mon idée de prise gigogne pour la deuxième manette ne fonctionnera pas, car l'interface SDMOTO a des résistances de pull-down qui font croire que le manche est actionné alors qu'il ne l'est pas. Ce n'est pas trop grave, peu de jeux utilisent la deuxième manette. Je les modifierai pour qu'ils utilisent la première, à commencer par Bactron.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13297
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: [Thomson] Contrôleur CS91-280 pour carte SD

Message par Carl »

Quelqu'un a pu faire un essai avec un MO5E ?

Carl
Daniel
Messages : 17423
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] Contrôleur CS91-280 pour carte SD

Message par Daniel »

Je n'ai pas encore eu le temps, car je prépare des démos du contrôleur CS91-280 pour l'Avignon Model Show 2013, avec l'interface SDMOTO sur MO6, mais aussi avec l'interface SDMO sur le port cassette du MO5. Les manettes sont maintenant détectées correctement dans Space Racer, Mach3, Turbo Cup, MGT. Le lancement de toutes les démos et de tous les jeux existants est possible avec un programme sur la carte SD (donc sans charger de programme annexe, sans taper d'adresse hexadécimale et sans toucher les interrupteurs du contrôleur). Avec un fichier "AUTO.BAT" tous les programmes, y compris les démos n'utilisant pas la structure des disquettes Thomson, peuvent démarrer automatiquement.

La semaine prochaine je devrais avoir un peu plus de temps pour les tests sur MO5E. Je m'interroge sur cette incompatibilité depuis que Carl l'a signalée, mais je ne trouve aucune raison logique. Les nouveaux tests nous éclairerons peut-être.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
petitjd
Messages : 2007
Inscription : 23 oct. 2007 11:50

Re: [Thomson] Contrôleur CS91-280 pour carte SD

Message par petitjd »

Carl a écrit :Quelqu'un a pu faire un essai avec un MO5E ?
Je suis désolé, je suis débordé en ce moment et je n'ai pas une seconde pour allumer un Thomson. Je vous tiens au courant de mes essais dès que j'ai le temps de m'y remettre :|
PetitJD
Tortue Jeulin: www.tortue-jeulin.com
Nanoreseau: www.nanoreseau.net
Proteus III: www.proteus-international.fr
Daniel
Messages : 17423
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] Contrôleur CS91-280 pour carte SD

Message par Daniel »

Test sur MO5E :

ATTENTION ! : contrairement aux autres ordinateurs et au contrôleur SX90-018, le connecteur de la deuxième manette est à gauche pour le MO5E et le MO5NR. Notez que ces deux ordinateurs permettent, avec la configuration de base, d'utiliser aussi bien SDMO que SDMOTO.

Avec la dernière version de l'eprom du CS91-280, l'interface SDMO et l'interface SDMOTO fonctionnent parfaitement sur MO5E (en connectant SDMOTO sur la prise de gauche). J'ai testé, sans rencontrer aucun problème, tous les jeux et démos MO5 préparés pour le Model-Show d'Avignon.

Image

Image

Image

Image


Les pages SDMO, SDMOTO et CS91-280 de la section Bricolage du site dcmoto ont été modifiées pour tenir compte des derniers tests et des dernières modifications :
- Rectification du choix du connecteur
- Ajout de photos
- Mise en ligne de la dernière version de l'eprom
- Listing du programme de sélection "soft" des jeux et démonstrations enregistrés sur la carte
(sans modifier la position des interrupteurs).

Deux contrôleurs CS91-280, une interface SDMOTO, une interface SDMO et deux versions du programme de sélection ont tourné pendant deux jours au Model-Show d'Avignon, en version SDMO sur MO5 et SDMOTO sur MO6. Il n'y a eu aucun plantage ni aucune anomalie, et tout à résisté aux maltraitances des visiteurs. J'ai commandé un lot d'eproms, elles devraient arriver d'ici une quinzaine de jours. Quand je les aurai reçues je ferai parvenir la dernière version aux beta-testeurs. Si d'autres thomsonistes veulent essayer, ils peuvent se manifester ici.
Daniel
L'obstacle augmente mon ardeur.
Daniel
Messages : 17423
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] Contrôleur CS91-280 pour carte SD

Message par Daniel »

Diffusion sur le site dcmoto de la version 29131030 du contenu de l'eprom du contrôleur.

- Optimisation de la vitesse de lecture d'un octet avec l'interface SDMO --> gain 10%
- Optimisation des vitesses de lecture/écriture de secteurs par le déroulement des boucles de lecture d'un octet (SDMO et SDMOTO) et des boucles d'écriture d'un octet (SDMO et SDMOTO) --> gain 15% en lecture et 15% en écriture.

Remarque : quand les interfaces étaient initialisées par un programme sur cassette à charger en mémoire, je n'avais pas déroulé les boucles pour ne pas allonger inutilement le programme. Avec le contrôleur CS91-280 il n'y a plus rien à charger, tout est dans l'eprom, et il restait plus de 500 octets disponibles. Donc aucune raison de ne pas faire cette optimisation.

Voici la comparaison des performances avec la nouvelle version de l'eprom :

Code : Tout sélectionner

============================================
Temps comparés entre les contrôleurs sur MO6
- CD90-351 avec disquette 3,5 pouces
- CS91-280 avec interface SDMOTO et carte SD
============================================

Fonction               CD90-351   CS91-280  
--------------------   --------   --------  
Charger MACH3             0:58       0:32  
Charger SPACE RACER       0:25       0:15  
Charger TURBO CUP         1:13       0:56              
DSKINI0                   0:35       0:02        
BACKUP0TO1                3:45       2:56
Y-a-pas photo :D
Daniel
L'obstacle augmente mon ardeur.
Daniel
Messages : 17423
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] Contrôleur CS91-280 pour carte SD

Message par Daniel »

Une petite info, pour laquelle je n'ai pas d'explication, je vous la livre brute :

Avec une carte SD ancienne de 512Mo, très utilisée car elle a servi pour tous les tests du contrôleur depuis plusieurs mois, j'ai commencé à avoir des erreurs aléatoires : par exemple plantage au milieu d'une vidéo. Puis ces erreurs sont devenues de plus en plus fréquentes, et après quelques heures je n'arrivais même plus à charger le DOS du MO5. J'ai d'abord soupçonné l'interface SDMO, mais elle n'était pas fautive, elle fonctionnait parfaitement bien avec d'autres cartes.

A tout hasard, j'ai reformaté la carte sur PC et transféré à nouveau les fichiers .sd pour les essayer sur le MO5. Cette fois tout a bien fonctionné, plus aucune erreur : je fais tourner la vidéo en boucle depuis deux heures sans problème.

Aucune idée de la cause de ce phénomène. Je sais qu'il y a des mécanismes dans la carte pour ré-allouer automatiquement des secteurs défectueux, mais je ne vois pas trop comment ça pourrait provoquer des erreurs de lecture.

Donc, si ça vous arrive, pas d'inquiétude, il suffit de reformater. Si vous avez une explication, n'hésitez pas à la donner.
Daniel
L'obstacle augmente mon ardeur.
Fool-DupleX
Messages : 2365
Inscription : 06 avr. 2009 12:07

Re: [Thomson] Contrôleur CS91-280 pour carte SD

Message par Fool-DupleX »

Cette réalisation est certes une très belle réussite. L'idée d'utiliser le contrôleur NR pour stocker le soft est excellente. En y repensant, j'ai eu une autre idée que je vous livre à toutes fins utiles. Le contrôleur CQ90-028, certes plus rare que le contrôleur NR, contient la même ROM mais en plus un sérialisateur 6852 et un générateur d'horloge dans son gate-array. C'est une électronique très intéressante pour piloter une SD card, puisqu'elle fournit à peu de choses près la partie envoi/réception d'un octet, écrite en soft actuellement, qui plus est à une vitesse bien supérieure (le circuit qui fournit l'horloge est cadencé à 6.5 MHz) et avec des signaux additionnels de contrôle en entrée et en sortie. Ne serait-il pas possible de la modifier en ce sens ? L'interface est compatible avec toutes les machines, sauf le TO9 bien entendu.
Répondre