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

Dumps originaux
https://cpcrulez.fr/forum/viewtopic.php?f=8&t=135
Page 43 sur 54

Auteur :  Megachur [ 25 Oct 2014, 20:31 ]
Sujet du message :  Re: Dumps originaux

Citer :
@Megachur : Si tu sais générer un wav à partir de ce que tu lis (je peux te passer un bout de code si nécessaire), on pourra déterminer sans ambiguïté si ça vient de ton émulation ou de ton interprétation du CDT. Et ça te servira par la suite ! Idem, tu devrais implémenter le support des wav. Avec des wav propres, ça permet de faire la part des choses.

Je ne me souviens plus si j'ai eu des soucis sur le loader. Je pense que oui, mais pas de leur nature... (et évidemment je n'ai rien noté)
Tu as tout de même le premier bloc ? ( "Loading ****** Mask **** bloc 1") ?
Tu as le premier décompte ?


oui, bien sûr j'ai le premier bloc puis l'image que j'ai rajouté !
pas de premier décompte !
c'est pour cela que je penche pour un problème tout autre qu'interprétation de cdt !

j'ai bien le code pour générer le wave, mais pas eu le temps de le traduire en javascript ! :sweatingbullets: :oops:

Auteur :  Lone [ 25 Oct 2014, 20:38 ]
Sujet du message :  Re: Dumps originaux

Non, je sais : Mask ne fonctionne pas vraiment sur CPC 6128.
Essaie de mettre une rom 464 et de le lancer. (et pas de firmware !)
Eventuellement, ça marche peut être avec ùtape:run" sur la même ligne.

J'ai eu ce problème également.

Auteur :  dlfrsilver [ 26 Oct 2014, 00:10 ]
Sujet du message :  Re: Dumps originaux

Lone a écrit :
Non, je sais : Mask ne fonctionne pas vraiment sur CPC 6128.
Essaie de mettre une rom 464 et de le lancer. (et pas de firmware !)
Eventuellement, ça marche peut être avec ùtape:run" sur la même ligne.

J'ai eu ce problème également.


Mask fonctionne sur 6128, c'est indiqué dans le manuel :)

@megachur :

Le problème que tu rencontres est exactement celui rencontré si je lance Mask sur mon 464+.

C'est lié à protection contre la copie, la première qui se met en place.

Le jeu vérifie qu'en &C2D4 il y a la valeur &C0 et en &374 la valeur &00, ce qui forme le mot &C000.

C'est l'adresse de l'écran, qui change quand on est pas sur 464 ou 6128.

Pour le faire fonctionner sur CPC 464+, il faut d'abord lancer le programme suivant :

CLS:POKE &C2D4,&C0:POKE &374,&00 et enter.

Le CPC va exécuter le CLS et les pokes, maintenant faites CTRL+ENTER, le jeu fait un RUN", et c'est le mimi, c'est le raracle, le jeu se lance sans crasher :D !

Manipulation valable avec tout les jeux utilisant ce loader comme Mask, Impossamole, Gauntlet, etc..

Auteur :  dlfrsilver [ 26 Oct 2014, 00:36 ]
Sujet du message :  Re: Dumps originaux

Lone a écrit :
@Denis : Pour tester mes cdt patché, tu les passes par tzx2wav... Ce qui est un biais énorme dans ta manip ( sans compter qu'ils ont été patchés "pour voir" : Mask dépend d'une implémentation particulière du cdt (je suis rentré dans le rang depuis, même si sans conviction), et skate crazy nécessite une inversion de polarité.... )


explication de césar à propos de skate crazy :

"Le standard nous indique déjà que les pauses qui durent plus d' 1 ms basculent automatiquement le signal à l'état bas; de ce fait, la toute première pulse après cette pause sera toujours à l'état haut."

Citer :
D'ailleurs, quand tu dis que le CPC la gère, tu parles du quelle partie exactement du CPC ? Parce que le PPI ne le gère pas. Et après, on est directement au niveau du firmware. Quand à l'émulation, elle se situe très exactement au niveau du PPI.... Donc, si quelque chose gère ce changement de polarité, je suis très intéressé par savoir quoi (histoire de l'émuler, on est des fous nous autre, rien ne nous fait peur).


C'est une partie de l'électronique (le convertisseur analogique-digital?) proche du PPI pour une autre raison: les CPC664 et CPC6128 peuvent lire les cassettes aussi sans avoir de lecteurs de cassettes, ils doivent donc avoir encore un convertisseur analogique-vers-digital.

Mais je t'accorde une chose, y a pas d'infos officielles et confirmées la dessus. Simplement les tests hardware sur un vrai CPC montre que la bascule de la polarité comme l'a expliqué César est pris en charge par l'ordinateur.

C'est de la déduction sur tests sur le CPC 464..... Idéalement il faudrait qu'un électronicien nous éclaire la dessus......

Citer :
Si tu le peux, fait moi passer les wav et on verra ce que ça donne aussi sur émulateur. Tester un cdt sur un 464 permet juste de vérifier que tzx2wav marche (et encore).



Pour ce qui est d'avoir lu la spec du cdt/tzx, non seulement je l'ai lue, mais je l'ai décortiquée, et même implémentée dans un émulateur. J'avoue avoir donc l'immense audace de m'estimer un petit peu au fait...
Et il n'y a pas de bloc "spectrum" : tout cela est sensé décrire des "plus" et des "moins" sur une bande magnétique. La technologie est la même sur cpc et spectrum...

Pour mémoire, le bloc 15, c'est un sampling du signal, mais sur 1 bit (voila pourquoi c'est plus concis qu'un VOC, qui est traditionnellement 8 bits (ça dépend du codec))
Mais vu que ça n'est pas compressé, c'est moins concis qu'un CSW (en v2.0 en tout cas).


Pour conclure : Le seul format sans ambiguïté (et sans tout ce tralala de "bloc non reconnu") c'est le csw.
D'un point de vue émulation (et préservation), c'est le mieux.


J'ai envoyé à César tes fichiers de test pour Mask et Skate Crazy et voici son retour :

"En quelques mots, les wavs ont été enregistrés à basse fréquence (11025 Hz) et quiconque les a généré a utilisé des entiers mathématiques, ce qui mène à des distributions de pulses impossiblement régulières."

Ensuite quand je lui ai présenté le CDT de skate crazy :

"Franchement, bruteforcer le signal à l'état haut sur des BLOCS CPC STANDARD !?!?" LOL

explication :

"Je l'ai déjà expliqué - tout n'est qu'entiers/nombres entiers. Si je crée un CSW d'un des deux fichiers WAV et que j'y jette un oeil, je vois des distributions parfaites de couples d'octets, ex: des distributions parfaites de longueur de pulses. Ceci veut dire que les longueurs des pulses ont été calculées en divisant la fréquence de lecture entre la propre fréquence de la pulse, et en jetant le restant.

Dit en d'autres mots: les pulses dans la plage allant de 11025 à 5513 (=11025/2+1) Hz sont toutes lues comme étant 1 sample, les pulses entre 5512 et 3676 Hz (=11025/3+1) sont toujours lues comme étant deux samples, entre 3675 et 2757 (=11025/4+1) sont toujours lues comme étant trois samples, etc.
C'est d'une imprécision incroyable !

Les émulateurs les lisent d'une certaine façon correctement, mais seulement seulement parce qu'ils font zéro post traitement sur le signal. Le signal original n'est plus le même avec les lecteurs audio qui interpolent le signal allant de 11025 Hz à 44100 Hz et le hardware du lecteur cassette du CPC qui essaie de le filtrer à son tour de son côté.

Info : le lecteur de cassette du CPC est équipe d'un système de filtrage hardware qui s'active quelque soit la cassette, et qui vire avec précision toute les cochonneries (celles mises par les éditeurs pour empêcher la copie par ex).

Je rêve qu'un jour on ait un outil qui réplique ce système :)

Auteur :  Megachur [ 26 Oct 2014, 07:29 ]
Sujet du message :  Re: Dumps originaux

dlfrsilver a écrit :
Mask fonctionne sur 6128, c'est indiqué dans le manuel :)

@megachur :

Le problème que tu rencontres est exactement celui rencontré si je lance Mask sur mon 464+.
C'est lié à protection contre la copie, la première qui se met en place.
Le jeu vérifie qu'en &C2D4 il y a la valeur &C0 et en &374 la valeur &00, ce qui forme le mot &C000.
C'est l'adresse de l'écran, qui change quand on est pas sur 464 ou 6128.
Pour le faire fonctionner sur CPC 464+, il faut d'abord lancer le programme suivant :
CLS:POKE &C2D4,&C0:POKE &374,&00 et enter.
Le CPC va exécuter le CLS et les pokes, maintenant faites CTRL+ENTER, le jeu fait un RUN", et c'est le mimi, c'est le raracle, le jeu se lance sans crasher :D !
Manipulation valable avec tout les jeux utilisant ce loader comme Mask, Impossamole, Gauntlet, etc..


j'ai pas exactement cela dans le code en &180 :
Code :
0180:LD A,(&C2D4)
0183:LD C,A
0184:LD A,(&C374)
0187:XOR C
0188:LD C,A
0189:LD HL,&0198
018C:LD DE,&046F
018F:LD A,(HL)
0190:XOR C
0191:LD (HL),A
0192:INC HL
0193:DEC DE
0194:LD A,D
0195:OR E
0196:JR NZ,&F7

par défaut au moment de l'interception du code en &180 j'ai en &c2d4 &d0 et en &c374 &20 (avec le xor ça fait &f0 dans A) !

je t'envoie le screen du résultat du poke -> retour au basic (on voit le point vers la gauche de l'écran qui correspond à l'adresse &c2d4 modifiée) !

pour rappel CPCE 1.95 plante pareil -> donc aucun emulateur ne supporte cette protection / CDT !?

Auteur :  dlfrsilver [ 26 Oct 2014, 13:32 ]
Sujet du message :  Re: Dumps originaux

Megachur a écrit :
dlfrsilver a écrit :
Mask fonctionne sur 6128, c'est indiqué dans le manuel :)

@megachur :

Le problème que tu rencontres est exactement celui rencontré si je lance Mask sur mon 464+.
C'est lié à protection contre la copie, la première qui se met en place.
Le jeu vérifie qu'en &C2D4 il y a la valeur &C0 et en &374 la valeur &00, ce qui forme le mot &C000.
C'est l'adresse de l'écran, qui change quand on est pas sur 464 ou 6128.
Pour le faire fonctionner sur CPC 464+, il faut d'abord lancer le programme suivant :
CLS:POKE &C2D4,&C0:POKE &374,&00 et enter.
Le CPC va exécuter le CLS et les pokes, maintenant faites CTRL+ENTER, le jeu fait un RUN", et c'est le mimi, c'est le raracle, le jeu se lance sans crasher :D !
Manipulation valable avec tout les jeux utilisant ce loader comme Mask, Impossamole, Gauntlet, etc..


j'ai pas exactement cela dans le code en &180 :
Code :
0180:LD A,(&C2D4)
0183:LD C,A
0184:LD A,(&C374)
0187:XOR C
0188:LD C,A
0189:LD HL,&0198
018C:LD DE,&046F
018F:LD A,(HL)
0190:XOR C
0191:LD (HL),A
0192:INC HL
0193:DEC DE
0194:LD A,D
0195:OR E
0196:JR NZ,&F7

par défaut au moment de l'interception du code en &180 j'ai en &c2d4 &d0 et en &c374 &20 (avec le xor ça fait &f0 dans A) !

je t'envoie le screen du résultat du poke -> retour au basic (on voit le point vers la gauche de l'écran qui correspond à l'adresse &c2d4 modifiée) !

pour rappel CPCE 1.95 plante pareil -> donc aucun emulateur ne supporte cette protection / CDT !?


ATTENTION : mon loader ne fonctionne que sur CPC 464+ ! Et tu sais comme moi que CPCE n'émule que les 464,664, et 6128. Donc mon loader ne s'applique pas ici.

Il n'est pas fait pour 464 ni 6128 classique, son rôle est contourner la protection au lancement :eng:

- Mask ne fonctionne pas même sur un vrai CPC si tu procèdes comme suit :

RUN" suivi de ENTER.

Test effectué : je confirme, sous CPCE ou sur mon 464, si RUN" suivi d'entrée est tapé pour lancer le jeu,
le CPC plante !

- Il fonctionne de cette façon :

tu dois faire CTRL (touche verte 464) +ENTER (touche noire pavé numérique suivi d'entrée).

Test effectué : je confirme, ça marche, le jeu se lance et tourne :)

(je vais finir par faire une vidéo si ça continue :mdr: )

PS : dans CPCE 1.95, la rom symbiface 2 est désactivée ?

Question Megachur, tu as un compte skype, msn peut importe qu'on puisse se parler, ou même IRC ?

Auteur :  Lone [ 26 Oct 2014, 13:54 ]
Sujet du message :  Re: Dumps originaux

Ya des channels IRC sur le thème du CPC ?

Auteur :  dlfrsilver [ 26 Oct 2014, 14:00 ]
Sujet du message :  Re: Dumps originaux

Lone a écrit :
Ya des channels IRC sur le thème du CPC ?


J'utilise celui de CPCrulez :)

IRC => serveur IRCnet salon #CPCRULEZ

J'y suis pour ceux qui veulent me joindre :)

Auteur :  Megachur [ 26 Oct 2014, 18:22 ]
Sujet du message :  Re: Dumps originaux

dlfrsilver a écrit :
ATTENTION : mon loader ne fonctionne que sur CPC 464+ ! Et tu sais comme moi que CPCE n'émule que les 464,664, et 6128. Donc mon loader ne s'applique pas ici.

Il n'est pas fait pour 464 ni 6128 classique, son rôle est contourner la protection au lancement :eng:

- Mask ne fonctionne pas même sur un vrai CPC si tu procèdes comme suit :

RUN" suivi de ENTER.

Test effectué : je confirme, sous CPCE ou sur mon 464, si RUN" suivi d'entrée est tapé pour lancer le jeu,
le CPC plante !

- Il fonctionne de cette façon :

tu dois faire CTRL (touche verte 464) +ENTER (touche noire pavé numérique suivi d'entrée).

Test effectué : je confirme, ça marche, le jeu se lance et tourne :)

(je vais finir par faire une vidéo si ça continue :mdr: )

PS : dans CPCE 1.95, la rom symbiface 2 est désactivée ?

Question Megachur, tu as un compte skype, msn peut importe qu'on puisse se parler, ou même IRC ?


ok, ouf ça marche avec control+enter en mode 464 :magic: (cf image) !

je commençais à plus rien y comprendre :kissed: :kissed: :kissed: !

Par contre, il va falloir le signaler sur la fiche parce que actuellement il y a : Chargement : |TAPE puis RUN"" ou CTRL+ENTER(pavé numérique) !!!

A noter que la CDT "Les Gremlins (UK) (Face 1A) (1988) (2. Mask) [Original] [TAPE] [COMPILATION].cdt" n'a pas le même écran de loading (avec un compteur et utilisation de pure tones et pure data block !) (cf image) contrairement à la première "Mask (UK) (1987) (Spain retail version) [Original] [TAPE].cdt" qui utilise des turbo loading data !

Auteur :  dlfrsilver [ 26 Oct 2014, 20:27 ]
Sujet du message :  Re: Dumps originaux

Megachur a écrit :
dlfrsilver a écrit :
ATTENTION : mon loader ne fonctionne que sur CPC 464+ ! Et tu sais comme moi que CPCE n'émule que les 464,664, et 6128. Donc mon loader ne s'applique pas ici.

Il n'est pas fait pour 464 ni 6128 classique, son rôle est contourner la protection au lancement :eng:

- Mask ne fonctionne pas même sur un vrai CPC si tu procèdes comme suit :

RUN" suivi de ENTER.

Test effectué : je confirme, sous CPCE ou sur mon 464, si RUN" suivi d'entrée est tapé pour lancer le jeu,
le CPC plante !

- Il fonctionne de cette façon :

tu dois faire CTRL (touche verte 464) +ENTER (touche noire pavé numérique suivi d'entrée).

Test effectué : je confirme, ça marche, le jeu se lance et tourne :)

(je vais finir par faire une vidéo si ça continue :mdr: )

PS : dans CPCE 1.95, la rom symbiface 2 est désactivée ?

Question Megachur, tu as un compte skype, msn peut importe qu'on puisse se parler, ou même IRC ?


ok, ouf ça marche avec control+enter en mode 464 :magic: (cf image) !

je commençais à plus rien y comprendre :kissed: :kissed: :kissed: !

Par contre, il va falloir le signaler sur la fiche parce que actuellement il y a : Chargement : |TAPE puis RUN"" ou CTRL+ENTER(pavé numérique) !!!

A noter que la CDT "Les Gremlins (UK) (Face 1A) (1988) (2. Mask) [Original] [TAPE] [COMPILATION].cdt" n'a pas le même écran de loading (avec un compteur et utilisation de pure tones et pure data block !) (cf image) contrairement à la première "Mask (UK) (1987) (Spain retail version) [Original] [TAPE].cdt" qui utilise des turbo loading data !


La version espagnole utilise des blocs standard, mais surtout un autre système de "protection", appelé "Spectrum Variant 3" ou SpecVar dans le langage de Samp2cdt.

Auteur :  Megachur [ 27 Oct 2014, 08:06 ]
Sujet du message :  Re: Dumps originaux

Au final et après un week-end intense de test de CDTs :

- seul la protection Gremlin Loader en CDT ne fonctionne pas :
Mickey Mouse (UK) (1988) [Original] [TAPE].cdt
Tour De Force (UK) (1987) [Original] [TAPE].cdt

- et ces CDTs sur la protection Gremlin loader 2 :
Les Gremlins (UK) (Face 1A) (1988) (2. Mask) [Original] [TAPE] [COMPILATION].cdt
Les Gremlins (UK) (Face 2A) (1988) (5. Basil The Great Mouse Detective) [Original] [TAPE] [COMPILATION].cdt
Mask (UK) (1987) (Spain retail version) [Original] [TAPE].cdt

alors que ces CDTs fonctionnent :
Impossamole (UK) (Face 1) (1990) [Original] [TAPE].cdt
Impossamole (UK) (Face 2) (1990) [Original] [TAPE].cdt
Impossamole (UK) (Face A) (1990) (Spain retail version) [Original] [TAPE].cdt
Impossamole (UK) (Face B) (1990) (Spain retail version) [Original] [TAPE].cdt
Saint & Greavsie (UK) (Face A) (1989) (1. Loader) [Original] [TAPE].cdt
Saint & Greavsie (UK) (Face B) (1989) (2. Datas) [Original] [TAPE].cdt

toutes les autres types de protections trouvées en CDTs fonctionnent !

Quand je dis fonctionne pas c'est que je n'ai pas réussi à aller jusqu'au démarrage complet du jeu -> ca veut pas dire que ça charge pas un peu :winner: !
-> Comportement identique sur CPCE 1.95. :bomb: :bomb: :bomb:

Auteur :  dlfrsilver [ 27 Oct 2014, 11:40 ]
Sujet du message :  Re: Dumps originaux

Megachur a écrit :
Au final et après un week-end intense de test de CDTs :

- seul la protection Gremlin Loader en CDT ne fonctionne pas :
Mickey Mouse (UK) (1988) [Original] [TAPE].cdt
Tour De Force (UK) (1987) [Original] [TAPE].cdt

- et ces CDTs sur la protection Gremlin loader 2 :
Les Gremlins (UK) (Face 1A) (1988) (2. Mask) [Original] [TAPE] [COMPILATION].cdt
Les Gremlins (UK) (Face 2A) (1988) (5. Basil The Great Mouse Detective) [Original] [TAPE] [COMPILATION].cdt
Mask (UK) (1987) (Spain retail version) [Original] [TAPE].cdt


Qu'est-ce que tu comptes faire pour qu'ils soient supportés sur ton émulateur ?

Tout ces CDTs fonctionnent, sur CPCE 1.95 (pas besoin de cocher la polarité) et si convertis en WAV, tournent sur un vrai CPC 464.

Citer :
alors que ces CDTs fonctionnent :
Impossamole (UK) (Face 1) (1990) [Original] [TAPE].cdt
Impossamole (UK) (Face 2) (1990) [Original] [TAPE].cdt
Impossamole (UK) (Face A) (1990) (Spain retail version) [Original] [TAPE].cdt
Impossamole (UK) (Face B) (1990) (Spain retail version) [Original] [TAPE].cdt
Saint & Greavsie (UK) (Face A) (1989) (1. Loader) [Original] [TAPE].cdt
Saint & Greavsie (UK) (Face B) (1989) (2. Datas) [Original] [TAPE].cdt

toutes les autres types de protections trouvées en CDTs fonctionnent !

Quand je dis fonctionne pas c'est que je n'ai pas réussi à aller jusqu'au démarrage complet du jeu -> ca veut pas dire que ça charge pas un peu :winner: !
-> Comportement identique sur CPCE 1.95. :bomb: :bomb: :bomb:


Impossamole et Saint & Greavsie utilisent la gremlin loader 2. Donc si elle est correctement supportée par ton émulateur, logiquement Mask (GL2), mickey loose (GL1) et Tour de force (GL1) devraient se charger.

J'ai testé ave CPCE 1.95 (real speed, hi-res, tape speedup cochés et toutes les autres options décochées) :

Mickey Loose : fonctionne
Tour de force : fonctionne
Basil dectective version les gremlins : fonctionne, mais nécessite l'activation de l'option 'polarité'
Mask : fonctionne
Mask version spain : fonctionne sans problème (consulte le manuel pour les touches claviers hum hum :) )
Impossamole : fonctionne
Saint & Greavsie : fonctionne

So what the fouk ? :mdr:

Auteur :  Lone [ 27 Oct 2014, 21:38 ]
Sujet du message :  Re: Dumps originaux

Hello,

Petit test étrange :

Chez moi, tout fonctionne, sauf Basil (version Les gremlins) et Footballer of the year 2.
Les deux ne marchent sur CPCE QUE avec l'option "inverse polarity".

Je prends cdt2wav, avec lequel je les convertis en wav, et là....

Ils fonctionnent sur sugarbox (comme sur un vrai cpc, n'est-ce pas ?).

Faut-il en conclure que cdt2wav va faire l'inversion de polarity ?
Je serais curieux de voir, si quelqu'un les a, les wav/csw/voc originaux de ces deux jeux....

Auteur :  dlfrsilver [ 27 Oct 2014, 22:07 ]
Sujet du message :  Re: Dumps originaux

Lone a écrit :
Hello,

Petit test étrange :

Chez moi, tout fonctionne, sauf Basil (version Les gremlins) et Footballer of the year 2.
Les deux ne marchent sur CPCE QUE avec l'option "inverse polarity".

Je prends cdt2wav, avec lequel je les convertis en wav, et là....

Ils fonctionnent sur sugarbox (comme sur un vrai cpc, n'est-ce pas ?).


César a expliqué que ta routine est imprécise, c'est pour ça qu'en CDT ça marche pas bien.....

Il te reste un problème à régler de ce côté là, demande toi, pourquoi le jeu passe pas en CDT
sous sugarbox, et il marche quand on transforme le CDT en WAV.

Ta routine est correct pour les wav, mais pas pour les CDTs.

Citer :
Faut-il en conclure que cdt2wav va faire l'inversion de polarity ?
Je serais curieux de voir, si quelqu'un les a, les wav/csw/voc originaux de ces deux jeux....


CDT2WAV ne fait que convertir en WAV. Il ne fait pas d'inversion de polarité.

J'ai je crois le WAV de basil, faut que je le retrouve dans les milliers de fichiers que j'ai dumpé. Je vais vérifier :)

Auteur :  Lone [ 27 Oct 2014, 22:16 ]
Sujet du message :  Re: Dumps originaux

Oui, m'enfin CPCE ne le fait pas tourner sans cette inversion de polarité....

Si j'inverse la polarité sur sugarbox de la même manière, ça marche.

J'attends avec impatience ton wav (ou csw, ça sera plus petit).

EDIT : Au passage, ma routine "imprécise" (sur la génération de wav ?) n'est pas là pour l'être, comme je te l'ai expliqué....

Elle était là pour illustrer l'ordre des pulses et des fronts.

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