pico6502 Manuel Utilisateur

English

Remarque : Le projet pico6502 est en phase de developpement initial. Le materiel est fonctionnel et l'interface bus est operationnelle, mais la prise en charge des pilotes est limitee. Ce manuel reflete l'etat actuel du projet et sera mis a jour au fur et a mesure du developpement.

Manuel d'utilisation du pico6502

Le pico6502 est un remplacement direct du CPU 6502 dans tout ordinateur equipe d'un socket DIP-40. Il se branche directement dans le socket 6502 de votre ordinateur vintage et — sans aucune modification de la carte hote — fournit une memoire etendue, des peripheriques virtuels et une interface de gestion par navigateur via WiFi.
Le pico6502 partage un materiel identique avec le picoZ80 — le meme microcontroleur double coeur RP2350B, 8 Mo de PSRAM, 16 Mo de Flash, coprocesseur ESP32, emplacement carte SD et hub USB. La difference cle reside dans le firmware d'interface bus : le pico6502 cible le schema d'horloge biphasee PHI1/PHI2 du 6502 et son modele de peripheriques entierement mappes en memoire. Contrairement au Z80, le 6502 n'a pas d'espace d'E/S separe — tous les peripheriques (VIA, ACIA, etc.) sont accedes via la carte memoire en utilisant des blocs FUNC.
Ce manuel couvre la carte physique, la configuration initiale, la connexion a une machine hote et l'utilisation de l'interface web. Pour les details d'architecture, la reference de configuration et les composants internes du firmware, voir le Guide technique du pico6502. Pour la vue d'ensemble du projet, voir la page du projet pico6502.

Presentation de la carte

Le PCB du pico6502 (revision 2.2) est concu pour s'inscrire dans l'empreinte d'un boitier DIP standard a 40 broches, mesurant 52 mm x 19 mm. Les 40 broches DIP emergent du dessous de la carte, correspondant exactement au brochage d'un vrai 6502, de sorte qu'elle se branche directement dans n'importe quel socket 6502 sans pliage ni adaptation.
La face superieure porte tous les composants actifs. La hauteur de la carte au-dessus du socket est dans l'enveloppe d'un circuit integre standard avec un socket DIP-40 monte en dessous, ce qui la rend compatible avec les degagements de la plupart des ordinateurs vintage a 6502.

Connecteurs et indicateurs

La carte pico6502 expose les connecteurs et indicateurs suivants :
Element Description
Connecteur de debogage 6 broches Situe sur le bord de la carte. Fournit un acces SWD (Serial Wire Debug) au RP2350, ainsi que les lignes SWO et Reset. Voir le brochage du connecteur de debogage ci-dessous.
Port USB Connectivite USB pour le flashage du firmware via stockage de masse USB (mode BOOTSEL) et pour le pont USB-UART vers l’ESP32.
Emplacement carte SD Emplacement carte SD pleine taille gere par l’ESP32. Contient le config.json, les images ROM et les actifs du systeme de fichiers.

Brochage du connecteur de debogage

Le connecteur 6 broches est l'interface materielle principale pour la programmation initiale et le debogage au niveau source. Les broches sont numerotees a partir de la broche 1 a l'extremite la plus proche du marqueur de bord de carte.
Broche Signal Fonction
1 SWCLK Horloge Serial Wire Debug (ARM SWD)
2 SWDIO Donnees Serial Wire Debug (ARM SWD)
3 SWO Serial Wire Output — sortie de trace optionnelle du RP2350
4 RESET Reset actif bas pour le RP2350. Tirer a la masse pour reinitialiser.
5 GND Reference de masse
6 3V3 Sortie d’alimentation 3,3 V (ne pas utiliser comme entree)

NB. Les broches 1, 2 et 5 sont utilisees pour le debogage SWD (SWCLK, SWDIO, GND). Pour le flashage initial du RP2350, utilisez le mode BOOTSEL en activant le signal BOOTSEL lors de la mise sous tension — voir l'etape 1 dans Premiers pas. La broche 3 (SWO) est optionnelle et n'est utilisee que lorsque la sortie de trace est activee dans la compilation du firmware.


Premiers pas

Suivez ces etapes dans l'ordre lors de la premiere configuration d'une carte pico6502 :
  1. Flasher le bootloader du RP2350 via le mode stockage de masse USB (BOOTSEL).
  2. Flasher le firmware de l'ESP32 via esptool.
  3. Preparer une carte SD avec le config.json et les images ROM requises.
  4. Installer le pico6502 dans le socket 6502 de votre ordinateur hote.
  5. Mettre sous tension et attendre que le pico6502 demarre son point d'acces WiFi.
  6. Se connecter a l'interface web et terminer la configuration initiale.

Etape 1 — Flasher le bootloader du RP2350

Le RP2350 ne dispose pas de boutons physiques BOOTSEL ou Reset sur la carte pico6502 — ces signaux sont accessibles par programmation ou via le connecteur de debogage. Pour entrer dans le bootloader USB en mode stockage de masse :
  1. N'inserez pas encore le pico6502 dans un ordinateur hote — connectez-le a un PC par cable USB uniquement.
  2. Maintenez le signal BOOTSEL a l'etat bas (referez-vous au schema de votre carte pour l'emplacement du point de test).
  3. Appliquez l'alimentation au port USB — le RP2350 commence a demarrer.
  4. Relâchez BOOTSEL rapidement apres que la carte est enumeree comme peripherique de stockage de masse USB.
  5. Le PC montera un lecteur nomme RPI-RP2 (ou similaire).
  6. Copiez Bootloader_<version>.uf2 sur le lecteur monte. Le RP2350 se flashe automatiquement et redemarre.
Apres le flashage du bootloader, toutes les mises a jour firmware RP2350 suivantes peuvent etre effectuees sans fil via la page web OTA — vous n'avez pas besoin d'acceder au signal BOOTSEL pour les mises a jour firmware normales.

Etape 2 — Flasher le firmware de l'ESP32

Le firmware de l'ESP32 est flashe avec esptool. La procedure est identique a celle du picoZ80 — voir le Manuel d'utilisation du picoZ80 — Etape 2 pour tous les details. Le binaire du firmware ESP32 est le meme pour les deux cartes.
Configurez l'environnement Python (une seule fois) :
python3 -m venv ./venv/
source ./venv/bin/activate
cd $HOME/esptool
Puis flashez les quatre composants du firmware ESP32. Ajustez PORT au noeud de peripherique attribue par votre systeme d'exploitation :
PORT=/dev/ttyUSB0       # Linux — ajustez selon vos besoins
# PORT=/dev/tty.usbmodem141403  # macOS

BINPATH=/path/to/esp32/build

python3 ./esptool.py \
  -p ${PORT} -b 115200 \
  --before default_reset --after hard_reset \
  --chip esp32s3 \
  write_flash \
  --flash_mode dio --flash_size 4MB --flash_freq 80m \
  0x0     ${BINPATH}/bootloader.bin \
  0x8000  ${BINPATH}/partition-table.bin \
  0x9000  ${BINPATH}/ota_data_initial.bin \
  0x10000 ${BINPATH}/sd_card.bin

NB. Toutes les mises a jour firmware ESP32 subsequentes peuvent etre effectuees via la page web OTA (ota-esp32.htm) une fois le flashage initial termine.

Etape 3 — Preparer la carte SD

La carte SD contient le fichier de configuration, les images ROM et les actifs de l'interface web.
Exigences de formatage :
  • Systeme de fichiers FAT32.
  • Toute capacite prise en charge par FAT32 (jusqu'a 32 Go recommande pour un formatage fiable).
Fichiers minimum requis :
  • config.json a la racine de la carte SD — le fichier de configuration principal. Voir Configuration de base pour un exemple minimal 6502.
  • Repertoire webfs/ — les actifs de l'interface web ESP32. Copiez le contenu du repertoire webfs/ depuis le depot du projet vers la racine de la carte SD.
Repertoires optionnels :
Repertoire Contenu
ROM/ Images ROM referencees par le config.json (ex. BBC Model B OS, BASIC)
DSK/ Images disque pour les futurs pilotes d’emulation de lecteur
La carte SD peut etre geree via le gestionnaire de fichiers web une fois que le pico6502 est en fonctionnement — vous pouvez telecharger des images ROM, modifier le config.json et creer des repertoires depuis le navigateur sans retirer physiquement la carte.

Etape 4 — Installation dans l'ordinateur hote

Securite avant tout : Eteignez et debranchez toujours l'ordinateur hote avant d'installer ou de retirer le pico6502. La carte fonctionne en 3,3 V en interne ; les broches DIP-40 sont connectees au bus 5 V de l'hote via un circuit d'interface appropriate, mais la carte ne doit jamais etre inseree ou retiree sous tension.
Procedure d'installation :
  1. Eteindre l'ordinateur hote et decharger toute electricite statique.
  2. Retirer la puce CPU 6502 existante de son socket DIP-40. Un outil d'extraction de puce est recommande pour eviter de plier les broches.
  3. Inserer la carte SD dans l'emplacement carte SD du pico6502.
  4. Aligner le pico6502 avec le socket 6502, en s'assurant que la broche 1 du pico6502 (marquee par un point ou une encoche) est alignee avec la broche 1 du socket.
  5. Appuyer doucement et uniformement sur le pico6502 dans le socket. S'assurer que les 40 broches sont bien inserees. Ne pas forcer — en cas de resistance, retirer et verifier l'alignement des broches.
  6. Mettre l'ordinateur hote sous tension.
Lors de la premiere mise sous tension apres une installation de firmware neuve, l'ESP32 demarrera en mode Point d'Acces, diffusant un reseau WiFi nomme pico6502. Connectez-vous a ce reseau pour acceder a l'interface web et terminer la configuration WiFi initiale.

NB. Le pico6502 s'alimente depuis l'alimentation 5 V de la broche VCC du socket 6502. Le convertisseur buck integre delivre du 3,3 V a tous les composants de la carte. Assurez-vous que l'alimentation 5 V de votre ordinateur hote peut fournir au moins 500 mA — le pico6502 peut consommer jusqu'a 400 mA en charge maximale (RP2350 a 300 MHz avec WiFi actif).

Etape 5 — Mise sous tension

Mettez l'ordinateur hote sous tension. Le pico6502 demarrera depuis le bootloader du RP2350, chargera le firmware application depuis la Flash, lira le config.json depuis la carte SD (ou la copie Flash en cache), initialisera la carte memoire et commencera a traiter les cycles bus du 6502.
L'ESP32 demarre en parallele et lance le sous-systeme WiFi. Si aucun identifiant reseau enregistre n'est trouve, l'ESP32 entrera automatiquement en mode Point d'Acces.

Etape 6 — Connexion a l'interface web

Au premier demarrage, connectez-vous au point d'acces WiFi pico6502 et naviguez vers http://192.168.4.1. Depuis la page du gestionnaire WiFi, entrez vos identifiants de reseau domestique. Apres la sauvegarde et le redemarrage de l'ESP32, le pico6502 rejoindra votre reseau et sera accessible a l'adresse IP configuree (par defaut http://192.168.1.192).

Configuration WiFi

La procedure de configuration WiFi du pico6502 est identique a celle du picoZ80. Le coprocesseur ESP32 fournit la connectivite WiFi. Au premier demarrage (ou lorsqu'aucun identifiant WiFi n'a ete enregistre), l'ESP32 demarre en mode Point d'Acces (AP).

Connexion en mode Point d'Acces

  1. Sur votre telephone, tablette ou ordinateur portable, ouvrez les parametres WiFi et recherchez un reseau nomme pico6502 (ou tel que configure dans le champ esp32.wifi.ssid de votre config.json en mode AP).
  2. Connectez-vous au reseau pico6502. Le mot de passe AP par defaut est pico6502AP (verifiez les notes de version de votre firmware si cela a change).
  3. Ouvrez un navigateur et naviguez vers http://192.168.4.1 — c'est l'adresse IP par defaut en mode AP. L'interface web du pico6502 apparaitra.
  4. Naviguez vers la page du gestionnaire WiFi pour entrer le SSID et le mot de passe de votre reseau domestique.
  5. Cliquez sur Save & Connect. L'ESP32 redemarrera et se connectera a votre reseau domestique en tant que client.

Mode client (station)

Une fois configure en mode client, l'ESP32 rejoint votre reseau WiFi domestique et est accessible a l'adresse IP affichee sur la page du tableau de bord. Si vous avez defini une IP fixe dans le config.json (recommande pour un acces facile), naviguez directement vers :
http://192.168.1.192
Remplacez par l'adresse IP que vous avez configuree. Si vous utilisez le DHCP, trouvez l'adresse attribuee dans la liste des clients DHCP de votre routeur.
L'interface web s'execute entierement dans votre navigateur. Aucun logiciel supplementaire n'est requis. Le serveur web du pico6502 fonctionne sur le port 80.

Interface web

L'interface web du pico6502 est identique a celle du picoZ80 — une application Bootstrap 4 a sept pages servie par l'ESP32. Toutes les pages sont accessibles depuis la barre de navigation en haut de chaque page. Les actifs web sont stockes dans le repertoire webfs/ sur la carte SD.

Tableau de bord (index.htm)

Le tableau de bord est la page d'accueil de l'interface web. Il affiche les informations systeme en temps reel et fournit un apercu rapide de l'etat du pico6502.
Les informations affichees sur le tableau de bord incluent :
  • Version du firmware — la version et la date de compilation du firmware RP2350 actuellement en cours d'execution.
  • Version ESP32 — la version du firmware du coprocesseur ESP32.
  • Partition active — lequel des deux emplacements firmware (1 ou 2) est actuellement actif.
  • Persona active — la personnalite machine actuellement chargee.
  • Horloge RP2350 — frequence CPU actuelle en MHz.
  • Horloge PSRAM — frequence d'horloge SPI PSRAM actuelle.
  • Etat WiFi — mode (AP ou client), SSID et adresse IP attribuee.
  • Carte SD — si une carte SD est presente et l'etat de montage du systeme de fichiers.
  • Temps de fonctionnement — temps depuis le dernier redemarrage.
Le tableau de bord fournit egalement des boutons pour redemarrer le RP2350 et pour declencher un rechargement de configuration depuis la carte SD sans redemarrage complet.

Editeur de configuration (config.htm)

La page de l'editeur de configuration fournit un editeur dans le navigateur pour le fichier config.json stocke sur la carte SD. L'editeur offre la coloration syntaxique et une validation JSON basique.
Pour modifier la configuration :
  1. Naviguez vers la page de l'editeur de configuration.
  2. Le config.json actuel est charge automatiquement dans l'editeur.
  3. Effectuez vos modifications. L'editeur mettra en evidence les erreurs de syntaxe en rouge.
  4. Cliquez sur Save pour ecrire le fichier mis a jour sur la carte SD.
  5. Cliquez sur Apply (ou redemarrez) pour appliquer la nouvelle configuration. Le RP2350 lit la configuration au demarrage, la minifie et la stocke en Flash — les demarrages suivants utilisent la copie Flash si aucune carte SD n'est presente.
Les modifications de la carte memoire et des images ROM prennent effet au prochain reset du RP2350. Notez que le pico6502 n'a pas de carte E/S separee — toutes les liaisons de peripheriques sont dans le tableau memory sous forme de blocs FUNC. Les modifications des parametres WiFi dans le bloc esp32.wifi prennent effet au prochain redemarrage de l'ESP32.

NB. L'editeur de configuration opere directement sur le fichier de la carte SD. Il est recommande de conserver une copie de sauvegarde d'un config.json fonctionnel sur votre PC avant d'effectuer des modifications significatives.

Gestionnaire de fichiers (filemanager.htm)

Le gestionnaire de fichiers fournit une vue par navigateur du contenu de la carte SD. Vous pouvez naviguer dans les repertoires, telecharger de nouveaux fichiers (images ROM, images disque), telecharger des fichiers existants sur votre PC, creer de nouveaux repertoires et supprimer des fichiers et repertoires.
Taches courantes dans le gestionnaire de fichiers :
  • Telecharger une image ROM — naviguez vers le repertoire ROM/ et utilisez le bouton de telechargement pour transferer le fichier ROM depuis votre PC.
  • Sauvegarder le config.json — cliquez sur l'icone de telechargement a cote de config.json pour enregistrer une copie sur votre PC.
  • Mettre a jour les actifs web — naviguez vers webfs/ et telechargez les fichiers HTML/CSS/JS de remplacement pour mettre a jour l'interface web.
Les operations sur les fichiers sont effectuees directement sur la carte SD via l'ESP32. Les telechargements de fichiers volumineux peuvent prendre quelques secondes selon la taille du fichier et la qualite du signal WiFi.

Selection de persona (personality.htm)

La page de selection de persona vous permet de choisir quelle personnalite machine (persona) le pico6502 presente a l'ordinateur hote. Differentes personas chargent differentes cartes memoire et images ROM depuis la configuration.
Personas 6502 actuellement prises en charge (developpement initial) :
  • BBC Model B — persona BBC Micro Model B (en developpement). Fournit une carte memoire basique avec les ROM OS et BASIC. Le pilote ModelB.c est reference dans M6502CPU.c via #ifdef INCLUDE_BBC_DRIVERS.
Des personas hote 6502 supplementaires seront ajoutees au fur et a mesure du developpement du projet. Parce que le 6502 n'a pas d'espace E/S separe, toute l'emulation de peripheriques specifique a une persona est geree par des blocs FUNC dans la carte memoire — VIA, ACIA et autres peripheriques virtuels sont tous mappes en memoire.

Mises a jour firmware (OTA)

Le firmware du RP2350 et de l'ESP32 peut etre mis a jour par voie aerienne (OTA) depuis l'interface web. La procedure est identique a celle du picoZ80 — voir le Manuel d'utilisation du picoZ80 — Mises a jour firmware pour tous les details.
La seule difference est le nom du binaire firmware RP2350 : pour le pico6502, le binaire de l'application est nomme BaseM6502_<version>.bin au lieu de BaseZ80_<version>.bin.

Gestionnaire WiFi (wifimanager.htm)

La page du gestionnaire WiFi configure les parametres reseau de l'ESP32. Les modifications effectuees ici sont persistees dans le NVS (stockage non volatil) de l'ESP32 et prennent effet au prochain redemarrage.
Parametres disponibles :
  • Mode WiFiPoint d'Acces (le pico6502 cree son propre reseau) ou Client (le pico6502 rejoint un reseau existant).
  • SSID — le nom du reseau a creer (mode AP) ou rejoindre (mode client).
  • Mot de passe — le mot de passe WiFi.
  • Adresse IP / Masque de sous-reseau / Passerelle — parametres IP fixes pour le mode client (recommande pour un acces coherent).
  • DHCP — activer pour obtenir une adresse automatiquement depuis votre routeur ; desactiver pour utiliser les parametres IP fixes ci-dessus.
Apres la sauvegarde, cliquez sur Reboot ESP32 pour appliquer les nouveaux parametres. L'ESP32 redemarrera et se connectera avec la nouvelle configuration. Si la connexion en mode client echoue (SSID ou mot de passe incorrect), l'ESP32 repassera en mode Point d'Acces apres un delai, vous permettant de vous reconnecter et de corriger les parametres.

Configuration de base

Tout le comportement du pico6502 est controle par le config.json sur la carte SD. Ce qui suit est une configuration minimale fonctionnelle pour un hote 6502 generique avec RAM, ROM et un peripherique VIA mappe en memoire. Referez-vous au Guide technique — Reference de configuration pour une description complete de toutes les options.
Difference cle avec le picoZ80 : la cle CPU de niveau superieur est "6502" (pas "z80"), et il n'y a pas de tableau "io" — tous les peripheriques y compris le VIA, l'ACIA, etc. sont mappes en utilisant des blocs FUNC dans le tableau "memory".
{
  "esp32": {
    "core": {
      "device": "6502",
      "mode":   0
    },
    "wifi": {
      "override":  1,
      "wifimode":  "client",
      "ssid":      "YourNetwork",
      "password":  "YourPassword",
      "ip":        "192.168.1.192",
      "netmask":   "255.255.255.0",
      "gateway":   "192.168.1.1",
      "dhcp":      0,
      "webfs":     "webfs",
      "persist":   0
    }
  },
  "rp2350": {
    "core": {
      "cpufreq":   300000000,
      "psramfreq": 133000000,
      "voltage":   1.10
    },
    "6502": [
      {
        "memory": [
          {
            "enable":   1,
            "addr":     "0x0000",
            "size":     "0x8000",
            "type":     "RAM",
            "bank":     0,
            "tcycwait": 0,
            "tcycsync": 0,
            "task":     "",
            "file":     "",
            "fileofs":  0
          },
          {
            "enable":   1,
            "addr":     "0x8000",
            "size":     "0x1000",
            "type":     "FUNC",
            "bank":     0,
            "tcycwait": 0,
            "tcycsync": 0,
            "task":     "VIA",
            "file":     "",
            "fileofs":  0
          },
          {
            "enable":   1,
            "addr":     "0xC000",
            "size":     "0x4000",
            "type":     "ROM",
            "bank":     1,
            "tcycwait": 0,
            "tcycsync": 0,
            "task":     "",
            "file":     "/ROM/basic.rom",
            "fileofs":  0
          },
          {
            "enable":   1,
            "addr":     "0xE000",
            "size":     "0x2000",
            "type":     "ROM",
            "bank":     2,
            "tcycwait": 0,
            "tcycsync": 0,
            "task":     "",
            "file":     "/ROM/os.rom",
            "fileofs":  0
          }
        ],
        "drivers": []
      }
    ]
  }
}
Cet exemple mappe :
  • 0x0000 – 0x7FFF — 32 Ko de RAM dans la banque PSRAM 0 (page zero, pile et RAM generale).
  • 0x8000 – 0x8FFF — bloc FUNC de 4 Ko lie au handler de peripherique virtuel VIA — une emulation de peripherique 6522 VIA mappe en memoire.
  • 0xC000 – 0xFFFF — ROM BASIC de 8 Ko chargee depuis /ROM/basic.rom sur la carte SD dans la banque PSRAM 1.
  • 0xE000 – 0xFFFF — ROM OS de 8 Ko chargee depuis /ROM/os.rom sur la carte SD dans la banque PSRAM 2. Le vecteur de reset du 6502 a 0xFFFC/0xFFFD doit se trouver dans cette region ROM.
Notez qu'il n'y a pas de tableau "io" — le 6502 n'a pas d'espace d'adressage E/S separe. Toute l'emulation de peripheriques utilise des blocs FUNC dans la carte memoire.

Depannage

L'ordinateur hote ne demarre pas

  • Verifier l'orientation — assurez-vous que la broche 1 du pico6502 est alignee avec la broche 1 du socket. Inserer la carte a l'envers endommagera a la fois le pico6502 et l'ordinateur hote.
  • Verifier l'insertion — retirez le pico6502 et reinserez-le, en vous assurant que les 40 broches sont completement inserees et qu'aucune n'est pliee sous la carte.
  • Verifier la carte SD — si le config.json est manquant ou malformate, le firmware tentera d'utiliser la configuration Flash precedemment mise en cache. Si aucune configuration valide n'existe, le RP2350 n'initialisera pas la carte memoire et l'hote verra un bus ouvert. Le vecteur de reset du 6502 doit etre dans une region ROM valide.
  • Confirmer que le firmware est flashe — essayez de connecter le pico6502 via USB (sans l'inserer dans l'hote) et verifiez que la carte est enumeree sur le PC.
  • Verifier l'alimentation de l'hote — le pico6502 peut consommer jusqu'a 400 mA sur le rail 5 V. Certains ordinateurs vintage ont des alimentations marginales ; verifiez la tension du rail 5 V sous charge avec un multimetre.

Impossible de se connecter a l'interface web

  • Verifier le mode WiFi — au premier demarrage ou apres une reinitialisation d'usine, l'ESP32 demarre en mode AP. Connectez-vous d'abord au reseau WiFi pico6502, puis naviguez vers http://192.168.4.1.
  • Verifier l'adresse IP configuree — si le mode client est configure avec une IP fixe, verifiez que l'IP correspond a votre sous-reseau.
  • Verifier la presence de la carte SD — les actifs web dans webfs/ sur la carte SD sont requis. Sans la carte SD, le serveur web ne peut servir aucune page.
  • Verifier le repertoire webfs — confirmez que le repertoire webfs/ existe sur la carte SD et contient les fichiers HTML/CSS/JS du depot du projet.
  • Reinitialisation d'usine WiFi — si les identifiants sont perdus, reflashez le firmware ESP32 pour effacer les parametres NVS et repartir a zero.

Carte SD non reconnue

  • Assurez-vous que la carte SD est formatee en FAT32. NTFS, exFAT et FAT16 ne sont pas pris en charge.
  • Essayez une autre carte SD — certaines cartes haute capacite ou haute vitesse peuvent presenter des problemes de compatibilite avec l'interface SPI SD de l'ESP32.
  • Les cartes jusqu'a 32 Go sont bien prises en charge. Les cartes tres volumineuses (>32 Go) peuvent necessiter un formatage special.
  • Reinserez la carte SD — retirez-la et reinserez-la pour garantir un bon contact.

Les images ROM ne se chargent pas / le 6502 plante au reset

  • Verifiez que le chemin du fichier dans le config.json correspond exactement a l'emplacement du fichier sur la carte SD (les chemins sont sensibles a la casse).
  • Confirmez que le fichier image ROM est present sur la carte SD — utilisez le gestionnaire de fichiers pour naviguer vers l'emplacement attendu.
  • Verifier le vecteur de reset — le 6502 lit le vecteur de reset aux adresses 0xFFFC et 0xFFFD a la mise sous tension. Les deux adresses doivent se trouver dans un bloc ROM ou RAM de votre carte memoire. Si elles se trouvent dans une region non mappee ou PHYSICAL, le 6502 sautera a une adresse aleatoire et plantera.
  • Verifiez la valeur fileofs — un offset incorrect chargera des donnees incorrectes dans la banque ROM.
  • Verifiez que le champ size dans l'entree de la carte memoire n'est pas plus grand que le fichier image ROM.

La mise a jour OTA echoue

  • Assurez-vous que vous telechargez un fichier .bin (pas un .uf2) pour les mises a jour OTA du RP2350.
  • Assurez-vous que le binaire a ete compile pour la cible pico6502 (BaseM6502) — ne telechargez pas un binaire picoZ80 sur le pico6502.
  • Assurez-vous que vous telechargez vers l'emplacement inactif pour preserver le firmware fonctionnel.
  • Si la mise a jour OTA echoue ou resulte en une partition non demarrable, le bootloader conservera le slot actif precedent en fonctionnement — repetez le processus de telechargement.
  • Pour les echecs OTA de l'ESP32, reflashez via esptool en utilisant la connexion USB.

Sites de reference

Ressource Lien
Page du projet pico6502 /pico6502/
Guide technique du pico6502 /pico6502-technicalguide/
Page du projet picoZ80 /picoz80/
Manuel d’utilisation du picoZ80 /picoz80-usermanual/
Fiche technique du RP2350 datasheets.raspberrypi.com
Documentation du Pico SDK raspberrypi.github.io/pico-sdk-doxygen
Reference technique ESP32-S3 docs.espressif.com
Fiche technique du MOS 6502 westerndesigncenter.com
Apercu du projet sur X (Twitter) engineerswork1

Avis reglementaire sans fil

Cet appareil incorpore un module sans fil ESP32-S3-PICO-1 qui emet dans la bande ISM 2,4 GHz, ce qui en fait un emetteur intentionnel au regard des reglementations de radiofrequences dans le monde entier (y compris FCC Part 15 Subpart C aux Etats-Unis et la Directive Equipements Radio 2014/53/EU dans l'Union europeenne).
Bien que le module ESP32-S3-PICO-1 lui-meme possede des certifications reglementaires prealables (FCC, CE et autres), ces certifications au niveau du module ne s'etendent pas automatiquement a un produit fini qui incorpore le module. L'exemption de module pre-certifie permet aux hobbyistes individuels de construire un nombre limite d'appareils pour un usage personnel, experimental ou educatif sans obtenir d'autorisation d'equipement separee.
Limitations importantes
  • Les appareils assembles ne doivent pas etre vendus, proposes a la vente, offerts ou distribues de quelque maniere que ce soit a des tiers, sauf si le produit fini a ete teste independamment et a obtenu sa propre autorisation d'equipement (ex. FCC ID, marquage CE avec evaluation d'un organisme notifie) dans la juridiction concernee.
  • La construction de ce projet pour un usage personnel en quantites limitees est generalement autorisee en vertu des dispositions pour hobbyistes et usage experimental (ex. FCC § 15.23), a condition que l'appareil ne cause pas d'interferences nuisibles.
  • Les exigences reglementaires varient selon les pays. Les constructeurs en dehors des Etats-Unis doivent consulter leur autorite nationale des radiofrequences pour les regles applicables.
Responsabilite du constructeur
Il est de la seule responsabilite du constructeur de s'assurer que tout appareil construit a partir de ces conceptions est conforme a toutes les reglementations de radiofrequences applicables dans sa juridiction. L'auteur fournit ces conceptions pour un usage personnel, educatif et de hobbyiste et ne garantit pas qu'un appareil construit a partir de celles-ci satisfait aux exigences reglementaires pour la distribution commerciale.