[ATARI ST] Tutorial pour jouer des fichiers YM
Modérateurs : Papy.G, fneck, Carl
[ATARI ST] Tutorial pour jouer des fichiers YM
Bonjour à tous,
je vous propose un nouvel article sur comment jouer des fichiers YM sur Atari ST et son YM-2149F.
Article : https://www.fxjavadevblog.fr/m68k-atari-st-ym-player
Exemple :
Bonne lecture !
je vous propose un nouvel article sur comment jouer des fichiers YM sur Atari ST et son YM-2149F.
Article : https://www.fxjavadevblog.fr/m68k-atari-st-ym-player
Exemple :
Bonne lecture !
Fan d'ATARI 2600, de THOMSON MO5-TO8 et d'ATARI ST
Mes articles : https://www.fxjavadevblog.fr/retro-programming/
Membre du groupe wide-dot.
Mes articles : https://www.fxjavadevblog.fr/retro-programming/
Membre du groupe wide-dot.
Re: [ATARI ST] Tutorial pour jouer des fichiers YM
Merci pour ce tuto très détaillé et instructif sur le format YM. Je ne connais pas Atari ST mais je suppose que la logique est transposable sur Amstrad CPC. Je suis surpris par l'organisation du fichier en lui-même. C'est clair que niveau compression c'est idéal. Par contre le streaming est impossible (probablement de toutes façons les temps d'accès disque seraient prohibitifs) mais tout de même effectuer 14 fois l'addition de l'offset 50 fois par seconde... C'est pas glop en terme d'optimisation si on veut faire autre chose à côté. La décompression/réorganisation du fichier en mémoire est évidemment assez lourde mais sur une boucle musicale dans un jeu ça vaut le coup je pense. Sinon en terme de bitrate on est à 5600 bits par seconde de musique... Ça laisse rêveur.
Re: [ATARI ST] Tutorial pour jouer des fichiers YM
Bravo, excellent tuto.
Alias DidierV, CEO Mag
Fan d'Oric et de Micro-Ordinateurs 8bits
Fan d'Oric et de Micro-Ordinateurs 8bits
Re: [ATARI ST] Tutorial pour jouer des fichiers YM
Le format YM (je devrais dire les formats YM, car il y a plusieurs versions) a suscité l'intérêt des démo-makers CPC à la fin des années 90, et pas mal de monde a essayé de les utiliser. Comme vous vous en doutez, la problématique tenait à la taille de ces fichiers. Sur un CPC, il fallait trouver un moyen de faire tenir en mémoire tout ça. La base était de réorganiser les données en virant tout ce qui n'était pas utile et en essayant de compresser le reste. C'est cette étape qui s'est avérée le plus compliqué .
Le grand gagnant à l'époque a été Madram/Overlanders qui a créé le kit AYC.Par rapport à un fichier YM brut, le gain est très appréciable et on peut utiliser la plupart des fichiers YM Atari et Spectrum sans difficulté. Cerise sur le gâteau, le player YM est rapide. Il a donc été utilisé dans de nombreuses démos, y compris avec des musiques créées sur CPC.
Plus tard, un player YM "à temps fixe"a été utilisé, créé par Hicks il me semble (pas sûr). Là encore, gros intérêt pour les démos.
Seul vrai défaut de ce format, vu que la fréquence de la puce AY n'est pas la même entre toutes les machines de l'époque, les sons "hard" passent mal dans les conversions. Ca peut aller du "correct" au franchement horrible (quand le gars ayant fait la conversion n'a pas essayé de compenser... ).
Le grand gagnant à l'époque a été Madram/Overlanders qui a créé le kit AYC.Par rapport à un fichier YM brut, le gain est très appréciable et on peut utiliser la plupart des fichiers YM Atari et Spectrum sans difficulté. Cerise sur le gâteau, le player YM est rapide. Il a donc été utilisé dans de nombreuses démos, y compris avec des musiques créées sur CPC.
Plus tard, un player YM "à temps fixe"a été utilisé, créé par Hicks il me semble (pas sûr). Là encore, gros intérêt pour les démos.
Seul vrai défaut de ce format, vu que la fréquence de la puce AY n'est pas la même entre toutes les machines de l'époque, les sons "hard" passent mal dans les conversions. Ca peut aller du "correct" au franchement horrible (quand le gars ayant fait la conversion n'a pas essayé de compenser... ).
Re: [ATARI ST] Tutorial pour jouer des fichiers YM
Il n'est pas nécessaire de passer par l'extraBios pour initialiser le timer A (vecteur $134.w)
Tu peux le faire en 4 lignes de codes ASM.
Il faut que je retrouve mon vieux calepin A l'époque, nous n'avions pas internet et on trouvait des solutions en examinant les programmes des autres. Simplement pour dire que le C n'était, en ces temps, pas d'une grande utilité.
Tu peux le faire en 4 lignes de codes ASM.
Il faut que je retrouve mon vieux calepin A l'époque, nous n'avions pas internet et on trouvait des solutions en examinant les programmes des autres. Simplement pour dire que le C n'était, en ces temps, pas d'une grande utilité.
Re: [ATARI ST] Tutorial pour jouer des fichiers YM
Bonjour jasz,
merci pour ton retour.
Effectivement j'avais hésité à directement changer le vecteur d'interruption du Timer A directement en ASM.
En mixant C et ASM, choisir quoi faire faire par l'un et par l'autre n'est pas toujours facile
Pour le coup j'ai préféré choisir la solution XBIOS car je voulais aussi pouvoir proposer une implémentation full C (où l'ASM était donc proscrit).
Tu as une grosse expérience sur Atari ST : tu as des liens ou des docs à toi (des astuces) à partager pour que je puisse monter + en compétence. Ce serait super !
Thanx.
merci pour ton retour.
Effectivement j'avais hésité à directement changer le vecteur d'interruption du Timer A directement en ASM.
En mixant C et ASM, choisir quoi faire faire par l'un et par l'autre n'est pas toujours facile
Pour le coup j'ai préféré choisir la solution XBIOS car je voulais aussi pouvoir proposer une implémentation full C (où l'ASM était donc proscrit).
Tu as une grosse expérience sur Atari ST : tu as des liens ou des docs à toi (des astuces) à partager pour que je puisse monter + en compétence. Ce serait super !
Thanx.
Fan d'ATARI 2600, de THOMSON MO5-TO8 et d'ATARI ST
Mes articles : https://www.fxjavadevblog.fr/retro-programming/
Membre du groupe wide-dot.
Mes articles : https://www.fxjavadevblog.fr/retro-programming/
Membre du groupe wide-dot.
Re: [ATARI ST] Tutorial pour jouer des fichiers YM
Mis a par pour POV (Persistence Of Vision) ou les scripts se rapprochaient au C et quelques 48 heures d'attente pour avoir une image 24 bits raytracée, ce langage n'était, à ma connaissance, que très très peu utilisé voire pas du tout. Généralement, le GFA Basic était un moyen de substitution plus courant.
Tu as fait allusion dans ton commentaire du IKBD et pour sortir du programme il faut appuyer sur ESC.
Le clavier du ST possède un ship. Les valeurs envoyées ont deux états; pression et relâché. Dans ton article, tu précises une valeur relâchée (129 --> $#81) c'est à dire 1 sur pression (appuyer).
Le code escape le plus simple est
Tu as fait allusion dans ton commentaire du IKBD et pour sortir du programme il faut appuyer sur ESC.
Le clavier du ST possède un ship. Les valeurs envoyées ont deux états; pression et relâché. Dans ton article, tu précises une valeur relâchée (129 --> $#81) c'est à dire 1 sur pression (appuyer).
Le code escape le plus simple est
Code : Tout sélectionner
.wait
CMP.B 1,$FFFFC002
BNE .wait
Re: [ATARI ST] Tutorial pour jouer des fichiers YM
Oui, le relâché est volontaire aussi C'est ce que je préfère comme comportement
J'ai effectivement écrit ceci :
Effectivement '1' c'est le scancode de la touche ESC enfoncée, '129' c'est le code de la touche ESC '1 + 128' (bit 7 à 1) enfoncée et relâchée.
Cependant dans le programme et dans son exécution j'affiche un peu d'information sur le contenu de l'adresse $FFFC02 en haut à droite.
On y voit le bit 7 passer à "1" quand on relâche n'importe quelle touche. (ainsi que le code de la touche).
Tu me fais regretter d'avoir mis sous silence ces "détails" dans la partie sur le clavier
Note : dans les liens en fin d'article il y a une référence vers les scancodes.
J'ai effectivement écrit ceci :
Je ne suis pas rentré dans le détail des scancodes et justement de la valeur retournée. Je trouvais déjà l'article bien (trop) long comme ça.Dans notre cas, il suffit de scruter l’adresse $FFFC02 et de regarder si elle vaut 129 ce qui correspond à l’appui et au relâchement de la touche ESC
Effectivement '1' c'est le scancode de la touche ESC enfoncée, '129' c'est le code de la touche ESC '1 + 128' (bit 7 à 1) enfoncée et relâchée.
Cependant dans le programme et dans son exécution j'affiche un peu d'information sur le contenu de l'adresse $FFFC02 en haut à droite.
On y voit le bit 7 passer à "1" quand on relâche n'importe quelle touche. (ainsi que le code de la touche).
Tu me fais regretter d'avoir mis sous silence ces "détails" dans la partie sur le clavier
Note : dans les liens en fin d'article il y a une référence vers les scancodes.
Fan d'ATARI 2600, de THOMSON MO5-TO8 et d'ATARI ST
Mes articles : https://www.fxjavadevblog.fr/retro-programming/
Membre du groupe wide-dot.
Mes articles : https://www.fxjavadevblog.fr/retro-programming/
Membre du groupe wide-dot.
Re: [ATARI ST] Tutorial pour jouer des fichiers YM
Bravo pour cet article que j’ai lu avec beaucoup d’intérêt. C’est très bien vulgarisé. On pourrait remplacer ATARI par CPC que ce serait quasi identique quoi que l’accès aux registres y est beaucoup plus aisé sur le ST…J’ai effectivement vu des players YM sur amstrad CPC avec des résultats convaincants…
J’ai hâte de lire ton prochain article
J’ai hâte de lire ton prochain article
Re: [ATARI ST] Tutorial pour jouer des fichiers YM
C'est un très beau compliment ! Ca me motive beaucoup !
Merci.
Fan d'ATARI 2600, de THOMSON MO5-TO8 et d'ATARI ST
Mes articles : https://www.fxjavadevblog.fr/retro-programming/
Membre du groupe wide-dot.
Mes articles : https://www.fxjavadevblog.fr/retro-programming/
Membre du groupe wide-dot.