Logicielsmoto.com

Nous sommes le 28 Mar 2024, 15:59

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 10 messages ] 
Auteur Message
 Sujet du message: Format K7 thomson TO
MessagePosté: 27 Juin 2013, 23:25 
Hors ligne

Inscription: 24 Juin 2013, 19:06
Messages: 26
Bonsoir,

Je me suis décidé à regarder d'un peu plus près le format K7 thomson, en fouillant un peu partout sur Internet, j'ai récupéré queqlues informations.

Pour une k7 standard, Le format semble donc être de la forme :

10 * FF
2 * 0x013C
1 * type de bloc : 0x00,0x01, ou 0xff
1 * n (longueur du bloc)
1 * données
1 * checksum

J'ai cru lire qu'entre chaque bloc, il devait y avoir une pause, mais que devrait-elle contenir exactement? et combien de caractères devrait-elle durer?

Par ailleurs, j'avais dans le passé la table ascii du thomson TO7/70, que je ne retrouve plus, quelqu'un aurait-il un lien sous la main, afin de m'avoir à éviter de la regénrer à partir d'un émulateur?

Merci à vous et bonne soirée.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Format K7 thomson TO
MessagePosté: 28 Juin 2013, 07:03 
Hors ligne

Inscription: 27 Juin 2006, 19:44
Messages: 1061
Localisation: France (24)
Zaxxon a écrit:
J'ai cru lire qu'entre chaque bloc, il devait y avoir une pause, mais que devrait-elle contenir exactement?

"DCMOTO" ? Non, je plaisante :lol:

Il s'agit d'une suite de données "mortes". Donc à la limite, il peut y avoir n'importe quoi tant que c'est différent d'un en-tête de secteur.

Zaxxon a écrit:
et combien de caractères devrait-elle durer?

Ca dépend si l'écriture s'est faite sans arrêter le moteur ou s'il a été arrêté entre chaque bloc. A la louche, s'il a été arrêté, je dirais environ 70 octets. 0 s'il ne l'a pas été.

Zaxxon a écrit:
Par ailleurs, j'avais dans le passé la table ascii du thomson TO7/70, que je ne retrouve plus, quelqu'un aurait-il un lien sous la main, afin de m'avoir à éviter de la regénrer à partir d'un émulateur?

S'il s'agit du jeu de codes ASCII, il y en a une, par exemple, au bas de la page http://gowap.free.fr/Prog/Basic/MEMO7.html. A moins qu'il ne soit question d'un tirage graphique des caractères ?


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 28 Juin 2013, 13:46 
Hors ligne

Inscription: 24 Juin 2013, 19:06
Messages: 26
Merci Prehisto pour ce lien précieux et pour les conseils :)

il y a tout ce que je cherchais (je me souviens de l'explication des couleurs + commutation des blocs en basic) que j'avais à l'époque en photocopie.

Et la table ascii est celle que je cherchais.

Pour en revenir aux pauses, dans le cas d'un fichier ascii, entre chaque bloc de 255, je ne devrais pas avoir besoin d'en rajouter?

Même question pour les fichiers binaires (non protégés, sans structure de bloc étrange)?

Je regarde (mais j'ignore si j'aurais suffisamment de temps pour m y mettre sérieusement...) en ce moment ce format pour voir comment extraire les fichiers d'une k7, y rajouter des fichiers (un peu à la manière d'une archive avec un explorateur de fichier), et convertir des fichiers basics au format utf8 vers le te thomson.

Pour ce dernier point, j'ai trouvé un petit logiciel de Xavsnap en VisualBasic qui fonctionne très bien, mais étant sous linux, je me dis qu en C/C+ ce serait peut être plus pratique pour moi que de passer par une machine virtuelle :)

En tout cas le coup des checksums, j'ai été assez surpris de découvrir leur présence, c'était bien pensé :)

Bonne journée,


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 28 Juin 2013, 14:02 
Hors ligne

Inscription: 27 Juin 2006, 19:44
Messages: 1061
Localisation: France (24)
Zaxxon a écrit:
Pour en revenir aux pauses, dans le cas d'un fichier ascii, entre chaque bloc de 255, je ne devrais pas avoir besoin d'en rajouter?

Pour les fichiers ASCII, il vaut mieux en ajouter. Le chargement des fichiers ASCII se fait bloc par bloc généralement.

Zaxxon a écrit:
Même question pour les fichiers binaires (non protégés, sans structure de bloc étrange)?

Ça dépend ce que l'on veut faire du fichier. Mais en règle générale, les fichiers peuvent être inscrits à la volée, sans intervalle de bloc, oui.

Zaxxon a écrit:
En tout cas le coup des checksums, j'ai été assez surpris de découvrir leur présence, c'était bien pensé :)

Il en faut un minimum. Surtout pour ces satanées cassettes ;)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 29 Juin 2013, 22:54 
Hors ligne

Inscription: 24 Juin 2013, 19:06
Messages: 26
Bonsoir,

Merci Prehisto pour ces précisions.

Donc dans le cas d'import de fichiers ascii je vais rajouter une pause.

Au niveau des fichiers k7, saurais tu quelles seraient les différences au niveau du format MO par rapport aux k7 TO?

Bonne soirée.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 30 Juin 2013, 07:55 
Hors ligne

Inscription: 27 Juin 2006, 19:44
Messages: 1061
Localisation: France (24)
Zaxxon a écrit:
Au niveau des fichiers k7, saurais tu quelles seraient les différences au niveau du format MO par rapport aux k7 TO?


Un secteur MO est constitué comme-suit :

>=10 x 0x01
1 x 0x3c
1 x 0x5a
1 x type de bloc : 0x00,0x01, ou 0xff
1 x n+2 (taille du bloc)
n x donnée
1 x checksum

Maintenant que j'y pense, je te suggère, pour connaître les intervalles entre les secteurs, de procéder comme tu l'as déjà fait pour les fichiers k7 que tu as mis en ligne (avec un convertisseur pour k7 MO, bien sûr), puis de simplement lire le fichier avec un éditeur hexadécimal.

En règle générale :
    * Le bloc de descripteur de fichier est toujours suivi d'un temps de pause correspondant à l'arrêt puis relance du moteur (pour être sûr, il vaut mieux même multiplier mes estimations par 2 et mettre un intervalle d'au moins 150 octets).

    * Les blocs de données peuvent être séparés ou non par un intervalle représentant l'arrêt et la relance du moteur à l'écriture. Tout dépend de ce que le programme a à faire entre la lecture ou l'écriture de 2 deux blocs. S'il n'a pas grand chose à faire, comme actualiser/vérifier le checksum et copier les données, il y a peu de chances que le moteur du lecteur soit arrêté. S'il a beaucoup à faire, comme sur Assembler où il doit effectuer une compilation (et éventuellement des appels disquette) pour remplir le buffer de bloc avant écriture, le programme préférera arrêter le moteur entre chaque bloc de données.

Maintenant, ajouter un intervalle entre chaque bloc de données a aussi un avantage : pouvoir copier les fichiers de cassette à disquette à partir d'un logiciel, puisque les opérations disquette prennent du temps.

Ce qu'il faut savoir aussi, c'est que sur TO, le programme (qui reste à chaque fois à écrire entièrement) de lecture ou d'écriture d'un bloc se fait octet par octet, et il est laissé au libre arbitre du programmeur d'en faire ce qu'il veut. Il est donc possible d'écrire ou de lire les données cassette directement à l'emplacement mémoire désiré. Sur le MO, le Moniteur n'autorise que la lecture ou l'écriture d'un bloc, et il faut se coltiner les informations parasites comme la taille du bloc au début et le checksum à la fin, ce qui oblige à passer par un buffer intermédiaire. L'idéal aurait été un mélange des deux : des opérations Moniteur bloc par bloc, mais seulement avec les données.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 30 Juin 2013, 11:49 
Hors ligne

Inscription: 27 Juin 2006, 19:44
Messages: 1061
Localisation: France (24)
J'avais oublié de spécifier que ces deux modes sont repérables par l'offset 13 dans le descripteur de fichier : 0 si l'écriture du fichier s'est faite en une traite, une autre valeur si les blocs de données ont été écrits avec arrêt/redémarrage du moteur.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 01 Juil 2013, 09:03 
Hors ligne

Inscription: 24 Juil 2010, 16:08
Messages: 454
Localisation: France
Bonjour,
Avant de réécrire une fois de plus tous ces outils, il existe déjà des programmes pour la gestion des fichiers K5/K7:

http://pulkomandy.tk/projects/thomson/browser/Thomson/tools/xk5.c
xk5, réalisé par Prehisto, permet d'extraire les fichiers présents dans un K5

http://pulkomandy.tk/projects/thomson/browser/Thomson/tools/f2k5.cpp
f2k5, écrit par moi-même, permet de faire l'inverse (envelopper un fichier dans un K5).

http://pulkomandy.tk/projects/thomson/browser/Thomson/elec/CrO2/software
CrO2 est un outil associé à une interface USB permettant d'émuler le lecteur cassettes du MO5. Il est ainsi possible de charger des fichierss ur MO5 directement depuis un PC. Ce programme comporte également une interface graphique permettant de visualiser le contenu du fichier. Ce n'est pas complètement terminé, mais je pense que c'est une bonne base qu'il serait intéressant de compléter.

Ces fichiers sont également accessibles par SVN:
svn://pulkomandy.tk/thomson


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 01 Juil 2013, 12:27 
Hors ligne

Inscription: 27 Juin 2006, 19:44
Messages: 1061
Localisation: France (24)
C'est vrai que pas mal de softs existent déjà, mais ça ne dispense pas d'une petite mise en lumière.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 01 Juil 2013, 23:20 
Hors ligne

Inscription: 24 Juin 2013, 19:06
Messages: 26
Bonjour et merci à vous pour ces précisions

@Prehisto : merci pour ces détails pour les mo.
Effectivement j'avais besoin de ces lumières je ne m'etais pas penché sur le mo5.

Je les garde sous le coude pour la suite, je finalise ma version TO pour le moment.

@pulkomandy :
Merci pour ces précisions, ne connaissant pas ces outils, je me suis mis à développer mes propres outils pour les TO .

D'une manière générale je trouvais surtout des outils non opensource pour windows (ce qui n'est pas le cas pour tes liens) et surtout pour MO5.

Pour la version mo, elle pourra attendre donc :)

Je viens donc de finir de développer mon extracteur perso de fichiers k7 (TO) en c qui vaut ce qui vaut, mais qui semble fonctionner, et je vais finir mon empacteur k7 (et convertisseur ascii).

Ils seront mis sous sourceforge prochainement en license GPL, pour ceux que ça interessera (une fois bien testés).

Bonne soirée.


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 10 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 29 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
cron
Développé par phpBB® Forum Software © phpBB Group
Traduction par phpBB-fr.com