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.
J’ai donc ajouté un IDE avec la possibilité d’installer directement le code généré dans un pocket en cours d’émulation.
Afin que cela soit plus attrayant, j’ai également ajouté une librairie d’IO pour le Sharp PC-1350 permétant de faire un getc et putc et d’utiliser les fonctions graphiques:

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é.