PockEmul sur Android

Voilà quelques temps, je découvert qu’il existait un portage de Qt sur Android.
Qt est la librairie que j’utilise afin de rendre PockEmul compatible multi-plateformes (Linux, Mac, Windows).
Aprés une simple recompilation, voici PockEmul disponible sur Android. Bien sûr j’ai du ajoutés quelques petites directives de compilation afin de prendre en compte la spécificité d’un tel OS, principalement en enlevant le menu pour le remplacer par quelques icones,  en affichant le menu contextuel par un Tap and Hold, et en gérant le pinch pour le zoom
J’en ai également profité pour changer l’écran de choix du pocket afin de le mettre un peu plus à la mode TouchScreen.

Continue reading “PockEmul sur Android”

Un compilateur C dans PockEmul

Il y a quelques temps, j’ai commencé à intégrer dans PockEmul un compilateur C rudimentaire. J’ai traduit en C++ LittleC compiler développé par Simon (http://www.lehmayr.de/) en Delphi. C’est un compilateur assez simple qui m’a permis de mieux comprendre le principe de fonctionnement d’un tel module.
Le compilateur produit du code ASM qui est ensuite transformé en code machine par un Assembleur également développé par Simon. Continue reading “Un compilateur C dans PockEmul”

un petit binaire pour ceux qui veulent jouer un peu

Je passe mon temps à ajouter de nouvelles fonctionnalités en repoussant toujours à plus tard la sortie d’une release. Avec tout cela, les derniers binaires publiés sont la 0.9.2.1 qui datent énormement.
Je vous propose donc en téléchargement la 0.9.3.0 courante pour Windows que je vais m’attacher à peaufiner.
Il y a plein de truc non documentés et pas trés intuitifs, alors n’hésitez pas à me demander des précisions.

Connexion directe entre deux Pockets (suite 2)

L’utilisation d’un timer à la nanoseconde afin de gérer la communication entre deux pocket n’est pas satisfaisante d’un point de vue performance. Je suis donc revenu à l’ancien système calé par tranche de 1ms.
J’ai un peu réfléchi et en fait la solution est assez simple. Tout en gardant un étalonnage de la vitesse toute les 1ms, je lance l’execution de chaque pocket pour un nombre de cycles correspondant à 1/8000ème de seconde. Cela fait que les Pockets sont suffisament synchronisés pour la fréquence de 4Khz utilisée pour le transfert K7.
Cela semble fonctionner mais je n’ai pas encore tout testé.

Connexion directe entre deux Pockets (suite)

J’ai changé le système permettant le calibrage de la vitesse d’émulation dans PockEmul.
La version beta de Qt 4.8 permet de mesurer le temps en descendant à la nanoseconde, ce qui me faisait espérer pouvoir gérer les fréquences de 2 et 4Khz utilisées pour le transfert sur K7 en ayant une émulation de la vitesse régulière et non plus saccadée par tranche de 1ms.
Bref, mon premier essai entre un pc-1251 et un pc-1262 est un succés malgrés les deux fréquences de fonctionnement différentes des Pockets. Il me reste plus qu’à tester cela sur Mac, car je ne sais pas si le timer nanoseconde est vraiment multiplateforme.