Page 1 sur 2

[VG5000] Ajouter des commandes au BASIC ?

Publié : 17 oct. 2018 23:19
par Mokona
Hello,

Il y a un peu plus d'un mois, sur le sujet [Philips] VG5000 Forth, Papy.G posait cette question :
Papy.G a écrit : 10 sept. 2018 22:15 On ne peut pas ajouter des commandes au Basic du VG5000µ?
J'ai un bon morceau de la réponse, mais comme il ne s'agit pas de Forth, j'ouvre un nouveau sujet.

La réponse simple : non, pas avec la ROM sans modification, car la tokenisation tout comme l'évaluation comporte de nombreuses valeur "en dur" dans le code assembleur, et aucun hook pour ajouter quoi que ce soit.

J'ai écrit sur mon site une analyse plus détaillée et plus complète.

Re: [VG5000] Ajouter des commandes au BASIC ?

Publié : 18 oct. 2018 07:30
par Carl
Merci pour ce nouvel article très clair...
Une version 2.0 du basic avec de nouvelles fonctions comme la gestion de la carte vg5232 ou bien quelques commandes pseudo graphiques seraient bien...
A propos du passage des programmes du basic 1.1 vers une nouvelle version...
Les programmes sont enregistrés sous la forme tokenisée mais il est toujours possible de passer de cette forme à la forme ASCII en enregistrant le programme avec l’option basicode ?
Carl

Re: [VG5000] Ajouter des commandes au BASIC ?

Publié : 18 oct. 2018 20:56
par Mokona
Carl a écrit : 18 oct. 2018 07:30 Une version 2.0 du basic avec de nouvelles fonctions comme la gestion de la carte vg5232 ou bien quelques commandes pseudo graphiques seraient bien...
C'est tout en bas de ma liste, quand j'aurais fini de tout comprendre et en espérant trouver la place nécessaire (il reste un peu de place non utilisée à la fin de la ROM).
Les programmes sont enregistrés sous la forme tokenisée mais il est toujours possible de passer de cette forme à la forme ASCII en enregistrant le programme avec l’option basicode ?
Je ne sais pas... encore.

Re: [VG5000] Ajouter des commandes au BASIC ?

Publié : 18 oct. 2018 21:04
par Markerror
Article très intéressant ! On sent que le code de l'interpréteur n'a pas été conçu pour être facilement portable. Seule solution "propre", reconstituer un source assembleur pour ensuite pouvoir compiler des versions modifiées. Au moins, changer la rom Basic n'est pas compliquée sur la machine, c'est déjà ça.

Pour sauvegarder le code Basic, le mieux, c'est encore l'émulateur de Daniel. Une petite impression du source et hop, on se retrouve avec un beau fichier texte qu'on peut ensuite réinjecter :-).

Re: [VG5000] Ajouter des commandes au BASIC ?

Publié : 18 oct. 2018 23:45
par Mokona
Reconstituer le code assembleur, c'est ce que je fais petit à petit (d'où les noms des labels dans l'article, qui sont de mon cru).

C'est long, mais ça va de plus en plus vite au fur et à mesure que les "call" au début mystérieux se transforment en labels compréhensifs.

L'idée étant au final de fournir le listing ROM complet commenté pour les amateurs de bidouillages de ROM.

Re: [VG5000] Ajouter des commandes au BASIC ?

Publié : 17 déc. 2020 00:07
par Mokona
Mokona a écrit : 17 oct. 2018 23:19 La réponse simple : non, pas avec la ROM sans modification, car la tokenisation tout comme l'évaluation comporte de nombreuses valeur "en dur" dans le code assembleur, et aucun hook pour ajouter quoi que ce soit.

J'ai écrit sur mon site une analyse plus détaillée et plus complète.
Deux ans après, en dépilant d'anciennes notes que j'ai prise au fur et à mesure, voici un nouvel article dans lequel je détaille la méthode évoquée dans le livre « Clefs pour VG5000 » (avec une correction au passage dans ce livre truffé d'erreurs... mais qui fut bien pratique quand même).

Car au final, ajouter des commandes peut se faire, en quelque sorte, via l'utilisation de CALL, tout simplement. Ça fonctionne bien, et c'est facile à mettre en place (et cela a probablement été déjà été utilisé :), entre autre sur d'autres machines avec le BASIC Microsoft).

Re: [VG5000] Ajouter des commandes au BASIC ?

Publié : 17 déc. 2020 03:31
par joaopa
Mokona, c'est énorme le travail que tu as fait sur le commentaire de la ROM.

Félicitation et merci pour ce travail de titan.

Le commentaire sur la lecteur K7: du grand art. Ca va me permettre de mettre Zen et 8KLisp sur une ROM. J'étais bloqué sur la gestion des entrées-sorties.

Re: [VG5000] Ajouter des commandes au BASIC ?

Publié : 17 déc. 2020 08:30
par Markerror
Bonjour,

Bon, j'ai de la lecture en perpespective pour ce weke-end :-). Quand tu parles de CALL, c'est pour initlialiser de nouvelles commandes utilisables après dans le Basic ou les appeler directement ?

Re: [VG5000] Ajouter des commandes au BASIC ?

Publié : 17 déc. 2020 11:19
par hlide
Zen est l'assembleur ?

Re: [VG5000] Ajouter des commandes au BASIC ?

Publié : 17 déc. 2020 11:28
par Carl

Re: [VG5000] Ajouter des commandes au BASIC ?

Publié : 17 déc. 2020 20:03
par Mokona
joaopa a écrit : 17 déc. 2020 03:31 Le commentaire sur la lecteur K7: du grand art. Ca va me permettre de mettre Zen et 8KLisp sur une ROM. J'étais bloqué sur la gestion des entrées-sorties.
Si ça sert, ça me fait plaisir !

Re: [VG5000] Ajouter des commandes au BASIC ?

Publié : 18 déc. 2020 11:12
par Papy.G
Décidément, le VG5000 est gâté ces derniers temps! 8)

En combinant le Forth, L'Assembleur, le support SD, l'extension mémoire, on peut s'attendre à voir plus de logiciels être développés à l'avenir. :P

Re: [VG5000] Ajouter des commandes au BASIC ?

Publié : 18 déc. 2020 11:38
par Mokona
J'avoue que si le Forth pouvait supporter l'extension SD pour gérer les pages d'édition, je serais ravi.

J'ai mis ça dans ma liste si personne ne le fait avant, mais c'est très loin dans ma liste...

Re: [VG5000] Ajouter des commandes au BASIC ?

Publié : 18 déc. 2020 18:13
par Carl
Papy, et la carte son et la synthèse vocale...

Re: [VG5000] Ajouter des commandes au BASIC ?

Publié : 19 déc. 2020 15:57
par rendomizer
tres tres intéressent cependant Daniel m'a vivement reproché d'utiliser le BASIC et la il semble que ça passe ...