Derniers sujets
Qui est en ligne ?
Il y a en tout 4 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 4 Invités Aucun
Le record du nombre d'utilisateurs en ligne est de 29 le Mer 25 Fév 2015 - 14:01
Connexion
Statistiques
Nous avons 241 membres enregistrésL'utilisateur enregistré le plus récent est ben_frog
Nos membres ont posté un total de 8921 messages dans 811 sujets
Ym2Mym
+4
Ladywasky
Sheld67
Moonchild
iss
8 participants
Forum Oric :: Forums :: Forum Public
Page 1 sur 2
Page 1 sur 2 • 1, 2
Ym2Mym
Salut La Communauté,
J'aimerais beaucoup en savoir plus sur l'utilitaire Ym2Mym :
- Comment fonctionne-t-il exactement et sur quels types de fichiers ?
- Comment lire les fichiers Mym obtenus ?
- Comment intégrer ces partitions Mym dans un programme en assembleur pour lui donner une touche plus professionnelle ?
Note : J'ai trouvé le sujet suivant sur le forum (http://forums.oric.org/t600-faire-mumuse-avec-la-musique), mais on n'y trouve pas d'explications quant à la méthode à suivre pour obtenir un fichier tap exploitable sur ORIC.
Sheld
J'aimerais beaucoup en savoir plus sur l'utilitaire Ym2Mym :
- Comment fonctionne-t-il exactement et sur quels types de fichiers ?
- Comment lire les fichiers Mym obtenus ?
- Comment intégrer ces partitions Mym dans un programme en assembleur pour lui donner une touche plus professionnelle ?
Note : J'ai trouvé le sujet suivant sur le forum (http://forums.oric.org/t600-faire-mumuse-avec-la-musique), mais on n'y trouve pas d'explications quant à la méthode à suivre pour obtenir un fichier tap exploitable sur ORIC.
Sheld
Sheld67- Messages : 73
Date d'inscription : 06/04/2014
Re: Ym2Mym
Merci pour ces liens vers des sources malheureusement en anglais et nécessitant une bonne connaissance d'OSDK.
Est-il possible de mettre directement à disposition la disquette évoquée dans l'article "Let's make noise" ? Cette disquette contient en effet des échantillons sonores ainsi que le player exploité via un programme Basic.
Sheld67- Messages : 73
Date d'inscription : 06/04/2014
Re: Ym2Mym
Bon, avec un peu d'effort (et de concentration), je suis parvenu à recréer la FAMEUSE disquette qui comporte le player en BASIC des fichiers 'ym' convertis pour une écoute sur ORIC.
J'y ai ajouté 3 nouveaux fichiers qui viennent compléter cette première collection musicale.
J'ai aussi trouvé une source de fichiers 'ym' sur le Net à l'adresse suivante : https://pacidemo.planet-d.net/aldn/index.html
Ci-dessous, la disquette tant convoitée.
J'y ai ajouté 3 nouveaux fichiers qui viennent compléter cette première collection musicale.
J'ai aussi trouvé une source de fichiers 'ym' sur le Net à l'adresse suivante : https://pacidemo.planet-d.net/aldn/index.html
Ci-dessous, la disquette tant convoitée.
- Fichiers joints
Sheld67- Messages : 73
Date d'inscription : 06/04/2014
Re: Ym2Mym
Super ! Merci pour la disquette.
Moonchild- Messages : 51
Date d'inscription : 05/08/2014
Age : 51
Localisation : Albigny Sur Saône
Re: Ym2Mym
J'en profite pour donner un exemple de syntaxe (loin d'être évidente) de l'utilitaire my2Mym : ym2mym -h1 -m15872 "source.ym" source.tap $4600 "music".
Avec :
-h1 qui indique qu'un en-tête de fichier (header) est requis
-m15872 qui force la taille maximale du fichier tap à 15872 octets (au-delà, le fichier "source.ym" n'est pas converti)
"source.ym" qui est le fichier ym à convertir (Attention, les guillemets sont obligatoires)
$4600 qui constitue l'adresse de départ du fichier tap
"music" qui est le nom d'en-tête du fichier source.tap obtenu (Les guillemets sont de nouveau obligatoires)
Bonnes conversions !
Note de dernière minute : Je remets le couvert pour 'Black Mamba' et vous en servirai une nouvelle mouture musicale d'ici peu...
Avec :
-h1 qui indique qu'un en-tête de fichier (header) est requis
-m15872 qui force la taille maximale du fichier tap à 15872 octets (au-delà, le fichier "source.ym" n'est pas converti)
"source.ym" qui est le fichier ym à convertir (Attention, les guillemets sont obligatoires)
$4600 qui constitue l'adresse de départ du fichier tap
"music" qui est le nom d'en-tête du fichier source.tap obtenu (Les guillemets sont de nouveau obligatoires)
Bonnes conversions !
Note de dernière minute : Je remets le couvert pour 'Black Mamba' et vous en servirai une nouvelle mouture musicale d'ici peu...
Sheld67- Messages : 73
Date d'inscription : 06/04/2014
Re: Ym2Mym
Sheld67 a écrit:
J'ai aussi trouvé une source de fichiers 'ym' sur le Net à l'adresse suivante : https://pacidemo.planet-d.net/aldn/index.html
Encore une (méga) source de fichiers 'ym' trouvée sur le Net : http://www.cpc-power.com/index.php?page=database
La recherche des fichiers musicaux y est simplifiée grâce à la présence de filtres très puissants (heureusement, car la base de données comporte 16170 programmes).
Vous y trouverez forcément votre bonheur !
Sheld67- Messages : 73
Date d'inscription : 06/04/2014
Re: Ym2Mym
Pour la lecture des fichiers "ym" sur PC voici un player de bonne facture.
Bon amusement !
Sheld
Bon amusement !
Sheld
- Fichiers joints
Sheld67- Messages : 73
Date d'inscription : 06/04/2014
Re: Ym2Mym
Tu peux aussi aller jeter un oeil sur mes sources où j'exploite un fichier ym :
https://github.com/DJChloe/Very-cool-music
Bises,
Chloé
https://github.com/DJChloe/Very-cool-music
Bises,
Chloé
Ladywasky- Messages : 240
Date d'inscription : 25/08/2018
Age : 53
Re: Ym2Mym
Sheld67 a écrit:Pour la lecture des fichiers "ym" sur PC voici un player de bonne facture.
Bon amusement !
Sheld
Je plussoie Sheld, le lecteur STSound de Leonard, que j'utilise pour ma part depuis le début des années 2000, est vraiment top et fonctionne toujours aussi bien !
A noter qu'il en a récemment (enfin... en 2005, ça commence à dater mais j'avais pas vu!!) fait une librairie open-source avec plusieurs programmes d'exemple avec les sources, et notamment un convertisseur vers le format WAV, ce qui permet d'écouter ses musiques préférées (pour moi: Goldrunner, Stormlord, Thundercats, Bionic Commandos, Enchanted Lands, Xenon...) sur son baladeur MP3 ou son smartphone !!
Et à noter également qu'il y a également un portage de STSound sur Linux., un peu compliqué à récupérer malheureusement.. Le lien pour la version Linux sur la page de téléchargements de STSound est mort, mais en cherchant un peu on arrive à retrouver sur Wayback Machine une version archivée de la page STSound pour Linux., mais le lien de téléchargement ne fonctionne pas malheureusement.
Finalement, en cherchant un peu pplus on tombe sur cette page avec le lien vers l'archive de la v1.0 de STSound pour Linux
Ladywasky a écrit:Tu peux aussi aller jeter un oeil sur mes sources où j'exploite un fichier ym :
https://github.com/DJChloe/Very-cool-music
Bises,
Chloé
... Et sur nos Oric, nous avons effectivement l'excellent player de Chloé réalisé grâce au non moins excellent code de DBug, avec en plus tous les différents packs de musiques qu'elle a superbement converties et dont elle nous en a rejoué certaines lors de la dernière visu, merci à elle et merci à DBug aussi naturellement!!!
Re: Ym2Mym
retroric a écrit:Goldrunner, Stormlord, Thundercats, Bionic Commandos, Enchanted Lands, Xenon
Je te suggère de changer ta carte SD en insérant les versions amiga
_________________
DidierV - CEO Mag
alias coco.oric sur Defence-Force
Re: Ym2Mym
didierv a écrit:retroric a écrit:Goldrunner, Stormlord, Thundercats, Bionic Commandos, Enchanted Lands, Xenon
Je te suggère de changer ta carte SD en insérant les versions amiga
Concernant Goldrunner (qui est en fait la musique de Human Race, je crois un jeu sur C64), je garde un bien meilleur souvenir de la version ST !
Symoon- Messages : 779
Date d'inscription : 26/04/2014
Re: Ym2Mym
Didier, je ne vais rien changer du tout, je vais garder mes musiques Atari ST, car outre Goldrunner (merci Simon), je trouve celle de Stormlord bien mieux réussie sur ST que sur Amiga !!!
Idem pour celles de Defender of the Crown, qui sont très décevantes sur Amiga je trouve, et je dis ça en toute honnêteté, en dehors de mon amour inconditionnel du PSG (le processeur sonore hein, pas le club de foot Qatari, je précise au cas où !!! ).
Franchement, je trouve que le potentiel sonore de l'Amiga a vraiment été sous-exploité à l'époque, hormis les démos de l'époque peut-être que je ne connais pas bien, j'ai l'impression qu'il aura fallu attendre les démos récentes des années 2000 pour en tirer la quintessence, alors que pour le AY'3 / YM2149 il y avait à l'époque (de l'Oric, de l'Amstrad, puis du ST) de véritables magiciens du son qui en ont tiré des sonorités au-delà de ce que les concepteurs auraient pu imaginer... Sans parler des samples, par exemple la musique samplée de Captain Blood sur ST n'a que peu à envier finalement de la version Amiga....
Idem pour celles de Defender of the Crown, qui sont très décevantes sur Amiga je trouve, et je dis ça en toute honnêteté, en dehors de mon amour inconditionnel du PSG (le processeur sonore hein, pas le club de foot Qatari, je précise au cas où !!! ).
Franchement, je trouve que le potentiel sonore de l'Amiga a vraiment été sous-exploité à l'époque, hormis les démos de l'époque peut-être que je ne connais pas bien, j'ai l'impression qu'il aura fallu attendre les démos récentes des années 2000 pour en tirer la quintessence, alors que pour le AY'3 / YM2149 il y avait à l'époque (de l'Oric, de l'Amstrad, puis du ST) de véritables magiciens du son qui en ont tiré des sonorités au-delà de ce que les concepteurs auraient pu imaginer... Sans parler des samples, par exemple la musique samplée de Captain Blood sur ST n'a que peu à envier finalement de la version Amiga....
Re: Ym2Mym
Ce qu'il y a de "pénible" avec le multitâches à la sauce Oric, c'est son incapacité à gérer la fonction WAIT (en tous les cas en L/M) alors qu'une demande d'interruption est en cours de traitement.
Dans Black Mamba 1.2, en cours d'écriture, je ne peux en effet pas faire jouer le générateur sonore et simultanément demander au processeur d'attendre 1 ou 2 secondes (histoire de ralentir les mouvements du serpent à l'écran).
Il me faut systématiquement passer par des boucles de décomptes imbriquées.
Certes, cela fonctionne mais c'est LOURD !
Sheld
Dans Black Mamba 1.2, en cours d'écriture, je ne peux en effet pas faire jouer le générateur sonore et simultanément demander au processeur d'attendre 1 ou 2 secondes (histoire de ralentir les mouvements du serpent à l'écran).
Il me faut systématiquement passer par des boucles de décomptes imbriquées.
Certes, cela fonctionne mais c'est LOURD !
Sheld
Sheld67- Messages : 73
Date d'inscription : 06/04/2014
Re: Ym2Mym
En général ce que je fait c'est d'avoir une IRQ a une fréquence fixe connue (par exemple 50hz) qui me sert a jouer la musique, et aussi a incrémenter un computer (de frame).
Dans le code principal je me contente de mettre le compteur a zéro, et je boucle jusqu'a ce que ca atteigne la valeur que je veut (50 = 1 seconde, 100 = 2 secondes).
Une alternative est d'utiliser le second timer du VIA et de vérifier quand il reboucle
Dans le code principal je me contente de mettre le compteur a zéro, et je boucle jusqu'a ce que ca atteigne la valeur que je veut (50 = 1 seconde, 100 = 2 secondes).
Une alternative est d'utiliser le second timer du VIA et de vérifier quand il reboucle
_________________
Dbug- Messages : 248
Date d'inscription : 06/01/2013
Re: Ym2Mym
Dbug a écrit:Une alternative est d'utiliser le second timer du VIA et de vérifier quand il reboucle
J'avais pensé à cette alternative, mais en utilisant le poids faible du Timer 3. D'où ma question, quelle est la fréquence à laquelle le Timer 3 est décrémentée ?
Dbug a écrit:En général ce que je fait c'est d'avoir une IRQ a une fréquence fixe connue (par exemple 50hz) qui me sert a jouer la musique, et aussi a incrémenter un computer (de frame).
Dans le code principal je me contente de mettre le compteur a zéro, et je boucle jusqu'a ce que ca atteigne la valeur que je veut (50 = 1 seconde, 100 = 2 secondes).
Si j'ai bien compris :
- L'IRQ qui gère la musique est aussi celle qui décrémente/incrémente le compteur
- Le programme principal n'a quant à lui plus qu'à vérifier la valeur dudit compteur
Cela est envisageable uniquement dans le cas où la musique est ininterrompue. Si pour une raison ou une autre, la musique doit être stoppée durant le jeu alors le compteur le sera aussi.
Sheld67- Messages : 73
Date d'inscription : 06/04/2014
Re: Ym2Mym
Tous les timers du VIA sont reprogrammables, tu met la fréquence que tu veux.Sheld67 a écrit:J'avais pensé à cette alternative, mais en utilisant le poids faible du Timer 3. D'où ma question, quelle est la fréquence à laquelle le Timer 3 est décrémentée ?Dbug a écrit:Une alternative est d'utiliser le second timer du VIA et de vérifier quand il reboucle
Après c'est une question de code, si tu utilises la ROM, il se peut que certaines valeurs aient des impacts sur la lecture clavier, etc...
Dbug a écrit:En général ce que je fait c'est d'avoir une IRQ a une fréquence fixe connue (par exemple 50hz) qui me sert a jouer la musique, et aussi a incrémenter un computer (de frame).
Dans le code principal je me contente de mettre le compteur a zéro, et je boucle jusqu'a ce que ca atteigne la valeur que je veut (50 = 1 seconde, 100 = 2 secondes).
Si j'ai bien compris :
- L'IRQ qui gère la musique est aussi celle qui décrémente/incrémente le compteur
- Le programme principal n'a quant à lui plus qu'à vérifier la valeur dudit compteur
Cela est envisageable uniquement dans le cas où la musique est ininterrompue. Si pour une raison ou une autre, la musique doit être stoppée durant le jeu alors le compteur le sera aussi.[/quote]
L'inverse: Tu installes TON handler d'IRQ, et dedans tu gères tout ce qui est "multitache", et ca inclu la musique que tu lance toi même depuis ton handler, éventuellement avec des flags pour lancer/éteindre.
_________________
Dbug- Messages : 248
Date d'inscription : 06/01/2013
Re: Ym2Mym
Dbug a écrit:Tous les timers du VIA sont reprogrammables, tu met la fréquence que tu veux.
Je lis dans "L'Oric à Nu" (page 186) que le Timer 2 est décrémenté à chaque interruption, soit tous les 1/100ème de seconde en temps normal.
Mais qu'en est-il du Timer 3 ? À quelle fréquence ce Timer est-il décrémenté ?
Que dois-je placer comme valeur dans le Timer 3 pour 'patienter' 1 seconde ?
Sheld67- Messages : 73
Date d'inscription : 06/04/2014
Re: Ym2Mym
Tous les timers sont décrementés en même temps sur l'Oric.
Ladywasky- Messages : 240
Date d'inscription : 25/08/2018
Age : 53
Re: Ym2Mym
Ladywasky a écrit:Tous les timers sont décrementés en même temps sur l'Oric.
C'est plutôt bizarre, car après plusieurs tests je constate qu'en plaçant la valeur $30 dans $0276, le poids faible du TIMER 3 (puisqu'il s'agit de lui) s'annule au bout d'une seconde à peine !
Si je m'en tiens à cette décrémentation qui est censée survenir tous les 1/100ème de seconde, je ne devrais même pas être en mesure de déterminer ce temps d'attente de 30/100ème de seconde (ou 3/10ème au choix).
C'est quoi l'explication ?
Sheld67- Messages : 73
Date d'inscription : 06/04/2014
Re: Ym2Mym
C'est normal, 3/10eme, c'est moins d'un tiers de secondes .. je ne vois pas où est le problème.
Par contre, méfie toi, une fois arrivé à zéro, le timer 3 continue en bouclant depuis 65535.
Sinon $30, c'est pas 30 !, $30, c'est de l'hexadecimal.
$30=48
Méfie toi aussi si tu fais appel au wait du basic (celui qui est appelé par le c de l'OSDK, ça modifie le timer 3.
Quand j'ai réécrit Oric Kong, je me suis fabriqué mon propre wait qui ne le modifie jamais puisque au lieu de modifier le timer puis attendre qu'il arrive a zéro comme fait le code de la rom, je récupère la valeur de départ et je teste si le delta est égal à la valeur d'attente.
void wait(unsigned int wait_cs)
{
unsigned int start=deek(0x0276);
unsigned int tw=start-wait_cs;
while (tw }
Comme ça, en début de jeu, j'initialise mon timer3 à 65535
doke(0x0276,65535).
Ce qui me fait 10 minutes environ de timer non stop utilisé par autre chose.
Pour t'inspirer de la façon dont j'ai utilisé le timer3 dans Oric Kong pour temporiser mes animations, etc
https://github.com/DJChloe/Orickong_C/blob/master/src/Main/main.c
Petit rappel :
Timer3 = #276-#277
Valeur=256*[#277]+[276]
Par contre, méfie toi, une fois arrivé à zéro, le timer 3 continue en bouclant depuis 65535.
Sinon $30, c'est pas 30 !, $30, c'est de l'hexadecimal.
$30=48
Méfie toi aussi si tu fais appel au wait du basic (celui qui est appelé par le c de l'OSDK, ça modifie le timer 3.
Quand j'ai réécrit Oric Kong, je me suis fabriqué mon propre wait qui ne le modifie jamais puisque au lieu de modifier le timer puis attendre qu'il arrive a zéro comme fait le code de la rom, je récupère la valeur de départ et je teste si le delta est égal à la valeur d'attente.
void wait(unsigned int wait_cs)
{
unsigned int start=deek(0x0276);
unsigned int tw=start-wait_cs;
while (tw
Comme ça, en début de jeu, j'initialise mon timer3 à 65535
doke(0x0276,65535).
Ce qui me fait 10 minutes environ de timer non stop utilisé par autre chose.
Pour t'inspirer de la façon dont j'ai utilisé le timer3 dans Oric Kong pour temporiser mes animations, etc
https://github.com/DJChloe/Orickong_C/blob/master/src/Main/main.c
Petit rappel :
Timer3 = #276-#277
Valeur=256*[#277]+[276]
Ladywasky- Messages : 240
Date d'inscription : 25/08/2018
Age : 53
Re: Ym2Mym
Les timers ne sont pas décrémentés a chaque interruption: L'interruption est déclenchée par le fait que le compteur arrive a zéro.Sheld67 a écrit:Dbug a écrit:Tous les timers du VIA sont reprogrammables, tu met la fréquence que tu veux.
Je lis dans "L'Oric à Nu" (page 186) que le Timer 2 est décrémenté à chaque interruption, soit tous les 1/100ème de seconde en temps normal.
Mais qu'en est-il du Timer 3 ? À quelle fréquence ce Timer est-il décrémenté ?
Que dois-je placer comme valeur dans le Timer 3 pour 'patienter' 1 seconde ?
Pour tout ce qui timers, je conseille de lire "Au Coeur de l'Oric Atmos", "L'Oric a Nu" ou encore "Oric Advanced User Guide" et de télécharger un PDF expliquant en détail comment fonctionne le VIA 6522, c'est un bon investissement en temps
_________________
Dbug- Messages : 248
Date d'inscription : 06/01/2013
Re: Ym2Mym
Une autre question concernant MymPlayer : à quel moment peut-on savoir que l'intégralité d'une musique a été jouée et que l'on peut donc en arrêter la lecture (en réinitialisant les interruptions à la valeur par défaut) ?
Sheld67- Messages : 73
Date d'inscription : 06/04/2014
Re: Ym2Mym
Tu peux probablement juste regarder la valeur dans _MusicResetCounter
- Code:
_MusicResetCounter .dsb 2 ; Contains the number of rows to play before reseting
_________________
Dbug- Messages : 248
Date d'inscription : 06/01/2013
Re: Ym2Mym
Allez, encore une question pour les experts de Ym2Mym : est-il possible de modifier le volume du fichier musical obtenu et si oui comment ?
Sheld67- Messages : 73
Date d'inscription : 06/04/2014
Page 1 sur 2 • 1, 2
Forum Oric :: Forums :: Forum Public
Page 1 sur 2
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|
Jeu 21 Mar 2024 - 8:51 par Dom50
» carte mère Oric (re)tracée
Mar 5 Mar 2024 - 18:54 par kenneth
» Meurtre à Grande Vitesse
Dim 25 Fév 2024 - 5:09 par Iurius
» ORIC-1 sur LE BON COIN
Ven 23 Fév 2024 - 23:01 par Mcar
» ORIC ATMOS sur LE BON COIN
Dim 4 Fév 2024 - 12:06 par kiwilevrai
» Problème d'affichage des couleurs avec un Oric Atmos
Sam 27 Jan 2024 - 1:26 par pierbail
» Bienvenue dans le Forum des Oriciens
Mar 9 Jan 2024 - 12:33 par Dom50
» Rencontre avec Laurant Weill, co-fondateur de Loriciel, et mon garçon de 12 ans
Ven 29 Déc 2023 - 14:13 par Arcade-des-Monts
» Bonnes fêtes
Mar 26 Déc 2023 - 10:21 par Dom50
» Murders in Venice / Meutres à Venise
Sam 18 Nov 2023 - 22:44 par retroric
» Un clavier PS/2 pour tester un ORIC
Dim 27 Aoû 2023 - 9:49 par Voyageur
» Disquette 3" Sedoric
Mar 1 Aoû 2023 - 14:22 par AtomeX
» faire un 6502 avec des phototransistor
Dim 16 Juil 2023 - 17:26 par Voyageur
» Oricutron linux et DSK
Jeu 29 Juin 2023 - 18:34 par Voyageur
» No Problem !
Dim 25 Juin 2023 - 17:53 par Voyageur