Page 5 sur 20

Re: Générateur de cours - TI83PCE/84+CE/82Avanced

Message non luPosté: 03 Mai 2017, 13:03
de Adriweb
Tout simplement car tivars_lib ne gère pas les 68k, et je n'ai aucunement prévu de le faire.
Si quelqu'un a suffisamment de temps à "perdre" pour y ajouter le support de formats 68k et faire une pull request, tant mieux, mais ce n'est pas moi qui y passerait de mon temps, il y a déjà assez de boulot par ailleurs.
Mais en attendant, kCreator fonctionne, pour autant que je sache, et n'a pas de raison de disparaître tant qu'il est utilisable et utilisé.
Je le redis, si la partie z80 (à scinder de la partie 68k si besoin donc) de GX se retrouve être mieux faite via tivars_lib+choses de wistaro, alors on pourra réfléchir à son remplacement, mais en attendant, les choses seront distinctes et disponibles en parallèle.

Pour z80 et eZ80, les formats sont similaires et peuvent-être gérés par un même code commun (mêmes tokens, en gros, ou du moins ajouts incrémentaux par modèles/versions), mais créer un programme 68k est bien différent, au niveau du format de fichier, du vartype, des tokens, etc. C'est tout simplement autre chose qui n'a donc pas sa place au sein de tivars_lib (qui aurait pu s'appeler tiz80vars_lib, si c'est le soucis) s'occupant uniquement d'un jeu de formats suffisamment identiques pour être mis en commun au sein d'un même code (les différences mineures, je les gère (une partie du moins), justement, selon le modèle/type/...).

Je parle bien évidemment d'une lib qui parse/génère dynamiquement et correctement les fichiers. GX se permet de gérer davantage formats en même temps car concatène des bouts hardcodés sans avoir donc à se préoccuper de véritablement avoir à gérer tel ou tel format de manière maintenable facilement en cas de changement/évolution (pas forcément à tort, coder d'autres trucs beaucoup plus génériques et complexes, dans le contexte de création de toujours la même chose aurait été une perte de temps au début, même si c'était pour en gagner dans le futur).
Comme je l'avais déjà dit, avoir à gérer ceci est un cas d'exemple parfait pour de l'orienté objet, ce qui a motivé mon choix d'architecture pour tivars_lib - il est ridiculement simple d'ajouter le support d'un format : un héritage/implem d'une interface + 2 méthodes à coder, c'est tout.

Par ailleurs, je me "fous" des z80 non conformes aussi, en gros :P Le but premier est la CE (et aussi la 82A, Wistaro insistant sur ce point), et il se trouve que le format étant identique ou presque sur les autres z80, ça passe aussi - donc tant mieux pour ceux qui utilisent des 83+/84+ et qui pourront utiliser ça cette année ou dans d'autres contextes, ils ont de la chance.

Re: [Projet] Générateur de cours - TI83PCE/84+CE/82Avanced

Message non luPosté: 03 Mai 2017, 13:21
de Adriweb
Ah, et j'ai oublié de préciser... Je n'y connais rien en 68k, ni n'ai la volonté de passer des heures sur un sujet qui ne m'intéresse en gros pas (format de fichiers 68k et tokens associés...) ;)

Par contre, par abus de bonté, je peux forker tivars_lib, vider tout ce qui est relatif aux z80, et laisser à qui connait suffisamment les 68k implémenter les méthodes nécessaires pour que tout marche d'"un coup" une fois le nécessaire rempli dans le code (c'est beau l'orienté objet, hein). Pour notre cas de génération de texte, uniquement le vartype de programme (je suppose) est nécessaire. Malheureuesment, c'est probablemetn le plus chiant, à cause de la gestion des tokens.

Re: [Projet] Générateur de cours - TI83PCE/84+CE/82Avanced

Message non luPosté: 03 Mai 2017, 13:47
de Wistaro
Critor, mon but initial n'était pas de remplacer mViewer GX Creator, mais simplement de proposer une solution rapide de génération de cours accessible à un maximum de modèle z80 et ez80.
Certaines z80 ont déjà TxtView, qui est très bien, il faut bien évidemment le garder.
Mais pour certains modèle, côté z80 (82 Avanced, TI-82Stats, etc..) et ez80, il n'existe rien à ma connaissance.

Je suis bien conscient qu'il est possible de faire un générateur en C, ou directement en Assembleur, probablement bien plus puissant que ce générateur-là. Mais je le répète, il faut trouver des gens motivés pour le faire, que ces gens le fassent, qu'un tuto/page de présentation soit rédigé...
Le bac arrive à grand pas, et le temps manque.

Si j'avais su, j'aurais mis l'idée en route bien avant, mais je restais persuadé que des spécialistes peut-être bien plus expérimentés que moi allaient le faire...

Je vais faire tout le nécessaire pour avoir rapidement un outil fonctionnel et agréable à utiliser.


@Adriweb: En plus de la 82A et des ez80, je suppose qu'il n'est pas très compliqué de générer aussi pour les z80 obsolètes ne disposant pas d'un lecteur.
Il suffira simplement de mon côté d'enlever les caractères spéciaux et passer en majuscule.

Re: [Projet] Générateur de cours - TI83PCE/84+CE/82Avanced

Message non luPosté: 03 Mai 2017, 18:32
de Wistaro
Le générateur de cours en fullJS est désormais opérationnel (du moins au niveau génération du code), cf mon dernier commit: https://github.com/WilliamRomiguieres/t ... 3eb2f4d077

Il permet l'ajout automatique de menus.
Appuyez sur Echap au début pour ne pas générer de menu et faire de la conversion "classique".

Qu'en pensez-vous? :)

Par contre, Adriweb, je n'arrive pas à générer le 8xp (cf js/courseGenerator.js, ligne 120).
J'ai des erreurs dans la console :
Code: Tout sélectionner
tivars_test.data Failed to load resource: the server responded with a status of 404 (Not Found)
tivars_test.js:1 Uncaught Error: Not Found : http://localhost/ticonverterRepos/tivars_test.data
    at XMLHttpRequest.xhr.onload (tivars_test.js:1)
/scripts/z80text/tivars_test.js.mem Failed to load resource: the server responded with a status of 404 (Not Found)
tiplanet.org/scripts/z80text/tivars_test.js:22 Uncaught could not load memory initializer /scripts/z80text/tivars_test.js.mem
courseGenerator.js:129 Uncaught TypeError: Cannot read property 'createNew' of undefined
    at generateCourse (courseGenerator.js:129)
    at HTMLButtonElement.onclick (createCourseGUI.php:1)

Malgré l'inclusion des lib file_saver et tivar_test. J'ai tenté avec tivar_test en local, même problème.

Il me manque tivars_test.data et tivars_test.js.mem

La popup à la fin est juste pour debug le code (pour moi, m'assurer que ça ne génère pas n'importe quoi. Evidemment, ça va disparaître.)

Re: [Projet] Générateur de cours - TI83PCE/84+CE/82Avanced

Message non luPosté: 03 Mai 2017, 18:54
de Adriweb
Ben, l'erreur est pourtant claire, non ? :P Bref, prends les fichiers de la pièce jointe, tout est nécessaire, y compris le .data et .mem.
Mais attention, mon truc n'est pas final non plus côté lib emscripten, j'ai des choses à revoir encore.

En tout cas, je souhaite que l'on ait un repo git propre et dédié à ce projet, bien plus simple à gérer. Je vais voir si je peux créer ça sous l'orga TI-Planet...
Une idée de nom ?

Re: [Projet] Générateur de cours - TI83PCE/84+CE/82Avanced

Message non luPosté: 03 Mai 2017, 18:58
de Wistaro
Adriweb a écrit:Ben, l'erreur est pourtant claire, non ? :P Bref, prends les fichiers de la pièce jointe, tout est nécessaire, y compris le .data et .mem.
Mais attention, mon truc n'est pas final non plus côté lib emscripten, j'ai des choses à revoir encore.

En tout cas, je souhaite que l'on ait un repo git propre et dédié à ce projet, bien plus simple à gérer. Je vais voir si je peux créer ça sous l'orga TI-Planet...
Une idée de nom ?


Après bidouillage, j'ai réussit.
Mais j'ai des erreurs:
Code: Tout sélectionner
js/tivars_test.js:1 tivars_lib ready!
js/tivars_test.js:1 1
js/tivars_test.js:1 1
printErr @ js/tivars_test.js:1
abort @ js/tivars_test.js:22
Dt @ js/tivars_test.js:15
Zd @ js/tivars_test.js:7
_d @ js/tivars_test.js:7
yt @ js/tivars_test.js:15
dynCall_viiii_11
TIVarFile$saveVarToFile
proto.(anonymous function) @ js/tivars_test.js:1
generateCourse @ courseGenerator.js:132
onclick @ createCourseGUI.php:1
js/tivars_test.js:22 Uncaught abort(1) at Error
    at jsStackTrace (http://localhost/ticonverterRepos/js/tivars_test.js:1:26548)
    at stackTrace (http://localhost/ticonverterRepos/js/tivars_test.js:1:26719)
    at abort (http://localhost/ticonverterRepos/js/tivars_test.js:22:9612)
    at Array.Dt (http://localhost/ticonverterRepos/js/tivars_test.js:15:5269)
    at Array.Zd (http://localhost/ticonverterRepos/js/tivars_test.js:7:68199)
    at Array._d (http://localhost/ticonverterRepos/js/tivars_test.js:7:69987)
    at yt (http://localhost/ticonverterRepos/js/tivars_test.js:15:4870)
    at dynCall_viiii_11 (eval at makeDynCaller (http://localhost/ticonverterRepos/js/tivars_test.js:1:65376), <anonymous>:4:12)
    at TIVarFile$saveVarToFile (eval at new_ (http://localhost/ticonverterRepos/js/tivars_test.js:1:148563), <anonymous>:10:1)
    at TIVarFile.proto.(anonymous function) [as saveVarToFile] (http://localhost/ticonverterRepos/js/tivars_test.js:1:56086)
If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.
abort @ js/tivars_test.js:22
Dt @ js/tivars_test.js:15
Zd @ js/tivars_test.js:7
_d @ js/tivars_test.js:7
yt @ js/tivars_test.js:15
dynCall_viiii_11
TIVarFile$saveVarToFile
proto.(anonymous function) @ js/tivars_test.js:1
generateCourse @ courseGenerator.js:132
onclick @ createCourseGUI.php:1



Pour le nom...
CeZ80Creator? CTIBCreator?
(Course TI-Basic Creator?)

Pour le github, ouais je pense que c'est mieux.

Re: [Projet] Générateur de cours - TI83PCE/84+CE/82Avanced

Message non luPosté: 03 Mai 2017, 19:03
de Adriweb
essaye de mettre les trucs sous une architecture /scripts/z80text/*. Ce path est un peu hardcodé pour le moment...

Re: [Projet] Générateur de cours - TI83PCE/84+CE/82Avanced

Message non luPosté: 03 Mai 2017, 19:05
de Wistaro
Adriweb a écrit:essaye de mettre les trucs sous une architecture /scripts/z80text/*. Ce path est un peu hardcodé pour le moment...


J'ai inclus toutes les libs de ton zip dans mon dossier js et dans mon dossier script,sans succès.
Les logs 'erreurs sont:
Code: Tout sélectionner
tivars_test.js:22 Uncaught abort(1) at Error
    at jsStackTrace (http://localhost/ticonverterRepos/js/tivars_test.js:1:26548)
    at stackTrace (http://localhost/ticonverterRepos/js/tivars_test.js:1:26719)
    at abort (http://localhost/ticonverterRepos/js/tivars_test.js:22:9612)
    at Array.Dt (http://localhost/ticonverterRepos/js/tivars_test.js:15:5269)
    at Array.Zd (http://localhost/ticonverterRepos/js/tivars_test.js:7:68199)
    at Array._d (http://localhost/ticonverterRepos/js/tivars_test.js:7:69987)
    at yt (http://localhost/ticonverterRepos/js/tivars_test.js:15:4870)
    at dynCall_viiii_11 (eval at makeDynCaller (http://localhost/ticonverterRepos/js/tivars_test.js:1:65376), <anonymous>:4:12)
    at TIVarFile$saveVarToFile (eval at new_ (http://localhost/ticonverterRepos/js/tivars_test.js:1:148563), <anonymous>:10:1)
    at TIVarFile.proto.(anonymous function) [as saveVarToFile] (http://localhost/ticonverterRepos/js/tivars_test.js:1:56086)
If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.

Re: [Projet] Générateur de cours - TI83PCE/84+CE/82Avanced

Message non luPosté: 03 Mai 2017, 19:37
de Adriweb
Ben oui, tu utilises "/ticonverterRepos/js/" au lieu de "/scripts/z80text/" comme j'ai dit :P

Mais cette bizarrerie devrait partir,de toute façon, quand j'aurais amélioré certains trucs au niveau du process de build en lui-même.

Re: [Projet] Générateur de cours - TI83PCE/84+CE/82Avanced

Message non luPosté: 03 Mai 2017, 19:45
de Wistaro
Nouveau commit, j'avais oublié un truc (plutôt important d'ailleurs x) )
https://github.com/WilliamRomiguieres/t ... a796dd3334

Adriweb a écrit:Ben oui, tu utilises "/ticonverterRepos/js/" au lieu de "/scripts/z80text/" comme j'ai dit :P

Mais cette bizarrerie devrait partir,de toute façon, quand j'aurais amélioré certains trucs au niveau du process de build en lui-même.





Pareil :(

Code: Tout sélectionner
Uncaught abort(1) at Error
    at jsStackTrace (http://localhost/ticonverterRepos/scripts/z80text/tivars_test.js:1:26548)
    at stackTrace (http://localhost/ticonverterRepos/scripts/z80text/tivars_test.js:1:26719)
    at abort (http://localhost/ticonverterRepos/scripts/z80text/tivars_test.js:22:9612)
    at Array.Dt (http://localhost/ticonverterRepos/scripts/z80text/tivars_test.js:15:5269)
    at Array.Zd (http://localhost/ticonverterRepos/scripts/z80text/tivars_test.js:7:68199)
    at Array._d (http://localhost/ticonverterRepos/scripts/z80text/tivars_test.js:7:69987)
    at yt (http://localhost/ticonverterRepos/scripts/z80text/tivars_test.js:15:4870)
    at dynCall_viiii_11 (eval at makeDynCaller (http://localhost/ticonverterRepos/scripts/z80text/tivars_test.js:1:65376), <anonymous>:4:12)
    at TIVarFile$saveVarToFile (eval at new_ (http://localhost/ticonverterRepos/scripts/z80text/tivars_test.js:1:148563), <anonymous>:10:1)
    at TIVarFile.proto.(anonymous function) [as saveVarToFile] (http://localhost/ticonverterRepos/scripts/z80text/tivars_test.js:1:56086)
If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.