Cerca articoli...
Mini gallery
  • Eventi/brusaporto 2014
  • Eventi/brusaporto 2010
  • Hardware/flashrom99
  • Eventi/titreff2011
  • Eventi/brusaporto 2013
  • Eventi/brusaporto 2010
  • Eventi/brusaporto 2013
  • Eventi/brusaporto 2013
  • Eventi/viretro2014
  • Eventi/brusaporto 2011
Articoli piu' letti
Storico articoli
Mailing list
Nome
Email
Iscrizione
Cancellazione
YouTube Channel
Facebook
The StrangeCart - (by Erik Piehl)

THE STRANGECART - (BY ERIK PIEHL)

 Sabato, 23 Aprile, 2022 00:00

scritto da Ciro Barile

Il computer TI-99/4A ha ormai 40 anni, ed è sempre un computer pieno di sorprese ancora oggi. È stato il primo Home Computer a con CPU 16 bit ma, nello stesso tempo era anche famoso per essere tanto lento nel suo BASIC;
Proprio a questa lentezza Erik Piehl, con questa sua particolare cartuccia vuole provare a rimediare!
Fondamentalmente da questa scheda (che si inserisce nello slot come fosse una normale cartuccia), si andrà ad aggiungere nel TI-99/4A, una CPU Dual-Core ARM CORTEX che permetterà di fare molte cose interessanti.

Erik Piehl, che arriva dalla Finlandia, dice:"...Sono sempre alla ricerca d'imparare o realizzare qualcosa di nuovo, mi piace armeggiare sia con il software (C/C++/ASM) che con l'hardware (MCU, FPGA)"

...il suo impegno, tra l'altro, non si ferma al TI-99/4A ma si estende a progetti che avvolgono un più ampio spettro di sistemi. Molti dei suoi progetti (non tutti), sono dispoibili nella sua pagina github.
 

Tornando alla cartuccia 'strana' per TI-99/4A, invece, andiamo a dare uno sguardo da vicino.

Cosa è la StrangeCart?

Il progetto iniziò nel maggio 2020 come una sorta di esperimento, ad Erik era venuta l'idea di creare un hardware con elettronica semplice ma anche super flessibile, essenzialmente qualcosa gestito da un singolo chip. La tecnologia che poteva permettere la realizzazione di questa idea, poteva sicuramente prevedere l'utilizzo di un microcontrollore come chip principale, magari uno anche sufficientemente veloce, tipo una MCU basata su ARM arricchito poi dalle funzionalità gestibili da software.

Proprio grazie al software, attualmente, la StrangeCart può gestire tutti i tipi di cartucce TI-99/4A includendo queste caratteristiche:

  • Supporto ROM memory;
  • Supporto GROM memory;
  • System GROM override support
  • Supporto banked memory;
  • Supporto combinato ROM e RAM;
  • Supporto system GROM override;

Oltre a questo, la StrangeCart implementa caratteristiche nuove grazie al supporto del coprocessore. Questo offre la possibilità di poter eseguire i programmi lavorando in parallelo con la CPU principale della TI-99/4A. Per ora, in fase di sviluppo, sono attualmente implementate le seguenti features:

  • Due esempi dimostrativi, che vengono eseguiti su ARM ma che, in collaborazione con l'architettura del computer vanno a mostrare un output sullo schermo;
  • Interprete BASIC che implementa la maggior parte delle caratteristiche del TI BASIC originale. - Questo permette al codice, di essere eseguito fino a 1000 volte più velocemente rispetto quello originale del TI-99/4A;
  • Emulatore del TI-99/4A in esecuzione su StrangeCart. Sì, questo potrebbe suonare un po' strano. In breve, il software caricato sul TI-99 può essere salvato nella memoria della StrangeCart e funzionare quindi in emulazione sfruttando la potenza di quest'ultima.

Forse questa infografica può aiutare a capire meglio il modo di funzionamento:

Il microcontrollore ARM si suddivide in due core: Cortex M0 e Cortex M4F. Sulla StrangeCart questi funzionano a 96MHz. La cosa davvero soddisfacente di questa configurazione e del software dimostrativo sviluppato da Erik, è che il core M0+ (quello meno potente dei due), da solo, è già sufficiente a servire il bus del TI-99/4A in tempo reale, lasciando il secondo core, l'M4F, totalmente libero per essere impiegato in altre cose. I due core possono comunicare tramite una memoria condivisa. Il chip del microcontrollore ha 256K di memoria Flash e 192K di RAM.

La parte più complessa - dice Erik - è stata quella trovare il settaggio corretto per il software affinché entrambi i core potessero funzionare in modo adeguato insieme con tutti i tool software necessari (toolchain). Il programma "bus server" che si esegue sul core M0 occupa meno di 4Kbyte e il tutto è impostato in modo che il processore master, l'M4F, prima configura tutto e poi avvia l'M0. L'M0 è in esecuzione dalla RAM in modo da ottenere le massime prestazioni, con interrupts disabilitati.

Rispetto al prototipo iniziale, Erik, ha già elaborato diverse revisioni di questa scheda e, nella versione attuale, la StrangeCart V2 revB, è arrivato ad utilizzare due chip: oltre l'MCU, è stato aggiunto una memoria flash da 16 megabyte che viene utilizzata come memoria di massa.

Come di presenta la scheda StrangeCart?

Come scritto in precedenza, la scheda si presenta come qualcosa di semplice, non ci sono molti componenti e quelli presenti sono tutti montati sulla superficie, in pratica tutta "l'azione" avviene sul lato anteriore.

Andiamo quindi a vedere in modo dettagliato come è stata organizzata la parte elettronica:

(partendo dall'alto, da sinistra a destra a scendere)

  • SPI Bus Expansion - predisposizione per un possibile utilizzo futuro di una memoria SD card;
  • Un paio di ingressi analogici - allo sviluppo attuale ancora non sono stati impiegati;
  • connettore I2C - PC bus 3.3v che può essere utilizzato per pilotare un piccolo display OLED di tipo SSD1306 (resolution 128x64 dots);
  • Connettore microUSB - è collegato al microcontrollore e può essere usato per:
                         - aggiornare il firmware del microcontrollore;
                         - accedere ai vari menu forniti dal firmware;
                         - caricare le immagini di una nuova cartuccia attraverso la connessione USB.
  • Memoria SPI Flash da 16megabyte (che può essere usata per memorizzare immagini di cartucce e altre cose);
  • Il Microcontrollore LPC54114 (posizionato quasi al centro);
  • Porta Seriale - 3.3V levels, 5V tolerant.
  • Connettore I2S - uscita audio che, collegata ad un DAC audio esterno, potrebbe fornire un'uscita audio di alta qualità;

Come interazione con l'utente, invece, si hanno a disposizione dei pulsanti e dei LED.

LED:

  • Indicatore di Reset - si accende quando si preme il pulsante di reset dell'MCU.
  • Indicatore di stato - Tipicamente è solo una luce lampeggiante che fa intendere che la CPU sta funzionando correttamente;

Pulsanti:

  • Reset MCU - premendo questo tasto di riporta la MCU alla configurazione di partenza (durante la pressione del pulsante, si accende il led collegato);
  • Menu Up / Menu Down - che sono usati dal firmware per muoversi tra le voci menu;
  • Reset TI-99/4A - Premendo questo tasto si esegue il "QUIT" del computer;
  • SWD Debug - per eseguire il debug del firmware della MCU.

Funzionamento della StrangeCart

Inserendo cartuccia e accendendo il computer, il led di stato inizia a lampeggiare; Questo starà a indicare che tutto funziona correttamente.
Con il firmware attuale, all'accensione del computer, verrà mostrata una schermata che somiglia molto a quella della famosa Mini-Memory. Infatti è stata inserita proprio una immagine di una Mini-Memory ma in una versione modificata che implementa i comandi aggiuntivi necessari alla gestione della StrangeCart.

Premendo i tasti menù si potrà scegliere uno dei programmi presenti nel firmware, come ad esempio la Demo che lo stesso Erik ha programmato per fare i test.

La sua demo era stata eseguita in passato anche su molti altri sistemi e ognuno di questi si è attestato su dei valori che ora è possibile confrontare con quelli dati anche sul TI-99/4A che utilizza la nuova MCU.
Ad esempio sul Sinclair QL, con l'esecuzione di questa stessa demo, si è ottenuto un tempo di esecuzione di tre minuti e 39 secondi. Sullo ZX Spectrum, 18 minuti, mentre sul TI-99/4A usando il Cortex BASIC con funzioni grafiche, 7 minuti e 50 secondi.

Sul TI-99/4A con la nuova StrangeCart con MCU, avviando lo stesso benchmark, il risultato è praticamente immediato! Si riesce ad ottenere un rendering grafico del risultato a 15 fotogrammi al secondo praticamente in tempo reale!

Ovviamente non sarebbe affatto corretto paragonare questo risultato con gli altri ottenuti su altri sistemi, però è anche importante per il significato che lascia, con la StrangeCart il TI-99/4A raggiunge davvero la velocità a cui si stava auspicando!

Caricare Immagini Cartucce in Emulazione sulla StrangeCart

Velocità delle demo dedicate alla MCU a parte, dicevamo che la StrangeCart risulta essere totalmente compatibile con le immagini cartucce in ROM, GROM e ROM+GROM combinate.
È stato possibile infatti poter giocare a Parsec, Car Wars, TI Invaders o i titoli Atarisoft, ma anche il caricamento di immagini di linguaggi Extended BASIC alternativi e di generazioni più recenti come RXB Extended BASIC o il Cortex BASIC ha avuto successo.

La scheda può opzionalmente essere equipaggiata anche con un piccolo display OLED che verrà automaticamente rilevato quando questo sarà stato collegato. Sul display verrà mostrato un semplice menu navigabile tramite i due pulsanti on board, posizionando il cursore sulla voce menù poi questa sarà automaticamente data per selezionata.

System GROM Override

Una delle altre cose che con questa StrangeCart si potrà fare, è il caricamento di GROM di sistema differenti (esempio quelle del TI-99/4A argentino) oppure la personalizzazione della GROM di Sistema standard. Si sta dicendo che, ad esempio, si potrà essere in grado di modificare la schermata iniziale del computer o anche quella di menu per entrare in BASIC. Si potrebbe far scrivere il proprio nome o adattare una schermata iniziale totalmente differente da far comparire sul proprio computer e questo senza realmente modificare le GROM di sistema reali perché semplicemente sarà la MCU ad indicare quali GROM caricare all'accensione!
Resettando la StrangeCart o togliendola dallo slot, il TI-99/4A tornerà allo stato originale.

Interprete BASIC interno

Erik ci sta ancora lavorando (ma è già a buon punto) a un interprete TI BASIC interno che permette di salvare i normali programmi del TI-99/4A sulla memoria della StrangeCart e quindi poi eseguirli in modo Turbo!

Ovviamente questi software però, non potranno essere eseguiti in modo diretto poi, sarebbero talmente veloci che risulterebbe impossibile. Andrebbero quindi modificati e rallentati trovando il giusto compromesso tra velocità e utilizzo.

Cosa diventerà la StrangeCart?

Ancora non si ha un idea precisa di dove questa StrangeCart andrà ad approdare. Di certo la potenzialità è davvero impressionante se si pensa alle applicazioni che potrebbe avere nell'utilizzo del TI-99/4A.
È sicuramente un hardware che può avere varie applicazioni tra gli utenti. Qualcuno chiede anche se fosse possibile fargli emulare altri sistemi, ad esempio caricare software MSX o Colecovision sul TI-99/4A, ma potrebbe anche approdare software del tutto nuovo velocissimo e mai visto TI99, magari programmi grafici vettoriali!. Solamente Erik e il suo genio sapranno dirci dove, con il tempo, si potrà spingere questa cartuccia.smiley

Invito, chiunque fosse interessato a seguire / supportare / approfondire questo progetto, di collegarsi alla pagina github di Erik Piehl o anche al thread specifico dedicato alla StrangeCart che lo stesso Erik aggiorna sul forum di AtariAge a questo link.


Vuoi commentare l'articolo?
 Nome
 Email
Il tuo commento
Verifica

I vostri commenti ...

Victor Steerup 2022-05-28 06:15:37 
Too fast? I would like to see it running the 40-col TI program Fractal Explorer or the 80-col Fractals.
stefano 2022-08-04 23:33:45 
Davvero strepitosa questa StrangeCart! Sempre nuovi sviluppi interessanti sul fronte. Grazie Ciro per il lavoro di ricerca e aggiornamento, per le recensioni. Saluti. Ste

1

Google Translate

Don't understand Italian? Choose your language!

Materiale TI99?

Vuoi aiutarmi preservare la storia del TI-99 ?

Se possiedi Materiale Italiano e non che riguarda il TI-99 e che vorresti condividere nella nostra Community... contattami e potermo inserirlo nel nostro Database Globale

Donazione

Se desideri sostenere questo sito puoi inviare una donazione.

Hot Links

TI-99 RELEATED

RETROCOMPUTING altro...

Copyright © 2009-2024 by TI99 I.U.C. - Tutti i diritti riservati - All rights reserved - Loghi e marchi sono di proprieta' dei rispettivi proprietari.
E' vietata la riproduzione integrale o parziale di contenuti o documenti previa autorizzazione.
Copyright   |    Privacy