Incompéhension EF9345
Modérateurs : Papy.G, fneck, Carl
Incompéhension EF9345
Bonjour,
une petite question sur l'EF9345. Disons que je suis en mode en mode 40 colonnes et que je veux afficher un A à la ligne 10 colonne 10
Dans R6, je mets 18. J'envoie ca à l'EF9345. Dois-je attendre qu'il soit prêt ou je peux immédiatement envoyer 10 dans R7 (pour la colonne) et 'A' dans R1. A ce moment la j'attends que l'EF9345 et je demande l'exécution.
Ou a chaque étape je dois attendre qu'il soit prêt?
une petite question sur l'EF9345. Disons que je suis en mode en mode 40 colonnes et que je veux afficher un A à la ligne 10 colonne 10
Dans R6, je mets 18. J'envoie ca à l'EF9345. Dois-je attendre qu'il soit prêt ou je peux immédiatement envoyer 10 dans R7 (pour la colonne) et 'A' dans R1. A ce moment la j'attends que l'EF9345 et je demande l'exécution.
Ou a chaque étape je dois attendre qu'il soit prêt?
- Papy.G
- Modérateur
- Messages : 3051
- Inscription : 10 juin 2014 13:40
- Localisation : Haute-Garonne/Gers
Re: Incompéhension EF9345
Attention, tu as un temps d'exécution des instructions, indiqué à la fin du datasheet, il faut attendre lorsqu'il y a un transfert à faire. Pour le remplissage des registres à accès direct, c'est… direct.
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: Incompéhension EF9345
C'est la théorie. Mais dans mon programme Télécran, si je n'attends pas lors des remplissage des registres directs, il y a des problèmes (vérifié sur un vrai VG5000). Si je mets un temps d'attente, tout se passe bien.
- Papy.G
- Modérateur
- Messages : 3051
- Inscription : 10 juin 2014 13:40
- Localisation : Haute-Garonne/Gers
Re: Incompéhension EF9345
Effectivement, selon la notice, du moment que l'EF9345 n'est plus "busy" pour commencer à remplir les registres, et que tu respectes les timings sur le bus d'entrée, il n'est pas mentionné d'autre temps d'attente que la durée d'exécution des instructions, ajoutée éventuellement aux délais dûs au chargement des buffers.
Mes problèmes de timing pourraient aussi venir de là.
Mes problèmes de timing pourraient aussi venir de là.
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.
- rendomizer
- Messages : 413
- Inscription : 17 juin 2016 21:00
- Contact :
Re: Incompéhension EF9345
Bon, je suis quand même en difficulté je n'arrive pas a trouver l'adresse de R0 ! j' ai seulement 8f et cf les coordonnées x dans le registre L et y dans le registre H ainsi que la couleur et la forme dans E et le caractère dans D mais en ce qui concerne R0 R1 R2... c'est le mystere total si quelqu'un a le courage de m'expliquer ça serait bien
Je ne suis qu'un utilisateur pas un pro
Re: Incompéhension EF9345
L'EF9345, comme cela a déjà été dit, est un circuit complexe. Pour pouvoir l'utiliser, il est indispensable de commencer par lire et comprendre la documentation du fabricant :
- EF9345 Datasheet
- EF9345 Application Note
Voir en particulier, dans le deuxième document, le paragraphe intitulé "INTERFACE WITH A NON-MULTIPLEXED BUS MICROPROCESSOR", page 2/38.
- EF9345 Datasheet
- EF9345 Application Note
Voir en particulier, dans le deuxième document, le paragraphe intitulé "INTERFACE WITH A NON-MULTIPLEXED BUS MICROPROCESSOR", page 2/38.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
- rendomizer
- Messages : 413
- Inscription : 17 juin 2016 21:00
- Contact :
Re: Incompéhension EF9345
Bon finalement j'ai trouver comment adresser l'EF9345 . Il faut passer par la routine qui ce trouve en bas de la page 77 du livre (clefs pour vg5000) " . Adresse commençant a $00AD qui renvoie a un jump vers l'adresse $02EF ! tout est dans une table pointé par HL au prealable ...
Je ne suis qu'un utilisateur pas un pro
- rendomizer
- Messages : 413
- Inscription : 17 juin 2016 21:00
- Contact :
Re: Incompéhension EF9345
Bonsoir Daniel.Daniel a écrit :(...) EF9345 Application Note
Je n'arrive pas a télécharger l' EF9345 Application Note !!! Est-ce que vous pouvez me l'envoyer svp ? je rame...
Je ne suis qu'un utilisateur pas un pro
Re: Incompéhension EF9345
Malheureusement, dans Windows 10 avec Firefox 64 bits, le plugin DjVu 64 bits ne semble pas bien fonctionner. Je m'en suis aperçu hier. Il faut installer Firefox 32 bits et le plugin 32 bits. En cas d'échec avec le plugin on peut aussi utiliser la fonction "accès à une URL" de DjView4, elle est indépendante du navigateur et fonctionne dans tous les systèmes, y compris Mac OS, et dans tous les cas de figure.
Personne ici ne lit couramment les programmes Z80 en hexadécimal
Pour faciliter le dialogue, il vaudrait mieux poster les sources en assembleur.rendomizer a écrit :
Voila ou j'en suis avec l"EF9345 mais je n'arrive pas a acceder aux registres indirect ror,tgs,pat,mat et encore moins krf ! un coup de main serait la bienvenue !
Personne ici ne lit couramment les programmes Z80 en hexadécimal
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Re: Incompéhension EF9345
@Daniel
N'oublie qu'il est capable de lire les codes assembleur dans toutes les unités connues à ce jour.
Hexa, décimal... en chiffre Arabes, romain, grecques, cyrilliques, cunéiforme et égyptien.
Nous ne devons pas le sous-estimer car la légende dit qu'il peut aussi lire des codes rien qu'en léchant la surface d'une disquette ou en suçant le ruban d'une cassette!
... Ha non, c'est pour l'assembleur Motorola... j'm'ai trompé!!!
Donc, oui... la phrase de Daniel est correcte pour le Z80.
Si, 6502man !!!Personne ici ne lit couramment les programmes Z80 en hexadécimal.
N'oublie qu'il est capable de lire les codes assembleur dans toutes les unités connues à ce jour.
Hexa, décimal... en chiffre Arabes, romain, grecques, cyrilliques, cunéiforme et égyptien.
Nous ne devons pas le sous-estimer car la légende dit qu'il peut aussi lire des codes rien qu'en léchant la surface d'une disquette ou en suçant le ruban d'une cassette!
... Ha non, c'est pour l'assembleur Motorola... j'm'ai trompé!!!
Donc, oui... la phrase de Daniel est correcte pour le Z80.
- rendomizer
- Messages : 413
- Inscription : 17 juin 2016 21:00
- Contact :
Re: Incompéhension EF9345
Je me demande comment on affiche les caractères redéfini ... si quelqu'un peut m’éclairer !
Je ne suis qu'un utilisateur pas un pro
Re: Incompéhension EF9345
Désolé de ne pas avoir put intervenir sur le forum, mais pas dispo ...
Donc :
Ca fait longtemps que je n'ai pas programmé l'EF9345, je ne sait plus trop mais cela doit être expliqué dans le post que j'avais consacré au EF9345:
http://forum.system-cfg.com/viewtopic.php?f=25&t=5731
Et n'oublie pas de consulter mon petit résumé en pdf :
http://forum.system-cfg.com/download/file.php?id=1730
Peut être n'est il pas facilement trouvable sur le forum
Cette partie concerne les caractères redéfinis :
Donc :
Ca fait longtemps que je n'ai pas programmé l'EF9345, je ne sait plus trop mais cela doit être expliqué dans le post que j'avais consacré au EF9345:
http://forum.system-cfg.com/viewtopic.php?f=25&t=5731
Et n'oublie pas de consulter mon petit résumé en pdf :
http://forum.system-cfg.com/download/file.php?id=1730
Peut être n'est il pas facilement trouvable sur le forum
Cette partie concerne les caractères redéfinis :
Code : Tout sélectionner
DOR: en mode 40 colonnes
Code:
BITS: 7 6 5 4 3 2 1 0
a b b b c c c c
a = numéro du bloc des caractères quadrichrome Q0 => emplacement dans la VRAM ou sont stockés les caractères redéfinis en mode quadrichrome.
bbb = numéro du bloc des caractères semi-graphiques G10' et G11' => emplacement dans la VRAM ou sont stockés les caractères redéfinis en mode semi-graphiques.
cccc = numéro du bloc des caractères alphanumériques G0' => emplacement dans la VRAM ou sont stockés les caractères redéfinis en mode alphanumériques
- rendomizer
- Messages : 413
- Inscription : 17 juin 2016 21:00
- Contact :
Re: Incompéhension EF9345
merci 6502man, c'est bien utile, car je peux dire que des éclaircissements j'en ai bien besoin !
Je ne suis qu'un utilisateur pas un pro
- rendomizer
- Messages : 413
- Inscription : 17 juin 2016 21:00
- Contact :
Re: Incompéhension EF9345
Je ne sais pas si j'ai compris mais j'ai fais ce petit exercice pour afficher un caractère redéfini en mode bichrome mais ça ne s'affiche pas. Pouvez vous m’éclaircir svp ?
Y a t'il un ordre pour initialiser le L'EF9345 ?
Comment choisit-on le caractère redéfini ?
Y a t'il un ordre pour initialiser le L'EF9345 ?
Comment choisit-on le caractère redéfini ?
Code : Tout sélectionner
**** initialisation de l'EF9345 mode bichrome + retour BASIC ****
7000 NOP
7001 LD (700E),HL
7004 LD HL,7011
7007 CALL 02EF
700D RET
**** debut données tampon EF9345 ****
7011 80 longueur du tampon
7012 20 IND R0
7013 87 ROR
7014 29 EXEC
7015 08 YOR 8
7016 20
7017 81 TGS
7018 29
7019 00 40 COLONNES
701A 20
701B 83 PAT
701C 29
701D 67
701E 20
701E 82 MAT
701F 29
7020 0E COULEUR MARGE
7021 20
7022 84 DOR
7023 29
7024 13
7025 21 R1
7026 41 donnée R1 n° de caractere chr$(65)
7027 22 R2
7028 81 donnée R2 redefini, G'0, incustation normal
7029 23 R3
702A 67 donnée R3 couleur de caractere
702B 26 R6
702C 8 donnée R3 ligne
702D 27 R7
702E 27 donnée R7 colonne
702F 28 EXEC
7030 00 donnée execution
**** definition du caractere ****
7031 20 R0
7032 34
7033 21 R1
7034 FF
7035 24 R4
7036 3F
7037 25 R5
7038 41
7039 28 EXEC
703A 00
703B 20 R0
703C 34
703D 21 R1
703E 00
703F 24 R4
7040 3F
7041 25 R5
7042 45
7043 28 EXEC
7044 00
7045 20 R0
7046 34
7047 21 R1
7048 FF
7049 24 R4
704A 3F
704B 25 R5
704C 49
704D 28 EXEC
704E 00
704F 20 R0
7050 34
7051 21 R1
7052 00
7053 24 R4
7054 3F
7055 25 R5
7056 4D
7057 28 EXEC
7058 00
7059 20 R0
705A 34
705B 21 R1
705C FF
705D 24 R4
705E 3F
705F 25 R5
7060 51
7061 28 EXEC
7062 00
7063 20 R0
7064 34
7065 21 R1
7066 00
7067 24 R4
7068 3F
7069 25 R5
706A 55
706B 28 EXEC
706C 00
706D 20 R0
706E 34
706F 21 R1
7070 FF
7071 24 R4
7072 3F
7073 25 R5
7074 59
7075 28 EXEC
7076 00
7077 20 R0
7078 34
7079 21 R1
707A 00
707B 24 R4
707C 3F
707D 25 R5
707E 5D
707F 28 EXEC
7080 00
7081 20 R0
7082 34
7083 21 R1
7084 FF
7085 24 R4
7086 3F
7087 25 R5
7088 61
7089 28 EXEC
708A 00
708B 20 R0
708C 34
708D 21 R1
708E 00
708F 24 R4
7090 3F
7091 25 R5
7092 65
7093 28 EXEC
7094 00
Je ne suis qu'un utilisateur pas un pro
Re: Incompéhension EF9345
Pour choisir le caractère redefini il suffit de mettre le bit7 à 1 de R2 et de bien indiqué la position du caractère et le numéro de tampon dans R1 !
L'ordre d'initialisation je ne sait plus mais je pense pas que c'est de l'importance, il faut juste bien demander l’exécution de la commande et peut être attendre quelle soit exécuter par l'EF9345 ???
Si je prend ton exemple et que je vérifie sur mon PDF récapitulatif:
41 pour R1 ca donne : 16 (10h) pour le numéro de tampon, 01 pour le numéro de caractère dans le tampon.
81 pour R2 ca donne: caractère redefini, G'0, le reste en normal.
Par contre tu devrais redéfinir le caractère dans la VRAM du EF9345, avant de l'afficher, ca me parait plus naturel
Après je connais absolument pas le VG5000
Peut être ne pas faire un retour au BASIC mais une boucle sans fin pour être sur que les pointeurs du EF9345 ne soit pas écrasé par le BASIC (supposition je ne sait pas trop comment travail le BASIC du VG5000) ?
L'ordre d'initialisation je ne sait plus mais je pense pas que c'est de l'importance, il faut juste bien demander l’exécution de la commande et peut être attendre quelle soit exécuter par l'EF9345 ???
Si je prend ton exemple et que je vérifie sur mon PDF récapitulatif:
Code : Tout sélectionner
7025 21 R1
7026 41 donnée R1 n° de caractere chr$(65)
7027 22 R2
7028 81 donnée R2 redefini, G'0, incustation normal
81 pour R2 ca donne: caractère redefini, G'0, le reste en normal.
Par contre tu devrais redéfinir le caractère dans la VRAM du EF9345, avant de l'afficher, ca me parait plus naturel
Après je connais absolument pas le VG5000
Peut être ne pas faire un retour au BASIC mais une boucle sans fin pour être sur que les pointeurs du EF9345 ne soit pas écrasé par le BASIC (supposition je ne sait pas trop comment travail le BASIC du VG5000) ?