di  -  mercoledì 19 maggio 2010

Con la Commodore fuori dai giochi a seguito del fallimento occorso nel 1994, le possibilità di far rivivere l’Amiga nel connubio hardware & software che ha sempre contraddistinto queste macchine sono, di fatto, svanite.

C’è stato il tentativo di aggiornare le macchine esistenti con CPU PowerPC e schede grafiche più potenti, oppure costruendo nuovi computer basati sempre sulle nuove CPU di Motorola (similmente alla strada intrapresa da Apple coi suoi Macintosh), ma da vecchio e affezionato amighista i chiodi fissi rimangono la famiglia 68000 e i chip custom disegnati da Jay Miner.

Il solo sistema operativo, insomma, non mi basta. AmigaOS è sicuramente uno dei pezzi pregiati; una colonna portante. Però da solo, abbinato ad altro hardware anche completamente diverso, non sono riuscito a farmelo digerire (anche se AROS rimane un progetto interessante, di cui parlerò in futuro).

La nascita di progetti realizzati da hobbysti volti a far rivivere le meraviglie del passato ha ridestato in me la curiosità, la voglia anche soltanto di conoscere cosa sono riusciti a combinare e a che livello di “emulazione” sono arrivati in quella che rimane una delle più affascinanti, ma complesse, architetture hardware.

Questo mi ha spinto a interessarmi del progetto Minimig, di cui ha parlato in un recente articolo e di cui, tra l’altro, esistono delle implementazioni vendute da aziende (una è italiana) per quegli utenti, come me, che non vedono differenze fra un saldatore e il bisturi di un chirurgo.

Un altro che esiste e di cui si discute da tempo è NatAmi, abbreviazione di Native Amiga, che con Minimg condivide l’idea di riportare alla ribalta proprio quell’hardware sul quale, poi, far girare AmigaOS e i relativi programmi (e giochi), ma a velocità mai viste prima, e impensabili nemmeno coi più spinti hack su cui stanno sperimentando gli attuali sviluppatori di Minimig.

Non è difficile immaginare che le finalità siano decisamente diverse, pur partendo da una base comune. Minimig nasce, infatti, per riprodurre il più fedelmente possibile quell’esperienza (sebbene, per gran comodità, abbia eliminato l’uso del floppy e dell’hard disk, sostituendoli con delle schedine MMC/SD), e lo fa decisamente bene grazie a un’emulazione cycle-exact del sistema, ossia accurata fino al ciclo di clock.

Questo significa che si cerca di riprodurre il funzionamento della macchina ciclo di clock per ciclo clock, approccio questo che, se ben realizzato, garantisce eccellenti risultati in termini di compatibilità. Quello che rappresenta un notevole vantaggio ne diviene, però, anche il principale limite: la scalabilità (in termini di maggiori prestazioni dell’intero sistema) ne risulta compromessa.

Qui si biforcano le strade di Minimig e Natami, in quanto per quest’ultimo l’obiettivo finale è di fornire, invece, le maggiori e migliori prestazioni, sebbene il prezzo da pagare sia quello di perdere parte della compatibilità, in quanto l’emulazione non avviene in maniera così precisa, e il funzionamento dell’hardware viene riprodotto in maniera fedele per lo più riguardo al Copper (il che è perfettamente naturale, dovendo questo sincronizzare le operazioni col raster video).

Sia chiaro che ciò non significa che tutto il resto non funzioni bene, perché tutti gli altri chip custom, CIA inclusi, sono comunque implementati nel progetto, ma non mi aspetto che, ad esempio, il funzionamento del Blitter sia riprodotto in maniera accurata, e questo può comportare dei problemi coi giochi o le demo meno “puliti” (cioè che trasgrediscono le linee guida di Commodore sulla programmazione dell’hardware).

Credo che la compatibilità rimarrà comunque di discreto livello, penso in ogni caso inferiore a quella di macchine come l’Amiga 4000 che, a causa delle imperizie di diversi programmatori, non hanno permesso di godere dell’intero parco software disponibile, vuoi per la non perfetta compatibilità di AGA con OCS e ECS , vuoi per l’uso di una CPU come il 68040, che era decisamente più performante del 68000 a 7Mhz di Amiga 1000, 500, 2000 e 600 (e qui ci sarebbe da spezzare le mani a chi ha scritto cicli di attesa usando la CPU anziché i timer).

Natami viene, infatti, presentato come un sistema basato su un chipset “SuperAGA”, perché tale vuole essere: un SuperAmiga. AGA è l’ultimo chipset disponibile e per il quale è stato realizzato software, per cui sceglierlo come base di partenza è stata una scelta perfettamente naturale (Minimig rimane, al momento, vincolato a OCS e, parzialmente, ECS).

Ovviamente è stato notevolmente potenziato per superarne le numerose lacune, integrando anche alcune idee del mai nato AAA, come ad esempio l’uso di modalità chunky pixel a 8 bit (con palette) e 16 bit (HiColor, con 32768 colori a disposizione, e un bit per il genlock), ma aggiungendo anche l’agognato TrueColor (32 bit, 8 per ogni componente cromatica e 8 per overlay / genlock), oltre a una modalità YUV.

Le risoluzioni video arrivano a 1280×1024 pixel, e dalle porte di uscita VGA (analogico) e DVI (digitale) il segnale a 15Khz tipico degli Amiga viene “promosso” a 31Khz per essere visualizzato nei monitor più moderni (che difficilmente agganciano la frequenza del vecchio segnale televisivo), facendo uso dello stesso metodo (lo scan doubler) disponibile con l’Amiga 3000 e adottato anche da Minimig.

Da amighista nonché programmatore, non ho trovato menzione dal famoso Dual Playfield, reso famoso da giochi come Shadow of the Beast col suo stupendo scroll parallattico, ma personalmente gradirei la possibilità di utilizzarlo coi nuovi formati chunky pixel a 8, 16 e 32 bit, fornendo magari la possibilità di scegliere quale fra questi per ognuno dei due schermi indipendenti.

Il Copper, come dicevo prima, funziona in maniera molto simile all’originale, rispettando in maniera rigorosa i timing originali (7Mhz, con accesso alla memoria a 16 bit), ma è possibile abilitare una modalità avanzata che lo fa girare a piena velocità (che dovrebbe essere di 266Mhz nella versione definitiva) pur mantenendo intatte le sue caratteristiche (ad esempio per le istruzioni di attesa del pennello elettronico) e consentendo, quindi, di poter manipolare una quantità di dati impressionante.

Il Blitter è il componente che ha subito più modifiche, in quanto è stato ovviamente aggiunto il supporto alle nuove modalità chunky pixel, oltre a effetti di trasparenza, rotazione e scaling delle immagini, ma essendo a 32 bit (anziché a 16 bit) e con un clock molto più elevato (266Mhz anziché 7Mhz), le prestazioni sono di almeno un paio di ordini di grandezza superiori. Eccezionale!

Gli sprite sono rimasti intatti rispetto all’AGA, quindi in numero di 8, ma sempre a 4 colori (combinandoli a coppie si arriva a 16 colori) e di ampiezza massima pari a 64 pixel. Francamente col nuovo Blitter se ne può fare tranquillamente a meno, visto che si possono muovere interi schemi a 16 milioni di colori in scioltezza.

A completare la sezione grafica vi è un nuovo componente che si occupa della grafica 3D, ma considerato che il progetto è, come per Minimig, basato sull’uso di un FPGA, si tratta di un chip grafico abbastanza limitato, che non implementa funzionalità come vertex o pixel shader, ma si occupa di mere funzionalità di rasterizzazione, con l’applicazione di Gouraud shading per le luci, bilinear filtering, e AA fino a 4x.

Nella FAQ parlano di poter realizzare giochi come Quake 3 e il primo Half Life, per cui parliamo di una GPU simile alle vecchie Voodoo 3 e 4 di 3DFX, con pipeline fissa e, almeno da quel che ho letto finora, senza una sezione di T&L in hardware.

Non v’è, quindi, da aspettarsi nulla di esaltante e ben lontano dalla grafica che siamo abituati a vedere oggi, ma di più da un FPGA non si poteva tirar fuori. Personalmente avrei preferito che il 3D fosse relegato a una scheda di espansione esterna, in modo da poter utilizzare una GPU più moderna, e sfruttare i gate a disposizione per migliorare la CPU.

Da qualche tempo si parla comunque di aggiungere un nuovo componente, chiamato Robin, che dovrebbe trattarsi di una CPU RISC dedicata all’elaborazione vettoriale (dovrebbe far girare 4 thread indipendenti, ognuno datato di 1KB di cache), in modo da scaricare su tale nuovo coprocessore questo tipo di calcoli, ma non esistono ancora dettagli precisi in merito.

Francamente sulla questione ho idee un po’ controverse. Da una parte mi piacerebbe vedere l’ISA 680×0 estesa aggiungendo un’unità SIMD simile all’SSE di x86 o Altivec di PowerPC, mentre dall’altra quella di un processore dedicato che lavora in parallelo è particolarmente allettante, specialmente se realizzato in modo da prevederne un’espansione futura (più core che si dividono i lavori da fare).

In ogni caso qualche soluzione per potenziare la CPU sul fronte dei calcoli in virgola mobile si dovrà pur trovare, in quanto al momento la tradizionale FPU che ha accompagnato le configurazioni di fascia alta, o che era integrata nei microprocessori più avanzati (68040 e 68060), non è stata implementata e pertanto l’unica soluzione rimane l’emulazione tramite un’apposita libreria esterna.

Parlo di unità SIMD e FPU non a caso, in quanto per questo progetto è in lavorazione una nuova CPU (al momento, non essendo completata, viene utilizzato un 68060, sfruttando un apposito slot) che sarà integrata anch’essa nell’FPGA e, sulla carta, sembra promettere molto bene.

Nonostante sia a pipeline singola, questo nuovo arrivo dovrebbe avere prestazioni molto più elevate del più performante 68060 prodotto da Motorola, che però, e come sappiamo, era dotato di una superpipeline in grado di eseguire due istruzioni (in ordine) per ciclo di clock.

Questa nuova CPU, che inizialmente era chiamata N070 (e ancora oggi in alcuni documenti si trova questa nomenclatura) che porta alla mente un 68070 per indicare un’ideale continuazione della famiglia, di recente ha cambiato nome in N050 (o 68050), forse per meglio collocarsi sulla scia delle innovazioni apportate (col 68060 si passò dalla pipeline singola in uso fino al 68040, a quella doppia, appunto).

In ogni caso non si tratta di un derivato del 68050, che non è mai stato prodotto da Motorola (e di cui sappiamo che il progetto fu abortito a causa dei risultati non all’altezza delle aspettative per convogliare le energie su quello superscalare), ma di un nuovo design che eredita parte del concept del 68060, in quanto fa uso di un’unità RISC interna per l’elaborazione effettiva delle istruzioni.

Tornando all’FPU, la sua integrazione al momento non è vista come strategica, in quanto effettivamente per l’Amiga si utilizzavano quasi sempre le sole istruzioni intere, ma è possibile che, avanzando un po’ di gate e tempo, lo sviluppatore implementi quanto meno il supporto alla singola precisione.

Nulla da fare per l’MMU, invece, in quanto richiederebbe troppe risorse (dovrebbero essercene due, una per il codice e una per i dati, in quanto l’architettura è di tipo Harvard), e il cui uso su Amiga era estremamente raro (al più veniva sfruttata per intrappolare gli accessi alla prima pagina di memoria, segnalando l’eventuale uso di puntatori nulli).

Sembra esserci spazio, invece, per l’aggiunta di nuove istruzioni che possano essere utili non col solo scopo di arricchire l’ISA, ma di aggiungere istruzioni mancanti, in quanto l’autore del nuovo core ha anche aperto un thread con l’invito a suggerire eventuali idee.

Personalmente, dopo anni passati a lavorare con questi splendidi processori, apporterei le seguenti aggiunte:

  • LEA <EA>,Dn ; calcola l’indirizzo effettivo <EA> e lo copia in Dn
  • MOVEZW.B <EA>,Dn ; preleva il byte da <EA>, lo estende con zero a word, e lo copia in Dn
  • MOVEZL.B <EA>,Dn ; preleva il byte da <EA>, lo estende con zero a longword, e lo copia in Dn
  • MOVEZL.W <EA>,Dn ; preleva la word da <EA>, la estende con zero a longword, e la copia in Dn
  • MOVESW.B <EA>,Dn ; preleva il byte da <EA>, lo estende con segno a word, e lo copia in Dn
  • MOVESL.B <EA>,Dn ; preleva il byte da <EA>, lo estende con segno a longword, e lo copia in Dn
  • MOVESL.W <EA>,Dn ; preleva la word da <EA>, la estende con segno a longword, e la copia in Dn
  • MOVEcc Dx,Dy ; copia Dx in Dy solo se la condizione cc è soddisfatta
  • MOVEcc Ax,Ay ; copia Ax in Ay solo se la condizione cc è soddisfatta
  • BSWAP Dn ; inverte l’ordine dei byte (il più alto si scambia di posto col più basso, il secondo si scambia col terzo)
  • SHLD #n,Dx,Dy ; esegue uno shift a sinistra di n, considerando Dx e Dy come un unico registro a 64 bit
  • SHLD Dn,Dx,Dy ; esegue uno shift a sinistra di Dn, considerando Dx e Dy come un unico registro a 64 bit
  • SHRD #n,Dx,Dy ; esegue uno shift a destra di n, considerando Dx e Dy come un unico registro a 64 bit
  • SHRD Dn,Dx,Dy ; esegue uno shift a destra di Dn, considerando Dx e Dy come un unico registro a 64 bit
  • JMPT.W <EA> ; esegue un salto all’indirizzo calcolato prendendo la word all’indirizzo <EA>, estendendola con segno, moltiplicandola per due, e sommandola al PC
  • JSRT.W <EA> ; esegue un salto alla subroutine il cui indirizzo è calcolato prendendo la word all’indirizzo <EA>, estendendola con segno, moltiplicandola per due, e sommandola al PC

A parte la prima e le ultime due, le altre sono mutuate da equivalenti istruzioni degli x86, perché sono oggettivamente utili (specialmente la MOVEcc, che permette di evitare che la pipeline si stalli).

La LEA con copia su registro dati serve a simulare l’esecuzione di un’operazione di somma che può prevedere diversi operandi sorgente e una destinazione, che può coprire agevolmente (e in maniera decisamente compatta) l’assenza di un’istruzione a 3 operandi tipica di molti RISC.

Le JMPT e JSRT servono, invece, a eseguire salti fruttando una tabella di word contenente l’offset rispetto al PC, in modo da realizzare delle jump-table più compatte da impiegare per emulatori o per le istruzioni switch / case di linguaggi di programmazione come C o Pascal.

Modificherei anche il registro dei flag, CCR, aggiungendone due (ai 5 già presenti) per poter decidere in maniera programmatica se utilizzare il little endian per leggere e scrivere i dati (i 68000 sono rigorosamente big endian), e per imporre un controllo sul registro indirizzi nelle modalità d’indirizzamento verso la memoria che lo prevedono (sollevando un’apposita eccezione se risulta zero, in modo da intercettare il dereferenziamento di puntatori nulli).

Sono assolutamente contrario all’introduzione di istruzioni che prevedano operazioni come somme e sottrazione con saturazione et similia, oppure somme e sottrazioni con interi a 8 o 16 bit packed (quindi vettorizzate), perché preferisco che siano introdotte in un’eventuale unità SIMD.

E’ chiaro che simili innovazioni tenderanno a produrre applicazioni che non gireranno sui veri Amiga (o sugli emulatori), ma è anche vero che la famiglia 68000 è praticamente morta (se non come microcontrollori), e lo stesso vale per queste macchine. Dunque se una nuova speranza su cui puntare ci dev’essere, tanto vale provare con le migliori carte.

Pochi sono, invece, i cambiamenti relativi ai floppy, a cui è stato aggiunto soltanto il supporto a quelli ad alta densità a piena velocità di lettura (con l’Amiga 4000 era, invece, dimezzata), ma è presente il controller IDE. Inoltre è possibile usare tastiere e mouse PS/2, è presente uno slot di espansione per la CPU (al momento usato per montare un 68060, come dicevo prima), e fino a 3 slot PCI.

Anche per l’audio c’è poco, in verità. E’ possibile utilizzare campioni da 8 (i soliti) o 16 bit, il volume è a 6 (come prima) o 8 bit, e si parla di frequenze fino a 192Khz (contro i canonici 29Khz massimi), ma i canali rimangono rigorosamente 4. Le motivazioni sono logiche: aggiungerne altri avrebbe consumato troppe risorse dell’FPGA, ma almeno il volume separato per il canale sinistro e destro sarebbe altamente auspicabile.

Non credo ci sia altro da aggiungere, se non che la commercializzazione è prevista per quest’anno, dopo parecchio tempo passato in fase di sviluppo (le prime notizie risalgono al 2003), ed è per questo che ne parlo (seguendone il forum mi sono fatto l’idea che si tratti di gente estremamente competente e non venditori di fumo; tra l’altro molto appassionati di hardware e, manco a dirlo, di Amiga).

La scheda madre è utilizzabile in un normale case per PC, e dovrebbe già contenere 512MB di memoria suddivisa in 256MB per la chip ram e altrettanti per la fast ram, in modo da avere due bus indipendenti e raddoppiare la banda totale a disposizione, come succedeva con gli Amiga dotati di (vera) fastram. Inoltre il consumo totale sarà pari a 2-3 watt.

Di certo la presenza di un FPGA aggiornabile rimane un “bonus” non indifferente di cui tener conto, ma al momento l’unica incognita rimane proprio sui costi per tanto ben di dio, che decreteranno il successo o il fallimento di questo n-esimo tentativo di far resuscitare questa stupenda piattaforma che ancora oggi ci fa sognare (e i commenti agli articoli che ne parlano sono lì a testimoniarlo).

74 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: 

    Ma alla fine che ci fai ?
    E’ un evoluzione basato su una famiglia morta, su un binario che non conduce nulla e che tra limitazioni storiche e tecniche in diversi casi non riesce neanche ad introdurre novità concrete su diversi lati.
    Macchina per demo ? Forse neanche quello, di certo non un sistema che può rilanciare in qualche modo amiga. Aros lì sopra ? Qualità del sistema a parte risulterebbe troppo pesante.

    Boh…

  • # 2
    Massimo C
     scrive: 

    Sono forse troppo giovne per aver potuto apprezzare gli Amiga nel loro periodo d’oro, tuttavia ho visto all’opera AmigaOS 4.1 su una Sam440 e devo dire che ha delle ottime potenzialità come concorrente di windows e perfino di os x.

    Per questo penso che, per quanto sia comprensibile che i nostalgici vogliano rivivere gli antichi fasti emulando, addirittura al ciclo di clock, i vecchi amiga, tuttavia penso che tutte queste nergie sarebbero più utili se si pensasse al futuro e non al passato.

    In particolare penso che se si unissero gli sforzi con la Hyperion per un port su X86 (so che molti storceranno il naso se non peggio a leggere questo) e/o su arm, AmigaOS 4.x potrebbe sul serio competere con gli attuali attori del mercato, specialmente dove il campo è pressochè libero come netbook e tablet.

  • # 3
    Alex
     scrive: 

    Queste operazioni sono solo e soltanto fuffa. Da vecchio Amighista e programmatore in assembly ho apprezzato l’innovazione di queste macchine ma non vedo nulla di innovativo in questa architettura. Ormai le CPU per desktop sono solo e soltanto architetture Intel e le architetture grafiche sono quelle NVIDIA/AMD. Oltre a questo non c’è nulla di innovativo dove andare a pescare componenti per creare una architettura innovativa. Anche le console che una volta erano create utilizzando tecnologie di punta progettate ad-hoc oggi come oggi sono dei PC con componenti standard (oltretutto il Cell è pure fallito come idea). Mi piacerebbe vedere qualche cosa di nuovo ma chi è capace oggi di investire in CPU e GPU veramente innovative?

  • # 4
    D
     scrive: 

    \In particolare penso che se si unissero gli sforzi con la Hyperion per un port su X86\

    Per adesso do una possibilità alla fantomatica x1000 poi si vedrà

  • # 5
    secondavita
     scrive: 

    mah… mi sembra un inutile esercizio stilistico… sarebbe come rifare una locomotiva a carbone in lega leggera e con una linea più areodinamica… resta antica…

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

    Natami nasce(rà) perché, nonostante siano passati ormai più di 3 lustri, la comunità Amiga è ancora viva. C’è un bacino di utenza disposto a continuare quella strada che è stata segnata, e che ancora oggi adora quell’architettura nella sua interezza, quindi chip custom e CPU famiglia 68000 (ancora oggi credo sia la più “bella” e godevole da programmare).

    Poi è chiaro che non può essere al passo con quello che abbiamo coi PC. Sarebbe da folli pensare che possa competere.

    Ma se c’è ancora un mercato Amiga, Natami ha le carte in regola per poterlo cavalcare, e i consensi non mancano.

    La speranza è che, dopo tutto questo parlare, la schedule per il 2010 sarà rispettata, e che i costi siano abbordabili (non come le Sam440, che vengono vendute a peso d’oro e non si posso nemmeno classificare come “Amiga”).

  • # 7
    G
     scrive: 

    Spero in una commercializzazione non troppo lontana, non troppo costosa, e supportata da titoli super AGA!

    finalmente si riprenderà la via perduta xD

  • # 8
    D
     scrive: 

    “C’è un bacino di utenza disposto a continuare quella strada che è stata segnata,”

    Insomma c’è gente che ha soldi da buttare. E’ questo che stai dicendo…

    Hyperion e A-Cube si stanno sbattendo per tirare fuori una quarta alternativa a win,mac,linux e c’è chi invece prima godeva a riempire le tasche a rigattieri del calibro di eyetech e adesso, non contento, spera di riscrivere la storia partendo quasi da zero ?

    Questo è masochismo

  • # 9
    zephyr83
     scrive: 

    Anche se ero “piccolino”, il ricordo di commodore e amiga è vivissimo! Peccato che la storia sia andata come tutti conosciamo! Però ritengo ormai impraticabile il ritorno di amiga nel mondo dei pc! vedrei enormi possibilità invece nel campo smartphone! Nn capisco come mai nessuno abbia pensato di portare il sistema amiga su uno smartphone. è un settore che permette ancora l’ingresso di nuovi competitori e scommetto che il marchio amiga avrebbe attirato molti utenti e appassionati!!

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

    Smartphone, telefonini, Set-top-box, chioschi multimediali, tv interattiva, ecc.: Amiga, chipset incluso, su questi sistemi avrebbe trovato la giusta collocazione, a mio avviso.

    Purtroppo nemmeno quello sono stati in grado di fare.

    Ovviamente col PC non c’è e non ci sarà competizione.

    @D: nessun vuol riscrivere la storia. Ormai è andata così. Però se c’è gente che vuole continuare a spendere soldi su questa piccolissima nicchia per continuare a sognare, perché impedirglielo?

  • # 11
    homero
     scrive: 

    anche se ho cominciato con il VIC20
    l’amiga2000 è stato il primo sistema che mi ha formato informaticamente con il multitask, l’assembler le schede accelleratrici e quant’altro…

    di amiga conserverei 2 cose…

    …la prima è lo stretto legame tra hardware e sistema operativo, questo è un elemento importantissimo quindi a prescindere dall’hardware che si decida di utilizzare il gemellaggio con la struttura dell’OS deve essere radicale…

    …la seconda è la struttura dell’OS estremamente snella tanto da essere considerato un micro-macro-kernel nel senso che ha la struttura di macro-kernel ma le dimensioni di un micro, ovviamente C based libraries…iniziare a scrivere programmi con il lattice C e il vecchio intuition mi farebbe certo piacere…

    questi esperimenti citati nell’articolo per quanto interessanti sono legati ad un passato vecchio di 20 anni che merita di essere sepolto per rinascere dalle sue ceneri….

    se dovessi oggi progettare un amiga lo farei intono ad XILINX+CELL in quanto progettare chip custom da zero la vedo proprio troppo dura…

    niente pcie, utilizzerei un ram disk con batteria a tampone da 32gb come disco e farei viaggiare le informazioni su hard disk e cdrom NAS via networking ovviamente su fibra…niente sata/pata/e quant’altro non servono…soltanto un controller USB giusto per le periferiche ormai necessarie…anche se preferirei utilizzare la fibra ottica per tutto…

  • # 12
    D
     scrive: 

    “nessun vuol riscrivere la storia. Ormai è andata così. Però se c’è gente che vuole continuare a spendere soldi su questa piccolissima nicchia per continuare a sognare, perché impedirglielo?”

    Beh ci sono quelli che si comprano i cloni ricostruiti dello spectrum però nessuno si sogna di fare paragoni come se ci fosse ancora una speranza battendo quella strada. Il natami alla pari di un minimig è solo una cosa tanto per fare, carina ma fine a se stessa.

  • # 13
    G
     scrive: 

    @Autore del post: Mi sembri comunque abbastanza ottimista sull’uscita del natami, perchè invece circola un certo malumore e molte perplessità tra chi aspetta ormai da 3 anni credo…non seguo il forum, ma ogni tanto clicco sul sito per vedere se c’é qualche news.

    @D: Purtroppo molti non restano affascinati dalle soluzioni ng, pur riconoscendone la bontà, e neanche probabilmente sentono la necessità di un quarto incomodo. Boh, è un sfizio forse, vedere nel natami il nuovo hardware classic Amiga a cui fare riferimento… oltre alle fide macchine originali ancora funzionanti. Non c’è molto da capire

  • # 14
    Megawati
     scrive: 

    Mi pare che non si è capito lo spirito di NatAmi.
    Nessuno lavora su NatAmi per farne un equivalente del PC di oggi, è impossibile. Però:

    chi programma i microcontroller e usa le FPGA con VHDL (xilinx per dirne una) si trova oggi fra le mani dei chippazzi con una potenza non indifferente. NatAmi, per dire, nasce non su un processore o su un microcontroller ma su una FPGA: vi rendete conto??? Un chip generico programmabile, una specie di mega-array di porte logiche!

    E una sola FPGA basta e avanza per creare un intero amiga venti volte più veloce e con il chipset ultramigliorato… questa è una tentazione irresistibile per chiunque sia anche solo un pò appassionato di elettronica :-)

    Il fatto che non possa in alcun modo fare concorrenza ai PC/MAC/sarca$$o è del tutto ininfluente: non è quello lo scopo.

    E grazie a progetti come questo, tenuti in piedi da un pugno di appassionati, amigaos intanto zitto zitto sopravvive, e lentamente evolve. Ed evolve anche l’hardware su cui gira, anche se rimane sempre a livelli molto bassi. Per ora. Ma chissà, un giorno magari… finché c’è vita c’è speranza :-)

  • # 15
    D
     scrive: 

    Non vedo niente di rivoluzionario. Di sistemi rinati su fpga ne esiste un’infinità. Oltre al già citato minimig troviamo il c-one, poi esistono board arcade che realizzano loro chip custom.
    Semplicemente non c’è una ragione al di fuori del farlo tanto per…
    Piuttosto provassero a realizzare qualcosa di diverso, provassero ad evolvere verso uno scopo concreto l’intero progetto ad esempio uno smartphone o una console per giocare alla tv.
    Alla fine se uno vuole solo far andare vecchi programmi amiga, che lo faccia via pc o via amigaone, trova fior di emulatori che lavorano divinamente.

  • # 16
    saladman
     scrive: 

    Non userò MAI un AmigaOS su queste trappole a base di FPGA. Comprerei assai volentieri un sistema operativo Amiga funzionante su piattaforma standard PC, e magari un Amiga intero sempre su piattaforma PC se ci fosse…
    Se ci fosse!
    Soprattutto se fosse “ufficiale”, senza 1000 variazioni come per “Linux”, ma uno, standard e uguale per tutti, a prova di compatibiliotà e di futuro.
    Se ci fosse sì, lo comprerei…

  • # 17
    Raffaele
     scrive: 

    Cesare Di Mauro scrvie:

    [q]
    La speranza è che, dopo tutto questo parlare, la schedule per il 2010 sarà rispettata, e che i costi siano abbordabili (non come le Sam440, che vengono vendute a peso d’oro e non si posso nemmeno classificare come “Amiga”).
    [/q]

    Perché non si possono classificare come Amiga?

    Una domanda così “en passant”…

    Perché stando al giudizio di tutti quelli che sono passati a macchine Amiga di nuiova generazione Amiga è ciò che fa girare il sisteam operativo AmigaOS in modo “nativo” e non “enulato”.

    Amiga è Classico se costituito dalle vecchie macchine. Ma non possiamo permetterci di considerare “Amiga veri” solo quelle macchine e nessun altra.

    L’evoluzione significa abbandonare la vecchia pelle, significa adattamento (sennò la specie scompare) e alle volte compromesso, e passa anche per l’accettazione di standard di mercato come gli Hard Disk Sata, e le schede di espansione PCIe.

    Una scheda SAM fa girare Amiga in modo nativo, questo significa che la scheda SAM è un’Amiga. Anzi l’evoluzione di essa.

    @ D:

    [q]
    Piuttosto provassero a realizzare qualcosa di diverso, provassero ad evolvere verso uno scopo concreto l’intero progetto ad esempio uno smartphone o una console per giocare alla tv.
    [/q]

    La ditta Amiga Inc. pensò tempo fa di creare il sistema AmigaDE (Device Embedded) per far girare programmini sui cellulari.

    Ebbene questo sistema non ha niente di Amiga dentro. Solo il nome.

    Non era multitasking prelativo, e la licenza per produrre programmi per questo sistema era abbastanza alta.

    Si sono prodotti solo giochini tipo Space Invaders e come costruire il proprio pupazzo di neve.

    Troppo poco, visto che nello stesso tempo sis tava sviluppando un linguaggio che ha reso questo AmigaDE di colpo obsoleto perché faceva le stesse cose: JAVA.

    Invece l’attuale AmigaOS è stato visto girare su uno smartphone come prova di concetto 2 anni fa, ma ha bisogno di ancora molte migliorie, come quella di auto-adattare le finestre alla larghezza dello schermo dello smartphone, senò è difficilissio con uno stilo scorrere la pagina, accchiappare i bordi della finestra e ridattrla alla grandezza dello schermo.

    E’stata solo una prova di concetto, ma si è dimostrato che gira.

    [q]
    evolvere verso uno scopo concreto l’intero progetto ad esempio uno smartphone o una console per giocare alla tv.

    Alla fine se uno vuole solo far andare vecchi programmi amiga, che lo faccia via pc o via amigaone, trova fior di emulatori che lavorano divinamente.
    [/q]

    Rispetto a quest’ultima ipotesi preferisco non non commentare l’assoluta uscita dal senso del topic. Per le console basta uscire e andare in un Ipermercato e comprarsi la Wii, la Playstation o la Xbox che fanno egregiamente il loro lavoro di consolline.

    Gli emulatori emulano Amiga di vecchia generazione all’interno di UN ALTRO sistema operativo.

    Ora chi porta avanti Amiga è proprio PERCHE’ di questi ALTRI Sistemi Operativinon vuole sentirne parlare.

    Amiga è un sistema che vale unicamente se gira autonomamante su una macchina.

    L’emulatore non può dare il senso di libertà dell’OS Amiga e la sua immediatezza nella risposta all’utente, la sua semplicità d’uso, la leggerezza che lascia quasi tutte le risrse di sistema libere per fare quello che si vuole, in un ambiente dove ogni programma, ogni libreria, e ogni device sta al suo posto e in ordine, un ordine che Windows (che butta tutto in System) non arriva a concepire nei suoi sogni più sfrenati, e dove l’utente legge il nome della directory (con cassetti e percorsi scritti in termini umani e soprattutto “comprensibili” agli esseri umani come: Utilities, Prefs, Libraries) e non deve stare a scervellarsi come in Linux cosa siano /Bin, /Sbin /tty, eccetera, dove i comandi di tre lettere abbondano per la gioia sado-masochistica dei programmatori/utenti Linux, e dovendo fare un corso professionale per imparare ad usare l’OS.

  • # 18
    Raffaele
     scrive: 

    Chiedo scusa:

    sisteam = sistema

    enulato = emulato

    AmigaDE (Device Embedded) è conosciuto anche come AmigaAnywhere

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

    @homero: concordo sulla visione di Amiga come connubio fra hardware e software, e l’avevo già scritto nell’articolo.

    Un Amiga su Cell, però, lasciamolo perdere. Primo perché, come dicevo, io sono legato alla famiglia 68000. Secondo perché s’è rivelato un colossale flop (ma questo lo si intuiva già da quando circolarono le prime informazioni).

    @G: come dicevo nell’articolo, quest’anno dovrebbe esser commercializzato. E’ un progetto che è durato 7 anni, ma mi sembra che sia abbastanza maturo adesso (per lo meno dai thread che ho seguito nel forum ufficiale).

    Non credo ci voglia molto. Poi è su FPGA, per cui è sempre possibile aggiornarlo.

    @Megawati: hai centrato perfettamente. Tra l’altro se il progetto dovesse rivelarsi utile, nulla toglie di passarlo da FPGA ad ASIC, rendendolo estremamente economico (potrebbero bastare una ventina di dollari) e molto più performante (penso che si potrebbe arrivare sui 600-700Mhz); a questi livelli potrebbe benissimo competere con ARM e x86 di fascia bassa.

    @saladman: AmigaOS gira già su PC. Puoi usare AROS, con qualche difficoltà (ne parlerò in futuro).

    @Raffaele: come dicevo nell’articolo e ho scritto anche ad homero, per me Amiga = hardware + software. E per hardware intendo il chipset che ci ha regalato tante emozioni, e la CPU basata su famiglia 68000 (che ha fatto felici tantissimi programmatori; io i miei programmi anche dotati di GUI li realizzavo interamente in assembly; prova a farlo con un PowerPC).

    Se manca l’hardware, permettimi: tanto vale prendere un PC e farci girare AROS.

    Soldi su un sistema PowerPC + vecchia scheda grafica modello Picasso ’96 non ne spendo, perché quello NON è un Amiga (come macchina, intendo).

  • # 20
    Marco
     scrive: 

    “E grazie a progetti come questo, tenuti in piedi da un pugno di appassionati, amigaos intanto zitto zitto sopravvive, e lentamente evolve.”

    No, non è con Natami che Amigaos evolve…
    Purtroppo Natami farà girare al limite AmigaOS 3.9, l’ultima versione che funziona su 68k (a meno di non installare anche una cpu PPC) e che ha già una decina d’anni sul groppone.

  • # 21
    andres
     scrive: 

    Alla fine ognuno ha la sua idea di ciò che è – e non è – Amiga.
    Ed è giusto che sia così.
    A livello di opinione personale.
    Però, da un punto di vista per così dire “storico”, l’evoluzione ufficiale di Amiga sono i cosidetti AmigaNG (la serie AmigaOne e l’hardware ad-hoc di terze parti), basati su architettura Power e su AmigaOS 4.x (evoluzione ufficiale e diretta di AmigaOS 3.x).

    Credo che questo, da un punto di vista prettamente formale, sia giusto riconoscerlo a chi in questi anni (Amiga Tech. prima e Amiga Inc/Hyperion poi) ha deciso – nel bene o nel male – l’evoluzione di Amiga.

  • # 22
    D
     scrive: 

    @Raffaele

    Io non parlo solo di software come os e librerie di sviluppo ma anche come hardware.

    “E’stata solo una prova di concetto, ma si è dimostrato che gira”

    Le prove di concetto lasciamole a chi ha soldi da sperperare come microsoft, qui servono cose concrete.

  • # 23
    degac
     scrive: 

    Per quanto l’articolo sia affascinante (il fatto di ‘riprodurre’ tramite un FPGA vecchi chipset e co…) mi rimane un dubbio di fondo, che proprio non riesco a reprimere: perchè tutta questa fatica?
    Che senso ha una riproduzione più o meno fedele di un hardware (che poi implementa anche funzioni che si sarebbero dovute trovare nel chipset AAA) in un mercato che offre – a parità di soldi – una potenza elaborativa sicuramente decine di volte maggiore?
    E’ praticamente un progetto di nicchia estrema, accontenta alcuni pseudo-hardware-masochisti-puristi ma non aggiunge praticamente nulla di nuovo sotto il sole.
    Onestamente AMIGA ha rappresentato una evoluzione del mercato (multitasking preemptive, plug & play, chip ‘paralleli’ alla CPU ecc…) – alcune di queste cose sono state riprese negli anni dall’hardware e dai SO moderni.
    Se devo attendere un nuovo AMIGA io lo voglio che ‘scardini’ la realtà delle cose, non che mi porti indietro nel tempo (anche come prestazioni) di 20 anni o più!

  • # 24
    iva
     scrive: 

    Mi fanno sorridere i commenti “perche’ non fanno qualcosa tipo INVECE..” o “qui c’e’ BISOGNO…”.

    Lo faranno anche (e penso, soprattutto) perche’ sono innamorati della vecchia architettura amiga e 68k e vogliono farla evolvere senza snaturarla troppo.

    Non mi paragono assolutamente agli autori dei vari progetti importanti elencati precedentemente, ma vi dico che io programmo/debuggo in assembly quotidianamente su x86 ma di recente mi sono rimesso a programmare su Amiga a tempo perso… chi me lo fa fare?
    Nessuno, pero’ e’ sicuramente una cosa che mi diverte ed appassiona.
    Forse la cosa piu’ interessante secondo me, e’ che l’architettura di un qualsiasi Amiga, anche OCS, e’ complessa ma non cosi’ complessa da essere completamente “fuori portata”, non so se ho reso l’idea…

    saluti a tutti gli amighisti!

    ps questa mattina c’era un problema da risolvere in assembly e quando ho detto “I know how to do this on the Amiga” un mio collega ha fatto una faccia come se avessi bestemmiato! :)

  • # 25
    Gennaro Tangari
     scrive: 

    Avete rotto le scatole con quest’ottimi articoli su Amiga e mi avete anche fatto venire voglia di \rivalutarlo\!

    Scherzi a parte: possibile che nonostante tutto quest’interesse di una \base\ agguerrita non si riesca in qualche modo a riesumare la Commodore/Amiga per rilanciare \ufficialmente\ questa piattaforma?

  • # 26
    G
     scrive: 

    A me par strano invece che non si capisca il concetto di hobby e passione, che alla fine spiega tutto… da chi mette su un simile gigngillo, a chi lo accoglie con interesse per arrivare a quelli che ci svilupperanno su

    Non vedo il masochismo in ciò, è una caratteristica puramente UMANA dar seguito alla propria creatività anche se questa spinge in settori di nicchia e senza pretese di successo commerciale, e benvenga chi gli da visibilità come con questi ottimi e interessanto articoli; a me piuttosto preoccupa invece la popolazione che sa solo consumare e dipende ormai a livelli di tossicità pura da quello che fa, e spesso di altrettanto inutile, nvidia ati amd intel e apple… ecc ecc

  • # 27
    G
     scrive: 

    @gennaro: si nota come sia frammentata la comunità di amighisti, e divisi su forma e sostanza, classic, winuae, aros, piattaforme ppc,e 68k…

    Il progetto che può metterli tutti d’accordo non è stato ancora ideato… e a parte una macchina del tempo con una spedizione armata negli uffici dirigenza Commodore, mi sa che non c’è speranza :D

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

    @Marco: nulla toglie che AmigaOS 4.x possa esser portato nuovamente su Motorola 680×0 e, quindi, che possa girare su progetti come Minimig e/o Natami (per quest’ultimo, sfruttandone le peculiarità hardware).

    @andres: formalmente hai ragione. Da amighista debbo purtroppo dire che l’Amiga, come “macchina”, è morta 16 anni fa, ed era un tutt’uno fra hardware e software.

    @D: passare dall’FPGA a un ASIC sarebbe un salto considerevole, come dicevo prima. E nulla toglie che si possa passare poi a un design custom, rendendolo ancora più vantaggioso come progetto.

    @degac: l’Amiga non ha nulla a che vedere con ciò che troviamo oggi. Sì, abbiamo le GPU che sono dei mostri multiprocessore, ma non è la stessa cosa.

    Dove lo trovi un Copper che “insegue” il pennello elettronico programmando al volo i registri dei chip custom? Io il Copper lo usavo perfino per suonare la musica! :D

    Per le prestazioni, ovvio che da un FPGA non puoi pretendere chissà cosa; non puoi confrontarlo coi design custom delle CPU moderne. Prova a convertire una CPU moderna e vedi un po’ cosa riesci a tirare fuori con 100mila gate (se non ricordo male è la quantità presente nell’FPGA usato per Natami).

    @Gennaro Tangari: non mi sembra ci siano i margini ormai. Commodore e l’Amiga sono morte. L’unica possibilità che vedo è che uno di questi progetti abbia un successo ragionevole per smuovere gli interessi di un’azienda un po’ più grossa per portarlo avanti.

    Si tratta sempre e soltanto di soldi.

    Il cuore e la passione sono tutt’altra cosa, come ricordavano giustamente “iva” e “G”.

  • # 29
    G
     scrive: 

    e per concludere non è escluso che si possano gettare ponti tra progetti natami e sue eventuali evoluzioni con l’hardware indicato come ng… certo alla fine senza investimenti tutto ciò non si schioderà mai da quel che è… vintage/nicchia.

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

    Non solo: anche AROS potrebbe essere migliorato per supportare le novità introdotte con AmigaOS 4.0 e 4.1.

    Però di AROS ne riparlerò in un’altra occasione.

  • # 31
    andres
     scrive: 

    Visto che per alcuni di noi c’è ancora interesse e voglia di discutere su Amiga, sarebbe bello organizzare un incontro a tema, o una discussione tecnica a Pianeta Amiga 2010…
    O magari una piccola conferenza dal vivo su Minimg e Natami, ammesso che la seconda scheda sia fisicamente disponibile a settembre.

    Sarebbe comunque un bel modo per ri-incontrarsi, vuoi in chiave retrocomputing, vuoi in chiave informatica alternativa, specie se a PA 2010 ci fosse la presentazione italiana dell’X1000 e del nuova hardware ACube.

    Io la butto lì…

  • # 32
    sandro
     scrive: 

    ciao a tutti

    anche io da vecchio Amighista e programmatore di questa ancora unica macchina vorrei dir la mia:ormai rivangare il passato e’ inutile,non sarebbe piu’ senzato far rinascere questo nome storico con una bella consolle stile X360??(ovviamente mooolto migliore ed innovativa).questo,a mio avviso,potrebbe aver senzo,una macchina strapotente,all’avanguardia e che costi poco..

    ciao
    Sandro

  • # 33
    iva
     scrive: 

    @andres, ma cos’e’ questo Pianeta Amiga 2010? Scusa l’ignoranza!
    Per il meeting dal vivo io purtroppo sono in Italia solo un paio di settimane durante l’estate :(

    @Sandro, senza offesa ma la prima cosa che mi e’ venuta in mente leggendo X360 ed Amiga nella stessa frase e’ “S.Antonio e il porco”, come si dice dalle mie parti :)

  • # 34
    andres
     scrive: 

    E’ una manifestazione Amiga che viene organizzata dalla seconda metà degli anni novanta a settembre.
    Storicamente nasce e viene organizzata al Palaesposizioni di Empoli (vicino Firenze), quest’anno è tutto sarà tutto da vedere.
    Chiaramente, è soprattutto un incontro fra appassionati di Amiga e di informatica alternativa, una cosa decisamente di nicchia insomma…

    Quest’anno, ammesso che la manifestazione si svolga, perchè sapevo che c’erano problemi sul posto, dovrebbero esserci un sacco di cose interessanti…
    Il nuovo AmigaOne X1000, il nuovo hardware ACube per AmigaOS…

    http://www.pianetaamiga.it/pa/index.php

  • # 35
    Raffaele
     scrive: 

    @ Cesare di Mauro

    [quote]
    @Raffaele: come dicevo nell’articolo e ho scritto anche ad homero, per me Amiga = hardware + software. E per hardware intendo il chipset che ci ha regalato tante emozioni, e la CPU basata su famiglia 68000 (che ha fatto felici tantissimi programmatori; io i miei programmi anche dotati di GUI li realizzavo interamente in assembly; prova a farlo con un PowerPC).
    [/quote]

    Ecco quale è il problema… Per lei l’Amiga ERA. Per noi che abbiamo scommesso comprando le nuove macchine, Amiga E’.

    Seguiamo da vicino lo sviluppo dell’OS vivendolo sulla nostra pelle, e devo dire che siamo relativamente soddisfatti di come le cose stanno andando, e di poter usare un nuovo Amiga e un nuovo OS nel terzo millennio.

    Purtroppo programmare in assembly spremendo tutto il possibile dall’hardware della macchina è bellissimo, ma rende il software nel tempo incompatibile ogni volta che l’hardware viene cambiato.

    @ D:

    [quote]
    D wrote:

    “Le prove di concetto lasciamole a chi ha soldi da sperperare come microsoft, qui servono cose concrete.”
    [/quote]

    Forse non lei non è a conoscenza del fatto che per quasi quattro anni, dal 2006, fino al settembre del 2009 Amiga Inc., licenziataria delle intellectual properties di Amiga è stata in causa con Hyperion, cioé una contesa che ha visto i proprietari dell’OS in un litigio in tribunale contro gli sviluppatori dell’OS. Nel frattempo in teoria non si poteva fare assolutamente nulla.

    Siccome il CEO di Hyperion, Ben Hermans, è un avvocato, con un gambetto è riuscito a far uscire AmigaOS 4.1 sulle schede italiane SAM, e a far continuare lo sviluppo di Amiga su una macchina realmente in vendita sul mercato. Altrimenti adesso staremmo ancora in alto mare, senza un OS in vendita.

    Altro che porting di AmigaOS sui telefonini come auspica lei.

    Qui si deve andare avanti un passo alla volta, lemme, leme fino a Gerusalemme.

    Per quanto riguarda la causa Hyperion alla fine ha vinto, nel settembre 2009, perché in un accordo extra-giudiziario Amiga Inc. gli ha ceduto tutti i diritti sull’OS 4.X.

    Adesso si tratta di dare ad Amiga le cose che le mancano, come la multiutenza e la memoria protetta (Presente ma non attivata per non perdere la compatibilità col vecchio software).

    Per i telefonini vedremo in seguito.

    @ Gennaro Tangari e Cesare di Mauro:

    [quote]
    Gennaro Tangari scrive:

    Scherzi a parte: possibile che nonostante tutto quest’interesse di una \base\ agguerrita non si riesca in qualche modo a riesumare la Commodore/Amiga per rilanciare \ufficialmente\ questa piattaforma?
    [/quote]

    [quote]
    Cesare Di Mauro wrote:

    @Gennaro Tangari:

    Si tratta sempre e soltanto di soldi.
    [/quote]

    Papale e Pacifico, signor Di Mauro, Papale e Pacifico…

  • # 36
    andres
     scrive: 

    @Raffaele
    Per essere precisi Amiga e AmigaOS (marchi relativi e loghi compresi) sono proprietà di Amiga Inc.
    Che però, in seguito alla lunga vicenda giudiziaria, li ha dovuti concedere in licenza esclusiva e perpetua ad Hyperion, ovvero la società a cui da una decina d’anni ha licenziato lo sviluppo del sistema operativo Amiga.

    Quindi formalmente Amiga Inc. è la società proprietaria, sebbene Hyperion sia nei fatti la casa madre.

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

    @Raffaele: la multiutenza l’Amiga ce l’aveva col MultiUserFileSystem (lo usavo quando sviluppavo giochi sul mio 1200).

    Mancava ovviamente la protezione delle memoria e il resource tracking.

    P.S. Per il quote usate il tag blockquote non fra parentesi quadre, ma come in XML.

  • # 38
    Raffaele
     scrive: 

    IL MUFS! Che mi hai fatto ricordare… ;-)

    Attenzione però che se ricordo il vetusto Multiuser File System non è proprio quello che si intende per un moderno sistema di multiutenza, Con password, amministratore, permessi di scrittura, copia, cancellazione, eccetera attribuiti ad ogni singolo utente, e revocabili al volo dall’amministratore. (Quello di Amiga implementato da muFS funzionava con permessi univoci se ben mi ricordo. Una volta assegnati i permessi al gruppo e all’utente erano eterni, a meno che l’utente non veniva cancellato. Se mi sbaglio mi correggerai.)

    E poi muFS non funzionava solo con FFS? Di sicuro non funziona più su Smart File System e JXFS che sono i filesystem di riferimento AmigaOS 4.X.

    Come Filesystem moderni c’era la possibilità di patchare Professional File System per usarlo con muFS, ma adesso ormai PFS non viene più sviluppato.

    Un gran bel file system Journaled per Amiga finito nell’oblio della storia anche quello… :-(

    Comunque già più volte ho proposto sui forum Amiga che si Potesse realizzare una multiutenza a breve termine, implementando una password utente al boot, che faccia accedere l’utente alle sole partizioni per cui viene abilitato, visto che la crittografia della partizione è già implementata come opzione in SFS.

    Più in avanti si potrà avere anche la multiutenza “vera”.

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

    Saranno passati 14-15 anni da quando l’ho usato, per cui non ricordo i dettagli di più basso livello (ovviamente funzionava sull’FFS), ma nel mio 1200 avevo un utente amministratore che poteva fare tutto chiaramente, e poi degli utenti limitati che potevano accedere soltanto alle risorse che decideva il primo, con tanto di permessi di lettura, scrittura, ed esecuzione, selezionati appositamente.

    Ecco, una cosa che manca al momento nel panorama Amiga è un filesystem moderno, robusto, e che permetta di utilizzare partizioni di dimensioni elevate (il limite è di 128GB, se non ricordo male) e file più grandi di 4GB.

  • # 40
    Rocco
     scrive: 

    Un uomo e vecchio quando quando vive nei ricordi, nel passato, e non ha più sogni.

    Amiga e’ morto. Questo e’ un dato di fatto.
    Di chi sia la colpa non ha importanza.

    Oggi alla soglia degli anta mi sono rimasti tanti bei ricordi di Amiga, delle nottate passate a scrivere codice in assembler ed in C, a sessioni di gioco continuate per ore. Ed in un angolino della mia cantina, ben protetto da polvere e sporco c’e’ ancora un Amiga 4000/040 funzionante, a mantenere vivi questi ricordi.

    Nel frattempo però il mondo e’ cambiato, l’informatica e’ cambiata. Bisogna guardare avanti. Avere nuovi sogni.

    Non riesumiamo il passato, ma sulle sue lezioni inventiamo il futuro !

    Basta Amiga, lasciamolo riposare in pace.

  • # 41
    iva
     scrive: 

    @andres: grazie x l’info!

    @rocco: se vuoi fare spazio in cantina mi accollo tutte le spese di “sepoltura” per quell’A4000 morto :)

    Non condivido la frase sui “sogni”, secondo me e’ proprio il contrario.
    Il discorso e’ che un gruppo di amici non puo’ mettere su un progetto a tempo perso e rivoluzionare il mondo dell’informatica, le “garage companies” degli anni ’70 sono solo un bel ricordo per gli studiosi della storia dell’informatica.

    Pero’ al giorno d’oggi ci sono gli FPGA che consentono di sperimentare moltissimo ad un prezzo accessibile all’hobbista (uno equivalente a quello utilizzato nel minimig si compra, a singoli pezzi, a meno di 30 euro).
    Una board di sviluppo completa con I/O display e uscita VGA si trova tranquillamente a meno di 100 euro.
    Ci sono schedine minuscole che hanno una potenza di calcolo esagerata rispetto alle macchine di qualche anno fa.
    E allora se voglio lavorare su qualcosa di divertente, chi me lo fa fare a progettare la mia nuova architettura da capo?
    Ne prendo una che mi piace, di cui ho un buon ricordo e cerco di implementare qualcosa di “migliore”.
    Secondo me questo e’ lo spirito in questo tipo di progetto.

    Io personalmente spero di finire quest’anno la CPU per il Commodore 64 implementata da zero utilizzando una scheda con FPGA di questa famiglia:
    http://www.trenz-electronic.de/products/fpga-boards/oho-elektronik.html

    Ebbene si, anch’io mi diverto con progetti hardware a tempo perso… e l’anno prossimo sara’ la volta di un’espansione RAM per l’A4000 :)

  • # 42
    bubu7te
     scrive: 

    Purtroppo dopo una serie di chiacchierate sul canale IRC, posso confermarti che al momento la FPU è stata accantonata per problemi di compatibilità dovuta alla rappresentazione interna a 80 bit.

    DI SIMD manco a parlarne, Gunnar è contrario, dice che ci vorrebbe troppo tempo e troppo spazio su FPGA per implementarla (dal suo punto di vista sono buone ragioni, io avrei preferito inserirla comunque, magari con pochissime operazioni ma che ci sia).

    Personalmente sono favorevole alle ADD e SUB con saturazione (questione di punti di vista, io sì, tu no :-) ), ma anche altri sul canale sono contrari. Non capisco come mai c’è l’interesse (sempre parlando del canale IRC+sito) di riportare la MOVE SR da privilegiata a user-mode, sono 25 anni che è privilegiata, Motorola ha fatto l’errore all’inizio sui primi 68K (NB: solo sui primi, in seguito è stata resa privilegiata), e proprio non comprendo la necessità di ripetere l’errore e farla tornare in spazio utente.

    L’MMU non sarà implementata perchè rallenterebbe un pochino il sistema, così verrà persa un’altra possibilità di aggiornamento importante (sigh!), esattamente ancora alla stessa maniera di quanto avvenne con i progetti delle prime schede Amiga (contenevano l’MMU, poi fatta togliere dai gran capi C= – fonte: un vecchio articolo di Paolo Canali su Amiga Magazine, se interessa lo cerco e ti dico il numero della rivista).

    Purtroppo il progetto promette tanto ma ancora a mio parere è ben lungi dall’essere completato. Non dimentichiamo poi che, una volta completo l’HW, sarà necessario aggiornare la parte SW (Workbench e library di sistema), per cui non si è neanche a metà dell’opera! Credo che ci sia anzi il rischio che il Minimig lo superi (NB: a contrario di quanto hai scritto, su Youtube è presente un video relativo ad un core Minimig che fà girare il chipset AGA con ben 50MB di Chip ram – l’HW non è più minimig ma un’altra scheda, ma il VHDL è lo stesso o molto simile + un softcore 68K riadattato per indirizzi a 32 bit)

    Conludendo, auguro vivamente che il progetto veda la luce, ma ho il timore che sarà relegato ad una sorta di consolle da gioco per pochissimi appassionati (forse addirittura solo per giochi 2D, perchè la parte 3D, sebbene sia avanzata per un Amiga, come hai sottolineato tu sarà comunque molto scarsa se paragonata agli standard attuali).

    Ciao ;-)

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

    @bubu7te:

    Purtroppo dopo una serie di chiacchierate sul canale IRC, posso confermarti che al momento la FPU è stata accantonata per problemi di compatibilità dovuta alla rappresentazione interna a 80 bit.

    Sì, questo l’avevo scritto e avevo detto che si pensava, eventualmente, al solo supporto alla singola precisione.

    DI SIMD manco a parlarne, Gunnar è contrario, dice che ci vorrebbe troppo tempo e troppo spazio su FPGA per implementarla (dal suo punto di vista sono buone ragioni, io avrei preferito inserirla comunque, magari con pochissime operazioni ma che ci sia).

    Idem. Anche perché puoi benissimo iniziare con le operazioni di somma e sottrazione scalari & packed, con o senza saturazione; load & store di dati; shuffling; e magari qualche operazione di moltiplicazione.

    Tutte cose a mio avviso abbordabilissime. Simil-MMX, per intenderci.

    Per il supporto floating point a singola prima, e doppia precisione poi, ci si poteva benissimo pensare dopo.

    Personalmente sono favorevole alle ADD e SUB con saturazione (questione di punti di vista, io sì, tu no :-) ), ma anche altri sul canale sono contrari.

    Sono contrario perché vedo il 68000 come una CPU general purpose, mentre queste operazione sono tipiche di algoritmi legati ad architetture SIMD e DSP. Io preferisco avere un’unità specializzata allo scopo, senza aumentare la complessità della CPU “centrale”.

    Questo anche in ottica di scalabilità: una CPU più “snella” è più semplice da scalare, e inoltre un’unità SIMD si può scalare molto facilmente nel tempo (esempio: raddoppiando la dimensione dei registri, in modo da poter impaccare più dati e, quindi, permettere di eseguire più operazioni).

    Gunnar la penserà anche diversamente, ma sono cose che deve valutare con attenzione, soprattutto per il futuro (non credo che Natami, una volta rilasciato, si “fermerà”).

    Non capisco come mai c’è l’interesse (sempre parlando del canale IRC+sito) di riportare la MOVE SR da privilegiata a user-mode, sono 25 anni che è privilegiata, Motorola ha fatto l’errore all’inizio sui primi 68K (NB: solo sui primi, in seguito è stata resa privilegiata), e proprio non comprendo la necessità di ripetere l’errore e farla tornare in spazio utente.

    Questa è una stupidaggine: la MOVE SR DEVE RIMANERE PRIVILEGIATA, altrimenti non soddisferà i requisiti di Popek and Goldberg http://en.wikipedia.org/wiki/Popek_and_Goldberg_virtualization_requirements

    Comunque sono consapevole che con la MOVE SR utilizzabile in user mode si risolverebbero molti problemi di compatibilità per giochi sviluppati solo su 68000 (unica CPU ad avere la MOVE SR in user mode).

    Avevo pensato a una soluzione allo scopo, ma non l’avevo espressa nell’articolo per non andare troppo sul tecnico. La espongo qui, nei commenti, visto che abbiamo toccato un tema delicato.

    La mia idea è quella di aggiungere un registro nuovo in cui memorizzare dei nuovi flag che modifichino il funzionamento del softcore N050. Al reset il registro verrebbe ovviamente azzerato, ma impostando successivamente il bit a 1 si potrebbe rendere la sola MOVE SR non privilegiata ed eseguibile in user space.

    In questo modo se, ad esempio, voglio far partire un gioco che richiede la MOVE SR in user mode, basterebbe una banalissima utility (da command line, da Workbench, o da tutte e due) per settare o azzerare il relativo bit. Subito dopo si lancerebbe il gioco famigerato e sarebbe tutto a posto.

    Ovviamente un altro bit potrebbero servire per “riconfigurare” al volo la CPU, ad esempio eliminando le istruzioni 68010+, e lasciando solo quelle del 68000.

    Le possibilità sono notevoli, e la flessibilità di quest’approccio lascia soltanto spazio all’immaginazione.

    L’MMU non sarà implementata perchè rallenterebbe un pochino il sistema, così verrà persa un’altra possibilità di aggiornamento importante (sigh!), esattamente ancora alla stessa maniera di quanto avvenne con i progetti delle prime schede Amiga (contenevano l’MMU, poi fatta togliere dai gran capi C= – fonte: un vecchio articolo di Paolo Canali su Amiga Magazine, se interessa lo cerco e ti dico il numero della rivista).

    Può benissimo essere implementata dopo, oppure in una versione di firmware apposita.

    Ricordiamoci che al boot l’FPGA carica il suo firmware, per cui nulla toglie di realizzare versioni apposite dotate di altre caratteristiche.

    Modello Minimig, per esempio: un Natami con firmware senza SuperAGA e chip 3D, ma estremamente compatibile con un Amiga 500 o un 1200.

    Purtroppo il progetto promette tanto ma ancora a mio parere è ben lungi dall’essere completato. Non dimentichiamo poi che, una volta completo l’HW, sarà necessario aggiornare la parte SW (Workbench e library di sistema), per cui non si è neanche a metà dell’opera!

    Non serve riscrivere AmigaOS & co. per sfruttare Natami. Già così, senza toccarlo (o con qualche stupida patch per abilitare l’uso di Copper e Blitter a velocità stratosferiche), il guadagno rispetto a un normale Amiga sarebbe notevole.

    Per le “finezze” c’è sempre spazio. Ma intanto il progetto dev’essere rilasciato.

    Il rischio che si corre in questi casi è che si perda troppo tempo ad aggiungere feature, rimandando la messa in produzione, e arrivando poi alla chiusura del progetto. Com’è capitato tante volte.

    Credo che ci sia anzi il rischio che il Minimig lo superi (NB: a contrario di quanto hai scritto, su Youtube è presente un video relativo ad un core Minimig che fà girare il chipset AGA con ben 50MB di Chip ram – l’HW non è più minimig ma un’altra scheda, ma il VHDL è lo stesso o molto simile + un softcore 68K riadattato per indirizzi a 32 bit)

    Attenzione: non ho detto che non esiste. Al momento Minimig NON supporta l’AGA, e questo è corretto.

    Il progetto di cui parli non è finalizzato e nessuno lo può usare, tranne chi ci sta lavorando, e che ha potuto approntare quel video (che tra l’altro ho già visto).

    D’altra parte manca ancora un softcore completo 68020 (c’è solo quello 68000 al momento), che è fondamentale per poter garantire una completa compatibilità con macchine come l’Amiga 1200.

    Conludendo, auguro vivamente che il progetto veda la luce, ma ho il timore che sarà relegato ad una sorta di consolle da gioco per pochissimi appassionati (forse addirittura solo per giochi 2D, perchè la parte 3D, sebbene sia avanzata per un Amiga, come hai sottolineato tu sarà comunque molto scarsa se paragonata agli standard attuali).

    Per questo avrei preferito che la GPU fosse utilizzabile a parte.

    E che i gate fossero usati per migliorare la CPU (con FPU, MMU e nuova unità SIMD).

    Ciao ;-)

    Salutami Gunnar, e digli che è meglio rilasciare il prodotto il prima possibile, che di tempo per affinarlo con altra roba ce ne sarà dopo.

    D’altra parte utilizzare un FPGA ha i suoi vantaggi, no? Sfruttiamoli! ;)

  • # 44
    bubu7te
     scrive: 

    @CdM

    Salutami Gunnar, e digli che è meglio rilasciare il prodotto il prima possibile, che di tempo per affinarlo con altra roba ce ne sarà dopo.

    Ehm, precisazione, io NON FACCIO PARTE del progetto Natami, non vorrei essere stato frainteso (non voglio prendermi i crediti altrui) :-)
    Il canale, così come il forum, è aperto a tutti, ed è stata una piacevole chiaccherata con i membri del team.
    Suggerisco anzi a chi è interessato di partecipare attivamente, magari evitando di creare rumore per nulla (della serie: si può fare questo, quando verrà rilasciato, e questo, e quello…) ma approfittando di proporre le proprie idee e suggerimenti.

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

    L’avevo intuito. :D

    Io al momento non ho tempo di partecipare alle discussioni, anche perché, come ben sai, sono piuttosto lunghe e con post chilometrici (in inglese).

  • # 46
    D
     scrive: 

    Bloccare lo sviluppo, l’evoluzione e la crescita del hardware per non scontentare software vecchio (e da un certo punto di vista scritto con i piedi) basta da solo per mettere una croce su tutto l’ambaradan.

  • # 47
    G
     scrive: 

    “Conludendo, auguro vivamente che il progetto veda la luce, ma ho il timore che sarà relegato ad una sorta di consolle da gioco per pochissimi appassionati (forse addirittura solo per giochi 2D, perchè la parte 3D, sebbene sia avanzata per un Amiga, come hai sottolineato tu sarà comunque molto scarsa se paragonata agli standard attuali).”

    beh già così sarebbe un successo no?

  • # 48
    bubu7te
     scrive: 

    @G

    “beh già così sarebbe un successo no?”

    Dipende dai punti di vista, visti gli anni che hanno passato allo sviluppo del sistema e i dindi che vi hanno investito gli auguro di raggiungere un successo ben maggiore.
    Credo però che più tardi avverrà il lancio ufficiale, peggio sarà per loro, perchè le specifiche minime dei sistemi tendono sempre ad alzarsi nel tempo, per cui una cosa che oggi è rivoluzionaria, domani è standard e dopodomani è sorpassata. Stanno passando forse troppo tempo ad aggiungere funzionalità che di fatto dispendono le forze (ad es: la CPU su FPGA, il core 3D, …) mentre ne tralasciano altre (pare che la RAM sarà saldata su scheda, con tanti buoni saluti all’espandibilità futura).
    Per carità, sono punti di vista differenti, ma io avrei preferito uscire prima possibile con qualcosa di compatibile, per poi andare ad aggiornare il sistema un po’ per volta.
    Come ben ha detto CdM: così facendo c’è il rischio di perdere i vantaggi della prototipazione rapida su FPGA.

    Ai posteri l’ardua sentenza…

  • # 49
    G
     scrive: 

    dico che alla fine non sarebbe male perchè:

    1)verrebbe rilasciato
    2)qualcuno ci svilupperebbe prodotti completi
    3)qualcuno lo comprerebbe ottenendo qualcosa di più del capriccio un clone amiga

    Non sono molto ottimista a dire il vero ma ammetto che un po’ ci sogno su (alla faccia di chi parlava di sogni, morte, polvere e vecchiaia)

    e non sottovaluterei l’aspetto gaming, anche a livello sperimentale il 2d torna e ritorna, produzioni intelligenti e coinvolgenti sono sempre possibili; molti programmatori dell’epoca magari erano rimasti con il colpo in canna… quel coricino 3d poi non lo maltratterei a priori…potrebbe dare un tocco scenografico che funga da parziale svecchiamento.
    Certo, bisognerebbe capire quanto la passione possa far lavorare gente per la gloria, questo non lo so :D …appunto si sogna, e comunque amiga era questo, la gioia di combinarci qualcosa e vedere le opere degli Assi!

    Boh non so voi, ma a me le console attuali dicono veramente poco, qualcosa quando lo desidero la gioco su Pc Windows, Retrogaming su psp… lo spazio ci sarebbe per una novità così, almeno per me.

  • # 50
    Marcel
     scrive: 

    I hope that i do not offend anyone by writing this comment in English, else i would have to use a translator tool to translate it to Italian.

    There have been made some bold statements here, i will do my best and explain what i have seen on the Natami forum since i joined.

    The N050 (68050) from what i have concluded is a 2 ALU design somewhat like the 68060.

    It has been optimized to be capable to the most common instructions in a single clock cycle.

    Some instruction support has been dropped.
    Binary encoded Decimals
    to name one

    The Blitter has been made more powerful by adding the option to read FastMem.

    Paula also has been a touched, but not so much to make the talk of the day.

    There have several units been added, Namely Tami (the 3Dcore) and Robin.

    Back to topic Nice article, Shame it missed some of the more defining points of the Natami as a whole machine.

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

    Thank you Marcel. I think that Appunti Digitali readers have no difficulties understanding what you said. In the end, it’s a technological blog. :)

    Natami is a big project with many features and a lot of things to talk about, but unfortunately the article I wrote was already fairly too long. :)

    Maybe I’ll came back talking of Natami, when it’s out, if there will be interesting new things or details. :P

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

    Per chi fosse interessato, è stato aperto un thread nel forum di Natami relativo a quest’articolo: http://www.natami.net/knowledge.php?b=6&note=20674

  • # 53
    G
     scrive: 

    niè mi pare di capire che mancano di pragmaticità, e non vuole essere un’offesa in alcun modo, anchio mi trascino da anni un progetto amatoriale di animazione 3D solo perchè nel mentre son diventato più padrone del software, delle tecniche, rifacendo varie cose.
    Però in effetti in questo caso darsi una scadenza per procedere poi con aggiornamenti sarebbe la cosa migliore… anche perchè la sostanza c’è tutta, e paradossalmente partendo da un binario morto, quale l’architettura degli amiga 1200/4000 il tempo non era, entro certi limiti,una tenaglia… l’interesse è rimasto costante.

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

    Quello che ha scritto non mi sembra appartenesse allo staff.

    Comunque i consigli che avevo da dargli, anche dal punto di vista tecnico, li ho dati.

    Avrei altre idee interessanti in mente, ma a questo punto non voglio perderci più altro tempo: prima aspetto che il progetto sia finalizzato e commercializzato. Poi, visto che parliamo di un FPGA, c’è sempre spazio per migliorarlo.

  • # 55
    bubu7te
     scrive: 

    @CdM
    No, Marcel non fà parte dello staff. E’ sufficiente consultare il forum di natami.net, quelli dello staff hanno la piccola scritta “(Natami Team Member)” in calce al loro nome.

  • # 56
    andres
     scrive: 

    Segnalo questo interessante post – datato alcuni mesi fa – di Dave Hanyie, circa quella che sarebbe stata (nelle sue intenzioni) l’evoluzione dell’Amiga quando lavorava per C=.
    In pratica, spiega che gran parte – se non tutta – dell’architettura custom sarebbe stata progressivamente abbandonata:

    <>

    Tutta la discussione è comunque interessante:
    http://news.slashdot.org/comments.pl?sid=1409045&cid=29796239

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

    C’è da dire che l’AAA, di cui ho parlato qualche articolo fa, era incompatibile con l’AGA proprio per cercare di spostare la programmazione degli Amiga dall’hardware al s.o..

    Che si potesse arrivare col tempo a un’architettura simil-PC è plausibile per le stesse ragioni per cui Apple l’ha fatto coi Mac.

    Sarebbe rimasto AmigaOS, ma è possibile che Amiga a livello di chipset qualche contributo allo sviluppo dell’hardware del PC l’avrebbe potuto dare, al contrario dei Mac che, da questo punto di vista, non hanno mai avuto nulla di “particolare”.

    P.S. La discussione è interessante, ma troppo lunga. Ho letto i primi messaggi di Haynie, e mi sono bastati.

  • # 58
    Raffaele
     scrive: 

    Nuove foto del Natami in azione ad una convention Amiga a Stoccarda:

    http://www.a1k.org/forum/showthread.php?p=346441

    Inoltre segnalo che questa discussione è stata citata anche da uno dei maggiori siti Amiga italiani, AmigaNews IkirSector Italia.

    http://amiga.ikirsector.it/forum/viewtopic.php?f=39&t=14038

    E mi congratulo con l’autore e con chi ha segnalato questo articolo al Natami Forum facendo sì che fosse linkato anche sul sito di Natami.

  • # 59
    andres
     scrive: 

    Oggi, un pò invogliato anche da questi articoli, ho acceso l’A1200 e provato alcuni vecchi giochi…
    Cavolo, l’AGA non sarà stato all’altezza delle aspettative, ma se spremuto funzionava eccome… ho provato Super Stardust AGA (su un 1200/020) e graficamente è stupendo ancora oggi, su uno schermo grande fa davvero impressione, il movimento del fondale è incredibile…

  • # 60
    Raffaele
     scrive: 

    Video del Natami in azione:

    http://www.youtube.com/watch?v=rydE7wa_5d0&fmt=18

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

    A livello di compatibilità col chipset sembra messo bene. Speriamo non perdano troppo tempo e lo mettano in produzione presto.

  • # 62
    G
     scrive: 

    beh mi sembra che ci siano netti segnali di maturità… non so se vanno con i piedi di piombo per aumentare l’attesa o perchè stanno ottimizzando il tutto…
    ocs/ecs mi pare ottimo
    l’aga c’è anche se solo con delle immagini…

    Mancano da mostrare i pezzi da 90 però:
    -Giochi AGA
    -dimostrazione consistente delle Capacità SuperAGA
    -un bel bench, e qui voglio capire le differenze tra un amiga emulato da pc moderno e questo winuae

  • # 63
    caso
     scrive: 

    e alla fine 2015 e non si e’ fatto nulla, solo chiacchiere e basta.
    allora era vero che manca di pragmaticita’.

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

    Ci sono stati dei litigi fra alcuni componenti dello staff, che hanno portato al sostanziale disfacimento del progetto. Tutto ciò nonostante alcune schede fossero già state consegnate (ma il firmware non era ancora pronto), dunque non è vero che ci siano state soltanto chiacchiere.

  • # 65
    Stefano
     scrive: 

    Ciao Cesare,

    da sviluppatore trovo questo sito molto bello e mi piacciono molto i tuoi articoli in generale ma specialmente quelli sull’Amiga che riserva sempre un posto nel mio cuore (ed anche nella mia casa visto che ora sono di nuovo possessore di varie macchine originali C= e di incarnazioni PowerPC).

    Con Natami abbiamo perso ulteriore tempo nella possibile rinascita di un qualcosa che fosse veramente una evoluzione di Amiga anche in senso hardware ma per fortuna alla fine il progetto è stato portato avanti dall’Apollo Team che non solo produce acceleratori velocissimi per i vecchi Amiga (Vampire V2) ma ha fatto anche un passo avanti realizzando concretamente un nuovo Amiga compatibile con gli Amiga “originali” con prestazioni di tutto rispetto (sia chiaro, sempre relativamente ad un mercato di nicchia, retrogaming, niente che può o potrà mai competere con i PC e le console di ora) completando il SAGA citato anche qui con buone migliorie e buonissima compatibilità e una CPU che secondo me ti piacerebbe molto analizzare chiamata “68080” che include anche AMMX, una versione Amiga/68K di MMX di Intel.

    Ti lascio un video del sistema che fa girare un buon numero di giochi AGA e ti lascio un link ai forum di Apollo di un particolare thread dove parlano in dettaglio della feature della CPU che secondo me troverai molto interessante.

    https://www.youtube.com/watch?v=87bCG-6PKL8

    http://apollo-core.com/knowledge.php?b=4&note=26097

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

    Grazie per i complimenti, Stefano.

    Conosco molto bene il progetto Apollo e seguo costantemente il forum da quando è nato.

    Ho anche analizzato il 68080, l’estensione “AMMX”, e parte della documentazione delle estensioni SAGA, e devo dire che, purtroppo, seguono gli stessi sbagli di Commodore: aggiungere orribili pezze a CPU e chipset, invece di realizzare un design con un po’ di buona progettazione, contenendo al massimo il “legacy” e pensando a qualcosa di realmente innovativo e più in ottica di future espansioni/evoluzioni (che in parte è ciò che stava tentando di fare Commodore col chipset AAA).

    Conosco anche molto bene Gunnar, col quale ho avuto sia delle buone discussioni (in un forum di programmatori Amiga che ormai è chiuso) sia dei brutali scontri in altri forum amighisti, per cui preferisco non aggiungere altro (anche perché ti “conosco”, avendo letto i tuoi messaggi nel forum, e so quanto tu sia appassionato del progetto).

  • # 67
    Stefano Crosara
     scrive: 

    Ciao Cesare,

    in realtà credo che tu mi abbia confuso con un altro Stefano e credo di aver capito perfettamente a chi ti riferisci ma non è assolutamente un problema :-). Se vuoi raccontarmi quello che è successo con Gunnar sono tutto orecchi e quanto una critica è ottimamente argomentata, anche se va contro il mio entusiasmo, la accetto di buon grado e la trovo anzi molto importante. Se poi avrai tempo di mettere giù in un articolo quello che pensi ancora meglio e lo leggerò con interesse.

    PS: pur essendo molto interessato al V4 trovo che siano un po’ troppo “markettosi” e per quanto mi riguarda comprerò il V4 standalone solo quando arriverà a standard di stabilità industriali.

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

    Oops. Scusami allora. :P

    Preferisco evitare di discutere delle questioni con Gunnar, perché è roba passata e poi non essendo qui non potrebbe dire la sua. Dico soltanto che il problema è stato proprio l’essere troppo “markettosi”, come dici tu.

    Invece per quanto riguarda l’aspetto puramente tecnico la mia opinione è che il progetto Apollo vada avanti a colpi di brutte pezze messe lì per aggiungere funzionalità mancanti (parliamo di CPU e chipset). E dico brutte perché il criterio che viene seguito è: “posso farlo? Lo faccio”. Che è tipico degli ingegneri che sono molto bravi a implementare le funzionalità, ma che non riescono a pensare più avanti, in grande, e soprattutto a sedersi a un tavolo e pianificare design “fatti per bene”.

    La CPU 68080 è quella che risente particolarmente di questa mentalità “c’è un buco qui, allora gli schiaffo questa nuova istruzione / funzionalità perché per me è comoda e implementarla con l’FPGA è facilissimo ed economico”.
    L’AMMX è l’emblema di tutto ciò: un’estensione SIMD che è stata ricavata andando a riempire i buchi della famigerata “linea F” (quella dei coprocessori nella famiglia 68000), in particolare nella sezione relativa all’FPU (che è un coprocessore). Invece avrebbe potuto essere una bella estensione SIMD, con opcode semplici e lineari per introdurre le nuove istruzioni ternarie e binarie.
    Per non parlare poi del fatto che hanno messo tutto in un grande calderone: i registri SIMD sono mappati direttamente sui registri general-purpose e su quelli dell’FPU, con tutte le problematiche che ne derivano anche in ottica di future espansioni o passaggio agli ASIC (difatti se ci fai caso le CPU moderne hanno set di registri separati. Soltanto soluzione embedded usa questa sovrapposizione/condivisione dei rgistri). Motivazione di Gunnar: perché così si risparmia tempo sul context-switch… -_-

    Situazione simile per quanto riguarda SAGA: si sono raddoppiati i canali audio e aggiunto un bitplane in più per supportare 512 colori, quando la cosa giusta da fare sarebbe stata introdurre nuovi banchi di registri per l’audio, e abbandonare i bitplane (mantenendo i registri e le funzionalità OCS/ECS/AGA soltanto per una questione di retrocompatibilità) focalizzandosi sulle modalità packed/chunky e su apposito Blitter per accelerarne le operazioni.

    Sono alcuni esempi, ma spero di aver soddisfatto la tua curiosità.

  • # 69
    Stefano Crosara
     scrive: 

    Scusa se ti rispondo solo ora ma sono dovuto stare dietro a problemi di natura familiare.

    Ti faccio una premessa. Il mio Amiga NG ideale deve:

    – Avere totale compatibilità con il parco software esistente, ovviamente videogiochi inclusi

    – Avere onboard tutto il chipset C=, niente emulazione software

    – Possibilmente estendere i registri originali ed aggiungerne altri in modo che chi conosce l’hardware Amiga possa trovare un ambiente familiare

    – Essere una piattaforma fisica. Gli emulatori li adoro, WinUAE è grandioso, ma io voglio un computer, non un programma

    – Avere porte DB9 per poter usare i vecchi gloriosi joystick dell’epoca (ho due Albatros e due joystick dell’Atari 2600)

    – Possibilmente avere un lettore floppy perché il rumore della testina è insuperabile. Il floppy è importante anche perché alcuni slave di WHDLoad non sono perfetti. Il gotek può andare bene

    – Gestire gradualmente una eventuale fase di transizione per puntare, perché no, a qualcosa di più potente

    – Costare cifre abbordabili, se non decenti

    Su alcuni punti posso accettare dei compromessi, su altri no. L’hardware della parte pseudo ufficiale, diciamo “hyperionista”, e cioè gli AmigaONE, Sam e le altre piattaforme hyper costose, per me se lo possono tenere. Massimo rispetto per chi ha una grande passione per quei sistemi e spende quelle cifre sostanzialmente per avere il solo AmigaOS su di una cpu super veloce. Ho un Pegasos II su cui è installato MorphOS ed ho acquistato recentemente un Mac mini G4 per “due lire” così posso installare OS4 sul Pegasos e spostare MorphOS su Mac mini G4 altrimenti OS4 sarebbe rimasto per me un miraggio (non l’ho ancora provato in emulazione a dire il vero).

    La Vampire Standalone, sebbene non risponda in toto alla mia wish list, mi sembra un buon comproesso. È un qualcosa di fisico, implementa il chipset AGA su FPGA, lo estende e mi permette anche di programmare in assembler 680×0 implementando una buona CPU. Al giorno d’oggi faccio principalmente lo sviluppatore Web, .NET, Java, ho lavorato su iOS, fatto diverse app per clienti e per la mia ditta, 3D via API e sinceramente non vedo l’ora di rimettere mano al C/Assmebly per divertirmi un po’ e potrò farlo addirittura su 680×0, una serie di CPU che amo ed un set di istruzioni che ho sempre ammirato.

    Ovviamente ritengo che Amiga ormai sia relegata ad un mercato di nicchia, per hobbysti ed appassionati, per ovvi motivi, quindi che la CPU sia diciamo comparabile ad un Pentium invece che un PPC a 2Ghz non mi turba.

    Scusa la pedanteria e inizio a risponderti punto per punto.

    – L’AMMX è l’emblema di tutto ciò: un’estensione SIMD che è stata ricavata andando a riempire i buchi della famigerata “linea F” (quella dei coprocessori nella famiglia 68000), in particolare nella sezione relativa all’FPU (che è un coprocessore). Invece avrebbe potuto essere una bella estensione SIMD

    Sono d’accordo che sarebbe stato meglio avere una estensione SIMD SSE più moderna ma stando a quello che dice Gunnar: “avrebbe preso 10 volte più spazio nella FPGA”. È così ? Non lo so. Purtroppo non mi intendo di VHDL e non so valutare se sia effettivamente vero

    – Per non parlare poi del fatto che hanno messo tutto in un grande calderone: i registri SIMD sono mappati direttamente sui registri general-purpose e su quelli dell’FPU

    In realtà i registri dell’AMMX non impattano sulla FPU. Recentemente leggevo una risposta del nostro che confermava che è possibile usare AMMX e FPU insieme. Il mapping dei registri AMMX su GP, se ho capito bene, è parziale: ci sono registri in più accessibili solo da opcode AMMX e AMMX può lavorare anche su D0-D7. L’unica scelta un po’ strana è l’istruzione BANK.

    – con tutte le problematiche che ne derivano anche in ottica di future espansioni o passaggio agli ASIC

    Premetto, di nuovo, che non mi intendo della progettazione di hardware. Non sono proibitivi i costi di un ASIC ?

    – Situazione simile per quanto riguarda SAGA: si sono raddoppiati i canali audio

    Visto che C= non ha mai migliorato il Paula non mi sembra male come progresso anche perché si parla di canali a 16 bit a 56Khz. Mi chiedo se si potesse fare meglio e si potesse portarli a 32 o anche più. Forse spazio mancante ? Forse per nuovi piani futuri ? Ho letto che si parlava anche di aggiungere un semplice core 3D ma credo che sia molto lontana la cosa.

    – e aggiunto un bitplane in più per supportare 512 colori, quando la cosa giusta da fare sarebbe stata introdurre nuovi banchi di registri per l’audio, e abbandonare i bitplane (mantenendo i registri e le funzionalità OCS/ECS/AGA soltanto per una questione di retrocompatibilità) focalizzandosi sulle modalità packed/chunky e su apposito Blitter per accelerarne le operazioni

    Sul Blitter Gunnar ha detto che non conviene più usarlo e che quindi quello che c’è è presente solo per retro compatibilità. Anche a me la cosa non emoziona troppo perché avrei preferito che SAGA avesse una parte di hw 2D più moderno invece pare che si punti a fare tutto con la CPU, filosofia non molto amighista. Facendo di nuovo l’avvocato del diavolo immagino sia un problema di spazio sulla FPGA oppure di tempo mancante al team è piuttosto piccolo. Per quanto riguarda i modi packed chunky sono supportati ma niente Blitter si, però èare che il copper possa lavorare anche su di loro! :)

  • # 70
    Stefano Crosara
     scrive: 

    Aggiungo che ovviamente, come dicevo sopra, tutto questo per farmela comprare deve funzionare bene. Le alpha che se le tengano. Per ora infatti sono in attesa. Se vedrò che la cosa si concretizza in un certo modo allora credo che la acquisterò. La V4 mi sembra l’unico upgrade decente dell’hw Amiga dopo tanti anni. Il resto è noia. Si poteva fare meglio immagino, ma apprezzo anche quello che c’è.

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

    Credo che tutti abbiamo più o meno impegni, per cui non ti devi scusare. Io ho scritto soltanto adesso, perché è ora che sono riuscito a recuperare un po’ di tempo per tutte le risposte. ;)

    Ti faccio una premessa. Il mio Amiga NG ideale deve:

    – Avere totale compatibilità con il parco software esistente, ovviamente videogiochi inclusi

    Questo è semplicemente impossibile, perché di macchine Amiga ce ne sono diverse con configurazioni diverse, per cui soltanto una parte del parco software esistente può girare correttamente su una specifica macchina/configurazione.

    – Avere onboard tutto il chipset C=, niente emulazione software

    Purtroppo anche questo è impossibile, perché Commodore non produce più chipset e nessun progetto che ha provato o prova a reimplementarlo riesce e riuscirà a farlo al 100%, perché non si conoscono esattamente tutti i dettagli “interni” e, quindi, come riprodurli. Anche per questo la compatibilità dei nuovi progetti sarà sempre limitata (a meno che qualcuno non si prenda la briga di scoperchiare i chip e ricostruire la struttura interna con una mostruosa opera di ingegneria inversa).

    – Possibilmente estendere i registri originali ed aggiungerne altri in modo che chi conosce l’hardware Amiga possa trovare un ambiente familiare

    C’ho provato anche io, ben 7 anni fa, nel forum “Amiga Coding” (ormai chiuso da un po’ di anni) che era frequentato pure da Gunnar.

    Il problema è che qui ognuno estende il chipset con le sue idee, come gli pare o gli conviene, senza mettersi a un tavolo assieme e realizzare un buon design.

    Significa frammentare ancora di più la comunità, che peraltro non è certo in buona salute (e sarà sempre peggio in futuro).

    – Essere una piattaforma fisica. Gli emulatori li adoro, WinUAE è grandioso, ma io voglio un computer, non un programma

    Beh, ci sono progetti che incapsulano l’hardware di un PC in case simili a quelli delle macchine originali, e personalizzano l’avvio della macchina in modo che parta immediatamente l’emulatore (WinUAE, FSUAE).

    Questo per chi sente di avere il bisogno di “toccare con mano” qualcosa.

    Alla fine a me, che sono un utente come un altro, non interessa nulla di tutto ciò, perché quello che conta è poter fruire del vecchio software come facevo prima, allo stesso modo.

    “Matematicamente” ciò che conta è e dovrebbe sempre essere questo: y = f(x). Se do lo stesso input x mi aspetto lo stesso output y. Come ciò avvenga, ossia la funzione f, per me non è affatto importante.

    – Avere porte DB9 per poter usare i vecchi gloriosi joystick dell’epoca (ho due Albatros e due joystick dell’Atari 2600)

    Qui purtroppo serve una soluzione hardware. Oppure qualche adattatore.

    Io ho comprato un joystick arcade USB, perché posso usarlo anche con altri emulatori, ed è decisamente meglio dell’Arcade stick che avevo ai tempi di C128 e Amiga.

    – Possibilmente avere un lettore floppy perché il rumore della testina è insuperabile.

    Si possono riprodurre anche con WinUAE. ;)

    Il floppy è importante anche perché alcuni slave di WHDLoad non sono perfetti. Il gotek può andare bene

    Il gotek supporta le immagini IPF? Perché quando parliamo di riproduzione perfetta dei giochi, questo è l’unico modo (e si può fare anche in emulazione).

    – Gestire gradualmente una eventuale fase di transizione per puntare, perché no, a qualcosa di più potente

    Il problema è se fissi delle specifiche hardware adesso, poi sarà difficile poterle cambiare, e ti dovrai portare dietro la compatibilità anche con la prima estensione.

    Ecco perché servirebbe un buon design iniziale.

    – Costare cifre abbordabili, se non decenti

    Impossibile con le soluzioni più potenti costano ben più di un PC che farebbe girare tutto il parco software di gran lunga meglio.

    Ma anche un Raspberry Pi4 fa meglio, al momento, a un costo ridicolmente basso.

    Su alcuni punti posso accettare dei compromessi, su altri no. L’hardware della parte pseudo ufficiale, diciamo “hyperionista”, e cioè gli AmigaONE, Sam e le altre piattaforme hyper costose, per me se lo possono tenere. Massimo rispetto per chi ha una grande passione per quei sistemi e spende quelle cifre sostanzialmente per avere il solo AmigaOS su di una cpu super veloce. Ho un Pegasos II su cui è installato MorphOS ed ho acquistato recentemente un Mac mini G4 per “due lire” così posso installare OS4 sul Pegasos e spostare MorphOS su Mac mini G4 altrimenti OS4 sarebbe rimasto per me un miraggio (non l’ho ancora provato in emulazione a dire il vero).

    Anche per me ha poco senso spendere troppi soldi soltanto per progetti hobbistici di questo tipo.

    Ormai i sistemi PowerPC sono “legacy” da diversi anni, e si dovrebbe capire che s.o. come AmigaOS 4 e MorphOS (sebbene l’hardware per far girare questo sia mediamente molto economico) andrebbero portati su architetture moderne e poco costose.

    La Vampire Standalone, sebbene non risponda in toto alla mia wish list, mi sembra un buon comproesso. È un qualcosa di fisico, implementa il chipset AGA su FPGA, lo estende

    Purtroppo è un progetto molto costoso, per quello che riesce a dare. Non implementa il chipset AGA in tutti i suoi dettagli (vedi sopra, all’inizio). E l’estensione lascia molto a desiderare (vedi mio precedente commento).

    e mi permette anche di programmare in assembler 680×0 implementando una buona CPU.

    Non so quanto senso abbia continuare a programmare in assembly (e parlo in generale) nel 2020. Soprattutto per CPU obsolete e legacy come quelle 68K (seppure continui ad adorarle).

    All’assembly si ricorre soltanto in casi molto rari, quando non si riesce a ottimizzare diversamente il codice e si ha bisogno a tutti i costi di migliorare le prestazioni dei “loop principali”.

    Al giorno d’oggi faccio principalmente lo sviluppatore Web, .NET, Java, ho lavorato su iOS, fatto diverse app per clienti e per la mia ditta, 3D via API e sinceramente non vedo l’ora di rimettere mano al C/Assmebly per divertirmi un po’ e potrò farlo addirittura su 680×0, una serie di CPU che amo ed un set di istruzioni che ho sempre ammirato.

    La amo ancora anch’io, ma vedi poco sopra.

    Per il resto ormai lavoro principalmente in Python (che è il linguaggio che adoro e uso per tantissime cose e progetti personali). Fra programmare in Python o in assembly 68K io non avrei dubbi su quale scegliere.

    Anche se devo dire che per qualche mio progetto di molto basso livello mi sporco le mani anche con assembly e soprattutto col linguaggio macchina. :P

    Ovviamente ritengo che Amiga ormai sia relegata ad un mercato di nicchia, per hobbysti ed appassionati, per ovvi motivi, quindi che la CPU sia diciamo comparabile ad un Pentium invece che un PPC a 2Ghz non mi turba.

    De gustibus. :) D’altra parte parliamo di hobby.

    Scusa la pedanteria e inizio a risponderti punto per punto.

    Non c’è problema. Finalmente ho avuto un po’ di tempo per poterlo fare pure io. :D

    – L’AMMX è l’emblema di tutto ciò: un’estensione SIMD che è stata ricavata andando a riempire i buchi della famigerata “linea F” (quella dei coprocessori nella famiglia 68000), in particolare nella sezione relativa all’FPU (che è un coprocessore). Invece avrebbe potuto essere una bella estensione SIMD

    Sono d’accordo che sarebbe stato meglio avere una estensione SIMD SSE più moderna ma stando a quello che dice Gunnar: “avrebbe preso 10 volte più spazio nella FPGA”. È così ? Non lo so. Purtroppo non mi intendo di VHDL e non so valutare se sia effettivamente vero

    Sono balle: dipende da come la progetti questa nuova estensione SIMD.

    Infatti rispetto al patchwork attuale, dove sono state infilate istruzioni nei buchi a disposizione e facendo addirittura uso di prefissi (come x86/x64!!!) per poter accedere ai registri addizionali, un’estensione “clean” (progettata da zero) si sarebbe potuta implementare usando di gran lunga meno transistor nel decoder della CPU (e questi suggerimenti li diedi 7-8 anni fa in quel forum che Gunnar frequentava).
    Inoltre l’AMMX ha richiesto l’estensione del banco dei registri, ma si sarebbe potuto fare la stessa cosa senza andare a toccare gli attuali registri dati e indirizzi. Anzi, un set di registri separato consente di migliorare le prestazioni (perché ci sono meno dipendenze / conflitti con le normali istruzioni).

    – Per non parlare poi del fatto che hanno messo tutto in un grande calderone: i registri SIMD sono mappati direttamente sui registri general-purpose e su quelli dell’FPU

    In realtà i registri dell’AMMX non impattano sulla FPU. Recentemente leggevo una risposta del nostro che confermava che è possibile usare AMMX e FPU insieme. Il mapping dei registri AMMX su GP, se ho capito bene, è parziale: ci sono registri in più accessibili solo da opcode AMMX e AMMX può lavorare anche su D0-D7.

    E possono utilizzare anche i registri dell’FPU. Come ho detto, AMMX utilizza sia i registri dati sia quelli dell’FPU (che sono mappati nel nuovo set di 32 registri totali).

    L’unica scelta un po’ strana è l’istruzione BANK.

    Che è un prefisso come x86/x64. Prima si sono tirate pietre contro Intel (e AMD) per quell’architettura proprio a causa dei famigerati prefissi, e adesso si segue la stessa (fallimentare) strada…

    Questo ti sembra sia in linea con la “filosofia” Amiga?

    – con tutte le problematiche che ne derivano anche in ottica di future espansioni o passaggio agli ASIC

    Premetto, di nuovo, che non mi intendo della progettazione di hardware. Non sono proibitivi i costi di un ASIC ?

    Lo sono, infatti. Ma se il progetto espande la sua base (vedi l’interessamento della comunità Atari, e altre richieste che di recente sono pervenute nell’utilizzare il solo core 68080), si può pensare di poter passare a un ASIC per ottenere prestazioni di gran lunga superiori (con frequenze nell’ordine di qualche Ghz).

    – Situazione simile per quanto riguarda SAGA: si sono raddoppiati i canali audio

    Visto che C= non ha mai migliorato il Paula non mi sembra male come progresso anche perché si parla di canali a 16 bit a 56Khz. Mi chiedo se si potesse fare meglio e si potesse portarli a 32 o anche più. Forse spazio mancante ?

    Al momento forse sì, ma il punto è che attualmente si sono semplicemente ricopiati gli attuali registri (comunque estesi per supportare 16 bit e panning) in un altro spazio d’indirizzamento perché è una soluzione semplicissima da realizzare con un FPGA, anziché provvedere a una soluzione nuova di pacca e molto più estesa (vedi sotto).

    Forse per nuovi piani futuri ?

    I piani futuri li avevo forniti io 7-8 anni in cui avevo presentato il nuovo banco di registri per l’audio che supportava fino a 64 canali (e altre caratteristiche per i canali, come ad esempio la lunghezza dei sample che passava da 16 a 32 bit), e che non era affatto necessario implementare tutto subito.

    Il tutto in maniera retrocompatibile, perché la scrittura nei registri dei 4 vecchi banchi di registri di Paula veniva immediatamente replicata negli appositi nuovi registri.

    Che poi è quello che aveva fatto Commodore con l’AAA, se non ricordo male, che aveva “virtualizzato” il vecchio chipset ECS…

    Ho letto che si parlava anche di aggiungere un semplice core 3D ma credo che sia molto lontana la cosa.

    Ma se ogni volta dicono che non ci sono abbastanza risorse? Adesso si parla pure di un core 3D.

    Prima Gunnar aveva anche detto che fosse impossibile implementare un’FPU. Poi, dopo la valanga di critiche gli sono state fatte (anche da me, sul forum di AROS), “stranamente” è venuta fuori l’implementazione in hardware.

    Le risorse dell’FPGA forse bisognerebbe utilizzarle meglio e per le cose realmente utili. Come anche la PMMU che ancora manca, e anche questo incide negativamente sulla retro-compatibilità.

    – e aggiunto un bitplane in più per supportare 512 colori, quando la cosa giusta da fare sarebbe stata introdurre nuovi banchi di registri per l’audio, e abbandonare i bitplane (mantenendo i registri e le funzionalità OCS/ECS/AGA soltanto per una questione di retrocompatibilità) focalizzandosi sulle modalità packed/chunky e su apposito Blitter per accelerarne le operazioni

    Sul Blitter Gunnar ha detto che non conviene più usarlo e che quindi quello che c’è è presente solo per retro compatibilità. Anche a me la cosa non emoziona troppo perché avrei preferito che SAGA avesse una parte di hw 2D più moderno invece pare che si punti a fare tutto con la CPU, filosofia non molto amighista. Facendo di nuovo l’avvocato del diavolo immagino sia un problema di spazio sulla FPGA oppure di tempo mancante al team è piuttosto piccolo. Per quanto riguarda i modi packed chunky sono supportati ma niente Blitter si, però èare che il copper possa lavorare anche su di loro! :)

    Questa è un’altra (l’n-esima, purtroppo) menzogna di Gunnar, che ha fatto soltanto qualche esempio in cui la CPU figurava meglio del Blitter. Poi è intervenuto un altro programmatore Amiga che ha esposto altri casi in cui un Blitter indipendente sarebbe utile.

    Adesso ti faccio soltanto un piccolo, ma sostanziale, esempio che ti dimostra come Gunnar abbia dichiarato il falso (tirando acqua al suo mulino): un Blitter indipendente potrebbe spostare le finestre del s.o. in maniera fluida e senza bloccare la CPU per lunghi periodi di tempo.
    Se ti sembra poco questo (specialmente con schermi con risoluzioni e profondità colore sempre più grandi, ossia operazioni che richiedono parecchio tempo e banda per poter essere completate)…

    Ma da programmatore Amiga di vecchia data (e ho anche lavorato a due videogiochi) potrei anche fartene altri. ;)

    Aggiungo che ovviamente, come dicevo sopra, tutto questo per farmela comprare deve funzionare bene. Le alpha che se le tengano. Per ora infatti sono in attesa. Se vedrò che la cosa si concretizza in un certo modo allora credo che la acquisterò. La V4 mi sembra l’unico upgrade decente dell’hw Amiga dopo tanti anni. Il resto è noia.

    Concordo: c’è stata poca innovazione negli altri progetti.

    Si poteva fare meglio immagino,

    Senz’altro, come avrai intuito con questo mio corposo commento.

    ma apprezzo anche quello che c’è.

    De gustibus. :)

    Scusami per il ritardo, ma il commento ha richiesto parecchio tempo per poter essere scritto. Spero che, comunque, apprezzerai. :)

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

    Un commento, nel forum EAB, che capita a fagiuolo: http://eab.abime.net/showpost.php?p=1395397&postcount=26 ;)

  • # 73
    Stefano Crosara
     scrive: 

    – Questo è semplicemente impossibile, perché di macchine Amiga ce ne sono diverse con configurazioni diverse, per cui soltanto una parte del parco software esistente può girare correttamente su una specifica macchina/configurazione.

    Riguardi ai videogiochi certo, intendevo tutto rispetto ad un dato hardware. È evidente che Archon, ad esempio, che vuole un 500 liscio ed il kickstart 1.2, non ci può girare se non con lo slave :-)

    – Avere onboard tutto il chipset C=, niente emulazione software
    – Purtroppo anche questo è impossibile, perché Commodore non produce più chipset e nessun progetto che ha provato o prova a reimplementarlo riesce e riuscirà a farlo al 100%, perché non si conoscono esattamente tutti i dettagli “interni” e, quindi, come riprodurli. Anche per questo la compatibilità dei nuovi progetti sarà sempre limitata (a meno che qualcuno non si prenda la briga di scoperchiare i chip e ricostruire la struttura interna con una mostruosa opera di ingegneria inversa).

    Non è impossibile, è altamente improbabile. È un vero peccato che per via di un modello economico non si possano seguire i propri obbiettivi e passioni. Fossi un miliardario lo farei domani buttandoci soldi :P

    Comunque, era il preambolo, non sto a risponderti su tutto perché dopo il preambolo chiarisco che ovviamente ci sono dei compromessi da fare e quali siano accettabili o meno.

    – Possibilmente estendere i registri originali ed aggiungerne altri in modo che chi conosce l’hardware Amiga possa trovare un ambiente familiare
    – C’ho provato anche io, ben 7 anni fa, nel forum “Amiga Coding” (ormai chiuso da un po’ di anni) che era frequentato pure da Gunnar. Il problema è che qui ognuno estende il chipset con le sue idee, come gli pare o gli conviene, senza mettersi a un tavolo assieme e realizzare un buon design. Significa frammentare ancora di più la comunità, che peraltro non è certo in buona salute (e sarà sempre peggio in futuro)

    Vero. Ma in questo momento non vedo altri “chiunque”, essendo NATAMI morto e AFAIK alcuni dei membri confluiti nel progetto Vampire l’unico nuovo standard che estende i chipset esistenti è il team della Vampire.

    – Essere una piattaforma fisica. Gli emulatori li adoro, WinUAE è grandioso, ma io voglio un computer, non un programma
    – Beh, ci sono progetti che incapsulano l’hardware di un PC in case simili a quelli delle macchine originali, e personalizzano l’avvio della macchina in modo che parta immediatamente l’emulatore (WinUAE, FSUAE).

    Ti assicuro che li conosco ;-). Per anni ho avuto uno splendido Amithlon su motherboard ABit NF7-S ;).

    – Alla fine a me, che sono un utente come un altro, non interessa nulla di tutto ciò, perché quello che conta è poter fruire del vecchio software come facevo prima, allo stesso modo.

    Allora ti basta WinUAE :-)

    – “Matematicamente” ciò che conta è e dovrebbe sempre essere questo: y = f(x). Se do lo stesso input x mi aspetto lo stesso output y. Come ciò avvenga, ossia la funzione f, per me non è affatto importante.

    La pensavo anche io così. Poi ho inziato a ricomprare Amiga veri ed ora ne ho 5 :-)

    – Avere porte DB9 per poter usare i vecchi gloriosi joystick dell’epoca (ho due Albatros e due joystick dell’Atari 2600)
    – Qui purtroppo serve una soluzione hardware. Oppure qualche adattatore.

    Il V4 ha le porte DB9

    – Io ho comprato un joystick arcade USB, perché posso usarlo anche con altri emulatori, ed è decisamente meglio dell’Arcade stick che avevo ai tempi di C128 e Amiga.

    Chiaramente avendo anche USB è naturale il salto verso joystick (odio i joypad) con più pulsanti visto che è sempre stata una enorme mancanza di C= accidenti a loro! :)

    Purtroppo, però, a quanto pare, le porte USB della V4 non sembrano essere “full usb” …

    – Possibilmente avere un lettore floppy perché il rumore della testina è insuperabile.
    – Si possono riprodurre anche con WinUAE. ;)

    Vedi sopra :-)

    – Il floppy è importante anche perché alcuni slave di WHDLoad non sono perfetti. Il gotek può andare bene
    – Il gotek supporta le immagini IPF? Perché quando parliamo di riproduzione perfetta dei giochi, questo è l’unico modo (e si può fare anche in emulazione)

    Afaik no. Usare un mix di floppy e slave rientra però in un compromesso accettabile per quei videogiochi che non funzionano altrimenti.

    – Ormai i sistemi PowerPC sono “legacy” da diversi anni, e si dovrebbe capire che s.o. come AmigaOS 4 e MorphOS (sebbene l’hardware per far girare questo sia mediamente molto economico) andrebbero portati su architetture moderne e poco costose.

    Sono d’accordo: avrebbero dovuto puntare immediatamente su x86. Ci sono voci che MorphOS vada in quella direzione.

    – Purtroppo è un progetto molto costoso, per quello che riesce a dare. Non implementa il chipset AGA in tutti i suoi dettagli (vedi sopra, all’inizio). E l’estensione lascia molto a desiderare (vedi mio precedente commento).

    La compatibilità AGA sembra buona so far ma ancora non è totale. Sarebbe utile fare, da parte loro, o di loro betatester, una bella lista di quello che funziona e quello che non fnuziona, invece di fare solo video YouTube :-). Ma probabilmente la trasparenza non è uno dei loro obiettivi …… ;)

    – All’assembly si ricorre soltanto in casi molto rari, quando non si riesce a ottimizzare diversamente il codice e si ha bisogno a tutti i costi di migliorare le prestazioni dei “loop principali”

    Di inner loop fatti a mano su quella CPU ce ne sarà molto bisogno :-) ma anche al giorno d’oggi, in casi molto di nicchia, non c’è alternativa.

    – Per il resto ormai lavoro principalmente in Python (che è il linguaggio che adoro e uso per tantissime cose e progetti personali). Fra programmare in Python o in assembly 68K io non avrei dubbi su quale scegliere.

    Per hobby anche io non avrei dubbi, 68K ASM :)

    [velocità comparabile con Pentium 75/90]
    – De gustibus. :) D’altra parte parliamo di hobby.

    Chiaro che anche io preferirei di meglio. Ma la vedo dura riuscire ad ottenerlo in un mercato del genere.

    – Sono balle: dipende da come la progetti questa nuova estensione SIMD

    .. :)

    – E possono utilizzare anche i registri dell’FPU. Come ho detto, AMMX utilizza sia i registri dati sia quelli dell’FPU (che sono mappati nel nuovo set di 32 registri totali).

    Afaik non è così ?

    – L’unica scelta un po’ strana è l’istruzione BANK.
    – Che è un prefisso come x86/x64. Prima si sono tirate pietre contro Intel (e AMD) per quell’architettura proprio a causa dei famigerati prefissi, e adesso si segue la stessa (fallimentare) strada

    Se ho capito bene le spec non è un prefisso che metti davanti ad una istruzione ma uno switch: l’istruzione cambia banco permanentemente dopo essere stata eseguita. Un prefisso lo metti davanti ad ogni istruzione, è una cosa diversa.

    – Questo ti sembra sia in linea con la “filosofia” Amiga?

    L’ho scritto che in alcune parti non lo è per niente :)

    – Premetto, di nuovo, che non mi intendo della progettazione di hardware. Non sono proibitivi i costi di un ASIC ?
    – Lo sono, infatti. Ma se il progetto espande la sua base (vedi l’interessamento della comunità Atari, e altre richieste che di recente sono pervenute nell’utilizzare il solo core 68080), si può pensare di poter passare a un ASIC per ottenere prestazioni di gran lunga superiori (con frequenze nell’ordine di qualche Ghz)

    Io dico: magari. Però non vedo la cosa molto possibile

    – I piani futuri li avevo forniti io 7-8 anni in cui avevo presentato il nuovo banco di registri per l’audio che supportava fino a 64 canali (e altre caratteristiche per i canali, come ad esempio la lunghezza dei sample che passava da 16 a 32 bit), e che non era affatto necessario implementare tutto subito

    Mi piacerebbe leggere la tua proposta in dettaglio :-)

    – Ho letto che si parlava anche di aggiungere un semplice core 3D ma credo che sia molto lontana la cosa.
    – Ma se ogni volta dicono che non ci sono abbastanza risorse? Adesso si parla pure di un core 3D

    Markettari…. :)

    – Prima Gunnar aveva anche detto che fosse impossibile implementare un’FPU. Poi, dopo la valanga di critiche gli sono state fatte (anche da me, sul forum di AROS), “stranamente” è venuta fuori l’implementazione in hardware

    Probabilmente il fatto che il team sia piccolo non è l’unico problema :-)… ma mancano anche competenze.

    – Le risorse dell’FPGA forse bisognerebbe utilizzarle meglio e per le cose realmente utili. Come anche la PMMU che ancora manca, e anche questo incide negativamente sulla retro-compatibilità

    Ti faccio ridere: a quanto pare è presente ma non è accessibile ;)

    – Questa è un’altra (l’n-esima, purtroppo) menzogna di Gunnar, che ha fatto soltanto qualche esempio in cui la CPU figurava meglio del Blitter. Poi è intervenuto un altro programmatore Amiga che ha esposto altri casi in cui un Blitter indipendente sarebbe utile. Adesso ti faccio soltanto un piccolo, ma sostanziale, esempio che ti dimostra come Gunnar abbia dichiarato il falso (tirando acqua al suo mulino): un Blitter indipendente potrebbe spostare le finestre del s.o. in maniera fluida e senza bloccare la CPU per lunghi periodi di tempo.
    Se ti sembra poco questo (specialmente con schermi con risoluzioni e profondità colore sempre più grandi, ossia operazioni che richiedono parecchio tempo e banda per poter essere completate)

    Cesare, non mi devi spiegare che un blitter (o meglio) è utile, gentilmente ti dico, lo so già da me :-). Infatti scrivevo sopra che non è “fiosofia Amiga” fare tutto con la CPU. E nemmeno filosofia PC di ora, viste le bestie di schede video che abbiamo. È filosofia PC dell’era Pentium quando si faceva tutto via software, 3D compreso. Il V4 è in linea, e questo non è amighevole, con quell’era.

    – Scusami per il ritardo, ma il commento ha richiesto parecchio tempo per poter essere scritto. Spero che, comunque, apprezzerai. :)

    Apprezzo molto :-). E mi confermi in pieno i dubbi su Gunnar ed il team in generale. Va detto che però sebbene sia markettaro almeno non sono puro vaporware come altri nel mondo Amiga perché le vampire V2 sono una solida realtà (forse anche qui però non ai livelli di standard industriali).

    Temo che a chi interessa il progetto e spendere quasi 600 euro per la “macchina” dovrà accettare dei compromessi anche dal punto di vista della qualità dell’hardware e del servizio in generale che l’Apollo team può garantire. Personalmente non so se sarò disposto.

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

    Rieccomi, con un altro papiro. :D

    – Purtroppo anche questo è impossibile, perché Commodore non produce più chipset e nessun progetto che ha provato o prova a reimplementarlo riesce e riuscirà a farlo al 100%, perché non si conoscono esattamente tutti i dettagli “interni” e, quindi, come riprodurli. Anche per questo la compatibilità dei nuovi progetti sarà sempre limitata (a meno che qualcuno non si prenda la briga di scoperchiare i chip e ricostruire la struttura interna con una mostruosa opera di ingegneria inversa).

    Non è impossibile, è altamente improbabile. È un vero peccato che per via di un modello economico non si possano seguire i propri obbiettivi e passioni. Fossi un miliardario lo farei domani buttandoci soldi :P

    Francamente preferirei investirli in un altro modo, magari progettando una nuova architettura e un nuovo chipset ispirati a quelli dell’Amiga, e far ripartire la storia da lì, con un sistema progettato (finalmente) meglio. :)

    Per il resto l’Amiga ormai ha fatto il suo tempo, è entrato nel novero del retrogaming, e WinUAE offre un’eccellente compatibilità con tutte i computer di questa famiglia.

    Per le applicazioni, invece, preferirei fosse sviluppato un nuovo progetto di “virtualizzazione” / integrazione coi s.o. esistenti; ovviamente con annesso compilatore JIT per accelerarne notevolmente l’emulazione (senza avere le prestazioni tarpate dall’emulazione del chipset, che è l’attuale grosso collo di bottiglia di WinUAE & co.).

    Vero. Ma in questo momento non vedo altri “chiunque”, essendo NATAMI morto e AFAIK alcuni dei membri confluiti nel progetto Vampire l’unico nuovo standard che estende i chipset esistenti è il team della Vampire.

    Anche questo è vero. Purtroppo…

    Ti assicuro che li conosco ;-). Per anni ho avuto uno splendido Amithlon su motherboard ABit NF7-S ;)

    LOL Abbiamo avuto la stessa scheda madre. :D Ma l’ho usata per il DOS e Windows… :P

    – Alla fine a me, che sono un utente come un altro, non interessa nulla di tutto ciò, perché quello che conta è poter fruire del vecchio software come facevo prima, allo stesso modo.

    Allora ti basta WinUAE :-)

    Diciamo che m’avanza pure, perché ha più di quello che mi serve: strapieno di funzionalità per accontentare praticamente tutti.

    – “Matematicamente” ciò che conta è e dovrebbe sempre essere questo: y = f(x). Se do lo stesso input x mi aspetto lo stesso output y. Come ciò avvenga, ossia la funzione f, per me non è affatto importante.

    La pensavo anche io così. Poi ho inziato a ricomprare Amiga veri ed ora ne ho 5 :-)

    Devo dire che il pensiero di poter ricomprare un po’ di Amiga e altri vecchi computer (il mio caro C128, ad esempio) mi ha sempre affascinato (e adesso che ho casa mia avrei pure un bel po’ di spazio, fra cantina e soffitta). Ma il problema è che poi non li userei, perché l’emulazione è davvero troppo comoda e pratica, e di più facile fruizione.

    Chiaramente avendo anche USB è naturale il salto verso joystick (odio i joypad) con più pulsanti visto che è sempre stata una enorme mancanza di C= accidenti a loro! :)

    Il problema di Commodore è che ha riciclato quello che aveva in casa (joystick a singolo pulsante), senza sfruttare appieno l’interfaccia Atari, che ne consentiva ben di più.

    Comunque odio anch’io i joypad, ed è il motivo per cui ho preso un paio di joystick arcade (quelli di C64/128 e Amiga, francamente, li trovo poco ergonomici).

    Purtroppo, però, a quanto pare, le porte USB della V4 non sembrano essere “full usb” …

    Non conosco questo dettaglio e le implicazioni: che problemi ci sarebbero? Perché penso che almeno periferiche semplici, come joystick etc., dovrebbero essere gestibili.

    – Ormai i sistemi PowerPC sono “legacy” da diversi anni, e si dovrebbe capire che s.o. come AmigaOS 4 e MorphOS (sebbene l’hardware per far girare questo sia mediamente molto economico) andrebbero portati su architetture moderne e poco costose.

    Sono d’accordo: avrebbero dovuto puntare immediatamente su x86. Ci sono voci che MorphOS vada in quella direzione.

    Ma già ai tempi in cui sono arrivati il PowerPC erano in declino o comunque non più competitivi con x86. Il problema è stato, come sempre, il cieco fanatismo amighista: Intel outside…

    Comunque MorphOS è già disponibile in versione x64 (quindi persino a 64 bit), ed è stato mostrato appena funzionante (il primo boot) all’ultimo evento Amiga 34, se non ricordo male. ;)

    Di inner loop fatti a mano su quella CPU ce ne sarà molto bisogno :-) ma anche al giorno d’oggi, in casi molto di nicchia, non c’è alternativa.

    Ma molto, molto di nicchia. Perché hai a disposizione CPU molto potenti, e l’esigenza si sente molto meno (oltre al fatto che tanti calcoli ormai sono stati spostati sui coprocessori/acceleratori: Amiga docet).

    Su quella CPU l’assembly sarà per forza di cose il linguaggio d’elezione, per cercare di spremerla meglio che si possa, proprio perché è poco potente.

    Per hobby anche io non avrei dubbi, 68K ASM :)

    Per hobby io scendo al e preferisco il linguaggio macchina. :D

    Ma avendo poco tempo… capita raramente ormai. -_-

    – E possono utilizzare anche i registri dell’FPU. Come ho detto, AMMX utilizza sia i registri dati sia quelli dell’FPU (che sono mappati nel nuovo set di 32 registri totali).

    Afaik non è così ?

    La situazione è ancor più allucinante di ciò che ricordassi:
    http://www.apollo-core.com/knowledge.php?b=4&note=21392&z=2ivWcF
    APOLLO Register look like this

    ADDRESS-REGS
    A0-A7
    B0-B7

    DATA-REGS
    D0-D7
    E0-E7
    E8-E15
    E16-E23

    FPU-REGS
    F0-F7
    E0-E7
    E8-E15
    E16-E23

    Dati, FPU e AMMX hanno i registri parzialmente sovrapposti (E0-E23), e una parte riservati/esclusivi per i primi.

    Auguri per i compilatori che dovranno tenerne conto…

    –– L’unica scelta un po’ strana è l’istruzione BANK.
    – Che è un prefisso come x86/x64. Prima si sono tirate pietre contro Intel (e AMD) per quell’architettura proprio a causa dei famigerati prefissi, e adesso si segue la stessa (fallimentare) strada

    Se ho capito bene le spec non è un prefisso che metti davanti ad una istruzione ma uno switch: l’istruzione cambia banco permanentemente dopo essere stata eseguita. Un prefisso lo metti davanti ad ogni istruzione, è una cosa diversa.

    No no: è proprio un prefisso. Sempre dal link di cui sopra:
    By putting a prefix opcode called “BANK” in front of a normal integer or FPU instruction these extra register can be used.
    Quel link è molto interessante e ne parla meglio, per cui ti consiglio di leggerlo bene, ma meglio ancora lo puoi vedere dalla documentazione di AMMX:
    http://www.apollo-core.com/AMMX.doc.txt?z=ibSkfY
    ------------------------------
    BANK - register bank switching
    ------------------------------

    BANK SrcA,SrcB,Size
    ; BANK SrcA,SrcB,Dest,Size
    ;
    ; "Size" is the length of the whole bundle = opcode length + bank_length (2)
    ; Size = %00 : 4 bytes
    ; Size = %01 : 6 bytes
    ; Size = %10 : 8 bytes
    ; Size = %11 : 10 bytes

    ; currently valid banks:
    ; 2 Address register banks (An,Bn)
    ; 4 Data register banks (D0-D7,E0-E7,E8-E15,E16-E23)

    BANK MACRO
    ; ----CCC-DDCCAABB AA BB DD
    dc.w (%0111000100000000+((\1)*%100)+(\2)+((\3)*%1000000))
    ENDM

    short examples:
    BANK 0,0,%10 ; dc.w $7180 ; examplary/redundant:
    ; bank 0 is default
    lea NUMBERS,a5 ; Load in A5
    BANK 0,1,%10 ; dc.w $7181
    lea NUMBERS,a5 ; Load in B5
    moveq #0,d0
    moveq #0,d1

    BANK 0,0,%00 ; dc.w $7100 ; select register bank 0
    ; (redundant, example only)
    add.l (a5)+,d0 ;
    BANK 1,0,%00 ; select Address register Bank 1
    add.l (a5)+,d1 ; add.l (b5)+.d1
    ; D0 should be = D1 = 1
    rts
    numbers: dc.l 1,2

    Come vedi è proprio un prefisso, di 16 bit, che serve ad alterare / estendere l’opcode dell’istruzione successiva.

    – I piani futuri li avevo forniti io 7-8 anni in cui avevo presentato il nuovo banco di registri per l’audio che supportava fino a 64 canali (e altre caratteristiche per i canali, come ad esempio la lunghezza dei sample che passava da 16 a 32 bit), e che non era affatto necessario implementare tutto subito

    Mi piacerebbe leggere la tua proposta in dettaglio :-)

    Purtroppo quel forum è stato chiuso, e s’è perso tutto.
    Qualcosa si può ancora vedere con web archive:
    https://web.archive.org/web/20130212070550/http://www.amigacoding.de/index.php
    https://web.archive.org/web/20131023141220/http://www.amigacoding.de/index.php
    In particolare i thread:
    Platform requirements for an Valid Neo Amiga
    Re: Colour registers, colour space, colour depth
    Re: What is the Status? Who is doing what?

    Se fossi iscritto al forum di Apollo potresti chiedere direttamente a Olaf, che era l’amministratore, se fosse possibile eseguire il dump dei vecchi messaggi. Potresti anche chiedergli se fosse possibile estrarre solo quelli di cdimauro, e che se fosse necessario potrei darti l’autorizzazione (causa “Datenschutz”: la normativa sulla privacy tedesca. Lui lo sa bene, ed è il motivo per cui ha chiuso il sito).

    – Prima Gunnar aveva anche detto che fosse impossibile implementare un’FPU. Poi, dopo la valanga di critiche gli sono state fatte (anche da me, sul forum di AROS), “stranamente” è venuta fuori l’implementazione in hardware

    Probabilmente il fatto che il team sia piccolo non è l’unico problema :-)… ma mancano anche competenze.

    No, le competenze ci sono: è Gunnar che vuole fare solo quello che piace a lui. Lui “sa” cosa sia meglio per tutti.

    – Le risorse dell’FPGA forse bisognerebbe utilizzarle meglio e per le cose realmente utili. Come anche la PMMU che ancora manca, e anche questo incide negativamente sulla retro-compatibilità

    Ti faccio ridere: a quanto pare è presente ma non è accessibile ;)

    Sì, ma la usano soltanto per rimappare le rom e proteggerle in lettura. E non è una PMMU, ma un’MMU.

    Gunnar è visceralmente contrario a implementare una PMMU, perché sa che poi calerebbero le prestazioni: è questo il vero motivo (e la sua ossessione).

    Apprezzo molto :-). E mi confermi in pieno i dubbi su Gunnar ed il team in generale. Va detto che però sebbene sia markettaro almeno non sono puro vaporware come altri nel mondo Amiga perché le vampire V2 sono una solida realtà (forse anche qui però non ai livelli di standard industriali).

    Ma infatti su questo non ho nulla da dire e, anzi, gliel’ho pure detto almeno sul forum di AROS: kudos per il progetto, e tanto di cappello per le prestazioni.

    Temo che a chi interessa il progetto e spendere quasi 600 euro per la “macchina” dovrà accettare dei compromessi anche dal punto di vista della qualità dell’hardware e del servizio in generale che l’Apollo team può garantire. Personalmente non so se sarò disposto.

    Per me non se ne parla nemmeno: davvero troppo. Fino a 200€, dai, sarebbe stato accettabile. Ma 500-600€ è un prezzo “da OS4″.

    Non vale la pena spendere una montagna di soldi solo per fare girare un parco software limitato. Con quella cifra ci fai un ottimo PC per l’emulazione e tanto altro.

    Poi, sia chiaro: ognuno coi propri soldi ci fa quello che vuole, eh! ;)

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.