Interfaccia Arduino/Raspberry Pi per C64

From HSCT_WIKI
Jump to: navigation, search

wikipedia:arduino

Introduzione

Uno2IEC è il nome di un progetto finalizzato a simulare, analogamente a progetti quali 'sd2iec' e 'Ultimate 1541III', il funzionamento del drive 1541 (lettore di floppy disk per Commodore C64), sfruttando pero', a differenza delle soluzioni di cui sopra, il microcontrollore Arduino Uno / Nano ( ATmega 16U2 328 microcontroller @ 16Mhz, 32KB flash, SRAM 2KB, EEPROM 1 KB ). Attualmente (2015) è possibile solo una emulazione parziale della logica di controllo del drive. La scheda Arduino si interfaccia e comunica direttamente col bus IEC (bus seriale proprietario Commodore) mentre riceve lato PC, via USB o porta seriale, uno flusso dati in formato d64/t64/prg/p00 da un applicazione scritta in QT/C++ (compatibile con Windows, Linux, Mac, Raspberry Pi ecc).Il programma funziona da file manager e consente di variare all'occorrenza le impostazioni della porta COM, il baudrate, la persistenza e lo storico dei log. I dati possono essere hostati indifferentemente su un cartella condivisa, una pendrive/microsd o un hard disk collegato al dispositivo sul quale girerà l'applicazione di cui sopra (Arduino2Host). Al momento non sono supportati le principali routine di fastloading e i kernal modificati per C64. Inserendo e/o alterando opportunamente una macro dello sketch, è possibile usare una matrice di LED (Max7219) in grado di visualizzare una barra di caricamento e il nome del file avviato dal basic.

Realizzazione

Materiale per la costruziione del cavetto di collegamento Arduino -> C64

  • spinotto di tipo DIN 6 poli maschio
  • spezzone cavo multipolare 5 fili
  • pin haeder (tipo maschio/femmina)

Dovremo connettere i pin ATN, CLOCK, DATA e GND al bus IEC. I pin RESET a SRQIN (quest'ultimo utilizzato solo sul C128) sono opzionali. Di default avremo una configurazione gia' impostata nello sketch, ma l'assegnazione di funzione dei pin puo' essere cambiata a piacimento dal programma Arduino2Host.

IEC-connector.png

(continua...)