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

TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE
https://cpcrulez.fr/forum/viewtopic.php?f=2&t=5279
Page 109 sur 138

Auteur :  Gerald [ 28 Nov 2017, 12:39 ]
Sujet du message :  Re: TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE

dlfrsilver a écrit :
La circuiterie filtre, enfin enleve les parasites, le truc usuel. ensuite, le signal n'est pas changé.

J'en veux pour preuve, mon 464 gère l'inverse de polarité en interne comme un grand. Ce que ne font pas les émulateurs.
A lire cela, je n'ai pas envie de lire le reste.
On a là un gars qui se présente comme le gourou de la préservation et qui, fort ce ce travail respectable, se permet d’ordonner aux auteurs d'émulateur d’implémenter un truc qui n'existe pas et qu'il ne comprends manifestement pas. Mais il s'en fout, lui sait tout, donc les autre ne comprennent rien. :downnn:

Un filtre ça filtre, ça ne sait pas fait la différence entre les parasites et le signal.
Un filtre ca atténue certaine fréquences, a amplifier d'autres fréquences, et au passage ça déphase le signal.
Et une inversion c'est un déphasage de 180 degrés.

Maintenant, faire passer un signal capturé au niveau du PPI dans un CPC au niveau du lecteur de cassette, c'est faire passer le signal 2 fois dans le filtre et donc déphaser 2 fois certains signaux. (sans meme parler de la chaine audio coté PC)

Si tu tiens a faire de la préservation sans artifice, c'est a dire sans l'option magique d'inversion, de bascule ou autre nom, il faut :
- soit faire toute les captures au niveau du PPI et les émulateur l'injecte au niveau du PPI, avec le risque d'avoir un problème de déphasage trop important sur un vrai CPC avec une cassette 'numérique'.
- soit faire une capture analogique et faire l'injection au niveau de la tête de lecture. Ca implique que le signal reste analogique (bye bye CDT) et que le filtrage se fasse dans l’émulateur.

La solution actuelle marche en général car la plupart des loader se base sur les changement de polarité.
Le loader de mask vérifie la polarité, et si il y a déphasage trop important, il plante (a dessein, car je suis sur que ça fait partie de la protection contre la copie)

Auteur :  marcel [ 28 Nov 2017, 12:51 ]
Sujet du message :  Re: TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE

Merci Gérald
Donc il faut un bon wav en fait

Auteur :  dlfrsilver [ 28 Nov 2017, 14:55 ]
Sujet du message :  Re: TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE

[quoteA lire cela, je n'ai pas envie de lire le reste.[/quote]

Pardon, c'est juste que ça me désespère, j'espère que tu comprends, depuis le temps qu'on patine la dessus :/

Citer :
On a là un gars qui se présente comme le gourou de la préservation et qui, fort ce ce travail respectable, se permet d’ordonner aux auteurs d'émulateur d’implémenter un truc qui n'existe pas et qu'il ne comprends manifestement pas. Mais il s'en fout, lui sait tout, donc les autre ne comprennent rien. :downnn:


C'est clair que je ne sais pas effectivement quel est la partie du CPC qui gère cet aspect. Je me base sur ce que César a mis en place.

Il a mit ce hack, parce qu'il ne sait pas non plus quelle partie du CPC gère ça. Si seulement j'arrivais à trouver le mec qui a créer cette protection, il pourrait tout nous dire au sujet de la protection, et nous permettre de la supporter correctement.

César m'a bien confirmé que le loader fait usage de l'inversion de polarité, et ça on en est sur Gérald. Il l'a compris en désossant le loader.

Citer :
Un filtre ça filtre, ça ne sait pas fait la différence entre les parasites et le signal.
Un filtre ca atténue certaine fréquences, a amplifier d'autres fréquences, et au passage ça déphase le signal.
Et une inversion c'est un déphasage de 180 degrés.


Merci pour cette information. Je me coucherais moins con ce soir :D !

Citer :
Maintenant, faire passer un signal capturé au niveau du PPI dans un CPC au niveau du lecteur de cassette, c'est faire passer le signal 2 fois dans le filtre et donc déphaser 2 fois certains signaux. (sans meme parler de la chaine audio coté PC)


autre information intéressante, je note :)

Citer :
Si tu tiens a faire de la préservation sans artifice, c'est a dire sans l'option magique d'inversion, de bascule ou autre nom, il faut :
- soit faire toute les captures au niveau du PPI et les émulateur l'injecte au niveau du PPI, avec le risque d'avoir un problème de déphasage trop important sur un vrai CPC avec une cassette 'numérique'.
- soit faire une capture analogique et faire l'injection au niveau de la tête de lecture. Ca implique que le signal reste analogique (bye bye CDT) et que le filtrage se fasse dans l’émulateur.


Pour information, j'utilise le TZXduino Gérald, dont tu as surement entendu parler. Je teste avec les CDTs sans faire aucune conversion, il envoie directement les informations dans le CPC.

J'ai testé mon tout dernier CDT généré avec CSW2CDT, l'outil qu'on a mis au point tout les deux avec César, et le CDT fonctionne sans sourciller sur mon CPC 6128 (le tzxduino est connecté sur les deux ports latéraux du CPC 6128, exactement comme si j'avais branché un lecteur de cassette style LEP-10 d'époque).

Je te confirme donc par ce biais que le CDT, son contenu, ses timings sont traités par mon 6128 comme pour un WAV analogique. Le 6128 gère l'inversion de polarité quand un grand, et sans souci.

Citer :
La solution actuelle marche en général car la plupart des loader se base sur les changement de polarité.


La par contre, je ne suis pas d'accord. Les jeux CPC K7 basés sur l'inversion de polarité sont très peu nombreux. Je n'en connais que 2, c'est à dire Mask et Samurai Trilogy. Tout les autres jeux que j'ai pu dumper n'utilisent pas ce système.

Je peux te le confirmer car j'ai fait vérifier par César plus de 800 logiciels commerciaux en K7 en l'espace de 2 ans, de 2015 à Avril 2017 pour le développement de CSW2CDT.

Citer :
Le loader de mask vérifie la polarité, et si il y a déphasage trop important, il plante (a dessein, car je suis sur que ça fait partie de la protection contre la copie)


Oui tout à fait, comme tu le dis, c'est un des dispositifs de la protection contre la copie utilisé par Mask et Samurai Trilogy. Mais il y en a d'autres.

Merci pour ta participation, je ne m'attendais pas à ce que tu postes sur le sujet :)

Auteur :  dlfrsilver [ 28 Nov 2017, 14:55 ]
Sujet du message :  Re: TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE

marcel a écrit :
Merci Gérald
Donc il faut un bon wav en fait


J'en ai déjà un moi-même :) et un bon CDT généré par CSW2CDT.

Auteur :  Gerald [ 28 Nov 2017, 17:26 ]
Sujet du message :  Re: TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE

dlfrsilver a écrit :
Pour information, j'utilise le TZXduino Gérald, dont tu as surement entendu parler. Je teste avec les CDTs sans faire aucune conversion, il envoie directement les informations dans le CPC.

J'ai testé mon tout dernier CDT généré avec CSW2CDT, l'outil qu'on a mis au point tout les deux avec César, et le CDT fonctionne sans sourciller sur mon CPC 6128 (le tzxduino est connecté sur les deux ports latéraux du CPC 6128, exactement comme si j'avais branché un lecteur de cassette style LEP-10 d'époque).

Je te confirme donc par ce biais que le CDT, son contenu, ses timings sont traités par mon 6128 comme pour un WAV analogique. Le 6128 gère l'inversion de polarité quand un grand, et sans souci.
Tu injectes toujours ton signal sur l’entrée d'un filtre, en amont du PPI. Ça ne change pas grand chose au problème.

dlfrsilver a écrit :
Citer :
La solution actuelle marche en général car la plupart des loader se base sur les changement de polarité.


La par contre, je ne suis pas d'accord. Les jeux CPC K7 basés sur l'inversion de polarité sont très peu nombreux.
C'est exactement ce que je dis.
La plupart des loader s’intéressent au temps entre 2 changement de polarité, pas a la polarité en elle même.

Auteur :  breiztiger [ 28 Nov 2017, 18:58 ]
Sujet du message :  Re: TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE

denis,

basil the great mouse detective idem?

une liste des jeux avec la meme protection ?

Auteur :  dlfrsilver [ 28 Nov 2017, 20:25 ]
Sujet du message :  Re: TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE

breiztiger a écrit :
denis,

basil the great mouse detective idem?

une liste des jeux avec la meme protection ?


Ah pardon oui effectivement, Basil fait aussi partie de l'équipe.

Je sais qu'Impossamole (gremlin loader 2) n'utilise pas ce système, par contre, Skate Crazy, Footballer of the Year II, enfin les quelques logiciels qui utilisent le gremlin loader 1 jouent aussi la dessus.

EDIT : tiens d'ailleurs je vois un souci aussi sur cpc-p0wer, les protection gremlin sont mal référencées.

En gremlin Loader 1 : Basil, skate Crazy, Mickey Mouse, FOTY2
En gremlin Loader 2 : Impossamole, Saint & Greavsie (2 titres seulement)
En gremlin Loader 3 : Mask et samurai Trilogy (2 titres seulement)

Auteur :  Megachur [ 28 Nov 2017, 22:10 ]
Sujet du message :  Re: TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE

Hello,

Afin que tout le monde puisse tester ce fameux wav - Mask 44khz 16b pure Amstrad Tape OK.wav - , je vous mets la beta release actuelle de l'émulateur en .zip.

Glisser / déposer du wav, puis passer en mode 464 d'un clique sur l'image "6128", puis control + enter ou taper RUN" puis enter.
Attention, pour que la protection gremlin passe, il faut rien saisir d'autre !
puis clique sur le bouton "play" à droite de la k7...
Appuyer sur F10 pour les impatients et accélérer l'émulation et donc le chargement des données de la k7 !

j'ai refais un test rapide des cdts dispo :

En gremlin Loader 1 :
Basil, ok
skate Crazy, ko
Mickey Mouse, ko
FOTY2, ok

je crois qu'il y a celui-ci aussi : Tour De Force (UK) (1987) [Original] [TAPE]

En gremlin Loader 2 :
Impossamole, ok
Saint & Greavsie , ok

En gremlin Loader 3 :
Mask, ok seulement le cdt du jeu officiel (le plus récent), pas les cdts des compilations où le loader passe toute l'intro/menu mais s'arrête en plein milieu du chargement du niveau 1 (vers 70-72) puis reprends... comme s'il y avait un silence !?!
et samurai Trilogy : ko, le loader s'arrête en plein milieu deux fois (vers 15 et vers 5) ... comme s'il y avait un silence !?!

bref, j'ai l'impression que tous les dumps ne sont pas au même niveau ou non pas été fait avec la dernière version de csw2cdt...

sinon, je vous laisse tester les waves de ses originaux si vous les avez ;-) !

Auteur :  dlfrsilver [ 28 Nov 2017, 22:36 ]
Sujet du message :  Re: TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE

Megachur a écrit :
Hello,

Afin que tout le monde puisse tester ce fameux wav - Mask 44khz 16b pure Amstrad Tape OK.wav - , je vous mets la beta release actuelle de l'émulateur en .zip.

Glisser / déposer du wav, puis passer en mode 464 d'un clique sur l'image "6128", puis control + enter ou taper RUN" puis enter.
Attention, pour que la protection gremlin passe, il faut rien saisir d'autre !
puis clique sur le bouton "play" à droite de la k7...
Appuyer sur F10 pour les impatients et accélérer l'émulation et donc le chargement des données de la k7 !

j'ai refais un test rapide des cdts dispo :

En gremlin Loader 1 :
Basil, ok
skate Crazy, ko
Mickey Mouse,
FOTY2, ok



J'ai les CDT de Basil, Skate Crazy, Mickey Mouse et FOTY2 crée avec CSW2CDT. Malheureusement certains d'entre eux sont fait avec samp2cdt et ne sont pas bon.

Citer :
je crois qu'il y a celui-ci aussi : Tour De Force (UK) (1987) [Original] [TAPE]


Oui effectivement, et d'ailleurs la version sur CPCrulez et cpc-p0wer sont des vieux CDTs :)

Citer :
En gremlin Loader 2 :
Impossamole, ok
Saint & Greavsie , ok


Normal, impossamole j'ai réussi à le faire, et il fonctionne, je l'ai testé.

Citer :
En gremlin Loader 3 :
Mask, ok seulement le cdt du jeu officiel (le plus récent), pas les cdts des compilations où le loader passe toute l'intro/menu mais s'arrête en plein milieu du chargement du niveau 1 (vers 70-72) puis reprends... comme s'il y avait un silence !?!
et samurai Trilogy : ko, le loader s'arrête en plein milieu deux fois (vers 15 et vers 5) ... comme s'il y avait un silence !?!


Samurai Trilogy est aussi une vieille version. j'ai un mal fou à le filtrer et à l'encoder.

Citer :
bref, j'ai l'impression que tous les dumps ne sont pas au même niveau ou non pas été fait avec la dernière version de csw2cdt...

sinon, je vous laisse tester les waves de ses originaux si vous les avez ;-) !


Seuls Mask et impossamole ont été fourni, je joins les versions faites avec csw2cdt en version non publique en pièce jointe des gremlin loader1.

Notez que les bits de trailer pour les blocs gremlin sont à 2 et non à 8.

Auteur :  dlfrsilver [ 28 Nov 2017, 22:47 ]
Sujet du message :  Re: TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE

Extra, je viens de tester avec ton émulateur mon CDT de skate Crazy, l'inversion de polarité est gérée au poil, le jeu se charge et fonctionne !

Bravo Mégachur, Thomas va donc pouvoir intégrer ta découverte et ta nouvelle implémentation dans sugarbox, ah ça fait plaisir, le problème est enfin résolu !

EDIT : je viens de tester tout les jeux générés par csw2cdt, ils fonctionnent tous :)

Auteur :  Lone [ 28 Nov 2017, 22:54 ]
Sujet du message :  Re: TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE

dlfrsilver a écrit :
Extra, je viens de tester avec ton émulateur mon CDT de skate Crazy, l'inversion de polarité est gérée au poil, le jeu se charge et fonctionne !

Bravo Mégachur, Thomas va donc pouvoir intégrer ta découverte et ta nouvelle implémentation dans sugarbox, ah ça fait plaisir, le problème est enfin résolu !


Megachur, je compte sur toi pour nous expliquer ENFIN ce que c'est que cette fameuse inversion de polarité !
Bravo !
:biere:

Auteur :  dlfrsilver [ 28 Nov 2017, 23:05 ]
Sujet du message :  Re: TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE

C'est même mieux que ça en fait :

Même les jeux en bleepload v1 sur lesquels Gérald nous avait aidé, passent s'il vous plait sur son émulateur.

Double bravo mon gars ! :winner:

Franchement, tu viens de niquer une bonne fois pour toute le dernier truc qui nous emmerdait pour avoir une émulation parfaite.

excellent !

Auteur :  Megachur [ 29 Nov 2017, 07:15 ]
Sujet du message :  Re: TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE

dlfrsilver a écrit :
Extra, je viens de tester avec ton émulateur mon CDT de skate Crazy, l'inversion de polarité est gérée au poil, le jeu se charge et fonctionne !

Bravo Mégachur, Thomas va donc pouvoir intégrer ta découverte et ta nouvelle implémentation dans sugarbox, ah ça fait plaisir, le problème est enfin résolu !

EDIT : je viens de tester tout les jeux générés par csw2cdt, ils fonctionnent tous :)


Ouf ! :pir8: :sweatingbullets:

La bonne nouvelle, c'est que je n'ai rien fait de spécifique ou de changement sur le code du décodage du CDT comme évoqué plus haut (à part un peu de refactoring/changement de nom de variable globale pour être plus explicite...le code datait de plus de deux ans)... J'avais modifié uniquement que le code du décodage du WAV...

Et sinon, de mon côté le nouveau CDT : Tour De Force (UK) (1988) [Original] [TAPE].cdt ne fonctionne pas !?

Pour preuve, vous prenez la version de juillet v1707 de l'émulateur qui est sur cpcrulez et vous tester les nouveaux cdts fournis par dlfrsilver !!! Ca marche sauf "tout de force"...

Pour l'explication :

d'abord il faut une émulation précise des timings du cpc... de ce côte là, Sugarbox est dans la partie ;-) !
ensuite, il y a la partie décodage :

un wav, on le passe de sa fréquence de lecture (ex 44100hz) à la fréquence interne du cpc/ppi -> 1Mhz
même s'il y a un arrondi, on est très proche de la réalité

un CDT, c'est un wav qui a été filtré généralement, un programme qui a passé sa fréquence de lecture, interpréter les valeurs positives et négatives et ensuite passer au format TZX le passe à 3,5Mhz (spectrum) (ce qu'on appelle CDT sur cpc) -> on le passe à la fréquence interne du cpc/ppi -> 1Mhz
même s'il y a un arrondi, on est très proche de la réalité à condition que la chaine avant soit bien maîtrisée et réalisée !

donc cela prouve qu'il n'y a pas d'inversion de polarité, juste du code juste à avoir au sens mathématique/arrondi afin de recréer parfaitement ce que les composants électroniques font en analogique/logique ! :biere: :winner:

Auteur :  marcel [ 29 Nov 2017, 08:09 ]
Sujet du message :  Re: TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE

du coup tu fais quelle interpolation? t'es passé de linéaire à cubique?

Auteur :  Megachur [ 29 Nov 2017, 19:40 ]
Sujet du message :  Re: TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE

marcel a écrit :
du coup tu fais quelle interpolation? t'es passé de linéaire à cubique?


en fait, comme je l'ai expliqué pour le format CDT (=TZX) les longueurs des signaux haut ou bas sont des multiples de la fréquence CPU du spectrum (3.5 Mhz).

Il suffit donc quand on envoi le signal au PPI (1Mhz lui sur cpc) de les diviser par 3.5.
Ensuite le PPI n'attends que des 0 et des 1 ce que le z80 récupère au final via le bus quand le code le sollicite d'où l'aspect timing aussi qui est important pour le PPI/Z80 aussi !

Cela donne en c : round(length/tzx_freq)
ou length est la longueur du pulse haut ou bas
et tzx_freq=3.5f;// 3.5Mhz (frequency of data in zxtape format)

c'est que des maths, je l'avais expliqué avant :biere: et la justesse de l'émulation des composants du cpc qui fait que c'est conforme comme un vrai cpc !

J'espère plus encore que dlfrsilver ferra maintenant encore plus confiance à mon émulateur pour tester et valider les cdts/wavs des dumps ;-) ! Sachant que mon but est bien d'avoir un émulateur très précis pour le plaisir de tous ceux qui ne possèdent plus ou pas d'un vrai cpc... :winner: :JC_doubleup: :gamer: :tapla:
et les autres aussi passionnés qui ont la chance d'en avoir :JC_doubleup: :smile26: :smile13: un sous la main !

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