Extraction ROM du lbc-1100

Ici, on fait dans le petit, le LCD qui déchire sa race, on y cause même calculatrices quand on est en manque !

Modérateur : Politburo

Répondre
Avatar de l’utilisateur
bernouilli92
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4498
Inscription : 21 nov. 2012 14:03
Localisation : Ile de France

Extraction ROM du lbc-1100

Message par bernouilli92 » 28 avr. 2013 09:45

J'ai un peu progressé sur l'extraction de la ROM du lbc-1100.
J'ai connecté les broches 1 et 9 sur l'entrée microphone du pc (avec une résistance).
Puis, en utilisant les commandes MOTOR 0 et MOTOR 1, j'arrive à obtenir quelque chose d'exploitable.
Voici un exemple de ce que j'obtiens sur audacity :
Image
Ici c'est la sortie de 3 octets : 0x01, 0x55 et 0xFF
Je me demande si avec condensateur en plus je pourrais obtenir un résultat avec moins de pics.
Sauf que c'est très lent, il faut 17 secondes pour 3 octets.
J'utilise une temporisation de 0.1 seconde pour la durée d'un bit mais j'ai l'impressions que cela dure plus longtemps. Il ne faut pas oublier que c'une machine très lente.
Peut être en utilisant uniquement des inversions on off sans mettre de pause, cela peut être plus rapide.
J'utilise MOTOR 1: MOTOR 0:MOTOR 1: MOTOR 0 pour marquer le début d'un octet, on le voit sur la photo et cela ne dure pas longtemps du tout.

Il faudra ensuite un petit programme qui analyse le fichier WAV obtenu.
HP, Casio, Sharp, Psion, quelques TI et divers autres

cgh
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 2341
Inscription : 30 août 2011 12:23
Localisation : Vous êtes ici -> .
Contact :

Re: Extraction ROM du lbc-1100

Message par cgh » 28 avr. 2013 09:50

Interessant.
C'est remy qui va etre content :geek:
J'adore parler de rien, c'est le seul domaine où j'ai de vagues connaissances ! - Oscar Wilde
Ce n'est pas parce que les choses sont difficiles que nous n'osons pas. C'est parce que nous n'osons pas que les choses sont difficiles. - Sénèque

razzmoket
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 580
Inscription : 17 mai 2007 13:21
Localisation : montbeliard (25)

Re: Extraction ROM du lbc-1100

Message par razzmoket » 28 avr. 2013 12:27

salut,

tu peut utiliser le signal sur la broche 8 du connecteur
j'ai numeroter les broches comme ça Image

la commande CSAVE "nom" fait sortir un signal carré sur cette broche 8

en raccordant cette broche 8 a l'entrée XOUT et la broche 1 a la broche GND d'une sharp CE 126P , j'ai obtenu un signal enregistrable.
j'ai utliser ça pour les broches de la CE126P
Image

je suis la piste du PRINT#-1, qui envoi des données vers le port cassette
apparement , c'est l'envoi du code 13 ( code du RETURN ) qui provoque l'ecriture sur la cassette.

remy
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1785
Inscription : 13 mars 2006 16:39
Contact :

Re: Extraction ROM du lbc-1100

Message par remy » 28 avr. 2013 13:15

wahou, vous êtes trop forts.
Super idée que celle de MOTOR 0/MOTOR 1. Le problème est en effet la vitesse mais aussi le timing entre les bits. Comment vas tu être sur de respecter une période constante ?
La solution du PRINT#1 est peut être plus simple mais lorsque nous avions dumpé la ROM du Casio FP-200, nous avions été embêtés par une porteuse très longue au début de chaque PRINT#.
la solution que l'on avait choisie était de faire une grande chaîne de caractère et de faire un PRINT#.
m'enfin, je suis confiant, je vais l'avoir cette ROM :-)
PockEmul, Emulateur de pocket Sharp, Canon, Casio, HP, TI, NEC, Panasonic, Sanco, Seiko, General, National, ....
sur Windows, Linux, OS X et Android

Avatar de l’utilisateur
bernouilli92
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4498
Inscription : 21 nov. 2012 14:03
Localisation : Ile de France

Re: Extraction ROM du lbc-1100

Message par bernouilli92 » 28 avr. 2013 13:17

Intéressant, je ne savais pas comment envoyer un signal sur la broche 8 autrement que par un save.
S'il est possible de le faire avec PRINT#, je vais aller vers cette solution qui est plus propre.
HP, Casio, Sharp, Psion, quelques TI et divers autres

razzmoket
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 580
Inscription : 17 mai 2007 13:21
Localisation : montbeliard (25)

Re: Extraction ROM du lbc-1100

Message par razzmoket » 28 avr. 2013 13:31

oui la porteuse en debut de chaque d'enregistrement fait bien 2 a 3 secondes.

je ne connait pas la taille du tampon PRINT# avant enregistrement
je pense a faire des chaines de 512 caracteres HEXA ( soit 256 octets )

Code : Tout sélectionner

10 input "debut";d
20 for i=0 to 255
30 a=peek(d+i)
40 z$=hex$(a):z$=right$("00+z$,2)
50 print#-1,z$;
60 next i
70 print "pressez return"
80 if inkey$<>chr$(132) then 80
90 print#-1,""
100 d=d+256
110 if d<4096 then 20
120 end
par exemple pour la 1 ere ROM de 4K

Avatar de l’utilisateur
bernouilli92
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4498
Inscription : 21 nov. 2012 14:03
Localisation : Ile de France

Re: Extraction ROM du lbc-1100

Message par bernouilli92 » 30 avr. 2013 16:49

J'ai fait un montage similaire à celui proposé pour les sharp (seulement la partie OUT) et j'ai testé avec le PRINT #-1.
Le seul problème que je vois à cela c'est que cela génère un son audible qui est modulé en fonction des données. Ce n'est pas facile à analyser ensuite.
Du coup j'ai essayé d'améliorer mon procédé à base de MOTOR.
J'ai supprimé les temps de pause et je joue uniquement sur le nombres de flip flop :
- 3 bascules -> début d'un octet
- 2 bascule -> bit à 1
- 1 bascule -> bit à 0

Avec cette nouvelle méthode, j'arrive à obtenir 1 octet par seconde.
Cela donne visuellement ceci pour 3 octets envoyés (0x01, 0x55 et 0xFF):
Image

Un zoom sur la forme d'onde obtenu :
Image

Ce fichier, enregistré en WAV PCM 8 bits donne un fichier qui est assez facile à parser.
Voici ce que donne un bit à 1 (double flip flop)
Image

Le fichier est enregistré en stéréo 8 bits, donc chaque octet est doublé (un par voie), le milieu de la courbe est à environ 0x80, le bas de la courbe est à 0x00 et le haut de la courbe est à 0xFF.

Voici le code de mon programme :

Code : Tout sélectionner

10 MOTOR 0
20 A=&H01 : GOSUB 5000
30 A=&H55 : GOSUB 5000
40 A=&HFF : GOSUB 5000
4999 END
5000 MOTOR 1 : MOTOR 0 : MOTOR 1 : MOTOR 0 : MOTOR 1 : MOTOR 0
5010 FOR M=1 TO 8
5020 IF A AND 1 THEN 5040
5030 MOTOR 1 : MOTOR 0 : GOTO 5050
5040 MOTOR 1 : MOTOR 0 : MOTOR 1 : MOTOR 0
5050 A=INT(A/2)
5060 NEXT
5070 RETURN
Il ne me reste plus qu'à coder le programme sur PC pour décoder tout cela et ensuite ...
HP, Casio, Sharp, Psion, quelques TI et divers autres

remy
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1785
Inscription : 13 mars 2006 16:39
Contact :

Re: Extraction ROM du lbc-1100

Message par remy » 30 avr. 2013 17:05

bernouilli92 a écrit :J'ai fait un montage similaire à celui proposé pour les sharp (seulement la partie OUT) et j'ai testé avec le PRINT #-1.
Le seul problème que je vois à cela c'est que cela génère un son audible qui est modulé en fonction des données. Ce n'est pas facile à analyser ensuite.
Si tu es arrivé à exporter un WAV avec les PRINT#, on doit être capable de l'analyser. C'est surement de la simple modulation de fréquence (genre 8 période à 600hz pour un 1 et 4 périodes à 300hz pour un 0).
C'est comme cela qu'on a traduit les ROM des Sharps et du casio FP-200.
PockEmul, Emulateur de pocket Sharp, Canon, Casio, HP, TI, NEC, Panasonic, Sanco, Seiko, General, National, ....
sur Windows, Linux, OS X et Android

razzmoket
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 580
Inscription : 17 mai 2007 13:21
Localisation : montbeliard (25)

Re: Extraction ROM du lbc-1100

Message par razzmoket » 30 avr. 2013 17:33

bravo

de mon coté , je suis une voie similaire avec la commande MOTOR en jouant sur la longueur de l'impulsion.
j'envoi les données vers une entrée sur le port parallele d'un PC.

ensuite un programme en TURBO BASIC sous DOS lit les données et reconstitue les octets
c'est assez lent ( presque 2 secondes pour un octets )

en ce moment le transfert des 4 premiers Ko est en cours ( de 0 a 4095 en decimal )

remy
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1785
Inscription : 13 mars 2006 16:39
Contact :

Re: Extraction ROM du lbc-1100

Message par remy » 30 avr. 2013 17:43

PockEmul est prêt à recevoir la ROM. J'ai crée l'objet LBC-1100 (et aussi la CL-1000) avec le même CPU que le PC-2001 et les bons drivers LCD. Je pense que le mapping clavier sera à revoir, mais c'est pas le plus compliqué.
Sur les starting block le Rémy :-)
PockEmul, Emulateur de pocket Sharp, Canon, Casio, HP, TI, NEC, Panasonic, Sanco, Seiko, General, National, ....
sur Windows, Linux, OS X et Android

Avatar de l’utilisateur
bernouilli92
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4498
Inscription : 21 nov. 2012 14:03
Localisation : Ile de France

Re: Extraction ROM du lbc-1100

Message par bernouilli92 » 30 avr. 2013 19:44

remy a écrit :
bernouilli92 a écrit :J'ai fait un montage similaire à celui proposé pour les sharp (seulement la partie OUT) et j'ai testé avec le PRINT #-1.
Le seul problème que je vois à cela c'est que cela génère un son audible qui est modulé en fonction des données. Ce n'est pas facile à analyser ensuite.
Si tu es arrivé à exporter un WAV avec les PRINT#, on doit être capable de l'analyser. C'est surement de la simple modulation de fréquence (genre 8 période à 600hz pour un 1 et 4 périodes à 300hz pour un 0).
C'est comme cela qu'on a traduit les ROM des Sharps et du casio FP-200.
C'est un truc de ce genre là. Après la durée initiale d'une certaine fréquence, il y a distingue deux fréquences différentes.
HP, Casio, Sharp, Psion, quelques TI et divers autres

remy
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1785
Inscription : 13 mars 2006 16:39
Contact :

Re: Extraction ROM du lbc-1100

Message par remy » 30 avr. 2013 19:49

oui, cela s'analyse sans trop de difficultés
PockEmul, Emulateur de pocket Sharp, Canon, Casio, HP, TI, NEC, Panasonic, Sanco, Seiko, General, National, ....
sur Windows, Linux, OS X et Android

Avatar de l’utilisateur
bernouilli92
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4498
Inscription : 21 nov. 2012 14:03
Localisation : Ile de France

Re: Extraction ROM du lbc-1100

Message par bernouilli92 » 30 avr. 2013 20:22

Je suis plutôt parti sur l'autre solution. Je ne suis pas encore arrivé au bout mais j'ai bien progressé, avec des outils simple genre cut, sed et awk.
Par contre je vais devoir attendre jeudi pour continuer.
HP, Casio, Sharp, Psion, quelques TI et divers autres

razzmoket
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 580
Inscription : 17 mai 2007 13:21
Localisation : montbeliard (25)

Re: Extraction ROM du lbc-1100

Message par razzmoket » 01 mai 2013 13:27

salut

voici deja la 1ere ROM ( 0-4095 , celle qui est intégrée au microprocesseur je pense )
ça a mis 3 heures (pour 4 Ko )
le fichier texte simple : http://razz.voila.net/ROM0.TXT
le fichier texte hexa ( image ci-dessous ) :http://razz.voila.net/rom0_h.txt

Image

la suite dès que possible

bonne journée

remy
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1785
Inscription : 13 mars 2006 16:39
Contact :

Re: Extraction ROM du lbc-1100

Message par remy » 01 mai 2013 13:34

MERCI !!!
PockEmul, Emulateur de pocket Sharp, Canon, Casio, HP, TI, NEC, Panasonic, Sanco, Seiko, General, National, ....
sur Windows, Linux, OS X et Android

Répondre

Revenir vers « Tous les Pockets »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 10 invités