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