Cette catégorie traite de développements récents destinés à nos vieilles machines, applications, jeux ou démos... Amis programmeurs, c'est ici que vous pourrez enfin devenir célèbres!
Fool-DupleX a écrit : ↑11 oct. 2017 19:00
Et d'ou sort le son sur le TO8 alors ?
Le son sort du MUTE
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.
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
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.
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.
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 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é?)
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.
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 (6.45 Kio) Consulté 5164 fois
bbbbbbbbb.gif (7.58 Kio) Consulté 5164 fois
ccccc.gif (6.77 Kio) Consulté 5164 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...
Je suis content! 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
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
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.
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.
__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
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
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.