Cerca articoli...
Mini gallery
  • Eventi/brusaporto 2013
  • Eventi/brusaporto 2014
  • Eventi/brusaporto 2014
  • Eventi/brusaporto 2010
  • Eventi/brusaporto 2013
  • Hardware/ti 994
  • Hardware/ti 994
  • Eventi/brusaporto 2010
  • Eventi/brusaporto 2013
  • Eventi/brusaporto 2010
Articoli piu' letti
Storico articoli
Mailing list
Nome
Email
Iscrizione
Cancellazione
YouTube Channel
Facebook
APEDSK99 by Jochen Buur - (Arduino DSKx emulator: 32K/FTP/NTP shield for the TI-99/4A)

APEDSK99 BY JOCHEN BUUR - (ARDUINO DSKX EMULATOR: 32K/FTP/NTP SHIELD FOR THE TI-99/4A)

 Venerdì, 03 Febbraio, 2023 00:00

scritto da Fabrizio Luglio

Era il 2020 quando venne pubblicato il primo post su AtariAge di questo progetto era già a buon punto. Una periferica che prometteva di poter avere in forma miniaturizzata un Box di Espansione (PEB), completo di expansione di memoria, floppy disk virtuali e molto altro! Molti hanno conosciuto e magari posseduto la famosa nanoPEB/CF7+ ma ormai, dopo tanti anni è andata praticamente in pensione e sono abbastanza rare da trovare.
L'APEDSK99 (Arduino Peripheral Expansion) è invece basata su Arduino ed è completamente Open-Source. Jochen Buur (il costruttore Neozelandese) sta affinando sempre di più il suo progetto e adesso è davvero pronta e con tantissme ottime features, il tutto alla portata di tutti e a un costo decisamente vantaggioso per l'utente finale smiley

Chi è Jochen Buur

"Salve lettori del TI99IUC, mi chiamo Jochen Buur, sono un olandese appassionato di TI99/4a che vive in Nuova Zelanda. Come molti della mia generazione, ero molto interessato agli home computer fin dalla prima adolescenza. Nel tragitto dallo ZX81 al C64, ho passato anni ad armeggiare con il TI99/4a. Ma, come si suol dire, poi arriva la vita vera e, a un certo punto, bisogna comportarsi da adultismiley.
Lavoro per un'azienda multinazionale informatica ma non ho più molto a che fare con la tecnologia hardcore. Per alimentare il mio nerd interiore mi sono dedicato all'elettronica per hobby, ho comprato un TI99/4a su Ebay e mi sono iscritto su AtariAge.com. È incredibile quali informazioni il cervello riesca a ricordarsi: prima di rendermene conto, stavo di nuovo digitando l'assembler line-by-line della Mini Memory come se non avessi mai smesso. Ad ogni modo, come tutti sapete, un TI-99/4A in configurazione base, può fare solo un poche cose e un box di espansione (PEB) è troppo grande, rumoroso, e ancora stand-alone (per non parlare delle spese di spedizione per farlo arrivare in Nuova Zelanda). Così, ho deciso di cercare una soluzione per emulare un disk drive con espansione di memoria da 32K ed è nata l'idea di APEDSK99."

Andiamo quindi a dare uno sguardo da vicino...


Introduzione

APEDSK99 è un dispositivo che, collegato alla porta di espansione di un TI99/4A consente:

  • L’emulazione di tre floppy disk drive attraverso file immagine .DSK (formato DOAD) contenuti su una microSD card, emulando la Texas Instrument PEB;
  • Fornisce i 32k di espansione RAM;
  • Consente lo scambio di files con un PC connesso via ethernet in protocollo FTP
  • Fornisce al TI-BASIC e al TI Extended BASIC comandi aggiuntivi per la gestione dei files su disco e delle immagini stesse.

APEDSK99 è composto da tre moduli hardware interconnessi: un Arduino UNO, un Ethernet Shield per Arduino e una scheda dedicata progettata da Jochen che costituisce il “cuore” del dispositivo. Delegando a Arduino la logica di microcontrollo tra porta e comandi e all’Ethernet Shield la connettività FTP e la slot per l’SD card, risulta abbastanza economico da produrre, in quanto l’hardware della scheda centrale è parecchio semplificato.

APEDSK99
Hi-Res PDF
Arduino UNO*
Hi-Res PDF
Ethernet Shield
Hi-Res PDF
* nella foto è rappresentato un clone dell'arduino UNO, quello che è stato usato per i test.

L’alimentazione è possibile (grazie ad Arduino) attraverso il cavo USB (che consente anche la riprogrammazione qualora si modifichi il codice dello sketch/firmware) oppure attraverso un connettore 9V standard.

L’ideatore di APEDSK99, Jochen. ha rilasciato sulla sua pagina GitHub, tutte le info necessarie per potersi realizzare in autonomia ogni parte del dispositivo. Il codice di Arduino e il codice Assembly TI99 è fornito open source in modo da consentire a chiunque di modificare, correggere o fare evolvere il firmware.
La nuova versione 2023 consente il montaggio senza alcuna saldatura da effettuare, basta collegare le schede ed il gioco è fatto.

Assemblaggio e Set Up

L’APEDSK99 arrivato per i test, è stato richiesto parzialmente “pre-assemblato”. Jochen ci ha fornito la scheda dedicata già con tutti i componenti e chip installati e la EEPROM programmata. Inoltre, per esser certo non ci fossero problemi di compatibilità, ci ha inviato anche la scheda Ethernet Shield già collegata alla “motherboard” di APEDSK99. Abbiamo quindi poi provveduto ad aggiungere autonomamente l'Arduino UNO (un clone economico) e al suo collegamento alla scheda.
Nelle ultime versioni, a differenza di quella in nostro possesso, non dovrebbe essere necessario fare alcuna saldatura, basterà connettere le tre parti e APEDSK99 e sarà pronto per essere collegato al TI99.
La versione che abbiamo testato ha richiesto la programmazione del nostro ARDUINO attraverso lo standard sketch editor, cosa non banalissima per qualche problema di porta di comunicazione USB sul nostro PC. I file necessari erano quelli di Arduino e un file .dsr che contiene il codice macchina del TI99, questo deve essere “iniettato” all’avvio di APEDSK99 per fornire i comandi BASIC e tutto il necessario nella DSR Memory RAM.
Una volta risolti i piccoli inconvenienti tecnici, abbiamo quindi uploadato i file disponibili sulla pagina Github, formattato una microSD card sulla quale abbiamo messo il file .DSR fornito et… voilà! APEDSK99 si è messo a funzionare perfettamente.

Teniamo a precisare che la nostra versione è stata configurata direttamente dentro Arduino prima di uploadare lo sketch. In uno dei files era possibile indicare i parametri di rete:

  • Server FTP
  • Credenziali FTP
  • Indirizzo IP del client (TI99)
  • Server NTP (per l’ora e data esatta)

Nell’ultima versione è disponibile un comando CALL ACFG che consente la programmazione di questi parametri direttamente dal TI BASIC. Viene anche fornito un programma in TI BASIC che facilita in questa configurazione.
Questa cosa è particolarmente utile perché evita di modificare il codice di Arduino su PC e rifare un upload ogni volta che un parametro di rete cambia. Inoltre, consente di inviare a un acquirente, l’APEDSK già programmato e (a meno che si voglia aggiornare il firmware di Arduino), dimenticarsi di sketch, ambiente di Arduino, porte COM ecc.ecc. Un APEDSK99 ready-to-go insomma.

Test "On the Road"

Per prima cosa abbiamo testato le immagini contenute nella cartella di esempio su Github. Come impostazione predefinita le unità 1 e 2 contengono i dischi dell’Editor Assembler della Texas Instruments (questo potrebbe anche essere differente nelle versioni successive a questa di test).
Tutto funziona perfettamente, caricando E/A da una FinalGrom99 l’editor si apre caricandosi dal floppy virtuale e il gioco di esempio Tombstone City, parte senza problemi.

OLD DSKx.NOMEFILE e SAVE DSKx.NOMEFILE funzionano in tutte le situazioni.

Sono stati testati diversi floppy scaricati da internet, sia in Basic che in Extended Basic che in E/A e tranne rarissimi casi (probabilmente di uso di librerie ad accesso diretto della PEB) tutto ha sempre funzionato benissimo.
Tutti i programmi di gestione floppy e le utility scritte per il TI99 funzionano bene (DM1000 per esempio).

Questo l’elenco dei comandi disponibili:

  • CALL ARST – Effettua un software reset di APEDSK99, ripristina i dischi di default sui drive 1,2 e 3, si posiziona sulla cartella di partenza /DISKS dentro la microSD e visualizza a video status e n. di versione.

  • CALL LDIR – mostra i files immagine .DSK contenuti nella cartella in cui ci troviamo sulla SD Card. Per ogni immagine viene mostrato il nome del file, il nome logico (nome del disco) e il tipo di disco (single side, double side…) NB: ci possono essere n cartelle in cui inserire i files ma devono essere tutte dentro la ROOT e max 5 char di lunghezza per il nome.

  • CALL SMAP – mostra ciascuno dei 3 drives su che immagini.DSK sono mappati. Il nome del disco, la dimensione, lo spazio libero e l’elenco delle cartelle presenti nella ROOT. Viene mostrato se il disco e Protected o Unprotected.

  • CALL TIME – scrive nella variabile NTP$ dedicata, data e ora prelevata dal server NTP.

  • CALL ACHR – carica un nuovo set di caratteri “più bello” sui caratteri minuscoli che in TI BASIC e in TI EXTENDED BASIC standard sono maiuscole più piccole, ma non veri caratteri minuscoli. Questa funzione apre la possibilità di avere facilmente font differenti a disposizione dei programmi caricabili con una singola istruzione dal file sulla SD.

  • CALL LDSK (#) – mostra il contenuto del disco mappato sul drive #. Vengono mostrati i files con nome, tipo, settori, dimensione e se sono Protected o Unprotected.

  • CALL PDSK (#) / UDSK (#) – rende Protected o Unprotected il disco mappato nel drive #

  • CALL MDSK (#,”nome file-immagine”) – mappa / monta l’immagine.DSK specificata nel nome (max 8 char) sul drive #. Questo importante comando è quello che vi permette di avere nell’unità disco emulata l’immagine che avete caricato sulla vostra SD card.

  • CALL NDSK (#,”nome file-immagine”) – rinomina l’immagine contenuta nel drive # con il nome specificato (max 8 char)

  • CALL CDIR (“nome cartella”) – come il comando CD in Dos o Unix, cambia la cartella del file system sulla SD dove lavorare con le immagini disco. A questo punto il comando LDIR menzionato sopra, mostrerà le immagini presenti nella cartella indicata. I nomi delle cartelle sono max 5 caratteri e devono stare nella Root della microSD, cioè non è possibile avere sottocartelle.

  • CALL RDSK (“nome file-immagine”) – cancella l’immagine indicata dalla cartella.

  • CALL FGET (“nome file-immagine”) – attraverso la connessione via FTP al PC (o altro server FTP) consente di copiare dalla cartella condivisa FTP il file immagine specificato sulla cartella corrente dentro la micro-SD dell’APEDSK99 (quella puntata da CDIR per intendersi). E’ un comando importante per condividere sul TI99 programmi presenti o scaricati sul PC.

  • CALL FPUT (“nome file-immagine”) – uguale al comando precedente ma nella direzione opposta: consente di copiare un file presente sulla corrente cartella della microSD alla cartella condivisa via FTP. In pratica, spedisce un file al vostro PC.

  • CALL ADSR(“nome file-DSR”) – APEDSK99 inietta, all’avvio, dentro il TI99 il codice macchina necessario al funzionamento del disco e dei comandi BASIC. Questo codice è contenuto nel file “.DSR” abbinato. Poiché si potrebbero avere diverse versioni di questo programma in L/M TMS9900, questo comando consente il caricamento in memoria di un file.dsr differente dall’attuale.

  • CALL ACFG – APEDSK99 può essere configurato anche via comando TI BASIC/XB in modo da evitare tutta la parte necessaria alla configurazione di Arduino. Questo comando consente la lettura di un file di configurazione dentro il disco che contiene i parametri sopra menzionati (FTP IP, client IP, NTP server, credenziali user/password…). Per facilitare l’uso di questo comando c’è un programma in TI BASIC già fornito dentro una immagine disco dove l’utente, una volta avviato, può semplicemente inserire i parametri da tastiera attraverso dei semplici INPUT. La configurazione in questo modo richiede davvero pochi secondi.

Questi sono i comandi del dispositivo.

Il set è molto ricco e, a nostro avviso completo; Facciamo ancora qualche altra considerazione in merito:

  1. Utilizzando i comandi FGET e FPUT, sarà facile trasferire programmi dal TI99 al PC o viceversa, inserire un file da PC dentro un’immagine e farlo arrivare al TI99. Grazie all’accesso NON esclusivo dei files immagine da parte di APEDSK99 e degli emulatori (come Classic99) è possibile mappare la stessa immagine nell’emulatore e sul TI99 e, a questo punto, basta lanciare un semplice FPUT o FGET per fare arrivare il file a destinazione;

  2. Alcuni comandi non presenti non sono in realtà necessari perché si possono ottenere dalla combinazione dei precedenti: ad esempio un “MOVE FILE.DSK” si può ottenere usando il PC come ponte di scambio: mando via FTP (CALL FPUT) il file nella cartella A, lo cancello, mi sposto sulla B e lo riprendo via FTP (CALL FGET). Idem se voglio copiare un file, lo mando via FTP al PC, gli cambio il nome, lo riprendo via FTP ed alla fine ho due immagini identiche con nomi diversi;

  3. Non è presente la funzione di formattazione perché qualsiasi utility disco funziona perfettamente e lo si può fare da essi (DM1000 per esempio). Tuttavia io ho creato un’immagine vuota sulla mia cartella FTP, chiamata “blank.dsk”. Quando ho bisogno di un disco nuovo la prelevo con CALL FGET, le cambio il nome (CALL NDSK) e ho il disco pronto all’uso.

Conclusioni

In conclusione, APEDSK99 ci sembra davvero un ottimo dispositivo per il TI99. Jochen Buur ha fatto davvero un notevole lavoro e sono previsti continui miglioramenti e add-ons (speriamo, ad esempio, che presto venga realizzata e messa a disposizione anche la “enclosure”, il case da stampare in 3D).
E’ un progetto open source e quindi può essere analizzato e migliorato da chiunque abbia un po’ di dimestichezza con l’elettronica e l’architettura del “TI99/4A”.
Sembra sia prevista in futuro una versione Wifi per la connessione al PC ma per ora si viaggia solo via cavo ethernet, cosa che personalmente non trovo un problema.
L’importanza dell’APEDSK99 risiede nel fatto che per il nostro home computer si apre un “mondo” nel momento in cui si ha accesso ai programmi su disco. Restare vincolati al registratore a cassetta vuol dire usarlo solo per giocare con le ROM (sempre che si abbia una FINALGROM a disposizione) perchè la programmazione, la grafica, le applicazioni da ufficio necessitano quasi obbligatoriamente l’uso dei dischi.
Non siamo in grado di confrontare il lavoro di Jochen con il dispositivo TIPI perché non ne avevamo uno a disposizione, ma crediamo che siano entrambi due scelte valide e obbligate se si vuole sfruttare al massimo le potenzialità del nostro amico TI99.

Vi lasciamo alla Video Recensione realizzata da Fabrizio Luglio per il canale TI99iuc di Youtube:

Per info e dettagli:


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

I vostri commenti ...

Stefano 2023-02-05 23:57:28 
Ottimo articolo... sempre aggiornato! Bella invenzione.<
> Complimenti a te ed all'autore della scheda.
Karl 2023-11-02 16:54:25 
Hallo zusammen, <
> eigentlich bin ich schon immer ein TI99Fan. Habe Euch auch schon mal ein paar Dokumente zukommen lassen. Kann ich diese ApeDSK99 irgendwie auch fertig erwerben.<
> mfg. Karl Rüttger
Fabrizio 2023-12-28 23:28:08 
Karl you can contact Jochen Buur on Atari Age to have one shipped for you<
> https://forums.atariage.com/profile/65658-jjb/

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