1

Bonjour tout le monde,

Il y a bien longtemps maintenant (environ 11-13 ans) mon frère et moi avons écris quelques programmes pour Falon030 que nous n'avons jamais distribué.
A l'époque nous n'avions pas internet et ensuite nous sommes passés sur PC.
Au cas ou cela intéresserait quelqu'un, je vais les placer sur ce forum qui semble être assez populaire.

Voici tout d'abord un driver et un programme de test pour les cartes ScreenEye et ScreenEye+. Je sais bien qu'il doit y avoir peu de monde qui en possède une mais on ne sait jamais...

Le driver et le programme de test avec son code source:
tromb Fichier joint : ScreenEye.zip
Des librairies supplémentaires permettant de compiler les programmes:
tromb Fichier joint : Libraries.zip

Voici le fichier readme.txt associé:

Pilote et programme de test pour les cartes ScreenEye et ScreenEye+.

Copyright (c) 2007 Guillaume et Mathieu Legris.


Sommaire:

I. Introduction
II. Description des fichiers:
III. Utilisation du code source.
IV. Utilisation du driver.
V. Utilisation du programme de test.


I. Introduction

Ce projet comprend un pilote et un programme de test pour les cartes d'acquisition ScreenEye et ScreenEye+.


II. Description des fichiers:

-Documentations:
Documentation hardware.
*Lattice GAL20v8 data sheet.pdf:
Documentation du GAL (circuit logique générique programmable).
*Lucent ATT3000 FPGA data sheet.pdf:
Documentation du FPGA (circuit programmable).
La carte ScreenEye utilise le modèle ATT3020.
La carte ScreenEye+ utilise le modèle ATT3030.
Il est appelé LCA dans le driver.
*Phillips SAA9051 data sheet.pdf:
Documentation du circuit qui convertit le signal digital brut en image.
Il est appelé DMSD $235b (=9051) dans le driver.
Ce circuit est utilisé uniquement dans la carte ScreenEye originale.
*Phillips SAA7191B data sheet.pdf:
Documentation du circuit qui convertit le signal digital brut en image.
Il est appelé DMSD $1c17 (=7191) dans le driver.
Ce circuit est utilisé uniquement dans la carte ScreenEye+.
*Phillips SAA7197 data sheet.pdf:
Documentation du circuit qui détecte les signaux TV et fournit toutes les horloges associées.
*Phillips TDA8708A data sheet.pdf:
Documentation du circuit qui convertit un signal video analogique en signal numérique.
Il permet ausi de choisir entre 3 sources vidéo analogiques différentes.
Ce circuit ne convertit que la luminance (voir la documentation du DMSD page 23).
*Phillips TDA8709A data sheet.pdf:
Documentation du circuit qui convertit un signal video analogique en signal numérique.
Il permet ausi de choisir entre 3 sources vidéo analogiques différentes.
Ce circuit ne convertit que la chrominance (voir la documentation du DMSD page 23).

-Sources:
Le code source du driver et du programme de test.
-SEY_INC.S:
Déclarations diverses pour le driver.
-SEY_DRV.S:
Code source du driver.
-SCREENEYE.S:
Code source du programme de test.
-SEY_GEM.S:
Code source d'un programme de test sous GEM à peine commencé et qui n'a jamais été terminé.
-SCREENEY.RSC:
Fichier ressource du programme de test sous GEM.
-SEY_YUV.DAT:
Table de conversion YUV vers RGB.
-SEY_LCA.DAT:
Données pour programmer le FPGA.
-SEY_DMSD.DAT:
Données pour programmer le DMSD.

-Release:
Programmes compilés.
-SEY_DRV.PRG:
Driver à placer dans le dossier C:\AUTO ou à exécuter avant d'utiliser le programme de test.
-SCRENEYE.TOS:
Programme de test. Le driver doit avoir été exécuté avant.


III. Utilisation du code source.

Le code source a été écrit avec Assemble de Brainstorm.
Si vous souhaitez le compiler, il vous faudra probablement d'abord changer les différents chemins d'inclusions qui sont hardcodés.
Les librairies utilitaires utilisés par ces programmes sont fournies séparément.
Le driver a été écrit après retro-ingénierie du driver fournit avec la carte et bien avant que j'ai accès à Internet pour trouver les documentions des circuits.
Certains termes peuvent donc être incorrects.
Si vous souhaitez réécrire un nouveau driver, vous devriez utiliser la documentation hardware fournie.
La license utilisée est celle de BSD.


IV. Utilisation du driver.

Le driver SEY_DRV.PRG doit être placé dans le dossier AUTO du système ou alors exécuté avant d'utiliser le programme de test.
Ce driver installe un cookie "SEYD" qui permet aux autres programmes de le détecter et de l'utiliser.
Consultez le fichier source SEY_DRV.S pour plus de détails concernant l'utilisation du driver par un autre programme.


V. Utilisation du programme de test.

Le programme de test permet de jouer avec les différentes fonctionalités des cartes ScreenEye.
Ce programme peut utiliser soit le CPU du Falcon030 pour faire l'acquisition, soit le Blitter.
Le Blitter permet d'accélérer l'acquisition et d'effectuer des effets spéciaux.

Voici les différentes touches utilisables:
-'ESC': quitte le programme.
-'RETURN': debugage. Ne pas utiliser !
Cette touche est désactivée par défaut dans le code source.
-'S': sauve l'image actuelle au format TGA.
-'B': sauve l'image actuelle en noir et blanc avec tramage.
-'BACKSPACE': réinitialise le timer.
-'SPACE': pause ou play.
-'INSERT': active ou désactive le scrolling.
Utilisez la souris pour scroller.
-'HELP': affiche ou cache l'affichage du timer.
Cette fonctionalité n'a pas été implémentée.
-'X': active ou désactive l'utilisation du blitter (activée par défaut).
-'R': utilise une liste de rectangles pour l'affichage.
Cette fonctionalité n'a pas été implémentée.

*Parametres pour le son:
-'M' (clavier anglais) :
-'?' (clavier français) : active le son.
-'>': augmente le son.
-'<': diminue le son.

*Parametres pour l'affichage:
-'DELETE': efface l'écran.
-'TAB': active le déplacement de l'affichage.
Appuyez sur le bouton gauche de la souris pour sortir de ce mode.
Appuyez sur le bouton droit de la souris pour restaurer les valeurs initiales.
-'HOME': désactive l'affichage.
Cette fonctionalité sert avant tout pour la mesure de performance.
En désactivant l'affichage on peut calculer plus facilement les performances du blitter car le VIDEL n'utilise plus le bus.
-'7': place l'écran en résolution 384*144.
-'8': place l'écran en résolution 384*288.
-'9': place l'écran en résolution 768*144.
-'0': place l'écran en résolution 768*288.
-'°': place l'écran en résolution 768*576.

*Paramètres pour l'image:
-'LEFT': incrémente/décrémente (avec SHIFT) le nombre de pixels à sauter à gauche de l'image.
-'RIGHT': incrémente/décrémente (avec SHIFT) le nombre de pixels à sauter à droite de l'image.
-'UP': incrémente/décrémente (avec SHIFT) le nombre de pixels à sauter en haut de l'image.
-'DOWN': incrémente/décrémente (avec SHIFT) le nombre de pixels à sauter en bas de l'image.
-'1': sélectionne la capture RGB en résolution X/1 et Y/1 de l'image (768*288).
-'2': sélectionne la capture RGB en résolution X/2 et Y/1 de l'image (384*288).
-'3': sélectionne la capture RGB en résolution X/1 et Y/2 de l'image (768*144).
-'4': sélectionne la capture RGB en résolution X/3 et Y/2 de l'image (192*144).
-'5': sélectionne la capture YUV en résolution X/1 et Y/1 de l'image (768*288).
-'6': sélectionne la capture YUV en résolution X/2 et Y/1 de l'image (384*288).

*Paramètres pour les effets spéciaux avec le blitter:
-'-' (numpad): sélectionne l'effet précédent.
-'+' (numpad): sélectionne l'effet suivant.
-'N': active ou désactive l'effet "négatif".
-'D': active ou désactive l'effet "motion blur".
-'0' (numpad): désactive tous les effets.
-'1' (numpad): affiche seulement la composante rouge.
-'2' (numpad): affiche seulement la composante verte.
-'3' (numpad): affiche seulement la composante bleue.
-'.' (numpad): active ou désactive l'animation des composantes.
-'9' (numpad): active ou désactive l'effet "solarisation".

*Paramètres pour le signal vidéo:
-'F1': séléctionne l'entrée vidéo n°1 de la carte.
-'F2': séléctionne l'entrée vidéo n°2 de la carte.
-'F3': séléctionne l'entrée vidéo n°3 de la carte.
-'F4': séléctionne la norme PAL.
-'F5': séléctionne la norme SECAM.
-'F6': séléctionne la norme NTSC.
-'F7': séléctionne le signal VHS
-'F8': séléctionne le signal SVHS.
-'F9': séléctionne le signal BAS.

2

Je posterai un peu plus tard un petit synthétiseur vocal ainsi qu'un logiciel d'analyse de spectre. Le logiciel d'analyse servait principalement à analyser les voix générées.

A+

3

Bienvenue sur yaronet Thenesis !

J'attend avec impatience ton synthétiseur vocal ! wink

4

Merci d'avoir fait profiter tout le monde de celà, c'est sympa à toi smile

5

ScreenEye c'est du collector ça

bienvenus et merci de nous faire profiter de votre travail
avatar
La Neo Geo CD à son site (en tout cas elle essaye...): http://neogeocdworld.info/
Le forum de la Neo Geo sur Yaronet: forums/264

Un petit site sur l'Atari Falcon avec plein de trucs bon pour votre poussin: http://falcon.ti-fr.com/

6

Salut et merci d'avoir posté tout ceci, c'est très sympa !

Tu n'aurais pas un site perso pour y mettre les archives ? Je ne sais pas si elles seront toujours téléchargeables depuis Yaronet.
avatar
Site perso : http://strider.untergrund.net/
Atari STF / STe / Mega STE / Falcon030 / Falcon CT60

7

Bienvenue sur le forum et merci de mettre en libre téléchargement votre travail, sympa smile

8

Salut tout le monde,

Je poste le synthétiseur vocal et le logiciel d'analyse en espérant qu'ils fonctionneront sans trop de problèmes chez vous. Je me suis aperçu que j'avais commencé de nouvelles versions de ces programmes il y a longtemps mais que je ne les avais jamais terminées. Le problème c'est que je n'ai plus les versions précédentes. J'ai donc dû remettre le nez dans le code source pour remettre le tout en état de marche mais je crains qu'il y ait des bugs qui n'existaient pas dans la version précédente. Si vous avez des problèmes n'hésitez pas à me demander.

Ce synthétiseur vocal est une réécriture après retro-ingénierie d'un vieux synthétiseur vocal pour le ST qui date de 1986 environ. J'ai passé un temps incalculable lorsque j'avais 16-17 ans à comprendre comment il fonctionnait à partir du code désassemblé. Après quelque temps j'ai réussi à avoir accès à quelques documentations scientifiques sur la synthèse vocale grâce à mon frère qui était alors à l'université. Cela m'a aidé à comprendre le fonctionnement du programme et à le réécrire intégralement. Il n'y a que les tables qui ont été conservées, quoique que légèrement modifiées dans certains cas.

Il s'agit d'un synthétiseur à formants (comme Klatt mais en plus simple), c'est-à-dire que la voix est synthétisée en modélisant physiquement le système vocal humain, par opposition aux synthétiseur à concaténation (comme Festival) qui se contentent de placer des échantillons les uns au bout des autres avec quelques transformations. L'avantage des synthétiseurs à formants c'est qu'ils utilisent très peu de mémoire et qu'ils sont très fléxibles. De nombreuses voix sont possibles en modifiant quelques paramètres. Les synthétiseurs à concaténation sont les plus courants aujourd'hui parce qu'ils produisent une voix généralement plus réaliste. Le problème c'est qu'ils demandent une grande quantité de travail pour fabriquer une voix et consomme beaucoup de mémoire par rapport à un synthétiseur à formants. Dans le cas de ce synthétiseur, la modélisation est rudimentaire mais suffisante pour obtenir une voix compréhensible.

La synthèse est effectuée en anglais mais on pourrait aussi la faire en français en ajoutant des tables de transcription phonétique. Cependant je ne ferai pas avec cette version. Je pense plutôt que je vais peut-être d'abord le réécrire en Java (parce qu'il est très rapide de développer en Java) et peut-être ensuite en C. De là quelqu'un pourra éventuellement l'optimiser pour un ordinateur Atari. Aujourd'hui les compilateurs C sont efficaces et il y a aura peu de travail à faire pour que ça tourne vite sur un Atari. Il faudra probablement juste une petite routine en assembleur de 100 à 200 lignes. Avec le DSP, on pourrait faire de la synthèse en temps réel sans problème : je pense qu'ils ne seraient pas utiliser à plus de 25-30 % au maximum. Le problème c'est que j'utilise beaucoup de multiplications et que tous les calculs sont actuellement effectués sur le 68030 qui n'aime justement pas beaucoup les multiplications (24 cycles si mes souvenirs sont bons) alors que le DSP lui les adore (2 cycles) smile

D'autre part il y a aussi un logiciel d'analyse. On peut aussi synthétiser des voix avec, mais en plus on peut les observer (signal et spectre). Je n'ai pas encore écris de documentation pour le programme d'analyse mais si vous ne comprenez pas comment cela fonctionne, demandez-moi. Ce programme est écris en GFA BASIC mais il utilise aussi des routines assembleur 68030 et DSP56001 pour l'affichage et le calcul du spectre. Vous devez vous placer en résolution monochrome 640*400 ou 640*480 pour l'utiliser (désolé).

Le synthétiseur vocal et le programme de test avec le code source:
tromb Fichier joint : VOX.zip
Le programme d'analyse:
tromb Fichier joint : ANALYSIS.zip
Les librairies utilitaires pour compiler (les memes que pour ScreenEye en fait):
tromb Fichier joint : COMMON.zip

Voilà !

A+

9

On va regarder ça, merci, c'est sympa la démarche, ça vaut le coup d'être noté smile

Kochise
avatar
Si Dieu m'a de nouveau fait homme, cette fois il m'a pas raté : marcher sur l'eau et dupliquer les pains, ça marche p'us :/

10

Kochise (./9) :
On va regarder ça, merci, c'est sympa la démarche, ça vaut le coup d'être noté smile

Kochise


Merci de vous intéresser à ce que j'ai fais.

Le véritable intéret du synthétiseur vocal serait de l'utiliser dans une application mieux conçue que les programmes de test que j'ai fourni (qui doivent être bourrés de bugs, ce qui est nettement moins le cas du synthétiseur seul je pense). Avec une application GEM propre par exemple plutôt qu'un programme GFA inutilement compliqué et pas portable sur les différentes versions de Falcon. Utiliser le synthétiseur en C est l'affaire de quelques dizaines de lignes alors si quelqu'un a le temps, les outils, la volonté et l'intéret (ça fait beaucoup je sais) pour écrire ce genre de programme, cela donnerait sûrement plus d'intéret à ce que j'ai fais. Cela restera toujours un gadget je pense, mais ce serait mieux si c'était un gadget qui serve à quelqu'un de temps en temps...

Si vous voulez utiliser le synthétiseur dans vos applications, n'hésitez pas. Et si vous rencontrez un problème, n'hésitez pas non plus à me demander de l'aide ou de corriger un bug.

A+

11

Hello,

Quelqu'un aurait il gardé les zip mis en pièce jointe de ce thread ?

Laurent

12

2007 !!!!!
10 ans déjà!!!
avatar
Atari et GemTos convention
https://gemtos.jimdofree.com/