CPC Rulez https://cpcrulez.fr/forum/ |
|
qu'elle est l'adresse initial quand nous chargeons run"bin" https://cpcrulez.fr/forum/viewtopic.php?f=4&t=5423 |
Page 1 sur 1 |
Auteur : | javier07b9 [ 23 Déc 2014, 09:58 ] |
Sujet du message : | qu'elle est l'adresse initial quand nous chargeons run"bin" |
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. |
Auteur : | Xavier [ 23 Déc 2014, 12:31 ] |
Sujet du message : | Re: qu'elle est l'adresse initial quand nous chargeons run"b |
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. |
Auteur : | hERMOL [ 23 Déc 2014, 15:12 ] |
Sujet du message : | Re: qu'elle est l'adresse initial quand nous chargeons run"b |
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) |
Auteur : | Xavier [ 23 Déc 2014, 17:29 ] |
Sujet du message : | Re: qu'elle est l'adresse initial quand nous chargeons run"b |
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] |
Auteur : | hERMOL [ 23 Déc 2014, 18:06 ] |
Sujet du message : | Re: qu'elle est l'adresse initial quand nous chargeons run"b |
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.. |
Auteur : | Xavier [ 23 Déc 2014, 20:06 ] |
Sujet du message : | Re: qu'elle est l'adresse initial quand nous chargeons run"b |
Citer : write direct "a: FILENAME.BIN" Trop cool ! Merci pour l'info... |
Page 1 sur 1 | Le fuseau horaire est UTC+1 heure |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |