Page 1 sur 4

Nouveau logiciel éducatif

Posté : 18 juin 2018 14:03
par hadessuk
Salut,

J'ai numérisé (scanné et tapé!) et mis à disposition un logiciel éducatif sur les additions que mon père avait écrit en stage IUFM. J'ai le scan du listing, et j'ai tout tapé à la main, donc il y a peut-être des fautes et des typos.

https://github.com/hadess/inondation-d-additions

Dans un premier temps, j'aimerais pouvoir générer des disquettes du logiciel, sous Linux, peut-être avec un fichier de boot pour démarrer automatiquement à partir des menus. Je suis prêt à écrire ce code moi même, mais je ne connais pas le format disque des disquettes Thomson[1].

Une fois que j'aurais réussi ça, je voulais adapter le logiciel pour qu'il tourne sur TO8, car à l'éopque il ne fonctionnait que sur TO9 (mon père emmenait sa disquette de la maison, et le logiciel ne tournait pas sur les ordis de l'IUFM).

Merci!

[1]: Si qqun avait aussi les infos sur le format de cartouches Memo7 aussi, Teo refuse de charger la cartouche de Logo qui est sur le site de DCMOTO.

Re: Nouveau logiciel éducatif

Posté : 18 juin 2018 16:10
par OlivierP
Bonjour,

Il y a un sujet à ce propos qui donne quelques outils ainsi qu'un lien vers un tutoriel : viewtopic.php?p=120145#p120143

Re: Nouveau logiciel éducatif

Posté : 18 juin 2018 16:35
par hadessuk
Voilà donc le fil que je cherchais.

C'est pas des plus simples, et je n'ai pas accés à une machine Windows pour faire ça de manière régulière, donc il me faudra trouver un moyen d'ajouter ces fonctionnalités dans Teo pour scripter la conversion.

Merci!

Re: Nouveau logiciel éducatif

Posté : 18 juin 2018 17:39
par Zaxxon
Salut,

Le plus simple pour entrer un programme Basic à partir d'un fichier texte sur Thomson est l'option "Simuler le clavier" de Dcmoto.
tu crées une disquette (menu support amovible, charger, et donner un nom qui n'existe pas; dcmoto te proposeras de la créer).

Tu la formates, et le tour est joué, tu pourras sauvegarder ton programme.

Concernant ton programme, je l'ai rentré sur Thomson, mais le listing comporte des erreurs, j'en ai corrigé une ou deux, mais il en reste des plus problématiques. Notamment la ligne 30 où il doit manquer quelque chose , et surtout la ligne 2115 ou le code écrit à la main nécessite d'être réécrit (et de comprendre ce que ton père a voulu écrire) et qui amène une erreur ligne 2205.

Je te joins la disquette au format fd qui te permettra d'avancer et de travailler avec Teo (la ligne 30 et 2115 à modifier donc, j'ai fait quelques essais).
Innondation.zip
Disquette Innondation à corriger
(7.76 Kio) Téléchargé 36 fois

Re: Nouveau logiciel éducatif

Posté : 18 juin 2018 18:42
par hadessuk
Zaxxon a écrit :
18 juin 2018 17:39
(...)
Tu la formates, et le tour est joué, tu pourras sauvegarder ton programme.
C'est ce que j'ai retenu du fil.
Zaxxon a écrit :
18 juin 2018 17:39
Concernant ton programme, je l'ai rentré sur Thomson, mais le listing comporte des erreurs
(...)
Pas très étonnant, j'ai passé plus de 5 heures à tout rentrer, j'avais les yeux qui louchaient à la fin.
Zaxxon a écrit :
18 juin 2018 17:39
Je te joins la disquette au format fd qui te permettra d'avancer et de travailler avec Teo (la ligne 30 et 2115 à modifier donc, j'ai fait quelques essais).
Super. En attendant que j'implémente ça dans Teo, ça me sera bien utile :)

Re: Nouveau logiciel éducatif

Posté : 18 juin 2018 18:58
par __sam__
Je ne sais pas ce qui différencie le format des dump ROM suivant les émulateur, mais les cartouches Logo (mo5, ou TO7/8/9/9+) du site logicielmoto sont ==> ici <==

Je présume qu'elles marchent nickel avec TEO et les autres vieux emuls TO7/70 ou MO5.

Re: Nouveau logiciel éducatif

Posté : 18 juin 2018 21:05
par Zaxxon
Il semblerait que j'ai le même problème sous TEO 1.8.3 sous windows avec le logo.


Que ce soit le dump provenant de logicielsmoto dont le lien a été fourni par _sam_ ou celui de dcmoto, sous Teo j'ai le message "nom d'en tête de memo incorrect :shock:".

Je testerais sous linux voir si ce problème est aussi présent.

J'ai fait une comparaison des deux fichiers avec mon éditeur hexadécimal, il n'a pas trouvé de différence entre les deux dumps.

Edit: Ce problème ne semble concerner que LOGO, dans la mesure où j'ai pu charger à titre d'essai le basic 128 et choplifter sans soucis (en faisant *.rom car Teo s'attends à des fichiers m7)

Re: Nouveau logiciel éducatif

Posté : 19 juin 2018 10:19
par hadessuk
Zaxxon a écrit :
18 juin 2018 21:05
(...)
Je testerais sous linux voir si ce problème est aussi présent.
Il est présent sous Linux, le code est partagé.
Zaxxon a écrit :
18 juin 2018 21:05
(...)
Ce problème ne semble concerner que LOGO, dans la mesure où j'ai pu charger à titre d'essai le basic 128 et choplifter sans soucis (en faisant *.rom car Teo s'attends à des fichiers m7)
L'en-tête du fichier de ROM:

Code : Tout sélectionner

00000000  00 00 00 00 00 20 4c 4f  47 4f 04 00 00 00 00 00  |..... LOGO......|
00000010  00 00 00 00 00 00 00 00  00 00 aa ff 01 16 00 c8  |................|
Le code de parsing:

Code : Tout sélectionner

    /* vérifie la taille du fichier */
    if ((length > 65536) || ((length % 4096) != 0)) 
        return TEO_ERROR_FILE_FORMAT;

    /* calcule checksum */
    for (i = 0; i < 26; i++) checksum += memo_header[i];
    if ((unsigned char)checksum != (unsigned char)memo_header[26])
        return TEO_ERROR_MEMO_HEADER_CHECKSUM;

    /* first character */
    if (memo_header[0] != ' ')
        return TEO_ERROR_MEMO_HEADER_NAME;

    /* vérifie la présence du terminateur du nom de cartouche */
    for (i = 1; i < 25; i++)
       if (memo_header[i] < ' ')
           break;
    if (memo_header[i] != '\x04')
        return TEO_ERROR_MEMO_HEADER_NAME;

    return 0;
Faudrait que je regarde le code de MESS, pour comparer.

Re: Nouveau logiciel éducatif

Posté : 20 juin 2018 01:29
par Zaxxon
hadessuk a écrit :
19 juin 2018 10:19
Il est présent sous Linux, le code est partagé.
Merci, je l'utilise depuis longtemps déja ;)

Donc là suis sous Windows, je n'ai pas les sources sous les yeux, mais j'ai trouvé la cause du soucis et généré une memo7 qui fonctionne sous TEO.
C'est bien les tests

Code : Tout sélectionner

if (memo_header[0] != ' ')
        return TEO_ERROR_MEMO_HEADER_NAME;
 
et

Code : Tout sélectionner

if (memo_header[i] < ' ')
           break;
qui posent soucis.
Si on regarde le header du dump LOGO

Code : Tout sélectionner

00 00 00 00 00 20 4C 4F 47 4F 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 AA
Les premiers caractères sont des 0 alors que Teo s'attend au minimum à un espace (32, soit 20 en hexa).

Les cartouches Choplifter testées et Basic utilisent x20, et celle de logo, nous avons des 0.

Je ne sais pas si c'est Teo, ou le dump de la cartouche qui a un soucis, et si cela passe sur un vrai Thomson. Je graverais sur eprom le logo pour tester son bon fonctionnement sur mon TO8 (ça me rappellera mes cours de primaire :D).

Donc J'ai modifié la cartouche basiquement, en remplaçant ces 0 par des 20 et recalculé le checksum. ça fait des espaces sur l'écran d'accueil, mais ça fonctionne, il faudrait certainement décaler le texte. Je la mets en pièce jointe si tu veux l'utiliser sur Teo.

Edit : J'ai mis en pièce jointe une nouvelle version sans les espaces disgracieux :)

A savoir pour les memo7, en x1A, se trouve le checksum des valeurs 0 à x19 auquel on additionne x55. Il y a aussi un indicateur de fin de nom de fichier dans l'entête égal à x04.

Re: Nouveau logiciel éducatif

Posté : 20 juin 2018 10:04
par hadessuk
Je l'ai pas mentionné dans le fil, mais j'avais pondu un patch hier soir pour Téo que j'avais demandé à François de vérifier.

Le patch fait simplement que les octet NUL avant l'espace qui démarre le label soient ignorés. C'est aussi ce que fait MAME:
https://github.com/mamedev/mame/blob/ma ... n.cpp#L312

Re: Nouveau logiciel éducatif

Posté : 20 juin 2018 13:05
par Zaxxon
Très bonne idée, je voulais également proposer un patch pour Téo, après avoir testé sur un vrai to8.

Après, la question que je me pose, est-ce que le dump est standard à une vraie memo7 logo (ce que je pense car le checksum est correct)? Si quelqu'un a une vraie cartouche de logo?

En parlant de memo7, j'ai un soucis avec le basic 128 que je n'arrive pas à lancer finalement (j'avais juste testé le chargement), quand je le choisis, Téo ne répond plus. Je vais creuser..

Re: Nouveau logiciel éducatif

Posté : 20 juin 2018 22:08
par hadessuk
Le contournement pour la vérification de la validité de la ROM LOGO est maintenant dans le dépôt de Teo.

Re: Nouveau logiciel éducatif

Posté : 21 juin 2018 10:21
par jasz
En ligne 2115 c'est une erreur assez banale. Pour la corriger il faut
NB1=NB1(W,N):NB2=NB2(W,N):RESULT=RESULT(W,N)
Ce qui nous emmène à une erreur en ligne 2205
La syntaxe du PRINT USING n'est pas correct.
Il faut PRINT USING A$"###",NB1

;)

Re: Nouveau logiciel éducatif

Posté : 21 juin 2018 11:50
par hadessuk
jasz a écrit :
21 juin 2018 10:21
[supp modo : quote inutile]
J'ai corrigé ces 2 lignes, ainsi que les autres utilisations de PRINT USING. Je ne sais toujours pas si ça fonctionne ;)

Re: Nouveau logiciel éducatif

Posté : 21 juin 2018 15:15
par jasz
Il faut PRINT USING A$"###";NB1

Ooops :oops: