[THOMSON] Jouer des MODs amiga

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

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

Re: [THOMSON] Jouer des MODs amiga

Message par Daniel »

Fool-DupleX a écrit : 11 oct. 2017 19:00 Et d'ou sort le son sur le TO8 alors ?
Le son sort du MUTE :mrgreen:
En mettant le CNA à $3F, le bit MUTE produit un son tout ou rien.
En modifiant la valeur du CNA on doit pouvoir modifier l'intensité du buzzer. Je ne l'ai pas vérifié mais c'est vraisemblable.
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [THOMSON] Jouer des MODs amiga

Message par __sam__ »

Modifier l'intensité du buzzer, oui ca me dit quelque chose ce truc là. J'avais sans doute expérimenté là dedans dans le passé :)
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
Fool-DupleX
Messages : 2284
Inscription : 06 avr. 2009 12:07

Re: [THOMSON] Jouer des MODs amiga

Message par Fool-DupleX »

C'est très astucieux comme approche ... donc c'est bien CP2 et donc ma proposition est valide, 6 ou 7 cycles sans registre pour flipper CP2 et je ne vois pas comment faire mieux, pour répondre à ta question sur logicielsmoto. Sinon, il reste ma suggestion d'il y a quelques semaines en arrière, à savoir PWMer sur le timer du 6846 et reboucler la sortie cassette sur l'entrée son cassette :mrgreen:

Pour logicielsmoto, en fait, j'ai le message suivant :
Vous avez dépassé le maximum autorisé de tentatives de connexion. En plus de vos nom d’utilisateur et mot de passe, vous devez maintenant résoudre le CAPTCHA ci-dessous.
Et ca marche jamais.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [THOMSON] Jouer des MODs amiga

Message par __sam__ »

Il y a un os :!: Je viens de tester sur machine réele

Code : Tout sélectionner

POKE &HE7C1,&H37:?HEX$(PEEK(&E7C1))
35
On ecrit $37, mais on lit $35. Le INC n'arrivera pas à faire passer bit 3 à 1 :twisted:
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
Fool-DupleX
Messages : 2284
Inscription : 06 avr. 2009 12:07

Re: [THOMSON] Jouer des MODs amiga

Message par Fool-DupleX »

Mince. Je pense qu'on peut trouver autre chose dans la même veine. Si tu pokes $FF, tu relis combien ?
Fool-DupleX
Messages : 2284
Inscription : 06 avr. 2009 12:07

Re: [THOMSON] Jouer des MODs amiga

Message par Fool-DupleX »

Attends deux secondes ... sur quelle machine t'as testé ? Est-on sûr du $35, compte tenu du fait que sur TO8 par exemple, CP1 est utilisé pour le clavier et donc que ton poke/peek est potentiellement perturbé par les calls a la routine clavier ? Un STA LDA avec interruptions masquées serait plus pertinent.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [THOMSON] Jouer des MODs amiga

Message par __sam__ »

Héhé oui c'etait ca : le basic joue avec $E7C1 entre 2 instructions (pour tester le ctrl-c).

En assembleur la boucle:

Code : Tout sélectionner

  ORCC #$50   ; pas d'interuptions (optionnel)
  LDA  #$37
  STA  $E7C1  ; $37 en $E7C1
L INC  $E7C1  ; $38 en $E7C1 ==> buzzer à 1
  DECA
  BNE  *-1    ; Attente 5*256 = 1280 µs
  DEC  $E7C1  ; $37 en $E7C1 ==> buzzer à 0
  DECA 
  BNE  *-1    ; Attente 5*256 = 1280 µs
  BRA  L
fait un beau BEEEEEEEEEP continu à pas loin de 388 Hz (~un sol) sur mon TO8D :D Le blocage des interruptions permet d’avoir un son stable, sinon l’interruption timer à 10hz vient faire un léger vibrato dans la note.

(pour ton pass logicielsmoto as tu attendu 24h après le nb d'essai dépassé?)
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
Fool-DupleX
Messages : 2284
Inscription : 06 avr. 2009 12:07

Re: [THOMSON] Jouer des MODs amiga

Message par Fool-DupleX »

Ah, excellent. Par contre je serais quand même curieux de savoir si le bit 6 ($40) est relu à l'identique, car dans la doc du 6846, ce bit est marqué comme inutilisé et l'avoir sous la main pourrait être utile.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [THOMSON] Jouer des MODs amiga

Message par __sam__ »

Fool-DupleX a écrit : 11 oct. 2017 19:00 Sur MO5, 40 Ko contigus en comptant les 8 Ko de RAM video au debut.
Et sans compter les 256 octets de la page zero du moniteur. Cela dit, voir des data en mémoire forme n'est pas super joli, sauf si on affiche uniquement en mémoire fond une image comme celles-ci:
aaaaaaaa.gif
aaaaaaaa.gif (6.45 Kio) Consulté 5082 fois
bbbbbbbbb.gif
bbbbbbbbb.gif (7.58 Kio) Consulté 5082 fois
ccccc.gif
ccccc.gif (6.77 Kio) Consulté 5082 fois
Etonnamment, c'est pas simple à obtenir, la diffusion d'erreur classique tend à faire de très gros pâtés, j'ai du réduire le coefficient de diffusion "en X" pour avoir un rendu un peu meilleur. Mais ça serait encore mieux si on pouvait changer la palette...
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
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [THOMSON] Jouer des MODs amiga

Message par __sam__ »

Ouais, carrément, même...
aaaaaaaa.gif
aaaaaaaa.gif (7.59 Kio) Consulté 5077 fois
bbbbbbbbb.gif
bbbbbbbbb.gif (7.65 Kio) Consulté 5077 fois
cccc.gif
cccc.gif (7.55 Kio) Consulté 5077 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
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [THOMSON] Jouer des MODs amiga

Message par __sam__ »

Je suis content! :mrgreen: J'ai réussi à faire tourner un algo de PWM sur thomson. Il ne marche qu'à 5khz, mais le résultat n'est pas mal du tout quand on considère que tout ca sort simplement du Buzzer TO7 et pas du tout CNA. Plus d'infos >>ICI<< ou si vous êtes préssés et n'avez pas envie de lire ma prose laborieuse, clickez sur le lien dans ma signature :D

Bon si vous êtes vraiment très très préssés (bandes de fous! ;) ), voici un petit MP3 avec l'un des morceau joué par ce PWM à 5khz: >>ICI<<. Player "online", >>LA<< (liens ci-joint, donc ne durant pas indéfiniment.)

Petit quizz (rien à gagner): saurez vous trouver les titres de MOD joués en PWM :?:
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
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [THOMSON] Jouer des MODs amiga

Message par Daniel »

C'est un exploit technique qu'il faut saluer !
J'ai l'impression que dans certains passages on entend nettement moins la porteuse, et dans d'autres elle est beaucoup plus perceptible. C'est peut-être une piste pour essayer de l'atténuer. Sinon un filtre passe-bas de la sortie son de l'ordinateur devrait la réduire, mais aussi diminuer la fidélité de la musique. Il faut bien comprendre qu'avec un échantillonnage à 5kHz on peut restituer les fréquences jusqu'à 2,5kHz seulement, ce n'est pas beaucoup.
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [THOMSON] Jouer des MODs amiga

Message par __sam__ »

A remarquer, 5khz c'est la fréquence de la démo de Forever-2017, et si je fais un MP3 avec un filtre passe bas de très gros ordre à 3khz sur les deux sorties, le son est très voisin. Comme quoi le buzzer permet aussi de jouer des MODs. Mais oui ca n'est juste qu'un exercice de style pour un petit 8bit réputé pas performant.

Pour atténuer la porteuse en amplitude, j'ai utilisé une technique que tu avais exploité sans gros succès: lors de la génération des instruments, je soustrait à l'échantillon courant le minimum (et pas la moyenne comme dans ton test je crois) des 128 échantillons précédents de sorte à retirer la composante continue locale. Ca marche pas mal. Il ne faut pas retirer totalement la composante continue, car comme le niveau 0% du PWM n'a pas de porteuse, le passage du niveau 0% à 10% et vice-versa fait apparaitre ou disparaitre la porteuse ce qui fait un drôle d'effet pas terrible à écouter. Du coup je m'arrange toujours pour laisser les niveaux des instruments au dessus de 10% de PWM ce qui laisse la porteuse mais avec un volume réduit: On l'entends moins. Pour aller plus loin il faudrait soustraire la composante continue locale non pas en pré-traitement sur les instruments, mais directement sur la sortie du mixage en temps réel. Mais là il faudrait vraiment beaucoup plus de puissance CPU.

A noter: il existait MODPLAY sur pc qui jouait les modules amiga via le speaker. Il fallait au minimum un 286@12Mhz, mais un 386 était recommandé. Bon il est clair qu'avec une fréquence 10x plus élevée que nos 8bits, la porteuse à 5khz est envoyée largement au dessus de la fréquence naturelle de coupure du haut-parleur d'un PC. Ca aide à la qualité du rendu.
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
jasz
Messages : 1313
Inscription : 05 oct. 2016 20:05
Localisation : Quelque part dans le 31

Re: [THOMSON] Jouer des MODs amiga

Message par jasz »

__sam__ a écrit : 19 oct. 2017 00:09Petit quizz (rien à gagner): saurez vous trouver les titres de MOD joués en PWM :?:
Axel F. la musique du film "Le flic de Beverlly hill" ;)
Dommage que le riff de la basse soit autant diminué. A part ça le rendu du lead et des brass est assez net. Beau travail 8)
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [THOMSON] Jouer des MODs amiga

Message par __sam__ »

Je suis en train de tester sur machine réele équipée d'un vieux CRT, et le sifflement à 5khz s'entends beaucoup moins que sur émulateur. Ressortez vos TO7/MO5 les gars 8)

D'ailleurs ca me donne une idée pour faire tourner SDPLAY autrement sur MO5. L'idée serait d’entremêler la gestion du BUZZER dans le code qui récupère les 8 bits. L'avantage de ca, c'est que sur MO5 contrairement au TO7 on peut bidouiller le buzzer avec un simple DEC/INC en $A7C0 sans monopoliser aucun registre. Donc on peut faire facilement N "cores" de lecture d'échantillons depuis la carte SD jouant chacun un niveau particulier du PWM. Sur le papier ca pourrait marcher.
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