Salut à tous,
Est il possible de recevoir des données sur le port de la TI depuis un ordi durant l'execution d'un programme basic ?
MacIntoc
: Non, pas FLib, Kevin a modifier keywait pour qu'il gère pas les transmission de données.
/* The trap 4 is not supposed to destroy ANY registers, but there are several
buggy TSRs floating around which destroy some registers (notably - ahem,
sorry :-/ - old versions of h220xTSR - the bug is fixed in v.1.11), so I am
defining ALL registers as clobbered as a precaution */
#define calc_off() asm("trap #4":::"d0","d1","d2","d3","d4","d5","d6","d7","a0","a1","a2","a3","a4","a5","a6")
/* ngetchx() equivalent with support for APD, 2nd+ON, DIAMOND+ON and
grayscale-compatible low-power mode */
short GetKeyInput(void)
{
while (1) {
pokeIO(0x600005,0b10111); /* low power mode, wake up CPU only on AI 1
(grayscale), 2 (keypress), 3 (AMS clock), 5
(AMS timer base, needed for APD) and 6 (ON,
always wakes up the CPU) */
/* Checking the APD here makes sure it will get checked at least each time
AI1 or AI5 is triggered. */
if (OSTimerExpired(APD_TIMER)) { // APD expired
calc_off(); // turn calculator off
OSTimerRestart(APD_TIMER); // restart APD
continue; // reenter low power mode
}
if (!kbhit()) continue; // if no keypress, reenter low power mode
OSTimerRestart(APD_TIMER); // restart APD
unsigned short keypress=ngetchx();
if (keypress == KEY_OFF /*2nd+ON*/ || keypress == KEY_OFF2 /*DIAMOND+ON*/)
calc_off();
else return keypress;
}
}
Pour l'instant, j'ai une version recompilée avec ENABLE_ERROR_RETURN, et c'est tout...
JM_
: Définir ENABLE_ERROR_RETURN ici, cela sert à prévenir contre un manque de mémoire vive (pour les niveaux de gris par exemple) ?
Je me demande d'ailleurs en quoi cela consiste, la taille du programme n'est même pas modifiée...
.