[ GOUPIL 3 ] debut émulation ROM

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

Modérateurs : Papy.G, fneck, Carl

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 »

Il faudra que je cherche où il cache la date ...
Cordialement
Frédéric

Forget the C:\ prompt! Real computing starts with +++
Daniel
Messages : 17286
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: [ GOUPIL 3 ] debut émulation ROM

Message par Daniel »

Il est possible, avec l'émulateur, de récupérer la date et l'heure du PC pour initialiser la date de l'ordinateur émulé.
Dans dcmoto, par exemple, la date affichée dans l'écran d'accueil des TO8 et TO9 est calculée à partir de celle du PC.
Daniel
L'obstacle augmente mon ardeur.
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 »

Bonjour,

@Daniel : Un grand merci à toi aussi, grâce à qui le Tavernier et maintenant le Goupil G3 sont émulés !
Dans le Flex, la date est normalement stockée à un endroit bien précis, mais il faut que je trouve comment elle est initialisée. Ensuite 6502MAN pourra faire le nécessaire.

En attendant, et grâce à la persévérance de 6502MAN, je crois que le moniteur du Goupil G3 n'a plus beaucoup de secrets !
Nous devons encore travailler un peu pour fiabiliser le fonctionnement de l'émulateur, et surtout choisir entre patcher la ROM quand quelque-chose est compliqué à émuler ou garder la ROM et simuler les fonctions hardware complexes ...
Cordialement
Frédéric

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

Re: [ GOUPIL 3 ] debut émulation ROM

Message par 6502man »

On avance sur la partie Flex et Disquette.

Donc j'ai rajouter la prise en compte de la date du jour pour la commande Flex "DATE", d'ailleurs y a t'il un circuit RTC prévu pour le Goupil 3 ?

J'ai aussi mis en place la gestion de 4 disquettes, je ne comprends pas pourquoi dans le registre du DRIVE SELECT le moniteur envoie différentes valeurs pour sélectionner le lecteur 0 : $09,$29,$2D... et pour le lecteur 1 : $08,$28,$2C ... ???
je ne sais pas comment électroniquement la sélection se fait, peut être seulement les bits 0 et 1 sont câblés vers le WD1791 (mais c'est une supposition).
Donc j'ai décidé dans l'émulateur de prendre les 2 bits de poids faible et de les inversé pour faire la sélection du lecteur !!!
par contre pour l'instant je ne suit pas arrivé à utiliser les lecteurs 2 et 3 ????

De même on peut voir sur les captures écrans que le FLEX peut gérer apparemment plusieurs formats pour le formatage, mais est ce que toutes les combinaisons sont acceptables pistes, faces, densités ???

Date :
DCPG3_Flex_date.jpg
DCPG3_Flex_date.jpg (53.18 Kio) Consulté 5626 fois
Formatage d'une nouvelle disquette dans le lecteur 1:
DCPG3_Flex_FDDwrite.jpg
DCPG3_Flex_FDDwrite.jpg (106.09 Kio) Consulté 5630 fois
Pièces jointes
DCPG3_Flex_FDDwrite2.jpg
DCPG3_Flex_FDDwrite2.jpg (150.37 Kio) Consulté 5630 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 ] debut émulation ROM

Message par yo_fr »

Bien !
et tu as réalisé l'émulation du WD ?
Avatar de l’utilisateur
6502man
Messages : 12242
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [ GOUPIL 3 ] debut émulation ROM

Message par 6502man »

@JJ: J'ai repris le très bon travail de Daniel pour le principal, ensuite j'ai rajouté l'émulation de la commande "FORCE INTERRUPT" et la gestion du "INDEX PULSE" et 2,3 bricoles :)


J'ai testé plusieurs commandes FLEX et elles fonctionnent correctement, il n'y a que le BASIC qui ne ce charge pas j'enquête ....


Sinon je viens de comprendre pourquoi je n'arrive pas à utiliser les lecteurs 2 et 3 sous FLEX car ils sont configurés en lecteur 8":
Et je ne sait absolument pas comment configurer le system FLEX pour qu'il prennent 4 lecteur 5"1/4 et si c'est possible d'ailleurs ???
y a t'il des spécialistes du Flex qui parcourent ce forum ?

DCPG3_FlexDisk.jpg
DCPG3_FlexDisk.jpg (112.51 Kio) Consulté 5589 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 ] debut émulation ROM

Message par leduigou »

Bonsoir,

Le Goupil utilise un système de lecteurs virtuels. Il teste tous les drives dans un certain ordre et les affectes en suite. Il cherche les lecteurs 5’’1/4, les 8’’ et DD.

J’avais vu le truc avec le vrai, on peut charger la disquette dans le lecteur du haut ou du bas, le Goupil démarre et baptise ´0´ le lecteur utilisé.
Cordialement
Frédéric

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

Re: [ GOUPIL 3 ] debut émulation ROM

Message par 6502man »

Oui ce "système" d'ordre des lecteurs et pas évident à émuler, mais bon j'y reviendrais :roll:

Cette semaine je n'ai pas eu le temps d'avancer sur l'émulation du Goupil 3, et pas sur que j'ai le temps la semaine prochaine, mais en attendant j'ai un peu regardé pour les formats des disquettes Flex et j'ai pu tester avec l'émulateur la création des divers format possibles (commande NEWDISK) :

DCPG3_Flex_FDDwrite2.jpg
DCPG3_Flex_FDDwrite2.jpg (150.37 Kio) Consulté 5526 fois

Voici ce que cela donne

Code : Tout sélectionner

    GOUPIL 3   FORMATS DISK

Piste 0 FACE 0 et 1 toujours SD 10 secteurs pour les autres pistes cela dépend du format :

      PISTES  SECTEUR  FACE   DENSITE
      ------  -------  -----  -------
35SS    35      10      1       S
35SD    35      16      1       D
35DS    35      10      2       S
35DD    35      16      2       D
40SS    40      10      1       S
40SD    40      16      1       D
40DS    40      10      2       S
40DD    40      16      2       D
80SS    80      10      1       S
80SD    80      16      1       D
80DS    80      10      2       S
80DD    80      16      2       D
Avec le débuggeur j'ai put observé pour chaque format les changements de pistes / secteurs et les reportés sur mon tableau, après ce n'est que de l'émulation donc pas certains que la vraie machine puisse utiliser tous ces formats sur un même lecteurs ???

D'autres part Fabien a bien voulu accepter de numériser avec sa carte Kryoflux les disquettes que j'ai, ce qui nous permettra de confirmer le/les formats réels .
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 »

Bonjour,

Le format des disquettes a toujours été très varié, je me souviens de posts de TRS80 sur le sujet. Des formats très optimisés ont été conçus pour exploiter le contenu des disquettes au maximum. Pour mémoire, la limite en densité est liée au temps entre 2 pulses index sur une rotation. Le nombre d'octets bruts (y compris le formatage) doit y tenir, avec la cadence de l'horloge du contrôleur. Ceci étant dit, le concepteur du système d'exploitation peut optimiser plus ou moins.
J'ai probablement induit 6502MAN en erreur en lui disant que le flex utilisait 18 secteurs par face en Double Densité. Ses dernières investigations montrent que c'est faut pour le G3, il n'y en a que 16 ! :o
J'ai de mon coté travaillé à un projet d'émulation du Tavernier (ce n'est pas que l'émulateur de Daniel ne me convient pas, mais c'est plus un challenge personnel :oops: ) J'y ai analysé les formats utilisés, et il y a bien 18 secteurs par défaut comme défini par la commande FORMAT du Tavernier SIE (extrait de la commande Format en assembleur) :

L083C FCC "TTENTION ! FORMATAGE ! -"
FCC "---",LF,CR," *********"
FCC "************************"
FCC "*",BEL,LF,LF,CR,"ETES VO"
FCC "US SUR ? ",EOT
MSG03 FCC "Le disque est prot{g{ !",BEL
FCC EOT
MSG04 FCC LF,CR,"Le disque @ format"
FCC "er est-il dans le lecteu"
FCC "r ",EOT
MSG05 FCC " ? ",EOT
L08DF FCC "ERREUR IRRECUPERABLE..."
MSGERR FCC "FORMATAGE INTERROMPU",BEL
FCC ESC,"C",EOT
L090E FCC " Mauvais secteur "
FCC "en ",BEL,EOT
L092B FCC "FORMATAGE TERMINE",ESC,"C"
FCC EOT
L093F FCC "Nombre total de secteurs"
FCC " : ",EOT
MSG08 FCC "Disque double face ? ",EOT
MSG09 FCC "Disque double densit{ ? "
FCC EOT
MSG10 FCC "Nom du disque : ",EOT
MSG11 FCC "Num{ro du disque : ",EOT
MSG12 FCC "Piste 0 en double densit"
FCC "{ aussi ? ",EOT
MSG13 FCC "Disque 35,40 ou 80 piste"
FCC "s (3-4-8) ? 4",BS,EOT
MSG14 FCC "Disque 5 ou 8 pouces (5-"
FCC "8) ? 5",BS,EOT
MSG15 FCC "Formatage simple densit{"
FCC EOT
MSG16 FCC "Lecteur 80 pistes utilis"
FCC "{ en 40 pistes ? ",EOT
MSG17 FCC "Secteur 80 pistes utilis"
FCC "{ en 35 pistes ? ",EOT
MSG18 FCC "Etes-vous d'accord ? ",EOT
MSG19 FCC "***** PAS DE LECTEUR *"
FCC "****",BEL,EOT
MSG20 FCC "Nombre de secteurs par f"
FCC "ace sur une piste (valeu"
FCC "r normale 18) ? 18",BS,BS
FCC EOT
MSG21 FCC "Valeur du skew (valeur n"
FCC "ormale ",EOT
MSG22 FCC ") ? ",EOT
MSG23 FCC "Initialisation physique."
FCC " Piste : ",EOT
MSG24 FCC "Initialisation logique. "
FCC "Piste/Secteur : " EOT

De même, on trouve dans la doc du Vegas6809 le paragraphe suivant :
Vegas6809
Vegas6809
Capture d’écran 2018-04-29 à 08.13.54.png (104.89 Kio) Consulté 5516 fois
390 en SD soit 39 pistes de 10 secteurs (la piste 0 n'est pas disponible pour les données) et 702 secteurs en DD soit 39 pistes de 18 secteurs.

Pour mon émulateur, j'ai opté pour autoriser les 16 et 18 secteurs par piste en DD pour la reconnaissance des formats à priori. En suite pour la lecture/écriture je regarde dans les registres du contrôleur WD1795.
Enfin, une solution possible est de regarder dans les positions 24 et 25 du 3ème secteur de la disquette, on doit y trouver le numéro de la dernière piste et du dernier secteur. S'il y a 10, 16,18, 20, 36 ou 38, on en déduit le format a adopter.
Cordialement
Frédéric

Forget the C:\ prompt! Real computing starts with +++
Avatar de l’utilisateur
rendomizer
Messages : 413
Inscription : 17 juin 2016 21:00
Contact :

Re: [ GOUPIL 3 ] debut émulation ROM

Message par rendomizer »

J'aimerai bien savoir comment on fait un émulateur... Mon rêve d'émuler mon sergio max computeur a base de Z80 mais pas de vdp encore.
comment on émule le micro-processeur ?
comment on émule le vdp avec les défauts (image pas nette, à la commodore 64) ?
ou trouver la doc et la rom ?
Je ne suis qu'un utilisateur pas un pro
Avatar de l’utilisateur
fneck
Site Admin
Messages : 17389
Inscription : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Re: [ GOUPIL 3 ] debut émulation ROM

Message par fneck »

6502man a écrit : 29 avr. 2018 00:16 D'autres part Fabien a bien voulu accepter de numériser avec sa carte Kryoflux les disquettes que j'ai, ce qui nous permettra de confirmer le/les formats réels
J'ai bien récupéré les disquettes mais il me faudra un peu de temps pour les tester / numériser :roll:
Fabien https://www.system-cfg.com
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
Avatar de l’utilisateur
fneck
Site Admin
Messages : 17389
Inscription : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Re: [ GOUPIL 3 ] debut émulation ROM

Message par fneck »

J'ai commencé la lecture des disquettes Goupil. Soit dit en passant, ImageDisk les lit parfaitement et plus rapidement qu'avec la Kryoflux 8)

La structure standard que j'ai trouvée pour l'instant c'est du 40 pistes en simple ou double face, et double densité. Dans tous les cas la première piste est en simple densité avec 10 secteurs de 256 octets.

Format simple face :
0/0 : 10 x 256 octets / index de 1 à 10 / entrelacement de 3:1
1/0 à 39/0 : 16 x 256 octets / index de 1 à 16 / entrelacement de 5:1
soit 634 secteurs et 162304 octets.

Format double face:
0/0 : 10 x 256 octets / index de 1 à 10 / entrelacement de 3:1
0/1 : 10 x 256 octets / index de 11 à 20 / entrelacement de 3:1
1/0 à 39/0 : 16 x 256 octets / index de 1 à 16 / entrelacement de 5:1
1/1 à 39/1 : 16 x 256 octets / index de 17 à 32 / entrelacement de 5:1
soit 1268 secteurs et 324608 octets.
Fabien https://www.system-cfg.com
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
Avatar de l’utilisateur
6502man
Messages : 12242
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [ GOUPIL 3 ] debut émulation ROM

Message par 6502man »

Merci Fabien pour la confirmation des formats des disquettes Flex du Goupil 3 :wink:
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Avatar de l’utilisateur
fneck
Site Admin
Messages : 17389
Inscription : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Re: [ GOUPIL 3 ] debut émulation ROM

Message par fneck »

Comment fait-on un format brut pour un émulateur d'une image disquette qui comporte des pistes de tailles différentes. C'est le cas ici où la première piste en simple densité contient 2560 octets alors que les suivantes en comportent 4096 (pour une disquette simple face)? On met tous les secteurs à la suite ou on reformate différemment la première piste?

Dans le lot de disquettes que m'a passé Phil il y a aussi quelques 80 pistes. Je n'arrive pas à les lire correctement :cry:
Fabien https://www.system-cfg.com
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
Avatar de l’utilisateur
6502man
Messages : 12242
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [ GOUPIL 3 ] debut émulation ROM

Message par 6502man »

Pour les dumps l'idéal est d'avoir un format qui permette de recréer une disquette physique, après je converti les fichiers en image disk pour l’émulateur, pour le Goupil 3 les secteurs sont tous à la suite les uns des autres en partant de la piste 0 jusqu’à la dernière, alternativement face 0 et face 1.
par facilité la première piste est considéré de même taille que les suivantes (donc on rajoute 6 secteurs vides en fin de piste).

Ca correspond au format RAW, par exemple dans l'outil HXC c'est IMG il me semble :wink:
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Répondre