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

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

Auteur :  dlfrsilver [ 14 Oct 2014, 08:52 ]
Sujet du message :  Re: Dumps originaux

Lone a écrit :
Sugarbox.free.fr/release/Mask.zip

J'espère que c'est bon ( je n'ai pas les moyens de tester, la...)


Goldwave voit le WAV généré depuis le CDT original comme étant corrompu (taille incorrecte), mais il se décompresse bien.

J'ai testé sous CPCE, y a comme une erreur de décodage du CDT original.

Auteur :  dlfrsilver [ 14 Oct 2014, 09:08 ]
Sujet du message :  Re: Dumps originaux

dlfrsilver a écrit :
Lone a écrit :
Sugarbox.free.fr/release/Mask.zip

J'espère que c'est bon ( je n'ai pas les moyens de tester, la...)


Goldwave voit le WAV généré depuis le CDT original comme étant corrompu (taille incorrecte), mais il se décompresse bien.

J'ai testé sous CPCE, y a comme une erreur de décodage du CDT original.


EDIT : suite à la découverte de ton WAV original de Mask corrompu, j'ai fais le test moi-même, en prenant mon CDT de Mask original (celui qui est sur CPC-rulez et cpc-p0wer).

J'ai utilisé 11Khz comme toi, et j'obtiens un fichier non corrompu, et qui de base n'a pas d'erreur.....

En fait tu te galères depuis le début sur un fichier de départ corrompu, et qui ne fonctionne pas :mdr:

Tiens, voilà le lien vers mon fichier WAV généré par CDT2WAV non corrompu, et tu verras que le problème de chargement a disparu, CPCE le fait tourner sans aucun problème ;)

Lien : https://app.box.com/s/6d2ol3ecv90k5gpnjogu

Auteur :  Lone [ 14 Oct 2014, 09:24 ]
Sujet du message :  Re: Dumps originaux

Oui, c'est bien ce que j'ai dis plus haut : CDT2WAV va générer un WAV qui correct MAIS qui n'est pas conforme au standard CDT :
Si tu l'ouvres, a 3:15,690, tu vois une pause... qui se termine par une pulse "low".

D'ailleurs, ce WAV passe très bien sur Sugarbox.


S'il te plait, fait le test suivant:

Avec CPCE dernière version, options "tape polarity" et "tape compatibility" cochées (histoire d'avoir un comportement le plus précise possible).

Lance le CDT de Mask de cpc-p0wer.
Dis moi ce que tu vois.

Auteur :  dlfrsilver [ 14 Oct 2014, 09:42 ]
Sujet du message :  Re: Dumps originaux

Lone a écrit :
Oui, c'est bien ce que j'ai dis plus haut : CDT2WAV va générer un WAV qui correct MAIS qui n'est pas conforme au standard CDT :
Si tu l'ouvres, a 3:15,690, tu vois une pause... qui se termine par une pulse "low".


CDT2WAV t'a généré un WAV corrompu ! ça n'a rien à voir avec le format TZX/CDT, le WAV est invalide depuis l'origine, tu t'es escrimé sur un fichier qui est abimé.

Goldwave me signale ton fichier comme ayant une taille en interne corrompue :kissed:

Donc tu dois reprendre ton expérience de zéro......

Citer :
D'ailleurs, ce WAV passe très bien sur Sugarbox.


Il ne devrait pas en fait ! Il y a une erreur dedans :mdr:

Citer :
S'il te plait, fait le test suivant:

Avec CPCE dernière version, options "tape polarity" et "tape compatibility" cochées (histoire d'avoir un comportement le plus précise possible).

Lance le CDT de Mask de cpc-p0wer.
Dis moi ce que tu vois.


Effectivement ça ne marche pas.

....et je me suis trompé moi aussi. J'utilise CPCE 1.95 (que tu dois avoir, je l'ai mis à dispo).
Décoche 'tape compatibility' et 'polarity' et lance tel quel le CDT de mask sous CPCE 1.95, tu verras,
ça marche sans aucun problème.

Auteur :  Lone [ 14 Oct 2014, 09:50 ]
Sujet du message :  Re: Dumps originaux

Ca ne te choque pas qu'il failler enlever "Tape compatibility" et "polarity" pour que ça marche ?
A quoi servent donc ces options ?


Concernant le wav : Les WAV que j'ai mis dans le zip sont issues de Sugarbox (je les ai générés vite fait, ce qui explique sans doute le problème de taille, mais peu importe). Ils ont un comportement égal sur CPCE et Sugarbox (la version patchée marche sur les deux, la version originale ne marche sur aucun des deux).
C'est de là que j'en déduis une différence d'interprétation du CDT.

CDT2Wav utilisé sur le CDT de Mask produit bien l'effet que j'ai décrit (pause puis low pulse). Le résultat fonctionne sur Sugarbox et sur CPCE.

Donc, on a bien une différence d'interprétation du CDT. C'est pour cette raison que j'ai posté le WAV que je génère, car il doit permettre de voir ou se situe mon erreur....

Je pense qu'il faudrait le soumettre à César, s'il a le temps bien sur.

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

Lone a écrit :
Ca ne te choque pas qu'il failler enlever "Tape compatibility" et "polarity" pour que ça marche ?
A quoi servent donc ces options ?


J'ai surement confondu avec la protection Gremlin loader 1 utilisée sur Skate Crazy.


Citer :
Concernant le wav : Les WAV que j'ai mis dans le zip sont issues de Sugarbox (je les ai générés vite fait, ce qui explique sans doute le problème de taille, mais peu importe). Ils ont un comportement égal sur CPCE et Sugarbox (la version patchée marche sur les deux, la version originale ne marche sur aucun des deux).


Peu importe que sugarbox et CPCE les lisent, le fichier WAV converti à l'origine du CDT est corrompu.

C'est de là que j'en déduis une différence d'interprétation du CDT.[/quote]


Moi je travaille pas sur un fichier de départ qui est corrompu, et je ne tire pas de conclusion sur un truc
qui est abimé.

Citer :
CDT2Wav utilisé sur le CDT de Mask produit bien l'effet que j'ai décrit (pause puis low pulse). Le résultat fonctionne sur Sugarbox et sur CPCE.


CDT2WAV t'a généré un WAV corrompu. J'ai ressorti mon CDT2WAV, j'ai fait la conversion, et mon fichier est vu par Goldwave comme étant propre, et non corrompu.

Citer :
Donc, on a bien une différence d'interprétation du CDT. C'est pour cette raison que j'ai posté le WAV que je génère, car il doit permettre de voir ou se situe mon erreur....


Mais il est claqué ton WAV, (et je parle pas de celui que tu as patché, mais celui d'origine converti avec CDT2WAV) !

Citer :
Je pense qu'il faudrait le soumettre à César, s'il a le temps bien sur.


Lui soumettre ton WAV corrompu, pour qu'il me dise "tu te moques de moi ou bien ?" non :)

Télécharges mon WAV converti depuis le CDT que j'ai donné en lien (tu sais celui qui est bon lol), et reprends ton investigation depuis le début.

Je te dis que le WAV est BAD d'origine, et tu continues avec, t'appelles ça comment ? :?

Auteur :  Lone [ 14 Oct 2014, 10:41 ]
Sujet du message :  Re: Dumps originaux

1/ Je crois qu'il y a eu un malentendu : Je n'ai pas posté de WAV généré par cdt2wav.
Les wav que j'ai postés sont ceux que je génère via sugarbox. Pour avoir une base de travail.


Du coup, j'ai regénéré le wav via cdt2wav à partir du CDT (je l'ai refait à l'instant).

A 3:15,690, tu as bien la pause, suivie d'un état "low".

Pourquoi ?

2/ En inversant ce que j'écris sur le port B du PPI (nouvelle version : 0 pour un état high, et 1 pour un low), je fais marcher le CDT de mask sur Sugarbox. L'équivalent de l'option "tape polarity" si tu veux, qui inverse la polarité...

Ma conclusion est donc toujours la même : Je pense de plus en plus que cpce, ainsi que cdt2wav ont une polarité inverse par rapport à la mienne. La question est donc "pourquoi" ?

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

Lone a écrit :
1/ Je crois qu'il y a eu un malentendu : Je n'ai pas posté de WAV généré par cdt2wav.
Les wav que j'ai postés sont ceux que je génère via sugarbox. Pour avoir une base de travail.


C'est pire du coup, ça veut dire que sugarbox a généré un WAV corrompu :mdr:


Citer :
Du coup, j'ai regénéré le wav via cdt2wav à partir du CDT (je l'ai refait à l'instant).

A 3:15,690, tu as bien la pause, suivie d'un état "low".

Pourquoi ?


Réponse ici par césar : "mais après cette première milliseconde de pause, la polarité est réinitialisée à l'état 'low', sans tenir compte si elle était en état 'high' ou 'low'.

Tu as une pause à 3:15,690, suivi d'un état 'low'. C'est le fonctionnement du format TZX/CDT, qui consiste à ce que tu codes dans ton émulateur que la polarité est réinitialisée à l'état 'low', c'est à dire '0', indépendamment de son état en cours que ce soit '0' ou '1', dès la première milliseconde de pause rencontrée lors de la lecture d'un CDT ou d'un fichier WAV.

En bref tu t'en bats les coucougnettes que l'état après la pause soit à '0' ou à '1', ton emulateur doit forcer le passage à '0' dès que tu rencontres la pause, et non au moment ou tu rencontres le bloc qui suit la dite pause. La bascule de l'état du bit de polarité doit se faire AVANT :)

2/ En inversant ce que j'écris sur le port B du PPI (nouvelle version : 0 pour un état high, et 1 pour un low), je fais marcher le CDT de mask sur Sugarbox. L'équivalent de l'option "tape polarity" si tu veux, qui inverse la polarité...

Citer :
Ma conclusion est donc toujours la même : Je pense de plus en plus que cpce, ainsi que cdt2wav ont une polarité inverse par rapport à la mienne. La question est donc "pourquoi" ?


Parce que tu n'as as implémenté dans sugarbox le fonctionnement de la polarité décrite dans le format TZX/CDT correctement :)

CPCE est actuellement l'émulateur le plus abouti pour la lecture de fichiers cassette. Les seuls jeux qui ne passent pas chez lui sont liés à un problème d'émulation soit z80 soit CRTC.

Relis mon explication plus haut :) C'est l'émulateur qui doit supporter le format et non le format qui doit supporter l'émulateur, sinon tu vas générer des fichiers qui soit ne colleront plus aux originaux (biaisés pour tourner sur ton émulateur), soit des fichiers qui ne fonctionneront pas sur les autres émulateurs.

Auteur :  Lone [ 14 Oct 2014, 15:03 ]
Sujet du message :  Re: Dumps originaux

En fait, tout dépend de quand se situe le changement d'état. Est-il au début ou à la fin d'un "pulse".

En gros, sur un changement d'etat, a-t-on ___| ou |----

Le code de Tzx2wav que j'ai trouvé entre temps est plutôt explicite : C'est "après". La spec du TZX n'indique rien quant à elle.

Une pause suivi d'une pulse donnera donc... Un état low terminé par un front montant.
Si l'on prend le parti pris inverse (on inverse en début de "pulse"), ça donnerait quelque chose de différent.

En codant un générateur de DRB, on a une sortie moins ambiguë (mais moins lisible, et plus grosse).

Bref, en mettant le changement d'état APRES la longueur, ces CDT fonctionnent.
C'est bien un truc qui devrait être précisé...

Enfin, ce qui est positif, c'est que j'ai finalement compris pourquoi ça ne marchait pas.

As-tu d'autres exemples intorchables de jeux que je devrais essayer ?


PS : Les wav que je génère ne sont certes pas parfaite (merci le dev en 15 minutes), mais les données présentes sont bonnes (sinon, les jeux ne se lanceraient pas...).

Auteur :  dlfrsilver [ 14 Oct 2014, 18:40 ]
Sujet du message :  Re: Dumps originaux

Lone a écrit :
En fait, tout dépend de quand se situe le changement d'état. Est-il au début ou à la fin d'un "pulse".

En gros, sur un changement d'etat, a-t-on ___| ou |----

Le code de Tzx2wav que j'ai trouvé entre temps est plutôt explicite : C'est "après". La spec du TZX n'indique rien quant à elle.

Une pause suivi d'une pulse donnera donc... Un état low terminé par un front montant.
Si l'on prend le parti pris inverse (on inverse en début de "pulse"), ça donnerait quelque chose de différent.

En codant un générateur de DRB, on a une sortie moins ambiguë (mais moins lisible, et plus grosse).

Bref, en mettant le changement d'état APRES la longueur, ces CDT fonctionnent.
C'est bien un truc qui devrait être précisé...


César te l'a précisé dans sa réponse. C'était clair et limpide, la solution apportée presque sur un plateau :kiss:

Citer :
Enfin, ce qui est positif, c'est que j'ai finalement compris pourquoi ça ne marchait pas.

As-tu d'autres exemples intorchables de jeux que je devrais essayer ?


Essaie les jeux hitec par exemple, les jeux en bleepload v3, frank bruno's boxing, knight force,wild streets, dick tracy, impossamole, skate crazy,
werner mach hin, les jeux rainbow arts K7, rock'n' roll, times of lore, bad cat (lui il est énorme, ils l'ont enregistré en 4000 bauds XD). Pour info, un vrai CPC au passage peut gérer jusqu'à 6000 bauds (j'ai testé avec César ;) )

Les jeux speedlock je suppose que tu les gères déjà sans soucis ?

Auteur :  Lone [ 14 Oct 2014, 21:35 ]
Sujet du message :  Re: Dumps originaux

Donc :

Ok :
- Bloopload v3 : J'ai essayé booty, qui fonctionne
- Dick tracy
- Frank Bruno
- Impossamole
- Knight force
- werner mach hin
- Bad cat
- Rock'n'roll
- Wild street
- Breaking Baud (c'est sans doute pas protégé, mais c'est si classe :))

A améliorer ?
- Time of lore ok, mais en lançant la face B directement (Si on passe par la face A, on semble bloquer après la sélection de caractère.)

Pas ok:
- Skate crazy
- Power Boat Simulator (UK) (1989) [Original] [TAPE]

Je sui s bien sur preneur de toutes les idées de cdt foireux au possible !

Auteur :  dlfrsilver [ 14 Oct 2014, 22:17 ]
Sujet du message :  Re: Dumps originaux

Lone a écrit :
Donc :

Ok :
- Bloopload v3 : J'ai essayé booty, qui fonctionne
- Dick tracy
- Frank Bruno
- Impossamole
- Knight force
- werner mach hin
- Bad cat
- Rock'n'roll
- Wild street
- Breaking Baud (c'est sans doute pas protégé, mais c'est si classe :))

A améliorer ?
- Time of lore ok, mais en lançant la face B directement (Si on passe par la face A, on semble bloquer après la sélection de caractère.)

Pas ok:
- Skate crazy
- Power Boat Simulator (UK) (1989) [Original] [TAPE]

Je sui s bien sur preneur de toutes les idées de cdt foireux au possible !


Time of lore, faut mettre la face B après que le dernier bout de code se soit chargé :)

Skate crazy, "polarity" doit être activé sous CPCE sinon ça marche pas.

Auteur :  Lone [ 14 Oct 2014, 22:57 ]
Sujet du message :  Re: Dumps originaux

Skate crazy marche en inversant la polarité, chez moi aussi.
Avoir besoin de bricoler cette option pour faire marcher des CDT me déplaît assez fortement :(

On peut bricoler le CDT en ajoutant des blocs &2B (set signal level) avant chaque bloc &11 (qui suit une pause avec un level en bas...) . Du coup, ça marche sans changer la polarity (ça parait nettement plus propre !)

Voir le fichier en Pièce jointe. Ne pas inverser la polarity, par contre !

Auteur :  Plissken [ 15 Oct 2014, 10:23 ]
Sujet du message :  Re: Dumps originaux

Il faut inverser la polarité du flux de neutron (Doctor Who) :mdr:

Je l'ai pas déja faite celle la ?

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

Lone a écrit :
Skate crazy marche en inversant la polarité, chez moi aussi.
Avoir besoin de bricoler cette option pour faire marcher des CDT me déplaît assez fortement :(

On peut bricoler le CDT en ajoutant des blocs &2B (set signal level) avant chaque bloc &11 (qui suit une pause avec un level en bas...) . Du coup, ça marche sans changer la polarity (ça parait nettement plus propre !)

Voir le fichier en Pièce jointe. Ne pas inverser la polarity, par contre !


Je vois ça avec Cesar ce soir ^^. Et je te dirais :)

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