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

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

Auteur :  Fredouille [ 12 Avr 2021, 15:34 ]
Sujet du message :  Re: TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE

dlfrsilver a écrit :
Fredouille a écrit :
Mon objectif est de trouver la configuration pour que la plupart des WAVs passe sans devoir modifier le volume de sortie pour chacun.

Et pour ceux qui ne passe pas, c'est que le volume n'est pas cohérent par rapport aux autres.

Dès que j'ai un panel suffisamment représentatif, je vais les passer à quelqu'un d'autres pour voir s'il a les mêmes résultats.
Si les résultats sont identiques, on peut considérer ces WAVs comme corrects et commencer à les faire passer dans les émulateurs.


Très clairement, tu as bien compris que c'était pas possible. Je le croyais aussi, et maintenant on sait que suivant le type de jeu et le loader de la protection / signal du WAV, ça doit varier.

Mais rassure toi quand même : 90% des softs utilise le même volume pour se charger correctement :)
Les 10% restants sont des cas spéciaux :)


C'est là où je ne suis pas d'accord avec toi.
Certes, je ne vais dire à personne qu'il faut mettre tel ou tel volume pour faire passer tel jeu car chacun à une configuration différente.
Par contre, une fois étalonné, tous les WAVs doivent passer de la même manière.

Si ce n'est pas le cas, soit le volume est mauvais, soit le dump est mauvais.

Auteur :  dlfrsilver [ 12 Avr 2021, 15:50 ]
Sujet du message :  Re: TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE

Fredouille a écrit :
C'est là où je ne suis pas d'accord avec toi.
Certes, je ne vais dire à personne qu'il faut mettre tel ou tel volume pour faire passer tel jeu car chacun à une configuration différente.
Par contre, une fois étalonné, tous les WAVs doivent passer de la même manière.
Citer :

Non. Ils ne peuvent pas passer de la même manière. Chaque loader est différent, et certains nécessitent sur un 464 un niveau sonore particulier.

Si ce n'est pas le cas, soit le volume est mauvais, soit le dump est mauvais.


Hé bien non justement. Et ce n'est pas moi qui fixe les règles. Et ça n'a aucun rapport avec un volume mauvais ou un mauvais dump. C'est la volonté du créateur du système de protection.

Il a conçu le système de protection Bleepload v1 autour du volume. L'explication est simple pourtant :

C'est un dispositif anti copie, qui est basé sur le volume sonore, avec obligation d'avoir une zone entre le pic état 'haut' du signal, la ligne centrale et le pic d'état 'bas' le plus réduit possible.

Le loader détecte comme une copie le signal si ce dernier est joué trop fort. C'est pas l'encodage de csw2cdt qui en est la cause, c'est pas non plus mon magnétophone, c'est le couple loader / Signal enregistré sur la cassette.

plus l'écart entre le pic état haut et pic état bas est grand, plus l'atténuation est longue, et au final le loader ne reconnait pas les données. Donc moralité, il faut lui présenter les données telles qu'il les attend.

On ne peut pas avec cette protection avoir un signal en playback poussé à fond, le loader n'en veut pas !

Auteur :  Fredouille [ 12 Avr 2021, 17:24 ]
Sujet du message :  Re: TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE

Mais qui te parle d'une lecture poussée à fond !!

Tu devrais pourtant savoir qu'un signal audio est autrement plus nuancé qu'un simple signal CSW ou CDT dont tu fais toujours référence.

Et la volonté du créateur de protection doit malheureusement se confronter à la volonté du créateur de cassette audio.

Auteur :  Megachur [ 12 Avr 2021, 19:16 ]
Sujet du message :  Re: TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE

Donc je résume ce que tu me dis dlfrsilver :

le WAV et le CSW passent tous les 2 mais pas le CDT et c'est parce que j'utilise le même système d'arrondi que pour le WAV et le CSW que le CDT passe pas !?

et toi, tu testes aussi le CDTs réversés, qui marche très bien avec CPCEPower et un 464 : ouf !!!

donc le CDT est pas mauvais car il passe sur un émulateur qui fait des arrondis moins précis en INT 32 bits plutôt qu'en float 64bits de précision !!! donc moins on est bon et meilleur c'est : c'est cela !?
et pourquoi les autres CDTs BLEEPLOAD V1 passent toutes sauf celle-ci sur mon émulateur : on a pas d'explication, hein !? que des mauvaises CDTs qui fonctionnent aussi avec CPCEC, bizarre :kissed: :sigh: !?

bon, bein, fin de chantier chez moi alors, j'insiste pas à vouloir faire marcher un 'mauvais' CDT non bien arrondi parfaitement sur mon ému trop parfaitement arrondi utilisant trop bien de la précision trop précise... les gens utiliseront le CSW et le WAV reversés qui marchent bien, et hop :magic: !

et puis, au fait, quand CPCEC fera tourner le CDT de Marmelade, on verra si l'arrondi à l'int marche bien aussi !?
--> J'espère aussi que vous trouverez le temps de faire le CDT de Rat Connections également avec le nouveau CSW2CDT car je l'attends avec impatience ! Bizarre que pour la même protection, vous êtes arrivés à faire qu'un CDT sur deux : pourtant j'avais compris que c'était le même seulement en reverse ingenering fait à la main avec contrôle du volume ?!?

et après, en précision sur ce que tu as dit sur Marcel qui me parlait de l'arrondi qui consiste à ajouter 0,5 pour ne pas perdre de la précision au passage / troncage violent en INT arrondi sur le code du TZXDuino... en C y'a même une bibliothèque math.h qui fait très bien cela ;-) avec des formules de mathématiciens appliquées à l'art du coding sur un processeur !
Il me parlait pas du code de mon ému du tout... relis son post :heureux: !

Bon, je vous laisse continuer cette discussion :gamer: :soshelp: wavesque car j'ai plein d'autres choses intéressantes à faire : bon courage :kiss: !

et comme on dit sur ATARI ST : :bomb: :bomb: :bomb: :bomb: FIN :fada: :superman: !

Auteur :  dlfrsilver [ 12 Avr 2021, 20:17 ]
Sujet du message :  Re: TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE

Megachur a écrit :
Donc je résume ce que tu me dis dlfrsilver :

le WAV et le CSW passent tous les 2 mais pas le CDT et c'est parce que j'utilise le même système d'arrondi que pour le WAV et le CSW que le CDT passe pas !?


Oui, c'est pas normal que CPCepower ne fasse pas tourner le CDT d'Helichopper absolument.

Citer :
et toi, tu testes aussi le CDTs réversés, qui marche très bien avec CPCEPower et un 464 : ouf !!!


le CDT d'helichopper ne fonctionne pas avec CPCEpower, c'est bien toi qui l'a dit non ?

Citer :
donc le CDT est pas mauvais car il passe sur un émulateur qui fait des arrondis moins précis en INT 32 bits plutôt qu'en float 64bits de précision !!! donc moins on est bon et meilleur c'est : c'est cela !?


Je veux que tu comprennes que la seule chose qui m'importe, c'est que les fichiers que je génère fonctionnent avec un vrai CPC.

Ce qui importe en second lieu, c'est que les émulateurs offrent la même chose qu'une vraie machine.

Citer :
et pourquoi les autres CDTs BLEEPLOAD V1 passent toutes sauf celle-ci sur mon émulateur : on a pas d'explication, hein !? que des mauvaises CDTs qui fonctionnent aussi avec CPCEC, bizarre :kissed: :sigh: !?


Toujours ton souci d'arrondi, encore et toujours. le CDT d'hélichopper, si il était mauvais, à la réversion le WAV digital devrait ne pas fonctionner. Hors mon 464 le lit sans aucune erreur.

actuellement mon 464 :

Lit le WAV K7, lit le WAV digital. Par essence, un WAV digital ne fonctionne pas sur un vrai CPC si le CDT dont il est tiré est mauvais ou non fonctionnel. CSW2CDT n'a pas la capacité à corriger quelque chose qui de base ne fonctionne pas.

Citer :
bon, bein, fin de chantier chez moi alors, j'insiste pas à vouloir faire marcher un 'mauvais' CDT non bien arrondi parfaitement sur mon ému trop parfaitement arrondi utilisant trop bien de la précision trop précise... les gens utiliseront le CSW et le WAV reversés qui marchent bien, et hop :magic: !


Manifestement, ton émulateur est plus à l'aise avec le format WAV et CSW, et est imparfait côté CDT.

Citer :
et puis, au fait, quand CPCEC fera tourner le CDT de Marmelade, on verra si l'arrondi à l'int marche bien aussi !?


CPCEC fait tourner 100% de la logithèque CDT CPC. Je ne connais aucun soft qui ne tourne pas avec.
Par contre, j'ai un souci avec les keytone, qui eux aussi nécessitent un niveau sonore à 15% (exemple Killer Ring, le WAV tiré de la cassette ne passe qu'avec ce niveau de volume, autrement le CPC 464 ne reconnait pas la clé).

Citer :
--> J'espère aussi que vous trouverez le temps de faire le CDT de Rat Connections également avec le nouveau CSW2CDT car je l'attends avec impatience ! Bizarre que pour la même protection, vous êtes arrivés à faire qu'un CDT sur deux : pourtant j'avais compris que c'était le même seulement en reverse engineering fait à la main avec contrôle du volume ?!?


Tu parles de Rat Connection et Marmelade ? ces deux là sont pires que les jeux bleepload v1.

Citer :
et après, en précision sur ce que tu as dit sur Marcel qui me parlait de l'arrondi qui consiste à ajouter 0,5 pour ne pas perdre de la précision au passage / troncage violent en INT arrondi sur le code du TZXDuino... en C y'a même une bibliothèque math.h qui fait très bien cela ;-) avec des formules de mathématiciens appliquées à l'art du coding sur un processeur !
Il me parlait pas du code de mon ému du tout... relis son post :heureux: !


Marcel, si tu nous lis tu parlais de l'ému de Megachur ou d'autre chose ?

PS : ça intéressera Fredouille, pour les speedlock, j'ai découvert que pour que mon CPC 464 passe à 100% les WAV que j'ai tiré des K7, il faut mettre goldwave à 30% de volume.
J'en déduis que les WAV digitaux se lisent avec 100% de volume car dépourvu d'impuretés.

Tu peux tester de ton côté avec cette valeur ?

Auteur :  dlfrsilver [ 12 Avr 2021, 20:26 ]
Sujet du message :  Re: TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE

Fredouille a écrit :
Mais qui te parle d'une lecture poussée à fond !!


Ce que tu me dis, c'est qu'en fait, tu aimerais pouvoir rejouer les dumps avec le même niveau sonore quelque soit le soft.

Je te réponds encore que ce n'est pas possible.

Citer :
Tu devrais pourtant savoir qu'un signal audio est autrement plus nuancé qu'un simple signal CSW ou CDT dont tu fais toujours référence.


Bien évidemment. mais ce que je dis est factuel et parfaitement exact. Le loader bleepload v1 attend que le signal qu'on lui injecte ait un certain volume et une amplitude. Et si tu ne te conformes pas à ça, no cigar !

Citer :
Et la volonté du créateur de protection doit malheureusement se confronter à la volonté du créateur de cassette audio.


Pardon, mais est-ce que tu as compris le principe même et l'essence de ce qu'est une protection contre la copie et sur quoi elle repose ?

Toute protection contre la copie repose sur une ou des violations de ce que l'on considère comme normal. Tout ce qui est normal est par essence copiable !

En bref, pour faire une protection, il faut dépasser et aller au delà des spécifications normales !

Melvyn Wright, le créateur du bleepload v1, est un spécialiste du signal audio. Sa protection est analogique, et n'a pas de rapport avec la bande magnétique à proprement parler, le but étant que le CPC puisse lire le signal avec le loader adéquat. Le loader qu'il a conçu est hyper intolérant au bruit et excessivement discriminant quand aux transitions et au format du signal.

C'est très simple : soit le signal matche avec le loader tel que son créateur l'a conçu, soit les données sont vues comme étant corrompues ou non conformes.

Auteur :  marcel [ 12 Avr 2021, 21:04 ]
Sujet du message :  Re: TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE

dlfrsilver a écrit :
Marcel, si tu nous lis tu parlais de l'ému de Megachur ou d'autre chose ?


C'était une remarque générale sur les calculs, on pourrait penser que ça a peu de sens et pourtant

...si beaucoup d'émulateurs n'ont pas un rendu sonore fidèle dès qu'on touche un peu rapidement certains registres, c'est pas un hasard, un signal numérique quand on le manipule, on le dégrade et on génère des harmoniques aussi... La fameuse réduction de 115Khz à la fréquence de sortie audio ne s'improvise pas. En tous cas ne devrait pas.

la façon dont on gère les arrondis change beaucoup de choses sur un simple tracé de ligne, y a pas de raison que la lecture d'une K7 soit épargnée, si ça se trouve vous êtes sur un cas limite

Auteur :  dlfrsilver [ 12 Avr 2021, 21:14 ]
Sujet du message :  Re: TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE

marcel a écrit :
dlfrsilver a écrit :
Marcel, si tu nous lis tu parlais de l'ému de Megachur ou d'autre chose ?


C'était une remarque générale sur les calculs, on pourrait penser que ça a peu de sens et pourtant

...si beaucoup d'émulateurs n'ont pas un rendu sonore fidèle dès qu'on touche un peu rapidement certains registres, c'est pas un hasard, un signal numérique quand on le manipule, on le dégrade et on génère des harmoniques aussi... La fameuse réduction de 115Khz à la fréquence de sortie audio ne s'improvise pas. En tous cas ne devrait pas.

la façon dont on gère les arrondis change beaucoup de choses sur un simple tracé de ligne, y a pas de raison que la lecture d'une K7 soit épargnée, si ça se trouve vous êtes sur un cas limite


La protection Bleepload v1 est un cas limite. Par ailleurs, et pour info, le bleepload v2 a vu le jour parce que Firebird avait bcp de retour sur les jeux utilisant le bleepload v1.

Comme expliqué, sur 464, une des choses qui n'était pas dite, c'est que la molette son doit être à zéro, autrement on a des parasites à la lecture.

Ensuite, comme cette protection est très intolérante au bruit, et dépend du volume et de la forme du signal, tout CPC avec un lecteur crasseux, mal réglé, etc.... c'est pas la peine.

Par ailleurs, CPCEC est l'émulateur ayant également le meilleur rendu audio. Et pour cause, malgré les commentaires ça et là sur des patchs que César aurait mis dedans soit disant pour faire passer des fichiers qui ne marchent pas (ce qui est parfaitement faux), CPCEC a été modelé avec de vrai CPC comme point de référence. Je sais que pour les autres, c'est pas le cas.

Auteur :  Megachur [ 13 Avr 2021, 07:06 ]
Sujet du message :  Re: TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE

dlfrsilver a écrit :
Par ailleurs, CPCEC est l'émulateur ayant également le meilleur rendu audio. Et pour cause, malgré les commentaires ça et là sur des patchs que César aurait mis dedans soit disant pour faire passer des fichiers qui ne marchent pas (ce qui est parfaitement faux), CPCEC a été modelé avec de vrai CPC comme point de référence. Je sais que pour les autres, c'est pas le cas.


Le problème est de prendre un émulateur en référence pour ce qui est de l'exactitude absolu alors que c'est faux par définition : aucun émulateur n'est parfait à 100%...
non CPCEC n'est pas le meilleur du monde et pour information, mon émulateur est basé sur les datasheets et les analyses hardwares qui ont pu être fait par Gerald notamment...
ceux qui l'utilisent font régulièrement des retours à César... et c'est bien normal...
je peux te donner plein d'exemples, notamment sur l'émulation du CRTC où cet émulateur n'est pas PARFAIT !

-------------
le meilleur rendu audio ?
CPCEC en statique à une fréquence d’échantillonnage du PSG à 62 500Hz

extrait du code :
#define PSG_TICK_STEP 8 // 1 MHz /2 /8 = 62500 Hz

avec une option en ligne de commande : CPCEPower peut monter jusqu'à 192 000Hz tant que la carte son le permet !

et c'est quoi le rapport avec la lecture des données du PPI qui viennent du lecteur de K7 : aucun - hors sujet !
------------

Par exemple sur l'émulation du Z80, j'émule chaque clock (4Mhz) d'appel alors que la plupart des autres émulateurs dont CPCEC n'émule le Z80 qu'à 1Mhz avec des tables de calculs de timing pour pas être trop faux par rapport au VRAI HARDWARE !!!

Par contre, cela se fait au détriment d'utilisation de + de CPU mais donne une bien meilleure précision sur l'affichage dans certaines démos ou autres programmes qui utilisent des particularités hardwares lié au GA, Z80, etc...

Après, mon propos n'est pas de critiquer tel ou tel émulateur : le boulot que César fait est génial et je l'apprécie tout à fait à sa grande valeur !

Et mon souhait n'est pas du tout de dire que tel ou tel émulateur est meilleur ou moins bon... c'est pas du tout le débat...il n'y a que toi pour encenser un seul émulateur d'un point de vue utilisateur alors que tu ne connais pas le code z80, c, c++, ou autres...
Souvent les utilisateurs ont leur préférence à ce sujet, les programmes, c'est comme les objets, les lieux, les gens : tout le monde a des préférences... mais de mon point de vue très ouvert et novateur : on ne peut pas affirmer qu'on a vu le plus beau endroit sur terre sans comparaison... on peut juste dire que c'est le plus beau endroit sur terre qu'on connaisse à ce moment ! et on peut dire la même chose du reste !

D'ailleurs je suis le premier à échanger avec les autres codeurs d'émulateur et s'ils le souhaitent j'ai déjà dit que mon source était open à l'échange d'améliorations et de connaissances !

Tout comme CPEC, ils passent 100% des CDTs présents sur cpc-p0wer hormis une seule CDT postée ici il y a quelques temps... ou tu as admis une erreur et l'erreur de lecture s'est déplacée du block 02 ou block 01 quand tu as récréé le CDT après une modif sur CSW2CDT...dont César m'a expliqué qu'elle n'avait rien à voir avec ce block de CDTs ?!?

Bon, si j'analyse mon code CDT : je ne fais aucun arrondi... juste une adaptation de la longueur de pulse TZX (3.5Mhz) au format CPC (4Mhz) comme tous les autres émulateurs et lecteur de CDT... et c'est pas du tout un arrondi comme tu l'as affirmé depuis le début sans AUCUNE RAISON et ou volontairement je n'ai rien dit...
mais une multiplication lorsqu'on pousse une pause en secondes : length*3.5f*1000.0f

Quelle est la différence : c'est que je calcule en float plutôt qu'en int les pauses ?

--> bah en fait ça change pas si grand chose en fait finalement d'un point de vue du code...

donc, j'ai forcément un timing différent de CPCEC sur le démarrage du moteur ou autre chose... et comme c'est la référence unique, ce CDT unique ne passe pas...

MAIS ce qui m'interroge est cela surtout sur mon émulateur :

- pourquoi ce pb n'apparait pas alors sur toutes les autres CDTs en Bleepload v1 déjà faites et validés sur CPCEC et 464 réel ???

donc on en sait rien...

- soit tous les CDTs Bleepload v1 étaient mauvais avant et cela n'explique pas pourquoi ils ont été validés sur CPCEC et 464 réel auparavant ???

pour ta gouverne voici un petit exemple rapide du code CPCEC pour faire marcher la démo "GIGASCREEN EFFECTS" car émulation imparfaite du CRTC :

Code :
crtc_giga=crtc_giga_count>=156&&crtc_giga_count<312&&crtc_table[7]; crtc_giga_count=0; // autodetect Gigascreen effects

         if (crtc_giga)
            crtc_limit_r2=(crtc_prior_r2+crtc_table[2]+1)/2; // BATMAN FOREVER GIGASCREEN FAILS WITH `+(crtc_prior_r2<crtc_table[2])`


César a fait ce patch comme plein d'autres en attendant de trouver autre chose et de connaître le fonctionnement réel du CRTC... ce qu'on ne peut pas connaître sans un bon décapage et une analyse électronique / reverse engineering complète ! Et encore !

Rien d'alarmant et ce n'est pas lié à l'émulation en particulier... le nombre de bidouilles qu'on trouve dans des programmes est somme toute important !

L'émulation reste une déduction de la compréhension actuelle du fonctionnement de puce en silicium... qui évolue tout le temps à condition que cette compréhension puisse encore évoluer vers plus de connaissance :winner: :sweatingbullets: !

:biere:

Auteur :  Fredouille [ 13 Avr 2021, 07:30 ]
Sujet du message :  Re: TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE

Megachur, de quel CDT tu parles ? Toujours Helichopper V6-86 ?


En tout cas, concernant la précision des calculs, je teste régulièrement, mais surtout quand j'ai des problèmes, en utilisant soit des entiers 32 bits, soit des flottants, soit des entiers 64bits à virgule fixe.
Et je reste pourtant avec des entiers 32bits car cela reste pour moi la meilleure combinaison.

De base:
#define CYCLE_ADJUST(p) ((((tULong)(p)) * 40) / 35)

En float:
#define CYCLE_ADJUST(p) ((tULong)(((((tDouble)(p)) * 40.f) / 35.f) + 0.5f))

En 64 bits:
#define CYCLE_ADJUST_SHIFT (24)
#define CYCLE_ADJUST(p) (((((tLongLong)(p)) << CYCLE_ADJUST_SHIFT) * 40) / 35)
mais cela implique un décalage dans l'autre sens à l'utilisation.


Je vais revalider ma lecture des cassettes (CDT, CSW, WAV) pour voir lequel pose problèmes...

Auteur :  marcel [ 13 Avr 2021, 08:12 ]
Sujet du message :  Re: TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE

Megachur a écrit :
dlfrsilver a écrit :
le meilleur rendu audio ?
CPCEC en statique à une fréquence d’échantillonnage du PSG à 62 500Hz

extrait du code :
#define PSG_TICK_STEP 8 // 1 MHz /2 /8 = 62500 Hz

avec une option en ligne de commande : CPCEPower peut monter jusqu'à 192 000Hz tant que la carte son le permet !


Bah c'est pas déconnant de partir sur une résolution deux fois plus faible si la fréquence de sortie (classique) est de 44 ou 48KHz, le problème qui va se poser, c'est la conversion 62 -> 44/48

Ton émulateur a énormément augmenté le rendu avec la sortie audio à 192KHz mais c'est la solution de facilité non universelle

Mais il est clair que l'émulateur de César a un TRES mauvais rendu des aigus, suffit de faire ça en Basic, on se tape des harmoniques dans tous les sens

SOUND 1,15,100
SOUND 1,10,100
SOUND 1,5,100

Avec un replay à 192Khz le SOUND 1,15 est fidèle mais dès le SOUND 1,10 on commence à entendre les harmoniques se pointer, c'est très sensible

Le 1,5 est hors de portée, faudrait creuser un peu la question :)

Auteur :  Megachur [ 13 Avr 2021, 13:56 ]
Sujet du message :  Re: TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE

Fredouille a écrit :
Megachur, de quel CDT tu parles ? Toujours Helichopper V6-86 ?

Je vais revalider ma lecture des cassettes (CDT, CSW, WAV) pour voir lequel pose problèmes...


oui c'est cela... :sweatingbullets:

Dans mon cas, je ne travaille pas comme la plupart des émulateurs car je ne suis pas sur un émulation au 1Mhz du GA/z80/etc...

Mon émulateur fonctionne comme un 'vrai' CPC : clock 8Mhz du GA dérivé en 4Mhz pour le Z80 puis en 1Mhz pour le CRTC/AY/PPI...avec gestion des WAITs CPU pour les accès mémoire, etc.
Par exemple, si je veux émuler un GA 40007 par rapport à un GA 40008, il suffit de décaler le clock du CRTC par rapport au 8 clocks du GA comme sur le vrai chip...
Si on veut un émulation z80 à 8Mhz... si on l'appel 2 fois (2x4=8 fois) plus pour passer à 8Mhz ça marche aussi pour émuler un autre bécane que le CPC ;-) !
Comme l'AY, si on veut avoir celui de l'atari ST, on l'appel x 2 et ça marche (à une particularité du YM2149 prêt différente du AY8912-2)...

Pour l'ASIC, c'est un peu plus compliqué car on a presque pas d'info sur les 40 Mhz de la bête ... à part se fier aux quelques programmes de tests...ce qui explique qu'aucun émulateur n'est vraiment parfait pour l'émulation du +... mais on progresse doucement :biere: !

Donc pour revenir au :pupok: k7 :sick: : j'ai un compteur de la longueur de la pulse haut ou bas au Mhz, et quand le compteur est atteint, on passe à la pulse suivante... jamais je ne calcule de cycle d'instruction CPU ou autre arrondi en 'live'... je ne fais que lire le tableau de valeur pulse et longueur de la pulse en cours.

et donc, je n'utilise JAMAIS d'arrondi de mon côté ce qui me semble être bien plus juste et facile côté code... mais plutôt une comparaison pour changer pulse :

Code :
if(playMotor) {
      if(tapeCurrentPulse!=0) {
         tapeCurrentPulse--;
...
} else {
on change de pulse et tapeCurrentPulse=tapeData[tapeDataIdx]->length;, etc...


d'où la précision à la pulse prêt... si la longueur de pulse est trop courte ou longue : on peut trop devancer ou dépasser l'instruction Z80 IN qui lit la valeur sur le PPI...

ce qui permet d'être le plus juste possible !
Étant certifié sur tous les tests CPUs z80 dispo pour le CPC bien sûr ;-) !

:winner:

Auteur :  dlfrsilver [ 13 Avr 2021, 17:58 ]
Sujet du message :  Re: TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE

Pour information CPCEC passe tout les tests z80 avec 100% de bon résultat. Idem pour les tests concernant les instructions à proprement parler.

Actuellement, la partie qui est vraiment à travailler, c'est le CRTC. Pour le son, je ne savais pas, je vais en parler à César pour qu'il corrige.

En tout cas, ça m'épate quand même que pour un émulateur basé sur les data sheets et les tests à l'analyseur logique de Gérald, tu arrives à avoir des erreurs que je n'ai pas sur un vrai CPC lol !

Ceci quand CPCEC charge aussi bien les CDTs que les WAV digitaux sans aucun erreur, ce qui reflète les résultats que me donnent mon 464.

Y a pas un truc qui te dérange ? ça te parait logique ?

Auteur :  dlfrsilver [ 13 Avr 2021, 18:22 ]
Sujet du message :  Re: TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE

marcel a écrit :
Megachur a écrit :
dlfrsilver a écrit :
le meilleur rendu audio ?
CPCEC en statique à une fréquence d’échantillonnage du PSG à 62 500Hz

extrait du code :
#define PSG_TICK_STEP 8 // 1 MHz /2 /8 = 62500 Hz

avec une option en ligne de commande : CPCEPower peut monter jusqu'à 192 000Hz tant que la carte son le permet !


Bah c'est pas déconnant de partir sur une résolution deux fois plus faible si la fréquence de sortie (classique) est de 44 ou 48KHz, le problème qui va se poser, c'est la conversion 62 -> 44/48

Ton émulateur a énormément augmenté le rendu avec la sortie audio à 192KHz mais c'est la solution de facilité non universelle

Mais il est clair que l'émulateur de César a un TRES mauvais rendu des aigus, suffit de faire ça en Basic, on se tape des harmoniques dans tous les sens

SOUND 1,15,100
SOUND 1,10,100
SOUND 1,5,100

Avec un replay à 192Khz le SOUND 1,15 est fidèle mais dès le SOUND 1,10 on commence à entendre les harmoniques se pointer, c'est très sensible

Le 1,5 est hors de portée, faudrait creuser un peu la question :)


Intéressant ce post. mais il se trouve qu'on ne va pas être d'accord. Je m'explique :

J'ai testé tes commandes sur mon CPC 464, et ensuite j'ai testé les mêmes commandes sur CPCEC, CPCEpower, et CapriceForever.

Il se trouve que l'émulateur le plus proche de mon 464 d'un point de vue audio, c'est CPCEC. CPCEpower est en dehors des clous, avec un son qui ne correspond pas à la machine originale. Caprice Forever a aussi un son qui ne matche pas avec mon 464.

PS : lol ta commande sound 1,5. Elle ne donne aucun son audible sur 464.

PS : je précise que j'ai l'oreille musicale au passage !

Auteur :  marcel [ 13 Avr 2021, 18:48 ]
Sujet du message :  Re: TOPIC DUMPS/JEUX PRESERVES AMSTRAD CPC DISK ET CASSETTE

dlfrsilver a écrit :
PS : je précise que j'ai l'oreille musicale au passage !


C'est pas le tout d'avoir l'oreille musicale, encore faut-il être en âge de percevoir les fréquences :D (oui, c'est souvent une question d'âge)

Pour info c'est du 12500Hz, tu peux essayer de voir si tu l'entends déjà sur cette vidéo (qui doit probablement couper vers 16Khz mais je lâche avant)

https://www.youtube.com/watch?v=wbPclkhoXdE

Autre chose, si j'écoute depuis le CPC je n'entends pas certaines harmoniques mais si je rebique la sortie jack vers mes moniteurs beaucoup de sons "apparaissent"

Speaker bas de gamme, sans parler du reste, pour le CPC

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