[Thomson] SDDRIVE

Placez ici vos trucs et astuces, étalez sans retenue votre savoir-faire et votre science qui va nous permettre de redonner une apparence neuve et fonctionnelle à nos bouzes.

Modérateurs : Carl, Papy.G, fneck

Daniel
Messages : 10818
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] SDDRIVE

Message par Daniel » 08 nov. 2018 18:16

J'ai modifié les deux programmes (SDDRIVE.SEL et l'EPROM du contrôleur SDDRIVE) et testé avec dcmoto. Ca marche, les six octets sont écrits en $01E8 dans le premier secteur de la carte et relus en cas d'appui sur le bouton Init. Reste à confirmer avec un vrai MO5, mais je suis confiant.

Toutefois je trouve cette modification très complexe et source d'ennuis potentiels. Un plantage du programme du MO5 peut conduire à des écritures non souhaitées sur la carte. La modification n'apportera rien aux programmes commerciaux et aux démonstrations qui écrasent les vecteurs du moniteur et nécessitent un reset à froid pour reprendre la main. Elle n'apportera rien aux programmeurs assembleur qui sont obligés de sauvegarder le programme avant de le tester pour éviter de le perdre en cas de plantage. Elle ne sert qu'aux programmeurs BASIC qui veulent utiliser le bouton d'initialisation.

Pour toutes ces raisons, la variante sera diffusée et vous pourrez l'utiliser, mais je n'en ferai pas une version officielle et elle ne sera pas intégrée dans les prochaines révisions du logiciel. Il est déjà très complexe sans cette fonction. Simple is beautiful, particulièrement en programmation.
Daniel
L'obstacle augmente mon ardeur.

OlivierH
Messages : 36
Enregistré le : 22 janv. 2017 00:42
Localisation : AUCH (Gers)
Contact :

Re: [Thomson] SDDRIVE

Message par OlivierH » 08 nov. 2018 19:12

Daniel a écrit :
08 nov. 2018 18:16
J'ai modifié les deux programmes (SDDRIVE.SEL et l'EPROM du contrôleur SDDRIVE) et testé avec dcmoto. Ca marche, les six octets sont écrits en $01E8 dans le premier secteur de la carte et relus en cas d'appui sur le bouton Init. Reste à confirmer avec un vrai MO5, mais je suis confiant.
Chouette :-) Félicitations et merci :-)
Daniel a écrit :
08 nov. 2018 18:16
Toutefois je trouve cette modification très complexe et source d'ennuis potentiels. Un plantage du programme du MO5 peut conduire à des écritures non souhaitées sur la carte.
Si la carte SD contient des données précieuses, il vaut mieux de toute façon la mettre en lecture seule (à ce propos, est-ce que ça reste possible sans faire planter le programme ?)
Dans le cas contraire (pas de données précieuses), je ne trouve pas ça bien grave... au pire il suffira de reformater et remettre les .sd sur la carte.
Daniel a écrit :
08 nov. 2018 18:16
La modification n'apportera rien aux programmes commerciaux et aux démonstrations qui écrasent les vecteurs du moniteur et nécessitent un reset à froid pour reprendre la main. Elle n'apportera rien aux programmeurs assembleur qui sont obligés de sauvegarder le programme avant de le tester pour éviter de le perdre en cas de plantage. Elle ne sert qu'aux programmeurs BASIC qui veulent utiliser le bouton d'initialisation.
Sans parler de programmation, elle sert aussi pour les fichiers .sd contenant plusieurs programmes et que l'on souhaite utiliser l'un après l'autre, en sortant de chacun avec le bouton d'initialisation. C'est ce que j'avais l'habitude de faire avec mes QD contenant chacun plusieurs jeux.
Certes, dans ce cas la commande "DOS" permet de réinitialiser et il suffit ensuite de resélectionner le fichier .sd
Mais je trouve mieux de conserver un fonctionnement identique au QDD et lecteur de disquette.
Daniel a écrit :
08 nov. 2018 18:16
Pour toutes ces raisons, la variante sera diffusée et vous pourrez l'utiliser, mais je n'en ferai pas une version officielle et elle ne sera pas intégrée dans les prochaines révisions du logiciel. Il est déjà très complexe sans cette fonction. Simple is beautiful, particulièrement en programmation.
Bon, je vais déjà te commander cette nouvelle version moi ^^ C'est 5€ je crois ?
Je peux tester sur 2 MO5 si tu veux (clavier gomme et clavier mécanique)

Daniel
Messages : 10818
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] SDDRIVE

Message par Daniel » 08 nov. 2018 19:53

Les cartes microSD n'ont pas de système de protection en écriture. Même si elles en avaient un, comme les cartes SD, c'est un simple interrupteur qui n'interdit pas physiquement d'écrire sur la carte. Et il n'est pas testé par SDDRIVE car il faudrait une entrée supplémentaire.

Pour les testeurs l'EPROM est gratuite. Je dois faire encore quelques tests et si tout va bien je l'enverrai la semaine prochaine. Il faudra aussi mettre à jour le programme SDDRIVE.SEL. C'est plus facile, il suffit de copier le nouveau sur la carte.
Daniel
L'obstacle augmente mon ardeur.

Daniel
Messages : 10818
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] SDDRIVE

Message par Daniel » 09 nov. 2018 08:47

Le test de la nouvelle version avec le MO5 confirme la résolution du problème. Après appui sur le bouton Init le fichier .sd reste sélectionné.
Avec le TO8, en Basic 128 comme en Basic 1.0, c'est pareil : on ne perd plus la sélection.
Cependant il n'y a pas de miracle : si un programme s'autodétruit ou écrase des zones de travail du système le bouton Init ne le restaurera pas, c'est indépendant de SDDRIVE.

Au cours des tests il m'est venu une autre idée, je voudrais la creuser un peu avant de diffuser la version 2018.11.08 :

Six octets définissent le fichier .sd sélectionné. Dans les premières versions de SDDRIVE ces octets étaient dans la pile système, et quelques programmes très utilisateurs de PSHS/PULS les détruisaient. J'ai déplacé les six octets dans une autre zone, hors de la pile système, mais cette nouvelle zone est remise à zéro par le reset à chaud.

L'idée serait de mettre ces six octets à la fois dans la pile système et dans la nouvelle zone. S'ils sont détruits d'un côté on les retrouve de l'autre, et réciproquement. Et on les restaure aussitôt que possible là où ils ont été écrasés.

Si la méthode fonctionne, on éviterait l'écriture dans le MBR de la carte SD qui complique tout, n'est pas très propre et me gêne beaucoup.
Je vais essayer cette nouvelle méthode, pour pouvoir choisir en connaissance de cause la meilleure solution possible.

[Edit 12h00]
La nouvelle méthode a été programmée et testée, l'appui sur le bouton Init ne fait plus perdre la sélection. En conséquence :
- Abandon de la version 2018.11.08 (celle qui écrivait sur la carte SD). Elle ne sera pas diffusée
- La nouvelle version 2018.11.09 est candidate pour devenir la version officielle, après une période de test.

OlivierH a gagné une EPROM gratuite en remerciement de sa collaboration. Je l'envoie demain.
Pour les autres, conditions habituelles : viewtopic.php?f=10&t=9196

Rappel : Les pattes des EPROMs sont très fragiles et se tordent facilement. Il faut les retirer du support avec le plus grand soin.
La nouvelle EPROM doit être insérée avec beaucoup de délicatesse, sans forcer tant que toutes les pattes ne sont pas en bonne position.
Daniel
L'obstacle augmente mon ardeur.

Avatar du membre
Silou78
Messages : 192
Enregistré le : 11 févr. 2017 14:54
Localisation : Yvelines (78)

Re: [Thomson] SDDRIVE

Message par Silou78 » 09 nov. 2018 20:38

Bravo Daniel, ton ingéniosité n'arrête plus de nous épater ! :wink:
Sylvain
Les + malins et les + chanceux sont au sommet, les autres grenouillent.
La vie est un éternel combat contre soi-même.

OlivierH
Messages : 36
Enregistré le : 22 janv. 2017 00:42
Localisation : AUCH (Gers)
Contact :

Re: [Thomson] SDDRIVE

Message par OlivierH » 09 nov. 2018 20:54

Ouhaou!! Super tout ça :-)
Félicitations et merci Daniel :-)

Daniel
Messages : 10818
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] SDDRIVE

Message par Daniel » 09 nov. 2018 21:37

Pour ceux qui ont un programmateur d'EPROM je mets provisoirement la nouvelle version ici.
Je l'ajouterai officiellement à la page SDDRIVE du site dcmoto quand elle aura été suffisamment testée.
Finalement SDDRIVE.SEL n'est pas modifié, il faut utiliser la version de juillet ou de septembre 2018 (les deux sont identiques).

sddrive_rom_20181109.zip
(1.67 Kio) Téléchargé 5 fois
Daniel
L'obstacle augmente mon ardeur.

Daniel
Messages : 10818
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] SDDRIVE

Message par Daniel » 11 nov. 2018 08:29

Pour compléter les tests sur MO5, j'ai essayé la version 2018.11.09 de SDDRIVE avec trois programmes TO8 qui utilisent beaucoup la pile système. Ils avaient du être modifiés pour fonctionner avec les versions antérieures à 2018.07.02 :
- Space Project
- TO8deMODed
- Mission: Liftoff

Les trois fonctionnent bien.
S'il n'y a pas de retours négatifs dans la semaine qui vient, la version 2018.11.09 deviendra la prochaine version officielle.

Remarque : La version .sd de Space Project a été créée en décembre 2014 pour automatiser le changement de disquette entre la première et la deuxième partie. Depuis le 2 juillet 2018 les modifications des contrôleurs CS91-280 et SDDRIVE ont nécessité une petite modification. Il y a sur le site deux versions .sd de Space Project, à choisir en fonction de la date de l'EPROM de votre contrôleur. Si vous utilisez la mauvaise version le changement de disquette ne fonctionne pas et la démonstration se bloque au chargement de la deuxième partie (Shuttle Medley). Si vous utilisez la bonne version la première et la deuxième partie s'enchaînent automatiquement sans message et sans intervention.
Daniel
L'obstacle augmente mon ardeur.

OlivierH
Messages : 36
Enregistré le : 22 janv. 2017 00:42
Localisation : AUCH (Gers)
Contact :

Re: [Thomson] SDDRIVE

Message par OlivierH » 13 nov. 2018 12:58

Daniel a écrit :
09 nov. 2018 08:47
OlivierH a gagné une EPROM gratuite en remerciement de sa collaboration. Je l'envoie demain.
Reçue :)

Testée ok sur un MO5 clavier gomme et un MO5 clavier mécanique :)

Merci :-)

Daniel
Messages : 10818
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] SDDRIVE

Message par Daniel » 13 nov. 2018 16:11

Merci pour le retour !
J'équiperai les nouveaux contrôleurs SDDRIVE de l'EPROM 2018.11.09 (sauf si un problème est signalé entre temps).
Daniel
L'obstacle augmente mon ardeur.

Daniel
Messages : 10818
Enregistré le : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] SDDRIVE

Message par Daniel » 15 nov. 2018 20:14

L'utilisation du contrôleur SDDRIVE avec le TO7/70 en BASIC 128 déroute parfois les utilisateurs. Pour faciliter les opérations j'ai ajouté un paragraphe spécial dans la documentation : http://dcmoto.free.fr/bricolage/sddrive/index.html

Les explications concernent la version 20181109 de l'EPROM du contrôleur. Avec d'autres versions la procédure peut être très légèrement différente, si vous ne la connaissez pas demandez de l'aide dans ce fil de discussion.

A noter un petit bug pas bien gênant : au premier lancement du BASIC 128 un écran SDDRIVE incorrect s'affiche. Il suffit d'appuyer sur le bouton d'initialisation et au second lancement tout fonctionne normalement. Avec l'émulateur dcmoto le bug ne se produit pas, et sur la vraie machine il n'est pas facile de déterminer la cause de l'anomalie. Donc pour l'instant il n'y a pas de correction prévue.
Daniel
L'obstacle augmente mon ardeur.

Répondre