Musique1-bit sur VG5000
Modérateurs : Papy.G, fneck, Carl
-
- Messages : 7909
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Musique1-bit sur VG5000
Je n'y connais pas grand chose dans le jargons du player, mais en examinant le code je ne trouve pas de différence entre les "slides-notes" et les notes normales à part 2 nop commentés. Pour mon information: c'est quoi un slide-note ou un slide-instrument?
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Re: Musique1-bit sur VG5000
j'ai pu créer un fichier .bin avec winape (ou avec pasmo), par contre comment l'utiliser sur l'émulateur vg5000 ? En appuyant sur f9 on a une console où on peut charger des fichiers .bin, mais ensuite ?
Re: Musique1-bit sur VG5000
Bonjour,
Une fois que tu as fais <F9>, dans la zone "adresse" à côté du bouton "Charger un fichier", tu indiques l'adresse de chargement en mémoire (sachant que sur un VG5000 de base, la mémoire disponible sous Basic est entre &49FB et &8000 - (la zone utilisée par la pile)". Ca ne permet pas par contre d'exécuter directement le code (une option à rajouter dans l'émulateur ?).
Le plus simple si ton programme binaire n'est pas trop gros consiste à l'exécuter depuis le Basic.
Ex : on veut charger en &5000 un programme et l'exécuter :
CLEAR 50,&"4FFF"
Tu charges ensuite en 5000 le code avec la touche <F9>
De retour sous Basic : CALL &"5000"
Une fois que tu as fais <F9>, dans la zone "adresse" à côté du bouton "Charger un fichier", tu indiques l'adresse de chargement en mémoire (sachant que sur un VG5000 de base, la mémoire disponible sous Basic est entre &49FB et &8000 - (la zone utilisée par la pile)". Ca ne permet pas par contre d'exécuter directement le code (une option à rajouter dans l'émulateur ?).
Le plus simple si ton programme binaire n'est pas trop gros consiste à l'exécuter depuis le Basic.
Ex : on veut charger en &5000 un programme et l'exécuter :
CLEAR 50,&"4FFF"
Tu charges ensuite en 5000 le code avec la touche <F9>
De retour sous Basic : CALL &"5000"
Re: Musique1-bit sur VG5000
Si l programme basic n'utilise pas de variable ni de chaine, le clear est inutile. Ce qui est le cas ici, puisqu'on on fait juste un call pour lancer le programme en langage machine.
Par contre +1 pour le bouton pour lancer un programme machine depuis la zone de developpement de DCVG5k.
Dernière modification par joaopa le 24 janv. 2016 19:35, modifié 1 fois.
- Carl
- Modérateur
- Messages : 13232
- Inscription : 08 avr. 2007 13:21
- Localisation : http://www.doledujura.fr
- Contact :
Re: Musique1-bit sur VG5000
Bravo joaopa
ça fait bizarre de tels sons sur un VG5000, c'est excellent !
Voici le son sur un vrai VG5000...
https://soundcloud.com/user-345973898/m ... sur-vg5000
Carl
ça fait bizarre de tels sons sur un VG5000, c'est excellent !
Voici le son sur un vrai VG5000...
https://soundcloud.com/user-345973898/m ... sur-vg5000
Carl
Re: Musique1-bit sur VG5000
Carl, merci pour les compliments mais je n'y suis absolument pour rien.
Il faut plutôt féliciter les membres russes et anglais de la rétro-programmation ZX (81 et spectrum). Ce sont eux qui créent ces algorithmes vraiment impressionnants.
Il faut plutôt féliciter les membres russes et anglais de la rétro-programmation ZX (81 et spectrum). Ce sont eux qui créent ces algorithmes vraiment impressionnants.
- Carl
- Modérateur
- Messages : 13232
- Inscription : 08 avr. 2007 13:21
- Localisation : http://www.doledujura.fr
- Contact :
Re: Musique1-bit sur VG5000
Tu es quand même celui qui fait le portage sur VG5000 et nous fais découvrir le travail des membres russes et anglais de la rétro-programmation...
Carl
Carl
Re: Musique1-bit sur VG5000
Ah oui, c'est mieux qu'avec l'émulateurCarl a écrit :Voici le son sur un vrai VG5000...
On retrouve à peu près les mêmes défauts, mais ici ils sont très atténués alors que dcvg5k a tendance à les amplifier. J'ai encore du travail pour améliorer tout ça...
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: Musique1-bit sur VG5000
C'est génial.
Pourrait-on envisager de sonoriser un jeu d'aventure comme Citadelle avec çà ?
Avec l'extension mémoire, il ne manquerait plus qu'un turbo-loader pour faire un méga-jeu.
Pourrait-on envisager de sonoriser un jeu d'aventure comme Citadelle avec çà ?
Avec l'extension mémoire, il ne manquerait plus qu'un turbo-loader pour faire un méga-jeu.
Recherche: cartouches Mattel Intellivision Imagic (loose)
Star Jacker et Lode Runner sur Yeno/SEGA SC-3000
Star Jacker et Lode Runner sur Yeno/SEGA SC-3000
Re: Musique1-bit sur VG5000
Il ne faut pas trop rêver : la musique 1 bit sur VG5000, Alice ou Thomson occupe le processeur à 100%, il ne peut rien faire en parallèle.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: Musique1-bit sur VG5000
C'est utilisable sur une page d'intro ou de menu, mais probablement pas dans un jeu pour une question de charge CPU comme l'indique Daniel. Ca n'en reste pas moins quelque chose d'intéressant sur le VG5000 !
Tiens, en écoutant la version Spectrum de la musique, j'ai constaté qu'elle n'est pas jouée à la même vitesse que sur le VG5000. Sur ce dernier, on est trop rapide (différence de deux notes). Pour être identique, sur l'émulateur, il faut passer la vitesse de la machine de 4Mhz à 3.5Mhz, ce qui correspond comme par hasard à la fréquence du Z80 du Spectrum .
Bref, pour coller exactement à la musique, il faudrait rajouter des pauses (mais j'ai peur que cela ait du coup un impact sur la qualité de la restitution).
Tiens, en écoutant la version Spectrum de la musique, j'ai constaté qu'elle n'est pas jouée à la même vitesse que sur le VG5000. Sur ce dernier, on est trop rapide (différence de deux notes). Pour être identique, sur l'émulateur, il faut passer la vitesse de la machine de 4Mhz à 3.5Mhz, ce qui correspond comme par hasard à la fréquence du Z80 du Spectrum .
Bref, pour coller exactement à la musique, il faudrait rajouter des pauses (mais j'ai peur que cela ait du coup un impact sur la qualité de la restitution).
Re: Musique1-bit sur VG5000
C'est excellent félicitations
-
- Messages : 7909
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Musique1-bit sur VG5000
J'étudie le code ASM. De ce que je comprends du source, la boucle principale joue les 4 voies les unes à la suite des autres, le tout en 224 cycles du Z80. Comme il tourne à 4Mhz sur le VG, ca fait une boucle en 56µs. C'est vraiment rapide. Ca correspond pratiquement à la même fréquence à laquelle le player SANIM7 sur thomson joue les échantillons depuis la carte SD via l'arduino. Mais ici c'est du 100% cpu.
Du coup la plus haute note du player a une période de 112µs, soit 8.9khz (octave 6).. Ca signifie que le LA440 (octave 4) revient à changer le buzzer que tous les ~20 boucles. Ca veut dire que le player est assez précis pour l'octave 4. On peut le pousser à l'octave 5 sans soucis, et à l'octave 6, on doit commencer à entendre l'imprécision sur la fréquence, mais comme c'est très aigu (extrème droite d'un piano), ca ne doit pas être utilisé souvent.
Dans la pratique le player doit pouvoir jouer a peu près tout ce qu'il se fait. C'est cool.
Je me demande si le thomson serait capable d'avoir un player 4 voix comme ca. Ca me semble difficile: 56µs correspond à peine à 7 instruction d'échange de registre sur 6809.
Du coup la plus haute note du player a une période de 112µs, soit 8.9khz (octave 6).. Ca signifie que le LA440 (octave 4) revient à changer le buzzer que tous les ~20 boucles. Ca veut dire que le player est assez précis pour l'octave 4. On peut le pousser à l'octave 5 sans soucis, et à l'octave 6, on doit commencer à entendre l'imprécision sur la fréquence, mais comme c'est très aigu (extrème droite d'un piano), ca ne doit pas être utilisé souvent.
Dans la pratique le player doit pouvoir jouer a peu près tout ce qu'il se fait. C'est cool.
Je me demande si le thomson serait capable d'avoir un player 4 voix comme ca. Ca me semble difficile: 56µs correspond à peine à 7 instruction d'échange de registre sur 6809.
Dernière modification par __sam__ le 25 janv. 2016 22:34, modifié 1 fois.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
- Papy.G
- Modérateur
- Messages : 3044
- Inscription : 10 juin 2014 13:40
- Localisation : Haute-Garonne/Gers
Re: Musique1-bit sur VG5000
Vraiment superbe!
Daniel> Je me doute bien que ça doit être compliqué de faire tourner en pseudo-parallèle plusieurs programmes, mais y'aurait'il moyen, quand-même, d'obtenir quelques bruitages corrects sans ruiner la disponibilité processeur?
Daniel> Je me doute bien que ça doit être compliqué de faire tourner en pseudo-parallèle plusieurs programmes, mais y'aurait'il moyen, quand-même, d'obtenir quelques bruitages corrects sans ruiner la disponibilité processeur?
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.
Demandez-en plus, ou faites-le vous-même.
-
- Messages : 7909
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Musique1-bit sur VG5000
Sur TO7, un pas de calcul pour une voix similaire à ce que fait le player Z80 serait un code comme On pourrait tout juste faire 2 voix en 58µs
Code : Tout sélectionner
ldd #0 ; 3
val set *-2
addd #frq ; 4
std <val ; 5
ldb #$33 ; 2
cmpa #$80 ; 2
bcc nxt ; 3
orb #8 ; 2
nxt stb ,u ; 4 (u pointe sur PRC)
; total 3+4+5+2+2+3+2+4=25 cycles
Dernière modification par __sam__ le 25 janv. 2016 23:27, modifié 3 fois.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos