Le Panasonic HHC (suite)

J’ai commencé à émuler le bus de données.
Pour l’instant, seuls les modules mémoire fonctionnent. On peut même les brancher et débrancher à chaud, le HHC les reconnait automatiquement. Le Plug and Play avant l’heure . Maintenant il faut que je me penche sur l’imprimante.
Il me faudrait vraiment des photos de meilleures qualités.

PockEmul Online

PockEmul tourne déjà sur plusieurs plateforme , Windows, OS X, Linux, Android. Il ne manque que le Web.
Depuis quelques temps commencent à apparaître des émulateurs en Javascript qui sont plutôt fonctionnels et on a même vu un émulateur JS faire tourner un Linux. Les machine virtuelles Javascript commencent à être suffisamment puissantes.
Alors il suffit de réécrire en PockEmul en javascript me direz vous, et vous aurez raison. Seulement, si PockEmul est multi plateforme, il l’est avec exactement le même code source. De plus je ne me vois pas re développer en javascript les centaines de milliers de lignes de codes , PockEmul est devenue trop imposant.
Alors j’ai cherché une autre solutions … et j’ai peut être trouvé un truc intéressant.
Il s’agit des projets LLVM et EMSCRIPTEN .
LLVM est une architecture de compilation qui permet de produire du code pour une machine virtuelle de bas niveau. Ce code est appelé bitcode.
EMSCRIPTEN permet de prendre ce bitcode et de l’intégrer dans un code javascript d’un émulateur de machine virtuelle.
Bon, mon explication est un peu succincte, mais je vous laisse faire les recherches qui vont bien si cela vous intéresse.
DONC , en résumé, je prend le code source C++ de PockEmul, je le compile avec LLVM, j’obtient un gros fichier bitcode, que je passe ensuite dans EMSCRIPTEN qui produit un gros fichier HTML.
Concept intéressant donc, il reste donc à tester.
Eh bien j’ai tester. Un petit Proof of Concept avec, pour commencer, un seul pocket, mais tout le framework PockEmul.
Bon, ça n’a pas pris 3 secondes, car il y a tout de même quelques modification de code à faire.
En effet , pour ne prendre qu’un seul exemple, il n’y a pas de multi-threading en javascript.
Au final j’ai du ajouter quelques dizaines de lignes de codes avec des directives de compilations. Donc une charge de travail plutôt limitée.
ET CA MARCHE !!!!!!!!!!!!!!!!!
Bon ce n’est qu’un Proof of Concept, mais c’est prometteur.
Dés que j’aurai un peu peaufiné cela, je mettrai une URL.

Un nouveau modèlee, le SANCO TPC-8300

Grâce à bernouilli92 et Jxano du forum silicium (http://www.silicium.org), la ROM du SANCO TPC-8300 a pu être extraite.
C’est un modèle très proche du LBC-1100 et j’ai simplement du me pencher sur la liaison avec les drivers LCD et sur la matrice clavier.

Continuer la lecture de « Un nouveau modèlee, le SANCO TPC-8300 »

Un nouveau modèle, le Sharp PC-1425

Voilà bien longtemps qu’un nouveau Sharp n’avait fait son apparition dans PockEmul.
Le PC-1425 attendait son tour depuis trop longtemps, j’avais la flemme de dumper les 4 banques de mémoire. Alors, j’ai fini par me lancer.
Il est très proche du PC-1403, avec l’interface série en plus. Par contre je serai bien incapable de m’en servir, j’ai jamais fait de statistiques de ma vie …
Pour ceux qui sont intéressés, la documentation en français est disponible (merci Woodstock).

Un nouveau modèle, le General LBC-1100

Grâce à nos amis bernouilli92 et razzmoket (voir http://www.silicium.org/forum/viewtopic.php?f=46&t=35090) , la ROM du LBC-1100 a pu être dumpée.
Ce pocket est trés proche du NEC-PC-2001, (CPU quasi équivalent, drivers LCD identiques), mais il y a tout de même de grosse différences d’architecture.
Pour l’instant, le LCD et le clavier fonctionnent, la programmation aussi. Il faut que je regarde maintenant l’extension CL-1000.

Ne laissons pas mourir le PC-1211

Bonjour à tous,
Les PC-1211 sont en train de disparaître à cause principalement de leurs problèmes d’écran. Bientôt il ne sera plus possible de faire fonctionner ce qui fut le premier Pocket BASIC.
Ne pensez vous pas qu’il serai important de pouvoir créer une Simulation/Émulation pour ce vénérable Pocket ?
Je me suis un peu penché sur la question et je reconnais que ça n’est pas simple. Voici les différentes pistes envisageables :
– Emulation :
– DUMPER la ROM. à priori aucun moyen de faire cela de façon logicielle, il faute donc intervenir en HARD. Pas de problème je pense pour sacrifier une machine, il y en a tellement qui ne fonctionnent pas, mais je ne connais pas la marche à suivre pour dumper physiquement une ROM.
– Trouver les infos sur le processeur SC43178. J’ai chercher et rien trouvé, donc il faudrait faire du reverse ingeneering …
– Simulation :
Alors il y a la solution de la simulation, et je vous avoue que j’ai commencé quelque chose la-dessus. Moi qui suis habitué à l’émulation, je ne suis pas à l’aise avec ce monde là. c’est une autre façon de penser.
Quand je vois la masse de code nécessaire à simuler le FX-702P, je me dis que c’est un énorme boulot. Il serait bien de rendre cela le plus générique possible afin d’avoir un moteur de simulation à même d’être décliner pour différents modèles.
– Hybride:
Une autre piste qui me trotte dans la tête serai de modifier la ROM d’un PC-1251 (le plus proche fonctionnellement) pour le brider et le faire fonctionner comme un pc-1211.
– On désassemble la ROM (facile)
– On modifie .
– on reassemble
– on intègre ça dans PockEmul
Après ces réflexions, je me suis lancé dans la simulation. J’ai une première version qui tourne avec beaucoup de limitations pour l’instant:
– pas d’éditeur. Il faut retaper la ligne BASIC si on fait une erreur.
– pas de gestion du mode Reserve
– quelque fonctions de calcul manquantes

Un nouveau modèle, le Sharp PC-G850V

Salut,
Après le Canon X-07, les Casio PB-1000, PB-2000C, MD-100 et FP-100, il fallait que je revienne aux sources avec un SHARP.Voilà pourquoi, je me suis lancé dans l’émulation du G850V. Un émulateur existe déjà mais il n’émule pas le processeur graphique, donc je me suis dit qu’il y avait quelque chose à apporter.
En 3 heures de boulot (à vue de nez) j’ai déjà le boot. Il faut dire que l’architecture n’est pas trés complexe comme j’avais déjà l’émulation du Z80 avec le PC-1600, il n’y avait rien de bien compliqué.
Le gros du boulot était de faire le processeur SED1560 qui gère le LCD. Heureusement une pléthore de documentations existe.
Et le menu TXT:
Bien sûr, l’interface série fonctionne.

Un nouveau modèle, le Casio PB-2000C

Tout le monde parle du PB-2000C et de l’AI-1000 avec le C, le prolog, le Forth et j’en passe et ils ont l’air de faire envie.
Etant trés proches du PB-1000 (même cpu, meme écran) ce n’est pas trop compliqué de les rajouter à PockEmul (il y a juste une organisation de la mémoire un peu plus complexe ).
J’ai également ajouté le lecteur de disquette MD-100 ainsi que le traceur FP-100