pico6502 Manuale Utente

English

Nota: Il progetto pico6502 e in fase di sviluppo iniziale. L'hardware e funzionale e l'interfaccia bus e operativa, ma il supporto dei driver e limitato. Questo manuale riflette lo stato attuale del progetto e sara aggiornato man mano che lo sviluppo progredisce.

Manuale utente pico6502

Il pico6502 e un sostituto diretto per una CPU 6502 in qualsiasi computer con socket DIP-40. Si inserisce direttamente nel socket 6502 del vostro computer vintage e — senza alcuna modifica alla scheda host — fornisce memoria espansa, periferiche virtuali e un'interfaccia di gestione basata su browser via WiFi.
Il pico6502 condivide hardware identico con il picoZ80 — lo stesso microcontrollore dual-core RP2350B, 8 MB di PSRAM, 16 MB di Flash, coprocessore ESP32, slot scheda SD e hub USB. La differenza chiave e il firmware dell'interfaccia bus: il pico6502 si rivolge allo schema di clock bifase PHI1/PHI2 del 6502 e al suo modello di periferiche interamente mappate in memoria. A differenza dello Z80, il 6502 non ha uno spazio di indirizzamento I/O separato — tutte le periferiche (VIA, ACIA, ecc.) sono accessibili tramite la mappa di memoria utilizzando blocchi FUNC.
Questo manuale copre la scheda fisica, la configurazione iniziale, la connessione a una macchina host e l'utilizzo dell'interfaccia web. Per i dettagli sull'architettura, il riferimento alla configurazione e gli interni del firmware, consultare la Guida tecnica del pico6502. Per la panoramica del progetto, consultare la pagina del progetto pico6502.

Panoramica della scheda

Il PCB del pico6502 (revisione 2.2) e progettato per rientrare nell'impronta di un package DIP standard a 40 pin, misurando 52 mm x 19 mm. Tutti i 40 pin DIP emergono dal lato inferiore della scheda, corrispondendo esattamente al pinout di un vero 6502, cosi da inserirsi direttamente in qualsiasi socket 6502 senza piegature o adattamenti.
La superficie superiore ospita tutti i componenti attivi. L'altezza della scheda sopra il socket rientra nell'inviluppo di un IC standard con un socket DIP-40 montato sotto, rendendola compatibile con gli spazi disponibili nella maggior parte dei computer vintage basati sul 6502.

Connettori e indicatori

La scheda pico6502 espone i seguenti connettori e indicatori:
Elemento Descrizione
Connettore di debug a 6 pin Situato sul bordo della scheda. Fornisce accesso SWD (Serial Wire Debug) all’RP2350, oltre alle linee SWO e Reset. Vedere il pinout del connettore di debug sotto.
Porta USB Connettivita USB per il flashing del firmware tramite memoria di massa USB (modalita BOOTSEL) e per il bridge USB-UART verso l’ESP32.
Slot scheda SD Slot scheda SD a dimensione piena gestito dall’ESP32. Contiene il config.json, le immagini ROM e gli asset del filesystem.

Pinout del connettore di debug

Il connettore a 6 pin e l'interfaccia hardware principale per la programmazione iniziale e il debug a livello sorgente. I pin sono numerati dal Pin 1 all'estremita piu vicina al marcatore del bordo della scheda.
Pin Segnale Funzione
1 SWCLK Clock Serial Wire Debug (ARM SWD)
2 SWDIO Dati Serial Wire Debug (ARM SWD)
3 SWO Serial Wire Output — uscita di traccia opzionale dall’RP2350
4 RESET Reset attivo basso per l’RP2350. Portare a massa per resettare.
5 GND Riferimento di massa
6 3V3 Uscita alimentazione 3,3 V (non utilizzare come ingresso)

NB. I pin 1, 2 e 5 sono utilizzati per il debug SWD (SWCLK, SWDIO, GND). Per il flashing iniziale dell'RP2350, utilizzare la modalita BOOTSEL attivando il segnale BOOTSEL durante l'accensione — fare riferimento al Passo 1 in Primi passi. Il Pin 3 (SWO) e opzionale e utilizzato solo quando l'uscita di traccia e abilitata nella compilazione del firmware.


Primi passi

Seguire questi passaggi in ordine la prima volta che si configura una scheda pico6502:
  1. Flashare il bootloader dell'RP2350 tramite la modalita memoria di massa USB (BOOTSEL).
  2. Flashare il firmware dell'ESP32 tramite esptool.
  3. Preparare una scheda SD con il config.json e le immagini ROM necessarie.
  4. Installare il pico6502 nel socket 6502 del computer host.
  5. Accendere e attendere che il pico6502 avvii il suo access point WiFi.
  6. Connettersi all'interfaccia web e completare la configurazione iniziale.

Passo 1 — Flashare il bootloader dell'RP2350

L'RP2350 non ha pulsanti fisici BOOTSEL o Reset sulla scheda pico6502 — questi segnali sono accessibili programmaticamente o tramite il connettore di debug. Per entrare nel bootloader USB in modalita memoria di massa:
  1. Non inserire ancora il pico6502 in un computer host — collegarlo a un PC solo tramite cavo USB.
  2. Tenere il segnale BOOTSEL a livello basso (fare riferimento allo schema della scheda per la posizione del punto di test).
  3. Applicare alimentazione alla porta USB — l'RP2350 inizia l'avvio.
  4. Rilasciare BOOTSEL prontamente dopo che la scheda viene enumerata come dispositivo di memoria di massa USB.
  5. Il PC montera un'unita denominata RPI-RP2 (o simile).
  6. Copiare Bootloader_<version>.uf2 sull'unita montata. L'RP2350 si auto-flashera e si riavviera automaticamente.
Dopo il flashing del bootloader, tutti i successivi aggiornamenti firmware dell'RP2350 possono essere eseguiti in modalita wireless tramite la pagina web OTA — non e necessario accedere al segnale BOOTSEL per i normali aggiornamenti firmware.

Passo 2 — Flashare il firmware dell'ESP32

Il firmware dell'ESP32 viene flashato utilizzando esptool. La procedura e identica a quella del picoZ80 — consultare il Manuale utente del picoZ80 — Passo 2 per tutti i dettagli. Il binario del firmware ESP32 e lo stesso per entrambe le schede.
Configurare l'ambiente Python (una sola volta):
python3 -m venv ./venv/
source ./venv/bin/activate
cd $HOME/esptool
Poi flashare tutti e quattro i componenti del firmware ESP32. Modificare PORT al nodo di dispositivo assegnato dal vostro sistema operativo:
PORT=/dev/ttyUSB0       # Linux — modificare secondo necessita
# 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. Tutti i successivi aggiornamenti firmware dell'ESP32 possono essere eseguiti tramite la pagina web OTA (ota-esp32.htm) una volta completato il flash iniziale.

Passo 3 — Preparare la scheda SD

La scheda SD contiene il file di configurazione, le immagini ROM e gli asset dell'interfaccia web.
Requisiti di formattazione:
  • Filesystem FAT32.
  • Qualsiasi capacita supportata da FAT32 (fino a 32 GB raccomandato per una formattazione affidabile).
File minimi richiesti:
  • config.json nella radice della scheda SD — il file di configurazione principale. Consultare Configurazione di base per un esempio minimo 6502.
  • Directory webfs/ — gli asset dell'interfaccia web ESP32. Copiare il contenuto della directory webfs/ dal repository del progetto alla radice della scheda SD.
Directory opzionali:
Directory Contenuto
ROM/ Immagini ROM referenziate dal config.json (es. BBC Model B OS, BASIC)
DSK/ Immagini disco per futuri driver di emulazione unita
La scheda SD puo essere gestita tramite il File Manager web una volta che il pico6502 e in funzione — e possibile caricare immagini ROM, modificare il config.json e creare directory dal browser senza rimuovere fisicamente la scheda.

Passo 4 — Installazione nel computer host

Sicurezza prima di tutto: Spegnere e scollegare sempre il computer host prima di installare o rimuovere il pico6502. La scheda opera internamente a 3,3 V; i pin DIP-40 sono collegati al bus 5 V dell'host tramite circuiti di interfaccia appropriati, ma la scheda non deve mai essere inserita o rimossa sotto tensione.
Procedura di installazione:
  1. Spegnere il computer host e scaricare l'elettricita statica.
  2. Rimuovere il chip CPU 6502 esistente dal suo socket DIP-40. Si raccomanda un estrattore di chip per evitare di piegare i pin.
  3. Inserire la scheda SD nello slot della scheda SD del pico6502.
  4. Allineare il pico6502 con il socket 6502, assicurandosi che il Pin 1 del pico6502 (contrassegnato con un punto o una tacca) sia allineato con il Pin 1 del socket.
  5. Premere delicatamente e uniformemente il pico6502 nel socket. Assicurarsi che tutti i 40 pin siano inseriti. Non forzare — se si avverte resistenza, rimuovere e controllare l'allineamento dei pin.
  6. Accendere il computer host.
Alla prima accensione dopo un'installazione firmware pulita, l'ESP32 si avviera in modalita Access Point, trasmettendo una rete WiFi denominata pico6502. Connettersi a questa rete per accedere all'interfaccia web e completare la configurazione WiFi iniziale.

NB. Il pico6502 si alimenta dalla linea 5 V sul pin VCC del socket 6502. Il convertitore buck integrato fornisce 3,3 V a tutti i componenti della scheda. Assicurarsi che l'alimentazione 5 V del computer host possa fornire almeno 500 mA — il pico6502 puo assorbire fino a 400 mA sotto carico massimo (RP2350 a 300 MHz con WiFi attivo).

Passo 5 — Accensione

Accendere il computer host. Il pico6502 si avviera dal bootloader dell'RP2350, carichera il firmware applicazione dalla Flash, leggera il config.json dalla scheda SD (o la copia Flash in cache), inizializzera la mappa di memoria e iniziera a servire i cicli bus del 6502.
L'ESP32 si avvia in parallelo e avvia il sottosistema WiFi. Se non vengono trovate credenziali di rete salvate, l'ESP32 entrera automaticamente in modalita Access Point.

Passo 6 — Connessione all'interfaccia web

Al primo avvio, connettersi all'access point WiFi pico6502 e navigare verso http://192.168.4.1. Dalla pagina del gestore WiFi, inserire le credenziali della rete domestica. Dopo il salvataggio e il riavvio dell'ESP32, il pico6502 si unira alla vostra rete e sara accessibile all'indirizzo IP configurato (predefinito http://192.168.1.192).

Configurazione WiFi

La procedura di configurazione WiFi del pico6502 e identica a quella del picoZ80. Il coprocessore ESP32 fornisce la connettivita WiFi. Al primo avvio (o quando non sono state salvate credenziali WiFi) l'ESP32 si avvia in modalita Access Point (AP).

Connessione in modalita Access Point

  1. Sul vostro telefono, tablet o laptop, aprire le impostazioni WiFi e cercare una rete denominata pico6502 (o come configurato nel campo esp32.wifi.ssid del vostro config.json in modalita AP).
  2. Connettersi alla rete pico6502. La password AP predefinita e pico6502AP (controllare le note di rilascio del firmware se e stata modificata).
  3. Aprire un browser e navigare verso http://192.168.4.1 — questo e l'indirizzo IP predefinito in modalita AP. Apparira l'interfaccia web del pico6502.
  4. Navigare alla pagina del gestore WiFi per inserire SSID e password della rete domestica.
  5. Cliccare Save & Connect. L'ESP32 si riavviera e si connettera alla rete domestica come client.

Modalita client (stazione)

Una volta configurato per la modalita client, l'ESP32 si unisce alla rete WiFi domestica ed e raggiungibile all'indirizzo IP mostrato nella pagina Dashboard. Se avete impostato un IP fisso nel config.json (raccomandato per facilita di accesso), navigare direttamente a:
http://192.168.1.192
Sostituire con l'indirizzo IP configurato. Se si utilizza il DHCP, trovare l'indirizzo assegnato nella lista client DHCP del router.
L'interfaccia web viene eseguita interamente nel browser. Non e richiesto alcun software aggiuntivo. Il server web del pico6502 funziona sulla porta 80.

Interfaccia web

L'interfaccia web del pico6502 e identica a quella del picoZ80 — un'applicazione Bootstrap 4 a sette pagine servita dall'ESP32. Tutte le pagine sono accessibili dalla barra di navigazione in cima a ogni pagina. Gli asset web sono memorizzati nella directory webfs/ sulla scheda SD.

Dashboard (index.htm)

La Dashboard e la pagina iniziale dell'interfaccia web. Mostra informazioni di sistema in tempo reale e fornisce una panoramica rapida dello stato del pico6502.
Le informazioni mostrate nella Dashboard includono:
  • Versione firmware — la versione e la data di compilazione del firmware RP2350 attualmente in esecuzione.
  • Versione ESP32 — la versione del firmware del coprocessore ESP32.
  • Partizione attiva — quale dei due slot firmware (1 o 2) e attualmente attivo.
  • Persona attiva — la personalita macchina attualmente caricata.
  • Clock RP2350 — frequenza CPU attuale in MHz.
  • Clock PSRAM — frequenza clock SPI PSRAM attuale.
  • Stato WiFi — modalita (AP o client), SSID e indirizzo IP assegnato.
  • Scheda SD — se una scheda SD e presente e lo stato di montaggio del filesystem.
  • Uptime — tempo dall'ultimo riavvio.
La Dashboard fornisce anche pulsanti per riavviare l'RP2350 e per avviare un ricaricamento della configurazione dalla scheda SD senza un riavvio completo.

Editor di configurazione (config.htm)

La pagina dell'editor di configurazione fornisce un editor nel browser per il file config.json memorizzato sulla scheda SD. L'editor offre evidenziazione della sintassi e validazione JSON di base.
Per modificare la configurazione:
  1. Navigare alla pagina dell'editor di configurazione.
  2. Il config.json attuale viene caricato automaticamente nell'editor.
  3. Apportare le modifiche. L'editor evidenziera gli errori di sintassi in rosso.
  4. Cliccare Save per scrivere il file aggiornato sulla scheda SD.
  5. Cliccare Apply (o riavviare) per applicare la nuova configurazione. L'RP2350 legge la configurazione all'avvio, la minifica e la memorizza in Flash — gli avvii successivi utilizzano la copia Flash se non e presente alcuna scheda SD.
Le modifiche alla mappa di memoria e alle immagini ROM hanno effetto al successivo reset dell'RP2350. Notare che il pico6502 non ha una mappa I/O separata — tutti i binding delle periferiche sono nell'array memory come blocchi FUNC. Le modifiche alle impostazioni WiFi nel blocco esp32.wifi hanno effetto al prossimo riavvio dell'ESP32.

NB. L'editor di configurazione opera direttamente sul file della scheda SD. E buona pratica conservare una copia di backup di un config.json funzionante sul PC prima di apportare modifiche significative.

File Manager (filemanager.htm)

Il File Manager fornisce una vista basata su browser del contenuto della scheda SD. E possibile navigare nelle directory, caricare nuovi file (immagini ROM, immagini disco), scaricare file esistenti sul PC, creare nuove directory ed eliminare file e directory.
Operazioni comuni nel File Manager:
  • Caricare un'immagine ROM — navigare alla directory ROM/ e utilizzare il pulsante Upload per trasferire il file ROM dal PC.
  • Backup config.json — cliccare l'icona di download accanto a config.json per salvare una copia sul PC.
  • Aggiornare gli asset web — navigare a webfs/ e caricare file HTML/CSS/JS sostitutivi per aggiornare l'interfaccia web.
Le operazioni sui file vengono eseguite direttamente sulla scheda SD tramite l'ESP32. I caricamenti di file di grandi dimensioni possono richiedere alcuni secondi a seconda della dimensione del file e della qualita del segnale WiFi.

Selezione persona (personality.htm)

La pagina di selezione persona consente di scegliere quale personalita macchina (persona) il pico6502 presenta al computer host. Diverse persona caricano diverse mappe di memoria e immagini ROM dalla configurazione.
Persona 6502 attualmente supportate (sviluppo iniziale):
  • BBC Model B — persona BBC Micro Model B (in sviluppo). Fornisce una mappa di memoria di base con le ROM OS e BASIC. Il driver ModelB.c e referenziato in M6502CPU.c tramite #ifdef INCLUDE_BBC_DRIVERS.
Ulteriori persona host 6502 saranno aggiunte man mano che il progetto si sviluppa. Poiche il 6502 non ha uno spazio I/O separato, tutta l'emulazione periferiche specifica della persona e gestita tramite blocchi FUNC nella mappa di memoria — VIA, ACIA e altre periferiche virtuali sono tutte mappate in memoria.

Aggiornamenti firmware (OTA)

Il firmware sia dell'RP2350 che dell'ESP32 puo essere aggiornato over-the-air (OTA) dall'interfaccia web. La procedura e identica a quella del picoZ80 — consultare il Manuale utente del picoZ80 — Aggiornamenti firmware per tutti i dettagli.
L'unica differenza e il nome del binario firmware RP2350: per il pico6502, il binario dell'applicazione e denominato BaseM6502_<version>.bin anziche BaseZ80_<version>.bin.

Gestore WiFi (wifimanager.htm)

La pagina del gestore WiFi configura le impostazioni di rete dell'ESP32. Le modifiche apportate qui vengono persistite nel NVS (storage non volatile) dell'ESP32 e hanno effetto al prossimo riavvio.
Impostazioni disponibili:
  • Modalita WiFiAccess Point (il pico6502 crea la propria rete) o Client (il pico6502 si unisce a una rete esistente).
  • SSID — il nome della rete da creare (modalita AP) o a cui unirsi (modalita client).
  • Password — la passphrase WiFi.
  • Indirizzo IP / Maschera sottorete / Gateway — impostazioni IP fisse per la modalita client (raccomandate per un accesso coerente).
  • DHCP — abilitare per ottenere un indirizzo automaticamente dal router; disabilitare per utilizzare le impostazioni IP fisse sopra.
Dopo il salvataggio, cliccare Reboot ESP32 per applicare le nuove impostazioni. L'ESP32 si riavviera e si connettera con la nuova configurazione. Se la connessione in modalita client fallisce (SSID o password errati), l'ESP32 tornera in modalita Access Point dopo un timeout, consentendo di riconnettersi e correggere le impostazioni.

Configurazione di base

Tutto il comportamento del pico6502 e controllato dal config.json sulla scheda SD. Quanto segue e una configurazione minima funzionante per un host 6502 generico con RAM, ROM e una periferica VIA mappata in memoria. Consultare il Guida tecnica — Riferimento configurazione per una descrizione completa di tutte le opzioni.
Differenza chiave dal picoZ80: la chiave CPU di livello superiore e "6502" (non "z80"), e non c'e un array "io" — tutte le periferiche inclusi VIA, ACIA, ecc. sono mappate utilizzando blocchi FUNC nell'array "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": []
      }
    ]
  }
}
Questo esempio mappa:
  • 0x0000 – 0x7FFF — 32 KB di RAM nel banco PSRAM 0 (pagina zero, stack e RAM generale).
  • 0x8000 – 0x8FFF — blocco FUNC da 4 KB legato all'handler di periferica virtuale VIA — un'emulazione di periferica 6522 VIA mappata in memoria.
  • 0xC000 – 0xFFFF — ROM BASIC da 8 KB caricata da /ROM/basic.rom sulla scheda SD nel banco PSRAM 1.
  • 0xE000 – 0xFFFF — ROM OS da 8 KB caricata da /ROM/os.rom sulla scheda SD nel banco PSRAM 2. Il vettore di reset del 6502 a 0xFFFC/0xFFFD deve trovarsi all'interno di questa regione ROM.
Notare che non c'e un array "io" — il 6502 non ha uno spazio di indirizzamento I/O separato. Tutta l'emulazione periferiche utilizza blocchi FUNC nella mappa di memoria.

Risoluzione dei problemi

Il computer host non si avvia

  • Controllare l'orientamento — assicurarsi che il Pin 1 del pico6502 sia allineato con il Pin 1 del socket. Inserire la scheda al contrario danneggia sia il pico6502 che il computer host.
  • Controllare l'inserimento — rimuovere il pico6502 e reinserirlo, assicurandosi che tutti i 40 pin siano completamente inseriti e che nessuno sia piegato sotto la scheda.
  • Controllare la scheda SD — se il config.json manca o e malformato, il firmware tentera di utilizzare la configurazione Flash precedentemente in cache. Se non esiste una configurazione valida, l'RP2350 non inizializzera la mappa di memoria e l'host vedra un bus aperto. Il vettore di reset del 6502 deve trovarsi in una regione ROM valida.
  • Confermare che il firmware e stato flashato — provare a collegare il pico6502 via USB (senza inserirlo nell'host) e verificare che la scheda venga enumerata sul PC.
  • Controllare l'alimentazione dell'host — il pico6502 puo assorbire fino a 400 mA dalla linea 5 V. Alcuni computer vintage hanno alimentatori marginali; controllare la tensione della linea 5 V sotto carico con un multimetro.

Impossibile connettersi all'interfaccia web

  • Controllare la modalita WiFi — al primo avvio o dopo un reset di fabbrica, l'ESP32 si avvia in modalita AP. Connettersi prima alla rete WiFi pico6502, poi navigare verso http://192.168.4.1.
  • Controllare l'indirizzo IP configurato — se la modalita client e configurata con un IP fisso, verificare che l'IP corrisponda alla sottorete.
  • Controllare la presenza della scheda SD — gli asset web in webfs/ sulla scheda SD sono necessari. Senza la scheda SD il server web non puo servire alcuna pagina.
  • Controllare la directory webfs — confermare che la directory webfs/ esista sulla scheda SD e contenga i file HTML/CSS/JS dal repository del progetto.
  • Reset di fabbrica WiFi — se le credenziali sono perse, ri-flashare il firmware ESP32 per cancellare le impostazioni NVS e ricominciare da zero.

Scheda SD non riconosciuta

  • Assicurarsi che la scheda SD sia formattata come FAT32. NTFS, exFAT e FAT16 non sono supportati.
  • Provare una scheda SD diversa — alcune schede ad alta capacita o alta velocita possono avere problemi di compatibilita con l'interfaccia SPI SD dell'ESP32.
  • Le schede fino a 32 GB sono ben supportate. Le schede molto grandi (>32 GB) possono richiedere una formattazione speciale.
  • Reinserire la scheda SD — rimuoverla e reinserirla per garantire un buon contatto.

Le immagini ROM non si caricano / il 6502 crasha al reset

  • Verificare che il percorso del file nel config.json corrisponda esattamente alla posizione del file sulla scheda SD (i percorsi sono case-sensitive).
  • Confermare che il file immagine ROM sia presente sulla scheda SD — utilizzare il File Manager per navigare alla posizione attesa.
  • Controllare il vettore di reset — il 6502 legge il vettore di reset dagli indirizzi 0xFFFC e 0xFFFD all'accensione. Entrambi gli indirizzi devono trovarsi all'interno di un blocco ROM o RAM nella mappa di memoria. Se si trovano in una regione non mappata o PHYSICAL, il 6502 saltera a un indirizzo casuale e crashera.
  • Controllare il valore fileofs — un offset errato carichera dati spazzatura nel banco ROM.
  • Verificare che il campo size nella voce della mappa di memoria non sia piu grande del file immagine ROM.

L'aggiornamento OTA fallisce

  • Assicurarsi di caricare un file .bin (non un .uf2) per gli aggiornamenti OTA dell'RP2350.
  • Assicurarsi che il binario sia stato compilato per il target pico6502 (BaseM6502) — non caricare un binario picoZ80 sul pico6502.
  • Assicurarsi di caricare nello slot inattivo per preservare il firmware funzionante.
  • Se l'aggiornamento OTA fallisce o risulta in una partizione non avviabile, il bootloader manterra lo slot attivo precedente in funzione — ripetere il processo di caricamento.
  • Per i fallimenti OTA dell'ESP32, ri-flashare tramite esptool utilizzando la connessione USB.

Siti di riferimento

Risorsa Link
Pagina del progetto pico6502 /pico6502/
Guida tecnica del pico6502 /pico6502-technicalguide/
Pagina del progetto picoZ80 /picoz80/
Manuale utente del picoZ80 /picoz80-usermanual/
Scheda tecnica RP2350 datasheets.raspberrypi.com
Documentazione Pico SDK raspberrypi.github.io/pico-sdk-doxygen
Riferimento tecnico ESP32-S3 docs.espressif.com
Scheda tecnica MOS 6502 westerndesigncenter.com
Anteprima progetto X (Twitter) engineerswork1

Avviso normativo wireless

Questo dispositivo incorpora un modulo wireless ESP32-S3-PICO-1 che trasmette nella banda ISM a 2,4 GHz, rendendolo un emettitore intenzionale secondo le normative sulle radiofrequenze a livello mondiale (incluso FCC Part 15 Subpart C negli Stati Uniti e la Direttiva Apparecchiature Radio 2014/53/EU nell'Unione Europea).
Sebbene il modulo ESP32-S3-PICO-1 stesso possieda certificazioni normative preesistenti (FCC, CE e altre), tali certificazioni a livello di modulo non si estendono automaticamente a un prodotto finito che incorpora il modulo. L'esenzione per moduli pre-certificati consente agli hobbisti individuali di costruire un numero limitato di dispositivi per uso personale, sperimentale o educativo senza ottenere un'autorizzazione separata per l'apparecchiatura.
Limitazioni importanti
  • I dispositivi assemblati non devono essere venduti, offerti in vendita, regalati o altrimenti distribuiti a terzi a meno che il prodotto finito non sia stato testato indipendentemente e abbia ottenuto la propria autorizzazione per l'apparecchiatura (es. FCC ID, marcatura CE con valutazione di un Organismo Notificato) nella giurisdizione pertinente.
  • La costruzione di questo progetto per uso personale in quantita limitate e generalmente consentita in base alle disposizioni per hobbisti e uso sperimentale (es. FCC § 15.23), a condizione che il dispositivo non causi interferenze dannose.
  • I requisiti normativi variano da paese a paese. I costruttori al di fuori degli Stati Uniti dovrebbero consultare la propria autorita nazionale per le radiofrequenze per le regole applicabili.
Responsabilita del costruttore
E responsabilita esclusiva del costruttore assicurarsi che qualsiasi dispositivo costruito da questi design sia conforme a tutte le normative sulle radiofrequenze applicabili nella propria giurisdizione. L'autore fornisce questi design per uso personale, educativo e hobbistico e non garantisce che un dispositivo costruito da essi soddisfi i requisiti normativi per la distribuzione commerciale.