230Fermer232
FRONTLe 20/04/2011 à 17:59
SOIR a tous !

>CeL :
j'arrive pas à faire marcher les roms de smkdan, ca reboot en boucle.
Par contre avec mon jukebox, j'arrive à jouer les sons en $10 11 12 13 par contre le son n'est pas reconnaissable.
On sent bien que ce sont les wavs de l'example mais c'est une bouillie qui sort de HP.
J'vais essayer sur ma neocd.


Salut Man, tes essais tu les as fait avec le M1 et le V1 de SMKDAN, ainsi que Son P1 , Puis le Tiens ... c'est bien Ca ?
RQ: Recent Changes http://neogeodev.wikkii.com/wiki/Playing_sound_samples SMKDAN a suivi les directives de FTK semble t-il ... CeL tu peux peut-etre maintenant refaire d' autres essais, voir si tu as toujours ces Bruits de bouillie ?

pour la version CD (NGCD top ?) -> tiens nous au courant STP !

>FTK:
Pour la conversion des wavs, il s'est basé sur le code d'MVSTracker (j'suis maxicon, j'y avais pas pensé) et s'est écrit un utilitaire en C#. Il a surement apporté des corrections à l'algo d'encodage puisque les données qui sortent sont pas exactement les mêmes (elles sont mieux !).

Pas Cool Man , on avait parlé de cette idée
ici :topics/137177-moved-new-happy-new-neogeo-cd Voir Mon Post du 12-01-2011
sinon, pour la partie ADPCM-A pour la partie ENcode tu pourrait jeter un oeil sur les sources MVSTracker ,
du fameux 'V1 ROM Helper .Endodes 18500Hz. Mono , PCM WAV files to MVS ADPCM-A'


Bon, c'est pas grave ... Si SMKDAN est d' accord :1/ pour nous expliquer les changements qu' il a effectué decu ! et 2/ de le partager avec NOUS plus simplement !!! wink


Sinon FTK, pour en revenir a la partie PSG, http://neogeodev.wikkii.com/wiki/Using_the_YM2610%27s_SSG_channels
j'ai plutot bien compris la source de ton exemple (assez simple car linéaire, meme pour un bleu comme moi! ):
J' aurais besoin de complement d' info sur la formule que tu utilises pour la frequence d' 1 canal, car j' ai vue sur des DataSheet AY3-891x des formules qui ne sont pas les memes que celle que l' on trouve sur celui du YM2610 !

ld de, 0040h ;Channel 1 frequency: 2kHz
ld de, 0100h

ici Reg 00 = $40 et Reg 01 = $00

Bon, tout d' abord ca se calcule a partir de la 'Master Clock' : freq SSG = 8MHz c'est bien ca ?
et puis des Datas du Registres R0 et R1 par exemple pour le Channel A (ou 1)

Peut tu nous developper ton calcul pour l' exemple ci-dessus ?

Moi, de mon coté pour mon Calcul, j' ai : Reg 00 = $FA et Reg 01 = $00
'Formule' basée sur une Doc trouvée sur le Net :
ex : 8000000 / 2000 = 4000
4000/ 16 = 250 (Decimal) / $FA (Hexa) (Pitch values) ->Reg 00 = $FA (Course/Coarse? pitch) et Reg 01 = $00 (fine pitch) => SHIRU les nomme ainsi : AY has 12-bit dividers


tromb Fichier joint : ay8910-2.txt
For example, if a frequency of 1KHz
was required and the IC's clock frequency was 1MHz, a total division rate
of 1000 would be needed. The sound generator itself divides by 16 so the
course and fine pitch registers must provide a further division by 62.5 (due
to the fact that 1000/16 is 62.5). A division rate of 62 or 63 will be
accurate enough, since the registers can only store whole numbers. Therefore,
62 or 63 would be written to register 0 and 0 would be written to register 1.


J' avais trouvé des Exemples De SFX pour l' AY3-891x dans ce DataSheet
tromb Fichier joint : AY-3-8910 - DataManual.pdf

1/ Tone Only Effects : using only the tone generator capacity of the PSG without adding noise and without using the PSG's envelope generator capacity.

RQ : tous les exemples se base sur une frequence d' Horloge de PSG à 1.78977 Mhz -> Horloge Processeur: 3.57954 Mhz

Ex1: European Siren SFX (two discting frequencies sequentially produced).
R0 = 376 ;Set Channel A Tone period to 2.27ms.
R1 = 000 ;(440Hz)

R7 = 076 ;Enable Tone on Channel A only. Mixer
R10 = 017 ;Select maximum amplitude on Channel A. R10=AMPLITUDE CONTROL/ChA R11/B et R12/C
(Wait approximately 350 ms before continuing) -> tempo ?
R0 = 126 ;Set Channel A Tone period to 5.346 ms
R1 = 001 ;(187Hz)

(Wait approximately 350 ms before continuing) -> tempo ?
R10 = 000 ;Turn Off Channel A to end sound effect.

===============================
mes verifs :1/ 1.78977*10^6 / 440 Hz = 4067.66 -> 4067.66 /16 = 254.228 (Décimale) = 376 Octal !!!! Ca marche ou $FE(Hexa)
2/ 1789770 / 187 Hz = 9570.96 -> 9570.96 /16 = 598.185 (Décimale) = 1126 Octal !!!! Ca marche ou $256 (Hexa)


>>>FTK : peut etre des Verifs de FREQ à l' oscillo pourraient nous donner des confirmations !!!


Sinon, j' ai trouvé sur un Forum Dev MSX une petite routine qui pourrait nous servir pour des SFX (elle utilise un Pointeur + table des DATAs des 14 Registres du PSG) ... je te laisse regarder ... et tu me dis ce que tu en pense

tromb Fichier joint : SFX PSG routine.txt
(la source necessite surement quelques Modifs ...mais pas tant que Ca !)

Enfin pour terminer, je ne sais pas si vous vous en rappellé nous avions parlé je sais plus quand de la possibilité de Ripper des DATAs du PSG a partir d' un Emulateur ... on avait parlé de Patch / ou Script qui est peut-etre le mot qui convient

j' ai trouvé ce Forum Dev MSX encore, qui est très interessant !
http://www.msx.org/forumtopic6258.html does anyone have some cool explosions PSG samples ?

On y apprend egalement plus sur AYFX de SHIRU

Ce Script permettrait semble -il d' obtenir des RIPs des DATAs sous cette Forme

It will put the values of the registers in a text file every frame (so at 50 or 60 Hz), like this:

0 : 85 0 0 0 0 0 0 184 0 0 0 11 0 0
1 : 85 0 0 0 0 0 0 184 0 0 0 11 0 0
2 : 85 0 0 0 0 0 0 184 0 0 0 11 0 0



Si quelqu'un parmi vous (je pense par exemple a Elbarto) qui est très à l'aise avec des rajouts de feature (script) de ce genre dans un Emulateur NeoGeo par exemple ... Ca serait vraiment très Cool ...et nous permettrait de RIper les SFX ou Instruments PSG

Bon, je sais que 10 % des jeux NEO utilisent le SSG/PSG de l' YM2610 ...

Bye

Fred/FRONT