1) « Breaker » le jeu une fois dans le menu (touche F8) , équivalent a la touche rouge de la multiface
2) Avant de chercher quoi que ce soit , vérifier son emplacement en RAM :
Bank C0 / Mode Write
position adresse 0000 de la RAM
3) Rechercher la routine « SETPAL » , ici c'est de l'assembleur , et vu la qualité du code de Chris Wood . Il n'as sûrement pas utiliser la vecteur system (routine BIOS/AMSDOS de l'AMSTRAD) et a directement initialisé la palette avec par une routine hard,
Utilise la fonction recherche du débugger WINAPE (Ctrl+F) il est possible de faire des recherches avec des jokers , ont va pas s'en priver …
après plusieurs résultats ont tombe la dessus :
Je vais résonner en novice en assembleur z80 :
On peut voir à l'adresse mémoire #22A8 la commande ou opcode : "LD BC,#7F8C" qui est typique pour une initialisation du mode écran (mode 0 =#8C / adressage gate array=#7F) puis en #22AD le code init/pointe un registre avec une adresse non loin de la routine ... OK #22B2 ld d,#10 --> un registre/variable qui s'init a #10 (en décimal 16 , comme le nbr d'encres de la palette mode 0 Amstrad ) #22B4 un out (c),c --> la commande qui donne le numéro de l'encre avant son initialisation (équivalement basic INK x,?) #22B7 prochain emplacement mémoire (valeurs des encres) #22BA un out (c),a / apres ld a,(hl) --> ce qui signifie je pose ma valeur "couleur" qui est a l'emplacement mémoire adresse HL sur le "port encre du gate array" ... (équivalement basic INK ?,x) #22BC prochain numéro d'encre #22BD -1 sur la conteur "D" qui est a #10 en hexa ou 16 en décimal #22BE D=0 , non alors je vais en #22B4
Bonne nouvelle. C'est plus "classe" maintenant. Je pense qu'il serait bon dans le futur de donner des conseils pour changer la configuration de touches pourraves definies au départ vers quelquechose de plus classique, voire vers une configuration manette de jeu. Ca pourrait interresser également bon nombre de "modeurs" (on dit comme cela?) Cette rubrique pourrait aussi glisser sur la redefinition des tableaux d'un jeu... Enfin, il y a tellement de choses à explorer.
Inscription : 10 Mars 2009, 17:41 Message(s) : 253
Depuis la date de ce post, j'ai cumulé sur mon HDD une ENORME quantité de mockup, prêts pour l'aide à la modification en couleurs CPC+. Je croise juste les doigts que hERMOL veuille bien continuer et finaliser son tuto en espérant que ca ne reste pas à l'etat de pauvres png...
Inscription : 10 Mars 2009, 17:41 Message(s) : 253
Bon, OK.... J'abandonne J'insiste plus Je suis juste déçu d'avoir eu zéro réponse depuis presque deux ans. Et franchement j'aurais préféré un "tu me gonfles, j'ai pas le temps" que ce silence. Vraiment dommage........
Bon, OK.... J'abandonne J'insiste plus Je suis juste déçu d'avoir eu zéro réponse depuis presque deux ans. Et franchement j'aurais préféré un "tu me gonfles, j'ai pas le temps" que ce silence. Vraiment dommage........
Hello Difficile d'espérer des réponses pendant les grandes vacances, même si, je te l'accorde, tu attends depuis deux ans Ne laisse pas tomber tes mockups Si tu souhaites motiver un programmeur à continuer le tuto d'Hermol, peut-être que tu pourrais toi aussi poster quelques chose non? Une capture de ton mockup (comparaison avant/après) ++
Bon, OK.... J'abandonne J'insiste plus Je suis juste déçu d'avoir eu zéro réponse depuis presque deux ans. Et franchement j'aurais préféré un "tu me gonfles, j'ai pas le temps" que ce silence. Vraiment dommage........
Sorry je l'ai zappé ce topic , je m'y mets cette aprem
Inscription : 20 Août 2007, 18:21 Message(s) : 5049
milles excuse pour l'attente ... j'ai zappé ce topic
Détournement de la routine #22A8 :
J'ai choisis l'emplacement #0040 pour ma routine nouvelle palette. y'a un peu de place (ça ne me gêne pas l'ASIC qui ce trouve de &4000 -> &7FFF une fois activé)
J'utilise l'assembleur WINAPE pour le patch mémoire et ca marche plutot pas mal , 1ere étape détournement "HOOK" vers mon code. Rien de bien sorcier:
pourquoi je commence à patcher en #22AD et non en #22A8 ? je laisse le "ld bc,#7fc8:out (c),c" qui est l'équivalent d'un "mode 0" en assembleur détourne le code vers mon patch (call #0040)
maintenant j'assemble ma routine unlock asic / setpal en &0040 unlock de l'asic...
Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 30 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