[Thomson] SDSTREAM

Placez ici vos trucs et astuces, étalez sans retenue votre savoir-faire et votre science qui va nous permettre de redonner une apparence neuve et fonctionnelle à nos bouzes.

Modérateurs : Papy.G, fneck, Carl

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

[Thomson] SDSTREAM

Message par Daniel »

SDSTREAM est un nouveau périphérique pour tous les ordinateurs 8 bits Thomson.
Il permet de lire séquentiellement une carte SD à la même vitesse que la RAM (250 Ko par seconde).
C'est le dispositif idéal pour charger rapidement des programmes, par exemple l'Aigle d'Or sur MO5 en deux secondes.
C'est aussi le meilleur outil possible pour la musique ou la vidéo en streaming.
http://dcmoto.free.fr/bricolage/sdstream/index.html

sdstream_00.jpg
sdstream_00.jpg (93.84 Kio) Consulté 8494 fois
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Falkor
Messages : 1701
Inscription : 28 juin 2010 12:09
Localisation : Cluny, Saône et Loire

Re: [Thomson] SDSTREAM

Message par Falkor »

Excellent !

Pas mal aussi l'idée d'utiliser un support ZIF pour connecter la arduino dans ton prototype... C'est jamais facile à insérer ces bêtes la...
Brochiman
Messages : 3406
Inscription : 02 juin 2019 11:26
Localisation : Angers

Re: [Thomson] SDSTREAM

Message par Brochiman »

Bravo Daniel :) et merci encore
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] SDSTREAM

Message par Daniel »

@Falkor : Le support ZIF est, effectivement, très pratique pour les tests. Dans la version définitive l'Arduino est soudé, mais le connecteur pour la programmation reste accessible, on peut donc mettre à jour le logiciel sans difficulté.
Daniel
L'obstacle augmente mon ardeur.
jasz
Messages : 1313
Inscription : 05 oct. 2016 20:05
Localisation : Quelque part dans le 31

Re: [Thomson] SDSTREAM

Message par jasz »

Super! 8)
Est ce que ce nouvel outil remplace SDdrive et fonctionne sur TO9+?
Avatar de l’utilisateur
Silou78
Messages : 382
Inscription : 11 févr. 2017 14:54
Localisation : Yvelines (78)

Re: [Thomson] SDSTREAM

Message par Silou78 »

Bravo et félicitations pour l'aboutissement de ce projet ! 8)
Sylvain
Avatar de l’utilisateur
hlide
Messages : 3469
Inscription : 29 nov. 2017 10:23

Re: [Thomson] SDSTREAM

Message par hlide »

jasz a écrit : 21 mai 2020 10:09 Est ce que ce nouvel outil remplace SDdrive et fonctionne sur TO9+?
Pas sûr. De ce que je comprends, il permet de faire deux choses :
- lire un flux de son ou vidéo via un programme externe (lu par un autre périphérique : lecteur de cassette, floppy disk, sddrive, etc.)
- lire une image mémoire d'un programme (plus souvent un jeu j'imagine) toujours via un programme externe pour l'exécuter ensuite.

Dans tous les cas, il faut un programme externe pour :
- lancer la sélection du flux
- lire un flux de son ou vidéo
- lire une image mémoire et le lancer

La création de l'image se faisant avec l'émulateur j'imagine.

Ceci dit, ça peut m'intéresser au moins pour le MO6 mais j'aurais toujours la question épineuse des programmes externes.
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] SDSTREAM

Message par Daniel »

hlide a écrit : 21 mai 2020 10:30 Ceci dit, ça peut m'intéresser au moins pour le MO6 mais j'aurais toujours la question épineuse des programmes externes.
Justement, SDSTREAM est l'outil idéal pour charger des programmes sur MO6. Sur la photo j'ai utilisé un MO5, mais c'est pareil avec un MO6.

sdstream_chargement_01.jpg
sdstream_chargement_01.jpg (60.67 Kio) Consulté 8458 fois

Pour répondre à jasz : SDSTREAM ne simule pas un contrôleur et un lecteur de disquette comme SDDRIVE. Ce sont deux outils très différents. SDSTREAM peut être utilisé en complément de SDDRIVE ou de SDDISK, comme le montre la photo ci-dessus.
SDSTREAM est compatible avec tous les ordinateurs 8 bits Thomson, sans exception.

hlide a écrit :Dans tous les cas, il faut un programme externe pour :
- lancer la sélection du flux
- lire un flux de son ou vidéo
- lire une image mémoire et le lancer
Pour minimiser la taille du programme externe, le programme principal (qui lit la musique, ou la video, ou le programme à charger en mémoire) est lui-même stocké dans un fichier de la carte SD. Si bien que le programme externe n'est qu'un petit "bootstrap loader". A la limite il peut être saisi au clavier. Il est quand même plus pratique de le charger à partir d'une cassette, d'une disquette ou de SDDRIVE.

Exemple :

Code : Tout sélectionner

0 REM CHARGEMENT MO6 OU PC128
1 CLEAR10,&H5CFF:A=&H5D00
2 CLS:LOCATE0,0,0:SCREEN7,0,0
3 READX$:IFX$="**"THENEXEC&H5D00:END
4 POKEA,VAL("&H"+X$):A=A+1:GOTO3
5 DATA34,19,1F,B8,8B,86,1F,8B,1A,50,96
6 DATAFF,81,FE,26,FA,CE,5E,00,8E,02,00
7 DATA3D,96,FF,A7,C0,30,1F,26,F7,35,19
8 DATA7E,5E,00,**
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
hlide
Messages : 3469
Inscription : 29 nov. 2017 10:23

Re: [Thomson] SDSTREAM

Message par hlide »

Oui certes, le lecteur de cassette de mon MO6 est fonctionnel mais voilà, j'eusses préféré un moyen plus fiable, non mécanique pour ne pas en être dépendant.

Questions techniques :

1) l'accès lecture au port de donnée semble uniquement prise en compte. Y avait-il des raisons de ne pas considérer l'écriture ? c'est plus dans la perspective d'un deux temps : un programme de sélection qui naviguerait par commandes envoyé à l'Arduino. Une fois la sélection, c'est le lancement du flux comme c'est fait actuellement. Question innocente.

2) Serait-il possible de permettre l'envoi du lanceur associé du flux sélectionné (genre même nom distingué par leur extension) en premier qui sera exécuté pour permettre ensuite à ce dernier de lire le flux associé ? cela suppose que le programme de sélection sache sur quelle machine il est pour pouvoir charger le lanceur à la bonne adresse. Deux programmes externes pour lancer un flux - sachant que le deuxième dépendra de la machine et du type de flux, ça me semble assez dissuasif.
jasz
Messages : 1313
Inscription : 05 oct. 2016 20:05
Localisation : Quelque part dans le 31

Re: [Thomson] SDSTREAM

Message par jasz »

D'après ce que j'ai compris SDSTREAM ne simule aucun lecteur.

Mais la question vaut la peine d'être posée. En gros, peux t-on implanter le selector et les lauchers dans une eprom utilisable par Arduino? Pas sûr car il faudra toujours passer par une source externe :roll:
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [Thomson] SDSTREAM

Message par Daniel »

1) L'accès en lecture/écriture à une carte SD au moyen d'un Arduino était l'objectif du projet ARDDRIVE, évoqué dans un autre fil de discussion. ARDDRIVE ayant échoué, je me suis orienté vers le projet SDSTREAM, plus simple puisqu'il ne fonctionne qu'en lecture. Après avoir réussi la lecture, fort de l'expérience acquise, j'ai fait à nouveau des essais de lecture/écriture. Je n'y suis pas parvenu.

2) Tous les programmes des applications actuelles (musique, vidéo, chargement de programme) sont stockés avant les données, dans le même fichier. Les deux premiers fonctionnent indifféremment sur TO et sur MO. Le programme de lancement est à peu près le même pour toutes les applications. Par exemple c'est le même pour la musique et pour la vidéo. Pour le chargement de programmes, il y a des différences d'une machine à l'autre, mais seuls trois paramètres changent : l'adresse de chargement, le nombre de secteurs chargés et l'adresse d'exécution.

Notez que la vitesse de 250 Ko/seconde est la vitesse maximum d'acquisition d'un octet par le 6809 à 1MHz. On ne pourra jamais faire mieux en 8 bits. En 16 bits on peut atteindre théoriquement 400 Ko/seconde, mais c'est impossible avec un Arduino Pro Mini.

@jasz : Les programmes de sélection et de lancement pourraient facilement être mis dans une cartouche MEMO5 ou MEMO7, mais ça me paraît plus compliqué qu'un programme Basic de 8 lignes. Pour éviter les supports magnétiques, on peut aussi utiliser SDDISK, ou SDDRIVE, ou SDLEP-READER TFT pour charger le programme de boot.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [Thomson] SDSTREAM

Message par 6502man »

Félicitations Daniel :D

250 ko/s ca fait rêver :wink:
Phil.

www.6502man.com

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

Re: [Thomson] SDSTREAM

Message par Daniel »

C'est comme la vitesse de la lumière : il est sûr qu'on ne pourra pas aller plus vite avec un 6809 à 1MHz :D
Pour faire mieux il faut changer le processeur : avec un 6309 on peut atteindre 333 Ko/s
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: [Thomson] SDSTREAM

Message par __sam__ »

En fait la vitesse maxi de lecture/écriture est de 9 octets en 14 cycles, soit 628ko/sec avec l'instruction PULS, bien évidemment ;) Mais il faudrait avoir les 9 octets accessibles à des adresses consécutives. Bref c'est hors de propos pour le stream octet par octet.
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] SDSTREAM

Message par Daniel »

Sans aller jusqu'à 72 bits, on peut déjà faire mieux avec 16 bits : 400 Ko/seconde avec un LDD.
C'est difficile avec un Arduino Pro Mini à base d'ATMega168 ou 328, par contre je l'ai déjà fait avec une carte CompactFlash.
C'est du faux 16 bits car le LDD lit deux fois huit bits en une seule instruction.
Daniel
L'obstacle augmente mon ardeur.
Répondre