Logicielsmoto.com

Nous sommes le 28 Mar 2024, 20:53

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 73 messages ]  Aller à la page Précédente  1, 2, 3, 4, 5  Suivante
Auteur Message
 Sujet du message:
MessagePosté: 03 Nov 2006, 11:49 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
whitebird a écrit:
Le bit forme émis par le 6821 indique selon son niveau si l'on veut écrire en mémoire point ou mémoire couleur. Quelq'un saurait t'il quel niveau logique correspond à quelle mémoire??

Bit 0 de $A7C0: 0=couleur, 1=forme

Daniel


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 03 Nov 2006, 12:38 
Hors ligne

Inscription: 06 Juin 2004, 08:23
Messages: 464
Ca alors on a encore repondu l'inverse l'un de l'autre :lol:

Fool


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 03 Nov 2006, 14:36 
Hors ligne

Inscription: 15 Oct 2006, 10:00
Messages: 25
Merci, moi ce qui m'arrangerait le plus c'est 1=couleur, 0=forme, sinon va falloir que je change mon décodage dans le gate array, mais c'est pas bien méchant.

Remarque: avez-vous noté cette petite confusion au niveau de l'appelation du signal forme??
Le signal forme aurait du s'appeler plutôt couleur. En effet la mémoire point contient des bits qui selon leurs valeurs indiquent si un pixel est de la couleur fond ou forme. Or les couleurs fond ou forme sont dans la mémoire couleur...

J'ai une autre question hard/soft: le 6809E est capable de lire à un instant donné la valeur des compteurs du gate array, entre autre pour la gestion du crayon optique.

Le logiciel qui est en ROM ferait-il cette lecture pour autre chose que le crayon optique?


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 03 Nov 2006, 14:54 
Hors ligne

Inscription: 06 Juin 2004, 08:23
Messages: 464
Il n'y a rien qui me vienne a l'esprit a part le crayon optique, mais plusieurs logiciels lisent ces valeurs pour synchroniser l'affichage, pour des scrollings par exemple.

L'interface incrustation influe partiellement sur le fonctionnement du gate-array, notamment par le rattrapage de la 625e ligne de balayage ecran, mais je suppose que ce n'est pas prioritaire a implementer.

A quoi penses-tu ?

Fool


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 03 Nov 2006, 15:50 
Hors ligne

Inscription: 15 Oct 2006, 10:00
Messages: 25
Citation:
Il n'y a rien qui me vienne a l'esprit a part le crayon optique, mais plusieurs logiciels lisent ces valeurs pour synchroniser l'affichage, pour des scrollings par exemple.


D'ailleurs il doit exister je pense une interuption type VBL (vertical blank) car la broche 19 du PIA reçoit un signal qui passe à '1' lors de chaque retour trame (toutes les 20ms)

Citation:
L'interface incrustation influe partiellement sur le fonctionnement du gate-array


Oui car le gate array est alors cadencé par l'horloge VCO et donc tous les timings dépendent de VCO et non plus de l'horloge 16MHz on board.

Citation:
A quoi penses-tu ?[/
Citation:

Actuellement je n'ai pas encore implémenté la gestion du crayon optique, notamment les latchs de maintient de l'adresse vidéo. Je voudrais donc savoir si le fait que cela ne soit pas implémenté ne peux pas avoir un impact sur l'initialisatoin jusqu'a l'apparition du "MO5 basic...."

Autrement dit si cela ne peux pas causer un bug de fonctionnment ex: le micro par lecture des compteurs vidéo reçoit une valeur bidon style FFFF.......


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 03 Nov 2006, 15:52 
Hors ligne

Inscription: 15 Oct 2006, 10:00
Messages: 25
Oh mince, j'ai fait une inversoin entre la citation et ma réponse...


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 03 Nov 2006, 16:40 
Hors ligne

Inscription: 06 Juin 2004, 08:23
Messages: 464
whitebird a écrit:
Oh mince, j'ai fait une inversoin entre la citation et ma réponse...


pas grave ...

Le signal d'interruption auquel tu fais allusion n'est pas reellement une VBL. c'est en fait une source de temps a 50 Hz generee a partir des signaux du gate-array par une logique a base de circuits 74, qui sert, par exemple, au clignotement du curseur.

Mais comme tout est parfaitement synchrone dans cette machine, tu peux la considerer comme une pseudo-vbl (mais elle n'est pas liee conceptuellement au retour du balayage).

L'extension incrustation fait plus que fournir le signal VCO, puisque certains compteurs du gate-array se mettent a fonctionner differemment pour rattraper la 625e ligne de l'ecran, qui n'est pas consideree lorque l'image est generee avec la clock interne. CLRG et SYNLT entre autres sont touches si mes souvenirs sont bons.

Je ne crois pas que la ROM fasse quoi que ce soit de bizarre avec le crayon optique, car je n'emule pas (ou mal) les compteurs du gate-array dans dans Emul5 et ca ne l'empeche pas de fonctionner.

Fool


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 03 Nov 2006, 17:08 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
Fool-DupleX a écrit:
Ca alors on a encore repondu l'inverse l'un de l'autre :lol:

D'ou tiens-tu l'info ?
J'ai toujours des doutes quand on me pose ce genre de question, alors j'ai regarde dans dcmoto avant de repondre. Et je crois avoir raison, car sinon l'emulateur ne marcherait pas ;)
Mais je suis ouvert a toute discussion :)
Pour whitebird : les appellations "forme" et "couleur" ne me plaisent pas non plus, je les utilise pour garder le vocabulaire Thomson. Pour le MO5, on arrive a comprendre, mais pour les modes speciaux des machines de derniere generation ca n'a aucun sens. Je prefere parler de page 0 (bit 0 de $A7C0 = 0) et de page 1 (bit 0 de $A7C0 = 1).

Daniel


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 03 Nov 2006, 17:18 
Hors ligne

Inscription: 15 Oct 2006, 10:00
Messages: 25
Citation:
Le signal d'interruption auquel tu fais allusion n'est pas reellement une VBL. c'est en fait une source de temps a 50 Hz generee a partir des signaux du gate-array


Merci pour l'info

C'est en quelques sorte pour pallier au manque de timer du 6809E?

Mais ce signal par l'intermédiaire du 6821 génère une IT ou bien il faut scruter?

Citation:
CLRG et SYNLT entre autres sont touches si mes souvenirs sont bons


En mode vidéo incrusté les compteurs du gate array sont remis à '0' par SYCL lui-même piloté par CLRG qui provient de l'interface d'incrustation. Je pense que l'interface d'incrustation n'agit pas directement sur SYNLT mais indirectement par remise à zéro des compteurs.



Citation:
par une logique a base de circuits 74


Oui c'es le monostable 74LS221


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 04 Nov 2006, 00:16 
Hors ligne

Inscription: 15 Oct 2006, 10:00
Messages: 25
Citation:
alors j'ai regarde dans dcmoto avant de repondre. Et je crois avoir raison, car sinon l'emulateur ne marcherait pas


Alors là je ne te suis pas Daniel...

Il faut que tu m'expliques...

Whitebird.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 04 Nov 2006, 19:06 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
whitebird a écrit:
Il faut que tu m'expliques...

Pour afficher l'ecran, dcmoto utilise les octets de $0000-$1F3F en tant que couleurs s'ils sont ecrits avec le bit 0 de $A7C0 a zero, et sinon en tant que pixels. Si la page couleur et la page forme etaient inversees, l'ecran serait tres bizarre ;)

Daniel


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 04 Nov 2006, 21:14 
Hors ligne

Inscription: 15 Oct 2006, 10:00
Messages: 25
OK, merci pour ces renseignements, Daniel.

Citation:
Si la page couleur et la page forme etaient inversees, l'ecran serait tres bizarre


Ca c'est sûr...

Remarque: ce qui assez étonnant est l'affichage que l'on obtient en l'absence de micro par ex, c'est à dire lorsque les mémoires dynamiques ne sont pas initialisées.

On observe un motif très régulier sur l'écran avec alternance de lignes jaunes et noires. Ce motif est selon moi révélateur de la structure des mémoires dynamiques 4416.

Sur un MO5 fonctionnant normalement, le motif peut être observé pendant une fraction de seconde à la mise sous tension, le temps que le signal Reset du 6809 remonte.

Whitebird


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 05 Nov 2006, 08:08 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
whitebird a écrit:
ce qui assez étonnant est l'affichage que l'on obtient en l'absence de micro par

C'est effectivement assez mysterieux. L'émulateur dcmoto initialise aussi la ram alternativement a $00 et $FF, en fonction du bit 7 de l'adresse, et affiche donc les memes bandes orange et noires au demarrage :
Code:
for(i = 0; i < ramsize; i++) ram[i] = -((i & 0x80) >> 7);

Daniel


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 05 Nov 2006, 12:18 
Hors ligne

Inscription: 15 Oct 2006, 10:00
Messages: 25
Intéressant, les concepteurs de l'émulateur ont donc été jusqu'à simuler cette particularité...

Cela nous fais donc une alternance de 3.2 lignes noires et 3.2 lignes jaunes. Cela colle parfaitement avec ce que j'observe sur l'écran. Moi j'ai la chance de pouvoir voir ce phénomène de manière stable car je n'ai pas de micro sur la carte :-)

D'autre part y aurait-t-il un petit bug de conception hard sur la carte du MO5??

Je veux dire un conflit hardware possible entre la sortie de la ROM et le 6809E.

En effet les broches /OE et /CE sont strappées et directement reliées au décodage d'adresse qui ne prends pas en compte le signal R/nW. Donc si dans un programme on essaye "d'écrire" en ROM, (ce qui évidemment n'a pas de sens) les sorties de cette dernière vont passer en basse impédance par décodage d'adresse et le bus de donné du 6809E sera aussi en basse impédance puisque écriture d'où conflit???

Dites moi si je me trompe.

Whitebird


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 06 Nov 2006, 10:56 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
whitebird a écrit:
Moi j'ai la chance de pouvoir voir ce phénomène de manière stable car je n'ai pas de micro sur la carte :-)

Est-ce vraiment une chance ? :lol:

Pour voir le phénomène dans dcmoto :
- Dans les options, réglez la vitesse d'émulation à 10%
- Cliquez sur Fichier / Démarrage à froid
- Appuyez immédiatement sur la touche Pause

Petite anecdote :
Le jeu Marche à l'ombre sur MO6 a un bug, qui passe inaperçu grâce à cette initialisation de la ram. Une boucle mal programmée se termine miraculeusement car elle rencontre un octet de valeur $FF.
Faites l'expérience suivante : en Basic, écrivez et exécutez une boucle de remise à zéro de toutes les banques ram. Ensuite chargez et lancez le jeu : il se plante.
C'est aussi ce qui se passerait avec dcmoto s'il n'initialisait pas correctement la ram.

Daniel


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 73 messages ]  Aller à la page Précédente  1, 2, 3, 4, 5  Suivante

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 14 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
Développé par phpBB® Forum Software © phpBB Group
Traduction par phpBB-fr.com