NSA - Non Solo Amiga

ROBOTICA - AUTOMAZIONE - EMBEDDED => Microcontrollori - Elettronica - Interfacciamento. => Topic aperto da: TheKaneB - 26 Giugno 2011, 22:29:10

Titolo: Floppy e stampante virtuali per il Commodore
Inserito da: TheKaneB - 26 Giugno 2011, 22:29:10
Sto lavorando a tempo perso su un paio di progetti di retrocomputing usando l'Arduino come microcontroller.

Il primo riguarda l'ampliamento di un progetto già esistente, SD2IEC (http://http://www.c64-wiki.com/index.php/SD2IEC), che sostanzialmente sarebbe una specie di sostituto del lettore Floppy 1541 della Commodore, che legge i file immagini dei floppy .D64 da una scheda di memoria Secure Digital.
Il progetto originale prevede una serie di comandi BASIC da utilizzare per cambiare il floppy e controllare lo stato del lettore virtuale.
Il mio progetto invece prevede l'uso di un tastierino e di un display LCD per settare gli stessi parametri tramite un'interfaccia più user friendly, senza passare dal BASIC. Oltre alla comodità c'è anche un vantaggio tecnico, che consiste nella possibilità di cambiare il floppy al volo anche quando non si ha a disposizione il BASIC (ad esempio con GEOS oppure con giochi e programmi multi-floppy).
Inoltre il progetto originale usa un chip Atmel "liscio", più difficile da programmare rispetto ad un Arduino. Il chip è molto simile, ma l'IDE di svilluppo è più semplice e immediato.

Il secondo progetto riguarda, invece, la creazione di una "stampante virtuale" per computer Commodore. I comandi di stampa vengono letti dal dispositivo che genera un file e lo memorizza su scheda SD oppure lo invia tramite porta USB direttamente ad un PC. La stampa vera e propria avviene in un secondo momento, tramite un software sul PC che processa il file e lo stampa usando i drivers di Windows / Linux / Mac / quello che sia...
In questo modo sarebbe possibile usare virtualmente qualsiasi tipo di stampante su Commodore, ma il prezzo da pagare è il passaggio tramite un PC. Il tastierino ed il display LCD servirebbero in questo caso per cancellare/manipolare le stampe, impostare i setting di stampa (charset, qualità, dimensione carta, ecc...).
Questo secondo progetto parte ex-novo a differenza del precedente.

Visto che il setup hardware sarebbe praticamente identico, la differenza tra i due risiederebbe praticamente solo nel firmware, quindi potenzialmente potrei riuscire a creare un unico dispositivo con entrambe le funzioni, a patto di avere sufficiente spazio nel microcontroller per contenere tutto il firmware (molte parti sarebbero comunque condivise).

Prossimamente posterò qualche foto della mia creaturina, e aggiornerò il thread con i progressi :-)
Ah, codice sorgente e schemi elettrici saranno rilasciati con una qualche forma di licenza open source, così che tutti possano costruirsi la propria versione o applicare miglioramenti :-)
Titolo: Re: Floppy e stampante virtuali per il Commodore
Inserito da: lucommodore - 26 Giugno 2011, 23:15:39
:clap:
Quelli che lavorano (su HW & SW)  per il vecchio Commie li ho sempre visti come gli eroi delle leggende con le spade piene di reliquie.
Sono molto ORGOGLIONE di questi 2 tuoi nuovi progetti  :mrgreen:
Titolo: Re: Floppy e stampante virtuali per il Commodore
Inserito da: TheKaneB - 26 Giugno 2011, 23:36:01
ahahah :D il fatto è che sono computer molto semplici, e se sei appassionato di elettronica e di retrocomputing, fai 2+2 e ti ritrovi con l'ennesimo hack per il commie, o l'atari, o lo speccy, e così via :-)

All'epoca sti computer erano progettati da gruppi di 2-3 persone, è un lavoro alla portata del "singolo individuo" insomma :-)
Titolo: Re: Floppy e stampante virtuali per il Commodore
Inserito da: lucommodore - 26 Giugno 2011, 23:46:55
Tienici aggiornati! :D
Titolo: Re: Floppy e stampante virtuali per il Commodore
Inserito da: Mck - 27 Giugno 2011, 12:46:48
Ottimi progetti.
Attendo aggiornamenti.
Titolo: Re: Floppy e stampante virtuali per il Commodore
Inserito da: Z80Fan - 27 Giugno 2011, 12:58:44
Sottoscritto! :mrgreen:
Titolo: Re: Floppy e stampante virtuali per il Commodore
Inserito da: divina - 28 Giugno 2011, 00:40:27
@TheKaneB
molto interessanti entrambi (in particolare il primo) ; se riesci a gestirli entrambi sarebbe la ciliegina sulla torta :) ed avrai un lavoro extra serale per accontentare giustamente tutti i retrocommodoristi, bella lì :) :) :)
Titolo: Re: Floppy e stampante virtuali per il Commodore
Inserito da: TheKaneB - 28 Giugno 2011, 02:04:49
Beh, quando non ne posso più di stare al PC, mi dedico all'elettronica e mi diverto a montare diavolerie :-D
Ora capisco cosa provava il Dott. Frankenstein  :lol:

[youtube:2a7gma80]http://www.youtube.com/watch?v=rdkecMOT1ko[/youtube:2a7gma80]
Titolo: Re: Floppy e stampante virtuali per il Commodore
Inserito da: divina - 29 Giugno 2011, 00:44:12
@TheKaneB :D  :lol:  :angelic-green:
Titolo: Re: Floppy e stampante virtuali per il Commodore
Inserito da: TheKaneB - 03 Luglio 2011, 21:58:54
Sono riuscito a risolvere un problema di comunicazione tra l'Arduino e il lettore di schede SD.

Adesso la comunicazione funziona, e come dimostrazione ho inserito una SD contenente vari file. Uno di questi, chiamato "example.txt", viene aperto in lettura e il suo contenuto viene inviato tramite porta USB al computer il quale lo visualizza su una console seriale.

Ecco le foto dell'esperimento riuscito.
https://picasaweb.google.com/thekaneb/P ... directlink (https://picasaweb.google.com/thekaneb/Progetti?authuser=0&feat=directlink)

Nelle foto si vedono anche il display LCD e il tastierino numerico ancora scollegati, tuttavia ho già fatto altri esperimenti in precedenza sul display e funziona perfettamente, ma non ho salvato alcuna foto.

A presto per ulteriori aggiornamenti.  :dance:
Titolo: Re: Floppy e stampante virtuali per il Commodore
Inserito da: TheKaneB - 03 Luglio 2011, 23:00:11
Aggiunto lo schema elettrico di collegamento tra Arduino Mega (con indicazione dei pin) e adattatore SD Card.

[thumbnail:381k2ysh]https://lh3.googleusercontent.com/-upBZhcjDHQM/ThDVW1wPZ2I/AAAAAAAAAa4/fkizvD67z9Y/s912/Schema%252520progetto%252520Arduino%2525201541%252520-%252520sezione%252520SD%252520card.png[/thumbnail:381k2ysh]

I resistori del circuito realizzano un semplice partitore di tensione che abbassa la tensione da 5V a 3.3V per non bruciare la scheda SD. La linea senza partitore è una linea di input. L'Arduino riesce a leggere correttamente un input a 3.3V di tensione, perchè il livello minimo per la logica TTL (per l'uno logico) è circa 2V.

Il protocollo di trasmissione usato è quello SPI a bassa velocità, che trasferisce pochi kilobyte al secondo. Esiste anche la modalità DMA, ma occupa un numero maggiore di pin e richiede un firmware più complesso. Dato il tipo di utilizzo, la modalità SPI è più che sufficiente perchè riesce tranquillamente a saturare la banda del bus seriale Commodore senza problemi.
Titolo: Re: Floppy e stampante virtuali per il Commodore
Inserito da: divina - 03 Luglio 2011, 23:52:50
che figata :)  :D  :lol:  :clap:
Titolo: Re: Floppy e stampante virtuali per il Commodore
Inserito da: TheKaneB - 03 Luglio 2011, 23:55:47
PS: Per gli schemi uso un ottimo CAD chiamato "kane's CAD" fatto di Tavoletta grafica e Windows Journal  :lol:
Titolo: Re: Floppy e stampante virtuali per il Commodore
Inserito da: lucommodore - 04 Luglio 2011, 17:06:46
Citazione da: "TheKaneB"
PS: Per gli schemi uso un ottimo CAD chiamato "kane's CAD" fatto di Tavoletta grafica e Windows Journal  :lol:
brevettalo!  :lol:
Titolo: Re: Floppy e stampante virtuali per il Commodore
Inserito da: AmigaCori - 05 Luglio 2011, 22:27:48
0)Complimenti  :ugeek:

1) Non stai usando un LCD Nerdoso.

2)Non far disegnare gli schemi ai Cincilla cingalesi che dopo non ti dormono la notte.

3)Che programma e': [thumbnail:87uad6rp]https://lh4.googleusercontent.com/-UIs2jpQ0u8g/ThDGQy08TgI/AAAAAAAAAX8/9KYwC2PLTRI/s800/2011-07-03%25252020.36.31.jpg[/thumbnail:87uad6rp] dove si vede sulla sinistra il collegamento tra { e }?

4)Nespresso.
Titolo: Re: Floppy e stampante virtuali per il Commodore
Inserito da: Z80Fan - 05 Luglio 2011, 22:37:41
Citazione da: "AmigaCori"
3)Che programma e':
Pare Notepad++ (http://http://notepad-plus-plus.org/).
Titolo: Re: Floppy e stampante virtuali per il Commodore
Inserito da: TheKaneB - 05 Luglio 2011, 22:42:35
Citazione da: "AmigaCori"
0)Complimenti  :ugeek:
ancora non hai visto niente :ugeek:
Citazione
1) Non stai usando un LCD Nerdoso.
certo che si, è il mio portatile O.o
Citazione
2)Non far disegnare gli schemi ai Cincilla cingalesi che dopo non ti dormono la notte.
ehm... ok O.o
Citazione
3)Che programma e': [thumbnail:d3mxmhf4]https://lh4.googleusercontent.com/-UIs2jpQ0u8g/ThDGQy08TgI/AAAAAAAAAX8/9KYwC2PLTRI/s800/2011-07-03%25252020.36.31.jpg[/thumbnail:d3mxmhf4] dove si vede sulla sinistra il collegamento tra { e }?
ti ha già risposto Z80Fan
Citazione
4)Nespresso.
posso offrirti un caffè?  :lol:
Titolo: Re: Floppy e stampante virtuali per il Commodore
Inserito da: AmigaCori - 05 Luglio 2011, 23:07:05
Citazione da: "TheKaneB"
certo che si, è il mio portatile O.o

 :mrgreen:  intendevo l'attrezzo sotto l'Arduino :)

Per il progetto hai un bel po' di curiosoni che ti seguono  :animals-bear:  :animals-bunny:  :animals-bunnywhite:  :animals-cat:  :animals-chicken:  :animals-fishgreen:  :animals-frog:  :animals-gerbil:  :animals-ginger:  :animals-mouse:  :animals-panda:  :animals-penguin:  :animals-pig:  :animals-shaun:  :animals-sheep:  :animals-worm:  io sono  :animals-fishgreen:  il resto fate voi  :lol:

@Z80fan
Grazie :)
Titolo: Re: Floppy e stampante virtuali per il Commodore
Inserito da: TheKaneB - 05 Luglio 2011, 23:15:45
l'attrezzo sotto l'arduino ti pare poco nerdoso? è un lcd 16x2 a caratteri ascii del tipo con controller e charset rom integrati.
Se usassi un modello più sofisticato, magari con matrice di punti grafica, si mangerebbe troppa preziosa Ram, che invece mi serve per l'emulazione del 1541.
Ho solo 8K di SRAM dentro quel microcoso, e devo farmeli bastare  :geek:
Titolo: Re: Floppy e stampante virtuali per il Commodore
Inserito da: AmigaCori - 07 Luglio 2011, 20:22:00
Citazione da: "TheKaneB"
l'attrezzo sotto l'arduino ti pare poco nerdoso? è un lcd 16x2 a caratteri ascii del tipo con controller e charset rom integrati.
E' un display da distributore di bevande   :happy-smileyflower:   Blu-Bianco ---->  :dance:

 Mi riferivo solo all'apparenza  :mrgreen: