Musique1-bit sur VG5000

Cette catégorie traite de développements récents pour nos vieilles machines, applications, jeux ou démos... Amis programmeurs, c'est ici que vous pourrez enfin devenir célèbres!

Modérateurs : Papy.G, fneck, Carl

__sam__
Messages : 7909
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Musique1-bit sur VG5000

Message par __sam__ »

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
Avatar de l’utilisateur
farvardin
Messages : 436
Inscription : 27 déc. 2014 16:07
Contact :

Re: Musique1-bit sur VG5000

Message par farvardin »

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 ?
Markerror
Messages : 2121
Inscription : 31 oct. 2011 19:21
Localisation : Orléans
Contact :

Re: Musique1-bit sur VG5000

Message par Markerror »

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"
joaopa
Messages : 512
Inscription : 14 sept. 2013 12:17

Re: Musique1-bit sur VG5000

Message par joaopa »

music.zip
(2.26 Kio) Téléchargé 170 fois
Voici le source comptaible Zen80. J'ai fait une modification sur l'arrêt des chaines. J'ai aussi edité le fichier dans la page précédente pour PASMO. Cette modification a l'air d'atténuer les claquements? :!: :?:


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.
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13232
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: Musique1-bit sur VG5000

Message par Carl »

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
joaopa
Messages : 512
Inscription : 14 sept. 2013 12:17

Re: Musique1-bit sur VG5000

Message par joaopa »

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.
Avatar de l’utilisateur
Carl
Modérateur
Messages : 13232
Inscription : 08 avr. 2007 13:21
Localisation : http://www.doledujura.fr
Contact :

Re: Musique1-bit sur VG5000

Message par Carl »

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... :wink:

Carl
Daniel
Messages : 17288
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Musique1-bit sur VG5000

Message par Daniel »

Carl a écrit :Voici le son sur un vrai VG5000...
Ah oui, c'est mieux qu'avec l'émulateur 8)
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.
Avatar de l’utilisateur
DataPro
Messages : 2787
Inscription : 07 févr. 2011 17:03
Localisation : France - Auvergne

Re: Musique1-bit sur VG5000

Message par DataPro »

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.
Recherche: cartouches Mattel Intellivision Imagic (loose)
Star Jacker et Lode Runner sur Yeno/SEGA SC-3000
Daniel
Messages : 17288
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Musique1-bit sur VG5000

Message par Daniel »

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.
Markerror
Messages : 2121
Inscription : 31 oct. 2011 19:21
Localisation : Orléans
Contact :

Re: Musique1-bit sur VG5000

Message par Markerror »

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).
Avatar de l’utilisateur
6502man
Messages : 12242
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: Musique1-bit sur VG5000

Message par 6502man »

C'est excellent félicitations :D
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
__sam__
Messages : 7909
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Musique1-bit sur VG5000

Message par __sam__ »

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.
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
Avatar de l’utilisateur
Papy.G
Modérateur
Messages : 3044
Inscription : 10 juin 2014 13:40
Localisation : Haute-Garonne/Gers

Re: Musique1-bit sur VG5000

Message par Papy.G »

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?
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.
__sam__
Messages : 7909
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Musique1-bit sur VG5000

Message par __sam__ »

Sur TO7, un pas de calcul pour une voix similaire à ce que fait le player Z80 serait un code comme

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
 
On pourrait tout juste faire 2 voix en 58µs :(
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
Répondre