mercredi 26 mars 2025

programmeur d'eeprom version 2 de l'interface graphique complétée.

J'ai complété version 2 de l'interface graphique de eeProg.

démonstration

2025-03-27, nouvelle version

Nouvelle version de L'application maintenant disponible GUI_V2.0R2. Le firmware de la carte NUCLEO a aussi été modifié et doit donc être reflashé avant d'utiliser cette version de l'application. FW_V2.0R1

changements

  • Cette version corrige un bogue mineur qui faisait afficher en double le résultat d'un view range lorsque la commande était saisie sur la ligne de commande.
  • Augmentation de la vitesse de communication entre le programmeur et le PC à 460800 BAUD au lieu de 115200.

2025-03-31, version 2.0R5

Plusieurs problèmes ont été corrigés et un nouveau menu a été ajoutée.

  • Le dialogue de sélection du port sériel comprend maintenant un contrôle édit de plus. Pour régler un problème de perte de données en réception j'ai du modifier le firmware de la carte NUCLEO et l'application pour ajouter un délais programmable entre l'envoie de chaque ligne au PC par le programmeur. Ce délais en millisecondes doit être dans l'intervalle hexadécimal {0..F}, soit de 0 à 15 millisecondes. Je n'ai ne problème de pertes de données que sur mes laptops en Windows 11. Sur mon PC configuré avec Ubuntu/Linux 24.04LTS je peux configurer ce délais à 0.
  • Une commande reboot a été ajoutée au menu Files, cette commande envoie un signal au programmeur pour que le firmware se réinitialise. Vous devez resélectionner l'EEPROM après cette opération.
  • Finalement j'ai créer un vidéo de démonstration pour cette dernière version, toutjours disponible sur https://github.com/picatout/eeprom-programmer

vendredi 21 mars 2025

programmeur d'eeprom version 2.2

eeProg version 2.2

J'ai terminé la fabrication du programmeur d'eeprom version 2.2 Cette version ajoute un embase PLCC-32 car il est de plus en plus difficile d'obtenir des circuits intégrés au format DIP.

vidéo de présentation

À faire

Je dois modifié le logiciel du programmeur pour permettre la programmation des mémoires d'une capacité allant jusqu'à 512KO tel que disponibles dans le format PLCC-32.

mardi 11 mars 2025

nouveau projet d'ordinateur 8 bits

Je suis en train de travailler sur un ordinateur 8 bits basé sur un processeur W65C02S de Western Design Center. Ce processeur est une version CMOS du vénérable MOS 6502 qui a été utilisé dans de nombreux ordinateurs des années 70 et 80. J'ai baptisé ce projet pomme_1+ car dans sa structure il ressemble beaucoup au Apple I de Steve Wozniak. Comme le Apple I il est conçu pour communiquer avec un terminal texte. Mais dans les fait je pourrais développer un terminal graphique à la place. Il y a de la place sur la carte périphérique pour installer une carte Pi Pico qui permettrait d'avoir une sortie VGA et un espace de stockage des programmes sur le même module.

Prototype

J'ai monté le prototype sur 3 cartes Ptsolns pleine longueur collées l'une à l'autre par la tranche. La carte centrale comprend

  • l'oscillateur de 3.6864Mhz
  • Le MPU W65C02S
  • Le sélecteur d'adresse
La carte de droite contient
  • Une mémoire RAM de 32Ko
  • Une mémoire EEPROM de 8Ko
  • Une embase pour une mémoire supplémentaire EEPROM de 8Ko
La carte de gauche contient
  • Périphérique ACIA (Asynchronous Communication Interface Adapter) W65C51 qui est une interface de communication sérielle.
  • Un convertisseur de niveau MAX232CPE pour adapter les signaux 5 volt de l'ACIA au standard RS232.
  • Un espace suffisant pour ajouter un autre périphérique

Vidéo de présentation du pomme 1+

État du projet en date d'aujourd'hui

En ce qui concerne l'aspect matériel, je n'ai pas encore décidé quel genre d'interface utilisateur je vais installé, texte seulement comme le pomme I ou graphique. Il faut aussi une mémoire pour préserver les programmes.

En ce qui concerne l'aspect logiciel. Je veux dévelloper un système d'exploitation dans le style de CP/M qui serait résident dans l'EEPROM principale et ensuite adapter Microsoft BASIC qui serait résidant dans l'EEPROM optionnelle. Ce BASIC était celui utilisé dans la majorité des ordinateurs des années 70,80.

dépôt du projet

https://github.com/Picatout/pomme_1P

jeudi 20 février 2025

interface graphique pour le programmeur d'EEPROM

J'ai créé un Front end graphique pour le programmeur d'EEPROM que j'ai présenté dans mon message précédent. Pour le moment cette version ne fonctionne que sur Ubuntu/Linux.

vidé de démontration

lundi 3 février 2025

programmeur d'EEPROM

Programmeur d'EEPROM

J'avais besoin de programmer une EEPROM AT28C64B alors j'ai fabriqué un programmeur à partir de matériel que j'avais en inventaire. Comme toujours ce projet est sur github.com

Ce programmeur permet de programmer aussi les AT28C256 car c'est le même brochage à la différence que les 2 broches marqués NC sur la AT28C64B sont utilisés pour les 2 bits d'adresses supplémentaires A13 et A14 requis pour adresser 32Ko au lieu de 8Ko. Notez aussi que la carte NUCLEO_8S208RB a un jumper JP3 qui permet de sélectionner la tension d'alimention du MCU entre 3.3V ou 5V. Ça permet donc de programmer les versions AT28BV64B et AT28BV256 disponibles en format SOIC-28 qui fonctionnent à 3.3 volt. Cependant il faut souder ces componsants sur un adapteur comme celui-ci

pour les utiliser avec ce programmeur. Il est important de s'assurer que le socket ZIF peut accepter les IC DIP-28 étroits de 300mil.

Matériel requis

  • Carte NUCLEO_8S208RB.
  • 3 résistances de 10Kohm 1/8 watt.
  • 1 condensateur céramique 100nF.
  • 1 condensateur électrolytique 10µF/25V
  • 1 embase DIP-28 sans force d'insertion (ZIF socket).
  • carte de prototypage à pastille de soudure 7x10cm
  • fil AWG 30 pour le filage.

montage

La carte de l'embase est conçue pour se brancher sur les connecteurs CN1 et CN9 de la carte NUCLEO_8S208RB.

Schématique

La schématique a étée dessinée dans KiCAD version 8.0.6

Utilisation

L'embase accepte les EEPROM compatibles AT28C64B de 8Ko et AT28C256 de 32Ko au format DIP-28.

Une fois la carte NUCLEO_8S208RB branchée au PC il faut utiliser un émulateur de terminal pour communiquer avec le programmeur.

Liste des commandes

L'interface reprend le format du WOZMON avec quelques différences aux niveaux des commandes. Au lieu de lire et d'écrire dans la mémoire du STM8 les opérations sont effectuées sur l'EEPROM. dans de qui suit adr et data doivent-être entrés en hexadécimal comme dans le WOZMON.

  • adr<RETURN> affiche le contenue de l'EEPROM à cette adresse. un point (.) suivit de <RETURN> affiche le contenu de l'adresse suivante.
  • adr1.adr2<RETURN> affiche le contenue de la plage mémoire à partir de adr1 jusqu'à adr2. 16 octets sont affichés par ligne.
  • adr: data data data ...<RETURN> écriture d'une liste d'octets dans la mémoire EEPROM à partir de l'adresse adr.
  • adr1Xadr2<RETURN> Efface la plage mémoire de adr1 jusqu'à adr2.
  • adr"chaîne de caractères ASCII<RETURN> programme la chaîne de caractères dans l'EEPROM à partir de l'adresse adr la chaîne est terminée par un 0.Il ne faut pas mettre de guillemet à la fin de la chaîne.
  • Il est possible d'entrer une liste de commandes de programmation dans un fichier texte et d'utililser la fonction send RAW file du terminal pour l'envoyer au programmeur. Cependant le terminal doit-être configuré pour un délais de 10msec entre l'envoie de chaque ligne. C'est le temps que ça prend à l'EEPROM pour compléter la programmation d'une ligne.

Capture d'écran d'une session

eeProg, Copyright Jacques Deschenes, 2025
version 1.0.0

#0
0000: 54   T

#.
0001: 48   H

#.
0002: 45   E

#0.2F
0000: 54 48 45 20 51 55 49 43 4B 20 42 52 4F 57 4E 20   THE QUICK BROWN 
0010: 46 4F 58 20 4A 55 4D 50 20 4F 56 45 52 20 54 48   FOX JUMP OVER TH
0020: 45 20 4C 41 5A 59 20 44 4F 47 2E 00 01 02 03 04   E LAZY DOG.

#0X2F

#0.2F
0000: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF                   
0010: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF                   
0020: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF                   

#0"THE QUICK BROWN FOX JUMP OVER THE LAZY DOG.

#2C: 1 2 3 4 5 6

#32: A B C D E AA 55

#0.3F
0000: 54 48 45 20 51 55 49 43 4B 20 42 52 4F 57 4E 20   THE QUICK BROWN 
0010: 46 4F 58 20 4A 55 4D 50 20 4F 56 45 52 20 54 48   FOX JUMP OVER TH
0020: 45 20 4C 41 5A 59 20 44 4F 47 2E 00 01 02 03 04   E LAZY DOG.
0030: 05 06 0A 0B 0C 0D 0E AA 55 FF FF FF FF FF FF FF   

#   

Vidéo de démonstration