[Thomson] Musique et vidéo avec SDSTREAM

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

tjjq44
Messages : 220
Inscription : 26 oct. 2016 13:40

Re: [Thomson] Musique et vidéo avec SDSTREAM

Message par tjjq44 »

Non le hic c’est que je les héberge sur mon espace perso free qui n’est pas en « https » mais en « http » du coup google chrome bloque par défaut l’affichage des images... il doit apparaître tout de même une petite icône à la place, tu fais clic droit dessus et ouvrir dans un nouvel onglet. Sinon avec firefox ça marche mieux je pense aussi.
Dernière modification par tjjq44 le 10 janv. 2022 12:41, modifié 1 fois.
Brochiman
Messages : 3405
Inscription : 02 juin 2019 11:26
Localisation : Angers

Re: [Thomson] Musique et vidéo avec SDSTREAM

Message par Brochiman »

oui click droit ca marche merci :D . J'utilise chrome et il me bloque aussi tes fichiers à télécharger mais pas grave je passe par jdownloader
tjjq44
Messages : 220
Inscription : 26 oct. 2016 13:40

Re: [Thomson] Musique et vidéo avec SDSTREAM

Message par tjjq44 »

j’avais fait un petit tuto sur un autre forum à ce sujet d’ailleurs : https://forum-photovoltaique.fr/viewtop ... 67&t=46725
Brochiman
Messages : 3405
Inscription : 02 juin 2019 11:26
Localisation : Angers

Re: [Thomson] Musique et vidéo avec SDSTREAM

Message par Brochiman »

Yes merci ca marche nickel maintenant :D :D :D
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] Musique et vidéo avec SDSTREAM

Message par Daniel »

De plus en plus de navigateurs refusent par défaut l'accès aux contenus non sécurisés, mais c'est paramétrable.
Par exemple dans Edge : Paramètres / Cookies et autorisations des sites / Autorisations des sites / Toutes les autorisations / Contenu non sécurisé
Il suffit d'ajouter https://forum.system-cfg.com/ dans la liste des sites autorisés.
Oui, en installant Windows 11 je suis passé à Edge, après avoir essayé tous les autres. Après une semaine de test tout va bien, je crois que je vais le garder.
Daniel
L'obstacle augmente mon ardeur.
tjjq44
Messages : 220
Inscription : 26 oct. 2016 13:40

Re: [Thomson] Musique et vidéo avec SDSTREAM

Message par tjjq44 »

Pour en revenir au sujet, maintenant que je comprends mieux cette histoire de mémoire forme et couleur et que je peux facilement générer des fichiers "forme" et "couleur" grâce au plugin de Sam, j'aimerai pouvoir l'inclure dans "sdstream_music"

Voici comment j'envisage de composer un fichier .sds avec image en couleur :

Code : Tout sélectionner

------------------------------------------------------------------------         
Fichier sur la carte SD = sdstream_xxxx.sds (xxxx est le nom du projet)
------------------------------------------------------------------------
Le fichier .sds est le résultat de la concaténation
des quatre fichiers suivants :
- sdstream_synchro.bin
- sdstream_music.bin
- xxxx.frm
- xxxx.cou
- xxxx.raw

Exemple de ligne de commande pour effectuer l'opération :
copy /b sdstream_synchro.bin+sdstream_music.bin+toto.frm+toto.cou+toto.raw sdstream_toto.sds
J'ai jeté un oeil à ton code "sdstream_music", en particulier la partie qui charge l'image :

Code : Tout sélectionner

;------------------------------------------------------
; Affichage de l'image
;------------------------------------------------------
DISPLAY
  LDU   #$0000        ;adresse memoire video
  LDX   #$2000        ;nombre d'octets a lire
DISPL2
  LDA   <$FF          ;(4) lecture d'un octet
  STA   ,U+           ;(6) affichage       
  LEAX  -1,X          ;(5) decrementation compteur 
  BNE   DISPL2        ;(3) lecture octet suivant
Je pense qu'il faudrait dupliquer cette partie mais sur la deuxième passe il faudrait en premier implémenter le passage à 1 du bit 0 de l'octet $E7C3 si c'est un TO ou $A7C3 si c'est un MO.

Et le code de bouclage à la fin devra aussi être modifié car on aura deux plages de 8k consécutives dans le fichier .SDS (forme puis couleur) :

Code : Tout sélectionner

;------------------------------------------------------
; FIN de la musique detectee par un octet $FF
; En fin de fichier l'Arduino revient au debut.
; Il faut :
; - attendre l'octet de synchro $FE en fin du 1er bloc
; - sauter le bloc contenant le programme
; - sauter les 16 blocs contenant l'image -----------------------------> sauter les 32 blocs contenant l'image
; - recommencer la lecture de la musique
;------------------------------------------------------
FIN
  LDA   <$FF           ;lecture d'un octet   
  CMPA  #$FE           ;valeur octet synchro
  BNE   FIN            ;attente octet synchro
  LDY   #$0011         ;nombre de blocs a ignorer (17)
BLOC  
  LDX   #$200          ;nombre d'octets par bloc
BLOC1
  LDA   <$FF           ;lecture d'un octet   
  LEAX  -1,X           ;decrementer indice dans le bloc
  BNE   BLOC1          ;lecture octet suivant du bloc
  LEAY  -1,Y           ;decrementer le nombre de blocs
  BNE   BLOC           ;nouvelle lecture de bloc 
  BRA   PLAY           ;recommencer la lecture

;------------------------------------------------------
; Complement a zero pour que la taille du programme
; soit exactement 512 octets (1 bloc de la carte SD)
;------------------------------------------------------
  ORG   $91FF
  FCB   $00
   
  END
Malheureusement je ne connais pas l'assembleur, peux-tu m'aider pour ça ;)
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [Thomson] Musique et vidéo avec SDSTREAM

Message par __sam__ »

Comme le registre DP contient $A7 sur MO et $E7 sur TO, la bascule forme/fond peut être commune en assembleur avec l’adressage "direct-page".

Note: l’asm 6809 est très facile à apprendre.
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
tjjq44
Messages : 220
Inscription : 26 oct. 2016 13:40

Re: [Thomson] Musique et vidéo avec SDSTREAM

Message par tjjq44 »

__sam__ a écrit : 16 janv. 2022 15:14Note: l’asm 6809 est très facile à apprendre.
Peut-être, du moins certainement par rapport à d'autres processeurs... Il faut énormément de temps pour apprendre et expérimenter l'assembleur, de plus le 6809 n'est pas celui que j'explorerais en premier si je devais me lancer un jour (ce serait 68000 ou Z80 très certainement car les Macintosh et les CPC sont mes machines de prédilection). J'arrive à comprendre les rudiments du langage basic (ainsi que le langage des casio graphiques des années 80/90) ce qui me permet de m'amuser déjà pas mal, de plus il n'y a pas à tout ré-apprendre lorsqu'on change de plateforme (enfin y a des différences mais c'est gérable). Comme je l'ai déjà dit sur system-cfg, je suis bien plus à l'aise avec une dremel et un fer à souder, grâce à vous sur le forum j'en apprends beaucoup et j'aimerais bien être "omniscient" mais il me faudrait l'éternité pour ça. :lol:

Je pense Daniel que la "colle" que j'ai posée ne devrait pas être trop indigeste pour toi, après si tu préfères éviter de mettre dans le topic du code expérimental qui pourrait semer la confusion auprès des lecteurs de ce forum, n'hésite pas à m'envoyer un MP :wink:
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] Musique et vidéo avec SDSTREAM

Message par Daniel »

Dès que possible je publierai une version couleur+forme du programme sdstream_music.
Daniel
L'obstacle augmente mon ardeur.
tjjq44
Messages : 220
Inscription : 26 oct. 2016 13:40

Re: [Thomson] Musique et vidéo avec SDSTREAM

Message par tjjq44 »

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

Re: [Thomson] Musique et vidéo avec SDSTREAM

Message par Daniel »

Voici le programme sdstream_music_color.

Il charge d'abord la mémoire video forme (16 blocs) puis la mémoire video couleur (16 blocs).
Le fichier .sds doit contenir :
- 1 bloc de synchro.
- 1 bloc de programme (sdstream_music_color.bin)
- 16 blocs vidéo forme
- 16 blocs vidéo couleur
- Les blocs de musique
A la fin de la musique, retour au début du fichier .sds et saut des 33 premiers blocs après la synchro.

ATTENTION ! Je n'ai pas eu le temps de tester. S'il y a des erreurs il faut me le dire, je corrigerai.
sdstream_music_color.zip
(2.9 Kio) Téléchargé 56 fois

Code : Tout sélectionner

 SETLI 132
;**************************************************;
;              SDSTREAM_MUSIC_COLOR                ; 
;           (c) 2022 - Daniel Coulom               ;  
;           http://dcmoto.free.fr/                 ;
;           http://forum.system-cfg.com/           ;
;--------------------------------------------------;
; Ce code est distribue gratuitement dans l'espoir ;
; qu'il sera utile, mais sans aucune  garantie  et ;
; sans  engager  la  responsabilité  de  l'auteur. ;
; Vous  pouvez  l' utiliser,  le  modifier  et  le ;
; diffuser librement, en conservant cette  licence ;
; et les références de l'auteur dans   toutes  les ;
; copies. L'exploitation commerciale est interdite.;
;**************************************************;

; Ce programme utilise le module SDTREAM
; pour jouer de la musique en streaming.
; - affichage d'un ecran de presentation
; - envoi sur le CNA de musique 6 bits
; Il differe de sdstream_music par l'affichage
; d'une image de presentation en couleurs 
; Il charge la memoire forme (16 blocs)
; puis la memoire couleur (16 blocs).

;**************************************************;
;                Version 2022.01.17                ;
;**************************************************;
; Historique
; 2022.01.17 version derivee de sdstream_music


;------------------------------------------------------
; Detection du type d'ordinateur MO ou TO
;------------------------------------------------------
  ORG   $9800 
  ORCC  #$50          ;desactive les interruptions
  LDA   >$FFF2        ;$FFF2: $F0(MO) et $70(TO)
  BPL   INIT3         ;TO detecte

;------------------------------------------------------
; Initialisations communes MO5-MO6 
;------------------------------------------------------
INIT1
  LDA   #$A7          ;valeur de DP pour ordinateur MO
  TFR   A,DP          ;initialisation DP
  LDA   <$C0          ;registre systeme 1
  ORA   #$01          ;positionne le bit 0
  STA   <$C0          ;selection video forme 
  LDA   >$FFF0        ;type d'ordinateur
  BEQ   INIT8         ;MO5   

;------------------------------------------------------
; Initialisations MO6 
; Attention aux differences PIA systeme MO5 et MO6
;------------------------------------------------------
INIT2
  LDA   <$C0          ;PIA systeme 
  ANDA  #$FB          ;clear mute bit 
  STA   <$C0          ;modification PIA
  BRA   INIT8         ;suite des initialisations

;------------------------------------------------------
; Initialisations TO 
;------------------------------------------------------
INIT3
  LDA   #$E7          ;valeur de DP pour ordinateur TO
  TFR   A,DP          ;initialisation DP
  LDA   <$C3          ;registre PRC du 6846
  ORA   #$01          ;positionne le bit 0
  STA   <$C0          ;selection video forme 
  LDY   #$4000        ;adresse debut ecran
  STY   DISPLAY+1     ;initialisation adresse ecran
  LDA   #$C3          ;adresse registre PCR du 6846 
  STA   DISPL3+1      ;modification du programme 

;------------------------------------------------------
; Initialisation CNA en sortie 
;------------------------------------------------------
INIT8
  LDA   <$CF          ;lecture registre de controle B
  ANDA  #$FB          ;raz bit 2 
  STA   <$CF          ;selection DDRB
  LDB   #$3F          ;set bits 0-5 
  STB   <$CD          ;bits CNA en sortie
  ORA   #$04          ;set b2
  STA   <$CF          ;selection PB

;------------------------------------------------------
; Copie de la memoire forme
;------------------------------------------------------
DISPLAY
  LDU   #$0000        ;adresse memoire video
  LDX   #$2000        ;nombre d'octets a lire
DISPL2
  LDA   <$FF          ;(4) lecture d'un octet
  STA   ,U+           ;(6) ecriture forme       
  LEAX  -1,X          ;(5) decrementation compteur 
  BNE   DISPL2        ;(3) lecture octet suivant

;------------------------------------------------------
; Copie de la memoire couleur
;------------------------------------------------------
DISPL3
  DEC   <$C0          ;$C3 pour TO 
  LEAU  -$2000,U      ;adresse memoire video
  LDX   #$2000        ;nombre d'octets a lire
DISPL4
  LDA   <$FF          ;(4) lecture d'un octet
  STA   ,U+           ;(6) ecriture couleur       
  LEAX  -1,X          ;(5) decrementation compteur 
  BNE   DISPL4        ;(3) lecture octet suivant

;------------------------------------------------------
; Boucle de lecture
; 20 cycles entre deux echantillons (50000/seconde)
; 28 cycles au changement de bloc
;------------------------------------------------------
PLAY
  LDA   <$FF           (4) lecture echantillon
  STA   <$CD           (4) joue echantillon
  LDA   <$FF           (4) lecture echantillon 
  BMI   FIN            (3) branchement en fin de fichier 
  BRN   PLAY           (3) temporisation 
  BRN   PLAY           (3) temporisation 
  BRN   PLAY           (3) temporisation 
  STA   <$CD           (4) joue echantillon
  BRN   PLAY           (3) temporisation 
  BRN   PLAY           (3) temporisation 
  BRN   PLAY           (3) temporisation 
  BRA   PLAY           (3) nouvelle boucle

;------------------------------------------------------
; FIN de la musique detectee par un octet $FF
; En fin de fichier l'Arduino revient au debut.
; Il faut :
; - attendre l'octet de synchro $FE en fin du 1er bloc
; - sauter le bloc contenant le programme
; - sauter les 32 blocs contenant l'image
; - recommencer la lecture de la musique
;------------------------------------------------------
FIN
  LDA   <$FF           ;lecture d'un octet   
  CMPA  #$FE           ;valeur octet synchro
  BNE   FIN            ;attente octet synchro
  LDY   #$0021         ;nombre de blocs a ignorer (33)
BLOC  
  LDX   #$200          ;nombre d'octets par bloc
BLOC1
  LDA   <$FF           ;lecture d'un octet   
  LEAX  -1,X           ;decrementer indice dans le bloc
  BNE   BLOC1          ;lecture octet suivant du bloc
  LEAY  -1,Y           ;decrementer le nombre de blocs
  BNE   BLOC           ;nouvelle lecture de bloc 
  BRA   PLAY           ;recommencer la lecture

;------------------------------------------------------
; Complement a zero pour que la taille du programme
; soit exactement 512 octets (1 bloc de la carte SD)
;------------------------------------------------------
  ORG   $99FF
  FCB   $00
   
  END
Daniel
L'obstacle augmente mon ardeur.
tjjq44
Messages : 220
Inscription : 26 oct. 2016 13:40

Re: [Thomson] Musique et vidéo avec SDSTREAM

Message par tjjq44 »

Merci, je teste ça ce soir après le taf!
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [Thomson] Musique et vidéo avec SDSTREAM

Message par __sam__ »

Daniel, si on suppose que le bloc couleur est au format TO, il serait cool de faire la conversion des octets au format MO à la volée sur ces machines.
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] Musique et vidéo avec SDSTREAM

Message par Daniel »

Oui et non.
Pour ceux qui ont une culture MO, le format des couleurs TO est une hérésie. C'est l'héritage malheureux du TO7 et de sa mémoire couleur limitée à 6 bits. Depuis toujours j'utilise des images avec les couleurs au format MO, et quand je dois les porter sur TO je maudis les ingénieurs de Thomson.
J'ajouterai la conversion TO-->MO à sdstream_music_color quand il y aura au moins deux ou trois utilisateurs. Ce n'est pas demain la veille :lol:
Daniel
L'obstacle augmente mon ardeur.
tjjq44
Messages : 220
Inscription : 26 oct. 2016 13:40

Re: [Thomson] Musique et vidéo avec SDSTREAM

Message par tjjq44 »

L’idée est de pouvoir charger en mémoire les fichiers forme et couleur sur MO comme sur TO de toute façon. Après il semble logique que le fichier couleur soit préalablement adapté à la machine sur laquelle on veut faire tourner la démo.

Pour générer du format TO il y a les plugins grafx2 de Sam, pour le format MO il y a bmp2mo5 de 6502man. C’est vrai que c’est pas terrible ces deux formats différents mais faut faire avec.
Répondre