ArticoliHardware

Chloe 280SE, il nuovo Z80 microcomputer

Chloe Corporation

Immaginate un 1987 decisamente alternativo: IBM non è entrata nel mercato dei microcomputer. Apple non ha ancora iniziato col Macintosh. È in vendita una nuova generazione di computer a 16 bit destinati a tutti coloro che sono cresciuti con macchine a 8 bit. IIGS di Apple, Amiga di… Atari (avete letto bene), C65 di Commodore. Ma MSX Turbo-R è ancora in fase di sviluppo. C’è una piccola finestra di opportunità per un altro produttore di lanciare una macchina compatibile con il set Z80 a 16 bit in grado di eseguire programmi Microsoft BASIC. Chloe Corporation mira a portare gli utenti 8080 e Z80 nell’era a 16 bit con il nuovo Chloe 280SE.  E la notizia la apprendiamo grazie a Vintageisthenewold.

Facciamo un salto e arriviamo ad oggi. Sappiamo che ci sono molti progetti basati su FPGA per ricreare vecchie macchine. Ma sono quasi tutti sistemi chiusi in una certa misura: il design dell’hardware è proprietario, il firmware può essere utilizzato legalmente solo con una licenza, il codice sorgente non è disponibile o il case è disponibile solo da un singolo fornitore. Invece, Chloe Corporation ha deciso di creare una versione FPGA completamente aperta (hardware, firmware e software) di Chloe 280SE. Grazie a questa versione, gli utenti saranno in grado di modificare ogni aspetto del progetto, fare tutto ciò che gli piace e l’unico IP protetto sarà il marchio Chloe.

CARATTERISTICHE TECNICHE

Ma cosa c’è dentro a questa macchina? L’hardware e il core FPGA sono basati su un progetto aperto esistente, lo ZX-Uno. L’interprete BASIC deriva in parte dal Timex Sinclair 1000. Il kernel del sistema operativo è la parte più criptica del progetto, essendo retroingegnerizzato da un firmware per l’interfaccia della scheda SD divMMC.

Nonostante gli ottimi risultati, l’obiettivo a lungo termine è sostituire l’attuale core FPGA con un core dedicato a 16 bit che fornirà una serie di funzionalità aggiuntive. Ma quel core rimarrà compatibile con l’hardware standard ZX-Uno. Pertanto, le specifiche attuali della macchina non sono definitive e includono solo ciò che è disponibile nell’ultimo core rilasciato pubblicamente:

  • CPU Z80A a 14 MHz.
  • 512 KB di RAM.
  • Bus 100MHz.
  • Tavolozza di 256 colori (G3R3B2).
  • RAM video da 32 KB ad accesso diretto (condivisa con la RAM principale).
  • Interruzione 60Hz (compatibile NTSC / VGA).
  • Modalità testo 80 colonne (2 colori).
  • Modalità bitmap a 40 colonne (64 colori con attributi).
  • PSG a sei canali a 1,75 MHz.
  • ROM di avvio 40 KB (non è richiesto alcun disco di sistema).
  • Interprete di stile Microsoft BASIC (con controllo degli errori in entrata e comandi del file su disco integrati).
  • File system FAT-32.
  • Tastiera meccanica a 88 tasti (layout USA).
  • Mouse seriale (fino a quattro pulsanti e supporto rotellina di scorrimento).
  • Supporto per game pad Genesis.
  • Supporto completo per la localizzazione con codepage, lingue e file di tastiera.

Dopo che ZX-Uno è stato configurato per funzionare come Chloe 280SE, il firmware può essere aggiornato semplicemente copiando il file di aggiornamento nella radice della scheda SD e spegnendo e riaccendendo la macchina. Le modalità video sono attualmente limitate alle modalità legacy fornite dal core FPGA esistente, ma il piano è di fornire modalità più avanzate nel core a 16 bit. L’audio è fornito da due chip AY-3-8913 implementati nel core FPGA. Il core a 16 bit dovrebbe includere anche un DAC a 8 bit.

LE CAPACITA’ DI CHLOE

Le aspettative di Chloe Corporation sono veramente a lungo termine. Non ci sarà una campagna di crowdfunding sostituita invece da un Patreon, all’interno del quale, coloro che sono interessati possono ottenere aggiornamenti esclusivi per 1 dollaro al mese. Il primo obiettivo di finanziamento è quello di far ridisegnare professionalmente il consiglio ZX-Uno per conformarsi alle normative FCC e CE EMR. Gli sponsor sono inoltre incoraggiati a contribuire al progetto, ad esempio fornendo traduzioni nella loro lingua madre.

Inoltre, per favorire il lavoro degli sviluppatori su questa macchina, sono stati sviluppati framework per il formato del pacchetto dell’applicazione della macchina, per facilitare il porting di programmi da altre piattaforme, come Timex Sinclair 2068. Quest’ultima non è l’unica, poiché c’è già una lista di strumenti per sviluppatori disponibili, molti dei quali sono multipiattaforma, tra cui:

  • Editor di font ROM ROM 8 × 8.
  • Arkos Tracker 2 editor musicale.
  • Emulatore ChloeVM.
  • Assemblatore RASM.
  • Editor di immagini ZX-Paintbrush.

Ci sono anche una serie di dimostrazioni tecniche eseguite con il codice sorgente completo che dimostrano tecniche come:

  • Immagini in dissolvenza in entrata e in uscita.
  • Caricamento di file dal disco.
  • Tavolozza in bicicletta.
  • Fare musica.
  • Lettura del contenuto di una cartella.
  • Scorrimento di un’immagine sullo schermo da un file.
  • Utilizzando la RAM shadow.
  • Combinazioni modalità video e frame buffer.

Sebbene Chloe 280SE possa essere avviato senza un disco, grazie ad una cartella di sistema può contenere un file di configurazione con impostazioni di codice pagina e lingua che sovrascriverà l’impostazione predefinita (IBM 437 / inglese americano) al momento dell’avvio. L’interprete BASIC ha una lunghezza di circa 23K che lascia circa 41K per i programmi BASIC. La RAM video contiene bitmap, attributi, palette, mappa dei caratteri e carattere di 256 caratteri e il paging viene eseguito solo durante le scritture sullo schermo. Ciò significa che i programmi che non richiedono BASIC possono contenere comodamente fino a 32K di codice continuo e 128K di dati in 16K.

Le applicazioni sono costituite da un eseguibile principale e una cartella di risorse. Vengono lanciati usando RUN a $ (dove $ è il nome dell’applicazione). Il vantaggio del formato del pacchetto dell’applicazione è che è possibile modificare le risorse dell’applicazione senza doverlo ricompilare. Un esempio di come viene utilizzato è l’applicazione di presentazione, che visualizza tutte le immagini memorizzate nella cartella delle risorse, senza la necessità di conoscere in anticipo i nomi dei file.

Tags

Commenta questo articolo