| Alta Risoluzione con Mini Memory - (by Gianpaolo Bottin) Alta Risoluzione con Mini Memory - (by Gianpaolo Bottin) Chiunque abbia avuto tra le mani un TI-99/4A sa che dietro la sua semplicità si nasconde una macchina capace di sorprendere. In questo articolo esploriamo una modalità grafica poco conosciuta ma estremamente potente: l’alta risoluzione bit-map, accessibile da BASIC grazie a una serie di routine in linguaggio macchina. Un’occasione per riscoprire il TI non solo come strumento di calcolo, ma come vero e proprio laboratorio visivo. Scritto da Gianpaolo Bottin e distribuito su cassetta venne pubblicato sulla rivista italiana TI99Newsoft n.8 nel 1985.  Finora abbiamo esplorato i vari modi grafici disponibili sul TI-99/4A. Ora ti presentiamo un insieme di routine in linguaggio macchina che permettono di utilizzare il cosiddetto “bit-map mode” direttamente da BASIC e sfruttando la cartuccia Mini Memory. In questo modo diventa possibile accedere a comandi grafici come LINE, PLOT e CIRCLE, tipici di altri dialetti BASIC su altri blasonati computer. La risoluzione dello schermo è di 256x192 pixel. Per comodità e coerenza con altri ambienti, abbiamo scelto di numerare i pixel da 0 a 255 in orizzontale e da 0 a 191 in verticale, con l’origine degli assi posta in basso a sinistra. Lo schermo diventa così il primo quadrante di un sistema cartesiano. Per quanto riguarda il colore, il TI-99/4A impone alcune limitazioni hardware: in verticale non ci sono restrizioni, ma in orizzontale ogni sequenza di 8 pixel può contenere al massimo due colori (uno di sfondo e uno di primo piano). In pratica, la risoluzione cromatica è di 32x192. Questa modalità grafica utilizza quasi tutta la RAM video (VDP), lasciando al BASIC solo 2 KB di memoria libera. Sebbene non siano molti, bastano per scrivere piccoli programmi dimostrativi. Per progetti più ambiziosi è necessario utilizzare l’Extended BASIC con 32 KB di espansione RAM. In questo modo, evitando l’uso eccessivo di stringhe, è possibile scrivere anche programmi piuttosto lunghi. Per attivare la modalità HI-RES, è necessario eseguire due istruzioni CALL LOAD che limitano l’area RAM disponibile al BASIC. Una volta fatto questo, si può passare alla grafica bit-map con la routine HGR, che pulisce lo schermo e imposta il colore di sfondo. - CALL LINK («HGR»,col) serve a passare alla grafica in bit-map, pulisce la pagina grafica e setta il colore dello sfondo del colore indicato; può essere richiamata più volte all'interno di un programma al solo scopo di pulire la pagina grafica.
- CALL LINK («PLOTO», row, Col , clr) serve ad accendere il pixel alle coordinate row di riga e col di colonna e a colorarlo del colore clr
- CALL LINK («DRAW», incrY, incrX, clr, ... ,) traccia un segmento che parte dall'ultimo punto che è stato plottato e arriva ad un punto che ha quelle stesse coordinate ma incrementate di quanto speèificato nell'istruzione; segue poi il colore del segmento; i tre parametri, incremento Y (verticale). incremento X (orizzontale) e colore possono ripetersi per un numero massimo di 5 volte. Ad esempio: CALL LINK («PLOT», 70, 80,9) CALL LINK («DRAW»,30, -20, 6, O, 8, 7). Queste due istruzioni tracciano due segmenti dal punto 70,80 a 100,60eda 100,60a 100,68, rispettivamente dicolore blu e rosso.
- CALL LINK («LINE», Y1, X1, Y2, X2, clr) traccia una linea tra i punti di coordinate Y1 ,X1 e Y2,X2 colorandola del colore clr
- CALL LINK («CIRCLE», Y, X, RY, RX, clr) traccia un'ellisse di centro y,x e con un raggio verticale pari a RY e un raggio orizzontale pari a RX, se i due raggi sono uguali sarà tracciata una ci rconferenza anche se sullo schermo non sembrerà tale. Perché sembrino circonferenze il rapporto dei raggi dell 'ellisse deve essere di 1.4 con quello verticale più grande.
- CALL LINK («POINT», Y, X, var) se il pixel alle coordinate Y,X è acceso alla variabile viene assegnato -1 altrimenti 0.
Vi è ancora da aggiungere che prima di richiamare la routine HGR per passare in alta risoluzione bisogna fare due CALL LOAD e precisamente: CALL LOAD (-32658,56,0," ",-32732,55,248) che servono a limitare l'area ram disponibile al basic. Un'altra osservazione riguarda tutte le routine; se si specifica il colore n1 invece di una linea in colore trasparente le routine cancelleranno quanto era stato scritto prima riportando OFF quei pixel che erano accesi. È possibile così fare delle linee e poi, specificando il colore 1, cancellarle, semplicemente riscrivendovi sopra.
Per tornare in modo grafico normale alla fine del programma basterà inserire prima dell'end questa istruzione, oppure digitarla con calma sulla tastiera una volta che il programma si sia fermato: CALL PEEKV (-2048,A)
Anche se il programma si interrompe per errore o viene premuto CLEAR (FCTN+4), non c’è motivo di allarmarsi: basta digitare con calma l’istruzione di ripristino e lo schermo tornerà alla normalità. Potrebbero rimanere piccoli artefatti grafici, come pattern strani nei caratteri minuscoli, ma il sistema continuerà a funzionare correttamente.  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 8 - Aprile 1985
| Don't understand Italian? Choose your language!  Grazie! Non sono solito ostentare, ma è gratificante ricevere dei feedback e avere riscontro e apprezzamenti sul lavoro svolto nel tempo. Un sentito ringraziamento a tutti. 2022 The John Birdwell Award Categoria Computing 2017 Edgar Mauk Award Categoria Community Guarda il Video Completo... 2014 Rob Tempelmans Plat Miglior Sito Web Leggi tutto... 2012 Edgar Mauk Award Categoria Community  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 TI-99 RELEATED        RETROCOMPUTING altro...  |