THOMSON MO6 BASIC->ASM
Modérateurs : Papy.G, fneck, Carl
-
- Messages : 312
- Inscription : 01 févr. 2020 20:31
- Localisation : Rome - Italy
Re: THOMSON MO6 BASIC->ASM
disons que n'étant pas clair la documentation, je suis allé à des tentatives. C'est pourquoi je me suis ensuite tourné vers le forum.
Re: THOMSON MO6 BASIC->ASM
Il y a peut-être un problème de commutation de banques pour accéder aux variables du BASIC. A la page 203 on lit ceci :
Dans l'exemple de code, on ne voit pas l'appel à RESBAN, ni avant PTRGET, ni après.
En mode direct ce n'est peut-être pas nécessaire , c'est pourquoi ça marche. Mais pas en mode programme.
Autre point : A la ligne 30 il n'y a pas de signe % après le D. Ce n'est donc pas un entier, je suppose que ça peut causer des problèmes. Et en plus D n'est pas initialisé.
Cette procédure de passage de paramètres est très compliquée. Elle fonctionne certainement mais il faut parfaitement bien comprendre ce qu'on fait car la moindre erreur est fatale.
Code : Tout sélectionner
EFE6 RESBAN routine à appeler avant le premier appel à l'une
des six routines de lecture de paramètres de
façon à commuter BASIC vers la RAM du
programme. A appeler aussi après PTRGET pour
continuer l'analyse des paramètres, car
PTRGET commute la banque contenant la
variable.
En mode direct ce n'est peut-être pas nécessaire , c'est pourquoi ça marche. Mais pas en mode programme.
Autre point : A la ligne 30 il n'y a pas de signe % après le D. Ce n'est donc pas un entier, je suppose que ça peut causer des problèmes. Et en plus D n'est pas initialisé.
Cette procédure de passage de paramètres est très compliquée. Elle fonctionne certainement mais il faut parfaitement bien comprendre ce qu'on fait car la moindre erreur est fatale.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: THOMSON MO6 BASIC->ASM
Salut,
De toute façon, il faut stabiliser le Basic avant toutes implantations de routines en langage machine.
Le passage de données ne peut s'effectuée qu'avec une table de variable stable et initialisée.
Donc,
CLEAR pour la réservation de la mémoire de travail ASM et Basic (initialise les RAMTOP... valeurs système Basic et balises réservées)…
Puis, implantation de la routine avec le LOADM, pour ne pas écraser les vecteurs Basic.
Et initialiser toutes les variables, pour que les valeurs soient présente dans les tables de variables Basic scrutée par la ROM.
En cas de chargement sans préparation, la zone chargée va corrompre la structure du Basic, et va laisser des artefacts que le Basic va interpréter d'une façon erronée.
Exemple pour To7: "Couleurs"
http://download.abandonware.org/magazin ... 115/26.jpg
De toute façon, il faut stabiliser le Basic avant toutes implantations de routines en langage machine.
Le passage de données ne peut s'effectuée qu'avec une table de variable stable et initialisée.
Donc,
CLEAR pour la réservation de la mémoire de travail ASM et Basic (initialise les RAMTOP... valeurs système Basic et balises réservées)…
Puis, implantation de la routine avec le LOADM, pour ne pas écraser les vecteurs Basic.
Et initialiser toutes les variables, pour que les valeurs soient présente dans les tables de variables Basic scrutée par la ROM.
En cas de chargement sans préparation, la zone chargée va corrompre la structure du Basic, et va laisser des artefacts que le Basic va interpréter d'une façon erronée.
Exemple pour To7: "Couleurs"
http://download.abandonware.org/magazin ... 115/26.jpg
-
- Messages : 312
- Inscription : 01 févr. 2020 20:31
- Localisation : Rome - Italy
Re: THOMSON MO6 BASIC->ASM
merci beaucoup pour le support et le temps que vous m'avez consacré, je ferai d'autres tentatives en combinant les appels système.
-
- Messages : 312
- Inscription : 01 févr. 2020 20:31
- Localisation : Rome - Italy
Re: THOMSON MO6 BASIC->ASM
PSHS U,Y,X,DP,B,A,CC
jsr $efe6 ;avec resban ça marche
jsr $21c0
beq exit
jsr $eff8
ldx ,x
stx $2a5f
jsr $21c0
beq exit
jsr $eff8
ldx ,x
stx $2a66
exit
PULS CC,A,B,DP,X,Y,U,PC
jsr $efe6 ;avec resban ça marche
jsr $21c0
beq exit
jsr $eff8
ldx ,x
stx $2a5f
jsr $21c0
beq exit
jsr $eff8
ldx ,x
stx $2a66
exit
PULS CC,A,B,DP,X,Y,U,PC
- Pièces jointes
-
- Screenshot_20200203-065515.png (81.04 Kio) Consulté 2811 fois
-
- Messages : 312
- Inscription : 01 févr. 2020 20:31
- Localisation : Rome - Italy
Re: THOMSON MO6 BASIC->ASM
merci encore à tous pour le support, pour le français le crédit est google
Re: THOMSON MO6 BASIC->ASM
Les mêmes explications existent en italien dans le manuel de l'Olivetti PRODEST PC128 :
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
-
- Messages : 312
- Inscription : 01 févr. 2020 20:31
- Localisation : Rome - Italy
Re: THOMSON MO6 BASIC->ASM
oui, j'ai commencé à partir de là, mais la séquence correcte n'est pas expliquée. Par exemple, j'aimerais pouvoir également utiliser des paramètres numériques, tout comme il n'accepte que des variables.
Re: THOMSON MO6 BASIC->ASM
Purée, merci, parce que vous m'avez appris un truc pour le CLEAR..
Dans tout les ouvrages, il était toujours dit de déclarer ses variables avec CLEAR en BASIC
Sauf que, vous déclarez rien, et le programme BASIC tourne très bien. Alors du coup, cette règle du CLEAR au bout de 35 ans, vous vous dites toujours : bein ça a jamais posé de problème, pourquoi il fallait d'après les ouvrages, déclarer ses variables ?
A présent, je comprends plus que fortement l'impératif d'un CLEAR en début de programme BASIC !!!!
Merci !!!!!
Dans tout les ouvrages, il était toujours dit de déclarer ses variables avec CLEAR en BASIC
Sauf que, vous déclarez rien, et le programme BASIC tourne très bien. Alors du coup, cette règle du CLEAR au bout de 35 ans, vous vous dites toujours : bein ça a jamais posé de problème, pourquoi il fallait d'après les ouvrages, déclarer ses variables ?
A présent, je comprends plus que fortement l'impératif d'un CLEAR en début de programme BASIC !!!!
Merci !!!!!
-
- Messages : 312
- Inscription : 01 févr. 2020 20:31
- Localisation : Rome - Italy
Re: THOMSON MO6 BASIC->ASM
ce blogueur italien vient de publier un article sur ce sujet, peut-être le connaissez-vous.
Sous le lien.
https://paolozaino.wordpress.com/2020/0 ... mment-6756
Sous le lien.
https://paolozaino.wordpress.com/2020/0 ... mment-6756