Amstrad Plus Index du Forum

Amstrad Plus
Découverte de la gamme Old et Plus des Cpc d'Amstrad.

 FAQFAQ   RechercherRechercher   MembresMembres   GroupesGroupes   S’enregistrerS’enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Amstrad Plus et Acquittements Interruptions
Aller à la page: <  1, 2, 3, 4, 5, 6  >
 
Poster un nouveau sujet   Répondre au sujet    Amstrad Plus Index du Forum -> Bienvenue sur ce forum -> Programmation
Sujet précédent :: Sujet suivant  
Auteur Message
roudoudou


En ligne

Inscrit le: 14 Juil 2016
Messages: 274
Localisation: LYON

MessagePosté le: Mar 25 Juil - 12:24 (2017)    Sujet du message: Amstrad Plus et Acquittements Interruptions Répondre en citant

On sait quoi de la fiabilité du registre I?


Tant que cette possibilité n'a pas été testée, dur à dire.


Par contre, tu savais qu'un LD A,I changeait les flags?


Revenir en haut
Publicité






MessagePosté le: Mar 25 Juil - 12:24 (2017)    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
Ast
Administrateur

En ligne

Inscrit le: 05 Sep 2014
Messages: 2 321

MessagePosté le: Mar 25 Juil - 12:29 (2017)    Sujet du message: Amstrad Plus et Acquittements Interruptions Répondre en citant

roudoudou a écrit:
Par contre, tu savais qu'un LD A,I changeait les flags?




 J'avoue que je n'en savais rien. J'utilisais souvent ce registre pour sauver mon reg de compteur afin d'éviter les push & pop.
Code:
     ld a,200
     ld i,a
bcl ...
     ld a,i
     dec a
     jr nz,bcl
...



Quels flags sont touchés ?

Edit : Réponse


_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Revenir en haut
roudoudou


En ligne

Inscrit le: 14 Juil 2016
Messages: 274
Localisation: LYON

MessagePosté le: Mar 25 Juil - 14:21 (2017)    Sujet du message: Amstrad Plus et Acquittements Interruptions Répondre en citant

tu n'as pas mis cette astuce dans le topic optimisations :p

Revenir en haut
Longshot


Hors ligne

Inscrit le: 21 Nov 2015
Messages: 66

MessagePosté le: Mar 25 Juil - 18:30 (2017)    Sujet du message: Amstrad Plus et Acquittements Interruptions Répondre en citant

 
Citation:
 Et tu crois que ca peut changer le résultat?
Il te suffit de tester le code de Kevin (assemblé en 0000) et voir ce que ça donne.
Je suppose que tu vas savoir le transférer en 0000 (attention il faut le lancer en DI)
 
Citation:

 On sait quoi de la fiabilité du registre I?
Que veux tu dire ?
Il faut partie du Z80A et il a été utilisé plus d'une fois pour le mode IM2
Je l'avais utilisé dans ma partie de The Demo
J'avais un crash sur le cpc de Fred car j'ai pensé que l'octet de poids faible était "fixe" qui constitue l'adresse avec I ne variait pas sur mon cpc.

Concernant le bug dma/pri/r52, la discussion sur DF00 est une piste intéressante, puisque c'est une autre différence notable sur la manière de lancer le code.

Il n'y pas que LD A,I qui permet de "récupérer" IFF2 dans les flags. Il y aussi LD A,R
D'ailleurs, pour une petite boucle de 42 fois sur elle-même tu peux écrire ça :  Razz
Code:

    DI
    LD A,3
    LD R,A
LOUPE   
    LD A,R
    JR NZ,LOUPE
Après selon la boucle que tu veux faire, il faut adapter la valeur initiale de A en fonction des opcodes utiles de la boucle...
 


Revenir en haut
Ast
Administrateur

En ligne

Inscrit le: 05 Sep 2014
Messages: 2 321

MessagePosté le: Mar 25 Juil - 18:39 (2017)    Sujet du message: Amstrad Plus et Acquittements Interruptions Répondre en citant

Longshot a écrit:
 
Il n'y pas que LD A,I qui permet de "récupérer" IFF2 dans les flags. Il y aussi LD A,R
D'ailleurs, pour une petite boucle de 42 fois sur elle-même tu peux écrire ça :  Razz
Code:
    DI
    LD A,3
    LD R,A
LOUPE    
    LD A,R
    JR NZ,LOUPE


Après selon la boucle que tu veux faire, il faut adapter la valeur initiale de A en fonction des opcodes utiles de la boucle...
 



C'est un peu plus olé olé à utiliser que le couple ld i,a/ld a,i ! Pour une protection par contre...
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Revenir en haut
Longshot


Hors ligne

Inscrit le: 21 Nov 2015
Messages: 66

MessagePosté le: Mar 25 Juil - 19:20 (2017)    Sujet du message: Amstrad Plus et Acquittements Interruptions Répondre en citant

 
Citation:
   C'est un peu plus olé olé à utiliser que le couple ld i,a/ld a,i !
Si peu... Il faut juste un assembleur qui sache le gérer en comptant les opcodes d'une boucle à temps fixe pour fixer la valeur de A.

Et puis LD A,I c'est pas forcément génial en mode IM2...


Revenir en haut
roudoudou


En ligne

Inscrit le: 14 Juil 2016
Messages: 274
Localisation: LYON

MessagePosté le: Mar 25 Juil - 20:37 (2017)    Sujet du message: Amstrad Plus et Acquittements Interruptions Répondre en citant

premiers tests
j'ai fait deux cartouches, une Arnold, une Longshot
même résultat
Arnold ça clignote de partout, Longshot c'est stable
Grosse différence, y a pas l'init du PPI pour la cartouche longshot
Deuxième série de tests à venir


Revenir en haut
Ast
Administrateur

En ligne

Inscrit le: 05 Sep 2014
Messages: 2 321

MessagePosté le: Mar 25 Juil - 20:39 (2017)    Sujet du message: Amstrad Plus et Acquittements Interruptions Répondre en citant

Okay  Bien !
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Revenir en haut
roudoudou


En ligne

Inscrit le: 14 Juil 2016
Messages: 274
Localisation: LYON

MessagePosté le: Mar 25 Juil - 20:40 (2017)    Sujet du message: Amstrad Plus et Acquittements Interruptions Répondre en citant

Avec init du PPI c'est toujours stable

Revenir en haut
roudoudou


En ligne

Inscrit le: 14 Juil 2016
Messages: 274
Localisation: LYON

MessagePosté le: Mar 25 Juil - 20:50 (2017)    Sujet du message: Amstrad Plus et Acquittements Interruptions Répondre en citant

je remplace ret par reti -> toujours stable
la table en #4000 toujours stable
l'adresse d'écriture de DE en #2000 avec push/pop toujours stable
je vais y arriver, reste plus grandes différences


Revenir en haut
roudoudou


En ligne

Inscrit le: 14 Juil 2016
Messages: 274
Localisation: LYON

MessagePosté le: Mar 25 Juil - 20:57 (2017)    Sujet du message: Amstrad Plus et Acquittements Interruptions Répondre en citant

quand le code de longshot est exécuté en mémoire basse le bug apparait Smile
si le code est exécuté en #A000 ça le fait plus
il reste à ce stade une différence entre la version Arnold et Longshot -> Arnold c'est du code lu de la ROM, Longshot du code lu de la RAM mais c'est l'adresse qui semble poser souci
l'histoire du DF00 pour le moment, c'est hors contexte, je n'y touche absolument pas


Revenir en haut
roudoudou


En ligne

Inscrit le: 14 Juil 2016
Messages: 274
Localisation: LYON

MessagePosté le: Mar 25 Juil - 21:13 (2017)    Sujet du message: Amstrad Plus et Acquittements Interruptions Répondre en citant

fuck, si je mets le code de kevin en #C000 avec une rom haute, c'est toujours là...

Revenir en haut
Ast
Administrateur

En ligne

Inscrit le: 05 Sep 2014
Messages: 2 321

MessagePosté le: Mar 25 Juil - 21:16 (2017)    Sujet du message: Amstrad Plus et Acquittements Interruptions Répondre en citant

C'est un gros merdier en fait ?
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Revenir en haut
Longshot


Hors ligne

Inscrit le: 21 Nov 2015
Messages: 66

MessagePosté le: Mar 25 Juil - 21:18 (2017)    Sujet du message: Amstrad Plus et Acquittements Interruptions Répondre en citant

C'est super d'avoir eu ces deux sources sensés faire la même chose, mais l'un avec bug et l'autre sans.
Ca ne vient pas de la lecture ram/rom car Arnold a déjà évacué cet argument de Dragon en forum (tu ne suis pas Very Happy ) et il a répondu qu'il avait copié le programme en ram.
Citation:


 I am sure I did tests where I copied it to ram.

Par contre, le coup de l'adresse du code exécuté en ram, c'est une bonne piste.
Et si tu places le code de Arnold en A000 ?Enregistrer


Revenir en haut
roudoudou


En ligne

Inscrit le: 14 Juil 2016
Messages: 274
Localisation: LYON

MessagePosté le: Mar 25 Juil - 21:34 (2017)    Sujet du message: Amstrad Plus et Acquittements Interruptions Répondre en citant

bon, le code de longshot, comme mis sur cpcwiki, exécuté en RAM, ROM désactivées, ça bug en #0000 ou #C000 mais pas en #A000

Revenir en haut
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 23:45 (2017)    Sujet du message: Amstrad Plus et Acquittements Interruptions

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Amstrad Plus Index du Forum -> Bienvenue sur ce forum -> Programmation Toutes les heures sont au format GMT + 1 Heure
Aller à la page: <  1, 2, 3, 4, 5, 6  >
Page 3 sur 6

 
Sauter vers:  

Index | Panneau d’administration | Creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com