[ GOUPIL 3 ] debut émulation ROM

Couvre tous les domaines de l'émulation logicielle ou de la virtualisation ainsi que les discussions sur les divers outils associés.

Modérateurs : Papy.G, fneck, Carl

Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

[ GOUPIL 3 ] debut émulation ROM

Message par 6502man »

J'ai commencé à émuler le moniteur du GOUPIL 3 (carte 6809) :D

J'ai mis en place le système de "pagination" de la RAM (translateur), l’émulation de l'ACIA clavier, le décodage de la VRAM, le décodage alambiqué de la ROM.

Le moniteur tourne mais je n'ai pas encore d'affichage.

Leduigou m'aide à comprendre le fonctionnement de ce G3, mais il y a encore du boulot ...

Je suis parti des sources de Dctavernier, Merci Daniel :D

C'est du C utilisant les API Windows standard.
Dernière modification par 6502man le 03 avr. 2018 11:28, modifié 4 fois.
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Avatar de l’utilisateur
yo_fr
Messages : 1336
Inscription : 13 août 2009 18:24
Localisation : 78...
Contact :

Re: [ GOUPIL 3 ] émulation 6809 moniteur

Message par yo_fr »

Super !
tu développes sur quel langage ?
Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [ GOUPIL 3 ] émulation 6809 moniteur

Message par 6502man »

En C, je viens de compléter le premier message du post :wink:
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [ GOUPIL 3 ] émulation 6809 moniteur

Message par 6502man »

La partie affichage s'initialise correctement maintenant, les registres du MC6845 sont bien renseigné et la ram vidéo rempli d'espace et d'attributs :D

Maintenant il me reste à étudier la partie qui correspond au boot :

Code : Tout sélectionner

                     ;*
                     ; * POINT D'ENTREE A FROID
                      ;* 
                      ;* INITIALISATION VARIABLES M.A.P. ET EDITION MESSAGE
						  
42A1 0F1A       CLR    /$1A                6
42A3 1CAF       ANDCC  #$AF                3
42A5 BD4C0C     JSR    $4C0C               8
42A8 CCF001     LDD    #$F001              3
42AB BD4D6E     JSR    $4D6E               8
42AE F61000     LDB    $1000               5
42B1 C1A5       CMPB   #$A5                2
42B3 260B       BNE    $42C0               3
42B5 C6F1       LDB    #$F1                2
42B7 FDECEA     STD    $ECEA               6
42BA 8EA001     LDX    #$A001              3
42BD 7E434A     JMP    $434A               4
42C0 CCF401     LDD    #$F401              3
42C3 BD4D6E     JSR    $4D6E               8
42C6 F61000     LDB    $1000               5
42C9 C1A5       CMPB   #$A5                2
42CB 2610       BNE    $42DD               3	==> saut vers affichage message boot
42CD C6F5       LDB    #$F5                2
42CF FDECE0     STD    $ECE0               6
42D2 C30202     ADDD   #$0202              4
42D5 FDECE2     STD    $ECE2               6
42D8 8E0001     LDX    #$0001              3
42DB 206D       BRA    $434A               3
42DD 8E4C18     LDX    #$4C18              3	==>  adresse du message de boot
42E0 3F40       SWI    #$40               19	==> swi avec fonction code $40
Le but c'est d'arriver à ce que le programme arrive en $42DD pour afficher le message du boot, car pour l'instant il n'y arrive jamais, il arrive bien en $42A1 ....

Je vais investiguer pour voir exactement ce qui ce passe dans cette partie ...
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [ GOUPIL 3 ] émulation 6809 moniteur

Message par 6502man »

Bon il y a un truc qui coince car une fois arrivé en $42A5 il ne revient jamais en $42A8 et le processeur ce perd dans des instructions incohérentes puisque pointant la ou il n'y a aucun programme à exécuter :(

Il y a peut être un cas que je n'ai pas prévu ou la pagination ne ce fait pas correctement mais je ne voit pas pour l'instant ou :roll:

Ce que j'ai compris des docs :

Code : Tout sélectionner

E-0000  à  E-FFFF =  RAM 64Ko
F-4000  à  F-7FFF =  ROM 2
F-A000  à  F-DFFF =  ROM 1 ==> copie en F-F800-F-FFFF  (2ko haut de l'eeprom)
F-F000  à  F-F7FF =  zone des entrées sorties
F-FFF0  à  F-FFFF =  translateur d'adresse RAM
x-FF00  à  x-FFEF =  zone permanente de la ROM
Si quelqu'un vois ou j'ai mal interprété la doc, votre aide seras la bienvenue :)

Edit:

j'ai identifié l'endroit ou sa "déraille" :
Le saut en $5011 arrive sur de la RAM et plante

Code : Tout sélectionner

;500F 8602       LDA    #$02
;5011 AD9FEC80   JSR    [$EC80]
;5015 2011       BRA    $5028

mémoire en $EC40-$EC8F 
;EC40 5e ee 4f 8d 5e ee 00 00 00 00 51 a1 51 a6 52 57  ................
;EC50 52 5d 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
;EC60 51 b3 51 b3 52 0f 52 62 52 67 00 00 00 00 00 00  ................
;EC70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
;EC80 65 a4 65 a4 65 9a 00 00 52 22 52 6c 52 71 00 00  ................

le translateur: FE 00 00 00 F4 F5 FA Fb 00 00 00 00 F8 F9 EF FF
Et je pense que le problème est que le translateur pointe vers le mauvais endroit $65A4 soit une fois translaté => FA5A4 donc il y a bien un truc que je n'ai pas compris ou mal émulé :?
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [ GOUPIL 3 ] émulation 6809 moniteur

Message par 6502man »

Ca y est j'ai l'affichage du boot du G3 :D :D

J'ai volontairement émulé le fond d'écran de la zone utile "bleuté" :wink:

Maintenant je vais m'attaqué à la gestion du clavier qui n'est pas encore totalement opérationnelle ...

A suivre.

DCPG3.jpg
DCPG3.jpg (39.37 Kio) Consulté 6983 fois
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Avatar de l’utilisateur
leduigou
Messages : 542
Inscription : 08 mai 2011 21:00
Localisation : Paris, 6ème

Re: [ GOUPIL 3 ] émulation 6809 moniteur

Message par leduigou »

Bravo, beau travail !
Félicitations :)
Cordialement
Frédéric

Forget the C:\ prompt! Real computing starts with +++
Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [ GOUPIL 3 ] émulation 6809 moniteur

Message par 6502man »

L’émulation clavier fonctionne, on peut utiliser le moniteur du G3 :D

Il me reste à régler le défilement de l'affichage ...

DCPG3_2.jpg
DCPG3_2.jpg (84.63 Kio) Consulté 6969 fois
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Avatar de l’utilisateur
Totor le Butor
Messages : 2224
Inscription : 07 sept. 2011 16:14
Localisation : Paris - Mezels

Re: [ GOUPIL 3 ] émulation 6809 moniteur

Message par Totor le Butor »

Wouahhhhhhhhhh !!!

Ca me laisse rêveur, trop fort :shock: .
Born to bricole
[Rch] Vieux composants électroniques et circuits intégrés toute époque et vieilles cartes .
Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [ GOUPIL 3 ] émulation 6809 moniteur

Message par 6502man »

Merci :oops:
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [ GOUPIL 3 ] émulation 6809 moniteur

Message par 6502man »

Le défilement de l'affichage fonctionne ainsi que le mode page :D

Il me reste à régler les dimensions de la fenêtre d'affichage en 25 lignes de 80 colonnes ...
CDPG3.jpg
CDPG3.jpg (161.6 Kio) Consulté 6936 fois
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [ GOUPIL 3 ] émulation 6809 moniteur

Message par 6502man »

L’émulateur fonctionne je suis entrain de peaufiner les fonctionnalités générales et je vous proposerais une version beta, si vous êtes sages :lol:
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Avatar de l’utilisateur
leduigou
Messages : 542
Inscription : 08 mai 2011 21:00
Localisation : Paris, 6ème

Re: [ GOUPIL 3 ] émulation mode 6809

Message par leduigou »

Très beau travail, maintenant une disquette à booter :wink:
Cordialement
Frédéric

Forget the C:\ prompt! Real computing starts with +++
Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [ GOUPIL 3 ] debut émulation ROM

Message par 6502man »

L'émulation des disquettes c'est encore un nouveau domaine pour moi, mais pour ça il faut que j'ai des dumps (RAW) des disquettes et surtout que je connaisse leurs structures :roll:

Je ne garantie pas d'y arriver mais je peux essayer ...

Il existe quoi comme OS sur Goupil 3 hormis le Flex 3 ???
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Avatar de l’utilisateur
leduigou
Messages : 542
Inscription : 08 mai 2011 21:00
Localisation : Paris, 6ème

Re: [ GOUPIL 3 ] debut émulation ROM

Message par leduigou »

Pour le 6809, je ne connaît que le FLEX.
Les disquettes sont standard et l’emulation du Tavernier sera réutilisable.
Une difficulté sera de mettre l’émulation du passage du trou d’index. Le G3 vérifie la rotation de la disquette comme cela.
J’ai aussi des images des disquettes du même format que pour le Tavernier. Je ne les ai pas testées mais leurs modifications est simple en cas de problème :wink:

Tu es en bonne voie ...
Cordialement
Frédéric

Forget the C:\ prompt! Real computing starts with +++
Répondre