[Thomson] SDSTREAM
Modérateurs : Papy.G, fneck, Carl
[Thomson] SDSTREAM
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
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
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: [Thomson] SDSTREAM
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...
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...
Re: [Thomson] SDSTREAM
Bravo Daniel et merci encore
Re: [Thomson] SDSTREAM
@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.
L'obstacle augmente mon ardeur.
Re: [Thomson] SDSTREAM
Super!
Est ce que ce nouvel outil remplace SDdrive et fonctionne sur TO9+?
Est ce que ce nouvel outil remplace SDdrive et fonctionne sur TO9+?
Re: [Thomson] SDSTREAM
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.
Re: [Thomson] SDSTREAM
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.
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.
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.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
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.
L'obstacle augmente mon ardeur.
Re: [Thomson] SDSTREAM
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.
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.
Re: [Thomson] SDSTREAM
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
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
Re: [Thomson] SDSTREAM
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.
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.
L'obstacle augmente mon ardeur.
Re: [Thomson] SDSTREAM
Félicitations Daniel
250 ko/s ca fait rêver
250 ko/s ca fait rêver
Re: [Thomson] SDSTREAM
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
Pour faire mieux il faut changer le processeur : avec un 6309 on peut atteindre 333 Ko/s
Pour faire mieux il faut changer le processeur : avec un 6309 on peut atteindre 333 Ko/s
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
-
- Messages : 7988
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: [Thomson] SDSTREAM
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
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Re: [Thomson] SDSTREAM
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.
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.
L'obstacle augmente mon ardeur.