Il y a plusieurs problèmes dans cette nouvelle version.
- Les lignes du fichier texte doivent se terminer par CR-LF, sinon l'émulateur se bloque.
C'est le cas avec les fichiers texte de Linux, qui se terminent par LF (sans CR).
- Il y a d'autres anomalies pas encore bien identifiées : Ligne non enregistrée, plantage, erreur à l'exécution... Reste à examiner chaque cas.
Dès qu'une meilleure version sera prête je la diffuserai ici.
[Edit 02/11/2021 18:30]
Nouvelle version 2021.11.02 :
La nouvelle simulation du clavier sans affichage est maintenant presque instantanée.
S'il vous constatez des anomalies, n'hésitez pas à les signaler.
Je rappelle que les fichiers textes pour simuler le clavier doivent être codés en ANSI.
Si vous avez des fichiers codés en unicode ou en UTF8 ça ne marche pas, au moins pour les caractères accentués.
Je donne ici la table de conversion des caractères spéciaux ANSI en caractères spéciaux VG5000.
Quand le caractère est invalide pour le VG5000, il est transformé en point d'interrogation.
Code : Tout sélectionner
// Conversion des caracteres accentues//////////////////////////////////////////
void Accents()
{
#define CAR keybtext[keybindex]
switch(CAR & 0xff)
{
case 0xa3: CAR = 0x1c; break; //£
case 0xbd: CAR = 0x1d; break; //½
case 0xe0: CAR = 0x17; break; //à
case 0xe2: CAR = 0x18; break; //â
case 0xe7: CAR = 0x15; break; //ç
case 0xe8: CAR = 0x19; break; //è
case 0xe9: CAR = 0x12; break; //é
case 0xea: CAR = 0x1b; break; //ê
case 0xeb: CAR = 0x65; break; //ë
case 0xee: CAR = 0x11; break; //î
case 0xef: CAR = 0x14; break; //ï
case 0xf4: CAR = 0x1a; break; //ô
case 0xf6: CAR = 0x5f; break; //ö
case 0xf9: CAR = 0x13; break; //ù
case 0xfb: CAR = 0x16; break; //û
default: if((CAR & 0xff) > 0x80)
CAR = 0x3f; break; //?
}
}