musique 1-bit

Pour annoncer une rencontre du troisième type entre individus présentant des caractéristiques communes.

Modérateurs : Papy.G, fneck, Carl

Avatar de l’utilisateur
utz
Messages : 36
Inscription : 12 juil. 2016 14:10
Localisation : Amsterdam
Contact :

Re: Concours de musique 1-bit

Message par utz »

yo_fr a écrit : 1) VBHector est un programme écrit en VBNet (le but initiale du projet été de voir la faisabilité d'un code .Net pour l'émulation et maintenant c'est un émulateur à part entière). VBNet ... Dot Net on est chez Micro$oft et très loin du monde libre de Linux ! => pas possible.
Ah, quel dommage. J'ai une machine Windows, mais je préfère ne pas l'utiliser, parce que cela signifie du travail supplémentaire pour moi. Et l'émulation sur MESS, est-ce une bonne option? L'émulation de son marche bien?
yo_fr a écrit : Dans mes essais j'ai mis $FF / $00 ce qui permet aussi de "voir" que le programme est pas planté (scintillement de l'écriture en couleur 1).
Alors, c'est un peu comme le Spectrum port $fe ;)
yo_fr a écrit : Tu voudrais vraiment développer sur Hector ? Attention c'est une machine confidentielle ! Mais j'en serais heureux !
Je ne veux pas devenir un expert au Hector. Mais une petite visite dans le monde mystérieux des systèmes françaises de 8 bits semble une bonne idée ;) Ce faudra un certain temps, parce que maintenant je dois finir quelques autres projets. Mais je suis vraiment intéressé. Donc, merci d'avoir répondu à mes questions, je vais voir ce que je peux faire.

Encore une question. Je lis que Hector a aussi le son de SN76477? Pourquoi pas utiliser ça?

Edit: Salut __sam__! Ton démos pour Thomson toujous amener un sourire sur mon visage!
Avatar de l’utilisateur
fneck
Site Admin
Messages : 17389
Inscription : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Re: Concours de musique 1-bit

Message par fneck »

utz a écrit :Salut, c'est utz, auteur de octode2k16 et quattropic. Excuses-moi, la langue française et moi, ça fait deux :o
Salut,

Je te propose, si tu es d'accord bien sûr, de mettre ta localisation géographique dans ton profil. Ainsi on comprendra mieux certaines tournures de phrases incorrectes ou maladroites et tu en seras de fait excusé 8)
Fabien https://www.system-cfg.com
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
Avatar de l’utilisateur
yo_fr
Messages : 1336
Inscription : 13 août 2009 18:24
Localisation : 78...
Contact :

Re: Concours de musique 1-bit

Message par yo_fr »

Le SN76477 ne peut pas tout faire !
en effet il ne permet que de générer un VCO (oscillateur rapide) SLF (oscillateur lent) et bruit blanc (avec filtre); ainsi qu'un mélange de tout ça (par exemple pour faire le wooh wooh des UFO dans invider).

chacun de ces sons pouvant avoir 4 combinaisons de fréquence...c'est trop peu.
Actuellement il existe des projets d'extension avec des AY891x. mais là je trouve que c'est "autre chose" (l'AY faisant tout le travail), intéressant mais différent.
Avatar de l’utilisateur
utz
Messages : 36
Inscription : 12 juil. 2016 14:10
Localisation : Amsterdam
Contact :

Re: Concours de musique 1-bit

Message par utz »

Oui, je sais bien cette puce (comme musicien, pas comme programmeur). Bien sûr, c'est de la m***, peut-être la puce de son la plus faible dans l'histoire de 8 bits. Mais dans les bonnes mains, il peut encore produire des choses étonnantes:

http://battleofthebits.org/arena/Entry/ ... ion/20876/
http://battleofthebits.org/arena/Entry/ ... les/20871/
http://battleofthebits.org/arena/Entry/ ... +XI/20867/

Je pense que le problème principal est qu'elle manque de bass. Mais l'avantage est que l'on n'a pas besoin de dépenser 100% de CPU pour jouer la musique. Alors, imagine ce qu'un moteur hybride 1-bit/SN pourrait faire! Je suis intéressé à faire un moteur comme ça. Mais d'abord, je vais essayer de faire un octode2k16 amélioré.

As-tu une memory map pour Hector? Le lien "littérature" sur hectorvictor.free.fr est expirée...

@fneck: Bien sûr. C'est un peu comme avoir un grand timbre quel dit "étranger" sur mon front, mais bien... vous ont compris cela maintenant, je pense :D
__sam__
Messages : 7909
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Concours de musique 1-bit

Message par __sam__ »

Ca sonne super bien ces sons au SN76477. Si en plus ca n'utilise pas le CPU c'est tout bon. Je suis jaloux que sur thomson on ait même pas ca en standard.
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
utz
Messages : 36
Inscription : 12 juil. 2016 14:10
Localisation : Amsterdam
Contact :

Re: Concours de musique 1-bit

Message par utz »

Oui, c'est toujours super quand une puce externe peut faire le travail. Mais sur TO, tu as la DAC 6-bit, non? C'est aussi pas mal...

Alors, l'émulation Hector sur MESS, ça marche. Maintenant, comment puis-je injecter le binaire en RAM, via la ligne de commande (je n' utilise pas le GUI, car il est inutile lors de l'utilisation MESS dans un toolchain). Ou même, comment puis-je convertir le .bin à .k7, et injecter cela?
__sam__
Messages : 7909
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Concours de musique 1-bit

Message par __sam__ »

Sur TO il y a un buzzer interne et un DAC dans le controleur des manettes de jeu en effet. Mais en général leur faire jouer de la musique occupe vraiment beaucoup le CPU car il n'y a pas d'oscillateur indépendant. J'ai fait quelques expériences avec les interruptions à haute fréquence. On peut arriver à 2-3 trucs, mais il ne reste plus beaucoup de CPU libre pour le reste et les effets vidéos sont très réduits.

- buzzer seul (1 voix) :
HNY2013

Rock Fort


- DAC (2 voix + bruit) :
PiMiTV

When Rings Become Pumpkins

TopOPop
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
utz
Messages : 36
Inscription : 12 juil. 2016 14:10
Localisation : Amsterdam
Contact :

Re: Concours de musique 1-bit

Message par utz »

Ah oui, je sais cela, good stuff!

Il existe quelques méthodes 1-bit qui réduisent considérablement la charge du processeur (voir http://randomflux.info/1bit/viewtopic.php?id=57 et https://github.com/utz82/ZX-Spectrum-1- ... r/nanobeep , par exemple), mais bien sur, le problème reste qu'on a besoin de construire le code graphique autour du conducteur de musique.

Je racontre aussi cette truc là: http://dcmoto.free.fr/programmes/music-3v/index.html
Quelqu'un at-il jamais démonté cela? Le moteur est agréable, mais l'interface est nul.
__sam__
Messages : 7909
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Concours de musique 1-bit

Message par __sam__ »

Merci pour les pointeurs. :D

Pour music 3 voix, je ne sais pas. Mais il existe un autre outil sur thomson: Polyphonia (c) ToTek 1984, dont Préhisto en avait fait un player indépendant: http://collection.thomson.free.fr/code/ ... ?XI=0&XJ=5. La description du format est ici: http://collection.thomson.free.fr/code/ ... XI=0&XJ=15
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
yo_fr
Messages : 1336
Inscription : 13 août 2009 18:24
Localisation : 78...
Contact :

Re: Concours de musique 1-bit

Message par yo_fr »

Attention, sur Hector le SN est piloté via un changement de capacité / résistance mais 2 choix seulement !
prenons le VCO : 2 valeurs de résistance 2 de capacité cela donne 4 fréquences possible !
Le choix est le même pour le SLF et le filtre du noise, par de pilotage fin de ces valeurs.

C'est pour cela que les capacités de l'Hector sur le SN sont très faible.
Grosso modo on a :
pour le SLF : 255 Hz, 65 Hz, 17 Hz, 4,3 Hz

pour le VCO : 5,5KHz, 1,3KHz, 580Hz , 132Hz

Pour le toolchain sur mess là je peux pas regarder. Je vais voir ça Dimanche ou lundi.

Le site Hector Victor les téléchargement ne sont valable que si tu es inscris. Je viens d'essayer ça marche !
Avatar de l’utilisateur
utz
Messages : 36
Inscription : 12 juil. 2016 14:10
Localisation : Amsterdam
Contact :

Re: Concours de musique 1-bit

Message par utz »

Ah, maintenant je me rends compte que je l'ai confondu cette SN avec le SN76489 (celui de Sega Master System)! D'accord, cette SN en effet ne semble pas très utile pour la musique. Je vois encore une utilisation limitée - pour fabriquer des percussions, ce qui est l'un des points faibles de l'octode2k16.

J'ai aussi réalisé une autre chose. Merci à l'architecture particulière de l'Hector, la sortie audio peut effectivement être créé avec

Code : Tout sélectionner

   add hl,bc     ;ajouter la base (BC) au compteur (HL)
   ld a,h          ;si MSB du compteur est 1, activer le son
   ld ($1800),a  ;si c'est 0, désactiver le son, cela va générer une onde carrée 50:50
Ça va créer un désastre visuel, mais c'est très rapide. Cependant, pour porter octode2k16 ce n'est pas utile, parce que nous ne pouvons pas rendre 8 canaux dans un laps de temps raisonnable comme ça. Mais peut-être c'est utile pour autre chose.

Je me suis inscrit sur hectorvictor, maintenant je peux télécharger. Merci. Mais je ne peux toujours pas trouver une bonne carte mémoire là-bas.

EDIT: Ok, entrée de cassette fonctionne comme ceci:

Code : Tout sélectionner

mess hector1 -cass filename.k7
Puis, quand l'émulation est en cours d'exécution, il faut appuyer sur "ScrollLock, Tab" pour accéder au menu interne et démarrer la cassette. Mais malheureusement, dans la pratique, il ne fonctionne pas. En fait MESS Hector décline toute keypress (même pas M pour accéder à l'écran).
Avatar de l’utilisateur
yo_fr
Messages : 1336
Inscription : 13 août 2009 18:24
Localisation : 78...
Contact :

Re: Concours de musique 1-bit

Message par yo_fr »

Bizarre, dans ma dernier version téléchargée de MESS, Hector fonctionnait (*presque) Cassette et clavier inclus (0.16x, il me semble).

* : petite info l'émulation du Disc2 ne fonctionne plus depuis (environ) la version 0.141. J'avais été obligé de faire 2 hack au driver du uPD765 dans mes sources des drivers Hector (pour ne pas modifier celui du uPD765) pour contourner des soucis dans le code source des Hector (disquette prête instantanément dans l'émulation alors que dans la réalité il faut attendre d'avoir la tête sur le bon secteur => 0% de chance que ce soit instantané) et lors d'une mise à jour du driver 765 mon Hack a été supprimé (surement car non compris, compliqué à reproduire avec le nouveau driver et surtout pas testé sur les Hector :( :evil: )

Xavier, ton Token permet-il de charger du binaire ou que du texte dans du basic ? Dans Mess je n'ai pas (ni un autre!) implanté le snap de mémoire pour les Hector et du coup il est vrai que pour charger l'émulateur MESS avec un code assemblé c'est loin d'être simple. J'ai inclu tout ça dans VBHector qui est nettement plus abouti en émulation maintenant.

[EDIT] Je viens d'essayer la version 0.167 et le clavier fonctionne par contre si tu as un choix "M" c'est que tu as choisi une machine Basse résolution (Hector 1- première génération Z80 à 1,77Mhz) Prend plutôt un Hec2mx40 ou mx80 (les dernières générations) ou encore un HRX (le plus courant). Les mapping mémoire sont les mêmes (juste des banking switch sur la ROM pour les MX et une électronique "boostée" pour le 80 pour afficher 80 colonnes au lieu de 40...)

Autre chose si "M" ne fonctionne pas essaye la touche "; :" qui est à l'emplacement du M sur les claviers français (AZERTY)... c'est probable... :roll:
Avatar de l’utilisateur
utz
Messages : 36
Inscription : 12 juil. 2016 14:10
Localisation : Amsterdam
Contact :

Re: Concours de musique 1-bit

Message par utz »

D'accord! Après la mise à niveau 0173 (ce qui signifie en utilisant MAME au lieu de MESS), et à la suite de ton conseils, j'ai maintenant une configuration hec2mx40 fonctionnement. Il semble émulation hector1 dans MESS/MAME est en effet cassé (au moins sur Linux). Dois-je déposer un bug report officiel?

Il semble insérer des données binaires directement dans MESS / MAME n'est pas possible. Alors la question demeure - comment puis-je convertir le .bin à .k7? S'il n'y a pas d'outil pour Linux, je peux l'écrire moi-même - mais dans ce cas, je vais avoir besoin d'une spécification de format de fichier pour le format .k7. Et il serait également bon de savoir comment faire l'auto-start, comme dans le jeu "Pengo", par exemple.

Aussi, je ne l'ai toujours pas trouvé une bonne carte mémoire. J'ai trouvé une mise en page de mémoire de base sur hectorvictor.free.fr, mais je voudrais savoir la mise en page de la zone I/O.
Avatar de l’utilisateur
yo_fr
Messages : 1336
Inscription : 13 août 2009 18:24
Localisation : 78...
Contact :

Re: Concours de musique 1-bit

Message par yo_fr »

effectivement la toolchain pour passer de bin à k7 n'existe pas avec les outils existant.
Lorsque je fais cela j'utilisais ma platine Arduino pour charger dans l'Hector et d'autre part en simulation je travaille avec VBHector( compilation avec PASMO, directement lancées depuis VBHector).
Je ne me suis donc jamais penché sur les outils pour MESS...
Faire un utilitaire bin->K7 ne soit pas être trop compliqué. Le format K7 est simple: les octets les un à la suite des autres, organisés en BLOC. un BLOC commence par une entête (TYPE suivi selon de l'ADRESSE DE RANGEMENT, la LONGUEUR, du NOMBRE DE RECOPIES) suivi des datas. Cela se retrouve dans la doc du JEF Monitor.

Les doc pour l'Hector sont :
=> Le guide des sous routines HRX (valable pour le HRX et MX) : toutes les adresses et codes de commande pour les affichage (codes esc) sont inclu
=> La pratique du Forth : chapitre 14 :un mapping RAM
=> La documentation du JEF monitor.

Sinon pour les différentes adresses elles sont disséminées un peu partout dans les doc (par exemple les 3 revues Hectorien, la seule revue (de 3 numéros!!) sur l'Hector). autre source que j'ai beaucoup utilisé pour créer VBHector : le schéma technique de l'HRX. Maintenant lorsque j'ai un doute je regarde ce que j'ai programmé comme port / adresse dans VBHector (source ModHector.bas, lisible avec bloc note) où là je retrouve toutes les adresses que j'y ai mis ! :wink:

Toutes ces doc sont dispos sur le site Hector / Victor !
Avatar de l’utilisateur
utz
Messages : 36
Inscription : 12 juil. 2016 14:10
Localisation : Amsterdam
Contact :

Re: Concours de musique 1-bit

Message par utz »

Merci! Je vais lire ces documents.

En attendant, je viens de terminer une version préliminaire du code. Je ne l'ai pas testé, donc probablement il y aura des erreurs. S'il te plaît tester si tu as un peu de temps.
Pièces jointes
main.asm.txt
(28.7 Kio) Téléchargé 80 fois
Répondre