[Thomson] Musique et vidéo avec SDSTREAM

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!

Modérateurs : Papy.G, fneck, Carl

Brochiman
Messages : 3545
Inscription : 02 juin 2019 11:26
Localisation : Angers

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

Message par Brochiman »

J'ai pas la place d'avoir 36000 ordis prêt à être allumés et à chaque fois que j'en range un pour tester quelque chose sur un autre bim vous sortez un truc à essayer :lol: :lol: :lol: et évidement sur celui que je viens de ranger :D :D.

Sinon merci beaucoup :D :D
tjjq44
Messages : 220
Inscription : 26 oct. 2016 13:40

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

Message par tjjq44 »

Aller pour ceux qui auront la ref, dans un ultime délire thomsonesque... une tite Billonade! :lol:
http://tjjq.free.fr/thomson/bamba-triste.sds

Dans le cas présent l'affichage de l'image bitmap ressort bien mieux avec un "border" noir. Dans le programme basic de lancement il y a l'instruction "SCREEN0,7,7" il faut la remplacer par "SCREEN0,7,0" afin d'avoir un fond noir (merci Daniel pour l'astuce expliquée en page 2) :wink:

Pour ceux qui ne veulent pas tout se retaper à la main et qui ont aussi SDDrive je mets ici ma disquette de lancement en format .sd
http://tjjq.free.fr/thomson/thomas.sd

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

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

Message par Daniel »

Bravo ! Le premier est le plus difficile à réaliser ! Après, quand on a compris le principe, c'est beaucoup plus facile.

Nous ne sommes que trois ou quatre à avoir entendu de la musique à 50000 échantillons/seconde sur Thomson. Heureux privilégiés 8)
En terme de qualité, on ne peut pas espérer faire mieux sans carte son dédiée.

Pour ceux qui n'ont pas le matériel, voici comment lancer la démonstration avec dcmoto :
- Dans Support amovibles cocher le périphérique SDSTREAM et décocher tous les autres
- Charger le fichier .sds (sous la rubrique Fichiers sur carte SD)
- En BASIC 1.0 entrer le programme suivant par simulation du clavier et le lancer par RUN
- Enjoy !

Code : Tout sélectionner

1010 CLEAR10,&H8FFF:A=&H9F00
1020 CLS:LOCATE0,0,0:SCREEN0,7,0
1030 READX$:IFX$="**"THENEXEC&H9F00:END
1040 POKEA,VAL("&H"+X$):A=A+1:GOTO1030
1050 DATA34,19,1F,B8,8B,86,1F,8B,1A,50,96
1060 DATAFF,81,FE,26,FA,CE,90,00,8E,02,00
1070 DATA3D,96,FF,A7,C0,30,1F,26,F7,35,19
1080 DATA7E,90,00,**
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 et t'as du le remarquer cette fois j'ai mieux soigné la préparation du son : je ne suis pas trop partisan de toucher à la dynamique d'un morceau à la base mais force est de constater qu'en compressant les crêtes de manière progressive et pas trop bourrine on peut gagner pas mal de dB sans vraiment dénaturer le morceau (ni le faire saturer) :D

Comme j'aime toujours aller plus loin je me suis dit que cette fois ce serait pas mal d'essayer la couleur d'autant plus que le "logo" en question s'y prête plutôt bien!

Image d'origine:
Image

Version 3 couleurs brutes:
Image

Version 2 couleurs diffuses (celle utilisée actuellement pour la démo):
Image

A partir des deux images au dessus j'ai créé ça:
Image

C'est cette dernière image que j'aimerais pouvoir inclure dans ma démo, la deuxième pourrait aussi aller mais elle ne retranscrit pas cet effet néon de l'image d'origine. Tous les Thomson peuvent afficher du noir, du rouge et du cyan et j'ai aussi respecté les contraintes de proximité (2 couleurs par tranche de 8 pixels linéaires).

As-tu une idée pour passer cette image (ou n'importe quelle image en 320*200 et 8 couleurs) dans une démo SDStream?
Dernière modification par tjjq44 le 09 janv. 2022 08:27, modifié 1 fois.
Daniel
Messages : 17423
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

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

Message par Daniel »

L'affichage d'une image noir et blanc dans SDSTREAM_MUSIC est très simple :

Code : Tout sélectionner

;------------------------------------------------------
; Affichage de l'image
;------------------------------------------------------
DISPLAY
  LDU   #$0000        ;adresse memoire video (#$4000 pour les TO)
  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
C'est une simple boucle qui charge la mémoire vidéo forme avec le contenu de 16 secteurs de la carte SD.
Pour afficher une image en couleur, le plus simple serait de faire une deuxième boucle identique pour charger la mémoire vidéo couleur à partir de 16 autres secteurs de la carte SD.

La conversion d'une image PC au format Thomson est une autre tâche, a effectuer sur le PC. Ce n'est pas simple car il faut éviter le phénomène bien connu de "color clash" : deux couleurs seulement sont possibles dans chaque segment de huit pixels. Il y a des outils pour ça :
viewtopic.php?t=7419
viewtopic.php?f=25&t=5197

[Edit]
La deuxième image en trois couleurs (rouge et bleu sur fond noir) peut être affichée très simplement sans modifier le programme. Il suffit d'initialiser les couleurs dans le programme BASIC de lancement. En gros remplacer le SCREEN0,7,0 par un SCREEN0,1,0 et changer la couleur d'écriture du bas de l'écran en écrivant des espaces en bleu sur noir. On peut peut-être simplifier en utilisant l'instruction CONSOLE.
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 pour tes lumières... c'est pas évident quand on a les mêmes connaissances en programmation qu'une huître dans le domaine de la physique quantique :lol:

Je réponds en premier à ton [edit] que je viens tout juste de lire car ça ok c'est pas trop compliqué... dans le principe seulement! il "suffit" de modifier le lanceur basic afin de préparer l'écran avant le chargement de la démo afin de correctement configurer la mémoire vidéo "couleurs". Plus facile à dire qu'à faire malgré tout car je ne maitrise pas toutes les instructions loin de là et encore moins celles spécifiques au Thomson, je codais (un peu) sur CPC dans ma jeunesse lol.

En imaginant que je sache coder on devrait obtenir ça (ensuite la démo se lance et charge comme d'habitude la mémoire vidéo "formes") :
Image

Du coup j'ai tenté une autre approche via l'émulateur. Ayant réussi à comprendre que la mémoire vidéo "formes" allait de &4000 à &5FFF j'ai fait la manip suivante:

Préparation des couleurs via l'instruction "SCREEN" :
Image

Sauvegarde de la plage &4000 à &5FFF dans un fichier bin :
Image

Après avoir remplacé le contenu du fichier bin par celui de l'image noir et blanc de "bamba triste" puis rechargé celui-ci dans la mémoire -> TADA!!!
Image

Bon y a clairement aucun miracle à réussir ça lol. De plus je n'ai pas trouvé l'adresse de la plage mémoire vidéo "couleurs", y a une histoire de bank swiching à priori mais comment on gère ça dans l'outil de déboguage de l'émulateur... mystère.

Pour le reste j'ai trouvé grâce à tes liens le petit utilitaire qui m'a permis de passer mon image en différents formats adaptés au Thomson.
Image

J'ai obtenu 2 fichiers RAW, 2 BIN et 1 MAP téléchargeables ici : http://tjjq.free.fr/bamba-triste/bamba_ ... ptomo5.zip. Apparemment MAP est un format de stockage d'image compressée répandu sur thomson, les BIN et RAW n'ont pas tout à fait la même taille mais sont assez similaires à priori avec un fichier "forme" et un fichier "couleur".

En chargeant le fichier RAW "forme" dans la mémoire je pensais retrouver l'image précédente mais en fait non... :(
Image
(le fichier BIN donne la même chose mais avec un décalage en plus)

Bref la je sèche... Thomson a permis aux écoliers de s'initier à l'informatique et c'est très louable mais dans les coulisses ce sont ceux qui ont réussi à développer des applicatifs pour ces machines que j'admire :!:
Dernière modification par tjjq44 le 09 janv. 2022 08:39, modifié 1 fois.
tjjq44
Messages : 220
Inscription : 26 oct. 2016 13:40

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

Message par tjjq44 »

Bon histoire de ne pas aller me coucher sur un échec, une "basse" revanche du croco :mrgreen:
http://tjjq.free.fr/thomson/cpc.sds

Pour avoir les bonnes couleurs avec cette démo il faut encore modifier l'instruction "SCREEN" (SCREEN3,4,4):

Code : Tout sélectionner

1010 CLEAR10,&H8FFF:A=&H9F00
1020 CLS:LOCATE0,0,0:SCREEN3,4,4
1030 READX$:IFX$="**"THENEXEC&H9F00:END
1040 POKEA,VAL("&H"+X$):A=A+1:GOTO1030
1050 DATA34,19,1F,B8,8B,86,1F,8B,1A,50,96
1060 DATAFF,81,FE,26,FA,CE,90,00,8E,02,00
1070 DATA3D,96,FF,A7,C0,30,1F,26,F7,35,19
1080 DATA7E,90,00,**
Dernière modification par tjjq44 le 08 janv. 2022 23:19, modifié 2 fois.
Avatar de l’utilisateur
6502man
Messages : 12329
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

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

Message par 6502man »

POur l'image normal que l'affichage ne soit pas correcte c'est qu'il y à inversion de la page couleurs et formes au moment du chargement sur Thomson :lol:

En jouant sur le flag ram vidéo tu obtiens la bonne image ;)
bamba.jpg
bamba.jpg (521.53 Kio) Consulté 1140 fois
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Daniel
Messages : 17423
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

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

Message par Daniel »

Essai couleur :
bamba-couleur.png
bamba-couleur.png (5.5 Kio) Consulté 1126 fois

Pour obtenir cette image, il faut :
1) Modifier le programme Basic de lancement. Voir ci-dessous.
2) Dans le fichier .sds, remplacer l'image en négatif par une image en positif (inverser tous les bits).

Code : Tout sélectionner

1010 CLEAR10,&H8FFF:A=&H9F00:B=&HA7C0
1011 IFPEEK(&HFFF2)<128THENB=&HE7C3
1020 CLS:LOCATE0,0,0:SCREEN1,0,0:COLOR6
1021 FORI%=19TO24:LOCATE12,I%
1022 PRINT"                ";
1023 NEXT:POKEB,PEEK(B)OR1
1030 READX$:IFX$="**"THENEXEC&H9F00:END
1040 POKEA,VAL("&H"+X$):A=A+1:GOTO1030
1050 DATA34,19,1F,B8,8B,86,1F,8B,1A,50,96
1060 DATAFF,81,FE,26,FA,CE,90,00,8E,02,00
1070 DATA3D,96,FF,A7,C0,30,1F,26,F7,35,19
1080 DATA7E,90,00,**

On peut aussi garder l'image en négatif (ne rien changer au fichier bamba-triste.sds) avec ce programme :

Code : Tout sélectionner

1010 CLEAR10,&H8FFF:A=&H9F00:B=&HA7C0
1011 IFPEEK(&HFFF2)<128THENB=&HE7C3
1020 CLS:LOCATE0,0,0:SCREEN0,1,0:COLOR0,6
1021 FORI%=19TO24:LOCATE12,I%
1022 PRINT"                ";
1023 NEXT:POKEB,PEEK(B)OR1
1030 READX$:IFX$="**"THENEXEC&H9F00:END
1040 POKEA,VAL("&H"+X$):A=A+1:GOTO1030
1050 DATA34,19,1F,B8,8B,86,1F,8B,1A,50,96
1060 DATAFF,81,FE,26,FA,CE,90,00,8E,02,00
1070 DATA3D,96,FF,A7,C0,30,1F,26,F7,35,19
1080 DATA7E,90,00,**
La première solution évite de voir fugitivement un écran rouge.

[Edit]
J'ai oublié de préciser que l'émulateur dcmoto joue le son à la fréquence maximum de 25000 échantillons par seconde.
Seule la vraie machine peut rendre la qualité originale de la musique à 50000 échantillons par seconde.
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 »

@6502man
Désolé j'y arrive vraiment pas... j'ai toujours des images bruitées quel que soit le sens dans lequel j'essaye! Je vois bien que tu as réussi à faire ce que je voulais (mettre les bonnes valeurs dans chaque bank respective) et bien que tu aies émulé un MO5 en l'occurrence ça doit pas changer grand chose (à part l'adresse en &000).

@Daniel
Merci beaucoup! je viens de lancer tout ça et sur DCMOTO ça tourne au poil :D . Sur mon TO7/70 en revanche j'obtiens ceci :(
Image
__sam__
Messages : 7987
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

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

Message par __sam__ »

Om error = out of memory
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 »

Bon j'ai viré l'extension mémoire 64k au cas où celle-ci ficherait le bazar mais no way... toujours la même erreur.

[EDIT]
Ca pourrait aussi être SDDrive qui n'est pas actif dans DCMOTO pour la démo mais bien nécessaire pour mon TO7 en revanche... Dommage d'ailleurs qu'on ne puisse pas fidèlement reproduire la config sur DCMOTO, il faudrait un emplacement supplémentaire dans "supports amovibles" afin de pouvoir charger un fichier .sd ET un fichier .sds (oui je sais on peut aussi à la place du .sd utiliser un fichier .fd) mais la flemme de tout reconvertir sans arrêt lol.
Daniel
Messages : 17423
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

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

Message par Daniel »

Il n'y a pas assez de mémoire disponible car le DOS occupe beaucoup de place, le programme BASIC de lancement dépasse l'adresse $9000 et ne permet pas de charger le programme sdstream_music .bas. Il y a plusieurs solutions :

1) Utiliser le BASIC 128, qui intègre le DOS et n'occupe pas la RAM.
2) Enregistrer le programme Basic sur cassette (à partir de SDDRIVE). Redémarrer le TO7/70 sans SDDRIVE et charger avec la cassette.
3) Translater SDDRIVE_MUSIC pour qu'il se charge plus haut (en $9800).

J'ai testé cette troisième solution avec la dernière version de sddrive_music, qui joue à 50000 échantillons par seconde. Mais La Samba Triste a été codée à une fréquence plus basse et l'exécution est trop rapide. Je donne quand même la nouvelle version du fichier sdstream_music.bin accompagnée du programme Basic de lancement :
sdstream_music.zip
(734 octets) Téléchargé 47 fois

Pour simuler l'exécution avec dcmoto il faut suivre cette procédure :
Démarrer le TO7/70 avec l'option SDDRIVE et le fichier .sd contenant le programme, sans cocher SDSTREAM dans les périphériques amovibles.
Charger par LOAD le programme Basic de lancement (sans la première partie de sélection du fichier et sans l'exécuter).
Dans périphériques amovibles, décocher SDRIVE, cocher SDSTREAM et charger le fichier .sds de la démonstration.
En Basic taper RUN pour exécuter le programme de lancement.
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 »

Bon aller j'abandonne et arrête de vous faire perdre du temps à tous les deux, c'est futile :lol:

Ta solution ne donne rien de mieux sur mon vrai TO7/70 malheureusement... Sur SDMOTO j'ai appliqué à la lettre ta méthode pour d'abord charger le dos via mon fichier "thomas.sd" puis décocher SDDRIVE et cocher SDSTREAM en mettant le fichier "bamba-t.sds" et en copiant le bout de code de lancement via le presse papier. Avec le DOS en plus en mémoire, je m'attendais à reproduire le plantage obtenu sur mon TO7/70 mais que nenni, l'ancien comme le nouveau* fichier .sds tournent parfaitement sur l'émulateur!

J'utilise depuis le début une fréquence de 31250Hz c'est pour ça que ça tourne trop vite en 50000Hz. La raison de mon choix?
- Après avoir attentivement essayé de trouver une différence de rendu sonore sur ma TV entre les deux, impossible c'est identique (en même temps 31250 ça permet de restituer des fréquences jusqu'à 15kHz environ, peu d'oreilles sont vraiment sensibles au delà et le HP de ma TV ne monte clairement pas si haut).
- Je gagne pas mal en place aussi sachant que la seule carte dispo pour SDSTREAM chez moi (et qui fonctionne bien) est une 512Mo

*Je te mets mon fichier sds que j'ai modifié (juste un octet diffère dans la partie "music" 98 au lieu de 90) et qui passe à la bonne vitesse du coup:
http://tjjq.free.fr/thomson/bamba-t_mod.sds
Dernière modification par tjjq44 le 08 janv. 2022 21:38, modifié 1 fois.
tjjq44
Messages : 220
Inscription : 26 oct. 2016 13:40

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

Message par tjjq44 »

Oups j'ai peut-être zappé un détail... je retente un truc vite fait!
Répondre