[apple 2 europlus] [basic applesoft] où sont stockés les programmes écrits en basic applesoft ?

Le
MOI
bonjour.

question un peu pointue, je ne trouve pas de réponse sur le web :

où sont stockés (a quelle adresse de la RAM) les programmes écrits en
basic applesoft ???

merci.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Olivier Miakinen
Le #26433564
Bonjour,
Le 14/05/2017 14:19, MOI a écrit :
question un peu pointue, je ne trouve pas de réponse sur le web :
où sont stockés (a quelle adresse de la RAM) les programmes écrits en
basic applesoft ???

Je ne saurai pas te répondre car ça doit faire une trentaine d'année
que je n'ai plus touché un Apple ][, mais je me souviens au moins d'une
chose : c'est que si tu fais une recherche de chaînes de caractères du
programme dans la mémoire, il ne faut pas le faire sur les mots-clés
du langage tels que PRINT, GOTO, GOSUB, RETURN, etc. En effet, ceux-ci
sont remplacés par des valeurs d'un seul octet non-ascii.
Mais tiens, finalement je crois que j'ai trouvé en cherchant sur le web.
To reserve off some space for your own purposes, you can use the
'HIMEM:' and 'LOMEM:' statements. The two define the top and bottom of
the memory pool Applesoft uses for variable storage. To read the current
value of lomem, use 'PEEK(106)*256+PEEK(105)', himem can be read by
'PEEK (116)*256+PEEK(115)'. Normally, lomem is the top of your basic
program, and himem is the highest available address under the OS and its
buffers;
</>
As-tu besoin d'une traduction ? Le programme BASIC est juste en dessous
de lomem, trouvable par PEEK(106)*256+PEEK(105).
--
Olivier Miakinen
MOI
Le #26433565
Dans son message précédent, Olivier Miakinen a écrit :
Bonjour,
Le 14/05/2017 14:19, MOI a écrit :
question un peu pointue, je ne trouve pas de réponse sur le web :
où sont stockés (a quelle adresse de la RAM) les programmes écrits en
basic applesoft ???

Je ne saurai pas te répondre car ça doit faire une trentaine d'année
que je n'ai plus touché un Apple ][, mais je me souviens au moins d'une
chose : c'est que si tu fais une recherche de chaînes de caractères du
programme dans la mémoire, il ne faut pas le faire sur les mots-clés
du langage tels que PRINT, GOTO, GOSUB, RETURN, etc. En effet, ceux-ci
sont remplacés par des valeurs d'un seul octet non-ascii.
Mais tiens, finalement je crois que j'ai trouvé en cherchant sur le web.
To reserve off some space for your own purposes, you can use the
'HIMEM:' and 'LOMEM:' statements. The two define the top and bottom of
the memory pool Applesoft uses for variable storage. To read the current
value of lomem, use 'PEEK(106)*256+PEEK(105)', himem can be read by
'PEEK (116)*256+PEEK(115)'. Normally, lomem is the top of your basic
program, and himem is the highest available address under the OS and its
buffers;
</>
As-tu besoin d'une traduction ? Le programme BASIC est juste en dessous
de lomem, trouvable par PEEK(106)*256+PEEK(105).



ça va je comprends. merci infiniment, je vais voir ça
MOI
Le #26433567
MOI a couché sur son écran :
Dans son message précédent, Olivier Miakinen a écrit :
Bonjour,
Le 14/05/2017 14:19, MOI a écrit :
question un peu pointue, je ne trouve pas de réponse sur le web :
où sont stockés (a quelle adresse de la RAM) les programmes écrits en
basic applesoft ???

Je ne saurai pas te répondre car ça doit faire une trentaine d'année
que je n'ai plus touché un Apple ][, mais je me souviens au moins d'une
chose : c'est que si tu fais une recherche de chaînes de caractères du
programme dans la mémoire, il ne faut pas le faire sur les mots-clés
du langage tels que PRINT, GOTO, GOSUB, RETURN, etc. En effet, ceux-ci
sont remplacés par des valeurs d'un seul octet non-ascii.
Mais tiens, finalement je crois que j'ai trouvé en cherchant sur le web.
To reserve off some space for your own purposes, you can use the
'HIMEM:' and 'LOMEM:' statements. The two define the top and bottom of
the memory pool Applesoft uses for variable storage. To read the current
value of lomem, use 'PEEK(106)*256+PEEK(105)', himem can be read by
'PEEK (116)*256+PEEK(115)'. Normally, lomem is the top of your basic
program, and himem is the highest available address under the OS and its
buffers;
</>
As-tu besoin d'une traduction ? Le programme BASIC est juste en dessous
de lomem, trouvable par PEEK(106)*256+PEEK(105).


ça va je comprends. merci infiniment, je vais voir ça


Re !
j'ai trouvé ailleurs que "ça" commence à stocker le programme applesoft
en $800
effectivement, quand j'écris un petit programme, Lomem (première
adresse pour le stockage des variables et dernière adresse de stockage
du programme) est juste un peu plus haut que $800 !
pour ce qui est de Himem (dernière adresse pour le stockage des
variables): ça me donne $9600 quand le DOS est chargé et $C000 quand il
n'est pas chargé. ça correspond à la doc que j'ai !!! :-)
je crois que mon erreur était de croire qu'un programme applesoft était
en même temps stocké en équivalent "langage monitor"
cordialement.
Erwan David
Le #26433569
MOI
Re !
j'ai trouvé ailleurs que "ça" commence à stocker le programme
applesoft en $800
effectivement, quand j'écris un petit programme, Lomem (première
adresse pour le stockage des variables et dernière adresse de stockage
du programme) est juste un peu plus haut que $800 !
pour ce qui est de Himem (dernière adresse pour le stockage des
variables): ça me donne $9600 quand le DOS est chargé et $C000 quand
il n'est pas chargé. ça correspond à la doc que j'ai !!! :-)
je crois que mon erreur était de croire qu'un programme applesoft
était en même temps stocké en équivalent "langage monitor"


Sur les machines de cette époque il y avait souvent un basic ou autre
langage interprété, et pas compilé.
--
Les simplifications c'est trop compliqué
Gzavsnap
Le #26433604
j'ai trouvé ailleurs que "ça" commence à stocker le programme applesoft
en $800

Lien utiles sur l'organisation de la mémoire pour A2:
ou
Sinon, attention à la mémoire HR, qui va détruire le programme Basic :
HGR: 8192-16383 $2000-$3FFF HI-RES PAGE 1 OR FREE SPACE
HGR1:16384-24575 $4000-$5FFF HI-RES PAGE 2 OR FREE SPACE
Dans les deux car, le passage en HGR ou HGR2 ecrase purement et
simplement le programme Basic en Mémoire!
Il faut donc placer le LOMEM en 16385 ou 24577 suivant le mode graphique
utilisé...
Ce qui réduit d'autant la taille de la mémoire Basic, contrairement à
une utilisation en texte pure, qui peut utiliser toute la mémoire, sans
coupure!
MOI
Le #26433616
Gzavsnap a présenté l'énoncé suivant :
j'ai trouvé ailleurs que "ça" commence à stocker le programme applesoft en
$800

Lien utiles sur l'organisation de la mémoire pour A2:
ou
Sinon, attention à la mémoire HR, qui va détruire le programme Basic :
HGR: 8192-16383 $2000-$3FFF HI-RES PAGE 1 OR FREE SPACE
HGR1:16384-24575 $4000-$5FFF HI-RES PAGE 2 OR FREE SPACE
Dans les deux car, le passage en HGR ou HGR2 ecrase purement et simplement le
programme Basic en Mémoire!
Il faut donc placer le LOMEM en 16385 ou 24577 suivant le mode graphique
utilisé...

Lomem, c'est pas seulement pour le stockage des variables ???
Ce qui réduit d'autant la taille de la mémoire Basic, contrairement à une
utilisation en texte pure, qui peut utiliser toute la mémoire, sans coupure!
MOI
Le #26433615
Gzavsnap a pensé très fort :
j'ai trouvé ailleurs que "ça" commence à stocker le programme applesoft en
$800

Lien utiles sur l'organisation de la mémoire pour A2:
ou
Sinon, attention à la mémoire HR, qui va détruire le programme Basic :
HGR: 8192-16383 $2000-$3FFF HI-RES PAGE 1 OR FREE SPACE
HGR1:16384-24575 $4000-$5FFF HI-RES PAGE 2 OR FREE SPACE
Dans les deux car, le passage en HGR ou HGR2 ecrase purement et simplement le
programme Basic en Mémoire!

ça ressemble à "mon problème"........
Il faut donc placer le LOMEM en 16385 ou 24577 suivant le mode graphique
utilisé...
Ce qui réduit d'autant la taille de la mémoire Basic, contrairement à une
utilisation en texte pure, qui peut utiliser toute la mémoire, sans coupure!
Gzavsnap
Le #26433654
Il faut donc placer le LOMEM en 16385 ou 24577 suivant le mode
graphique utilisé...

Lomem, c'est pas seulement pour le stockage des variables ???

Non, car par défaut il me semble qu'il est en h801 (début du programme
basic)...
Je ne peut pas dire avec certitude si avec un LOMEM, le basic déplace le
code s'il est en début de programme, ou s'il faut faire un loader avec
un lomem et un "RUN monprg"
Un loader du type:
5 LOMEM : 16385
10 PRINT CHR$(4)"RUN PROG"
SAVE HELLO
qui est identique à un :
10 POKE 103,1:POKE 104,64:PRINT CHR$(4)"RUN PROG"
Publicité
Poster une réponse
Anonyme