Nouveau logiciel éducatif

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 : Carl, Papy.G, fneck

hadessuk
Messages : 126
Enregistré le : 15 déc. 2016 18:01

Nouveau logiciel éducatif

Message par hadessuk » 18 juin 2018 14:03

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.

Avatar du membre
OlivierP
Messages : 644
Enregistré le : 21 sept. 2009 15:50
Localisation : IDF

Re: Nouveau logiciel éducatif

Message par OlivierP » 18 juin 2018 16:10

Bonjour,

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

hadessuk
Messages : 126
Enregistré le : 15 déc. 2016 18:01

Re: Nouveau logiciel éducatif

Message par hadessuk » 18 juin 2018 16:35

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!

Zaxxon
Messages : 338
Enregistré le : 22 mai 2013 01:10
Localisation : Paris / Eure

Re: Nouveau logiciel éducatif

Message par Zaxxon » 18 juin 2018 17:39

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é 21 fois
Thomas,

hadessuk
Messages : 126
Enregistré le : 15 déc. 2016 18:01

Re: Nouveau logiciel éducatif

Message par hadessuk » 18 juin 2018 18:42

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 :)

__sam__
Messages : 4077
Enregistré le : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Nouveau logiciel éducatif

Message par __sam__ » 18 juin 2018 18:58

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.
Samuel.
A500 Vampire V2+, A1200(030@50mhz/fpu/64mb/cf 8go),
GVP530 (MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8. New Teo 1.8.4 8)

Zaxxon
Messages : 338
Enregistré le : 22 mai 2013 01:10
Localisation : Paris / Eure

Re: Nouveau logiciel éducatif

Message par Zaxxon » 18 juin 2018 21:05

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)
Thomas,

hadessuk
Messages : 126
Enregistré le : 15 déc. 2016 18:01

Re: Nouveau logiciel éducatif

Message par hadessuk » 19 juin 2018 10:19

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.

Zaxxon
Messages : 338
Enregistré le : 22 mai 2013 01:10
Localisation : Paris / Eure

Re: Nouveau logiciel éducatif

Message par Zaxxon » 20 juin 2018 01:29

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.
Fichiers joints
logoteo.zip
Dump Memo7 Logo modifié pour Teo.
(12.91 Kio) Téléchargé 10 fois
Thomas,

hadessuk
Messages : 126
Enregistré le : 15 déc. 2016 18:01

Re: Nouveau logiciel éducatif

Message par hadessuk » 20 juin 2018 10:04

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

Zaxxon
Messages : 338
Enregistré le : 22 mai 2013 01:10
Localisation : Paris / Eure

Re: Nouveau logiciel éducatif

Message par Zaxxon » 20 juin 2018 13:05

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..
Thomas,

hadessuk
Messages : 126
Enregistré le : 15 déc. 2016 18:01

Re: Nouveau logiciel éducatif

Message par hadessuk » 20 juin 2018 22:08

Le contournement pour la vérification de la validité de la ROM LOGO est maintenant dans le dépôt de Teo.

jasz
Messages : 426
Enregistré le : 05 oct. 2016 20:05
Localisation : Quelque part dans le 31

Re: Nouveau logiciel éducatif

Message par jasz » 21 juin 2018 10:21

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

;)

hadessuk
Messages : 126
Enregistré le : 15 déc. 2016 18:01

Re: Nouveau logiciel éducatif

Message par hadessuk » 21 juin 2018 11:50

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 ;)

jasz
Messages : 426
Enregistré le : 05 oct. 2016 20:05
Localisation : Quelque part dans le 31

Re: Nouveau logiciel éducatif

Message par jasz » 21 juin 2018 15:15

Il faut PRINT USING A$"###";NB1

Ooops :oops:

Répondre