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

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,

La dot clock est ok à 16 MHz et le 74LS163 est bien câblé pour faire un diviseur par 10.
Enfin il me semble :
Sans titre.jpg
Sans titre.jpg (86.43 Kio) Consulté 2803 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 »

Re,
Ah oui, c'est une division par 10... Ça veut donc dire que la ligne fait 800 pixels : 8 du caractère+2 (pour les séparer ?), alors que sur le tavernier c'est une division par 8 donc des lignes de 640 pixels... avec une horloge à 16Mhz dans les deux cas.
En toute logique pour avoir la même longueur de ligne affichée, il faudrait une horloge pixel à 20Mhz sur la carte Elektor, non ?
A+
Michel W.
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,

Bon, ben ça marche pas encore ...
Voila tout de même une version à essayer : V0.5
J'ai mis les valeur des registres du 6845 indiqués plus haut dans le fil.
Quand on lance le programme, il part sur le terminal série, comme avant.
Il faut modifier le flag en DF8D ->01 pour passer sur l'écran.
Il demande aussi le clavier sur le port A du VIA.
Le clavier doit marcher avec le Handshake (data ready sur CA1 (clavier -> CA1), Ack sur CA2 (Clavier <- CA2)
L'écran ne marche pas bien sur mon émulateur, mais ça devrait mieux se passer sur le vrai. Jusqu'au scroll où là ça doit planter ...

Bref, tu peux déjà regarder le programme ...
V05.zip
(59.83 Kio) Téléchargé 68 fois

Pour info, j'ai enrichi le listing de l'emplacement de tous les flags et registres mis dans la zone mémoire :
ASSIST09 - MC6809 MONITOR V0.4 7-10-21 ASSEMBLEUR 6809 PAGE 6
EQUATES
*********************************************
* VECTOR TABLE IN RAM
*********************************************
* DF00 - START OF RESERVED AREA
* -
* -
* DF52 - STACK
* DF51 - FREE
* -
* -
* DF67 = ROM2WK LIMIT OF EXT ROM AREA
* - FREE
* - FREE
* Variables Carte Video
*----------------------
* DF7C = MEMESL MEM ESC CODE POSITION
* DF7E = ES3FLG FLAG ESC CODE
* DF7F = ES2FLG FLAG ESC CODE
* DF80 = VIDESC FLAG ESC CODE
* DF81 = INBCAR MAX NUMBER OF CAR $77F
* DF83 = NBLIGN NUMBER OF LINES
* DF84 = FLGESC ESC FLAG
* DF85 = VIDDEB START OF VIDEO RAM
* DF87 = VIDCUR CURRENT CURSOR POSITION
* DF89 = LNGLI NUMBER OF CAR PER LINES
* DF8B = CURAD CURSOR ADDRESS
* DF8D = VIDFLG VIDEO FLAG 0=SERIAL 1=DISPLAY

* Variables Moniteur
* DF8E = DELIM EXPRESSION DELIMITER/WORK BYTE
* DF8F = MISFLG LOAD CMD/THRU BREAKPOINT FLAG
* DF90 = SWICNT TRACE "SWI" NEST LEVEL COUNT
* DF91 = TRACEC TRACE COUNT
* DF93 = PCNTER LAST PROGRAM COUNTER
* DF95 = PSTACK COMMAND RECOVERY STACK
* DF97 = RSTACK RESET STACK POINTER
* DF99 = LASTOP LAST OPCODE TRACED
* DF9B = NUMBER BINARY BUILD AREA
* DF9D = BASEPG BASE PAGE VALUE
* DF9E = ADDR ADDRESS POINTER VALUE
* DFA0 = WINDOW WINDOW
* DFA2 = BKPTOP BREAKPOINT OPCODE TABLE
*
* DFB2 = BKPTBL BREAKPOINT TABLE
*
* DFC2 = VECTAB VECTOR TABLE
* DFC2 = _AVTBL ADDRESS OF VECTOR TABLE
* DFC4 = _CMDL1 FIRST COMMAND LIST
* DFC6 = _RSVD RESERVED HARDWARE VECTOR
* DFC8 = _SWI3 SWI3 ROUTINE
* DFCA = _SWI2 SWI2 ROUTINE
* DFCC = _FIRQ FIRQ ROUTINE
* DFCE = _IRQ IRQ ROUTINE
* DFD0 = _SWI SWI ROUTINE
* DFD2 = _NMI NMI ROUTINE
* DFD4 = _RESET RESET ROUTINE
* DFD6 = _CION CONSOLE ON
* DFD8 = _CIDTA CONSOLE INPUT DATA
* DFDA = _CIOFF CONSOLE INPUT OFF
* DFDC = _COON CONSOLE OUTPUT ON
* DFDE = _CODTA CONSOLE OUTPUT DATA
* DFE0 = _COOFF CONSOLE OUTPUT OFF
* DFE2 = _HSDTA HIGH SPEED PRINTDATA
* DFE4 = _BSON PUNCH/LOAD ON
* DFE6 = _BSDAT PUNCH/LOAD DATA
* DFE8 = _BSOFF PUNCH/LOAD OFF
* DFEA = _PAUSE TASK PAUSE ROUTINE
* DFEC = _EXPAN EXPRESSION ANALYZER
* DFEE = _CMDL2 SECOND COMMAND LIST
* DFF0 = _ACIA ACIA ADDRESS
* DFF2 = _PAD CHARACTER PAD AND NEW LINE PAD
* DFF4 = _ECHO ECHO/LOAD AND NULL BKPT FLAG
* DFF6 = _VIA VIA ADDRESS
* DFF8 = SLEVEL STACK TRACE LEVEL
* DFFA = BKPTCT BREAKPOINT COUNT
* DFFB = SWIBFL BYPASS SWI AS BREAKPOINT FLAG
* DFFC = PAUSER PAUSE ROUTINE
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 Frédéric,

Ouf... Merci pour tout ce travail !

Je vais passer aux essais et je te tiens au courant.

J'ai 2 demandes :

- je voudrais pouvoir compiler moi même pour tester des petites modifs...
J'ai installé asm6809 qui me semble aller pas mal (mais ton source n'est pas directement compatible et les modifs ne sont pas difficiles mais sont fastidieuses) et aussi ton émulateur de Tavernier. Il fonctionne.
Peux m'indiquer en quelques mots comment compiler sous l'émulateur en partant du fichier txt sous windows et en récupérant le binaire à la fin de la manip ? Je suppose qu'il faut mettre le txt dans une image dsk etc... et inversement pour récupérer le binaire à la fin... Comment fais tu tout ça ?

- temporairement est il possible de faire fonctionner la partie vidéo en gardant l'entrée par clavier série ? Le convertisseur ps2 --> // n'est pas prêt.

C'est typiquement le genre de truc provisoire que je voudrais pouvoir compiler moi même sans t’embêter.

En attendant pour te remercier je te propose de t'envoyer un pcb vierge de la partie extension si cela t’intéresse...

Merci. 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 »

Bonjour,
Je te fais la modification clavier ce soir et je te fais une explication du passage vers et de l’émulateur de Tavernier.
Pour l’émulateur de l’Ec6809, j’ai encore de nombreux bugs liés à l’absence de certains modes de fonctionnement. Le 6845 ne fonctionne pas non plus avec l’Eprom de ton générateur de caractères, c’est peut-être lié à l’utilisation en colonne plutôt qu’en ligne. Il faut que j’éclaircisse le sujet mais le temps manque !
C’est plus facile quand il faut émuler une machine qui marche déjà , il n’y a que l’émulateur à debugger !

Bon, on y arrivera, j’en suis sur !


A+
Frederic
Cordialement
Frédéric

Forget the C:\ prompt! Real computing starts with +++
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 »

Bonjour,

J'ai pris un peu de retard dans la mise au point.
J'ai encore des comportements surprenants sur l'écran, mais c'est peut-être mon émulateur qui fait des siennes !
Maintenant, dans la version 0.6, l'écran se met en marche suite à la commande : M DF8D-00-01 qui met $01 dans la mémoire $DF8D. Le clavier reste sur la liaison série.
J'ai corrigé en soft l'écran inversé car l'EPROM a les caractères normaux et inverses.
Mes codes de contrôles ne marchent pas bien, c'est à vérifier.
Il serait aussi utile de mettre un buzzer piezo sur une patte libre pour avoir un "bip" (par exemple le PA7 qui ne serait pas lié au clavier).

J'ai mis aussi la disquette avec le source et l'assemblé du programme.
A tester ...
V06.zip
(418.67 Kio) Téléchargé 72 fois
Cordialement
Frédéric

Forget the C:\ prompt! Real computing starts with +++
Avatar de l’utilisateur
mjwurtz
Messages : 90
Inscription : 30 nov. 2014 17:27

Re: EC-6809 FLEX d'Elektor

Message par mjwurtz »

wawa.voun a écrit : 11 oct. 2021 09:02 J'ai installé asm6809 qui me semble aller pas mal (mais ton source n'est pas directement compatible et les modifs ne sont pas difficiles mais sont fastidieuses) ...
J'ai aussi installé asm6809, mais il a quelques défauts (voire bugs) qui le rendent non compatible avec les sources "classiques" :
- il admet les commentaires derrière une instruction sans ; avant... mais pas toujours !
- il n'admet pas les instructions de type NAM, STTL, PAG, OPT, RPT n (pour répéter n fois la ligne suivante)
- il n'aime pas le mélange dans FCC $0A,$0D,'texte',$04 (chaque chiffre ou lettre est codé, les $ sont ignorés)
- il ne connaît pas les instructions abrégées genre ASLD, LSLD, SEC, CLC
De plus le code est assez touffu (et bien compliqué pour un simple assembleur, à mon avis) : je l'ai modifié sur un certain nombre de points ci dessus : facile pour les instructions abrégées, plus compliqué pour lui faire comprendre RPT, mais ça marche. Je cale sur NAM, etc, car il semble y avoir un bug dans la routine de traitement des lignes à ignorer et enfin je ne me suis pas encore trop penché sur le pb de traitement des commentaires...
Son seul avantage est de reconnaître les instructions "cachées" du 6309

Pour ma part, je préfère utiliser a09 (et pour désassembler une rom f9dasm, les deux sont compatibles), bien que celui ci ait également des différences :
par exemple LEAX 0,U donne un mauvais résultat, il faut écrire LEAX ,U et pour les FCC à contenu $xx,'texte' il n'aime pas non plus : il faut décomposer en FCB $0A,$0D puis FCC "texte" puis FCB $04

Bref, il n'y a guère de normalisation à ce niveau ;-)

A+
Michel W
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,

Suite au (gros) bug sur la V06, voici une V07 qui fait une initialisation différente du VIA, qui ne doit rien changer à la ROM Moniteur.
Je suppose que l'ancienne init du VIA modifiait l'horloge.
Le nouveau Boot affiche en // sur l'écran et sur le terminal série.
A tester ...
V07.zip
(64.37 Kio) Téléchargé 76 fois
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,

Je pense tester cela dans la journée.

Merci Frédéric.

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,

Aller, une version 08 avec une correction de la lecture de la liaison série et une inversion de l'affichage.
V08.zip
(67.95 Kio) Téléchargé 75 fois
J'ai encore des améliorations à faire, mais j'espère qu'elle va marcher.
Je pourrait regarder la disquette de FLEX ...
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,

Grace au superbe travail de Frédéric on y presque :


20211023_111247.jpg
20211023_111247.jpg (1.47 Mio) Consulté 2501 fois


Encore un détail je pense et ce sera bon !

Prochaine étape qui se profile, le clavier // !

A bientôt.
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 »

Bonjour,

Je pense que celle-ci sera bonne !
J'ai trouvé le bug, c'est corrigé.
L'affichage devrait être correct.

Je vais passer la version à 1.0 si ça marche et je vais regarder la disquette.

A+
V09.zip
(66.17 Kio) Téléchargé 82 fois
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,

Les eproms sont sous le tube bleu...
Il faut encore quelque minutes de patience avant les essais.

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 corrigé le bug de l'affichage à l'écran, mais j'ai trouvé une erreur sur le chargement du lecteur de disquette.
J'ai fini le secteur de boot, et la version ECDOS 0.0 du TAVDOS.
Le problème est qu'en Bretagne où je passe le WE, il me manque des outils pour faire les disquettes.
Je ferais donc un package lundi soir ou mardi prochain. J'espère que l'EC6809 pourra booter, ou faire quelque-chose de ressemblant !

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 »

Bonjour Frédéric,

De mon coté j'attends les pcb pour un convertisseur clavier ps2 --> parallèle. Ça devrait être réglé semaine prochaine, j'ai tous les composants.

Si il y a d'autres intéressés il va me rester trois pcb ???

Je me demande si on pourrait pas faire une eprom de boot dans l'état actuel avec les derniers bugs corrigés et tester le chargement de l'os avec un loader hors eprom que je peux charger via le moniteur en rs232 avec la commande L puis lancer avec G...

En fait je perds beaucoup de temps avec les eprom, l'effacement etc... Ce serait plus souple comme ça pour les modifs et tout ça.
J'ai un Gotek flashfloppysé donc les fichiers dsk ça devrait aller.

On ne pourrait mettre tout ça en eprom qu'après les premières mises au point.

Bonne soirée et encore merci pour ton travail.
Philippe
Someday I'll get you, Red Baron !
Répondre