[MPF-I] Echanges libres sur les tutos
Modérateurs : Papy.G, fneck, Carl
Re: [MPF-I] Echanges libres sur les tutos
Il faut effectivement utiliser ce convertisseur que je ne possède pas, as-tu un exemple de modèle qui fonctionne ? Il faut aussi utiliser le support U6 pour une seconde EPROM au lieu d'une puce RAM.
Je pense que dans l'idée de Fabien la carte MPF-1 est placée à côté du PC donc pas besoin de passer par un appareil intermédiaire, le câble audio est branché du PC au MPF-1.
J'ai effectué des tests avec le dictaphone car j'aimerais pouvoir m'en servir de mémoire de masse au lieu d'un lecteur de K7. Il ne fonctionne pas en l'état avec MPF-1 mais il fonctionne bien avec le CPC et le ZX spectrum.
Je pense que dans l'idée de Fabien la carte MPF-1 est placée à côté du PC donc pas besoin de passer par un appareil intermédiaire, le câble audio est branché du PC au MPF-1.
J'ai effectué des tests avec le dictaphone car j'aimerais pouvoir m'en servir de mémoire de masse au lieu d'un lecteur de K7. Il ne fonctionne pas en l'état avec MPF-1 mais il fonctionne bien avec le CPC et le ZX spectrum.
Re: [MPF-I] Echanges libres sur les tutos
Le programme qu'avait partagé jeffounet marche avec une liaison série de type RS232 (voltages negatif-positifs, comme -9v +9v). Un convertisseur USB qui sort du DB9 devrait logiquement respecter la norme RS232, par exemple: https://www.amazon.fr/UGREEN-PL2303-Win ... Y4UG/?th=1 . Le problème, c'est qu'ils ne donnent pas les infos de voltage.
Le programme que j'ai patché hier (et pas encore partagé) lui marche avec les convertisseurs USB-TTL. Ce type de convertisseur n'a pas de prise DB9 et on a juste 4 fils à connecter. Par exemple: https://www.amazon.fr/Outbit-c%C3%A2ble ... 08HQYS3NQ/
Maintenant, je vais travailler sur une évolution du programme qui détecte automatiquement si c'est l'un (RS232) ou l'autre (TTL). C'est possible car le RS232 et le TTL n'utilisent pas le même niveau de tension au repos. Je souhaite aussi pouvoir charger directement les fichiers .bin qui sont ce que les assembleur génèrent pas défaut la plupart du temps (par contre, contrairement à l'Intel Hex, il n'y aura pas de vérification par checksum). Il y a donc encore un peu de boulot pour obtenir quelque chose de pleinement satisfaisant.
Concernant la localisation du loader, je trouve assez naturel d'avoir une EPROM supplémentaire qui étend le moniteur avec des outils supplémentaires. Mon idée à terme serait de mettre beaucoup de RAM au MPF-1 et de charger les programmes que je crée uniquement en RAM (comme sur les ordinateurs habituels), non en dur dans les EPROM (Idéalement, j'aimerais charger des programmes relogeables en RAM, mais ça c'est une autre histoire).
En fonction de la place qu'il reste .. ou pas ... sur l'EPROM principal du MPF1, on pourrait aussi y ajouter des outils comme le loader. Je vais étudier tout ça.
Ce loader, c'est pour moi une manière intéressante pour découvrir le MPF-1b tout en me permettant de mettre en place un environnement de développement. Je trouve ça intéressant. Par contre, je comprends bien que ça puisse être moins excitant pour d'autres
Le programme que j'ai patché hier (et pas encore partagé) lui marche avec les convertisseurs USB-TTL. Ce type de convertisseur n'a pas de prise DB9 et on a juste 4 fils à connecter. Par exemple: https://www.amazon.fr/Outbit-c%C3%A2ble ... 08HQYS3NQ/
Maintenant, je vais travailler sur une évolution du programme qui détecte automatiquement si c'est l'un (RS232) ou l'autre (TTL). C'est possible car le RS232 et le TTL n'utilisent pas le même niveau de tension au repos. Je souhaite aussi pouvoir charger directement les fichiers .bin qui sont ce que les assembleur génèrent pas défaut la plupart du temps (par contre, contrairement à l'Intel Hex, il n'y aura pas de vérification par checksum). Il y a donc encore un peu de boulot pour obtenir quelque chose de pleinement satisfaisant.
Concernant la localisation du loader, je trouve assez naturel d'avoir une EPROM supplémentaire qui étend le moniteur avec des outils supplémentaires. Mon idée à terme serait de mettre beaucoup de RAM au MPF-1 et de charger les programmes que je crée uniquement en RAM (comme sur les ordinateurs habituels), non en dur dans les EPROM (Idéalement, j'aimerais charger des programmes relogeables en RAM, mais ça c'est une autre histoire).
En fonction de la place qu'il reste .. ou pas ... sur l'EPROM principal du MPF1, on pourrait aussi y ajouter des outils comme le loader. Je vais étudier tout ça.
Ce loader, c'est pour moi une manière intéressante pour découvrir le MPF-1b tout en me permettant de mettre en place un environnement de développement. Je trouve ça intéressant. Par contre, je comprends bien que ça puisse être moins excitant pour d'autres
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
Le souci, c'est de devoir recharger la RAM à chaque mise sous tension, et de devoir sauvegarder à chaque fin de séance, ce qui est une vraie plaie qui n'encourage pas l'assiduité sur cette SBC.gotcha a écrit : ↑22 sept. 2022 13:43 Mon idée à terme serait de mettre beaucoup de RAM au MPF-1 et de charger les programmes que je crée uniquement en RAM (comme sur les ordinateurs habituels), non en dur dans les EPROM (Idéalement, j'aimerais charger des programmes relogeables en RAM, mais ça c'est une autre histoire).
Idéalement, il faudrait se débrouiller pour garder intact le contenu de la RAM entre les séances, afin de n'avoir pas à répéter les opérations fastidieuses de chargement et de sauvegarde à chaque séance.
Pour ce faire, il faudrait pouvoir, soit maintenir intact le contenu de la RAM par piles (ce que peut faire le MPF-1P), soit utiliser de l'EEPROM (une carte d'extension du MPF-1P le fait), soit pouvoir brancher sur le MPF-1 une carte mémoire ou une clé USB.
Notator est le nom d'un programme séquenceur Midi et notation musicale pour Atari ST(e) (puis Mac).
- gleike
- Messages : 1344
- Inscription : 16 oct. 2014 11:12
- Localisation : Ludres (54710) Meurthe & Moselle
Re: [MPF-I] Echanges libres sur les tutos
Apparemment ça existe.
Re: [MPF-I] Echanges libres sur les tutos
Oui, c'est une bidouille inspirée de ce qu'il existe sur le MPF-1P, ce dont je parlais plus haut...
Notator est le nom d'un programme séquenceur Midi et notation musicale pour Atari ST(e) (puis Mac).
- fneck
- Site Admin
- Messages : 17495
- Inscription : 01 avr. 2007 12:03
- Localisation : Drôme Provençale (26)
- Contact :
Re: [MPF-I] Echanges libres sur les tutos
Ok mais il y a aussi des inconvénients. Comme l'a dit déjà Zebulon il te faut remplacer la 2ème puce de RAM par la ROM HEX-1B puis utiliser un convertisseur USB/série sur le PC, avec le câble qui va bien, puis utiliser un programme de communication... bref c'est pas si simple.
A savoir aussi que l'enregistrement et la lecture en WAV fonctionne avec une réussite de 100% sur le PC une fois la suppression de R13 réalisée. Pour ma part j'ai dû mettre une carte son sur port USB parce que mon ordinateur portable ne dispose pas de prise micro externe. Ensuite les routines TAPE RD et TAPE WR sont incluses dans le moniteur du MPF-1.
Pour le fun je comprends tout à fait que HEX-1B soit amusant mais en pratique, pour travailler sur le PC puis transférer sur le MPF-1, je trouverais plus intéressant un convertisseur en WAV comme Zebulon avait commencé à faire (peut être terminé même, je n'ai pas forcément suivi).
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
Pas encore fini... Il faut que je code la lecture du fichier binaire en entrée, pour l'instant le fichier que je génère est construit par une boucle.
- fneck
- Site Admin
- Messages : 17495
- Inscription : 01 avr. 2007 12:03
- Localisation : Drôme Provençale (26)
- Contact :
Re: [MPF-I] Echanges libres sur les tutos
Sur mon MPF-1B original, il y a une Eprom montée en U7, je n'avais jamais cherché à savoir ce que c'était. Mais maintenant que je sais un tout petit peu utiliser la bête, j'ai enfin regardé
Je ne vais pas vous le dévoiler comme ça, ce serait trop facile, donc voici le fichier .BIN de l'EPROM, c'est une 2716. Mais le programme doit pouvoir aussi se charger en RAM, ça devrait être facile pour Gotcha avec son interface série ou encore transformé en WAV par Zebulon.
.
Je ne vais pas vous le dévoiler comme ça, ce serait trop facile, donc voici le fichier .BIN de l'EPROM, c'est une 2716. Mais le programme doit pouvoir aussi se charger en RAM, ça devrait être facile pour Gotcha avec son interface série ou encore transformé en WAV par Zebulon.
.
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
Sympa, une nouvelle ROM à désassembler
Pour info, j'ai crée un repo sur github où j'ai déjà mis le code désassemblé et réassemblé de HEX-1BP : https://github.com/gotcha-z80/mpf1
Je compléterai avec l’évolution que je suis en train de développer (support RS232 / TTL automatique), et d'autres choses au fur et à mesure que je m'amuse avec le MPF-1.
Dans mes dernières expériences, je n'arrive pas à charger un programme trop gros (je tentais de charger ma version du loader en RAM avec le loader original en EPROM). Il y a peut être un problème de timing dans le code original et il va falloir que j'étudie tout ça.
Sinon, petite question (je n'ai pas trop cherché mais vous le savez peut-être): où est mise la pile en RAM par le moniteur ?
Pour info, j'ai crée un repo sur github où j'ai déjà mis le code désassemblé et réassemblé de HEX-1BP : https://github.com/gotcha-z80/mpf1
Je compléterai avec l’évolution que je suis en train de développer (support RS232 / TTL automatique), et d'autres choses au fur et à mesure que je m'amuse avec le MPF-1.
Dans mes dernières expériences, je n'arrive pas à charger un programme trop gros (je tentais de charger ma version du loader en RAM avec le loader original en EPROM). Il y a peut être un problème de timing dans le code original et il va falloir que j'étudie tout ça.
Sinon, petite question (je n'ai pas trop cherché mais vous le savez peut-être): où est mise la pile en RAM par le moniteur ?
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
En fait pas forcement. Çà dépend si le code est PIC (Position Independent Code, avec juste des adresses relatives) ou non.
Par exemple, quand on regarde le code de HEX-1BP désassemblé, on voit ça:
Code : Tout sélectionner
2000 dd 21 53 21 LD IX,displayOffset
Du coup, ce code est fait pour être mis dans l'EPROM U7 à l'adresse 2000h et pas autre part !
On ne peut donc pas le charger en RAM à l'adresse 1800h. Pour cela, il faudra le réassembler pour être placé à l'adresse 1800h (avec la directive ORG).
C'est tout l'interet de dessassembler les codes comme je l'ai fait pour HEX-1BP, car ça permet ensuite facilement de le placer ailleurs sans risques.
Je crois que JP et CALL utilisent aussi des adresses absolues. JR est par contre relatif.
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'ai regardé le code hier soir et il n'est pas relogeable, il y a des call avec des adresses absolues dans la plage 2000h. Par contre on peut le charger en RAM si on place une seconde puce RAM en U7.
Re: [MPF-I] Echanges libres sur les tutos
La pile système est par défaut de 1F9F à 1FAE, et la pile utilisateur est sous la limite 1F9E, donc tout dans le champ mémoire de la RAM U8.
Notator est le nom d'un programme séquenceur Midi et notation musicale pour Atari ST(e) (puis Mac).
- gleike
- Messages : 1344
- Inscription : 16 oct. 2014 11:12
- Localisation : Ludres (54710) Meurthe & Moselle
Re: [MPF-I] Echanges libres sur les tutos
Un petit montage dans ce genre pourrait être tenté,
Deux diodes schottky, un condo, une résistance, une pile CR2032, un inter.
On bascule l'inter avant d'éteindre, on le re-bascule après l'allumage et Hop
D'après le Datasheet des HM6116LP-3 celles-ci ne consomment que 30µa en veille ( /CS au niveau haut)
et se contentent de 2V minimum.
Re: [MPF-I] Echanges libres sur les tutos
J'ai passé la journée sur ce problème ... J'ai dû sortir l'analyseur logique pour me rendre compte au final que c'est mon convertisseur USB-Serie TTL ou son driver qui est buggué !! Au bout d'un moment, il décide de répéter un caractère sans raisongotcha a écrit : ↑25 sept. 2022 09:20 Dans mes dernières expériences, je n'arrive pas à charger un programme trop gros (je tentais de charger ma version du loader en RAM avec le loader original en EPROM). Il y a peut être un problème de timing dans le code original et il va falloir que j'étudie tout ça.
J'ai essayé avec un autre convertisseur USB-Serie TTL et je peux transférer mon 'gros' fichier sans problème. Du coup, je vais enfin pouvoir tester mon HEX-1BP amélioré. Le bon coté, c'est que j'ai en ai profité pour vérifier les timings lors de la réception des bits et tout est OK. Ça dérive un peu mais comme tout est recalibré après chaque caractère transmis, c'est bon.
Je me dit maintenant que transférer de l'Intel Hex est quand même mieux qu'un .bin, car il y a une vérification de checksum. Sans cette vérification, c'est plus qu'une journée qu'il m'aurait fallut pour découvrir le bug de mon convertisseur
Dernière modification par gotcha le 25 sept. 2022 18:23, modifié 2 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
Merci pour l'info.
Elle est sacrement petite. Il ne faut pas trop abuser sur les appels de fonction et les push si on la laisse telle quelle
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)