Inscription : 29 Août 2007, 12:04 Message(s) : 1989 Localisation : seine et marne 77
Megachur a écrit :
@dlfrsilver : j'utilise le futur emulateur cpc en javascript de cpc-p0wer lancé sur Firefox 33 que j'ai créé de zéro !
pour les Gremlins loader, je tape normalement les commandes |tape et run"+enter au clavier depuis le basic... puis le play du lecteur ! Même si c'est du virtuel cela devrait fonctionner car c'est le but de l'émulation... cela expliquant peut-être le pb de la détection des extensions... j'ai peut-être juste laissé le port imprimante en busy ?-> je vais regarder cela de prêt ! bah non, cela ne change rien ! c'est pas cela !
Pour gryzor : pourtant tous les autres CDTs de Gryzor que j'ai essayés fonctionne en mode cpc 6128 !
Code :
après analyse poussée : dans le decodeur du loader j'ai vu dans ce code B2 ED CA 00 00 B2 = OR D normalement c'est une suite de opcode invalide... ED CA n'existe pas...dans la doc officielle z80 ! en fait on pourrait pense qu'il reste ensuite CA 00 00 JP Z,&0000 qui s'exécute si or d si d=a=0. mais dans le documentation sur z80.info, il est indiqué que cela fait un ED invalid déjà exécuté + un autre nop pour le CA (puis encore 2 nops pour la suite !) ! J'ai regarder comment CPCE interprète ce code z80 ED CA 00 00 ? et effectivement dans le débuger en &9a24 il traduit bien EDCA *nop 00 nop 00 nop -> manque de bol c'est une fausse piste, puisque je fais exactement la même interprétation !
après plusieurs essai de chargement, j'ai eu une fois où le jeu s'est chargé en entier, une fois ou il s'arrête au décodage après l'écran de titre (CPCE 1.94 j'arrive toujours à cet endroit mais cela plante aussi (même en mode "tape compatibility" ?)). @dlfrsilver : quels sont les paramètres pour faire fonctionner ce cdt sur cpce ? rappel de son nom -> "Gryzor (UK) (1987) (Version Hit Squad Arcade 24) [Original] [TAPE].cdt" sur cpcpower !
PS : ton émulateur doit être carré côté émulation des opcodes z80. Les jeux speedlockés utilisent surement des opcodes non documentées, soit sur de les couvrir pour ne pas avoir de surprise.
Part du principe que tout les CDTs sur cpc-p0wer ont été testés par moi-même sur un vrai CPC, donc clairement si ça ne marche pas en émulation, c'est que l'émulateur a un défaut d'implémentation dans une de ses routines (CPU, routines émulant le lecteur de K7).
J'y ai passé des milliers d'heures depuis 2004 (soit une période 10 ans), donc toi et Lone, n'allez pas me générer des CDTs pétés qui forceront à tout refaire depuis le début pour rien du tout !
Prenez les CDTs de CPC-rulez ou cpc-p0wer, testez les sur vos émulateurs, et si ça ne marche pas, cherchez d'ou vient le souci dans votre émulation.
Je le répète, les CDTs ont été générés et vérifiés en mode inverse (conversion du CDT vers WAV), et testés sur un vrai CPC 464 et 464 +.
Ne générez pas de CDT pour faire virer ceux de CPC-rulez et cpc-p0wer !
Faites en si vous voulez en guise de test, mais les CDTs déjà crées fonctionnent et n'ont pas besoin d'être remplacé, tout au plus que les blocs sales dans certains soient nettoyés via l'outil CDTview de kukulcan.
Plusieurs choses : Quand je convertis un fichier CDT d'un jeu quelquonque.
Prenons le cas de Mask puisque tu l'as donné, ainsi que gryzor.
Il y a des réglages sonores à faire AVANT de jouer le fichier WAV issu de la conversion des CDTs.
Déjà, la cassette digitale doit être connectée au PC (sinon lecteur MP3).
Le fichier WAV doit être joué à un niveau sonore de 50% en sortie, et la molette son du CPC 464 réglée à un volume de 95-98%.
Si cette règle n'est pas respectée, la protection peut le détecter, et faire reseter le CPC !
Puisqu'il vous faut des preuves les voilà :
* J'ai branché mon CPC 464 sans extension * Inséré dans le lecteur K7 la cassette digitale qui est connectée à ma carte son * J'ai coupé sur mon PC toute application pouvant émettre un son quelquonque pendant la lecture du fichier WAV * J'ai mon niveau sonore en sortie sur goldwave réglé sur 50% (c'est la normal absolue, et ce n'est pas lié au format CDT/TZX) * J'ai mon niveau sonore en entrée sur mon CPC 464 réglé sur 95-98% (là encore valeur testée sur plus de 1000 cassettes, vous pouvez pas me "test" la dessus ) * Je lance CDT2WAV v1.5 qui gère en direct les fichiers CDT ainsi que la conversion en fichier WAV. * Je prends le CDT de Mask présent sur CPC-rulez ou cpc-p0wer * Je fais CTRL+ENTER sur 464, et je clique sur l'icône 'PLAY' sur CDT2WAV tout en ayant pris soin de décocher l'option tri état (note pour Thomas : Le système utilisé par Mask pour le status des levels n'est pas lié à la cassette, mais à l'ordinateur, c'est lui qui détermine) * Le chargement du jeu commence, je fais attention à respecter les pauses matérielles (exemple sur Mask, la première pause intervient quand le compteur s'achève à 000 sur l'écran titre, il ne faut pas laisser l'outil continuer la lecture, la gestion matérielle des pauses doit être gérée par l'émulateur). * J'appuie plusieurs fois sur SPACE, et j'arrive sur le menu ou on choisit les commandes avec la touche ENTER, puis je valide mon choix au joystick ou au clavier avec la touche "+/;" sur le 464. * je sors mon CDT de pause et la lecture reprend sur le bloc suivant sous CDT2WAV * le compteur décrémente de 143 vers 000 et à 000 le premier niveau du jeu apparait
Moralité de l'histoire : Soit l'outil utilisé est buggé et foire la conversion en WAV, soit les niveaux sonores en entrée et sortie sont incorrects et donc le niveau sonore fait que le jeu foire au chargement.
L'ordinateur => émulateur La cassette => le CDT
Pour mask, la bascule du signal est généré par l'ordinateur (la preuve, le CDT présent sur CPC-rulez et cpc-p0wer fonctionne en lecture directe via CDT2WAV sur mon CPC 464), et non au niveau de la cassette, ce qui veut dire qu'en émulation c'est l'émulateur qui doit supporter cet fonction, et non le fichier CDT.
PS : utilise CPCE 1.95, je l'ai fourni dernièrement sur le forum en archive zip.
Sur CPCE, le jeu se lance sans aucune option spéciale de cochée. ça passe d'emblée.
EDIT : je viens d'insérer CDT2WAV en version 1.5 qui rendra bien des services à tout le monde, et j'ai aussi testé le Gryzor en CDT qui pose problème à Megachur avec CDT2WAV sur mon CPC 464. Le jeu fonctionne sans aucun problème. (Y a des pauses hardware à respecter, mais dans l'idéal, il est préférable d'utiliser mes version splittées, comme ça y a pas à se galérer à savoir quand mettre la lecture en pause.
Moralité de l'histoire : réglez vos niveaux sonores correctement lors du replay du jeu en WAV ou en CDT et vos problèmes disparaitront (le CPC a besoin d'un certain niveau sonore pour que les données soient correctement lues).
Vous n’êtes pas autorisé(e) à consulter les fichiers insérés à ce message.
_________________ SPS Community Expert (SPS CE) / SPS France
Inscription : 12 Juin 2008, 20:29 Message(s) : 1709
@dlfrsilver : tout d'abord je te remercie de ton aide à ce sujet et de ce long dernier post explicatif !
en fait, côté émulation, je ne gère que des 0 et des 1 qui sont envoyés plus ou moins longtemps en fonction des longueurs de pulses définis dans le fichier CDT ! On est donc pas trop au niveau analogique (genre je baisse le son à 50% pour que ça passe dans les entrées des chipset ! ) le moteur de la K7 est on/off en fonction de la bonne valeur envoyée sur le port par le programme z80 en cours d'exécution. Le play est un bouton manuel. si play=on et motor=on le K7 read data est activé sinon non ! Les datas sont fournis à une fréquence de 1Mhz soit toutes les 1 microseconds.
donc clairement, voici la liste des CDTs qui passent sans pb sur l'émulateur : ça vous donnera un idée du niveau de compatibilité actuel selon les protections et du jeu de test utilisé ! tous ces tests ont été fait en mode 6128 après un reset avec BASIC 1.1 (v3) et AMSDOS avec un |tape puis run" + enter
tout ça c'est ok :
Alkatraz Amstrad Gold Hits 3 (UK) (Face 1A) (1988) (1. Trantor The Last Stormtrooper) [Original] [TAPE] [COMPILATION].cdt Amstrad Gold Hits 3 (UK) (Face 1A) (1988) (2. Bravestarr) [Original] [TAPE] [COMPILATION].cdt Amstrad Gold Hits 3 (UK) (Face 1B) (1988) (3. Solomons Key) [Original] [TAPE] [COMPILATION].cdt Chart Attack (UK) (Face 1B) (1991) (Ghouls N Ghosts) [Original] [TAPE] [COMPILATION].cdt E-motion (UK) (1990) (Spain retail version) [Original] [TAPE].cdt E-motion (UK) (1990) (UK retail version) [Original] [TAPE].cdt Ariolasoft K7 Bride Of Frankenstein (UK) (1987) [Original] [TAPE].cdt Werner - Mach Hin (G) (1986) [Original] [TAPE].cdt Bleepload v1 Thrust (UK) (1986) (v2) [Original] [TAPE].cdt Cassys 007 The Living Daylights (UK) (1987) (Spain retail version) [Original] [TAPE].cdt 007 The Living Daylights (UK) (1987) (UK retail version) [Original] [TAPE].cdt Custom Edd The Duck (UK) (1990) [Original] [TAPE] [Bugs].cdt Custom Loader Cauldron II (UK) (1988) (Silverbird) [Original] [TAPE].cdt Dinamic Poliload After The War (UK) (Face 1) (1989) [Original] [TAPE].cdt After The War (UK) (Face 2) (1989) [Original] [TAPE].cdt El Capitan Trueno (S) (Face A) (1989) [Original] [TAPE].cdt El Capitan Trueno (S) (Face B) (1989) [Original] [TAPE]_Spectrum variant 3.cdt Freddy Hardest En Manhattan Sur (S) (1989) [Original] [TAPE].cdt Rescate Atlantida (S) (Face A) (1988) [Original] [TAPE].cdt Rescate Atlantida (S) (Face B) (1988) [Original] [TAPE].cdt Satan (S) (Face A) (1989) (1. fase 1) [Original] [TAPE].cdt Satan (S) (Face B) (1989) (2. fase 2) [Original] [TAPE].cdt Elite MFM K7 Encoding Frank Brunos Boxing (UK) (Face 1) (1985) (v1) [Original] [TAPE].cdt Frank Brunos Boxing (UK) (Face 2) (1985) (v1) [Original] [TAPE].cdt Gremlin Loader 2 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 Hexagon protection K7 Eswat - Cyber Police (UK) (64K) (Face A) (1990) [Original] [TAPE].cdt Eswat - Cyber Police (UK) (64K) (Face B) (1990) [Original] [TAPE].cdt Micro-key Despotik Design (F,UK,G) (1987) [Original] [TAPE].cdt P.M.S. Loader K7 6-Pak (UK) (Face 2) (1987) (7. Split Personalities) [Original] [TAPE] [COMPILATION].cdt Split Personalities (UK) (1986) [Original] [TAPE].cdt Spectrum Chart Attack (UK) (Face 3A) (1991) (Shadow Of The Beast - Loader) [Original] [TAPE] [COMPILATION].cdt Chart Attack (UK) (Face 3B) (1991) (Shadow Of The Beast - Face 2) [Original] [TAPE] [COMPILATION].cdt Chart Attack (UK) (Face 4A) (1991) (Shadow Of The Beast - Face 3) [Original] [TAPE] [COMPILATION].cdt Chart Attack (UK) (Face 4B) (1991) (Shadow Of The Beast - Face 4) [Original] [TAPE] [COMPILATION].cdt North Star (UK) (1988) [Original] [TAPE].cdt Rock N Roll (UK) (Face A) (1989) [Original] [TAPE].cdt Rock N Roll (UK) (Face B) (1989) [Original] [TAPE].cdt Spectrum Multiload Deflektor (UK) (1987) [Original] [TAPE].cdt Spectrum Pur Chart Attack (UK) (Face 1A) (1991) (Lotus Turbo Challenge - Data - HandBook) [Original] [TAPE] [COMPILATION].cdt Chart Attack (UK) (Face 2A) (1991) (Supercars - Data) [Original] [TAPE] [COMPILATION].cdt Karate Ace (UK) (Face 2A) (1988) (6. The Way Of The Tiger - Program) [Original] [TAPE] [COMPILATION].cdt Karate Ace (UK) (Face 2B) (1988) (6. The Way Of The Tiger - Levels) [Original] [TAPE] [COMPILATION].cdt Spectrum variant 3 Satan (UK) (Face A) (1989) [Original] [TAPE].cdt Satan (UK) (Face B) (1989) [Original] [TAPE].cdt Specvar Batman The Movie (UK) (1989) (Spain retail version) [Original] [TAPE].cdt Continental Circus (UK) (1989) (Spain retail version) [Original] [TAPE].cdt Gryzor.cdt Speedlock Alien Highway (UK) (1986) [Original] [TAPE].cdt Speedlock DATA TYPE 1 Barbarian II (UK) (1989) [Original] [TAPE].cdt Mega Mix (UK) (Face 3) (1989) (3. Barbarian II The Dungeon Of Drax) [Original] [TAPE] [COMPILATION].cdt Speedlock v1 10th_Frame__RERELEASE_KIXX.cdt Bmx Simulator (UK) (1987) [Original] [TAPE].cdt Match Point (UK) (1985) [Original] [TAPE].cdt The Guardian Angel (UK) (1987) [Original] [TAPE].cdt Speedlock v1 Chainé 3D Starfighter (UK) (1987) [Original] [TAPE].cdt Speedlock v2 Frankenstein Junior (UK) (1987) [Codemasters Software] [Original] [TAPE].cdt They Stole A Million (UK) (1986) (Version Basic 1.0) [Original] [TAPE].cdt Speedlock v2 chainé Arkanoid (UK) (1987) [Original] [TAPE].cdt Eliminator (UK) (1988) [Original] [TAPE].cdt Speedlock v2 chainé type 1 A Question Of Scruples (UK) (Face A) (1987) [Original] [TAPE].cdt A Question Of Scruples (UK) (Face B) (1987) [Original] [TAPE].cdt Combat School (UK) (1987) [Original] [TAPE].cdt Gryzor (UK) (1987) (UK retail version) [Original] [TAPE].cdt Speedlock v2 chainé type 2 Amstrad Gold Hits 3 (UK) (Face 2B) (1988) (6. World Class Leaderboard - Terrain B) [Original] [TAPE] [COMPILATION].cdt Speedlock v2 Loader Speedlock DATA TYPE 1 Arkanoid Revenge Of Doh (UK) (1988) (UK retail version) [Original] [TAPE].cdt Speedlock v3 750cc Grand Prix (UK) (1989) [Original] [TAPE].cdt Power Boat Simulator (UK) (1989) [Original] [TAPE].cdt Speedlock v3 DATA TYPE 1 After Burner (UK) (Face A) (1988) [Original] [TAPE].cdt After Burner (UK) (Face B) (1988) [Original] [TAPE].cdt Daley Thompsons Olympic Challenge (UK) (Face A) (1988) [Original] [TAPE].cdt Daley Thompsons Olympic Challenge (UK) (Face B) (1988) [Original] [TAPE].cdt Mega Mix (UK) (Face 2) (1989) (2. Operation Wolf) [Original] [TAPE] [COMPILATION].cdt Speedlock v3 DATA TYPE 3 Batman The Movie (UK) (1989) [Original] [TAPE].cdt Speedlock v4 Batman The Caped Crusader (UK) (Face A) (1988) (Version Hit Squad 06) [Original] [TAPE].cdt Batman The Caped Crusader (UK) (Face B) (1988) (Version Hit Squad 06) [Original] [TAPE].cdt Speedlock v4 Spectrum Mega Mix (UK) (Face 4) (1989) (4. The Real Ghostbusters) [Original] [TAPE] [COMPILATION].cdt Speedlock v4 DATA TYPE 1 Back To The Future II (UK) (Face A) (1990) [Original] [TAPE].cdt Back To The Future II (UK) (Face B) (1990) [Original] [TAPE].cdt Mega Mix (UK) (Face 1) (1989) (1. Dragon Ninja) [Original] [TAPE] [COMPILATION].cdt Speedlock v4 DATA TYPE 3 Cabal (UK) (1989) [Original] [TAPE].cdt Speedlock v5 Adidas Championship Tie Break (UK) (1990) [Original] [TAPE].cdt Speedlock v5 DATA TYPE 3 Operation Thunderbolt (UK) (Face A) (1989) [Original] [TAPE].cdt Operation Thunderbolt (UK) (Face B) (1989) [Original] [TAPE].cdt Speedlock v6 Dynamite (UK) (Face 1A) (1989) (Crazy Cars) [Original] [TAPE] [COMPILATION].cdt Dynamite (UK) (Face 5A) (1989) (Gryzor) [Original] [TAPE] [COMPILATION].cdt Gryzor (UK) (1987) (Version Hit Squad Arcade 24) [Original] [TAPE].cdt Puzznic (UK) (1990) [Original] [TAPE].cdt Speedlock v6 Spectrum 10 Great Games II (UK) (Face 1A) (1988) (01. Death Wish 3) [Original] [TAPE] [COMPILATION].cdt Continental Circus (UK) (Face A) (1989) [Original] [TAPE].cdt Continental Circus (UK) (Face B) (1989) [Original] [TAPE].cdt Les Gremlins (UK) (Face 1A) (1988) (1. Death Wish 3) [Original] [TAPE] [COMPILATION].cdt Speedlock v6 Spectrum variant 3 Double Dragon II - The Revenge (UK) (Face A) (1989) [Original] [TAPE] [Animagic].cdt Double Dragon II - The Revenge (UK) (Face B) (1989) [Original] [TAPE] [Animagic].cdt Gryzor (UK) (1987) (Spain retail version) [Original] [TAPE].cdt After The War (S) (Face A) (1989) [Original] [TAPE].cdt After The War (S) (Face B) (1989) [Original] [TAPE].cdt Afteroids (S) (1988) [Original] [TAPE].cdt Daley Thompsons Olympic Challenge (UK) (1988) (Spain retail version) [Original] [TAPE].cdt Speedlock v6 DATA TYPE 1 P-47 The Freedom Fighter (UK) (Face A) (1989) [Original] [TAPE].cdt P-47 The Freedom Fighter (UK) (Face B) (1989) [Original] [TAPE].cdt The Untouchables (UK) (Face A) (1989) [Original] [TAPE].cdt The Untouchables (UK) (Face B) (1989) [Original] [TAPE].cdt Speedlock v7 Captain Planet And The Planeteers (UK) (1990) [Original] [TAPE].cdt Speedlock v7 DATA TYPE 1 Cisco Heat (UK) (1991) [Original] [TAPE].cdt Deliverance - Stormlord 2 (UK) (1990) [Original] [TAPE].cdt Extreme (UK) (1991) [Original] [TAPE].cdt Grand Prix Circuit (UK) (1990) [Original] [TAPE].cdt Skull And Crossbones (UK) (Face A) (1991) [Original] [TAPE].cdt Skull And Crossbones (UK) (Face B) (1991) [Original] [TAPE].cdt The Cycles (UK) (1990) [Original] [TAPE].cdt Speedlock v7 DATA TYPE 3 Lemmings (UK) (1991) (00. Code Program) (Version Split) [Original] [TAPE].cdt Lemmings (UK) (1991) (01. Level 01 FUN - JUST DIG!) (Version Split) [Original] [TAPE].cdt Terminator 2 Judgment Day (UK) (1991) (00. Code Programme) (Version Split) [Original] [TAPE].cdt Terminator 2 Judgment Day (UK) (1991) (01. Level 01 - The Shopping Mall - Delay T1000) (Version Split) [Original] [TAPE].cdt Terminator 2 Judgment Day (UK) (1991) (09. Menu code) (Version Split) [Original] [TAPE].cdt Terminator 2 Judgment Day (UK) (Face A) (1991) [Original] [TAPE].cdt Terminator 2 Judgment Day (UK) (Face B) (1991) [Original] [TAPE].cdt
Standard archive info Cauldron II (S) (1986) [Original] [TAPE].cdt Direct Recording One (UK) (1986) [Original] [TAPE].cdt Totems (S) (2012) [Original] [TAPE].cdt non reg - cpc464 Kikekankoi Face Programme Principal.cdt Pure Tone The Dragontorc Of Avalon (UK) (1985) [Original] [TAPE].cdt speed data 1942 + Batty (UK) (1989) (Spain retail version) [Original] [TAPE] [COMPILATION].cdt speed data block Wacky Races (UK) (Face A) (1992) [Original] [TAPE].cdt Wacky Races (UK) (Face B) (1992) [Original] [TAPE].cdt Titus K7 MFM Dick Tracy (UK) (1990) [Original] [TAPE].cdt Dick_Tracy__ENGLISH.cdt Knight Force (UK) (1989) [Original] [TAPE].cdt Wild Streets (UK) (1989) [Original] [TAPE].cdt Wild_Streets__(SPANISH_RETAIL).cdt Turbo Loading Data 3D Snooker (UK) (1990) [Original] [TAPE].cdt 6-Pak (UK) (Face 2) (1987) (5. The Sacred Armour Of Antiriad) [Original] [TAPE] [COMPILATION].cdt 1943 (UK) (1988) [Original] [TAPE].cdt Antares (S) (1987) [Original] [TAPE].cdt Barbarian (UK) (Face A) (1987) [Palace Software] [Original] [TAPE].cdt Barbarian (UK) (Face B) (1987) [Palace Software] [Original] [TAPE].cdt BMX Ninja (UK) (1989) [Original] [TAPE].cdt Breaking Baud (UK) (2014) [Original] [TAPE] [DEMO].cdt Bubble_Bobble_4_CPC__(2014-06-20).cdt Cauldron II (F) (1986) [Original] [TAPE].cdt Elite (G) (1986) [Original] [TAPE].cdt The Blues Brothers (UK) (Face 1) (1993) [Original] [TAPE].cdt The Blues Brothers (UK) (Face 2) (1993) [Original] [TAPE].cdt etc.
le jeu se charge, puis l'écran de titre s'affiche, puis le jeu se charge jusqu'à la fin de la k7... puis ... plus rien... la routine de load attend quelquechose ...
jusqu'à que je remette la k7 sur un autre bloc (au début) et hop le menu et le jeu démarre ! A noter les jolis beep, bap et boum lors du chargement qui font des beaux aigues et clip/clap -> fantastique ! et le son qui diminue à la fin du chargement !
Zeros and ones in 'Direct recording' blocks mean low and high pulse levels respectively. The 'current pulse level' after playing a Direct Recording block of CSW recording block is the last level played.
et
Citer :
The writer of a TZX file should ensure that the 'current pulse level' is well-defined in every sequence of blocks where this is important, i.e. in any sequence that includes a 'Direct recording' block, or that depends on edges generated by 'Pause' blocks. The recommended way of doing this is to include a Pause after each sequence of blocks.
sauf que là on arrive à la fin de ce block -> Pause After this block : 0ms
d'où le problème d'émulation -> manque-t-il quelque chose ? est-ce normal d'avoir une pause de 0ms ?
cf ci-dessous, c'est corrigé !
De mon côté, j'avais rajouté systématiquement une pause de plus de 1 ms à la fin d'une cdt... d'autres loader de CDTs ont besoin d'une pause à la fin (ex : The Dragontorc Of Avalon (UK) (1985) [Original] [TAPE].cdt) qui finit par une "pulse tone") sinon le loader attend indéfiniment... et c'est pour cela que j'avais rajouté une pause de 1ms à la fin !
je vais donc revoir ma copie en appliquant strictement ce qu'indique la doc ! ... cf le bug corrigé ci-dessous : ca marche now pour tous les Bleepload !
j'ai une autre question : qu'envoi donc le lecteur de K7 d'un cpc à la fin de la bande ? un état false ou true ? ou rien de plus que le dernier signal envoyé ?
Protection physique 4000 bauds Bad_Cat__ENGLISH.cdt la c'est dû uniquement un problème de place mémoire donc du au limite de mon émulation !
et pour finir les seules cdts qui ne passent pas vraiment :
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 Gremlin Loader Mickey Mouse (UK) (1988) [Original] [TAPE].cdt Tour De Force (UK) (1987) [Original] [TAPE].cdt Gremlin loader 2 10 Great Games II (UK) (Face 1B) (1988) (04. Basil The Great Mouse Detective) [Original] [TAPE] [COMPILATION].cdt 10 Great Games II (UK) (Face 2B) (1988) (07. Mask) [Original] [TAPE] [COMPILATION].cdt Mask (UK) (1987) [Original] [TAPE].cdt
j'ai soit en mode cpc 6128 un écran brouillé d'infos et une routine qui boucle très longtemps puis des fois reset ! soit en mode cpc 464 un magnifique reset après le chargement du loader !
le comportement avec CPCE 1.94 : complètement identique à mon émulation !!!
-> j'ai pas "trouvé" CPCE 1.95 sur cpcrulez ou ailleurs même sur le site officiel de cng ???
donc je pense que c'est clairement une erreur d'émulation de ces CDTs (ou autres composants hardware) ! donc je ne mets pas du tout en cause ces fichiers CDT pour l'instant et je cherche juste à savoir qu'elle est la différence d’interprétation à faire pour bien émuler correctement ces CDTs ! Parce que j'ai beau regarder la doc TZX , je ne vois rien de spécial et toutes les autres CDTs fonctionnent !
je suis donc curieux de connaître ce qui a été fait sur cpce 1.95 pour que ces CDTs passent !
Dernière édition par Megachur le 25 Oct 2014, 10:25, édité 1 fois.
Inscription : 29 Août 2007, 12:04 Message(s) : 1989 Localisation : seine et marne 77
breiztiger a écrit :
"Rendons à César ce qui lui appartient !!!"
les cdts ne sont pas forcement bon parce qu'ils fonctionnent actuellement (surtout vu les découvertes et explications de thomas)
Très clairement, le cas des CDTs diffère des DSK Philippe. On est d'accord sur le fait qu'un bon nombre de DSK avaient besoin d'être redumpés.
Le format CDT est lui bien mieux fichu que le format DSK de base, le seul réel problème c'est les outils.
Un nombre incalculable de CDT ont été générés par bytelogger quand les protections n'étaient pas supportées, mais en lui-même, tout est prévu dans le format pour les protections quelles qu'elles soient.
Thomas en ce qui concerne les jeux du style de mask ne respecte pas le format CDT.
Mask n'étant pas supporté de base, César l'a byteloggé, ce qui veut dire que le CDT correspond exactement à ce que contient le WAV sans interprétation. Si le CDT ne fonctionne pas sur un émulateur, c'est donc l'émulateur qui a un défaut d'implémentation.
Quand il en vient à me dire qu'il compte utilise un type de bloc réservé au spectrum (le 2B) et à ne pas utiliser dans le format CDT (les deux formats sont voisins, mais il y a des différences entre les deux que tout programmeur d'émulateur se doit de respecter), désolé, mais ça va pas du tout.
Ce que j'entrevois c'est que si les CDTs actuels sont remplacés par ceux qu'il a généré, ça va gueuler. Le format de stockage des cassettes est le résultat d'une entente et d'une concorde entre les différents auteurs d'émulateurs. Et celà doit être respecté.
Le format CDT est l'adaptation au CPC du format TZX du zx spectrum.
Je rappelle ici les fondamentaux sur le format CDT : ----------------------------------------------------
Format de fichier (spécifique Amstrad) d'image-cassette (.CDT)
Le format d'image cassette ".CDT" (CPC Digital Tape) est le même que le format d'image TZX.
Ce document donne des informations supplémentaires relatives à la création de CDTs, ou de quelle façon elles doivent être prises en compte par un émulateur Amstrad.
REMARQUE: Tout les "timings" sont en états-T Spectrum.
ID:10 - Standard speed data block (bloc de données en vitesse standard) : ---------------------------------------------------------------------------
Ce bloc doit être supporté et PEUT exister dans un CDT. Les émulateurs doivent utiliser les timings de la ROM Spectrum pour leur lecture.
Ce bloc doit être lu avec les valeurs standard de la ROM pour toutes les variables de la vitesse de chargement (valeurs entre crochets []). Ce bloc peut-être utilisé pour les routines de chargement en ROM, ET pour les routines de chargement 'custom' (propriétaires) qui utilisent les mêmes timings que ceux de la ROM.
00 2 Pause Après ce bloc en millisecondes (ms) [XXXX] 02 2 Longueur des données qui suivent 04 x Données, comme dans les fichiers TAP
- Longueur: [02,03]+04
ID:11 - Turbo Loading Data Block (bloc de données à chargement Turbo) : ----------------------------------------------------------------------------
Ce bloc DOIT être supporté et PEUT exister dans un CDT.
Les timings pour la lecture sont stockés dans le header (entête) du bloc.
Ce bloc est très similaire aux bloc normal TAP mais avec des infos supplémentaires sur les timings et d'autres différences importantes. Le même encodage de cassette est utilisé pour le bloc de donnée à vitesse standard. Si un bloc devait utiliser une sync "non-standard" ou des "pilot tones" (ex: toutes sortes de systèmes de protection) alors utilisez les trois blocs suivant pour le décrire.
00 2 Longueur de la PILOT pulse [Bit-1] 02 2 Longueur de la première SYNC pulse [0] 04 2 Longueur de la seconde SYNC pulse [0] 06 2 Longueur des pulse bit à ZERO [variable] 08 2 Longueur des pulse bit à UN [variable] 0A 2 Longueur du PILOT tone (en pulses PILOT) [4096] 0C 1 bits utilisés dans le dernier octet (les autre bits doivent être 0) [8] ex: si c'est 6 alors les bits (x) utilisés dans le dernier sont: xxxxxx00 0D 2 Pause après ce bloc en millisecondes (ms) [XXXX] 0F 3 Longueur des données qui suivent 12 x Données; le format est comme pour les TAP (MSb en premier)
(2) La routine de lecture/écriture de la ROM Amstrad CPC peut utiliser une vitesse variable pour la lecture, ainsi la pulse Bit-1 doit être lue à partir du Pilot Tone et le Bit-0 peut être lu à partir des pulses de synchro, et est toujours la moitié de la taille du Bit-1. La vitesse peut varier de 1000 à 2000 baud (non-officiellement, j'ai fais des tests avec césar, un CPC supporte jusqu'à 6000 bauds en vitesse, et BAD cat de rainbow arts a été enregsitré en 4000 bauds, ce qui procure une vitesse de chargement ultra rapide. néanmoins le CPC supporte de façon totalement stable une vitesse de 3200 bauds (vitesse de lecture des CDTs des jeux compactés de César par exemple).
REMARQUE: Le format TZX/CDT a TOUT les timings écrits d'après une horloge cadencée à 3.5MHz clock... lorsque vous voulez les utiliser sur par exemple un ordinateur doté d'une horloge cadencée à 4MHz vous devez multiplier TOUT les timings par 1.142857 (n'utilisez PAS une base d'horloge de 4MHz ou 6MHz pour stocker les timings dans un fichier CDT/TZX!).
ID:12 - Pure Tone (tonalité pure) : -----------------------------------
Cela produira une tonalité qui est à la base la même que celle du "pilot tone" (tonalité pilote) dans les deux premiers blocs de données. Vous pouvez définir la longueur de la pulse et le nombre de pulses présentes dans la tonalité (tone).
00 2 Longueur de pulse en états-T 02 2 Nombre de pulses
- Longueur: 04
ID:13 - Sequence of pulses of different length (Séquence de pulses de longueur différente) : ---------------------------------------------------------------------------------------------
Ce bloc DOIT être supporté et PEUT exister dans un CDT.
Les timings pour la lecture sont stockés dans le header (entête) du bloc.
Cela produira n pulses, chacune ayant son propre timing. Jusqu'à 255 pulses peuvent être stockées dans ce bloc; c'est utile pour les sync tones (tonalités de synchro) non-standard utilisées par certains systèmes de protection contre la copie.
00 1 Nombre de pulses 01 2 Longueur de la première pulse en états-T 03 2 Longueur de la seconde pulse... .. . etc.
- Longueur: [00]*02+01
ID:14 - Pure Data Block (Bloc de donnée pure) : -------------------------------------------------
Ce bloc DOIT être supporté et PEUT exister dans un CDT.
Les timings pour la lecture sont stockés dans le header (entête) du bloc.
C'est la même chose que dans les blocs de données à chargement Turbo, excepté qu'il n'a aucun pilot ou sync pulses.
00 2 Longueur de pulse bit à ZERO 02 2 Longueur de pulse bit à UN 04 1 Bits utilisés dans le DERNIER octet 05 2 Pause après ce bloc en millisecondes (ms) 07 3 Longueur des données qui suivent 0A x Données (MSb en premier)
- Longueur: [07,08,09]+0A
ID:15 - Direct Recording (Enregistrement direct) : ---------------------------------------------------
Ce bloc DOIT être supporté mais DEVRAIT être évité lors de la création d'un CDT par un convertisseur de sample-vers-un-CDT. Ce bloc peut être utilisé par les émulateurs pour supporter l'écriture dans les CDTs.
Les timings pour la lecture sont stockés dans le header (entête) du bloc.
Ce bloc est utilisé pour les cassettes qui ont des parties dans un format tel que le bloc à chargement turbo ne puisse pas être utilisé. Ce n'est pas comme un fichier VOC, étant donné que l'information est bien plus compacte. Chaque valeur digitale est représentée par un seul bit (0 pour bas, 1 pour haut) ce qui veut dire que le bloc sera tout au plus au 1/8 de la taille d'un VOC équivalent.
Veuillez n'utiliser ce bloc que SI vous ne pouvez pas utiliser bloc à chargement turbo. Les fréquences de digitalisation idéales sont 22050 (158 états T) ou 44100 Hz (79 états T/digit). Merci de veiller à ne pas utiliser d'autres fréquences d'échantillonnage.
00 2 Nombre d'états T par sample (bit de donnée) 02 2 Pause après ce bloc en millisecondes (ms) 04 1 Bits utilisés (samples) dans le dernier octet de données (1-8) Ex: Si c'est 2 seuls les deux premiers samples du dernier octets seront lus 05 3 Longueur des données 08 x Données. Chaque bit représente un état sur le port EAR (écoute) (ex: un sample); le MSb est lu en premier.
- Longueur: [05,06,07]+08
ID : 20 - Pause (Silence) or `Stop the Tape' Command (Pause ou commande 'Arrêter la cassette') : -----------------------------------------------------------------------------------------------------
Lorsque la pause est définie à "0" un émulateur Amstrad ne DOIT PAS 'Arrêter la cassette', mais cette valeur devrait être traitée en tant que "pas de pause".
- Longueur: 02
Tout les autres types de blocs (2A, 2B, et ainsi de suite ne doivent PAS être implémentés ou insérés dans un CDT, car ils ne sont à utiliser que sur zx spectrum).
Citer :
perso, je n'ai pas de touche polarite sur mon cpc
Tu as raison on a pas de touche polarité sur le CPC, car l'ordinateur (CPC) gère ça en automatique.
Mais dans tout les cas, ce n'est pas géré par le format CDT.
César a présenté la chose sous forme d'option, mais la polarité en soit est géré par le CPC, et pas dans le format CDT.
Citer :
idem pour les disquettes ou on remplace encore des dumps actuellement, et pourtant ils fonctionnaient ...
Il y a les dumps qui sont remplacés par "plus frais", et ceux remplacés par "fonctionnels et plus ou moins conformes à l'original".
Les CDTs n'ont pas, de manière générale le problème des DSKs. Les CDTs que j'ai trouvé sur cpc-p0wer qui ne fonctionnaient pas était surtout sales, plutôt que véritablement mal dumpés.
Pour les CDTs, je note surtout, et c'est mon principal problème, que pour nettoyer vraiment les CDTs, il n'y a jamais eu d'outils digne de ce nom.
Pour dire, j'arrive à nettoyer très proprement des WAV de jeux dumpés, qui n'ont aucune erreurs quand je les testes, et que samp2cdt m'abime à l'arrivée. Pourquoi ? Parce que la routine de nettoyage ne fait pas correctement son job, elle détruit de la donnée en même temps que les bruits parasites, génial.... Résultat je passe par César qui me bytelogge le WAV ou le CSW et il obtient des blocs niquel chrome......
_________________ SPS Community Expert (SPS CE) / SPS France
En soit, le contenu d'une cassette, ça n'est rien d'autre que des "plus" et des "moins" magnétiques stocké sur une bande. Lorsqu'on lit la bande, on a la circuiterie du lecteur de cassette qui va la lire, et au final ressortir un "1" ou un "0" sur le bit 7 du port B du 8255. Rien de génial là dedans.
Du point de vue du loader, on va donc voir défiler des "0" et des "1" successifs, de longueur variables. En ce qui concerne l'émulation du support, c'est la seule chose qui nous importe : Connaitre les durées des "1" et des "0" successifs.
C'est ce que propose le format CSW. C'est pour ça qu'un dump CSW passera toujours si le dump est bon (là, c'est toi qui sait nous dire si c'est le cas avec ton équipement ), et si l'émulateur n'est pas buggé sur d'autres fonctions (z80, crtc, timings, etc)
Le format CDT, lui, tente de reconstruire cette "ligne" de 0 et de 1, mais en se basant sur ce qu'on s'attend à trouver : Un pilote, des pauses, etc.
Le format CDT a tout ce qu'il faut pour avoir une image propre. Je suis d'accord sur le fait qu'il est, dans ses dernières versions, très complet.
Mais....
La transformation d'un CSW vers un CDT va faire tourner des algorithmes sioux, pour trouver des pilotes, des tailles de pulse à 1, etc. On va donc avoir des petites entorses à la réalité, pas gênante dans 99% des cas. En outre, il a d'indéniables qualités : A l'instar du format dsk, il permet de visualiser facilement les structures "classiques" d'une cassette, ainsi que ses données (on retrouve les chaines de textes dedans, ce qu'on n'aura jamais au grand jamais dans un csw).
Mon avis est qu'il est complémentaire : Associé à un outil générique comme celui de cpc-p0wer, on a rapidement et en un coup d'oeil des tonnes d'infos pertinentes sur la cassette.
Par contre, dire qu'il est l'exact reflet de la cassette, c'est inexact, de par sa nature même (sauf si, comme tu dis, on le "bytelogge", c'est à dire si on ne stocke que les durées de chaque "0" et "1", en les samplants (bloc 15) ou via un bloc csw, ce qui revient a incorporer un csw dans le cdt).
Le bloc "2B" sert à positionner un level (en sortie de pause par exemple générale). il est dans la norme 1.20. Le doc que tu nous as recopié, c'est la version 1.13 a vue de nez.
Il n'y a aucune raison pour ne pas l'utiliser sur CPC... Sauf bien sur à rendre le CDT incompatible avec les émulateurs ne supportant que le TZX en format 1.13... (ce qui est cependant une bonne raison si la majorité du parc l'est).
Pour Megachur :
J'ai eu un soucis sur Mask également. Le WAV passait sans soucis, mais pas le CDT. En comparant les deux, j'ai finalement compris que l'interprétation du CDT nécessite une implémentation précise de la liste des inversions :
Ce que je faisais : J'inversais le niveau courant avant de rajouter mon item (de la durée voulue). Ce qu'il faut faire : Ajouter l'item de la bonne durée, PUIS inverser le niveau courant.
Sur ce point le CDT passe un peu par hasard. En effet, la protection repose sur la mesure d'une "pulses" assez grosses. Celle-ci doit être a "0" qui plus est...
Mon implémentation faisait que les pulses étaient inversés, ce qui fait que la "0" passait avant la "1". Du coup, on n'en mesurait qu'une partie et ça ne correspondait pas.
Le wav original, lui, a, avant ses deux pulses caractéristiques, une pulses plus large. Cette pulse n’apparaît pas dans le CDT, mais permettait d'avoir le temps machine nécessaire pour démarrer la mesure au début de la pulse à "0", quelque soit celle qui arrive en premier.
Tu me diras ce que tu en penses, mais si tu as le même soucis que moi (ça y ressemble), ça devrait aller.
Ah, oui, le symptôme était le suivant : - Le loader se chargeait - Je sélectionnait le controle, appuyait sur "fire" et le niveau se chargeait. Sauf qu'il se chargeait "au ralentit", avec une pause aux alentours de 72, et sans s'arrêter après le "000"
Inscription : 29 Août 2007, 12:04 Message(s) : 1989 Localisation : seine et marne 77
Citer :
Bon, pour finir sur les "blocs" :
En soit, le contenu d'une cassette, ça n'est rien d'autre que des "plus" et des "moins" magnétiques stocké sur une bande. Lorsqu'on lit la bande, on a la circuiterie du lecteur de cassette qui va la lire, et au final ressortir un "1" ou un "0" sur le bit 7 du port B du 8255. Rien de génial là dedans.
D'accord avec ces informations là, c'est correct
Citer :
Du point de vue du loader, on va donc voir défiler des "0" et des "1" successifs, de longueur variables. En ce qui concerne l'émulation du support, c'est la seule chose qui nous importe : Connaitre les durées des "1" et des "0" successifs.
Oui c'est ça
Citer :
C'est ce que propose le format CSW. C'est pour ça qu'un dump CSW passera toujours si le dump est bon (là, c'est toi qui sait nous dire si c'est le cas avec ton équipement ), et si l'émulateur n'est pas buggé sur d'autres fonctions (z80, crtc, timings, etc)
dicton : si ça passe en CSW, ça passera en CDT. Si ça passe en CSW mais pas en CDT c'est que protection pas supportée (bytelogger nécessaire), ou bien blocs corrompus (lié à samp2cdt).
Citer :
Le format CDT, lui, tente de reconstruire cette "ligne" de 0 et de 1, mais en se basant sur ce qu'on s'attend à trouver : Un pilote, des pauses, etc.
Le format CDT a tout ce qu'il faut pour avoir une image propre. Je suis d'accord sur le fait qu'il est, dans ses dernières versions, très complet.
Mais....
La tu te trompes. Tu fais une généralité alors que ça ne concerne qu'un type donné de bloc, celui avec l'ID 15.
Lui seul utilise dans le format CDT des 0 et des 1. Tu es sur d'avoir lu ce que j'ai écris plus haut ?
Citer :
La transformation d'un CSW vers un CDT va faire tourner des algorithmes sioux, pour trouver des pilotes, des tailles de pulse à 1, etc. On va donc avoir des petites entorses à la réalité, pas gênante dans 99% des cas.
La seule entorse à la réalité, ce sont les valeurs (pilot tone, sync, bit 0 et 1), pour lesquel on a pas d'outils pour les mesures avec précision. Pour ce qui est des données, le format CDT est parfait pour la préservation.
Citer :
En outre, il a d'indéniables qualités : A l'instar du format dsk, il permet de visualiser facilement les structures "classiques" d'une cassette, ainsi que ses données (on retrouve les chaines de textes dedans, ce qu'on n'aura jamais au grand jamais dans un csw).
Absolument, quand je vois comment sur C64 les mecs se font chier avec leur gros fichiers qui ne sont ni plus ni moins que l'équivalent de nos CSW à nous, j'ai de la peine pour eux, et pour moi quand je dumpe sur C64.
Citer :
Mon avis est qu'il est complémentaire : Associé à un outil générique comme celui de cpc-p0wer, on a rapidement et en un coup d'oeil des tonnes d'infos pertinentes sur la cassette.
Oui absolument, l'outil de cpc-p0wer est très bon, j'attends les différentes options qui seront ajoutées au fil de l'eau
Citer :
Par contre, dire qu'il est l'exact reflet de la cassette, c'est inexact, de par sa nature même (sauf si, comme tu dis, on le "bytelogge", c'est à dire si on ne stocke que les durées de chaque "0" et "1", en les samplants (bloc 15) ou via un bloc csw, ce qui revient a incorporer un csw dans le cdt).
Faux. Tu te trompes, et tu as pas lu l'intitulé du bloc ID 15.
Je cite : "Ce bloc est utilisé pour les cassettes qui ont des parties dans un format tel que le bloc à chargement turbo ne puisse pas être utilisé. Ce n'est pas comme un fichier VOC, étant donné que l'information est bien plus compacte. Chaque valeur digitale est représentée par un seul bit (0 pour bas, 1 pour haut) ce qui veut dire que le bloc sera tout au plus au 1/8 de la taille d'un VOC équivalent."
Il est expliqué clairement qu'un bloc ID 15 n'est PAS comme un fichier voc ou CSW (c'est kikif bourricot), car les informations sont plus compactes dans un bloc ID 15 que dans un fichier CSW/VOC.
En bref, tu cherches à détourner le fonctionnement d'un bloc pour lui faire faire ce pourquoi il n'est pas fait.
Le bloc ID 15 est un bloc spécial utilisé uniquement pour des jeux qui utilisent des protections contre la copie particulières, et en aucun cas sur des jeux utilisant des blocs standard turbo ou pas.
ensuite, tu te méprends sur ce qu'est un bytelogger. Le bytelogger de césar injecte directement les informations trouvées dans le WAV ou fichier CSW généré dans le format d'enregistrement exact. Les seuls éléments qui ne sont pas tout à fait exact, c'est la longueur des pauses (à mettre à la main....) et les valeurs des pilot tones, sync, bit 0 et 1, etc....
Mask est enregistré sur cassette en alternance de petits blocs pure tone et bloc pure data, et c'est exactement ce que le bytelogger a injecté dans le fichier CDT crée pour nous par César.
Citer :
Le bloc "2B" sert à positionner un level (en sortie de pause par exemple générale). il est dans la norme 1.20. Le doc que tu nous as recopié, c'est la version 1.13 a vue de nez.
Il n'y a aucune raison pour ne pas l'utiliser sur CPC... Sauf bien sur à rendre le CDT incompatible avec les émulateurs ne supportant que le TZX en format 1.13... (ce qui est cependant une bonne raison si la majorité du parc l'est).
Je viens de consulter la version v1.20. C'est un bloc zx spectrum, et il n'a rien à faire dans les CDTs sur CPC.
Mask n'utilise pas ce principe et le CDT d'origine byteloggé fonctionne sur un vrai amstrad CPC 464 comme l'original.
Je ne comprends donc pas cette volonté de réinventer l'eau chaude. Le CDT byteloggé doit fonctionner sur ton émulateur en standard, tout comme il fonctionne sur CPC 464 et au delà.
Tu cherches à faire plier le format ou à l'amener à ce qu'il fonctionne sur ton émulateur, alors que c'est du coté de ton émulateur qu'il faut que tu creuses.
Ne déplace pas le problème, corrige-le
Citer :
Pour Megachur :
J'ai eu un soucis sur Mask également. Le WAV passait sans soucis, mais pas le CDT. En comparant les deux, j'ai finalement compris que l'interprétation du CDT nécessite une implémentation précise de la liste des inversions :
Ce que je faisais : J'inversais le niveau courant avant de rajouter mon item (de la durée voulue). Ce qu'il faut faire : Ajouter l'item de la bonne durée, PUIS inverser le niveau courant.
C'est la pause qui détermine la bascule du bit, comme te l'a dit César, et rien d'autre.
Citer :
Sur ce point le CDT passe un peu par hasard. En effet, la protection repose sur la mesure d'une "pulses" assez grosses. Celle-ci doit être a "0" qui plus est...
Mon implémentation faisait que les pulses étaient inversés, ce qui fait que la "0" passait avant la "1". Du coup, on n'en mesurait qu'une partie et ça ne correspondait pas.
Le wav original, lui, a, avant ses deux pulses caractéristiques, une pulses plus large. Cette pulse n’apparaît pas dans le CDT, mais permettait d'avoir le temps machine nécessaire pour démarrer la mesure au début de la pulse à "0", quelque soit celle qui arrive en premier.
Le CDT passe normalement. Explique moi pourquoi mon CPC 464 et mon 464+ arrive à lire et charger le jeu, alors que ton émulateur n'y arrive pas automatiquement ?
Citer :
Tu me diras ce que tu en penses, mais si tu as le même soucis que moi (ça y ressemble), ça devrait aller.
Ah, oui, le symptôme était le suivant : - Le loader se chargeait - Je sélectionnait le controle, appuyait sur "fire" et le niveau se chargeait. Sauf qu'il se chargeait "au ralentit", avec une pause aux alentours de 72, et sans s'arrêter après le "000"
Le CDT byteloggé de césar se charge à fond les manettes sur mon CPC 464 (même vitesse que ma cassette originale), et à 100% à chaque fois.
_________________ SPS Community Expert (SPS CE) / SPS France
pour ce qui est de corriger les problèmes de sugarbox, je crois que thomas est bien au fait de ca
du moment que le dump wav fonctionne sur l'emulateur, il n'y a pas de raison qu'il ne fonctionne pas en cdt, ou alors c'est un probleme de conversion
les outils que nous avons sont perfectibles
ubercassette est bien plus avance que samp2cdt sur ce point la, il peut convertir un wav en cdt ou samp2cdt n'y arrive pas meme apres traitement csw, son "nettoyage" du signal est pour moi impressionnant (je parle de wav de cassette non protegee, je ne parle pas de bloc non reconnu)
Inscription : 29 Août 2007, 12:04 Message(s) : 1989 Localisation : seine et marne 77
breiztiger a écrit :
pour ce qui est de corriger les problèmes de sugarbox, je crois que thomas est bien au fait de ca
du moment que le dump wav fonctionne sur l'emulateur, il n'y a pas de raison qu'il ne fonctionne pas en cdt, ou alors c'est un probleme de conversion
les outils que nous avons sont perfectibles
ubercassette est bien plus avance que samp2cdt sur ce point la, il peut convertir un wav en cdt ou samp2cdt n'y arrive pas meme apres traitement csw, son "nettoyage" du signal est pour moi impressionnant (je parle de wav de cassette non protegee, je ne parle pas de bloc non reconnu)
Merci pour le name dropping d'ubercassette, mais je le connais déjà, et je ne l'avais pas retenu.
L'outil CSW1 crée par les gens de la communauté spectrum est très puissant et permet de récupérer des jeux qui ne fonctionnent plus sur K7, il suffit de lui donner la bonne commande.
Tiens autre cas de figure, je viens de tester la tout de suite le CDT que Thomas a bidouillé avec le bloc 2B sur le jeu Skate Crazy.
Résultat des courses :
1) le CDT n'est reconnu par aucun outil CPC (normal, les outils voient le bloc spectrum comme une anomalie) 2) J'ai pu le convertir avec TZX2WAV, et le WAV généré ne fonctionne pas sur mon vrai CPC 464.
Il y a comme je m'en doutais un problème lié à la polarité, que le CPC gère lui-même, et qui n'est pas lié à la cassette, donc en trafiquant le CDT, ça fait foirer le système tel qu'il a été conçu à la base.
Skate Crazy présente normalement dans le border un vert et un bleu ciel. Avec le CDT de thomas, le CPC 464 ne présente plus que la couleur bleue ciel.
EDIT : je viens de tester le WAV de thomas de Mask patché sur mon CPC 464, il ne fonctionne pas, j'arrive à 000 au compteur et le niveau 1 n'est pas chargé.
Je reviens, à toute à l'heure
_________________ SPS Community Expert (SPS CE) / SPS France
Inscription : 12 Juin 2008, 20:29 Message(s) : 1709
@dlfrsilver : où c'est qu'on trouve CPCE 1.95 sur le net ?
Parce que pour l'instant, la version disponible pour la majorité des gens (CPCE 1.94) ne fait pas fonctionner ces CDTs (Mask, etc. Gremlins Loader 2) !?! enfin, comme mon emulation pour l'instant !
Est-ce que César pourrait nous dire ce qu'il a codé pour que ça marche avec CPCE ? cela nous ferrait gagner du temps ?!
@Lone : pour Mask, j'ai carrément le loader qui part dans les choux après chargement ! J'arrive même pas au menu ce qui me fait dire qu'il y a quelque chose qui cloche (puisque deux autres CDTs (cf msg ci-dessus) Gremlins Loader 2 fonctionne !
@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é.... )
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).
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.
@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 ?
Merci bcp ! avec cette version la CDT Mask (UK) (1987) (Spain retail version) [Original] [TAPE].cdt ça plante pareil que moi (cf image) en mode cpc6128 idem sauf que ca revient au basic mais quand on fait une commande ça plante ou reset ! en mode cpc464 : ca reset pareil que moi !
j'ai quand même de gros doute sur cette CDT maintenant !
c'est quoi le réglage pour qu'elle passe sur cpce 1.95 ???
j'ai essayé de cocher tape polarity ou tape compatibility avant, ça change rien !
Vous n’êtes pas autorisé(e) à consulter les fichiers insérés à ce message.
Dernière édition par Megachur le 25 Oct 2014, 20:47, édité 2 fois.
Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 13 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