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, 10:40

Index du forum » Z80 Coding

Le fuseau horaire est UTC+1 heure


Problème éxécution d'un bin avec load ou run

Modérateur: poulette73



Publier un nouveau sujet Répondre au sujet  Page 1 sur 2
 [ 22 message(s) ]  Aller vers la page 1, 2  Suivant
  Aperçu avant impression Sujet précédent | Sujet suivant 
Auteur Message
stephbb75
 Sujet du message : Problème éxécution d'un bin avec load ou run
Message Publié : 14 Déc 2012, 12:46 
Hors-ligne
VIP
VIP

Inscription : 05 Avr 2012, 08:02
Message(s) : 197
Localisation : Sur terre, mais souvent dans les nuages !
Bonjour,

Une question pour les pros du firmware et hard du cpc :D

J'ai fait un tit programme mais une partie ne fonctionne pas de la même façon si je le lance avec un LOAD ou un RUN !
C'est la partie de chargement que voici (elle n'a rien d’extraordinaire !)

Code :
org &4000

.load_file
ld b,end_filename-filename  ; B = length of the filename in characters
ld hl,filename ; HL = address of the start of the filename
ld de,0 ;DE = address of a 2k buffer
call &bc77 ; firmware function to open a file for reading

ld hl,&c000 ; HL = load address
call &bc83  ; read file
call &bc7a  ; firmware function to close a file opened for reading

ret

; the filename to load
.filename
defb "SCREEN.SCR"
.end_filename


Si je compile en mémoire et fait sous basic un CALL &4000, cela fonctionne mon fichier et bien chargé (affiché à l'écran).
Si je le met sur disque (l'entête Amdos semble ok) et que je fait un LOAD"nom.bin",&4000:CALL &4000 cela fonctionne aussi.
Par contre si je fait directement un RUN"nom.bin" le CPC me demande d’appuyer sur play et une touche, en fait il veut charger sur une K7 !!???

Que faut il faire pour que cela fonctionne correctement avec les disquettes ?
Je suis sur un CPC6128....

Merci de votre aide.
Steph


Haut
 Profil  
 
shap
 Sujet du message : Re: Problème éxécution d'un bin avec load ou run
Message Publié : 14 Déc 2012, 12:49 
Hors-ligne
VIP
VIP

Inscription : 26 Avr 2011, 15:27
Message(s) : 277
Salut,

Normal tu n'as pas précisé d'adresse d'exécution.

Rajoute (sous DAMS) un ENT $ ou #4000 à la suite de ton ORG


Haut
 Profil  
 
stephbb75
 Sujet du message : Re: Problème éxécution d'un bin avec load ou run
Message Publié : 14 Déc 2012, 13:00 
Hors-ligne
VIP
VIP

Inscription : 05 Avr 2012, 08:02
Message(s) : 197
Localisation : Sur terre, mais souvent dans les nuages !
Salut shap,

shap a écrit :
...
Normal tu n'as pas précisé d'adresse d'exécution.
Rajoute (sous DAMS) un ENT $ ou #4000 à la suite de ton ORG


Je ne pense pas que cela vienne de la, le reste du programme fonctionne bien (tracé de ligne, saisie clavier, affichage de texte,...)
La je n'est pas tout mis le programme, juste la partie qui pose problème.
Et même en ne compilent que ce bout de code ou tout mon prog j'ai le problème.

C'est vraiment au moment du call &bc77 que s'affiche "Press Play then any key :" ?


Dernière édition par stephbb75 le 14 Déc 2012, 13:02, édité 1 fois.

Haut
 Profil  
 
Beb
 Sujet du message : Re: Problème éxécution d'un bin avec load ou run
Message Publié : 14 Déc 2012, 13:02 
Hors-ligne
Rulezz
Rulezz

Inscription : 05 Mai 2011, 23:14
Message(s) : 74
Faut juste initialiser la ROM Disc en debut de prog pour que ca fonctionne.
(Shap t'as loupé ca ?)


Haut
 Profil  
 
stephbb75
 Sujet du message : Re: Problème éxécution d'un bin avec load ou run
Message Publié : 14 Déc 2012, 13:06 
Hors-ligne
VIP
VIP

Inscription : 05 Avr 2012, 08:02
Message(s) : 197
Localisation : Sur terre, mais souvent dans les nuages !
Salut Beb,

Beb a écrit :
Faut juste initialiser la ROM Disc en debut de prog pour que ca fonctionne.
(Shap t'as loupé ca ?)


Et on fait comment ?


Haut
 Profil  
 
Beb
 Sujet du message : Re: Problème éxécution d'un bin avec load ou run
Message Publié : 14 Déc 2012, 13:10 
Hors-ligne
Rulezz
Rulezz

Inscription : 05 Mai 2011, 23:14
Message(s) : 74
http://tj.gpa.free.fr/html/coding/sources.htm

Regarde le code : "Initialisation du système disque (Another World), maj du 07/02/2006"
Merci a Tom&Jerry/GPA pour ses sources bien eclairés.


Haut
 Profil  
 
stephbb75
 Sujet du message : Re: Problème éxécution d'un bin avec load ou run
Message Publié : 14 Déc 2012, 13:11 
Hors-ligne
VIP
VIP

Inscription : 05 Avr 2012, 08:02
Message(s) : 197
Localisation : Sur terre, mais souvent dans les nuages !
Beb a écrit :
...Regarde le code : "Initialisation du système disque (Another World), maj du 07/02/2006"....

Merci je regarde.


Haut
 Profil  
 
sPOKE
 Sujet du message : Re: Problème éxécution d'un bin avec load ou run
Message Publié : 14 Déc 2012, 14:35 
Hors-ligne
VIP
VIP
Avatar de l’utilisateur

Inscription : 08 Fév 2012, 18:19
Message(s) : 375
stephbb75 a écrit :
Si je compile en mémoire et fait sous basic un CALL &4000,

Non, tu ne compiles pas, tu assembles le code source assembleur (langage d'assemblage en fait) pour en faire un fichier binaire exécutable.

Un compilateur (C,Basic,Pacal ou autre) compile le code source en utilisant ses propres routines en langage machine
et ses propres bibliothèques.
Donc avec un langage compilé tu ne programmes pas en bas-niveau, tu lances le compilateur, c'est très différent.


Haut
 Profil  
 
shap
 Sujet du message : Re: Problème éxécution d'un bin avec load ou run
Message Publié : 14 Déc 2012, 14:40 
Hors-ligne
VIP
VIP

Inscription : 26 Avr 2011, 15:27
Message(s) : 277
sPOKE a écrit :
stephbb75 a écrit :
Si je compile en mémoire et fait sous basic un CALL &4000,

Non, tu ne compiles pas, tu assembles le code source assembleur (langage d'assemblage en fait) pour en faire un fichier binaire exécutable.

Un compilateur (C,Basic,Pacal ou autre) compile le code source en utilisant ses propres routines en langage machine
et ses propres bibliothèques.
Donc avec un langage compilé tu ne programmes pas en bas-niveau, tu lances le compilateur, c'est très différent.

Merci, un peu de précision c'est frais.

Pour la ROm disc mea culpa, j'avais pas fait gaffe à la référence au "press play", désolé, je pensais plutôt à un reset.


Haut
 Profil  
 
stephbb75
 Sujet du message : Re: Problème éxécution d'un bin avec load ou run
Message Publié : 14 Déc 2012, 15:06 
Hors-ligne
VIP
VIP

Inscription : 05 Avr 2012, 08:02
Message(s) : 197
Localisation : Sur terre, mais souvent dans les nuages !
sPOKE a écrit :
Non, tu ne compiles pas, tu assembles le code source assembleur...

Oui tu a raison, ... on a tous un réfrigérateur chez soit, pourtant on dit toujours "c'est dans le frigo" :P


Haut
 Profil  
 
hERMOL
 Sujet du message : Re: Problème éxécution d'un bin avec load ou run
Message Publié : 14 Déc 2012, 15:17 
Hors-ligne
Site Admin
Avatar de l’utilisateur

Inscription : 20 Août 2007, 18:21
Message(s) : 5103
le code pour l'initialisation de l'amsdos (ROM 7) avant le changement d'un fichier est:
Code :
ld      de,&40
ld      hl,&0ABFF
ld      c,&7
call    &BCCE

src/url: https://cpcrulez.fr/coding_asm46b.htm


Haut
 Profil  
 
stephbb75
 Sujet du message : Re: Problème éxécution d'un bin avec load ou run
Message Publié : 14 Déc 2012, 15:21 
Hors-ligne
VIP
VIP

Inscription : 05 Avr 2012, 08:02
Message(s) : 197
Localisation : Sur terre, mais souvent dans les nuages !
Je vais préciser un peut plus, une fois que j'ai assemblé le code que j'ai mis dans mon 1er message, la manière de l’exécuter fait qu'il fait ou pas ce que je souhaiter, c'est a dire afficher une image qui se trouve sur la disquette à l'écran !

- Si j'assemble en mémoire et que je fait un CALL &4000 -> OK

Je le sauve sur un disque et que je l’exécute :
- Si en basic je fait : MEMORY &4000:LOAD"nom.bin",&4000:CALL &4000 -> Ok
- Si en basic je fait : RUN"nom.bin" la pas OK j'ai le message "Press Play then any key :" qui s'affiche à l’écran.
- Si en basic je fait : MEMORY &4000:RUN"nom.bin" la pas OK j'ai le message "Press Play then any key :" qui s'affiche à l’écran.

Mon programme a bien comme Adresse de début et point d'entrée à 0x4000 dans l'entête.

Comme dit, ce que je développe fait plus que cela, tous les autres appel au firmware fonctionne (tracé, touche, ...) c'est bien au moment du "call &bc77" que se message apparais, en fait dans les entailles du firmware je ne passe pas par le même code, mais je ne comprend pas pourquoi.


Haut
 Profil  
 
stephbb75
 Sujet du message : Re: Problème éxécution d'un bin avec load ou run
Message Publié : 14 Déc 2012, 15:30 
Hors-ligne
VIP
VIP

Inscription : 05 Avr 2012, 08:02
Message(s) : 197
Localisation : Sur terre, mais souvent dans les nuages !
Salut hERMOL
hERMOL a écrit :
le code pour l'initialisation de l'amsdos (ROM 7) avant le changement d'un fichier est:...

Ok, cela fonctionne, je ne savais pas qu'il y avais des différence ente load et run du basic sur les ROM.

Merci :D


Haut
 Profil  
 
sPOKE
 Sujet du message : Re: Problème éxécution d'un bin avec load ou run
Message Publié : 14 Déc 2012, 15:54 
Hors-ligne
VIP
VIP
Avatar de l’utilisateur

Inscription : 08 Fév 2012, 18:19
Message(s) : 375
stephbb75 a écrit :
sPOKE a écrit :
Non, tu ne compiles pas, tu assembles le code source assembleur...

Oui tu a raison, ... on a tous un réfrigérateur chez soit, pourtant on dit toujours "c'est dans le frigo" :P

Non, ce n'est pas comme d'utiliser le terme "frigo" ou la marque "frigidaire" à la place de réfrigérateur :
Le mot frigo est passé dans le langage courant par facilité, mais le terme "compiler" que tu emploies est une erreur.

En informatique, et d'autant plus en rétro-informatique, il est important d'utiliser les termes adéquats
pour ne pas semer la confusion car c'est une technologie qui tend à être oubliée. Si en plus on massacre les termes... :wink:


Haut
 Profil  
 
Longshot
 Sujet du message : Re: Problème éxécution d'un bin avec load ou run
Message Publié : 17 Déc 2012, 16:48 
Hors-ligne
VIP
VIP
Avatar de l’utilisateur

Inscription : 28 Août 2008, 23:41
Message(s) : 270
Avant de réinitialiser la rom disque, pense aussi à récupérer le drive courant pour rebasculer dessus, car la réinitialisation te repositionne sur le drive A, ce qui peut être ennuyeux si tu lances ton programme à partir d'un drive B...


Haut
 Profil  
 
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  Page 1 sur 2
 [ 22 message(s) ]  Aller vers la page 1, 2  Suivant

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 9 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 :  
cron
Powered by phpBB® Forum Software © phpBB Group
Traduit en français par Maël Soucaze.