Thomson MO5

HxC Floppy emulator support for all others computers...
Jeff
Site Admin
Posts: 8092
Joined: Fri Oct 20, 2006 12:12 am
Location: Paris
Contact:

Re: Thomson MO5

Post by Jeff »

pulkomandy wrote:No luck...
Put a strap on pins 10 and 11 of the floppy connector. Emulator now always answers (accessible as drives 01 and 23), but still error 10. I'm quite sure it's a problem with the MO5 wanting to go to track 0 and back to 255 before continuing to read...

Would it be possible to keep track of seeking while in LBA mode ? I think the sectors are always sent with track id = 255. Maybe having the track ID change when the computer sends seeks would be enough (possibly also with track 0 signalling).
Of course ! In fact if the MO5 try to leave the track 255, the emulator leave the lba mode.

pulkomandy
Posts: 132
Joined: Sun Mar 20, 2011 6:55 pm

Re: Thomson MO5

Post by pulkomandy »

Mh... never saw this working. I have to use the Set Track command in the LBA mode interface to leave LBA mode. Seeking doesn't work.
It seems to work on the Atari ST, however.

I'll make more seeking tests...

Jeff
Site Admin
Posts: 8092
Joined: Fri Oct 20, 2006 12:12 am
Location: Paris
Contact:

Re: Thomson MO5

Post by Jeff »

pulkomandy wrote:Mh... never saw this working. I have to use the Set Track command in the LBA mode interface to leave LBA mode. Seeking doesn't work.
It seems to work on the Atari ST, however.

I'll make more seeking tests...
Sure, seeking is working ;-)

pulkomandy
Posts: 132
Joined: Sun Mar 20, 2011 6:55 pm

Re: Thomson MO5

Post by pulkomandy »

Ok, seeking seems to work while motor is on. But once it gets stopped by the MO5 ROM, I can't seem to get out. Tried some simple tests in the assembler. Calling the ROM to seek back and forth between tracks 255 and 0 works perfectly, however, once I get back to the assembler menu, I can't get out of LBA mode. Tried my own minimal seek code, as well as using the system functions in the assembler cartridge (like reading the disk directory or trying to load a file). In these case seeking fails, HxC stays in LBA mode and I get a "Disk not ready" message.

So it seems clearly related with the 'spin up' sequence when HxC is in LBA mode...

Jeff
Site Admin
Posts: 8092
Joined: Fri Oct 20, 2006 12:12 am
Location: Paris
Contact:

Re: Thomson MO5

Post by Jeff »

pulkomandy wrote:Ok, seeking seems to work while motor is on. But once it gets stopped by the MO5 ROM, I can't seem to get out. Tried some simple tests in the assembler. Calling the ROM to seek back and forth between tracks 255 and 0 works perfectly, however, once I get back to the assembler menu, I can't get out of LBA mode. Tried my own minimal seek code, as well as using the system functions in the assembler cartridge (like reading the disk directory or trying to load a file). In these case seeking fails, HxC stays in LBA mode and I get a "Disk not ready" message.

So it seems clearly related with the 'spin up' sequence when HxC is in LBA mode...

mhh this seems to be a jumper setting problem....
Are you sure that the emulator is set at DS0 ? it seems to be on MTRON.
What is your jumper setting and which floppy cable are you using (twisted or not?) ?

pulkomandy
Posts: 132
Joined: Sun Mar 20, 2011 6:55 pm

Re: Thomson MO5

Post by pulkomandy »

The cable is not twisted, it's the plain one from the floppy controller (soldered to the board).

I tried all settings to make sure, left to right :
* Jumper set all to the left, near the floppy connector : HxC reacts as drives A and B
* center-left : HxC never reacts
* center-right : HxC acts as drive B
* Right, near power connector : HxC acts as drive A. This is the setting I use.

Jeff
Site Admin
Posts: 8092
Joined: Fri Oct 20, 2006 12:12 am
Location: Paris
Contact:

Re: Thomson MO5

Post by Jeff »

pulkomandy wrote:The cable is not twisted, it's the plain one from the floppy controller (soldered to the board).

I tried all settings to make sure, left to right :
* Jumper set all to the left, near the floppy connector : HxC reacts as drives A and B
* center-left : HxC never reacts
* center-right : HxC acts as drive B
* Right, near power connector : HxC acts as drive A. This is the setting I use.
Ok but did you put the jumper As "Drive A" or "Drive B" ?

pulkomandy
Posts: 132
Joined: Sun Mar 20, 2011 6:55 pm

Re: Thomson MO5

Post by pulkomandy »

I tried both, and I get exactly the same result (drive B is disabled in my config file).

Jeff
Site Admin
Posts: 8092
Joined: Fri Oct 20, 2006 12:12 am
Location: Paris
Contact:

Re: Thomson MO5

Post by Jeff »

pulkomandy wrote:I tried both, and I get exactly the same result (drive B is disabled in my config file).
Bon j'ai regardé les videos et par la meme occasion le signal index de l'emulateur.

Coté émulateur rien a signaler le signal index est bien généré (4ms de durée toutes les 230ms).

Sinon il y a une possibilité de bug : Si le l'adresse LBA est hors zone il peut y a avoir des temps de réponses de la SD hyper lent, et le signal index est alors beaucoup plus long a réapparaitre. Cela peut se traduire en timeout coté MO5.
Qu'indique l’écran LCD quand le problème se présente ?

Sinon en regardant les videos c'est assez étrange car P1100262.MOV semble montrer que le spin up a bien fonctionné au début et que le problème se pose quelques lectures après (et donc ne semble pas lié au spin up/down...)

pulkomandy
Posts: 132
Joined: Sun Mar 20, 2011 6:55 pm

Re: Thomson MO5

Post by pulkomandy »

Sur le LCD je vois bien le LBA du dernier secteur lu avant le blocage, et avec le nouveau firmware j'ai un "08" (le nombre de secteurs mappés je suppose).

Pour moi le comportement visible est assez clair : tant que la DEL jaune est allumée, je peux enchaîner les accès sans problème. Dès qu'elle s'éteint, il devient impossible de repartir. Note : je n'ai pas testé le mode LBA sur autre chose que mon MO5, ni avec une autre carte SD. Est-ce que ça a un interêt de regarder l'un des deux ? Sur ST j'ai vu le HxC passer en LBA puis en ressortir en utilisant des images "bigdos" de 4Mo, je ne pense pas que ça soit volontaire, mais en tout cas il n'y a pas eu de blocage.

Pour le temps de réponse, tu entends quoi par "super long" ? Là à partir du moment ou il y a blocage j'envoie des ordres de lecture en boucle et ça ne finit jamais par répondre (même au bout d'une minute). Je vais peut être essayer d'intercaler un reset de la ROM, pour voir ...

Jeff
Site Admin
Posts: 8092
Joined: Fri Oct 20, 2006 12:12 am
Location: Paris
Contact:

Re: Thomson MO5

Post by Jeff »

pulkomandy wrote:Sur le LCD je vois bien le LBA du dernier secteur lu avant le blocage, et avec le nouveau firmware j'ai un "08" (le nombre de secteurs mappés je suppose).

Pour moi le comportement visible est assez clair : tant que la DEL jaune est allumée, je peux enchaîner les accès sans problème. Dès qu'elle s'éteint, il devient impossible de repartir.
Dans P1100262.MOV la led n'a pas l'air de s’éteindre avant le pb ...
pulkomandy wrote: Note : je n'ai pas testé le mode LBA sur autre chose que mon MO5, ni avec une autre carte SD. Est-ce que ça a un interêt de regarder l'un des deux ? Sur ST j'ai vu le HxC passer en LBA puis en ressortir en utilisant des images "bigdos" de 4Mo, je ne pense pas que ça soit volontaire, mais en tout cas il n'y a pas eu de blocage.
Je ne pense pas que cela vienne de l'emulo, du moins pas directement. Sur Amiga/ST/CPC il n'y a pas eu ce pb.
pulkomandy wrote: Pour le temps de réponse, tu entends quoi par "super long" ? Là à partir du moment ou il y a blocage j'envoie des ordres de lecture en boucle et ça ne finit jamais par répondre (même au bout d'une minute). Je vais peut être essayer d'intercaler un reset de la ROM, pour voir ...
Super long = 1/2 seconde pour une rotation . Dans ce cas la c'est le timeout assuré.

Quelle est la valeur LBA sur l'ecran LCD quand ça bug?

Autre test a faire : passer a 6/7 secteurs par track pour voir.

pulkomandy
Posts: 132
Joined: Sun Mar 20, 2011 6:55 pm

Re: Thomson MO5

Post by pulkomandy »

Sur la vidéo P11..., la DEL s'éteint pendant un peu moins d'une seconde avant le plantage. J'ai attendu qu'elle s'éteigne avant d'appuyer sur espace pour entrer dans le menu "TO8". A ce moment là, on a un délai de quelques secondes, un premier timeout (erreur 10), ensuite je boucle sur ma lecture et on a une erreur 10 toutes les secondes à peu près.

Je ne pense pas en effet que le problème vienne du HxC directement, mais y'a clairement un truc louche quelque part. En fait, je ne m'attendais pas à ce que ça marche aussi bien avec les routines de la ROM du MO5 qui sont prévues normalement pour 40 pistes et des secteurs de 256 octets...

J'essaierai également sur TO8 pour voir si le comportement est différent. C'est un autre contrôleur de disquettes custom de chez Thomson, mais les points d'entrée en ROM sont identiques donc le portage est facile. Je vais également regarder ce que ça donne avec seulement 6 ou 7 secteurs. Il se passe quoi dans ce cas : des pulses d'index plus fréquents, ou une augmentation du GAP entre les secteurs ?

Pour les valeurs de LBA, ça a l'air tout à fait cohérent, des trucs entre 1000 et 9000 selon les dossiers auxquels j'accède. Ma carte SD n'est pas très fragmentée donc on reste plutôt du côté du début du filesystem.

Jeff
Site Admin
Posts: 8092
Joined: Fri Oct 20, 2006 12:12 am
Location: Paris
Contact:

Re: Thomson MO5

Post by Jeff »

pulkomandy wrote: J'essaierai également sur TO8 pour voir si le comportement est différent. C'est un autre contrôleur de disquettes custom de chez Thomson, mais les points d'entrée en ROM sont identiques donc le portage est facile. Je vais également regarder ce que ça donne avec seulement 6 ou 7 secteurs. Il se passe quoi dans ce cas : des pulses d'index plus fréquents, ou une augmentation du GAP entre les secteurs ?
La fréquence des pulses d'index augmente. C'est justement là l'idée du test.
Peut etre que le timeout du MO5 est trop strict.

pulkomandy
Posts: 132
Joined: Sun Mar 20, 2011 6:55 pm

Re: Thomson MO5

Post by pulkomandy »

Bon, alors, résultats des tests du jour :

* J'ai essayé de mettre le nombre de secteurs à 7, 6, ou même 9 : la seule différence est le temps avant le spinoff du motor (puisque c'est mesuré en nombre de pulses d'index). Une fois le moteur coupé, impossible de redémarrer dans tous les cas
* J'ai essayé de mettre un seek track 0 ou un reset du cotrolleur disquette lors d'une erreur de lecture : c'est sans effet, et l'erreur persiste
* Enfin, j'ai essayé autre chose : après chaque lecture de secteur j'envoie une commande CMD_SEt_TRACK_POS pour mettre le drive sur la piste 254 et donc quitter le mode LBA. Dans ce cas, le MO5 parvient à reprendre la main par la suite. Sauf que c'est super lent, il fait un détour par la piste 0 entre chaque lecture de secteur...

Du coup j'ai d'autres questions : quel est le comportement sur les pistes non-existentes ? Que renvoie le HxC sur une lecture du track 254 (qui n'existe pas dans mon image disque) ? Pourquoi est-ce que ça marche là et pas sur le track 255 en mode LBA ?

J'ai également essayé d'envoyer directement des commandes FDC sans passer par la ROM : seek track 0 et "force interrupt" (un reset du FDC) : aucun résultat non plus. Je pense que c'est donc vraiment lié d'une façon ou d'une autre à un problème de compatibilité entre le mode Direct Access du HxC et le FDC WD1770.

Bon, je vais me mettre à la version TO8 pour voir si c'est mieux en attendant ...

Jeff
Site Admin
Posts: 8092
Joined: Fri Oct 20, 2006 12:12 am
Location: Paris
Contact:

Re: Thomson MO5

Post by Jeff »

pulkomandy wrote: Du coup j'ai d'autres questions : quel est le comportement sur les pistes non-existentes ? Que renvoie le HxC sur une lecture du track 254 (qui n'existe pas dans mon image disque) ? Pourquoi est-ce que ça marche là et pas sur le track 255 en mode LBA ?
En fait c'est la dernière track de l'image en cours qui est utilisée dans ce cas.
pulkomandy wrote: J'ai également essayé d'envoyer directement des commandes FDC sans passer par la ROM : seek track 0 et "force interrupt" (un reset du FDC) : aucun résultat non plus. Je pense que c'est donc vraiment lié d'une façon ou d'une autre à un problème de compatibilité entre le mode Direct Access du HxC et le FDC WD1770.
Et cela ne pourrait pas être lié a l'état de la ligne ready tous simplement ?

Je pense que le moyen "pragmatique" de contourner le problème est de désactiver ce spinoff. ;-)

Post Reply