TAVERNIER 6809

C'est la catégorie reine de l'ordinophile, 8 bits et pas un de plus!
Single board ou bus S-100 acceptés.

Modérateurs : Papy.G, fneck, Carl

Avatar de l’utilisateur
pascalien
Messages : 965
Inscription : 21 janv. 2019 23:40
Localisation : 93200 ST DENIS
Contact :

Re: TAVERNIER 6809

Message par pascalien »

Notator
Messages : 1286
Inscription : 09 août 2015 20:13

Re: TAVERNIER 6809

Message par Notator »

michel guyot a écrit : 05 juin 2023 11:08 Mais ce que je cherche à éclaircir, ce sont les capacités réelles d'affichage en terme de résolution du CRTC MC6845.
En haute résolution, Christian Tavernier indique 512 x 256 pour la carte AGC09, et il ajoute qu'elle peut faire au moins 20 ou 24 lignes de 80 caractères (H-P n°1709 page 83).

Par ailleurs, sur la datasheet du MC6845, il y a page 17 à 22 d'intéressantes formules pour calculer les performances possibles à obtenir en fonction des divers paramètres du montage à réaliser :

http://bitsavers.trailing-edge.com/comp ... s/6845.pdf
Notator est le nom d'un programme séquenceur Midi et notation musicale pour Atari ST(e) (puis Mac).
Avatar de l’utilisateur
wawa.voun
Messages : 526
Inscription : 20 avr. 2020 18:09
Localisation : Lautenbach-Zell yoooo

Re: TAVERNIER 6809

Message par wawa.voun »

Voilà. Le fichier excel est ci joint.

Cordialement.
Philippe
Pièces jointes
6845.zip
(2.77 Kio) Téléchargé 37 fois
Someday I'll get you, Red Baron !
Avatar de l’utilisateur
michel guyot
Messages : 612
Inscription : 20 mars 2016 16:01
Localisation : Pyrénées orientales

Re: TAVERNIER 6809

Message par michel guyot »

Bonjour à tous

Voici un premier tracé réalisé avec la carte AGC09...

Pour l'instant, la résolution est de 512 points x 256 lignes
Le mode d'affichage s'obtient avec des blocs de 8x4 ( soit 64 blocs en H et 64 blocs en V)

En attendant de trouver mieux, j'ai un peu examiné ce que pourrait être le coeur du driver
C'est à dire , à partir des coordonnées x,y de l'écran définir l'adresse et la valeur de l'octet à écrire en RAM

Un algorithme de tracé de cercle permet de solliciter la routine

Voilà pour l'instant
A plus
Michel
2023-06-07 - CERCLE.JPG
2023-06-07 - CERCLE.JPG (204.98 Kio) Consulté 3305 fois
Avatar de l’utilisateur
michel guyot
Messages : 612
Inscription : 20 mars 2016 16:01
Localisation : Pyrénées orientales

Re: TAVERNIER 6809

Message par michel guyot »

Bonjour à tous

J'ai remanié le jeu de caractères graphiques et le mode d'affichage pour améliorer la résolution du dessin.

La résolution de l'écran est toujours de 512 x 256
Le mode d'affichage s'obtient toujours avec des blocs de 8 x 4

La structure des blocs est la suivante :

00 00 00 00
00 00 00 00
00 00 00 11
00 00 00 11
Code $01

00 00 00 00
00 00 00 00
00 00 11 11
00 00 11 11
Code $03

11 00 00 00
11 00 00 00
00 00 00 00
00 00 00 00
Code $80

L'écriture d'un bloc à une adresse tenant compte de l'état existant, la résolution apparente est améliorée
puisque l'écriture d'un octet permet d'intervenir sur des groupes de pixels de 2 x 2

Cette fois , le tracé de cercle est plus sympa !

A plus
Michel
2023-06-10 - Cercle_a.JPG
2023-06-10 - Cercle_a.JPG (232.85 Kio) Consulté 3239 fois
2023-06-10 - Cercle_b.JPG
2023-06-10 - Cercle_b.JPG (228.53 Kio) Consulté 3239 fois
Dernière modification par michel guyot le 11 juin 2023 11:35, modifié 1 fois.
sporniket
Messages : 242
Inscription : 22 mars 2022 20:23
Localisation : Pas trop loin au sud de Paris

Re: TAVERNIER 6809

Message par sporniket »

L'amélioration est manifeste, bravo.
Avatar de l’utilisateur
michel guyot
Messages : 612
Inscription : 20 mars 2016 16:01
Localisation : Pyrénées orientales

Re: TAVERNIER 6809

Message par michel guyot »

Bonjour à tous

Pour la carte AGC09, je poursuis l'adaptation du driver utilisé avec mes précédentes cartes et sur le MicroBoxII

Si la carte ELEKTOR travaille avec un processeur EF9367, la carte MSX avec un V9938, la carte MBII un NEC PD7220, ici la situation s'est un peu compliquée.
Le processeur MC6845 ne possède pas de commandes de tracer spécialisées....

J'ai un peu galéré pour élaborer une routine de tracé de segment, mais bon je ne suis plus loin du but, il me reste à traiter les cas particuliers...

A plus,
Michel
2023-06-22 - Tracé de segments.JPG
2023-06-22 - Tracé de segments.JPG (245.31 Kio) Consulté 3063 fois
Avatar de l’utilisateur
michel guyot
Messages : 612
Inscription : 20 mars 2016 16:01
Localisation : Pyrénées orientales

Re: TAVERNIER 6809

Message par michel guyot »

Bonjour à tous

Subsistent quelques points de détail, mais les principales commandes du driver sont en place.

Exemple des commandes saisies pour obtenir l'image ci-dessous
Y255,50,49 => tracé d'un cercle de rayon 50
C4,0 => couleur rouge sur fond noir
J10,-100 => tracé d'un segment dx=10, dy=-100
Ces commandes peuvent être générées en BASIC (Exemple PRINT "Y255,50,49" ) ce qui permet la génération de figures complexes..
A plus
Michel

***********************

>X
TAVDOS 6809 V1.0 Unlock
DATE (JJ,MM,AA)? 26,06,23
+++GET 2.CHROUT30.BIN
+++
TAVBUG09 V1.C
>C A000
PC-F80E A-00 B-10 X-EC61 Y-E002 U-EFC2 S-EF52 CC-D4 DP-00
>C A003
PC-F80E A-00 B-FF X-0000 Y-E002 U-A043 S-EF52 CC-D4 DP-00
>C A9F6
Y255,80,79
M130,127
Y255,80,79
C1,0
Y255,70,69
C2,0
Y255,60,59
C3,0
Y255,50,49
C4,0
Y255,40,39
C5.,0
Y255,30,29
C6,0
Y255,90,89
M255,127
Y255,80,79
Y255,70,69
C6,0
Y255,60,59
C5,0
Y255,50,49
C4,0
Y255,40,39
J100,0
C2,0
J0,-100
C1,0
D130,127
C7,0
J0,-50
D300,200
J50,0
C5,0
J0,-60
J40,0
C3,0
J50,0
C4,0
Y50,20
J0,-50
C7,0
Y200,50,40
C2,0
J0,-10
Y255,30,29
C-F80E A-1B B-50 X-03B4 Y-A7C3 U-A043 S-EF52 CC-D4 DP-00
>

2023-06-26 - CHROUT30.JPG
2023-06-26 - CHROUT30.JPG (266.01 Kio) Consulté 2922 fois
Avatar de l’utilisateur
michel guyot
Messages : 612
Inscription : 20 mars 2016 16:01
Localisation : Pyrénées orientales

Re: TAVERNIER 6809

Message par michel guyot »

Bonjour à tous,

Ci-dessous la liste des cartes utilisées sur mes deux TAVERNIER...

Après cette carte AGC09, le TAVERNIER version 85 pourrait être un nouveau cheval de bataille...

A plus
Michel
2023-06-29 - Liste des cartes.jpg
2023-06-29 - Liste des cartes.jpg (314.65 Kio) Consulté 2815 fois
Avatar de l’utilisateur
mjwurtz
Messages : 90
Inscription : 30 nov. 2014 17:27

Re: TAVERNIER 6809

Message par mjwurtz »

Notator a écrit : 05 juin 2023 14:07
michel guyot a écrit : 05 juin 2023 11:08 Mais ce que je cherche à éclaircir, ce sont les capacités réelles d'affichage en terme de résolution du CRTC MC6845.
En haute résolution, Christian Tavernier indique 512 x 256 pour la carte AGC09, et il ajoute qu'elle peut faire au moins 20 ou 24 lignes de 80 caractères (H-P n°1709 page 83).

Par ailleurs, sur la datasheet du MC6845, il y a page 17 à 22 d'intéressantes formules pour calculer les performances possibles à obtenir en fonction des divers paramètres du montage à réaliser :

http://bitsavers.trailing-edge.com/comp ... s/6845.pdf
J'avais en son temps fait une carte IVG légèrement modifiée : 8K au lieu de 4K de mémoire vidéo. Pour l'affichage alphanumérique, ça ne changeait rien. Pour le graphique, la résolution était de 320 par 200 (ce qui permettait de coïncider avec le format de l'écran avec des pixels "carrés", et donc des cercles ronds).
Le plus intéressant dans la datasheet du MC6845, c'est la page 1, où il est précisé qu'en utilisant les adresses de ligne, on peut adresser plus de 16Ko.
Du coup il doit être possible d'utiliser plus de mémoire pour avoir des capacités graphiques plus intéressantes. Il doit être possible d'utiliser 32, voire 48K pour l'affichage en page 0, mais cela doit apporter des contraintes graphiques (il faut que le passage à la ligne suivante de la mémoire caractère coïncide avec une fin de ligne à l'affichage, donc que le nombre de pixels horizontaux soit une puissance de 2)

Par exemple, avec 32K on peut avoir un affichage 512 par 512, en considérant que le nombre de lignes par caractère est 2, et en utilisant RA0 entre
MA5 et MA6 pour l'adressage mémoire côté vidéo : première ligne = 64 caractères avec RA0 = 0, seconde ligne avec RA0 = 1, et ainsi de suite. Il n'y a d'ailleurs pas besoin d'EPROM générateur de caractère dans ce cas...

Mon rêve serait plutôt de faire une carte avec 96K de mémoire et une résolution de 1024x768, avec la mémoire répartie sur 2 pages mémoires. Cela nécessiterait de modifier un peu la gestion des pages sur la carte CPU (et éventuellement d'ajouter une ligne de sélection de page supplémentaire)
Reste la fréquence de balayage : il faudra sûrement utiliser une horloge pixel plus rapide (20-25 Mhz) et on risque d'avoir des soucis pour les accès mémoire. Peut être faudra-t-il travailler sur 16 bits au niveau de la mémoire vidéo, ce qui apportera encore quelques contraintes supplémentaires !

Michel W
Avatar de l’utilisateur
michel guyot
Messages : 612
Inscription : 20 mars 2016 16:01
Localisation : Pyrénées orientales

Re: TAVERNIER 6809

Message par michel guyot »

Bonjour mjwurtz,

J'ai un peu de mal à te suivre...
Avec le format de caractères ( 8 points x 4 lignes) et la programmation du CRTC que j'ai retenu , l'image est formée de H=64 caractères x V=64 blocs
ce qui donne une résolution apparente de 256 lignes x 512 points

Ma question est de savoir, compte tenu de la conception de cette carte AGC09, quelle est la programmation possible du CRTC 6845 permettant d'obtenir une meilleur résolution...

La réponse est peut-être donnée par la note d'application AN-0834_Using_The_MC68000_And_The_MC6845_For_A_Color_Graphics_System.pdf.

Mais bon, je ne connais pas suffisamment le MC68000 pour analyser le code proposé...
Peut-être qu'une bonne âme pourra nous aider...

A plus
Michel
Avatar de l’utilisateur
mjwurtz
Messages : 90
Inscription : 30 nov. 2014 17:27

Re: TAVERNIER 6809

Message par mjwurtz »

Bonsoir Michel,
Désolé, j'ai du faire face à des impondérables et ai enfin le temps de répondre...
Le 6845 a 14 lignes d'adresse (soit 16k mots, un mot = 8 bits dans le cas du 6809)
L'intérêt du 68000, c'est d'avoir un bus de données de 16bits. Donc les mots font 16 bits et les blocs font 16 bits de large x n lignes.
Ceci permet d'utiliser moitié moins de lignes d'adresse pour la même quantité de mémoire vidéo.
La note AN-0834 utilise une mémoire vidéo de 4 x 4k mots de 16 bits (Rouge, vert, bleu et luminance pour doubler le nombre de couleurs) et offre une résolution de 256x256, mais avec les 14 lignes d'adresse du 6845, on peut aller jusqu'à 4 x 16k mots de 16 bits, soit une résolution de 512x512.

Pour ce qui est de la carte AGC09, on est toujours limité par la mémoire accessible, soit 16k x 8bits, donc 128k pixels. Ceci correspond à ta résolution de 256 lignes de 512 points. La seule modification possible, c'est le rapport largeur/hauteur de ton image. Si au lieu d'un ration 1/2 (256 lignes de 512 pixels), tu veux un rapport 3/4, tu peux programmer le 6845 pour 52 caractères par lignes (416 pixels) et 63 lignes, chaque bloc faisant 5 lignes de haut, ce qui donne 315 lignes sur l'image. On utilise ainsi 16380 octets de mémoire sur les 16384 disponibles...

Si on veut plus, il faut modifier le circuit :
- soit utiliser une mémoire vidéo sur 16 bits, avec des registres à décalage sur 16 bits. on dispose alors du double de pixels et donc 512x512 est possible
- soit utiliser les adresses de ligne de blocs pour adresser plus de mémoire : en gros, le(s) bit(s) de poids faible de l'adresse ligne de bloc ser(ven)t en fait de ligne d'adresse mémoire vidéo complémentaire, ce qui permet là aussi d'adresser 32k (ou 64k, 128k, etc.) octets au lieu de 16k)
Reste ensuite à adresser cela côté 6809 !
A+,
Michel W.
Avatar de l’utilisateur
michel guyot
Messages : 612
Inscription : 20 mars 2016 16:01
Localisation : Pyrénées orientales

Re: TAVERNIER 6809

Message par michel guyot »

Bonjour mjwurtz

Merci pour ta réponse
Cependant quelque chose me chagrine sur cette carte, à moins que ce ne soit la chaleur actuelle ralentisse mes neurones...

Ce n'est pas la mémoire en place qui limite ce que le CRTC est capable d'afficher sur l'écran...
Ci-dessous un dessin qui me semble plus explicite quant à la configuration actuelle de ma carte

A plus
Michel
2023-07-08 - Carte AGC09.jpg
2023-07-08 - Carte AGC09.jpg (447.95 Kio) Consulté 2303 fois
Avatar de l’utilisateur
mjwurtz
Messages : 90
Inscription : 30 nov. 2014 17:27

Re: TAVERNIER 6809

Message par mjwurtz »

Bonjour Michel,
16k est effectivement le maximum adressable par le 6845.
Ensuite tout dépend effectivement du mode : graphique ou alphanumérique.

En mode graphique haute résolution, le générateur de caractère est normalement uniquement là pour respecter le timing : 1 octet en mémoire vidéo = 8 pixels. Chaque ligne du générateur de caractère renvoie la même valeur, celle de l'octet donné en entrée. Donc on est lié par la taille mémoire.

Dans le cas de l'AGC, je crois comprendre que le générateur est utilisé pour créer des blocs carrés de 4 pixels. Ça ne change pas la taille maxi utilisable, juste la taille de l'image affichée. On reste lié à la taille mémoire, parce que le générateur de caractère fournit des blocs de 8x4 =32 pixels par caractère (en théorie plus de 2 milliards de combinaisons différentes)... mais en fait on ne peut pas adresser avec un octet plus de 256 valeurs différentes, donc on réduit le générateur à 8 blocs de 4 pixels (256 combinaisons possibles).
Avec un générateur de caractère en RAM et un peu de pré-calcul, on doit pouvoir afficher des images plus fines en faisant quelques sacrifices et interpolation, mais pour dessiner ça n'ira pas...

La fréquence du quartz (12Mhz ?) est par ailleurs un peu faible : si on voulait en alphanumérique afficher 80 lignes de 25 caractères il faudrait un quartz de 14 Mhz au minimum. La carte IVG09 avait un quartz de 16 Mhz et est donc plus universelle de ce point de vue...

A+,
Michel.
Avatar de l’utilisateur
michel guyot
Messages : 612
Inscription : 20 mars 2016 16:01
Localisation : Pyrénées orientales

Re: TAVERNIER 6809

Message par michel guyot »

Bonjour mjwurtz

Merci pour tes explications, qui éclairent un peu ma lanterne.

Finalement, j'ai l'impression d'avoir ré-inventé la roue...!

Concernant la carte AGC09 et son mode de fonctionnement,
j'ai été conduit à reconstituer un jeu de 256 caracteres qui manipule des blocs de 2x2 (Cf mon post du 10-06-2023)

00 00 00 00
00 00 00 00
00 00 00 11
00 00 00 11
Code $01

00 00 00 00
00 00 00 00
00 00 11 11
00 00 11 11
Code $03

11 00 00 00
11 00 00 00
00 00 00 00
00 00 00 00
Code $80

etc

c'est une solution

Autre solution que tu évoques, le générateur de caractères restitue en sortie l'octet qu'il reçoit en entrée.
Mai alors, quel en est le contenu ?

Ci-dessous un extrait du contenu du générateur de caractère GCG de la carte IVG09
La prom contient un motif répétitif que j'ai du mal à comprendre

A plus
Michel
2023-07-08 - Carte IVG09 - Extrait PROM GCG.jpg
2023-07-08 - Carte IVG09 - Extrait PROM GCG.jpg (377.47 Kio) Consulté 2226 fois
Répondre