Le Service Manual de la Sharp CE-126P

Hans H., de passage sur ce site, a vu que j’étais à la recherche du service Manual de la CE-126P. Un petit scan et voilà qu’il me le mail.
C’est une super surprise car la CE-126P a un protocole de communication un petit peu complexe qui me donne du fil à retordre.
En effet elle est à la fois compatible avec la première génération de pocket (PC-1251, PC-1401) mais aussi avec les dernières génération qui utilise un DEVICE CODE dans le protocole.
J’espère qu’avec ces informations, je vais pouvoir améliorer l’émulation de cette imprimante à tout faire de la gamme Sharp.
CE-126P Service Manual
Merci encore Hans.

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)

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.

Le chaînage des périphériques

Bonjour à tous,
J’ai maintenant le CE-140F qui est quasi complètement émulé et en faisant mes tests, je me suis aperçu que le système de gestion des connecteurs entre pocket et périphériques était trop limité pour pouvoir supporter le chaînage de plusieurs périphériques sur le même port. J’ai donc remis un peu à plat cette gestion et mes premiers essais sont concluant.

Je vais maintenant faire l’expérience avec une ce-126P branchée sur le ce-140F… mais sans la ce-120p…
Edit: Eh bien ça marche aussi 🙂

Les instructions cachées du PC-1251 (suite)

Je viens de rajouter un truc super sympa dans PockEmul, et en plus ça n’a pas été très complexe à faire.
Je viens de créer un nouveau périphérique sur port 11 pins pouvant être paramétré en live par du javascript. On a ainsi la possibilité de rapidement faire des essais.
C’est ainsi que pour l’instruction SETCOM j’ai pu faire réagir le pocket:

Continuer la lecture de « Les instructions cachées du PC-1251 (suite) »

CE-140F la suite

Après avoir remis en état mon ce-140f je me suis lancé dans l’utilisation de mon analyseur logique pour essayer de comprendre ce que répond le floppy au pocket.Grosse désillusion.
Autant mon analyseur fonctionne trés bien avec une CE-126P ou pour la phase de négociation du code du périphérique, autant plus rien ne marche lorsque le bidirectionnel commence. Il y a surement une explication à ça, j’y comprend pas grand chose en électronique …
J’ai donc cherché une autre piste d’investigation. J’ai trouvé sur le site de mon ami Simon un schéma simulant le floppy sur une interface serie avec son executable côté PC. Je me suis dis que cet executable devait avoir toutes les informations qu’il me manque. Je l’ai donc désassemblé (c’est du DOS x86 16bit) et décortiqué (dur l’ASM généré par un compilateur) afin d’extraire les réponses qu’il fait au pocket. Ce fut un peu long certes, mais ça en valait la peine.
J’ai pour l’instant les instructions suivantes qui fonctionnent : DSKF, FILES, SAVE, LOAD et KILL.
Je suis trop content de moi car c’était pas évident de trouver notamment le découpage par bloc de 256 octets , le calcul des Checksum et bien d’autres bizarreries.

Maintenant la question que je me pose c’est si je gère chaque fichier dans le File System du pc ou si je  simule le File System du floppy. Je me demande s’il est compatible avec le FS du ce-1600F …
Bon ben voilà, à bientôt pour la suite.

Les entrailles du CE-140F

Mon ce-140F ne répond plus.
J’ai cru tout d’abord à un probleme d’alimentation, c’est pourquoi j’ai racheté un transfo. Mais non, le problème ne venait pas de là.Je me suis lancé donc dans le démontage.

Voici la carte controleur. Les LED s’allument bien et le problème semble venir du lecteur de disquette qui ne tourne pas.Je décide donc de faire un « échange standard » du lecteur de disquette avec celui d’un ce-1600F (que j’ai en spare)
Continuer la lecture de « Les entrailles du CE-140F »

Le Ce-140F dans PockEmul

Bonjour à tous,
comme vous le savez peut-être, j’ai récemment réussi à me dégoter un ce-140f sur la baie. Me voici donc lancé dans l’émulation de la bête. Je me suis acheté en Chine un analyseur logique 8 voies pour pas cher et cela m’a permis d’en apprendre un peu plus sur le protocole de communication.
En fait, la communication entre le CE-140F et le pocket n’est pas série mais parallèle sur 4 bits avec une phase de négociation au départ afin de déterminer quel est le type de périphérique branché.J’en étais arrivé là lorsque mon trés cher ami Simon (http://www.lehmayr.de/), un des pros du pc-1360, m’envois un petit mail avec en pièce jointe LE SERVICE MANUEL du ce-140F. WHaooohh, pile poil ce qu’il me fallait (je vais bientôt le poster sur le site dans la bibliothèque).J’ai pu donc vérifier que j’avais bien deviné les choses, et cela m’a permis de finaliser la communication entre le pocket et le floppy.

Maintenant, il me reste à deviner ce que répond le floppy pour chaque instruction. Et là, il n’y a plus que mon analyseur logique pour me donner la réponse.Encore du boulot donc, mais ça avance.