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
michel guyot
Messages : 612
Inscription : 20 mars 2016 16:01
Localisation : Pyrénées orientales

Re: TAVERNIER 6809

Message par michel guyot »

Bonjour à tous

La couleur en plus....
Michel
P1070171.JPG
P1070171.JPG (255.83 Kio) Consulté 5921 fois
Avatar de l’utilisateur
gleike
Messages : 1341
Inscription : 16 oct. 2014 11:12
Localisation : Ludres (54710) Meurthe & Moselle

Re: TAVERNIER 6809

Message par gleike »

Bravo,
mais ce qui serait top, c'est de nous faire une vidéo du tracé en temps réel,
afin que nous les pauvres qui n'ont pas la chance de posséder un Tavernier :(
puissions nous rendre compte des performances de la machine.
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 gleike, je verrai ce que je peux faire. Mais bon, sur l'image précédente, le tracé des 32 spires dure environ 90 secondes

Ci-dessous l'image de ma nouvelle carte coprocesseur que je viens de mettre sous tension et qui fonctionne comme le proto.

A plus
Michel
2022-07-16 - Carte Coprocesseur_a.JPG
2022-07-16 - Carte Coprocesseur_a.JPG (213.59 Kio) Consulté 5855 fois
2022-07-16 - Carte Coprocesseur_b.JPG
2022-07-16 - Carte Coprocesseur_b.JPG (200.24 Kio) Consulté 5855 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

Je cherchais une idée de programme sollicitant plus largement ma carte coprocesseur...
J'ai opté pour un programme générant l'image fractale de Newton P(z)= z^3-1 = 0

Voici une première portion d'image obtenue... :D

Je rencontre quelques problèmes d'overflow dont l'origine n'est pas encore identifiée
(Pb de calcul ou d'électronique ?)

Coté performance, le tracé d'une colonne de pixels dure environ 20s,
ce qui devrait donner 1h30 pour une image 256 x 212

A plus
Michel
2022-07-20 - Fractale.JPG
2022-07-20 - Fractale.JPG (231.81 Kio) Consulté 5791 fois
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: TAVERNIER 6809

Message par __sam__ »

L’overflow ce sont les colonnes vides? Etrange que cela touche toute la colonne, comme si les calculs pour un pixel influençaint ceux du suivant.
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
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 _sam_

Tout à fait d'accord !
Avant d'exécuter une fonction, le coprocesseur effectue un test sur les opérandes et transmet éventuellement un code d'erreur...
Le driver interrompt alors le traitement au niveau du calcul pour le pixel litigieux

Les colonnes vides viennent du fait que j'ai relancé le code un peu plus loin...., il est possible de reconstituer l'image par tranches

Je vais analyser l'état des variables au niveau de ces pixels pour voir si le problème résulte du calcul (overflow, underflow, division par 0, argument négatif non autorisé )

A plus
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 à tous

Bon cette fois l'image est complète...! :D

Après analyse, les problèmes signalés par le coprocesseur (overflow / underflow) ne résultent de bugs ou erreurs de calculs.
Ils sont liés au fait que pour quelques points, des variables intermédiaires prennent des valeurs très élevées ou très petites
Le même algorithme codé en basic gfa fait apparaître les mêmes valeurs de variables

Dans mon programme sur TAVERNIER, les points qui provoquent ces anomalies de calculs sont pris en compte mais affichés en noir.
Leur nombre reste cependant relativement réduit 30 pour l'image 256 x212

Coté rapidité, la génération d'un image prends environ 2H

Outre un affichage direct, le programme enregistre tous les points de l'image et une routine permet de réafficher l'image instantanément
Nota: pour l'instant, compte tenu de ma taille mémoire, je procède en deux 1/2 images

A plus
Michel
2022-07-30 - FRACTALE - Copie.JPG
2022-07-30 - FRACTALE - Copie.JPG (218.55 Kio) Consulté 5611 fois
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: TAVERNIER 6809

Message par __sam__ »

C’est beau :D 2h ça nous ferait à la louche combien de kiloflops ?

Pour la mémoire il faudrait juste encoder un RLE à la volée: avec l’encodage sur 2+ octets :
* n=0...127 couleur0 ... couleur_n --> copier les n+1 octets suivants
* n=-128..-1 couleur -->repetition -n fois de la couleur

Encodage (le 1er pixel se fait par l’entrée Premier, les suivants par.... Suivants)

Code : Tout sélectionner

* X = pointeur data
* B = couleur
* A = poubelle

Premier
  Clra
  Std ,X
  rts
Suivants  
  Lda ,x
  Bge Copie
  Cmpb 1,x
  Bne Nouveau
Repet
  Deca
  Beq Nouveau 
  Sta ,x
  Rts
Nouveau
  Leax 2,x
  Bra Premier   
 Copie
  Cmpb a,x
  Bne Copie2
  Tsta
  beq Repet
  Dec ,x
  leax a,x
  lda #-1
  std ,x
  rts
Copie2
  Inca
  Bmi Nouveau 
  Stb a,x
  rts  
 
Décodage d’un groupe de pixels (vérifier y à la sortie pour savoir si on a atteint l'adressse de fin)

Code : Tout sélectionner

* x=source
* y=destination
* D=trash
Decode
  Ldd ,x++
  Bmi Drepet
Dcopie
  stb ,y+
  Ldb ,x+
  deca
  bge Dcopie
  Leax -1,x
  rts
Drepet
  stb ,y+
  Inca
  Bne Drepet
  Rts  
(aux bugs de 7h du mat près)
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
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 _sam_

Tout à fait d'accord, ces images peuvent être compactées comme tu l'expliques
J'ai utilisé cette technique du RLE lors d'essais de transfert d'images avec ma carte couleur basée sur un processeur VM9938
( Cf mes post du 01-05-2020 puis 20-09-2020 où tu retrouveras les mêmes images)
En fait sur mon TAVERNIER je dispose des trois bancs de mémoire 64K...
Ici, c'est juste la mise en oeuvre du coprocesseur AM9511 qui m'intéressait....

Nota : Si mon code intéresse quelqu'un je peux le mettre en ligne

A plus
Michel
Avatar de l’utilisateur
Leraptor06
Messages : 672
Inscription : 15 févr. 2022 10:34
Localisation : Mandelieu

Re: TAVERNIER 6809

Message par Leraptor06 »

Oulala 7h du mat quand je lis ça je pense à de l'hexadecimal au lieu de l heure, vite un autre café :D
Jp
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: TAVERNIER 6809

Message par __sam__ »

Le coprocessor est estimé à combien de flops par mhz ?

[Edit] j’ai trouvé le manuel . Il donne les infos dans le chapitre 8. Il serait intéressant de comparer le temps entre ce fpu séparé et l'exécution des mêmes calculs par la rom floatingpoint de Motorola.

A noter: ce manuel est super bien fait pour ceux qui debutent ou ont besoin de rafraîchir leurs informations sur les nombres en virgule flottante (à quoi ils servent, quand faut il les utiliser, etc). Cela aurait évité pleins de digressions approximatives apparues dans un autre fil..
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
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

Toujours dans l'idée de solliciter ma carte coprocesseur...voici un autre exemple
Image fractale de l'ensemble de Mandelbrot ( Zo=0 et Zn+1= (Zn)^2+C )

L'obtention du dégradé des couleurs est limite avec la carte graphique ELEKTOR qui ne traite que 16 couleurs

Même si le processus d'itération est similaire, aucun problème d'overflow n'apparait

A plus
Michel
FRACTALE-IMAGE03r.JPG
FRACTALE-IMAGE03r.JPG (227.76 Kio) Consulté 5237 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

Mon TAVERNIER équipé de la carte graphique à base d'un VM9938 permet un affichage en 256 couleurs...
La génération des dégradés de couleur donne une image plus esthetique...

Michel
Ensemble de Mandelbrot.JPG
Ensemble de Mandelbrot.JPG (473.47 Kio) Consulté 5046 fois
Installation.JPG
Installation.JPG (262.3 Kio) Consulté 5046 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,

Après la carte co-processeur, je cherchais une idée pour compléter le TAVERNIER...
Suite à un échange avec Frédéric, celui-ci me suggère de créer une carte disque dur IDE éventuellement capable d'une carte Compact Flash.
Cela ressemble bien sûr à la carte CFFA existante pour Apple II

Je m'interroge sur la carte MicroDrive/Turbo, certainement moins performante, mais plus simple et moins onéreuse
Quelqu'un connait-il ce produit ?
Est-il envisageable de l'adapter pour l'implanter sur un système 6809 ?

Cordialement
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,

En modifiant quelques lignes de mon programme, voici cette fois une image fractale de l'ensemble de Julia
(équation Zn+1 = Zn * Zn + C avec C = 0.285 + i x 0.01

Configuration materiel : TAVERNIER - Carte coprocesseur AM9511 - Carte graphique VM9938

A plus
Michel
Enssemble de Julia.JPG
Enssemble de Julia.JPG (245.19 Kio) Consulté 4121 fois
2022-10-10 - Installation.JPG
2022-10-10 - Installation.JPG (287.76 Kio) Consulté 4121 fois
Répondre