EC-6809 FLEX d'Elektor

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

Répondre
Avatar de l’utilisateur
mjwurtz
Messages : 90
Inscription : 30 nov. 2014 17:27

Re: EC-6809 FLEX d'Elektor

Message par mjwurtz »

Bonjour wawa.voun,
Tu m'intéresses avec la carte du Microbox 2... J'étais en train d'envisager la même chose ! Donc ton dessin de circuit vient à point nommé !

D'ailleurs ce serait peut être bien d'ouvrir un topic spécifique sur le sujet ? Je veux bien l'initier par une présentation de la bête, qui me parait bien plus intéressante que les projets monocartes français équivalents (VEGAS ou TAV85)...

Pour l'instant je finalise une version commentée complète du source la PROM en V 4.5 (1985) faite à partir du source publié, mais très incomplet (manque tous les drivers), du source (un peu plus complet) de la v4.2.3 et du désassemblage de la PROM V4.5 disponible sur Internet...

A bientôt,
Michel W
Avatar de l’utilisateur
wawa.voun
Messages : 526
Inscription : 20 avr. 2020 18:09
Localisation : Lautenbach-Zell yoooo

Re: EC-6809 FLEX d'Elektor

Message par wawa.voun »

Bonjour JM,

C'est intéressant de bien préparer les logiciels systèmes en parallèle à la réalisation matérielle.
Et d'avoir les sources au cas ou...
Je pense que l'auteur est joignable. Il est sur Hackaday ici https://hackaday.io/project/171289-microbox-2k2.
Il semble avoir mis ses archives ici https://github.com/rumballd/Microbox-Ar ... master/MB2

Cela va peut être t'aider ?

Tout ce que tu feras par rapport au Microbox II m'intéresse évidemment.

Pour l'instant je ne lance pas encore les pcb. La vérification prend du temps donc je pense faire cela dans une quinzaine si tout va bien...
Je voudrais aussi lancer en même temps les pcb du disque uvprom et celui la n'est pas encore saisi... Bon il n'y en a pas pour long...

Habituellement je commande chez JLPCB avec un minimum de cinq pièces.
Donc il y en aura pour ceux qui voudraient se lancer.
Le premier devis m'indique un prix de l'ordre de 10 € par jeu de plaques plus le port.

Bonne aprèm.
Philippe
Someday I'll get you, Red Baron !
Avatar de l’utilisateur
wawa.voun
Messages : 526
Inscription : 20 avr. 2020 18:09
Localisation : Lautenbach-Zell yoooo

Re: EC-6809 FLEX d'Elektor

Message par wawa.voun »

Bonjour Frédéric,

Super pour les eprom...

Je commence aussi à me demander
- comment tester pas à pas l'interface floppy sans un système quelconque... genre à la main avec juste le moniteur ou des petits bouts de code. ? J'ai encore jamais fait ça !
- avec quelle image disque on pourrait tenter de démarrer ?

Je dois aussi finir une interface ps2 -> parallèle pour le clavier.

Vos avis et conseils m'intéressent.

Cordialement.
Philippe
Someday I'll get you, Red Baron !
Avatar de l’utilisateur
jeffounet
Messages : 1563
Inscription : 25 janv. 2020 06:59
Localisation : Les Angles (30)

Re: EC-6809 FLEX d'Elektor

Message par jeffounet »

Bonjour,

De bien belles cartes en préparation! Et un sacré courage car la carte est aussi grande que complexe à dessiner.
Encore Bravo!

Bonne journée

Jean-François
Il n'y a que 11 sortes de gens, ceux qui comprennent ceux qui ne comprennent pas et ceux qui me font répéter!
Jean-François
Avatar de l’utilisateur
mjwurtz
Messages : 90
Inscription : 30 nov. 2014 17:27

Re: EC-6809 FLEX d'Elektor

Message par mjwurtz »

Bonjour Philippe,
Oui, je connais (la page est dans mes bookmarks :-) ). C'est d'ailleurs que le site github de David Rumball que j'ai récupéré la plupart de mes informations.

Je suis par contre comme pas mal de ses lecteurs sur Hackaday, et aimerais refaire une carte utilisant le processseur d'origine, avec un 6309 d'ailleurs, plutôt qu'un 6809 (il y a quelques registres et instructions supplémentaires, qui ont été découvertes et qui semblent fiables à utiliser), mais peut-être avec quelques ajouts "modernes" comme des mémoires statiques, même si son émulateur matériel moderne est tentant (mais offre moins de plaisir que de refaire un "vrai" 6809 ;-)
Pour le moment j’analyse les sources pour voir l'impact du SAM (MC6883/74LS783) sur le circuit vidéo : il y a un mode SLOW que je croyais réservé au fonctionnement couplé avec un 6847, mais les sources montrent que non... et accessoirement que la gestion du NEC demande de s'y pencher un peu, surtout si on veut utiliser la RAM vidéo non utilisée pour faire un disque RAM !

Ceci dit, ta carte m'intéresse beaucoup, d'autant plus que je dois avoir à peu près tout, y compris un NEC 72020 (upgrade du 7220A, compatible avec celui-ci, mais il me manque les 24 mémoires 4164 nécessaires que j'aimerai trouver pas trop cher et surtout en bon état : je n'en ai pas en stock :-( et c'est un peu galère à débuguer si on n'a que des mémoires dynamiques !
A+
Michel
Avatar de l’utilisateur
wawa.voun
Messages : 526
Inscription : 20 avr. 2020 18:09
Localisation : Lautenbach-Zell yoooo

Re: EC-6809 FLEX d'Elektor

Message par wawa.voun »

Re,

Alors je me suis attaqué sérieusement à la partie vidéo...

Il n'y a encore rien sur l'écran mais à l'oscillo il y a du signal sur la sortie et le paramétrage du 6845 influe bien dessus donc l'espoir est là...

Deux questions :

1_ Ce code ne fait pas ce qu'il devrait :

CRTCAD EQU $EC00
CRTCRG EQU CRTCAD+1
;
;
ORG $1000 ; a place to start
;
CLRB ; clear counter
LDX #CRTTAB ; table pointer
CRTC1 STB CRTCAD ; load 6845 address register
LDA ,X+ ; get register value from table then increment X register by one
STA CRTCRG ; program 6845 control register
INCB ; increment 6845 address counter
CMPB $10 ; finished ?
BNE CRTC1 ; no take branch
SWI ; yes call monitor
;
CRTTAB FCB $7F,$50 ; R0 R1 H total and H displayed
FCB $62,$08 ; R2 R3 HS position and HS width
FCB $21,$06 ; R4 R5 V total and V total adjacent
FCB $18,$1C ; R6 R7 V displayed and VS position
FCB $00,$08 ; R8 R9 Interlace and Max scan line
FCB $49,$09 ; R10 R11 Cursor start and end
FDB $0000 ; R12 R13 Start cursor
FDB $0000 ; R14 R15 Cursor address
;
END

Après compilation CRTTAB est en $1013. Avec $10 boucles X devrait finir à $1023...
Or lors du retour au moniteur X est à $1113 ???

Je soupçonne l'instruction "LDA ,X+" qui pour moi veut dire charge dans A ce qui est à l'adresse rangée dans X puis ajoute 1 à X de ne pas faire exactement cela... Je débute en assembleur 6809.

Si je charge les registres du 6845 à la main avec les valeurs de la table il se passe des trucs intéressants mais ce code lui ne fait rien de valable.

Vos avis ?

MISE A JOUR 21h13 : je me réponds à moi même, avec "CMPB #$10" ça va beaucoup mieux !!!


2_ Dans ce schéma :

video_out.jpg
video_out.jpg (72.8 Kio) Consulté 2810 fois

j'ai remplacé le BFY90 par un 2N2222. J'ai bon à votre avis ? La fréquence du quartz qui clocke (DCLK) le registre à décalage LS165 est de 16 MHz.

Encore une fois merci pour vos avis.

Cordialement.
Philippe
Someday I'll get you, Red Baron !
Avatar de l’utilisateur
leduigou
Messages : 542
Inscription : 08 mai 2011 21:00
Localisation : Paris, 6ème

Re: EC-6809 FLEX d'Elektor

Message par leduigou »

Bonsoir,

J'ai codé les modifications de la ROM ASSIST09 et j'ai débuté la ROM BOOT.
J'ai mis les routines d'initialisation clavier et 6845.

Il me reste encore le reste à faire.

Je te tiens informé de l'avancement...
Cordialement
Frédéric

Forget the C:\ prompt! Real computing starts with +++
Avatar de l’utilisateur
michel guyot
Messages : 612
Inscription : 20 mars 2016 16:01
Localisation : Pyrénées orientales

Re: EC-6809 FLEX d'Elektor

Message par michel guyot »

Bonjour wawa.voun,

L'initialisation des processeurs vidéo est toujours un point délicat avec ces codes à charger en mémoire...j'en sait quelque chose

Une remarque qui fait suite à mes propres galères
Le chargeur utilise généralement un pointeur qui pointe sur une table et un compteur d'octets
Pour éviter que le compteur ne s'envole une bonne pratique consiste à utiliser une instruction plus adéquat
==> Préférer BLS ou BHS plutôt que BNE ou BEQ
Le chargeur pourra charger un octet en plus ou en moins mais s'arrêtera.

Dans ton exemple le compteur a manifestement fait un tour de trop

Cordialement
Michel
Avatar de l’utilisateur
wawa.voun
Messages : 526
Inscription : 20 avr. 2020 18:09
Localisation : Lautenbach-Zell yoooo

Re: EC-6809 FLEX d'Elektor

Message par wawa.voun »

Bonjour,

Pour Frédéric :

Au passage j'ai noté un petit problème qui subsiste dans la rom Assist09.

Il y a parfois perte de synchro sur la rs232 lors de l'envoi pc --> EC-6809 (clavier ou fonction LOAD).

Cela provient du choix d'un diviseur par un entre le baudrate et l'horloge provenant du via.
La datasheet du 6850 est claire, si le diviseur est "par un" les pulses du RS232 en réception doivent être synchronisés avec l'horloge par un moyen externe qui n'existe pas dans notre cas... Vu du coté échantillonnage ça se comprend...

Il faut donc monter la fréquence provenant du via 6522 à 153600 Hz et choisir un diviseur par 16 sur le 6850.

Le code de contrôle de l'acia 6850 passe de $10 à $11 et le paramètre pour l'horloge du via 6522 passe de 0046 (décimal) à 0001 [(46+2)/16-2].

Tu peux prendre en compte ces modifs ?

Merci beaucoup pour ton aide.

Philippe
Someday I'll get you, Red Baron !
Avatar de l’utilisateur
leduigou
Messages : 542
Inscription : 08 mai 2011 21:00
Localisation : Paris, 6ème

Re: EC-6809 FLEX d'Elektor

Message par leduigou »

Bonsoir,

Pas de soucis, j’intègre dans la prochaine version.
Cordialement
Frédéric

Forget the C:\ prompt! Real computing starts with +++
Avatar de l’utilisateur
wawa.voun
Messages : 526
Inscription : 20 avr. 2020 18:09
Localisation : Lautenbach-Zell yoooo

Re: EC-6809 FLEX d'Elektor

Message par wawa.voun »

Bonjour à tous,

Ca y est ! La partie vidéo de la carte d'extension de l'EC-6809 a enfin affiché quelque chose... :P

20211008_173811 BR.jpg
20211008_173811 BR.jpg (1.42 Mio) Consulté 2686 fois

Il reste du travail. L'eprom générateur de caractères semble inadaptée au hardware (affichage standard en vidéo inverse), c'est pas étonnant elle vient de la carte VDU d'un Junior.
Il faut que je vérifie ça de plus près. Je soupçonne que l'auteur a choisi cette solution pour gagner quelques portes logiques...
Au besoin on va tout inverser.

Le calcul des codes de programmation du 6845 n'est pas piqué des hannetons... Le diviseur entre le dot clock et le char clock est de 10 (8 dans le cas de la carte VDU) donc il faut tout revoir pour obtenir des fréquences "normalisées" de trame horizontale et verticale. A la mano j'y suis arrivé mais l'affichage est un peu trop large il me semble.
A ce propos quelqu'un saurait exactement ce qui est admis dans ce domaine ? Je connais le 15625 Hz + 50 Hz mais y a t il d'autre possibilité ?
Ou si quelqu'un peut expliquer le calcul ? Parce que la datasheet c'est clair comme du jus de chique...

Bonne journée.
Philippe

ps en fait un 2N2222 ça va très bien...
Dernière modification par wawa.voun le 09 oct. 2021 13:01, modifié 1 fois.
Someday I'll get you, Red Baron !
Avatar de l’utilisateur
leduigou
Messages : 542
Inscription : 08 mai 2011 21:00
Localisation : Paris, 6ème

Re: EC-6809 FLEX d'Elektor

Message par leduigou »

Salut,

J'ai bien avancé sur le soft. J'ai maintenant les 2 EPROM. L'EPROM Moniteur qui peut fonctionner seule et celle de Boot qui complète l'initialisation. Elle ajoute les commandes de X et Y pour charger le Flex, ainsi que les drivers de clavier et d'écran. La gestion des codes escape est aussi présente (adapté du Tavernier)
J'ai mis les valeurs d'initialisation du 6845 comme sur le Tavernier :
FCB $7F Total Horizontal 255
FCB $50 Affichage Horizontal 80
FCB $64 H Sync position 100
FCB $08 Largeur Sync 8
FCB $1B Total Vertical 27
FCB $05 V Total Adjust 5
FCB $18 Affichage Vertical 24
FCB $19 V Sync position 25
FCB $00 Mode Interlace 0
FCB $0A Line max scan adresse 12 bits
FCB $60 Cursor start 96
LFDC5 FCB $08 Cursor end 8
FCB $00 Start H
FCB $00 Start L
FCB $00 Cursor start H
FCB $00 Cursor start H

Michel, peux-tu me donner ce que tu as utilisé ?
Pour la ROM de caractères, je peux te proposer celle du Tavernier, du Vegas, ...

A+
Cordialement
Frédéric

Forget the C:\ prompt! Real computing starts with +++
Avatar de l’utilisateur
wawa.voun
Messages : 526
Inscription : 20 avr. 2020 18:09
Localisation : Lautenbach-Zell yoooo

Re: EC-6809 FLEX d'Elektor

Message par wawa.voun »

Re,

Je vais essayer ces valeurs de ce pas !
Someday I'll get you, Red Baron !
Avatar de l’utilisateur
wawa.voun
Messages : 526
Inscription : 20 avr. 2020 18:09
Localisation : Lautenbach-Zell yoooo

Re: EC-6809 FLEX d'Elektor

Message par wawa.voun »

Re,

Frédéric les valeurs que tu proposes ne donnent rien de bon...

Je suppose que sur le Tavernier le diviseur est par 8 comme sur la carte VDU du Junior. Enfin c'est ce que les valeurs que tu proposes laissent penser.

Les meilleurs résultats que j'ai sont avec ce jeu de valeurs

FCB $69,$50 ; R0 R1 H total and H displayed
FCB $57,$08 ; R2 R3 HS position and HS width
FCB $21,$06 ; R4 R5 V total and V total adjacent
FCB $18,$1C ; R6 R7 V displayed and VS position
FCB $00,$08 ; R8 R9 Interlace and Max scan line
FCB $60,$08 ; R10 R11 Cursor start and end
FDB $0000 ; R12 R13 Start cursor
FDB $0000 ; R14 R15 Cursor address

L'écran est complet mais limite par rapport au cadre.
A mon avis c'est trop large.

Coté eprom générateur de caractères en inversant tout c'est pas mal. On peut démarrer comme ça.

Je suis impatient de tester tes eproms.

Cordialement.
Philippe
Pièces jointes
EC-68_character_generator_2732.zip
(1.47 Kio) Téléchargé 64 fois
Someday I'll get you, Red Baron !
Avatar de l’utilisateur
mjwurtz
Messages : 90
Inscription : 30 nov. 2014 17:27

Re: EC-6809 FLEX d'Elektor

Message par mjwurtz »

Bonjour à tous,
Si c'est trop large, ce n'est pas tout simplement parce que l'horloge pixel devrait être un peu plus rapide (même si 16Mhz est la valeur normale pour 640 pixels de large) : Un quartz paresseux ?
Peut-être aussi un problème du moniteur... As-tu essayé avec un autre ?
Sinon, que ça prenne toute la largeur est peut-être optimal ? :D
A+,
Michel W
Répondre