[ GOUPIL 3 ] debut émulation ROM
Modérateurs : Papy.G, fneck, Carl
[ GOUPIL 3 ] debut émulation ROM
J'ai commencé à émuler le moniteur du GOUPIL 3 (carte 6809)
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
C'est du C utilisant les API Windows standard.
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
C'est du C utilisant les API Windows standard.
Dernière modification par 6502man le 03 avr. 2018 11:28, modifié 4 fois.
Re: [ GOUPIL 3 ] émulation 6809 moniteur
Super !
tu développes sur quel langage ?
tu développes sur quel langage ?
Re: [ GOUPIL 3 ] émulation 6809 moniteur
En C, je viens de compléter le premier message du post
Re: [ GOUPIL 3 ] émulation 6809 moniteur
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
Maintenant il me reste à étudier la partie qui correspond au boot :
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 ...
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
Je vais investiguer pour voir exactement ce qui ce passe dans cette partie ...
Re: [ GOUPIL 3 ] émulation 6809 moniteur
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
Ce que j'ai compris des docs :
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
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é
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
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
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
Re: [ GOUPIL 3 ] émulation 6809 moniteur
Ca y est j'ai l'affichage du boot du G3
J'ai volontairement émulé le fond d'écran de la zone utile "bleuté"
Maintenant je vais m'attaqué à la gestion du clavier qui n'est pas encore totalement opérationnelle ...
A suivre.
J'ai volontairement émulé le fond d'écran de la zone utile "bleuté"
Maintenant je vais m'attaqué à la gestion du clavier qui n'est pas encore totalement opérationnelle ...
A suivre.
Re: [ GOUPIL 3 ] émulation 6809 moniteur
Bravo, beau travail !
Félicitations
Félicitations
Cordialement
Frédéric
Forget the C:\ prompt! Real computing starts with +++
Frédéric
Forget the C:\ prompt! Real computing starts with +++
Re: [ GOUPIL 3 ] émulation 6809 moniteur
L’émulation clavier fonctionne, on peut utiliser le moniteur du G3
Il me reste à régler le défilement de l'affichage ...
Il me reste à régler le défilement de l'affichage ...
- Totor le Butor
- Messages : 2236
- Inscription : 07 sept. 2011 16:14
- Localisation : Paris - Mezels
Re: [ GOUPIL 3 ] émulation 6809 moniteur
Wouahhhhhhhhhh !!!
Ca me laisse rêveur, trop fort .
Ca me laisse rêveur, trop fort .
Born to bricole
[Rch] Vieux composants électroniques et circuits intégrés toute époque et vieilles cartes .
[Rch] Vieux composants électroniques et circuits intégrés toute époque et vieilles cartes .
Re: [ GOUPIL 3 ] émulation 6809 moniteur
Le défilement de l'affichage fonctionne ainsi que le mode page
Il me reste à régler les dimensions de la fenêtre d'affichage en 25 lignes de 80 colonnes ...
Il me reste à régler les dimensions de la fenêtre d'affichage en 25 lignes de 80 colonnes ...
Re: [ GOUPIL 3 ] émulation 6809 moniteur
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
Re: [ GOUPIL 3 ] émulation mode 6809
Très beau travail, maintenant une disquette à booter
Cordialement
Frédéric
Forget the C:\ prompt! Real computing starts with +++
Frédéric
Forget the C:\ prompt! Real computing starts with +++
Re: [ GOUPIL 3 ] debut émulation ROM
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
Je ne garantie pas d'y arriver mais je peux essayer ...
Il existe quoi comme OS sur Goupil 3 hormis le Flex 3 ???
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
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
Tu es en bonne voie ...
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
Tu es en bonne voie ...
Cordialement
Frédéric
Forget the C:\ prompt! Real computing starts with +++
Frédéric
Forget the C:\ prompt! Real computing starts with +++