Page 1 sur 4

[ GOUPIL 3 ] debut émulation ROM

Publié : 29 mars 2018 23:26
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.

Re: [ GOUPIL 3 ] émulation 6809 moniteur

Publié : 29 mars 2018 23:52
par yo_fr
Super !
tu développes sur quel langage ?

Re: [ GOUPIL 3 ] émulation 6809 moniteur

Publié : 30 mars 2018 11:41
par 6502man
En C, je viens de compléter le premier message du post :wink:

Re: [ GOUPIL 3 ] émulation 6809 moniteur

Publié : 30 mars 2018 11:52
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 ...

Re: [ GOUPIL 3 ] émulation 6809 moniteur

Publié : 31 mars 2018 16:10
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é :?

Re: [ GOUPIL 3 ] émulation 6809 moniteur

Publié : 01 avr. 2018 09:33
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é 7336 fois

Re: [ GOUPIL 3 ] émulation 6809 moniteur

Publié : 01 avr. 2018 10:24
par leduigou
Bravo, beau travail !
Félicitations :)

Re: [ GOUPIL 3 ] émulation 6809 moniteur

Publié : 01 avr. 2018 11:27
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é 7322 fois

Re: [ GOUPIL 3 ] émulation 6809 moniteur

Publié : 01 avr. 2018 11:58
par Totor le Butor
Wouahhhhhhhhhh !!!

Ca me laisse rêveur, trop fort :shock: .

Re: [ GOUPIL 3 ] émulation 6809 moniteur

Publié : 01 avr. 2018 12:03
par 6502man
Merci :oops:

Re: [ GOUPIL 3 ] émulation 6809 moniteur

Publié : 02 avr. 2018 10:33
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é 7289 fois

Re: [ GOUPIL 3 ] émulation 6809 moniteur

Publié : 02 avr. 2018 20:47
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:

Re: [ GOUPIL 3 ] émulation mode 6809

Publié : 02 avr. 2018 23:36
par leduigou
Très beau travail, maintenant une disquette à booter :wink:

Re: [ GOUPIL 3 ] debut émulation ROM

Publié : 03 avr. 2018 17:01
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 ???

Re: [ GOUPIL 3 ] debut émulation ROM

Publié : 03 avr. 2018 21:55
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 ...