martedì 18 luglio 2023

Schermo virtuale su TI-89

Una delle cose divertenti con la TI-89 e' di avere il controllo completo dell'hardware con l'accesso diretto alla memoria video


La memoria dello schermo LCD inizia a 0x4C00

Si puo' fare puntare lo schermo virtuale ad una zona di memoria e poterla trattare con i comandi grafici (ogni byte di memoria contiene l'informazione di 8 pixels) 

dopo aver creato il buffer video si puo' copiarlo sulla vera memoria video per mostrare il risultato

attenzione: nonostante la TI-89 abbia uno schermo di dimensione 160x100 il codice funziona solo con le dimensione di 240x128 ovvero le dimensioni della TI-92 (la sorella maggiore)

#define USE_TI89
#define SAVE_SCREEN // Save/Restore LCD Contents


#include <stdlib.h>
#include <stdio.h>
#include <graph.h>
#include <kbd.h>
#include <string.h>

int _main(void)
{

char virtual[LCD_SIZE];
//PortSet ((void *) 0x4C00, 239, 127);

int i;
for (i=1;i<50;i++)
{
DrawPix(i,i,A_NORMAL);
}
ngetchx();
memcpy (LCD_MEM, virtual, LCD_SIZE);
ngetchx();
PortRestore();
return 0;
}

Nessun commento:

Posta un commento

Debugger integrato ESP32S3

Aggiornamento In realta' il Jtag USB funziona anche sui moduli cinesi Il problema risiede  nell'ID USB della porta Jtag. Nel modulo...