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

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

Auteur :  dlfrsilver [ 25 Oct 2014, 00:11 ]
Sujet du message :  Re: Dumps originaux

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à : :pir8:

* 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 :mdr: )
* 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).

Auteur :  Megachur [ 25 Oct 2014, 06:54 ]
Sujet du message :  Re: Dumps originaux

@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 :sweatingbullets: :

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.

et pour ceux qui ne marche pas :

Bleepload v1 Musical
Bomb Scare (UK) (1986) [Original] [TAPE].cdt
Druid (UK) (1986) [Original] [TAPE].cdt
Bleepload v3
Booty (UK) (1986) [Original] [TAPE].cdt
Collapse (UK) (1985) [Original] [TAPE].cdt
Dont Panic (UK) (1985) [Original] [TAPE].cdt
Elite (G) (1986) [Original] [TAPE].cdt
Elite (UK) (1986) (Version 3-86) [Original] [TAPE].cdt
The Comet Game (UK) (1986) [Original] [TAPE].cdt
Bleepload v3 Loader Musical
Helichopper (UK) (1986) [Original] [TAPE].cdt
Thrust (UK) (1986) [Original] [TAPE].cdt

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 -> :kissed: fantastique :kissed: ! et le son qui diminue à la fin du chargement :) !

là on est à la fin sur un bloc de type "ID 15 - Direct recording block"
dans le doc officielle http://www.worldofspectrum.org/TZXformat.html il est indiqué dans les rules :
Citer :
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 ! :sweatingbullets: :kissed: :winner:

Auteur :  breiztiger [ 25 Oct 2014, 09:51 ]
Sujet du message :  Re: Dumps originaux

"Rendons à César ce qui lui appartient !!!"

:mdr:

les cdts ne sont pas forcement bon parce qu'ils fonctionnent actuellement (surtout vu les découvertes et explications de thomas)

perso, je n'ai pas de touche polarite sur mon cpc :P

idem pour les disquettes ou on remplace encore des dumps actuellement, et pourtant ils fonctionnaient ...

Auteur :  Megachur [ 25 Oct 2014, 10:00 ]
Sujet du message :  Re: Dumps originaux

tiens, j'en ai un autre qui ne trouve pas un bloc "DIRECT RECORDING"
Don't Panic (UK) (1985) [Original] [TAPE].cdt

cf l'image :

marche impec sur cpce 1.94

j'ai donc surement un problème d'émulation de mon côté !

edit (10 minutes plus tard :winner: ) : c'est bon c'est corrigé !!! don't panic se charge now !

je vais devoir retester les cdts qui ne passaient pas !

tous les loaders beeploaders passent maintenant ;-) !

reste plus que les Gremlin Loader... mais bon, je ne m'explique toujours pas pourquoi :

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

fonctionnent et pas les autres !?

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

breiztiger a écrit :
"Rendons à César ce qui lui appartient !!!"

:mdr:

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)

- Longueur: [0F,10,11]+12

Machine Pilot pulse, length Sync1 Sync2 Bit-0 Bit-1
----------------------------------------------------------------
Amstrad CPC Bit-1 4096 Bit-0 Bit-0 (2) (2)

(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 :P


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......

Auteur :  Lone [ 25 Oct 2014, 15:11 ]
Sujet du message :  Re: Dumps originaux

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.

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"

Auteur :  dlfrsilver [ 25 Oct 2014, 18:12 ]
Sujet du message :  Re: Dumps originaux

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.

Auteur :  breiztiger [ 25 Oct 2014, 18:15 ]
Sujet du message :  Re: Dumps originaux

merci denis de ne pas editer les messages des autres mais y repondre dans un message suivant

cela permettra a chacun de se faire son opinion

Auteur :  dlfrsilver [ 25 Oct 2014, 18:16 ]
Sujet du message :  Re: Dumps originaux

breiztiger a écrit :
merci denis de ne pas editer les messages des autres mais y repondre dans un message suivant

cela permettra a chacun de se faire son opinion


Je viens de corriger (et je suis admin, merci :) )

Auteur :  breiztiger [ 25 Oct 2014, 18:22 ]
Sujet du message :  Re: Dumps originaux

pour ce qui est de corriger les problèmes de sugarbox, je crois que thomas est bien au fait de ca :mdr:

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)

Auteur :  dlfrsilver [ 25 Oct 2014, 18:34 ]
Sujet du message :  Re: Dumps originaux

breiztiger a écrit :
pour ce qui est de corriger les problèmes de sugarbox, je crois que thomas est bien au fait de ca :mdr:

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 ;)

Auteur :  Megachur [ 25 Oct 2014, 18:50 ]
Sujet du message :  Re: Dumps originaux

@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) !?! :magic: 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 ?! :biere:

@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 !

Auteur :  breiztiger [ 25 Oct 2014, 19:17 ]
Sujet du message :  Re: Dumps originaux

tiens megachur

download/file.php?id=1623

breiztiger

Auteur :  Lone [ 25 Oct 2014, 19:56 ]
Sujet du message :  Re: Dumps originaux

@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 ?

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

breiztiger a écrit :
tiens megachur

download/file.php?id=1623

breiztiger


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 !

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