Logicielsmoto.com

Nous sommes le 23 Juil 2018, 00:57

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 11 messages ] 
Auteur Message
MessagePosté: 15 Aoû 2015, 18:41 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 590
Localisation: Provence (France)
Vidéo de la dernière démo de Sam, filmée sur MO5 : http://www.filedropper.com/hammer
Cette démo fonctionne sur toutes machines Thomson, TO ou MO.


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 16 Aoû 2015, 09:36 
Hors ligne

Inscription: 27 Juin 2006, 19:44
Messages: 958
Localisation: France (24)
Une petite explication ?
Je suppose que cette démo ne peut se regarder qu'avec un support SD ?

_________________
Marche a suivre pour s'inscrire sur ce forum
Do not forget to contact one of the administrators to validate your registration.
Pulsdemos, le site des démos de Puls
L'émulateur Teo


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 16 Aoû 2015, 13:21 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 590
Localisation: Provence (France)
Toute l'histoire, depuis les premiers essais à 58 Ko/s jusqu'à la version actuelle à 120 Ko/s,
est dans ce fil de discussion : http://forum.system-cfg.com/viewtopic.php?f=25&t=6367
Vous y trouverez aussi les sources de tous les programmes, et les explications de Sam.


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 16 Aoû 2015, 14:08 
Hors ligne

Inscription: 27 Juin 2006, 19:44
Messages: 958
Localisation: France (24)
Évidemment, c'est plus facile avec du débit :)

_________________
Marche a suivre pour s'inscrire sur ce forum
Do not forget to contact one of the administrators to validate your registration.
Pulsdemos, le site des démos de Puls
L'émulateur Teo


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 16 Aoû 2015, 17:49 
Hors ligne

Inscription: 27 Juin 2006, 19:44
Messages: 958
Localisation: France (24)
Daniel Coulom a écrit:
Toute l'histoire, depuis les premiers essais à 58 Ko/s jusqu'à la version actuelle à 120 Ko/s,
est dans ce fil de discussion : http://forum.system-cfg.com/viewtopic.php?f=25&t=6367
Vous y trouverez aussi les sources de tous les programmes, et les explications de Sam.

Il peut les mettre ici aussi.

_________________
Marche a suivre pour s'inscrire sur ce forum
Do not forget to contact one of the administrators to validate your registration.
Pulsdemos, le site des démos de Puls
L'émulateur Teo


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 17 Aoû 2015, 13:09 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 974
Localisation: Brest
Oui je suis là, en vacance, mais actif aussi. Je suis content de voir que Daniel poste à nouveau ici. :bien:

D'abord le son

Pour résumer: c'est la suite de la manip initiale avec les carte SD. Historiquement il y a eu des cartes SD lues en SPI (série) via un port manette. Il nous en avait parlé ici il y a 2 ans environ. Cette solution avait pas mal évoluée, avec notamment la reprogrammation de l'eprom du boitier nano-réseau permettant (je passe les détails) de monter et utiliser de façon transparentes des diskettes virtuelles sur cartes SD pour tout type de MO/TO (sauf le TO9...). C'est le contrôleur CS91-280 (http://dcmoto.free.fr/bricolage/cs91-280/index.html) dont le fil de discussion se trouve ici: http://www.forum.system-cfg.com/viewtop ... =25&t=4785.

Une diskette c'est bien et 4 diskettes c'est mieux. C'est le maximum qu'un THOMSON sache faire. Pour aller plus loin, l'an dernier, Daniel a eu l'idée de streamer du son depuis la carte SD connectée au port manette en utilisant un mode de lecture de secteurs continus (CMD18). Ca n'est pas simple a mettre au point car si au sein d'un bloc de carte SD les délais sont constants, entre deux blocs, une carte SD met plus ou moins de temps pour répondre. Daniel a trouvé le moyen d'utiliser des bits inutilisés des octets son pour bufferiser plusieurs octets qui seront joués en inter-bloc. Ca marche pas mal et fournit un son à environ 5.5khz, ce qui est très très honorable pour les thomson (http://www.forum.system-cfg.com/viewtop ... 943#p85943).

Comme la manip de lancement est un peu fastidieuse, j'ai eu l'idée de fusionner une diskette virtuelle et un fichier son (http://www.forum.system-cfg.com/viewtop ... 706#p94706). Du coup la manip est beaucoup plus simple et permet d'écouter facilement des heures et des heures de musiques sur thomson (je crois que quelqu'un l'a fait sur un salon). Cependant la préparation des données est quand même compliquée (il faut extraire le fichier son, le downsampler, le sauver dans un format spécial, préparer une image titre, executer un EXE windows, etc). Aussi j'ai écrit un script qui est capable de convertir des CD Audios à la volée en fichier "SD" pour thomson en quantité industrielle. J'en ai fait plein (dispo ici: http://dcmoto.free.fr/programmes/sdplay/index.html). Voici quelques exemples:
Résultat des courses. Le thomson peut enfin jouer de la musique à 5.5khz streamée depuis une carte SD pendant des heures et des heures, ce qui est vachement cool. :sol: On est plus limité par la RAM dispo :bien:

_________________
Good morning, that's a nice Tnetennba


Dernière édition par Samuel Devulder le 17 Aoû 2015, 16:07, édité 8 fois.

Haut
 Profil  
Répondre en citant le message  
MessagePosté: 17 Aoû 2015, 14:42 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 974
Localisation: Brest
Ensuite l'image

Daniel avait réussi vers Noël 2013, toujours avec le module SDMOTO lisant la carte SD en série, à faire jouer une video (muette) de simon-cat (http://www.forum.system-cfg.com/viewtop ... 320#p78320). Ce clip se prête bien à l'encodage et au flux de 5 ou 6ko/sec car il y a peu de changements dans l'image. Mais c'est un clip en noir&blanc et muet. Ce qui est dommage maintenant qu'il y a du son. C'est resté longtemps le seul clip animé streamé sur Thomson. Plus tard, suite aux résultats sur le son, j'ai essayé de voir si l'on ne pouvait pas trouver un codage permettant de mixer son et image avec l'interface et les débits du CS91-280 et ce pour des clips pas spécialement calmes (http://www.forum.system-cfg.com/viewtop ... 74#p100574). Le résultat est moyen. En noir&blanc on pourrait avoir
Image
et en couleur (inspiré de la demo de 2011 "Oh la belle bleue").
Image
La résolution est vraiment pauvre. :(

En fait, ce qui limite est le débit de 5.6-6Ko/sec qui est vraiment trop bas pour avoir une bonne image et du son simultanément. Pour aller plus loin il faudrait un débit 8 à 10 fois plus grand. Or le controlleur CS91-280 est optimisé au maximum. Fin de l'histoire. On ne pourra pas avoir pas de streaming audio+video de haute fréquence sur thomson ?

Non! Car Daniel a eu l'idée astucieuse en mai dernier de faire lire la carte SD par un arduino et de fournir les données en parallèles sur les bits des port joystick au thomson (http://forum.system-cfg.com/viewtopic.php?f=18&t=6296).
Fichier(s) joint(s):
Commentaire: Thomson + Arduino
thomson+arduino.gif
thomson+arduino.gif [ 74.67 Kio | Vu 3493 fois ]

En parallèle ca veut dire minimum 8 fois plus rapide, mais en fait bien plus car il a réussi à faire jouer du son à 58824 octets/seconde (11x plus que le mode série). 58khz, c'est bien plus qu'une platine CD. Il y a du rab de bande passante, et du début juin, il a réussi a faire jouer une anim audio+video de Simon's cat précédemment silencieuse avec un son à 22khz (http://forum.system-cfg.com/viewtopic.php?f=25&t=6367).

Alors oui c'est une démo en noir et blanc. Aussi j'ai essayé de voir ce que ca donnerait avec mon codage "couleur" avec un débit 11x plus grand:
Image
C'est mieux, plus fin, mais c'est pas encore ca :L

Le code du player d'animation N&B a été régulièrement optimisé et sa structure a été modifiée pour laisser plus de bande passante à la video permettant de jouer d'autres clips que Simon's cat (http://forum.system-cfg.com/viewtopic.p ... 19#p104119). Le son à 16khz est largement suffisant et il y a enfin un clip plein écran avec de grosses parties mobiles.
Image

Le tramage utilisé par Daniel est le classique Bayer qui permet 17 niveaux de gris. De mon coté j'ai fait un test avec un Void-and-Cluster à 65 niveaux qui donne un résultat vraiment bien sur les films (http://forum.system-cfg.com/viewtopic.p ... 61#p104161)
Image
Du coup j'ai publié un script de génération de video avec ce tramage ainsi que plein de clips (http://forum.system-cfg.com/viewtopic.p ... 19#p104219). Le script a été optimisé pour utiliser au mieux la bande passante du stream soit en augmentant le fps soit en diminuant la taille de l'écran (http://forum.system-cfg.com/viewtopic.p ... 27#p104427).

_________________
Good morning, that's a nice Tnetennba


Dernière édition par Samuel Devulder le 17 Aoû 2015, 16:27, édité 6 fois.

Haut
 Profil  
Répondre en citant le message  
MessagePosté: 17 Aoû 2015, 14:45 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 974
Localisation: Brest
Et la couleur?

Super, c'est bien. On a de l'animation et du son à 16khz simultanément sur Thomson. C'est une grande première... mais c'est du N&B. On est donc limité à Brel à l'Olympia ou Brassens à Bobino :L

En fait non pas vraiment. Avec un très légère modification du player que j'ai introduite (http://forum.system-cfg.com/viewtopic.p ... 48#p104448) la couleur est apparue!
ImageImage

Au début elle était palote, mais à force de travail sur le tramage elle est devenu plus franche, plus fine, et plus détaillée (http://forum.system-cfg.com/viewtopic.p ... 25#p104525).
Image

Avec le débit utilisé (3*16khz: 1 octet son, un déplacement vidéo non signé, un octet vidéo), on pouvait jouer des clips quelconques (c'est à dire pas spécialement statiques comme "Simon's cat", ni complétement changeant) à 10 fps avec une image représentant environ 70% de la surface de l'écran. Tout cela avec le même encodage que celui des clips N&B (Simon's cat). Perso j'étais persuadé que l'encodage n'était pas adapté aux changements massif de l'écran car beaucoup de déplacements de un seul octet sont présents. En fait, quand une zone de l'écran change les octets suivants changent très probablement eux aussi.

Aussi j'ai modifié l'encodage des données pour éviter de perdre de la bande passante lors des changements massifs. J'ai introduit le mode "deux octets", c'est à dire que sous certaines conditions, le déplacement vaut implicitement "1" et l'octet du flux est alors traité comme une donnée vidéo. Résultat on multiplie par deux la bande passante lors des changements massifs (http://forum.system-cfg.com/viewtopic.p ... 28#p104928). Le résultat est nettement meilleur. Les clips passent quasiment tous alors en plein écran et jusqu'à 19hz en vidéo. Ils sont super détaillés et super fluides. Le mode couleur inciterait presque à regarder un film en entier devant son Thomson :D (j'ai testé "starwars", et "les mondes de Ralph" en bon cobaye). Et tout cela sans changement de hardware ni même sans changement de protocole de communication. Bref toujours à ~58khz.

Avec un petite modif du protocole (synchro sur front montant et descendant) on pouvait encore améliorer un peu les débits. Mais Daniel, revenant de vacances, début juillet a annoncé alors avoir trouver le moyen de Streamer du son à 120Ko/sec en faisant porter l'horloge de synchronisation par la donnée audio: http://forum.system-cfg.com/viewtopic.p ... 84#p104984 (on plafonnait à 58ko/sec avant). Le débit est plus que doublé! :coolfuck:

OK.. 120Ko/sec c'est impressionnant, mais c'est possible parce qu'on fait du son seul. Pour la partie vidéo, tous les bits sont utiles et on ne peut pas encoder l'horloge dans la video. Bref c'est pas possible d'aller plus vite. :voyons: Sauf que Daniel a eu l'idée brillante de ne plus faire d’acquittement pour chaque octet, mais uniquement sur les octets audio qui ne représentent que 1/7 (14%) du flux, charge restant à l'ardiuino de synchroniser l'envoi des autres octets au bon moment pour le player coté thomson. La mise au point de cette synchro à l'aveugle ne fut pas facile, et c'est quand Daniel a reçu un analyseur logique que la durée des instructions "arduino" fut précisément établie et le code C coté arduino étalonné. Avec ca, on lit 7 octets de l'arduino en 60 cycles 6809. La synchro thomson->arduino ne se fait que tous les 420 cycles, soit 116.7ko/sec de débit effectif. On est vraiment tout proche du maximum théorique de 125ko/sec :cool: En outre, le format des blocs (73*7 + 1 = 512) permet de coller un octet audio suffisant pour attendre le prochain bloc de la carte SD sans craquement. C'est magique: tout tombe bien, exactement au bon moment :bien:

Tout devrait rouler sans problème sur le matériel réel.... Sauf que...

Dernière péripétie: alors que sur le papier tout doit bien marcher: player 6809 et arduino marchant de concert, synchronisation se faisant tous les 7 octets, simulation sous émulateur parfaite. Sur machine réelle rien ne marche. En fait des parasites électriques viennent perturber ce joyeux orchestre. Daniel a trouvé un contournement électronique (http://forum.system-cfg.com/viewtopic.p ... 73#p107073) et depuis le W.E. dernier les clips sont joués sans problèmes en plein écran avec du son à 16.67Khz sur thomson.
Image

Voila, j'ai été un peu long pour raconter cette aventure, et pourtant j'ai vachement simplifié. Mais comme elle démarre de loin (2013) et a connu pas mal d'étapes clefs sur plusieurs fils de discussions, il fallait au moins 3 messages pour que l'on arrive à se faire une idée du déroulement. Pour avoir tout les détails de l'histoire, il faut se référer aux liens que Daniel a posté ou à ceux que j'ai mis dans les messages. Si j'ai oublié un truc important, je pense que Daniel nous apportera des compléments ici.

_________________
Good morning, that's a nice Tnetennba


Dernière édition par Samuel Devulder le 17 Aoû 2015, 17:12, édité 1 fois.

Haut
 Profil  
Répondre en citant le message  
MessagePosté: 17 Aoû 2015, 16:36 
Hors ligne

Inscription: 27 Juin 2006, 19:44
Messages: 958
Localisation: France (24)
Et bientôt, Internet sur Thomson avec Youtube et lecteur Flash.

_________________
Marche a suivre pour s'inscrire sur ce forum
Do not forget to contact one of the administrators to validate your registration.
Pulsdemos, le site des démos de Puls
L'émulateur Teo


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 17 Aoû 2015, 16:48 
Hors ligne

Inscription: 21 Aoû 2006, 09:06
Messages: 974
Localisation: Brest
Ca se fait sur C64 pour internet, mais pour le Flash.. là même mon Raspberry-Pi qu'on voit sur les vidéos montre des limites. Il faut dire qu'il n'a qu'un CPU à 700Mhz :D

Ce qu'il serrait bien je pense c'est pouvoir faire une video qui tienne entièrement en RAM thomson, où puisse être streamée depuis le lecteur standard. Sur C64 ils y sont arrivés: http://www.pouet.net/prod.php?which=63649 (environ 70 octets par image!).
Image

Il ne nous plus qu'à faire comme eux (mieux graphiquement si possible). Pour le son j'ai déjà préparé ce qu'il faut là dedans.

_________________
Good morning, that's a nice Tnetennba


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 01 Sep 2015, 08:48 
Hors ligne

Inscription: 24 Juil 2010, 16:08
Messages: 400
Localisation: France
Depuis une disquette, le débit maximal est de 6500 octets par piste * 5 pistes par seconde = 32.5Ko/s (avec un format de disquette adapté au trackload et sans rien faire d'autre). il faudrait compresser les données encore un peu plus.

Sur C64, la vitesse de chargement est 3 à 4 fois plus lente, mais ils ont 2 CPUs (un dans le C64 et un dans le lecteur de disquettes). Sur Amstrad CPC, la limite théorique est quasiment atteinte (par exemple dans le jeu Orion Prime). Sur Thomson on en est encore bien loin...

Dans le genre il y a aussi la demo "8088 Domination" sur PC-XT (CGA, 4.77MHz). La compression utilisée consiste à générer du code qui est chargé depuis le disque dur et exécuté en streaming, ce qui permet plus de flexibilité dans le codage des données.

http://trixter.oldskool.org/2014/06/19/ ... em-part-1/
http://trixter.oldskool.org/2014/06/20/ ... onclusion/

L'endcodeur utilisé a été publié, pour les curieux, mais il génère du code x86 qui n'est bien sûr pas directement utilisable.


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 11 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
cron
Développé par phpBB® Forum Software © phpBB Group
Traduction par phpBB-fr.com