DCMOTO et chargement fichier Bin

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

Répondre
Avatar de l’utilisateur
Dominique
Messages : 831
Inscription : 09 mars 2010 13:37
Localisation : Limoges
Contact :

DCMOTO et chargement fichier Bin

Message par Dominique »

Bonsoir Daniel,

Tu sais que je suis un fan de ton travail et après ton DCVG5K j'explore à présent ton excellent DCMOTO V 2013.03.10 !

Tu avais fait dans la Version 2012.02.01 du DCVG5K une excellente modif appelée : Adresse de chargement d'un fichier en ram différente de l'adresse du dump mémoire.

Pourrais-tu rajouter la même option sur ton DCMOTO ?

Les screen du compilateur Forth se chargeant à l'adresse 2100H il serait facile de passer sur les Thomson
tous les programmes Forth écrits en TXT et transformés en Bin par Notepad ++

Merci
Daniel
Messages : 17422
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: DCMOTO et chargement fichier Bin

Message par Daniel »

OK, je note pour une prochaine version de dcmoto.
En attendant cette modification, on peut toujours modifier l'adresse du dump/désassemblage mémoire pour charger le fichier binaire, et la modifier à nouveau après le chargement pour afficher une autre plage.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Dominique
Messages : 831
Inscription : 09 mars 2010 13:37
Localisation : Limoges
Contact :

Re: DCMOTO et chargement fichier Bin

Message par Dominique »

Merci, je regarde ce soir
Avatar de l’utilisateur
Dominique
Messages : 831
Inscription : 09 mars 2010 13:37
Localisation : Limoges
Contact :

Re: DCMOTO et chargement fichier Bin

Message par Dominique »

att Daniel

J'utilise le même sujet afin de ne pas encombrer par un nouveau sujet.
J'aimerai savoir si l'émulation vidéo reproduit fidèlement les attitudes du MO et en particulier
le bit 0 du registre A7C0 car la commande PSET du Forth me donne des résultats incohérents.

Merci.
Daniel
Messages : 17422
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: DCMOTO et chargement fichier Bin

Message par Daniel »

A ma connaissance aucune anomalie n'a encore été détectée sur l'émulation vidéo du MO5. En particulier je pense que la commutation entre la mémoire "formes" et la mémoire "couleurs" fonctionne correctement. Bien entendu un bug est toujours possible, il faudrait vérifier avec un programme de test pour comparer son comportement avec un MO5 et avec dcmoto.

Le PIA 6821 n'est pas émulé dans toutes ses finesses, mais la sélection des ports d'entrées sorties ou des registres de direction par le bit 2 du registre de contrôle devrait fonctionner correctement. Si ce bit est à zéro, le registre de direction est sélectionné et l'écriture en $A7C0 n'a pas d'influence directe sur la sélection de mémoire vidéo. C'est peut-être là le problème.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Dominique
Messages : 831
Inscription : 09 mars 2010 13:37
Localisation : Limoges
Contact :

Re: DCMOTO et chargement fichier Bin

Message par Dominique »

Merci,

Effectivement le problème doit être autre.
J'ai beau mettre le bit 0 du registre A7C0 à 1 (par H81), il repasse sans crier garde à 0 (H80)
C'est peut être la commande PSET du Forth, je ne sais pas.
Je vais mettre plus tard un petit programme Forth utilisant PSET mais qui ne marche pas de façon satisfaisante.
Daniel
Messages : 17422
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: DCMOTO et chargement fichier Bin

Message par Daniel »

Tout programme affichant quelque chose à l'écran, par exemple l'éditeur Forth (et probablement aussi PSET), modifie le bit 0 de $A7C0. C'est pareil avec l'éditeur Basic. Le simple clignotement du curseur suffit à le modifier. Pour être certain que le bit ne change pas, il faut rester dans un programme en langage machine et désactiver les interruptions. Ou le remettre à la bonne valeur juste avant de modifier la mémoire vidéo. Et encore, s'il y a une interruption à ce moment-là, elle peut le modifier.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Dominique
Messages : 831
Inscription : 09 mars 2010 13:37
Localisation : Limoges
Contact :

Re: DCMOTO et chargement fichier Bin

Message par Dominique »

Merci Daniel,

Eh oui, les fameuses interruptions. Je me souviens que tu avais réglé mes problèmes d'affichage sur le Forth du VG5K en me conseillant ça.

A+
Avatar de l’utilisateur
Dominique
Messages : 831
Inscription : 09 mars 2010 13:37
Localisation : Limoges
Contact :

Re: DCMOTO et chargement fichier Bin

Message par Dominique »

Je vais le mettre ici bien que cela n'ai rien à voir avec les BIN /

@Daniel
1 - Mise au point me donne C3 pour ADDD et A09 me donne F3 - Ou me suis je trompé?
test2.jpg
test2.jpg (88.09 Kio) Consulté 5954 fois
2 - J'ai parfois des problèmes entre les B et les 8 comme ici..
test.jpg
test.jpg (44.15 Kio) Consulté 5954 fois
Merci

Edit : OOOPS : en repotassant la doc j'ai trouvé # ! C'était

Code : Tout sélectionner

	ADDD   # va_fence
Daniel
Messages : 17422
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: DCMOTO et chargement fichier Bin

Message par Daniel »

A propos de l'adresse de chargement des fichiers binaires : la modification est faite depuis longtemps dans dcmoto, mais la nouvelle version n'est pas encore diffusée car d'autres nouveautés sont en cours de finalisation. Ce sera probablement prêt en juillet ou août.
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 7986
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: DCMOTO et chargement fichier Bin

Message par __sam__ »

Je me permet d'intervenir sur la partie ASM.
Dominique a écrit :1 - Mise au point me donne C3 pour ADDD et A09 me donne F3 - Ou me suis je trompé?
La différence est lié au mode d'adressage du ADD. $C3 est un ADDD avec adressage immédiat, c'est à dire que la valeur des deux octets suivants le $C3 est ajouté au registre D (= A concaténé à B). $F3 est un adressage étendu, c'est à dire que les deux octets suivant le $F3 sont l'adresse d'une variable (2 octets). La valeur sur 16 bit stockée à cette adresse sera ajouté au registre D.
2 - J'ai parfois des problèmes entre les B et les 8 comme ici..
C'est pareil que pour D mais avec le registre X ce coup ci. $8E est un LDX immédiat (avec le symbole #): la valeur 16 bit qui suit le $8E est chargée dans X. $BE est un LDX étendu: la valeur 16 bit qui suit le $BE est l'adresse d'une variable qui contient la valeur à charger dans X.

Un memento très pratique pour l'ASM que j'utilise régulièrement est celui du datasheet motorola: http://www.maddes.net/m6809pm/appendix_d.htm#noteD-1a. Il contient pratiquement tout ce qu'il y a à savoir sur les instructions 6809 (description de l'instruction, nombre d'octets, mode d'adressage, nombre de cycles, flags affectés).

sam.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Avatar de l’utilisateur
Dominique
Messages : 831
Inscription : 09 mars 2010 13:37
Localisation : Limoges
Contact :

Re: DCMOTO et chargement fichier Bin

Message par Dominique »

Jusqu'à présent je m'étais servi de Notepad++ pour éditer les fichiers mrx et faire des copier coller compatibles avec
l’édireur Forth : adr $2100 à $4000
Maintenant pour inclure un fichier BIN qui commence à $4050 et termine aux alentours de $8500 y a-t-il une difficulté particulière ?
CAD puis-je faire un copier coller d'un BIN de l'assembler A09 ?
Afin de m'assurer de l’intégrité de mon fichier BIN, je voulais faire un "Compare" adresse par adresse sur NOTEPAD++ entre le fichier MRX du MO4PAINT (enfin, les adresses concernées) et celui que A09 a créé. Est ce possible avec MRX ? Je veux dire MRX est il une séquence continue depuis $0000 jusqu'à la fin de la RAM ? Il m'a semblé y voir des 0D - 0A dans le fichier.

Merci
Daniel
Messages : 17422
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: DCMOTO et chargement fichier Bin

Message par Daniel »

Le plus simple pour injecter du binaire en RAM est d'utiliser la fonction "charger un fichier binaire" de l'outil de mise au point. Attention, ce n'est pas un copier/coller : il faut sélectionner un fichier, par exemple le fichier .bin en sortie de l'assembleur A09. L'adresse de chargement, en version 2013.03.10, est égale à l'adresse sélectionnée pour le désassemblage et le dump mémoire. Dans la prochaine version de dcmoto il y aura une adresse distincte pour le chargement du fichier binaire.

Une autre possibilité, pour les bidouilleurs, est de modifier un fichier .mrx (sauvegarde par dcmoto de l'état de l'ordinateur). Ce fichier contient, en particulier, l'intégralité de la RAM de l'ordinateur émulé. Elle est stockée telle quelle, sans aucun ajout. La difficulté est de retrouver son adresse dans le fichier .mrx. Elle n'est pas fixe, car la structure du fichier .mrx évolue avec dcmoto (pas à chaque révision mais assez souvent). Par exemple la prochaine version aura un nouveau format .mrx pour permettre d'y intégrer les nouveautés en cours de développement. A chaque changement de format, la version du fichier .mrx change. Elle est stockée dans les 4 premiers octets du fichier. Le fichier .mrx est binaire, on peut le modifier avec un éditeur hexadécimal mais pas avec un éditeur de texte.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Dominique
Messages : 831
Inscription : 09 mars 2010 13:37
Localisation : Limoges
Contact :

Re: DCMOTO et chargement fichier Bin

Message par Dominique »

Merci Daniel;
Je viens d'injecter le bin selon ton premier conseil. c'est parfait. :D
Répondre