Gamoover

Besoin de contacter un admin pour une proposition, une suggestion ou discuter d'un probleme ?
C'est ici : High_Cobra, AsPiC ou Pich

Réalisation d'un générateur de mires avec un Arduino

Démarré par olc, Dimanche 01 Novembre 2020, 22:59:49 PM

Little_Rabbit

#32
Salut,

@SDF si tu veux, je peux demander à Spectroman la dernière version des sources qui a été utilisée pour la programmation des micro-contrôleurs de Fred G5 et olschool... Cela ne nous donnera pas la solution, mais au moins une base éprouvée pour se lancer dans une conversion ?

J'aimerais bien participer, mais même si j'ai des compétences génériques dans le domaine, comme les autres, je ne connais ni les SX28 ni l'assembleur Arduino... Donc il y aurait une longue courbe d'apprentissage initiale pour se mettre dans le bain :'(.

Citation de: tilowil le Mercredi 17 Janvier 2024, 22:07:17 PMJ'aimerai bien comprendre le lien entre le quartz et la fréquence max que le montage peut fournir comme mire.
Car si l'horloge du processeur, ici un Arduino nano (16MHz), on est bien supérieur à 15kHz, 24 kHz et 31kHz.
Alors pourquoi le générateur de mire d'@olc ne peut faire que du 15kHz soit environ 1000 fois moins. Je suppose que ce n'est pas aussi simple.

Comme le disait SDF, la fréquence d'horloge du micro-contrôleur ou micro-processeur ne sert que de fréquence de base pour cadencer le fonctionnement interne du processeur. Pour exécuter une instruction, le µP aura besoin de plusieurs cycles d'horloge. Par exemple, un Z80 peut avoir besoin de 13 cycles d'horloge pour exécuter 1 instruction basique [LD A, (A01FH) pour charger dans l'accumulateur A l'octet qui se trouve à l'adresse A01FH]. Ça peut aller jusqu'à 20 cycles ou plus pour une instruction. D'ailleurs, en aparté, la fréquence d'horloge d'un µP n'est pas forcément révélatrice de la vitesse de traitement qu'il sera capable d'accomplir. Si tu compares un Z80 (ZX Spectrum par exemple) à un 6502 (Apple // ou C64 par exemple), et bien un Z80 à 4 MHz n'est pas plus rapide qu'un 6502 à 1 MHz ;).

Et si tu parcours le source du programme de gc339, tu verras qu'une ligne de balayage à 15,6 kHz se décompose en plein d'étapes (porche, top de synchro horizontale, les pixels, etc.). Chacune de ces étapes requiert plusieurs instructions du µP.

Il faut donc que le µP pédale à une fréquence bien plus élevée que la fréquence du signal qu'il cherche à générer :).

Concernant le travail de Rickard Gunée, on trouve encore sur le net ce Pdf qui présente de façon détaillée son excellent travail  :-* !

A+
Recherche bornes dédiées ou PCB originaux: Miss Pacman, Dig Dug, Galaga, Mappy, Asteroids, Battlezone, Missile Command, Tempest, Star Wars, Donkey Kong (+ Jr), Mario Bros, Moon Patrol, Defender, Joust, Frogger, Gyruss, Pooyan, Space Tactics, Zaxxon, etc. Flip : Gottlieb des années 80 (Spirit, Amazon Hunt, ...), Baby Pac Man. Divers :  Ice Cold Beer => Trois fois rien quoi ! :D
Ma séance sur le divan : c'est grave Docteur ? :-\
Ma gaming room, ma storage room

SDF

#33
Citation de: Little_Rabbit le Jeudi 18 Janvier 2024, 21:36:17 PMConcernant le travail de Rickard Gunée, on trouve encore sur le net ce Pdf qui présente de façon détaillée son excellent travail  :-* !


Oh mais juste pour ce partage t'es mon héros !!!  Merci mec, ca va être bien utile.

BigPanik

#34
Il y a ce travail à base de uno 16MHz pour afficher une mire en 800x600 (svga).

http://www.pyroelectro.com/tutorials/arduino_basic_vga/index.html

L'auteur est contraint d'afficher par paquet de 4 pixels pour que l'arduino suive la cadence.

SDF

#35
Citation de: BigPanik le Vendredi 19 Janvier 2024, 12:54:01 PMIl y a ce travail à base de uno 16MHz pour afficher une mire en 800x600 (xvga).

http://www.pyroelectro.com/tutorials/arduino_basic_vga/index.html

L'auteur est contraint d'afficher par paquet de 4 pixels pour que l'arduino suive la cadence.

Oh pinaise, le chaînon manquant. Cimer poulet. Ya plus qu'a rajouter au prog d'OCL. Sauf qu'un est écrit en assembleur (et l'autre avec l'IDE arduino) et puis tout est prévu pour du 800x600, faut donc convertir tout ca pour du 640x480.
On va y arriver les mecs !!!

tilowil

Hello,
J'avais trouver aussi ce petit montage à base d'un attiny2313 (compatible arduino) : https://dselec.wordpress.com/generator/
mais c'est pareil il ne fait que du 15kHz. Avantage le concepteur donne le code en langage basic avec 13 mires.

Et je me demandais si on pouvait le passer aussi en 24kHz et 31kHz, l'atTiny étant cadencé à 20MHz

A+