di  -  giovedì 24 maggio 2012

Dopo una lunga attesa, il momento è finalmente arrivato: è stato presentato e viene commercializzato FPGA Arcade, ciò che rappresenta l’evoluzione del progetto Minimig, di cui abbiamo già parlato in passato.

Questa volta, però, l’obiettivo è di più ampio respiro, perché si propone di mettere a disposizione hardware “di base” per poter poi modellare non soltanto l’Amiga, ma anche Atari ST, altri home computer, console, e soprattutto ciò che appare già nel nome: i coin-op (target originale).

Infatti la caratteristica più interessante di questa tipologia di progetti è quella di essere basati su FPGA e di caricare il relativo firmware (il “codice”; permettetemi la semplificazione) da un supporto di massa esterno (memoria SD formattata come FAT32) e, di conseguenza, non soltanto aggiornabile (che rappresenta una gran comodità: bug fix, maggior compatibilità, nuove funzionalità), ma completamente rimpiazzabile (anche con applicazioni o altro), senza correre il rischio di trovarsi con un sistema inutilizzabile in caso di qualche infelice aggiornamento.

Visti gli elevati requisiti, l’asticella è stata necessariamente alzata, andando ad attingere a dispositivi con caratteristiche ben più elevate rispetto al vecchio Minimig o progetti similari. Due sono i cambiamenti più importanti, che hanno toccato il controller e l’FPGA.

Per il primo si è passati da un PIC Microchip 18LF252 a un ARM 7S256, il che ha consentito di poter gestire fino a 4 floppy drive anziché 2, ma anche di emulare fino a due hard disk (anche questi, come i floppy, sono “virtuali”: vengono montate delle immagini su file presenti nella SD, ma a differenza di Minimig vi si può anche scrivere!), oltre ad aggiungere una porta USB per collegare altre periferiche esterne (si parla di sfruttare lo stack USB Poseidon).

Il controller è l’elemento più semplice e meno impegnativo, ma vitale per l’intero sistema. Infatti oltre all’implementazione delle caratteristiche già citate, è il componente che viene attivato all’avvio del sistema, che si occupa anche di leggere il firmware dall’SD, caricarlo nell’FPGA, e infine attivarlo (oltre a controllarlo poi, per l’appunto).

Il cuore di tutto rimane in ogni caso l’FPGA, che consente di riprodurre le caratteristiche del sistema grazie a degli elementi (celle) di logica, disponibili in una certa quantità, che vengono “programmati” appositamente per simulare il funzionamento dei circuiti della piattaforma originale.

Anche qui la differenza rispetto al vecchio Minimig è notevole: siamo passati da un chip con 400 mila porte e circa 8 mila celle logiche, a 1,6 milioni e 33 mila rispettivamente, quadruplicando quindi le risorse a disposizione.

D’altra parte una decisione del genere era indispensabile per poter simulare, oltre ai chip custom, anche il microprocessore. Infatti l’FPGA del Minimig si occupava esclusivamente del chipset, mentre la CPU (di Freescale) era collegata esternamente, e dunque era un componente in più da acquistare e che richiedeva spazio nella scheda madre.

L’utilizzo di un core sintetizzato (come si dice in gergo) consente una flessibilità che in precedenza era impensabile. Infatti l’FPGA Arcade mette a disposizione quattro diversi processori fra i quali scegliere: 68000, 68010, 68EC020 e 68020, il che consente di garantire una compatibilità molto elevata.

Inoltre sembra che il processore si possa spingere fino a 28Mhz (anche se è stato erroneamente riportato 99Mhz, prendendo questo dato dal benchmark sintetico Sysinfo, molto noto ambito Amiga), consentendo, quindi, di raggiungere prestazioni molto elevate rispetto alle vecchie macchine di casa Commodore (fatta eccezione per il 4000, che montava un favoloso 68040 a 25Mhz, ed era dotato di un’ottima FPU).

Ma la novità più succulenta e che si aspettava da parecchio, guadagnandosi giustamente il titolo dell’articolo, è rappresentata dalla possibilità di simulare il chipset AGA presente nelle ultime macchine della casa canadese (Amiga 1200, 4000, e CD32), che poi è pure la causa principale del lungo tempo di sviluppo e del passaggio a un FPGA con più risorse, data la sua complessità.

Con FPGA Arcade, insomma, il cerchio si chiude: adesso è possibile simulare le configurazioni più diffuse, nonché utili, del panorama Amiga, il tutto in un ambiente molto più comodo da utilizzare rispetto alle vecchie macchine, come la possibilità di leggere molto più velocemente i dischi e le migliorie di cui sopra (di cui discusso, in buona parte, anche nel pezzo sul Minimig).

Un’altra differenza di non poco conto rispetto al precedente progetto è rappresentato dalla memoria: anziché un chip con 2 (o massimo 4) MB, adesso ne viene usato uno da ben 64MB. Una quantità esorbitante se confrontata con la piattaforma originale, ma che fa sorridere oggi con la memoria che si misura ormai in termini di GB.

Comunque con la configurazione più diffusa (2MB) del Minimig era possibile mettere a disposizione fino a 1MB di “chip ram” (l’unica memoria accessibile dai chip custom), 512KB erano riservati per la ROM (256 per i Kickstart / s.o. fino alla versione 1.3), e altri 512KB di “slow ram” (memoria accessibile dalla sola CPU, ma lenta). Con quella da 4MB si arrivava a 2MB di chip ram e 1,5MB di slow ram.

Con FPGA Arcade abbiamo fino a 2MB di chip ram, 512KB (ma credo possa supportare tranquillamente ROM da 1MB, come pure quella dell’Action Replay), 1,5MB di slow ram, e ben 8MB di fast ram (memoria accessibile dalla sola CPU, ma molto veloce), per un totale di 11,5MB. All’appello mancano 48MB, sui 64MB che mette a disposizione il chip di memoria, ma arriveranno con un prossimo aggiornamento del firmware dell’FPGA, e saranno utilizzabili come chip (!) o fast ram.

Potrebbe sembrare un atteggiamento poco professionale quello di rilasciare un prodotto non ancora “completo” (per quel che possa significare questa parola quando ci si trova di fronte a un FPGA), ma in realtà rappresenta un vantaggio tangibile: l’oggetto è già a disposizione della schiera di appassionati, che lo attendevano da troppo tempo.

Infatti l’obiettivo più importante è stato raggiunto già in queste condizioni: simulare le vecchie macchine Commodore, anche AGA. Avere quasi 60MB di memoria totale a disposizione è un “di più” (molto di più rispetto al passato remoto), per il quale c’è comunque l’impegno degli autori a rilasciare un prossimo firmware (ma dubito che sarà l’unico aggiornamento) per aggiungere questa funzionalità. Fermo restando che dovrebbero essere rilasciati i sorgenti, per cui chi vorrà smanettarci con modifiche e aggiunte sarà libero di dare sfogo alla propria creatività.

Paragonato al progetto Natami (di cui abbiamo già parlato qui), c’è un distacco nettissimo. Questi, infatti, sarebbe dovuto arrivare già a fine 2010 (da quel che era stato scritto nel forum ufficiale), ma finora non si sa nulla della sua commercializzazione, sebbene lo scorso anno sembrerebbe essere stata finalizzata la scheda madre.

In queste condizioni di indeterminazione, è chiaro che l’utenza preferirà rivolgersi a un prodotto concreto e già acquistabile (peraltro a un prezzo abbastanza abbordabile), perché, sebbene incompleto, comunque… utilizzabile, e con prospettive di crescita per il futuro. Infatti a parte i 48MB di memoria in più e l’USB, si parla di aggiungere anche il supporto RTG / Picasso ’96 per le schede grafiche avanzate.

Inoltre è stato già aggiunto il supporto all’AHI con un driver apposito che fa uso di due canali stereo a 16 bit pilotati anch’essi da un canale DMA (scaricando la CPU da questo compito, come da tradizione Amiga), consentendo, quindi, di riprodurre agevolmente musica con un qualità più elevata (il DAC utilizzato internamente è a 24 bit, e supporta frequenze fino a 192Khz) rispetto ai canonici 4 canali a 8 bit (a cui i nuovi si aggiungono, essendo del tutto indipendenti).

La sovrapposizione di interessi fra i due progetti è evidente, ma con queste prospettive di crescita e miglioramento FPGA Arcade potrebbe diventare il riferimento unico per gli amighisti nostalgici, mancando del tutto un concorrente.

Per comprendere meglio il potenziale di questo progetto, basti pensare che, per emulare il solo chipset OCS/ECS, Minimig impegnava più dell’80% delle risorse dell’FPGA, con una stima pari a circa 6500 celle logiche.

FPGA Arcade occupa circa il 75% del suo FPGA, ma per emulare tutti i chipset, il microprocessore, i nuovi canali audio AHI, un controller migliore per la memoria (DDR2), e infine logica per l’interfacciamento con uno slot per aggiungere una scheda con una CPU 68060 (fino a 100Mhz), l’ethernet, e un altro paio di USB.

A conti fatti rimangono circa 8 mila celle logiche (quanto il vecchio FPGA!), che dovrebbero venire impiegate per aggiungere le agognate modalità chunky pixel a 8, 16, 24 e/o 32 bit, e… altro ancora (l’autore sta anche lavorando a un soft core 68000 estremamente fedele / cycle exact, per ottenere una compatibilità ancora più elevata per i giochi più vecchi).

Sarebbe anche interessante mettere a disposizione qualche opzione per accelerare l’esecuzione delle operazioni del Blitter, in modo da velocizzare alcuni giochi (e solo alcuni; ad esempio quelli 3D, o quelli come Street Fighter II o Mortal Kombat che non mantengono un frame rate costante), migliorando l’esperienza utente.

Ovviamente anche il sistema operativo e le applicazioni beneficerebbero moltissimo di una simile funzionalità (che sarebbe trasparente, similmente a quella che velocizza le operazioni coi dischi). Immaginate Deluxe Paint in alta risoluzione e a 256 colori con brush enormi svolazzanti a velocità smodata inseguendo la freccia del mouse…

D’altra parte impostare una particolare configurazione risulta già molto semplice: è sufficiente creare delle cartelle, e all’interno memorizzare un file .ini che contiene tutti i parametri per definire in maniera precisa l’identità del sistema che s’intende simulare. In questo modo diventa banale catalogare tutto il software per un’esecuzione ottimale, essendo sufficiente selezionare l’apposita cartella all’avvio per essere catapultati subito nei bei tempi andati, col boot eseguito in 1-2 secondi.

Infine, se consideriamo che gli FPGA diventano sempre più economici e/o con maggiori risorse integrate, è facile immaginare che la direzione intrapresa possa portare a frutti ancora migliori in futuro…

26 Commenti »

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.

  • # 1
    [D]
     scrive: 

    ok ma in dracme, fiorini, ducati, sesterzi quanto dovrebbe costare ?

    “costo poco” nel gergo amiga vuol dire sempre una mezza violenza carnale ai danni del portafogli di chi ci crede.

  • # 2
    Cesare Di Mauro (Autore del post)
     scrive: 

    Non sono una succursale né un rivenditore. :P

    Trovi tutto nel sito ufficiale. ;)

  • # 3
    Marco
     scrive: 

    Mah, continuo a non capire il senso di questi aggeggi. Se proprio devo riesumare l’Amiga tanto vale usare un’emulatore totalmente in software no?

  • # 4
    Antonio Barba
     scrive: 

    Infatti, aspettiamo di conoscere il costo, anche perchè non si è ancora arrivati ad una linea di produzione in massa, si parla di produzione su richiesta a piccoli lotti.

  • # 5
    sisko212
     scrive: 

    AAAAA !!!! Lo voglio !!!! :-D
    E per il prezzo, almeno dal sito, si parla dai 199 ai 229 + iva

    “The price for the current boards is 199Euro + VAT for the non-composite/svhs version and 229Euro +VAT with. VAT in Sweden is 25%. I can ship without VAT to companies only in the EU”

    L’unica cosa da capire è cosa intendono per “non-composite/svhs” version, che è la più economia, e l’altra da 229… forse per non-composite, si può collegare solo ai monitor rgb, mentre l’altra anche ai tv color con jack rca… bho… staremo a vedere.

  • # 6
    Cesare Di Mauro (Autore del post)
     scrive: 

    @Marco: si potrebbe anche prendere un PC, collegarlo alla TV, e metterci un emulatore.

    Non sarebbe immediato come quest’aggeggio, ma otterresti all’incirca le stesse funzionalità (a parte collegarci il vecchio mouse e/o joystick).

  • # 7
    Cesare Di Mauro (Autore del post)
     scrive: 

    @sisko212: la versione base non ha le uscite SVHS e composito (che servono ovviamente a collegare l’apparecchio a un televisore dotato di questi input), ma soltanto la porta DVI (quindi va bene per un monitor, oppure per una TV moderna usando un cavo DVI -> HDMI, se non ha il DVI).

  • # 8
    UrkalerO
     scrive: 

    Per collegare i vecchi joystick al PC bastano degli adattatorini da 3 euro.

    Per me questo è il solito coso paraAmigoso per i soliti 4 nostalgici rintronati con dei soldi da buttare: solo la scheda costa come un computer completo di ultima generazione e fa poco più di un’Amiga dei primi ’90.
    E poi su quali tirature di produzione sarebbero basati quei prezzi? Una, due o 10?
    Pollice verso.

    Bell’articolo cmq.

  • # 9
    biffuz
     scrive: 

    La cosa buffa è che monta un FPGA della stessa marca (non so se è anche lo stesso modello) dell’X1000.

    @UrkalerO: è ovviamente un prodotto per hobbysti e non pretende di essere nient’altro. Ci sono hobby molto più costosi e la gente è capace di buttare molti più soldi in cose molto più inutili.
    In effetti sono sorpreso che costi _solo_ 200 euro.

  • # 10
    Cesare Di Mauro (Autore del post)
     scrive: 

    Anch’io pensavo che costasse molto di più, perché il Minimig veniva (e viene ancora) venduto all’incirca allo stesso prezzo.

    Comunque Xilinx è una marca molto diffusa, conosciuta e apprezzata in ambito FPGA, per cui non mi meraviglia. :)

  • # 11
    Giacomo
     scrive: 

    Ottima notizia!
    Praticamente la retrogaming machine definitiva!
    Questo scatolotto può emulare.. anzi, “eseguire”, qualunque hardware dell’epoca, con un consumo bassissimo e una flessibilità pari agli emulatori software.
    Pensare che era partito come progetto amatoriale e a tempo perso..
    certi concorrenti “professionali” avrebbero tanto da imparare!

  • # 12
    [D]
     scrive: 

    Sarebbe bello se andando avanti uscisse un firmware AGA ultra pompato, qualcosa dove ad esempio si può avere 8 o 16MB di chip ram in modo da poter tirare fuori più colori e risoluzioni da Lisa così si potrebbe fare in modo di spingere non solo verso una retrosofteca ma anche qualcosa di “nuovo”. Grazie al fpga si potrebbe espandere Paula in modo da elaborare un audio migliore a 16bit, insomma si potrebbe tentare la strada Natami senza stare ad aspettare Natami.

  • # 13
    Floriano
     scrive: 

    Come prestazioni mi sa che le fpga sono attualmente più lente e più costose delle versioni software eseguite su arm processori di ultima generazione (forse qualcuna precedente), mi viene in mente la allwinner10 che è molto interessante a 7e

  • # 14
    Marco
     scrive: 

    “La cosa buffa è che monta un FPGA della stessa marca (non so se è anche lo stesso modello) dell’X1000.”

    Forse ti confondi con le varie SAM, l’X1000 monta un chip XMOS.

  • # 15
    Cesare Di Mauro (Autore del post)
     scrive: 

    @Floriano: servirebbe un WinUAE ottimizzato per ARM…

    @[D]: tutte le cose che hai detto le avevo già scritte nell’articolo.

    Alcune sono già arrivate (due canali audio aggiuntivi a 16 bit e frequenze elevate), altre arriveranno a breve (si aspetta un firmware per aggiungere i 48MB di memoria come chip o fast; immagina cosa significhi avere ben 50MB di chip ram), e altre sono previste più avanti (scheda grafica RTG / Picasso ’96, con risoluzioni elevate e 16 milioni di colori).

  • # 16
    alexrota1970
     scrive: 

    Prodotti del genere esaltano la mia mente ed il mio spirito di videogiocatore, furiosamente scalpitante nel periodo 1984-1990!
    …certo che i prezzi andrebbero perlomeno dimezzati per rendere il tutto appetibile.

  • # 17
    [D]
     scrive: 

    Basterebbe già per cominciare, levare l’iva ma ci sono i parassiti che vanno i mantenuti

  • # 18
    homero
     scrive: 

    quando ne parlavo due anni fa che gli fpga sono la soluzione a moltissimi problemi informatici, tutto passava sotto silenzio…
    oggi invece ne vediamo un’applicazione reale….
    io che li ho usati posso dire che usarli per emulare l’amiga è un po’ come usare il motore di una ferrari sotto un camion…..
    ad ogni modo è ottimo esercizio di stile…
    ci sono algoritmi programmati su fpga che danno la polvere alle varie schede cuda……e sopratutto con pochissimi problemi di debug.
    o meglio i problemi ci sono ma siamo lontani anni luce da quelli di chi programma gpgpu….
    forse le nuove schede che teoricamente permettono di caricare dei micro kernel risolveranno in parte il problema…
    per quanto riguarda l’AMIGA, io mi tengo il mio bel AMIGA2000 infarcito di GVP030+882 a 33mhz + video toaster comprato usato nel 95…
    il true color non è mai stato nelle corde dell’amiga….il video invece si…
    cosi’ come la programmabilità dell’hardware ed è questo il grosso legama tra fpga e l’amiga la programmabilità dell’hardware….parliamo di modi e mondi diversi….ma in un mondo in cui gli strati di astrazione non ci fanno capire se siamo su una virtual machine o su una macchina reale, programmare i transistor di fpga ci riporta un po’ con i piedi per terra….

  • # 19
    Marco
     scrive: 

    “quando ne parlavo due anni fa che gli fpga sono la soluzione a moltissimi problemi informatici, tutto passava sotto silenzio”

    Senza offesa, ma gli FPGA esistono dagli anni 80, Minimig era pronto nel 2007 e nello stesso periodo è partito NatAmi :-D

    Al limite fatti un giro su opencores.org ;-)

  • # 20
    luca
     scrive: 

    la cos apiu utile non l’hanno messa, il supporto drive floppy

  • # 21
    Cesare Di Mauro (Autore del post)
     scrive: 

    Non serve, te l’assicuro, e non è comodo come l’uso dell’SD per farci stare le immagini dei floppy e persino degli hard disk. ;)

  • # 22
    Rosario
     scrive: 

    Bello ma…. Non ne capisco il senso, me lo spiegate il significato di realizzare un mini amiga? Winuae ormai è evolutissimo, ci ho fatto girare di tutto, compresi programmi come ad pro e lightwave, l’emulazione su un intel recente va spaventosamente bene! Capisco la nostalgia ma qui si sconfina sulla creduloneria, la stessa Commodore sfrutta la nostalgia vendendo un ipotetico amiga con piattaforma z68 intel, scheda grafica nvidia e case mini itx. L’amiga Classic è ormai emulato alla perfezione, se volete comprate una scheda mini-itx metteci windows con winuae in esecuzione automatica ed avrete un amiga perfetto! Questi sono progetti i hardware senza futuro che non hanno prezzo ma soprattutto hanno poco valore

  • # 23
    Cesare Di Mauro (Autore del post)
     scrive: 

    Eppure riscuotono tanto successo e… vendono ancora. :)

    Che ti posso dire: sarà il fascino dell’epoca.

  • # 24
    ema
     scrive: 

    la compreò solo quando gli metteranno un connettore per i vecchi floppy

  • # 25
    Cesare Di Mauro (Autore del post)
     scrive: 

    Non è previsto.

    Forse sarà presente in un altro progetto, ma è ancora presto per parlarne.

  • # 26
    Luigi
     scrive: 

    Io ho un minimig 4mb con arm controller: se dovessi dire qual’è secondo me la differenza maggiore rispetto all’emulazione via software (uso da anni amiga forever) è quel feeling indefinibile col ciclo di clock che ti fa sembrare di essere davvero davanti a un A500 o 600. Chi ha usato amiga per anni e anni Sa Che la grafica ha un aspetto particolare, nitido anche se poco definito. Il frame rate è costante, di solito non ci sono accelerazioni e la risposta ai comandi impartiti a volte ha quel leggero, impercettibile ritardo caratteristico e difficilmente emulabile, se non via hardware. L’ingombro è davvero minimo e si possono usare mouse e Joypad originali amiga, ma anche normali tastiere e mouse ps2. Il consumo è davvero minimo e ci si puó preparare un hard file con AF su pc e installare l’O.s.3.1 senza grossi problemi. Costa, certo, ma i soldi spesi con amiga te li ritrovi, se hai la pazienza di aspettare, mentre un pc vecchio non lo vuole nessuno..neanche gratis.

Scrivi un commento!

Aggiungi il commento, oppure trackback dal tuo sito.

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.