TUTO: programmation du [ EF-9345 ] ALICE/VG/MINITEL
Modérateurs : Papy.G, fneck, Carl
- Papy.G
- Modérateur
- Messages : 3051
- Inscription : 10 juin 2014 13:40
- Localisation : Haute-Garonne/Gers
Re: TUTO: programmation du [ EF-9345 ] ALICE/VG/MINITEL
C'est en R7 que tu indique la colonne adressée, R6 pointe la ligne et une partie de l'adresse de bloc.
Pour R6, le bit de valeur 32 est celui qui va pointer vers le bloc 4 (D0=Z3 de l'adresse de bloc, selon la doc de l'EF9345)
Pour R6, le bit de valeur 32 est celui qui va pointer vers le bloc 4 (D0=Z3 de l'adresse de bloc, selon la doc de l'EF9345)
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.
Demandez-en plus, ou faites-le vous-même.
Re: TUTO: programmation du [ EF-9345 ] ALICE/VG/MINITEL
Tu veux utiliser les commandes longues par rapport à certaines fonctionnalités ?
Re: TUTO: programmation du [ EF-9345 ] ALICE/VG/MINITEL
J'utilise les commandes longues car ce sont elles qui sont utilsées dans le livre Les astuces d'Alice
Pas de raison particulière à part ca....
Pas de raison particulière à part ca....
Re: TUTO: programmation du [ EF-9345 ] ALICE/VG/MINITEL
Exact. J'ai inversé R6 et R7. Sinon, dans les astuces d'Alice, il ne parlait pas des bits de poids haut de R6 pour changer de blocs....Papy.G a écrit :C'est en R7 que tu indique la colonne adressée, R6 pointe la ligne et une partie de l'adresse de bloc.
Pour R6, le bit de valeur 32 est celui qui va pointer vers le bloc 4 (D0=Z3 de l'adresse de bloc, selon la doc de l'EF9345)
C'est ca qui me confusait. En plus faut avouer que dans la doc de Thomson, l'info est bien cachèe
Re: TUTO: programmation du [ EF-9345 ] ALICE/VG/MINITEL
Personnellement j'utilise que les commandes courtes et ca fonctionne très bien.
Après chacun pratique l'EF-9345 comme il veux
En faite avec ce VDP je pense que le plus dur est de bien comprendre le système de bloc et après le reste parait très clair
Après chacun pratique l'EF-9345 comme il veux
En faite avec ce VDP je pense que le plus dur est de bien comprendre le système de bloc et après le reste parait très clair
- Papy.G
- Modérateur
- Messages : 3051
- Inscription : 10 juin 2014 13:40
- Localisation : Haute-Garonne/Gers
Re: TUTO: programmation du [ EF-9345 ] ALICE/VG/MINITEL
Salut, je remonte ce topic car je commence à coder un truc pour tâter le minitel, (Je me suis fait un programmeur d'EEproms avec un breadboard et des bouts de fil.), et j'ai des questions concernant l'init du VDP.
Je ne vois nulle part de détails, je vais vous sembler bête, mais le 9345 ne peut afficher que 20+1l en 60Hz, et 24+1 en 50Hz, ce sont respectivement les modes 312 et 362 lignes, on ne peut donc pas afficher 24+1l en 60 Hz, ni 20+1l en 50Hz (sauf à changer la fréquence du quartz).
Comment fonctionne ce bit 2 de R0 en lecture, le status Vsync?
Est-il à un ou à zéro pendant le Vblanking?
VSM et VRM permettent bien simplement d'activer cette fonction du bit d'état précité?
En fait, je veux attendre la fin de scan, pour envoyer une quantité donnée d'octets entre balayages, sans avoir à subir les tempos de lectures mémoires de l'affichage et me simplifier le codage côté µC.
Par ailleurs, suite aux sujets sur le son 1bit que j'ai suivi avec le plus grand intérêt, j'ai cherché, et j'ai cru voir que l'on peut activer l'insertion pendant le Bulk, mais aussi pendant les blankings.
Quel rapport, me direz-vous? Eh bien le buzzer sur le M1b étant câblé sur la broche I du 9345, et je désepérais ne pouvoir rien en sortir de bon s'il avait du subir systématiquement un battement de 50Hz, ce qui n'est à priori pas le cas!
Elvis, fais chauffer tes foutues godasses bleues!
Je ne vois nulle part de détails, je vais vous sembler bête, mais le 9345 ne peut afficher que 20+1l en 60Hz, et 24+1 en 50Hz, ce sont respectivement les modes 312 et 362 lignes, on ne peut donc pas afficher 24+1l en 60 Hz, ni 20+1l en 50Hz (sauf à changer la fréquence du quartz).
Comment fonctionne ce bit 2 de R0 en lecture, le status Vsync?
Est-il à un ou à zéro pendant le Vblanking?
VSM et VRM permettent bien simplement d'activer cette fonction du bit d'état précité?
En fait, je veux attendre la fin de scan, pour envoyer une quantité donnée d'octets entre balayages, sans avoir à subir les tempos de lectures mémoires de l'affichage et me simplifier le codage côté µC.
Par ailleurs, suite aux sujets sur le son 1bit que j'ai suivi avec le plus grand intérêt, j'ai cherché, et j'ai cru voir que l'on peut activer l'insertion pendant le Bulk, mais aussi pendant les blankings.
Quel rapport, me direz-vous? Eh bien le buzzer sur le M1b étant câblé sur la broche I du 9345, et je désepérais ne pouvoir rien en sortir de bon s'il avait du subir systématiquement un battement de 50Hz, ce qui n'est à priori pas le cas!
Elvis, fais chauffer tes foutues godasses bleues!
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.
Demandez-en plus, ou faites-le vous-même.
Re: TUTO: programmation du [ EF-9345 ] ALICE/VG/MINITEL
La j'ai pas les réponses avec moi.
Qu'est ce qu'ils disent dans le datasheet au sujet de Vsync ?
Qu'est ce qu'ils disent dans le datasheet au sujet de Vsync ?
Dernière modification par 6502man le 29 janv. 2015 17:59, modifié 1 fois.
Re: TUTO: programmation du [ EF-9345 ] ALICE/VG/MINITEL
VRM and VSM respectively reset and set a vertical synchronization status mask. When the mask is set, status bit S2 remains at 0. When the mask is reset, status S2 follows the vertical sync. state : it is reset for 2 TV lines per frame and stays at 1 during the remaining period. It becomes readable by the microprocessor form the status register. After power on, the mask state is undetermined.
Patrick
Re: TUTO: programmation du [ EF-9345 ] ALICE/VG/MINITEL
Le livre "Les Mystères d'Alice" dit exactement la même chose. Ce fameux bit VS est à 0 pendant 2 lignes du VBL, et à 1 pendant le reste du temps (sauf s'il est masqué par une commande VSM). Sous-entendu : il n'est pas à 0 pendant tout le VBL, mais uniquement pendant la durée de 2 lignes.
J'ai consulté la datasheet de l'EF9345 sur le site http://alice32.free.fr/ . Le schéma de la page 9/38 donne la position exacte du signal VS par rapport au début et à la fin du VBL : 3 lignes après le début et 23 lignes avant la fin en non entrelacé.
J'ai consulté la datasheet de l'EF9345 sur le site http://alice32.free.fr/ . Le schéma de la page 9/38 donne la position exacte du signal VS par rapport au début et à la fin du VBL : 3 lignes après le début et 23 lignes avant la fin en non entrelacé.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
- Papy.G
- Modérateur
- Messages : 3051
- Inscription : 10 juin 2014 13:40
- Localisation : Haute-Garonne/Gers
Re: TUTO: programmation du [ EF-9345 ] ALICE/VG/MINITEL
Merci les gars, je pensais que Vs, comme HVS, faisait référence à une des broches de synchro selon la configuration HV/Sync.
Ce Timing ne m'arrange pas tellement, mais je devrais arriver à envoyer les paramètres et une ligne en 2496µs, pour commencer.
Si je fais mes envois à ce moment-là, et que je prends garde à respecter la durée de réalisation des différentes commandes, je n'ai pas besoin de tester le Busy?
Ce Timing ne m'arrange pas tellement, mais je devrais arriver à envoyer les paramètres et une ligne en 2496µs, pour commencer.
Si je fais mes envois à ce moment-là, et que je prends garde à respecter la durée de réalisation des différentes commandes, je n'ai pas besoin de tester le Busy?
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.
Demandez-en plus, ou faites-le vous-même.
Re: TUTO: programmation du [ EF-9345 ] ALICE/VG/MINITEL
Si tu est sur de ton timing entre chaque envoi de commande, le BUSY n'est pas nécessaire mais ca va être serré
Pourquoi choisi tu ce moment précis pour envoyer les données au VDP ?
Ne pourrais tu pas envoyer simplement les données à n'importe quel moment, pour dans un premier temps valider l'accès au VDP par ton programme ?
Pourquoi choisi tu ce moment précis pour envoyer les données au VDP ?
Ne pourrais tu pas envoyer simplement les données à n'importe quel moment, pour dans un premier temps valider l'accès au VDP par ton programme ?
- Papy.G
- Modérateur
- Messages : 3051
- Inscription : 10 juin 2014 13:40
- Localisation : Haute-Garonne/Gers
Re: TUTO: programmation du [ EF-9345 ] ALICE/VG/MINITEL
Parce-que c'est à ce moment-là que le VDP est le moins susceptible de délayer, voire dumper, les commandes/données que je lui envoie.
Faut que je vérifie aussi sur la CM le câblage des broches de synchro/composite, pour configurer correctement.
Faut que je vérifie aussi sur la CM le câblage des broches de synchro/composite, pour configurer correctement.
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.
Demandez-en plus, ou faites-le vous-même.
Re: TUTO: programmation du [ EF-9345 ] ALICE/VG/MINITEL
Okay je comprend mieux, mais c'est étrange qu'il n'ai pas prévu une autre solution, car quand il faut remplir entièrement l'écran cela va demander plus de µs, et le délai ne le permet pas !!!
EDIT: en faite si je pense qu'il devait dans ce cas envoyer qu'une ligne par VBL (supposition) !
EDIT: en faite si je pense qu'il devait dans ce cas envoyer qu'une ligne par VBL (supposition) !
- Papy.G
- Modérateur
- Messages : 3051
- Inscription : 10 juin 2014 13:40
- Localisation : Haute-Garonne/Gers
Re: TUTO: programmation du [ EF-9345 ] ALICE/VG/MINITEL
PC/VS non câblé, c'est donc composite sync, j'aurais dû parier.
Je pense qu'on doit arriver à remplir un écran entre ce temps dispo et celui pendant les scans (page de moins de 1,5ko, à la louche, cependant)
Je n'ai pas avancé dans la décompilation, mais je ne pense pas qu'ils se contentent d'une ligne par vbl dans la rom d'origine, bien que cela ne se serait probablement pas vu.
Edit: Il y a une erreur dans la doc, d'où ma confusion passée sur VS et VSM/VRM:
P34: R0 S2: Gives the vertical synchronization signal state, This is maskable by the VRM command.
Il faut lire: maskable by the VSM command.
Je pense qu'on doit arriver à remplir un écran entre ce temps dispo et celui pendant les scans (page de moins de 1,5ko, à la louche, cependant)
Je n'ai pas avancé dans la décompilation, mais je ne pense pas qu'ils se contentent d'une ligne par vbl dans la rom d'origine, bien que cela ne se serait probablement pas vu.
Edit: Il y a une erreur dans la doc, d'où ma confusion passée sur VS et VSM/VRM:
P34: R0 S2: Gives the vertical synchronization signal state, This is maskable by the VRM command.
Il faut lire: maskable by the VSM command.
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.
Demandez-en plus, ou faites-le vous-même.
- Papy.G
- Modérateur
- Messages : 3051
- Inscription : 10 juin 2014 13:40
- Localisation : Haute-Garonne/Gers
Re: TUTO: programmation du [ EF-9345 ] ALICE/VG/MINITEL
Bonsoir, étant encore en réflexions sur les modes de fonctionnement de ce passionnant composant, et le moyen de lui faire sortir des trucs spectaculaires, j'ai une petite question pour les gourous du 9345:
Lorsque l'on active, via le registre MAT, le mode double hauteur (pour tout l'écran, donc) n'affiche-t'on alors que les douze premières lignes de la page-écran? Du coup, a-t'on un vrai double hauteur avec toutes les lignes doublées, contrairement au double hauteur en attribut de caractère (qui décale les lignes, et ne double donc pas la dernière)?
En fait, le but, c'est pour faire un scrolling horizontal en mode quadrichromie en 160x120, si l'on n'utilise que quatre couleurs pour tout l'écran, on n'a pas à bouger les attributs, et si en plus, on n'a plus que douze lignes à scroller, au lieu de vingt-quatre, c'est encore mieux (au lieu d'utiliser les quad en basse résolution, on laisse en normal, mais on double la hauteur dans l'attribut de page).
Lorsque l'on active, via le registre MAT, le mode double hauteur (pour tout l'écran, donc) n'affiche-t'on alors que les douze premières lignes de la page-écran? Du coup, a-t'on un vrai double hauteur avec toutes les lignes doublées, contrairement au double hauteur en attribut de caractère (qui décale les lignes, et ne double donc pas la dernière)?
En fait, le but, c'est pour faire un scrolling horizontal en mode quadrichromie en 160x120, si l'on n'utilise que quatre couleurs pour tout l'écran, on n'a pas à bouger les attributs, et si en plus, on n'a plus que douze lignes à scroller, au lieu de vingt-quatre, c'est encore mieux (au lieu d'utiliser les quad en basse résolution, on laisse en normal, mais on double la hauteur dans l'attribut de page).
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.
Demandez-en plus, ou faites-le vous-même.