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

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

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

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

Message par Daniel »

Aujourd'hui test du contrôleur CS91-280 sur d'autres machines (après le MO6) :

- TO7/70 : OK, tout fonctionne (le programme est donc parfaitement translatable, c'est prouvé par ce test)

- MO5 : OK, tout fonctionne. Il faut un doubleur de bus pour mettre les deux contrôleurs. Quand j'aurai du temps, je ferai une version du CS91-280 pour l'interface SDMO : elle utilise le connecteur magnétophone et ne nécessite donc pas de doubleur.

- TO8D : encore quelques problèmes : après la désactivation du contrôleur interne par POKE &HE7E7,&KD4, si j'initialise à nouveau l'ordinateur ça ne marche pas, il réactive automatiquement le contrôleur interne. Si je lance un reset du contrôleur la carte SD s'initialise et est accessible, par contre le Basic DOS a ensuite des petits soucis. Par exemple il détecte une disquette simple densité, et ne peut donc pas y accéder. Il y a des initialisations à faire dans les vecteurs système et Basic après l'activation de la carte SD, il faut que je trouve lesquelles. J'ai du aussi déplacer des zones de travail en RAM, les autres machines ne les utilisaient pas mais le TO8D les a écrasées. Je croyais être tranquille avec l'octet tout au bout de la pile système ($608B), malheureusement les développeurs de Thomson ont eu la même idée avant moi. Les octets libres entre $6000 et $6100 sont rares.
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 »

C'est un exploit cette interface!
PetitJD
Tortue Jeulin: www.tortue-jeulin.com
Nanoreseau: www.nanoreseau.net
Proteus III: www.proteus-international.fr
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

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

Message par Daniel »

A propos, je cherche des beta-testeurs pour le contrôleur CS91-280. Pas maintenant, mais pour fin septembre.

Pour être beta-testeur il faut :
- Bien connaître les ordinateurs Thomson
- Avoir une carte SD, un module SDMOTO et un contrôleur nanoréseau
- Avoir un ordinateur Thomson avec un connecteur manette ou une extension musique et jeux avec connecteurs DB9
Pour le MO5 (pas les autres), il faut aussi un doubleur de bus pour connecter les deux contrôleurs

J'incite les candidats à se faire connaître ici, pour me permettre de savoir combien d'eproms je dois commander fin septembre. Les eproms seront programmées et envoyées aux beta-testeurs en octobre.
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 7923
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 :- TO8D : encore quelques problèmes : après la désactivation du contrôleur interne par POKE &HE7E7,&KD4, si j'initialise à nouveau l'ordinateur ça ne marche pas, il réactive automatiquement le contrôleur interne.
Oui cela semble normal: très tôt dans la séquence de boot, $E7E7 est remis à $D4

Code : Tout sélectionner

FDC8 1A50       ORCC   #$50               
FDCA 7FE7E6     CLR    $E7E6              
FDCD C660       LDB    #$60               
FDCF 1F9B       TFR    B,DP               
FDD1 10CE60CC   LDS    #$60CC             
FDD5 86D4       LDA    #$D4               
FDD7 DEFE       LDU    /$FE               
FDD9 1183A55A   CMPU   #$A55A             
FDDD 2716       BEQ    $FDF5              
FDDF 1183A559   CMPU   #$A559             
FDE3 2710       BEQ    $FDF5              
FDE5 B7A7E7     STA    $A7E7              ==> tiens, un bot de rom MO5/MO6 ? pourquoi on reset le controlleur disk MO5?
FDE8 CE6000     LDU    #$6000             
FDEB 6FC0       CLR    ,U+                
FDED 11837000   CMPU   #$7000             
FDF1 26F8       BNE    $FDEB              
FDF3 0380       COM    /$80               
FDF5 B7E7E7     STA    $E7E7              ==> $E7E7 <- $D4  (reset)
FDF8 CEE000     LDU    #$E000             
FDFB E6C0       LDB    ,U+                
FDFD EBC0       ADDB   ,U+                
FDFF EBC0       ADDB   ,U+                
FE01 CB55       ADDB   #$55               
FE03 E1C4       CMPB   ,U                 
FE05 2616       BNE    $FE1D              ==> controleur absent?
FE07 E65D       LDB    -$03,U             
FE09 C152       CMPB   #$52               
FE0B 2608       BNE    $FE15              
FE0D D6CD       LDB    /$CD               
FE0F CA20       ORB    #$20               
FE11 C43F       ANDB   #$3F               
FE13 200C       BRA    $FE21              --+
FE15 D6CD       LDB    /$CD                 |
FE17 C4DF       ANDB   #$DF                 |
FE19 CAC0       ORB    #$C0                 |
FE1B 2004       BRA    $FE21              --+
FE1D D6CD       LDB    /$CD                 |
FE1F C41F       ANDB   #$1F                 |
FE21 8654       LDA    #$54               <-+
FE23 B7E7E7     STA    $E7E7              $E7E7 <- $54  
Dernière modification par __sam__ le 09 août 2013 11:33, modifié 2 fois.
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 : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

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

Message par Daniel »

Oui, j'ai regardé aussi cette routine hardreset, j'ai vu l'initialisation de $E7E7, et comme toi je n'ai pas bien compris le STA $A7E7. Le MO5 n'a rien en $A7E7, et le MO6 a l'équivalent du registre $E7E7 des TO8. Mais ça n'a aucun sens pour le TO8.

Il y a aussi une curiosité dans les contrôleurs de disquette Thomson, je l'ai recopiée dans le CS91-280 :

Code : Tout sélectionner

*------------------------------------------------------
* DKBOOT = Lancement du boot
*------------------------------------------------------
DKBOOT
  LBSR  INIREG          initialisation DP       
  CLR   <DK_DRV         0 dans le numero de lecteur
  LDA   #$03            compteur pour 3 essais
DKB1
  PSHS  A               empilage compteur
  CLR   <DK_TRK         toujours zero
  CLR   <DK_TRK+1       selection piste 0
  LDA   #$01            valeur pour secteur 1
  STA   <DK_SEC         selection secteur 1
  LBSR  RESET           initialisation du controleur
  BCS   DKB8            erreur d'initialisation
  LEAU  BUFFER,PCR      calcul adresse du buffer secteur
  STU   <DK_BUF         stockage adresse buffer
  LBSR  SREAD           lecture secteur logique
  LEAU  BUFFER,PCR      adresse debut de buffer      
  LEAY  BUFFER+$7f,PCR  adresse fin de buffer
  PSHS  Y               empilage
  LDA   #$55            calcul checksum boot
DKB4
  DEC   ,U              octet - 1
  COM   ,U              complement
  ADDA  ,U+             ajout checksum
  CMPU  ,S              test fin de buffer
  BNE   DKB4            octet suivant
  PULS  Y     
  CMPA  ,U              test checksum boot
  BNE   DKB9            checksum fausse
  JMP   BUFFER,PCR      execute le boot
DKB8
  PULS  A               compteur d'essais 
  DECA                  decrementation compteur
  BNE   DKB1            nouvel essai (3 fois)
DKB9
  CLR   <DKFLG          Indicateur de presence controleur
  JMP   [$001e]         lancement application a froid
A la fin du BOOT, si le DOS n'a pas été trouvé sur la disquette, il lance le Basic par JMP [$001E]. Normal pour les TO, mais curieux pour les MO car $001E est la ram vidéo. Eh bien, c'est l'explication du petit trait visible fugitivement au démarrage des MO : il est précisément en $001E et contient l'adresse de lancement du Basic : $E935
C'est une astuce des concepteurs du MO5 pour conserver la compatibilité avec les lecteurs de disquette du TO7, et ensuite cette astuce a été entérinée puisque les nouveaux contrôleurs (et même encore en 2013) continuent à faire un JMP [$001E] :wink:
boot-mo5.png
boot-mo5.png (205 octets) Consulté 4400 fois
Sinon, pour l'initialisation du TO8 avec un contrôleur externe, il y a certainement une solution, et je la trouverai. C'est un point sur lequel Prehisto pourrait nous apporter de l'aide, mais je ne sais pas s'il nous lit ?
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13253
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

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

Message par Carl »

Daniel, je veux bien mais :

- Bien connaître les ordinateurs Thomson : je connais les bases...pas plus :?
- Avoir une carte SD, un module SDMOTO et un contrôleur nanoréseau : j'ai 8)
- Avoir un ordinateur Thomson avec un connecteur manette ou une extension musique et jeux avec connecteurs DB9 : j'ai 8)
Pour le MO5 (pas les autres), il faut aussi un doubleur de bus pour connecter les deux contrôleurs : j'ai pas :?

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

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

Message par Daniel »

En fait il faut seulement savoir taper DIR, DSKINI, BACKUP, LOAD, SAVE, COPY, KILL... Je suis sûr que tu sais, sinon il reste plus d'un mois pour réviser. Sans doubleur ça ne sera pas possible sur MO5, par contre c'est bon avec tous les autres. Je t'inscris sur la liste, et en échange tu feras la pub sur youtube :D

Le doubleur, c'est un Megabus Peritek ou ce petit bricolage : http://dcmoto.free.fr/bricolage/doubleur/index.html
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13253
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

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

Message par Carl »

ça marche :wink:
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 »

Evidemment je suis là pour le beta test.
J'ai tout le matos pour tester :)
PetitJD
Tortue Jeulin: www.tortue-jeulin.com
Nanoreseau: www.nanoreseau.net
Proteus III: www.proteus-international.fr
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

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

Message par Daniel »

Deuxième beta-testeur approuvé :D

Aujourd'hui nouvelle avancée significative : le contrôleur CS91-280 fonctionne sur TO8D.
Sur TO8 et TO9+ ça doit théoriquement fonctionner, mais il y a une adresse de branchement à changer.
Sur TO9 ça fonctionne peut-être, mais j'ai un tout petit doute, il faut faire l'essai avant de l'assurer.

Comme je ne voyais pas le moyen d'empêcher le hardreset d'utiliser le contrôleur interne, j'ai écrit un hardreset spécial dans l'eprom du contrôleur CS91-280. Il initialise le contrôleur externe et se branche à la suite de la vraie routine hardreset en ROM du TO8D. Dans la version actuelle ma procédure est en $E0D7. La procédure d'initialisation, à taper en BASIC 512, est la suivante :

Code : Tout sélectionner

POKE&HE7E7,&HD4   Sélectionne le contrôleur externe
EXEC&HE0D7        Effectue le hardreset du TO8D avec le contrôleur CS91-280
On se retrouve alors à l'écran d'accueil du TO8D. Si on tape 1 on est en Basic 512 avec les 4 unités de disquette sur carte SD, si on tape B on lance l'AUTO.BAT de l'unité 0 de la carte SD. J'ai essayé avec des jeux commerciaux : SPACE RACER, MACH3, TURBO CUP. Ils se lancent parfaitement bien.

Le seul point gênant est d'avoir une adresse de branchement différente pour chaque machine.
Je ne sais pas s'il y a une solution plus élégante, mais dans un premier temps celle-ci me va bien :D
Dernière modification par Daniel le 10 août 2013 19:45, modifié 1 fois.
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 »

Excellent tout ca :)
PetitJD
Tortue Jeulin: www.tortue-jeulin.com
Nanoreseau: www.nanoreseau.net
Proteus III: www.proteus-international.fr
Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

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

Message par 6502man »

Superbe Daniel :)

Si tu as besoin de testeur je veux bien essayer d'aider dans la mesure de mes connaissance en THOMSON et du temps libre :wink:
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

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

Message par Daniel »

Et un de plus, il y a maintenant 3 beta-testeurs :D

Suite des investigations sur l'utilisation du CD91-280 sur TO9 :
Rien dans le manuel technique ni dans la ROM du moniteur n'indique la possibilité de sélectionner le contrôleur externe par le bit 7 du registre $E7E7. Avec dcmoto ça marche, car j'ai bêtement recopié le code du TO8D, mais ce n'est pas une preuve, loin de là. J'ai peur qu'on ne puisse pas sélectionner de contrôleur externe, ce qui rejoint une information connue sur l'impossibilité d'utiliser le TO9 comme poste nanoréseau. Il me reste encore à sortir le TO9 du placard pour essayer, mais je n'ai pas grand espoir. Où alors il faudrait désactiver le contrôleur interne, mais c'est une modification de la carte mère assez délicate.

En revanche, pas de problème pour le TO9+. J'ai écrit le code, il n'est pas testé sur la vraie machine car je ne l'ai pas, mais il marche en émulation donc c'est bon.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13253
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

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

Message par Carl »

Daniel, j'ai un TO9+, je pourrais faire des essais

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

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

Message par Daniel »

Merci Carl :!:
J'ai également codé le hardreset pour les deux versions de rom des TO8. Reste aussi à le tester, ça je le ferai si je trouve le temps de les remettre en marche.
Daniel
L'obstacle augmente mon ardeur.
Répondre