[6809] Microbox II, le kit anglais "pro"
Modérateurs : Papy.G, fneck, Carl
Re: [6809] Microbox II, le kit anglais "pro"
Bonjour Michel et Philippe,
J'ai un peu regardé le code du moniteur, et la doc du 7220.
SETPEN appelle SETPAT, qui définit un "pattern" de dessin. J'ai l'impression que ce dernier agit comme un stencil de 8x8 pixels qui se superpose au dessin (donc des trous possible s'il ne laisse pas tout passer). Il faudrait voir ce que contient le bloc de données pointé par X (la première valeur est utilisée par SETPEN, les 8 suivantes par SETPAT...
A+
Mick.
J'ai un peu regardé le code du moniteur, et la doc du 7220.
SETPEN appelle SETPAT, qui définit un "pattern" de dessin. J'ai l'impression que ce dernier agit comme un stencil de 8x8 pixels qui se superpose au dessin (donc des trous possible s'il ne laisse pas tout passer). Il faudrait voir ce que contient le bloc de données pointé par X (la première valeur est utilisée par SETPEN, les 8 suivantes par SETPAT...
A+
Mick.
- michel guyot
- Messages : 616
- Inscription : 20 mars 2016 16:01
- Localisation : Pyrénées orientales
Re: [6809] Microbox II, le kit anglais "pro"
Bonjour Pilippe, bonjour Mick
Ci-dessous un bout de code qui semble donner un résultat satisfaisant
Pour obtenir un affichage, il faut toutefois respecter un ordre dans les commandes
RP 9000 ==> lance CLEARG
RP 9100 ==> Initialisation
RP 9200 ==> trace une ligne
RP 9300 ==> trace un cercle
RP 9400 ==> trace un rectangle
Si l'on efface l'écran avec RP 9000, il faut ré-initialiser avec RP9100
Nota: Le mode RMW est actif
Si l'on lance deux fois une commande, la figure affichée par la première commande est effacée par la deuxième commande
Bon, je ne comprends pas tout, mais nous progressons sur la maîtrise du NEC
Michel
Ci-dessous un bout de code qui semble donner un résultat satisfaisant
Pour obtenir un affichage, il faut toutefois respecter un ordre dans les commandes
RP 9000 ==> lance CLEARG
RP 9100 ==> Initialisation
RP 9200 ==> trace une ligne
RP 9300 ==> trace un cercle
RP 9400 ==> trace un rectangle
Si l'on efface l'écran avec RP 9000, il faut ré-initialiser avec RP9100
Nota: Le mode RMW est actif
Si l'on lance deux fois une commande, la figure affichée par la première commande est effacée par la deuxième commande
Bon, je ne comprends pas tout, mais nous progressons sur la maîtrise du NEC
Michel
- michel guyot
- Messages : 616
- Inscription : 20 mars 2016 16:01
- Localisation : Pyrénées orientales
Re: [6809] Microbox II, le kit anglais "pro"
Bonjour à tous
Bon, cette fois c'est bon !
Après une petite correction dans mon listing précédent (En $9106 mettre 86 1F LDA #$1F)
le logiciel graphique affiche une image correcte
A plus
Michel
Routine XBASIC utilisée (FIG12.BAS)
LIST
125 PRINT CHR$(22)
130 PRINT CHR$(18)
140 FOR J=0 TO 180 STEP 2
150 T=6.28*J/201
160 X=INT(255*(1-0.8*COS(T)))
165 T=3*T
170 Y=INT(128*(1-0.8*SIN(T)))
180 PRINT "M"+STR$(X)+","+STR$(Y)+CHR$(13)+"I"+CHR$(13)
190 PRINT "O20"+CHR$(13)
200 NEXT J
210 PRINT CHR$(17)
220 STOP
READY
Image obtenue:
Bon, cette fois c'est bon !
Après une petite correction dans mon listing précédent (En $9106 mettre 86 1F LDA #$1F)
le logiciel graphique affiche une image correcte
A plus
Michel
Routine XBASIC utilisée (FIG12.BAS)
LIST
125 PRINT CHR$(22)
130 PRINT CHR$(18)
140 FOR J=0 TO 180 STEP 2
150 T=6.28*J/201
160 X=INT(255*(1-0.8*COS(T)))
165 T=3*T
170 Y=INT(128*(1-0.8*SIN(T)))
180 PRINT "M"+STR$(X)+","+STR$(Y)+CHR$(13)+"I"+CHR$(13)
190 PRINT "O20"+CHR$(13)
200 NEXT J
210 PRINT CHR$(17)
220 STOP
READY
Image obtenue:
Re: [6809] Microbox II, le kit anglais "pro"
Bonsoir,
Super Michel, super travail comme d'habitude !
Je ne comprends pas bien le lien entre le programme basic et le programme assembleur du post précédent ???
Bonne soirée.
Philippe
Super Michel, super travail comme d'habitude !
Je ne comprends pas bien le lien entre le programme basic et le programme assembleur du post précédent ???
Bonne soirée.
Philippe
Someday I'll get you, Red Baron !
- michel guyot
- Messages : 616
- Inscription : 20 mars 2016 16:01
- Localisation : Pyrénées orientales
Re: [6809] Microbox II, le kit anglais "pro"
Bonjour Philippe,
Attention, il n'y a pas de lien entre les deux posts
Post du 17-05
Le petit programme en assembleur (P219 - FIG010 - Listing) m'a servi à définir l'initialisation minimale pour obtenir:
- un affichage direct avec les commandes de base (line, circle, rect)
- pouvoir réactiver l'affichage après un effacement écran par la commande CLEARG
A noter une petite erreur à corriger: à l'adresse $9106 il faut mettre LDA #$1F au lieu de LDA #$1E pour obtenir le mode entrelacé
Post du 19-05
Je parle ici du logiciel graphique qui traite des codes ASCII et les transforme en commande graphique
Je t'ai transmis la version 6502 d'origine diffusée dans la revue ELEKTOR
J'ai adapté ce logiciel (module CHROUT)
- à mon TAVERNIER avec la carte graphique ELEKTO
- à mon TAVERNIER avec la carte à base de VM9938
- à la carte MicroBoxII
Ce code une fois chargé en mémoire s'intercale dans la liaison OUTCH qui vient du BASIC vers l'entrée PUTCHR du FLEX
Dès qu'un code ASCII est reconnu comme une commande, celle-ci est traitée vers la sortie graphique
Les commandes sont transmises sous forme de chaînes de caractères
LIST
125 PRINT CHR$(22) ==> efface l'écran
130 PRINT CHR$(18) ==> active le mode graphique
140 FOR J=0 TO 180 STEP 2
150 T=6.28*J/201
160 X=INT(255*(1-0.8*COS(T)))
165 T=3*T
170 Y=INT(128*(1-0.8*SIN(T)))
180 PRINT "M"+STR$(X)+","+STR$(Y)+CHR$(13)+"I"+CHR$(13) ==> "M x,y" déplace le curseur "I" définit cette position comme origine
190 PRINT "O20"+CHR$(13) ==> "O20" dessine un cercle de rayon 20
200 NEXT J
210 PRINT CHR$(17) ==> désactive le mode graphique
220 STOP
READY
Avant de diffuser ce code, je fais un peu de ménage pour éliminer les bouts de code mort....cela évitera beaucoup de questions !
A plus
Michel
Attention, il n'y a pas de lien entre les deux posts
Post du 17-05
Le petit programme en assembleur (P219 - FIG010 - Listing) m'a servi à définir l'initialisation minimale pour obtenir:
- un affichage direct avec les commandes de base (line, circle, rect)
- pouvoir réactiver l'affichage après un effacement écran par la commande CLEARG
A noter une petite erreur à corriger: à l'adresse $9106 il faut mettre LDA #$1F au lieu de LDA #$1E pour obtenir le mode entrelacé
Post du 19-05
Je parle ici du logiciel graphique qui traite des codes ASCII et les transforme en commande graphique
Je t'ai transmis la version 6502 d'origine diffusée dans la revue ELEKTOR
J'ai adapté ce logiciel (module CHROUT)
- à mon TAVERNIER avec la carte graphique ELEKTO
- à mon TAVERNIER avec la carte à base de VM9938
- à la carte MicroBoxII
Ce code une fois chargé en mémoire s'intercale dans la liaison OUTCH qui vient du BASIC vers l'entrée PUTCHR du FLEX
Dès qu'un code ASCII est reconnu comme une commande, celle-ci est traitée vers la sortie graphique
Les commandes sont transmises sous forme de chaînes de caractères
LIST
125 PRINT CHR$(22) ==> efface l'écran
130 PRINT CHR$(18) ==> active le mode graphique
140 FOR J=0 TO 180 STEP 2
150 T=6.28*J/201
160 X=INT(255*(1-0.8*COS(T)))
165 T=3*T
170 Y=INT(128*(1-0.8*SIN(T)))
180 PRINT "M"+STR$(X)+","+STR$(Y)+CHR$(13)+"I"+CHR$(13) ==> "M x,y" déplace le curseur "I" définit cette position comme origine
190 PRINT "O20"+CHR$(13) ==> "O20" dessine un cercle de rayon 20
200 NEXT J
210 PRINT CHR$(17) ==> désactive le mode graphique
220 STOP
READY
Avant de diffuser ce code, je fais un peu de ménage pour éliminer les bouts de code mort....cela évitera beaucoup de questions !
A plus
Michel
- michel guyot
- Messages : 616
- Inscription : 20 mars 2016 16:01
- Localisation : Pyrénées orientales
Re: [6809] Microbox II, le kit anglais "pro"
Bonjour Philippe, Bonjour Mick
A plusieurs reprise j'ai rencontré des plantages en lançant des programmes après un RESET....
Une chose m'étonne tout de même:
Le vecteur RESET en $FFFE pointe sur $F08E
En $F08E le code commence comme suit :
RESET STA $FFDD
STA $FFDF
...etc...
Ces instructions concernent le SAM
A ma connaissance, seul le registre DP est mis à 00 lors d'un RESET
Ces premières instructions récupèrent donc un contenu plutôt aléatoire...
Michel
A plusieurs reprise j'ai rencontré des plantages en lançant des programmes après un RESET....
Une chose m'étonne tout de même:
Le vecteur RESET en $FFFE pointe sur $F08E
En $F08E le code commence comme suit :
RESET STA $FFDD
STA $FFDF
...etc...
Ces instructions concernent le SAM
A ma connaissance, seul le registre DP est mis à 00 lors d'un RESET
Ces premières instructions récupèrent donc un contenu plutôt aléatoire...
Michel
Re: [6809] Microbox II, le kit anglais "pro"
Bonjour Michel,
La réponse courte est "on se fiche de ce qu'on écrit".
La réponse longue est "la programmation du SAM se fait par une opération d'écriture.
Chaque bit de configuration est géré par un couples d'adresses : l'adresse paire met à 0 le bit, l'adresse impaire le met à 1 (ou l'inverse, je n'ai pas la doc du SAM avec moi)
Ceci permet de programmer le SAM et en particulier la configuration mémoire AVANT d'y accéder.
C'est assez bien expliqué dans la datasheet du 6883...
Amitiés,
Mick
La réponse courte est "on se fiche de ce qu'on écrit".
La réponse longue est "la programmation du SAM se fait par une opération d'écriture.
Chaque bit de configuration est géré par un couples d'adresses : l'adresse paire met à 0 le bit, l'adresse impaire le met à 1 (ou l'inverse, je n'ai pas la doc du SAM avec moi)
Ceci permet de programmer le SAM et en particulier la configuration mémoire AVANT d'y accéder.
C'est assez bien expliqué dans la datasheet du 6883...
Amitiés,
Mick
Re: [6809] Microbox II, le kit anglais "pro"
Re,
La remarque de Michel m'avait perturbé grave ! Mais la ouf...
Michel : est ce que tes problèmes 'après reset' ne concernent que le gdc ou toute la machine ?
Philippe
La remarque de Michel m'avait perturbé grave ! Mais la ouf...
Michel : est ce que tes problèmes 'après reset' ne concernent que le gdc ou toute la machine ?
Philippe
Someday I'll get you, Red Baron !
- michel guyot
- Messages : 616
- Inscription : 20 mars 2016 16:01
- Localisation : Pyrénées orientales
Re: [6809] Microbox II, le kit anglais "pro"
Bonjour Mick, bonjour Philippe,
Mick nous dit que ces instructions n'ont aucun effet et que la programmation du SAM est effectuée plus loin soit...
C'est sans doute mon expérience passée dans l'aéronautique qui fait que je méfie de ce que l'on nomme le code mort....!
Maintenant il se trouve que l'initialisation de mon programme graphique que je lance après un RESET, plante de temps en temps...
Le pointeur de la pile U que j'utilise dans cette initialisation ne s'effectue pas toujours correctement.
Comme j'aime bien comprendre, je poursuis mes investigations...
A plus
Michel
Mick nous dit que ces instructions n'ont aucun effet et que la programmation du SAM est effectuée plus loin soit...
C'est sans doute mon expérience passée dans l'aéronautique qui fait que je méfie de ce que l'on nomme le code mort....!
Maintenant il se trouve que l'initialisation de mon programme graphique que je lance après un RESET, plante de temps en temps...
Le pointeur de la pile U que j'utilise dans cette initialisation ne s'effectue pas toujours correctement.
Comme j'aime bien comprendre, je poursuis mes investigations...
A plus
Michel
- michel guyot
- Messages : 616
- Inscription : 20 mars 2016 16:01
- Localisation : Pyrénées orientales
Re: [6809] Microbox II, le kit anglais "pro"
Bonjour à tous
Le 19 mai j'avais promis de diffuser le code graphique proposé à l'origine par la revue ELEKTOR et que j'ai adapté au TAVERNIER puis au MicroboxII...
Chose promise, chose due !
Ci-dessous le listing d'assemblage, un petit guide pour son installation et utlisation sur la carte MicroBoxII ainsi que l"image générée par l' exemple du programme BASIC FIG13.BAS
A plus
Michel
Le 19 mai j'avais promis de diffuser le code graphique proposé à l'origine par la revue ELEKTOR et que j'ai adapté au TAVERNIER puis au MicroboxII...
Chose promise, chose due !
Ci-dessous le listing d'assemblage, un petit guide pour son installation et utlisation sur la carte MicroBoxII ainsi que l"image générée par l' exemple du programme BASIC FIG13.BAS
A plus
Michel
Re: [6809] Microbox II, le kit anglais "pro"
Super boulot, Michel !
Re: [6809] Microbox II, le kit anglais "pro"
Bonjour à tous,
Je travaille sur une version "révisée" du moniteur (que j'ai nommée v4.7 pour éviter de la confondre avec la v4.5 qui me semble exister en plusieurs versions selon qu'on utilise la carte originale ou celle modifiée par wawa.voun) :
- Le moniteur accepte les commandes en minuscule ou majuscule (comme le flex), idem pour les valeurs hexadécimales
- les commandes DA et DH ont été remplacée par une commande DU tirée de la version 6.0 (pour MB2K2)
- Il y avait de la place, j'ai rajouté une commande HE (Help) qui liste les commandes disponible (12 lignes à la fois, mais je devrais rapidement le modifier par un paramètre en RAM)
Exemple : Je prévois aussi d'ajouter une interface NetPC à la place du second floppy, si je peux trouver assez de place en mémoire haute...
Je réfléchis aussi à inclure une fonction debug (basée sur le fonctionnement de ASSIST09 ou la ROM du Tavernier, c'est la même chose), si ça vaut le coup... (une fois flex lancé, on a les outils qu'il faut)
Je posterai plus une fois tout ça au point et livrable
A+
Mick
Je travaille sur une version "révisée" du moniteur (que j'ai nommée v4.7 pour éviter de la confondre avec la v4.5 qui me semble exister en plusieurs versions selon qu'on utilise la carte originale ou celle modifiée par wawa.voun) :
- Le moniteur accepte les commandes en minuscule ou majuscule (comme le flex), idem pour les valeurs hexadécimales
- les commandes DA et DH ont été remplacée par une commande DU tirée de la version 6.0 (pour MB2K2)
- Il y avait de la place, j'ai rajouté une commande HE (Help) qui liste les commandes disponible (12 lignes à la fois, mais je devrais rapidement le modifier par un paramètre en RAM)
Exemple : Je prévois aussi d'ajouter une interface NetPC à la place du second floppy, si je peux trouver assez de place en mémoire haute...
Je réfléchis aussi à inclure une fonction debug (basée sur le fonctionnement de ASSIST09 ou la ROM du Tavernier, c'est la même chose), si ça vaut le coup... (une fois flex lancé, on a les outils qu'il faut)
Je posterai plus une fois tout ça au point et livrable
A+
Mick
Re: [6809] Microbox II, le kit anglais "pro"
Bonjour Mick,
Sympa tout ça !
Est ce que ta carte fonctionne maintenant ?
Bonne journée.
Philippe
Sympa tout ça !
Est ce que ta carte fonctionne maintenant ?
Bonne journée.
Philippe
Someday I'll get you, Red Baron !
Re: [6809] Microbox II, le kit anglais "pro"
Bonjour Philippe,
Ah! bah! déjà octobre ... et ça n'a pas avancé côté carte pour cause de programmation d'EEPROM qui ne va pas. EEPROM ou programmateur défectueux, cela reste à voir, d'autant plus que j'ai beaucoup bougé tout l'été et jusque fin septembre... et bien sûr dans ce cas, pas facile de faire du hardware !
Du coup, mes loisirs ont été au clavier seulement J'en ai profité pour écrire un éditeur de ligne de commande pour Flex, qui tourne sur émulateur (Tavernier et Microbox). Je vais envoyer les sources sur un topic plus orienté soft que matos.
A+, je n'ai plus que le bois à finir de rentrer (on se prépare aux pénuries ) et je m'y remet !
Amicalement,
Mick
Ah! bah! déjà octobre ... et ça n'a pas avancé côté carte pour cause de programmation d'EEPROM qui ne va pas. EEPROM ou programmateur défectueux, cela reste à voir, d'autant plus que j'ai beaucoup bougé tout l'été et jusque fin septembre... et bien sûr dans ce cas, pas facile de faire du hardware !
Du coup, mes loisirs ont été au clavier seulement J'en ai profité pour écrire un éditeur de ligne de commande pour Flex, qui tourne sur émulateur (Tavernier et Microbox). Je vais envoyer les sources sur un topic plus orienté soft que matos.
A+, je n'ai plus que le bois à finir de rentrer (on se prépare aux pénuries ) et je m'y remet !
Amicalement,
Mick