samedi 17 février 2024

POMME-I version 1.2r0

Ces derniers jours j'ai apporté plusieurs améliorations au projet.

  • Dans le moniteur on peut maintenant entrer une chaîne de caractères directement dans la mémoire RAM sans avoir en convertir en codes ASCII.
  • Dans le moniteur on peut afficher une aide rapide sur les codes de service du noyau avec la commande ?.
  • Le BASIC a maintenant accès à la mémoire RAM SPI par le tableau XRAM().

Démonstration de la version 1.2

dimanche 11 février 2024

POMME-I: comment je programmais en 1978

Steve Wozniak le créateur du Apple-I a programmé le moniteur de celui-ci sans utiliser d'assembleur. Quelque années après lui j'ai fait la même chose sur le premier micro-ordinateur que j'ai acheté. Ce dernier était basé sur un processeur RCA CDP1802. Pour le programmer il n'y avait qu'un clavier hexadécimal et l'affichage était constitué de LEDs. Dans la vidéo suivante j'utilise le POMME-I pour montrer comment on programmait sans assembleur.

Écrire un programme en utilisant le moniteur.

À travailler de cette façon on mémorise assez rapidement les codes machines ce qui évite d'avoir à consulter le manuel de référence fréquemment. De plus en ce qui concerne l'ordinateur que j'avais le clavier était hexadécimal mais l'affichage LED était binaire donc j'ai aussi appris à traduire les codes binaires en hexadécimal au premier coup d'oeil.

POMME-I version de base

Le projet complet POMME-I comprend 3 modules, l'ordinateur proprement dit basé sur une carte NUCLEO-8S207K8, le terminal basé aussi sur une carte NUCLEO-8S207K8 et enfin l'alimentation 5VDC. Cependant il est possible d'expérimenter le POMME-I simplement en construisant le premier module. J'ai dessiné le schéma de base de ce module.

liste du matériel requis

  • 1 Carte NUCLEO-8S207K8
  • 1 EEPROM SPI 23LC1024 de 128KO pour sauvegarder des fichiers programmes BASIC et Forth.
  • 1 RAM SPI 25LC1024 de 128KO pour augmenter la mémoire RAM.
  • 2 résistances de 10Ko 1/4 watt.
  • 2 Condenstateur céramique de 100nF
  • 1 Petit haut-parleur piézo ou électromagnétique de 130 ohm.
  • 1 condensateur électrochimique de 10µF/16Volt.
  • 1 Cable USB avec connecteur A et micro C pour connecter la carte à l'ordinateur .

La carte NUCLEO-8S207K8 comprend un programmeur STLINK-V2.1 donc tout ce qu'il faut pour la programmer c'est un cable USB pour la relier à l'ordinateur. Lorsque la carte est reliée à l'ordinateur. Un lecteur apparaît ainsi qu'un port série virtuel qui peut-être utilisé avec un émulateur de terminal pour communiquer avec le POMME-I.

Montage sur carte sans soudure

Pour un montage permanent le circuit peut-être transféré sur une carte comme cell-ci

Programmation de la carte NUCLEO-8S207K8

Dans le dossier dist il y a 2 fichiers binaires

  1. pomme_1_hsi16m.bin, c'est le fichier à utiliser si l'option cristal 24Mhz n'est pas utilisée. Le pomme-I fonctionne alors avec l'oscillateur interne de 16Mhz HSI.
  2. pomme_1_hse24m.bin, c'est le fichier à utiliser pour faire fonctionner l'ordinateur avec un cristal externe de 24Mhz.
La procédure d'installation est simple il suffit de copier ce fichier sur le lecteur représentant la carte NUCLEO-8S207K8 sur le PC.

Communication avec le pomme-I

Sur Linux Ubuntu j'utilise GTKTerm alors que sur Windows j'utilise Teraterm.
Il faut configurer la communication à 115200 BAUDS 8N1.