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 24 Jan 2021, 07:37

Index du forum » CPC Rulez » Software

Le fuseau horaire est UTC+1 heure


Modification/Hack d'un jeu pour avoir des couleurs CPC+



Publier un nouveau sujet Répondre au sujet  Page 1 sur 1
 [ 12 message(s) ] 
  Aperçu avant impression Sujet précédent | Sujet suivant 
Auteur Message
hERMOL
 Sujet du message : Modification/Hack d'un jeu pour avoir des couleurs CPC+
Message Publié : 29 Oct 2015, 13:35 
Hors-ligne
Site Admin
Avatar de l’utilisateur

Inscription : 20 Août 2007, 18:21
Message(s) : 4747
Bon je commence, je vais prendre pour exemple Solomon's Key : la version commercial avec la protection Alkatraz a charger sous winape (c'est là l'instrument essentiel à nos travaux )

Dans 1er temps lancer le jeu par un RUN"DISK

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

Image

position adresse 0000 de la RAM

Image

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 …

Image

après plusieurs résultats ont tombe la dessus :

Image

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



[Fin de la 1ere partie]


Haut
 Profil  
 
AsT
 Sujet du message : Re: Modification/Hack d'un jeu pour avoir des couleurs CPC+
Message Publié : 29 Oct 2015, 14:01 
Hors-ligne
VIP
VIP
Avatar de l’utilisateur

Inscription : 29 Août 2007, 08:04
Message(s) : 707
Localisation : Impact Hq
Bonne introduction ! Elle aurait mérité son propre topic à mon humble avis. (Plus facile à trouver pour ceux qui cherchent) :D

_________________
AsT / iMP4CT

Retrouvez nous sur le forum Amstrad Plus
"Call &bb06"


Haut
 Profil  
 
hERMOL
 Sujet du message : Re: Modification/Hack d'un jeu pour avoir des couleurs CPC+
Message Publié : 29 Oct 2015, 14:06 
Hors-ligne
Site Admin
Avatar de l’utilisateur

Inscription : 20 Août 2007, 18:21
Message(s) : 4747
beh on y est justement :)


Haut
 Profil  
 
AsT
 Sujet du message : Re: Modification/Hack d'un jeu pour avoir des couleurs CPC+
Message Publié : 29 Oct 2015, 14:42 
Hors-ligne
VIP
VIP
Avatar de l’utilisateur

Inscription : 29 Août 2007, 08:04
Message(s) : 707
Localisation : Impact Hq
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.

_________________
AsT / iMP4CT

Retrouvez nous sur le forum Amstrad Plus
"Call &bb06"


Haut
 Profil  
 
MUSICMAN3512
 Sujet du message : Re: Modification/Hack d'un jeu pour avoir des couleurs CPC+
Message Publié : 01 Nov 2015, 16:33 
Hors-ligne
Rulezzz
Rulezzz

Inscription : 10 Mars 2009, 17:41
Message(s) : 253
Super !

Merci pour cette première partie.

Pressé de voir les autres :d:d:d


Haut
 Profil  
 
MUSICMAN3512
 Sujet du message : Re: Modification/Hack d'un jeu pour avoir des couleurs CPC+
Message Publié : 02 Déc 2015, 19:23 
Hors-ligne
Rulezzz
Rulezzz

Inscription : 10 Mars 2009, 17:41
Message(s) : 253
Bientôt la suite hERMOL ?


Haut
 Profil  
 
MUSICMAN3512
 Sujet du message : Re: Modification/Hack d'un jeu pour avoir des couleurs CPC+
Message Publié : 17 Mars 2016, 01:47 
Hors-ligne
Rulezzz
Rulezzz

Inscription : 10 Mars 2009, 17:41
Message(s) : 253
Puis-je en remettre une couche ? :P

J'ai du temps libre et j'aimerai bien me lancer et contribuer a des version .cpr a utiliser avec C4CPC :sweatingbullets:


Haut
 Profil  
 
MUSICMAN3512
 Sujet du message : Re: Modification/Hack d'un jeu pour avoir des couleurs CPC+
Message Publié : 28 Août 2017, 17:33 
Hors-ligne
Rulezzz
Rulezzz

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...


Haut
 Profil  
 
MUSICMAN3512
 Sujet du message : Re: Modification/Hack d'un jeu pour avoir des couleurs CPC+
Message Publié : 01 Sep 2017, 21:49 
Hors-ligne
Rulezzz
Rulezzz

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........


Haut
 Profil  
 
marcel
 Sujet du message : Re: Modification/Hack d'un jeu pour avoir des couleurs CPC+
Message Publié : 02 Sep 2017, 08:32 
Hors-ligne
Rulezzz
Rulezzz

Inscription : 26 Juil 2016, 13:06
Message(s) : 275
MUSICMAN3512 a écrit :
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)
++


Haut
 Profil  
 
hERMOL
 Sujet du message : Re: Modification/Hack d'un jeu pour avoir des couleurs CPC+
Message Publié : 03 Sep 2017, 15:33 
Hors-ligne
Site Admin
Avatar de l’utilisateur

Inscription : 20 Août 2007, 18:21
Message(s) : 4747
Sujet : Modification/Hack d'un jeu pour avoir des couleurs CPC+

MUSICMAN3512 a écrit :
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 :oops: :pig: :cow:


Haut
 Profil  
 
hERMOL
 Sujet du message : Re: Modification/Hack d'un jeu pour avoir des couleurs CPC+
Message Publié : 03 Sep 2017, 16:55 
Hors-ligne
Site Admin
Avatar de l’utilisateur

Inscription : 20 Août 2007, 18:21
Message(s) : 4747
milles excuse pour l'attente ... j'ai zappé ce topic :sigh:

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:

Code :
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; PATCH MEMOIRE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

org #22AD

   call &0040      ; routine palette CPC+
   ds #22C0-$      ; clean code


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...

Code :
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

org #0040

ASIC_UNLOCK
        DI             
       ld      bc, #BC00
        ld      hl, ASICSEQ
        ld      a, 19
      ld      c, (hl)
        inc     hl
        out     (c), c
        dec     a
        jr      nz,$-5


puis déplacements des données palette vers l'ASIC

Code :
FIXPAL:
       ld bc, #7FB8:out (c),c ; active écriture ASIC

   ld de,#6400      
   ld hl,NEWPAL
   ld bc,#20
   ldir
 
       ld bc, #7FA0:out (c),c ; désactive l'écriture ASIC
        ei           
        ret      ; retour prog jeu


Ici les datas de la palette , 2 octets par couleur (word en assembleur)

Code :
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

NEWPAL   dw #df0
   dw #fff
   dw #7b0
   dw #df0
   dw #900
   dw #d00
   dw #777
   dw #ccc
   dw #8d6
   dw #00d
   dw #af0
   dw #009
   dw #999
   dw #590
   dw #0d0
   dw #000
   db #000


DATAS seq unlock de l'asic, la fameuse séquence secrete ....

Code :
ASICSEQ db #01, #00, #FF, #77, #B3, #51, #A8, #D4
        db #62, #39, #9C, #46, #2B, #15, #8A, #CD
        db #EE, #FF, #00


Pour assembler tout ca : pose un breakpoint sur le débuggeur winape à l'offset #22AD (adresse mémoire) puis F9 sous la fenêtre assembleur.

Une fois la mémoire du CPC patcher , le plus simple pour toi est de sauvegarder ces modifications en snapshot. :biere:


Vous n’êtes pas autorisé(e) à consulter les fichiers insérés à ce message.


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

Index du forum » CPC Rulez » Software

Le fuseau horaire est UTC+1 heure


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 4 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.