Index du forum




Un petit coup de main... Vous pouvez nous aider à mettre ce site à jour: n'hésitez pas à me contacter !!!

* Connexion   * Inscription

* FAQ
Nous sommes actuellement le 30 Nov 2025, 12:25

Index du forum » Z80 Coding

Le fuseau horaire est UTC+1 heure


qu'elle est l'adresse initial quand nous chargeons run"bin"

Modérateur: poulette73



Publier un nouveau sujet Répondre au sujet  Page 1 sur 1
 [ 6 message(s) ] 
  Aperçu avant impression Sujet précédent | Sujet suivant 
Auteur Message
javier07b9
 Sujet du message : qu'elle est l'adresse initial quand nous chargeons run"bin"
Message Publié : 23 Déc 2014, 09:58 
Hors-ligne

Inscription : 09 Oct 2014, 17:55
Message(s) : 3
J'ai programmé un code.bin mais il commence a l'adresse &800
je ne peux pas faire ça dans BASIC
Code :
memory &7FF
load"game.bin",&800
call &800

aussi meme je ne sai pas ou est-ce que commençe le PC ( program counter )
quand s'execute cette instruction dans BASIC
Code :
run"game.bin"

alors comme je pourrai executer le programme binarie

Merci beaucoup.


Haut
 Profil  
 
Xavier
 Sujet du message : Re: qu'elle est l'adresse initial quand nous chargeons run"b
Message Publié : 23 Déc 2014, 12:31 
Hors-ligne
Rulezz
Rulezz

Inscription : 21 Fév 2011, 17:53
Message(s) : 153
J'ai trouvé une astuce : http://cpcrulez.fr/GamesTest/coding_amslive15-CPC_SOS_partie_3.htm

essaye ça:
10 MEMORY &8FFF ' Donne l'offset des vars Basic.
20 OPENOUT"d":MEMORY &7FF:CLOSEOUT
30 LOAD"game.bin",&800,&800 ' le deuxième argument est à confirmer! CALL&800???

Mais, un RET ASM plantera le basic, si la plage des &8FFF est effacée.


Haut
 Profil  
 
hERMOL
 Sujet du message : Re: qu'elle est l'adresse initial quand nous chargeons run"b
Message Publié : 23 Déc 2014, 15:12 
Hors-ligne
Site Admin
Avatar de l’utilisateur

Inscription : 20 Août 2007, 18:21
Message(s) : 5103
un autre article : https://cpcrulez.fr/coding_basic-restaur ... IC__CC.htm
Xavier a écrit :
30 LOAD"game.bin",&800,&800 ' le deuxième argument est à confirmer! CALL&800???

Non le 2eme argument n'est pas dispo sur un load (contrairement au save)


Haut
 Profil  
 
Xavier
 Sujet du message : Re: qu'elle est l'adresse initial quand nous chargeons run"b
Message Publié : 23 Déc 2014, 17:29 
Hors-ligne
Rulezz
Rulezz

Inscription : 21 Fév 2011, 17:53
Message(s) : 153
Donc, pour répondre:
L'adresse de base lors d'un RUN"program.bin" (adresse d'exécution je suppose)
Est l'adresse que tu va paramétrer dans ton save.

Si tu fais :
Save"program.bin",b,&800,1500,&800
b: fichier binaire.
&800:Adresse de position d'adresse
D'une taille de 1500 à partir de &800
&800:Adresse d'exécution automatique. (optionnelle)
Si l'adresse d'exécution automatique est omise, le RUN retournera sous basic.
Un load"program.bin", chargera le binaire à l'adresse donnée dans le save.

On peut éditer ces informations via ManageDsk, avec l'option propriété.

[EDIT]
Ha!
Je voie ton problème...
Tu compiles un fichier "program.bin" via l'assembleur de WinApe, et la fonction WRITE "xx"
Donc, ton fichier est exempt d'arguments d'exécution!
Le fichier étant en binaire sans header AMS, la fonction START n'est pas sauvegardée!

Dans ce cas, lors de l'import avec ManageDSK, il faut que tu force en binaire, et que tu remplisses la troisième case (celle du bas).
Il est plus simple de retirer le WRITE (ou de le mettre en rem ;; ), puis de faire un save de la mémoire du CPC sous basic, avec les infos binaire.
ça t'évite de faire un import externe, et le fichier est directement enregistré sur la disquette!
[EDIT]


Haut
 Profil  
 
hERMOL
 Sujet du message : Re: qu'elle est l'adresse initial quand nous chargeons run"b
Message Publié : 23 Déc 2014, 18:06 
Hors-ligne
Site Admin
Avatar de l’utilisateur

Inscription : 20 Août 2007, 18:21
Message(s) : 5103
hERMOL a écrit :
Je voie ton problème...
Tu compiles un fichier "program.bin" via l'assembleur de WinApe, et la fonction WRITE "xx"


Winape gére l'adresse d'exécution , un petit exemple:

Code :
run start
org &9D00
write direct "a: FILENAME.BIN"

nolist
start

... ton code


l'ORG défini ton début
RUN ton execution
WRITE DIRECT écrit ton binaire sur le .dsk chargé dans winape..


Haut
 Profil  
 
Xavier
 Sujet du message : Re: qu'elle est l'adresse initial quand nous chargeons run"b
Message Publié : 23 Déc 2014, 20:06 
Hors-ligne
Rulezz
Rulezz

Inscription : 21 Fév 2011, 17:53
Message(s) : 153
Citer :
write direct "a: FILENAME.BIN"

Trop cool !
Merci pour l'info...


Haut
 Profil  
 
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  Page 1 sur 1
 [ 6 message(s) ] 

Index du forum » Z80 Coding

Le fuseau horaire est UTC+1 heure


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 47 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Aller vers :  
Powered by phpBB® Forum Software © phpBB Group
Traduit en français par Maël Soucaze.