[VG5000] Ajouter des commandes au BASIC ?

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

Avatar de l’utilisateur
Mokona
Messages : 1040
Inscription : 17 déc. 2016 22:01
Localisation : Nord Est des Yvelines
Contact :

[VG5000] Ajouter des commandes au BASIC ?

Message 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.
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13253
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: [VG5000] Ajouter des commandes au BASIC ?

Message 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
Avatar de l’utilisateur
Mokona
Messages : 1040
Inscription : 17 déc. 2016 22:01
Localisation : Nord Est des Yvelines
Contact :

Re: [VG5000] Ajouter des commandes au BASIC ?

Message 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.
Markerror
Messages : 2121
Inscription : 31 oct. 2011 19:21
Localisation : Orléans
Contact :

Re: [VG5000] Ajouter des commandes au BASIC ?

Message 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 :-).
Avatar de l’utilisateur
Mokona
Messages : 1040
Inscription : 17 déc. 2016 22:01
Localisation : Nord Est des Yvelines
Contact :

Re: [VG5000] Ajouter des commandes au BASIC ?

Message 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.
Avatar de l’utilisateur
Mokona
Messages : 1040
Inscription : 17 déc. 2016 22:01
Localisation : Nord Est des Yvelines
Contact :

Re: [VG5000] Ajouter des commandes au BASIC ?

Message 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).
joaopa
Messages : 512
Inscription : 14 sept. 2013 12:17

Re: [VG5000] Ajouter des commandes au BASIC ?

Message 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.
Markerror
Messages : 2121
Inscription : 31 oct. 2011 19:21
Localisation : Orléans
Contact :

Re: [VG5000] Ajouter des commandes au BASIC ?

Message 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 ?
Avatar de l’utilisateur
hlide
Messages : 3469
Inscription : 29 nov. 2017 10:23

Re: [VG5000] Ajouter des commandes au BASIC ?

Message par hlide »

Zen est l'assembleur ?
Avatar de l’utilisateur
Mokona
Messages : 1040
Inscription : 17 déc. 2016 22:01
Localisation : Nord Est des Yvelines
Contact :

Re: [VG5000] Ajouter des commandes au BASIC ?

Message 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 !
Avatar de l’utilisateur
Papy.G
Modérateur
Messages : 3047
Inscription : 10 juin 2014 13:40
Localisation : Haute-Garonne/Gers

Re: [VG5000] Ajouter des commandes au BASIC ?

Message 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
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.
Avatar de l’utilisateur
Mokona
Messages : 1040
Inscription : 17 déc. 2016 22:01
Localisation : Nord Est des Yvelines
Contact :

Re: [VG5000] Ajouter des commandes au BASIC ?

Message 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...
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13253
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: [VG5000] Ajouter des commandes au BASIC ?

Message par Carl »

Papy, et la carte son et la synthèse vocale...
Avatar de l’utilisateur
rendomizer
Messages : 413
Inscription : 17 juin 2016 21:00
Contact :

Re: [VG5000] Ajouter des commandes au BASIC ?

Message par rendomizer »

tres tres intéressent cependant Daniel m'a vivement reproché d'utiliser le BASIC et la il semble que ça passe ...
Je ne suis qu'un utilisateur pas un pro
Répondre