CPC Rulez
https://cpcrulez.fr/forum/

utilisation et implantation de DAMS
https://cpcrulez.fr/forum/viewtopic.php?f=4&t=5075
Page 5 sur 5

Auteur :  Horos [ 26 Juin 2013, 11:30 ]
Sujet du message :  Re: utilisation et implantation de DAMS

Hicks a écrit :
Le top aurait été de pouvoir faire un Wnn+#16D4,#A700 directement sous DAMS
Ton voeu est exaucé, cher Hicks :sweatingbullets:
Hicks a écrit :
mais il ne tolère aucun poke dans sa zone de travail pour éviter les mésaventures/plantages.
Plus maintenant : protection cracked by Horos :wink:

Image

Hack : POKE &nn+&2144,&A0

Explication : ça fait croire à DAMS qu'il est stocké ailleurs. Donc quand il teste la mémoire protégée, il croit que tout va bien...

J'ai pu sauvegarder des programmes avec P2 en appliquant par exemple le patch de Longshot depuis DAMS avec W, SANS PASSER par le BASIC,
comme vous pouvez voir ci-dessus. On peut maintenant utiliser Q ou W (POKE ou DOKE) sur DAMS lui-même, avec toutes les bidouilles que ça autorise désormais.

Auteur :  Horos [ 02 Juil 2013, 08:58 ]
Sujet du message :  Re: utilisation et implantation de DAMS

Hicks a écrit :
Plusieurs versions de DAMS circulent, dont une "débloque" (en gros) le pavé numérique, ce qui est vraiment plus pratique sur un AZERTY !
J'ai regardé cette version qui patche DAMS et active le pavé numérique, c'est très pratique.
Par contre, le code n'est vraiment pas terrible : ça a été mis dans un deuxième fichier binaire (dams.key), à charger avant DAMS.
Ca ne fait pas très clean, et surtout, quand on utilise les banks... le pavé numérique se retrouve à nouveau désactivé après un reset call 0 ! :?

J'ai regardé cette routine qui active le pavé numérique, elle n'est pas relogeable.
Je l'ai donc modifiée, rendu le code relogeable, puis insérée directement dans DAMS lui-même.

J'ai maintenant fait une version de DAMS, relogeable, et tous les pointeurs sont respectés et restent inchangés (nn+47, nn+10485, etc.)
et qui intègre aussi le patch de Longshot. Je n'ai pas mis mon hack W pour que DAMS soit sécurisé.
(sauvegarder DAMS c'est facile, mais sauvegarder un DAMS corrigé qui soit relogeable, il faut une astuce car le code de DAMS s'auto-modifie)

J'ai fait 2 versions : une version All-CPC (464-664-6128)
et une version pour ceux qui veulent utiliser DAMS dans une banque mémoire 128 Ko.

Résultat :
le pavé numérique reste activé, même après un reboot! Et un seul fichier : DAMSPAV.BIN

(ou DAMSBANK.BIN pour la version 128 Ko)

Voilà, tout ça n'était pas "nécessaire", ni très "utile", mais bon, autant patcher les patchs qui déconnent non ? :D

Auteur :  PSy [ 12 Mars 2015, 17:59 ]
Sujet du message :  Re: utilisation et implantation de DAMS

TotO a écrit :
En gros, P fonctionne avec A et P2 avec A2 ...
Il n'y a finalement peut-être pas de bug, mais juste des choses à ne pas mélanger ?


Bravo et merci TotO !

En fait, le bug est que faire P2 après un A0, devrait produire un message d'erreur comme le fait DAMS 1.1 il me semble.

A force de parler de cette histoire, je crois que la philosophie du truc commence à me remonter: Faire A0, c'est pour générer du code à exécuter tout de suite, à mettre au point. Les variables (defw...) ne seraient alors plus dans leur état initial, donc faire un P2 après cela sauvegarderait non pas le code objet, mais son image mémoire à l'instant T où le code objet a été stoppé.

Quand on veut écrire le code objet sur disque, on fait A2 qui est moins prise de tête en tant que mémoire dispo, et P2, et on est sûr de ce qu'on a mis sur disque.

Bravo sPOKE pour tes investigations, j'espère avoir répondu a tes interrogations, désolé d'avoir attendu si longtemps ;-)

Auteur :  Longshot [ 12 Mars 2015, 23:33 ]
Sujet du message :  Re: utilisation et implantation de DAMS

Citer :
Quand on veut écrire le code objet sur disque, on fait A2 qui est moins prise de tête en tant que mémoire dispo, et P2, et on est sûr de ce qu'on a mis sur disque.

Les numéros de fonction ne marchent pas par "paire"
A0, A1, A2 concerne la méthode d'assemblage (adresse du ORG pour A0, A1 (écran pour loger les symboles)) ou en relatif.
P0, P1, P2 concerne la sauvegarde de source (pour P0, P1) et de code pour P2
Seul P2 permet de sauver le code binaire sans distinction de la méthode d'assemblage.
Si on suit le raisonnement de A0/P0, A1/P1, on ne va pas très loin...
Pourquoi n'en faire qu'un lorsqu'on peut faire les deux... :wink:

Page 5 sur 5 Le fuseau horaire est UTC+1 heure
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/