[MPF-I] Echanges libres sur les tutos
Modérateurs : Papy.G, fneck, Carl
Re: [MPF-I] Echanges libres sur les tutos
Merci pour ces retours. En étant pragmatique je dirais que tu pourrais juste coller les datas au code mais je comprend ta démarche.
De mon côté je vais essayer Pasmo sur Windows mais je pense qu'il y a un package Linux.
De mon côté je vais essayer Pasmo sur Windows mais je pense qu'il y a un package Linux.
Re: [MPF-I] Echanges libres sur les tutos
Oui, si c'était mon code, je laisserais l'assembleur mettre les data où il veut. Je pense qu'il est quand même utile de pouvoir fixer des adresses à plusieurs endroit facilement. D'un autre coté, si les adresses sont éloignées et qu'il faudrait mettre beaucoup d’octets inutiles au milieu, on peut comprendre qu'un .bin unique n'est pas forcement la bonne approche.
En fait, ce qui m’intéresse aussi, c'est de générer un format 'hex', comme le S19 de Motorola (ou le Intel Hex) qui permet d'exprimer en un unique fichier des segments qui doivent être chargés à différents endroits.
En fait, ce qui m’intéresse aussi, c'est de générer un format 'hex', comme le S19 de Motorola (ou le Intel Hex) qui permet d'exprimer en un unique fichier des segments qui doivent être chargés à différents endroits.
Amstrad CPC et Goupil power
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Re: [MPF-I] Echanges libres sur les tutos
Oui je suis d'accord pour tout un tas de raisons on peut vouloir fixer plusieurs ORG (surtout combinés avec des includes pour merger des ressources externes) donc c'est bien de creuser ce point.
Je n'ai pas encore testé Pasmo... À voir s'il fait mieux.
Malheureusement comme tu dis il faut se fixer sur un assembleur et construire autour car les directives sont différentes d'un assembleur à l'autre.
Je n'ai pas encore testé Pasmo... À voir s'il fait mieux.
Malheureusement comme tu dis il faut se fixer sur un assembleur et construire autour car les directives sont différentes d'un assembleur à l'autre.
Re: [MPF-I] Echanges libres sur les tutos
Sur 68000, c'est un peu plus facile car il a des compilateurs de référence qui supportent le processeur. Par exemple gcc dans le monde Linux qui donne compilateur C, assembleur, linker etc... Il est donc assez facile de se fixer sur une chaine d'outils.
Pour le Z80, on n'a pas cela, ce qui induit une fragmentation des outils (chacun semble refaire son assembleur) et les compilateurs C semblent pour la plupart bloqués sur des versions plus ou moins anciennes du langage (ils ne sont à mon avis pas totalement compatibles entre eux).
Pour Z80, j'ai l'impression que les assembleurs de référence sont plutôt sur des anciennes machines/OS comme le DOS (TASM). Pour du cross-assemblage, c'est quand même plus pratique de pouvoir utiliser un ordinateur moderne.
Pour le Z80, on n'a pas cela, ce qui induit une fragmentation des outils (chacun semble refaire son assembleur) et les compilateurs C semblent pour la plupart bloqués sur des versions plus ou moins anciennes du langage (ils ne sont à mon avis pas totalement compatibles entre eux).
Pour Z80, j'ai l'impression que les assembleurs de référence sont plutôt sur des anciennes machines/OS comme le DOS (TASM). Pour du cross-assemblage, c'est quand même plus pratique de pouvoir utiliser un ordinateur moderne.
Amstrad CPC et Goupil power
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Re: [MPF-I] Echanges libres sur les tutos
J'utilise TASM tous les jours sous Windows 10 pour mes développement rétro, c'est très pratique avec un batch pour automatiser certaines opérations selon la plateforme cible.
Le source je le crée avec Notepad++
Le source je le crée avec Notepad++
Re: [MPF-I] Echanges libres sur les tutos
@6502man du coup, tu utilises DOS Box ?
EDIT: A noter que TASM peut être 1/ Borland Turbo Assembler et 2/ The Telemark Assembler. J'imagine qu'on parle ici du second (Telemark) car le premier est pour x86. Ce que je comprends, c'est que la version TASM 3.2 marche sous Windows, a priori en 32 bits. Les versions d'avant sont pour DOS.
EDIT: A noter que TASM peut être 1/ Borland Turbo Assembler et 2/ The Telemark Assembler. J'imagine qu'on parle ici du second (Telemark) car le premier est pour x86. Ce que je comprends, c'est que la version TASM 3.2 marche sous Windows, a priori en 32 bits. Les versions d'avant sont pour DOS.
Amstrad CPC et Goupil power
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
- Leraptor06
- Messages : 691
- Inscription : 15 févr. 2022 10:34
- Localisation : Mandelieu
Re: [MPF-I] Echanges libres sur les tutos
Bien vu gotcha,
J'avais cru moi aussi que Phil voulais parler de vasm puisque je ne connaissais que tasm de Borland pour x86.
J'avais cru moi aussi que Phil voulais parler de vasm puisque je ne connaissais que tasm de Borland pour x86.
Jp
Re: [MPF-I] Echanges libres sur les tutos
Je me suis fait un câble pour connecter l'entrée EAR du MPF-1 à un convertisseur moderne USB<->Serial.jeffounet a écrit : ↑23 août 2022 14:57 allez voir le fil :viewtopic.php?f=1&t=10797&hilit=mpf1&start=165
J'y parle d'une trouvaille que j'avais fait sur une EPROM supplémentaire appelé "HEX 1BP" qui permet de transférer du code Z80 par un port série de PC via les prises jack de la carte MPF-1B.
J'ai "HEX 1BP" en U7 qui démarre correctement.
Il y a une sorte de communication entre le PC et le MPF-1, mais j'ai systématiquement une erreur RECORD coté MPF-1. La doc de "HEX 1BP" dit que le record type de mon fichier Intel Hex n'est pas bon (il attends 00h), mais en fait, j'ai fait un fichier minimum avec un record type de 00h comme demandé. Il y a donc un autre problème.
A l'analyseur logique, j’ai pu vérifier que ce que sort de mon convertisseur USB<->Serial est bon (les caractères ASCII envoyés sont bien décodés). Du coup, le problème doit venir du niveau des signaux. La norme RS232 permet différents voltage, par exemple -12v <-> 12v. Mon USB<->Serial sort un signal entre 0 et 3.5v donc plutot dans la logique TTL. La doc de "HEX 1BP" parle d'une connexion avec le port série d'un PC sous DOS. J'ai donc mesuré la tension sur mon PC 286 sous DOS et au repos, on est à -10.4v. Il doit lui respecter la norme de liaison série RS232.
- Sur le port série du PC: niveau logique haut = -10.4v, bas = +10.4
- Sur le convertisseur USB<->Serial: niveau logique haut = +3.5v, bas = 0v
J'ai aussi retrouvé chez moi un convertisseur USB-Serial qui lui sort lui un signal qui me semble plus conforme à la norme RS232: entre -9v et +9v (-9 étant le niveau logique haut). Par contre, après essai sur le MPF1, ça ne marche pas non plus (encore l'erreur "record').
A priori, il existe des convertisseurs USB<->Serial TTL qui sont configurables et peuvent supporter 5v en plus du 3.3v (par jumper). je viens d'en commander un pour voir.
En tout cas, pour pour l'instant, en attendant mon nouveau convertisseur USB<->Serial 5v, je suis en train de désassembler le loader 'Hex 1BP'. Ça me permettra de voir s'il n'y a pas d'autres problèmes, comme des problèmes de timing ou de protocole.
- Pièces jointes
-
- USB-RS232 TTL - small2.jpg (38.87 Kio) Consulté 2899 fois
Amstrad CPC et Goupil power
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Re: [MPF-I] Echanges libres sur les tutos
Bonnes nouvelles (!!) Avec mon 2ème convertisseur USB->RS232 qui respecte la norme (-9v, + 9v). J'ai réussi avec "HEX 1BP" à charger une ligne de donnée d'un fichier Intel Hex dans la mémoire du MPF-1B via l'entrée audio.
A l'entrée du premier inverseur U3 de l'entrée audio, j'ai un signal entre -0.6v et 5.8v comme attendu (à cause des 2 diodes qui écrêtent le -9v +9v).
Mon exemple est un fichier Intel Hex avec juste une trame de type 0 et une trame de fin de fichier (type 1). Le fichier Intel Hex de "HEX 1BP" lui même a une trame de type 4 au début et le loader n'est pas content. Il faudrait l’étendre (un autre intérêt du désassemblage que je suis en train de faire).
Par contre, je trouve que le 7805 chauffe beaucoup. Il faudra que je compare avec et sans port série accroché à l'entrée audio.
Idéalement, il faudrait une liaison série qui fournit du 0 et 5v (mais il faudra certainement inverser l’interprétation des données dans le loader car en RS232, le niveau logique 1 a la tension négative). A voir quand je recevrai le nouveau convertisseur USB->Serie que j'ai commandé (sensé sortir du 5v).
A l'entrée du premier inverseur U3 de l'entrée audio, j'ai un signal entre -0.6v et 5.8v comme attendu (à cause des 2 diodes qui écrêtent le -9v +9v).
Mon exemple est un fichier Intel Hex avec juste une trame de type 0 et une trame de fin de fichier (type 1). Le fichier Intel Hex de "HEX 1BP" lui même a une trame de type 4 au début et le loader n'est pas content. Il faudrait l’étendre (un autre intérêt du désassemblage que je suis en train de faire).
Par contre, je trouve que le 7805 chauffe beaucoup. Il faudra que je compare avec et sans port série accroché à l'entrée audio.
Idéalement, il faudrait une liaison série qui fournit du 0 et 5v (mais il faudra certainement inverser l’interprétation des données dans le loader car en RS232, le niveau logique 1 a la tension négative). A voir quand je recevrai le nouveau convertisseur USB->Serie que j'ai commandé (sensé sortir du 5v).
Amstrad CPC et Goupil power
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Re: [MPF-I] Echanges libres sur les tutos
gotcha a écrit : ↑15 sept. 2022 10:55 @6502man du coup, tu utilises DOS Box ?
EDIT: A noter que TASM peut être 1/ Borland Turbo Assembler et 2/ The Telemark Assembler. J'imagine qu'on parle ici du second (Telemark) car le premier est pour x86. Ce que je comprends, c'est que la version TASM 3.2 marche sous Windows, a priori en 32 bits. Les versions d'avant sont pour DOS.
NON NON c'est bien directement sous windows 10 et c'est bien Tasm (Telemark)
- gleike
- Messages : 1349
- Inscription : 16 oct. 2014 11:12
- Localisation : Ludres (54710) Meurthe & Moselle
Re: [MPF-I] Echanges libres sur les tutos
Sur cette page il y a un Freeware Z80 IDE assembleur compilateur compatible affichage 7 segments MPF1.
https://www.heinpragt.com/english/softw ... index.html
https://www.heinpragt.com/english/softw ... index.html
Re: [MPF-I] Echanges libres sur les tutos
J'ai patché "HEX 1BP" pour inverser l’interprétation des bits et avec cette modification, j'ai pu charger un programme avec mon convertisseur USB-Serial TTL qui sort du 3.3v Du coup, j'ai une version pour RS232, et une version pour TTL.
@fneck @zebulon je crois comprendre que vous êtes plus intéressés par le format cassette, mais "HEX 1BP" est à mon avis une bonne alternative car on peut charger depuis l'entrée audio directement le fichier assemblé en Hex (format Intel). J'ai encore des projets pour améliorer "HEX 1BP" (support complet du format Intel, chargement d'un fichier .bin direct, détection automatique de mode entre TTL et RS232), mais il est à mon avis déjà utilisable en l'état.
Amstrad CPC et Goupil power
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
- Leraptor06
- Messages : 691
- Inscription : 15 févr. 2022 10:34
- Localisation : Mandelieu
- fneck
- Site Admin
- Messages : 17541
- Inscription : 01 avr. 2007 12:03
- Localisation : Drôme Provençale (26)
- Contact :
Re: [MPF-I] Echanges libres sur les tutos
Mais quel est l'intérêt, je ne vois pas trop ?
Fabien https://www.system-cfg.com
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
Re: [MPF-I] Echanges libres sur les tutos
L’intérêt, c'est de simplifier le chargement des programmes que tu crée depuis un assembleur/compilateur sur PC.
Actuellement, tu dois créer un fichier Wav avec un format spécial (l'encodage des cassettes), le charger sur le téléphone/dictaphone et espérer que ça marche (niveau suffisamment élevé - la discussion que vous avez eu).
Le loader HEX-1B te permet de charger depuis le PC en liaison série (via l'entrée audio du MPF), directement un fichier Intel Hex qui est le même type de format utilisé pour programmer des EPROM et que pas mal d'assembleurs/compilateurs doivent savoir générer directement.
Je trouve personnellement cela plus pratique qu'utiliser le format cassette. Au lieu du dictaphone, il faut un convertisseur USB-Série, mais on en a de tout manière besoin pour plein d'autres choses.
Par contre, si tu préfères entrer les programmes à la main via le clavier du MPF-1, utiliser la sauvegarde/restauration cassette ira très bien.
Actuellement, tu dois créer un fichier Wav avec un format spécial (l'encodage des cassettes), le charger sur le téléphone/dictaphone et espérer que ça marche (niveau suffisamment élevé - la discussion que vous avez eu).
Le loader HEX-1B te permet de charger depuis le PC en liaison série (via l'entrée audio du MPF), directement un fichier Intel Hex qui est le même type de format utilisé pour programmer des EPROM et que pas mal d'assembleurs/compilateurs doivent savoir générer directement.
Je trouve personnellement cela plus pratique qu'utiliser le format cassette. Au lieu du dictaphone, il faut un convertisseur USB-Série, mais on en a de tout manière besoin pour plein d'autres choses.
Par contre, si tu préfères entrer les programmes à la main via le clavier du MPF-1, utiliser la sauvegarde/restauration cassette ira très bien.
Dernière modification par gotcha le 22 sept. 2022 13:15, modifié 1 fois.
Amstrad CPC et Goupil power
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)