VDP WRITER LOADER - (by Ezio Montini)
il programma VDP WRITER LOADER è uno strumento che ti permette di interagire direttamente con la memoria video del TI-99/4A, bypassando le limitazioni del BASIC e sfruttando la velocità e precisione del linguaggio macchina. Questo può essere estremamente utile nello sviluppo di software per diverse ragioni. Scritto da Ezio Montini e distribuito su cassetta venne pubblicato sulla rivista italiana TI99Newsoft nel 1985.

Una volta avviato, il programma carica in memoria un insieme di sottoprogrammi scritti in linguaggio macchina, che possono essere eseguiti attraverso il comando CALL LINK. Questi sottoprogrammi sono progettati per autogestirsi, ovvero il programma stesso è in grado di inserire automaticamente i valori corretti all’interno del codice in linguaggio macchina, in modo da ottenere il risultato desiderato senza richiedere all’utente di intervenire manualmente nella struttura del codice.
Il programma è suddiviso in tre sezioni principali, ciascuna richiamabile tramite una specifica istruzione CALL. La prima sezione si attiva con CALL WRITELOAD e ha il compito di caricare in memoria il programma in linguaggio macchina che contiene le routine WRITER e LOADER. Queste routine permettono di scrivere e leggere liberamente in qualsiasi locazione della memoria video (VDP) del computer TI-99/4A.
Quando il programma richiede una locazione, l’utente deve inserire l’indirizzo della VDP RAM in cui desidera intervenire. Successivamente, viene richiesto il valore che si intende inserire in quella locazione. Il programma è strutturato per gestire un solo dato per ogni richiesta, ma può essere facilmente modificato per operare su più dati consecutivi. Inoltre, le routine possono essere estratte e utilizzate all’interno di altri programmi creati dall’utente, selezionando solo le parti necessarie.
È importante sapere che, per poter utilizzare le istruzioni CALL WRITER e CALL LOADER, è indispensabile eseguire prima CALL WRITELOAD, che carica la routine principale in memoria. Una volta fatto ciò, si dispone di due sottoprogrammi in linguaggio macchina, richiamabili rispettivamente con CALL LINK("WRITER") per scrivere nella VDP e CALL LINK("LOADER") per leggere dalla VDP.
Ad esempio, se stai creando un videogioco, puoi usare queste routine per scrivere rapidamente sprite, caratteri personalizzati o elementi grafici direttamente nella VDP RAM, senza dover passare per le lente istruzioni grafiche dell'Extended BASIC- Puoi aggiornare lo schermo in tempo reale, gestire animazioni, modificare colori o pattern con precisione byte per byte.
Se invece stai sviluppando un'interfaccia utente o un editor di testo, puoi usare WRITER per posizionare caratteri esattamente dove vuoi sullo schermo, e LOADER per leggere ciò che è già stato scritto, utile per implementare funzioni come il cursore, la cancellazione, o il controllo dell’input.
Inoltre, queste routine possono essere integrate in programmi più complessi, dove il BASIC gestisce la logica e il linguaggio macchina si occupa delle operazioni critiche sulla VDP. Questo approccio ibrido è molto potente: ti permette di scrivere codice leggibile e flessibile in BASIC, ma con prestazioni elevate dove servono.
In sintesi, è uno strumento che ti dà accesso diretto alla grafica e alla memoria video, rendendo possibile lo sviluppo di software più sofisticato e reattivo.

Nella sezione download, trovate il file .ZIP che contiene i files immagini per Cassetta e Floppy.
Questo software è stato pubblicato nella rivista Italiana TI99Newsoft

TI99NewSoft numero 7 - Marzo 1985