sharp pc 2500

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
destroyedlolo
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1666
Inscription : 03 mai 2003 02:24
Localisation : Nonglard (Annecy)
Contact :

Re: sharp pc 2500

Message par destroyedlolo » 20 oct. 2010 15:04

Bon, c'est resolu, c'etait un bug dans mon emulateur : au lieu de lire le portF, je lisais le portB ... Copy/Past malheureux. Evidemment, sur le 1350, ca n'avait aucune incidence, c'est pourquoi je ne l'avais jamais vu :oops:

Maintenant, j'arrive jusqu'au menu :slime:
Mais, comme je n'emule pas encore le clavier, je ne vais pas plus loin. Heu, difficile a lire ton scan : Comment fais-tu pour lire le clavier ?
De mon cote, je recupere ce qu'entre l'utilisateur par les codes X et je convertis ca en valeur sur le port A (evidemment en fonction de la valeur de latch).
L'avantage par rapport a une injection directe dans la fonction de lecture du clavier, c'est que ca fonctionne comme sur le vrais si tu appuis sur plusieurs touches, donc ChangerMKII ou le jeux de karate fonctionne.

Pourtais-tu nous montre ton code ? Ca m'evitera de perdre du temps a dechiffre (mal) le scan.

Bye
Amiga, UNIX
Sharp, NetBSD http://destroyedlolo.info/
Apache, PHP 100 % dictionnary free
Vacances, Voyages 1 mispelling by word

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

Re: sharp pc 2500

Message par remy » 20 oct. 2010 16:02

Je check l'accés mémoire :

Code : Tout sélectionner

    if ( (*d>=0x7A00) && (*d<=0x7AFF) )
    {
        pKEYB->Set_KS( (pKEYB->Get_KS() & 0xF0) | ((BYTE) data & 0x0F ));
        return(1);
    }
    if ( (*d>=0x7B00) && (*d<=0x7BFF) )
    {
        pKEYB->Set_KS( (pKEYB->Get_KS() & 0x0f) | (((BYTE) data & 0x0F )<<4));
        return(1);
    }
et je parcours le clavier selon cette map :

Code : Tout sélectionner

BYTE scandef_pc2500[] = {
//+0		+1			+2			+3			+4			+5			+6			+7
K_SML,		'6',		' ',		'z',		'a',		'q',		'z',		NUL,
'"',		'3',		'*',		'x',		's',		'w',		'z',		NUL,
K_RET,		'-',		'+',		'c',		'd',		'e',		'z',		NUL,
NUL,		'.',		'0',		'v',		'f',		'r',		'z',		NUL,
NUL,		'2',		'1',		'b',		'g',		't',		'z',		NUL,
K_DEL,		'5',		'4',		'n',		'h',		'y',		'z',		NUL,
K_INS,		'8',		'7',		'm',		'j',		'u',		'z',		NUL,
K_CLR,		'9',		'/',		',',		'k',		'i',		'z',		NUL,

NUL,		K_MOD,		NUL,		'.',		'l',		'o',		'9',		NUL,
NUL,		NUL,		K_DA,		NUL,		';',		'p',		'0',		NUL,
NUL,		NUL,		NUL,		K_UA,		NUL,		':',		'-',		NUL,
NUL,		NUL,		NUL,		NUL,		K_RA,		NUL,		'/',		NUL,
NUL,		NUL,		NUL,		NUL,		NUL,		K_LA,		NUL,		NUL,
NUL,		NUL,		NUL,		NUL,		NUL,		NUL,		K_DEF,		NUL,
NUL,		NUL,		NUL,		NUL,		NUL,		NUL,		NUL,		NUL
};
PockEmul, Emulateur de pocket Sharp, Canon, Casio, HP, TI, NEC, Panasonic, Sanco, Seiko, General, National, ....
sur Windows, Linux, OS X et Android
Available now on the Google Play Store

destroyedlolo
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1666
Inscription : 03 mai 2003 02:24
Localisation : Nonglard (Annecy)
Contact :

Re: sharp pc 2500

Message par destroyedlolo » 20 oct. 2010 16:53

ok ok.
La lecture se fait aussi par le port A et &7a00 et &7b00 servent de latch (equivalent du &7e00 du 1350), c'est ca ?

En tout ca, merci pour la table : elle me sera bien utile des que je trouve la fonction de lecture brute du clavier.
Amiga, UNIX
Sharp, NetBSD http://destroyedlolo.info/
Apache, PHP 100 % dictionnary free
Vacances, Voyages 1 mispelling by word

destroyedlolo
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1666
Inscription : 03 mai 2003 02:24
Localisation : Nonglard (Annecy)
Contact :

Re: sharp pc 2500

Message par destroyedlolo » 20 oct. 2010 20:55

Bon, on avance :
Le clavier, c'est fait ... enfin peut etre car je reste bloque sur le menu :
- 1 & 2 sont non operationnel : c'est pareil chez toi ?
- si je clique sur 3, j'ai comme toi

Code : Tout sélectionner

RUN MODE
ERROR 1 IN 653
et tout en bas de l'ecran j'ai le debut de la table ASCII, a savoir

Code : Tout sélectionner

!'#$%
et immédiatement l'ecran se raffraichie pour afficher le menu.
- 4

Code : Tout sélectionner

* INITIALIZING *
suivit d'un

Code : Tout sélectionner

ERROR 1 IN 48
Face a une erreur, si j'appuis sur CLS ou sur la fleche aux, je me retrouve sur le prompt du basic mais la machine est totalement plantee.

- 5

Code : Tout sélectionner

* INITIALIZING *
suivit d'un "** FORMULA ERROR **" puis

Code : Tout sélectionner

SELECT FILE
>*TEL.*
As-tu les memes symptomes ?
Franchement, je ne suis pas confiant avec mon codage du clavier ... je vais voir avec le fonction qui convertis les codes brutes en code ASCII ... faut plus que je la trouve cette fonction :wink:
Amiga, UNIX
Sharp, NetBSD http://destroyedlolo.info/
Apache, PHP 100 % dictionnary free
Vacances, Voyages 1 mispelling by word

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

Re: sharp pc 2500

Message par remy » 20 oct. 2010 21:01

Ton 4 correspond au 1 et ton 5 au 2.

J'ai EXACTEMENT les memes symptomes.
De deux chose l'une, soit j'ai mal dumpé la rom, soit c'est un probleme avec la simulation de l'imprimante.
Je penche pour la seconde raison car ça plante sur l'instruction CONSOLE 39.
PockEmul, Emulateur de pocket Sharp, Canon, Casio, HP, TI, NEC, Panasonic, Sanco, Seiko, General, National, ....
sur Windows, Linux, OS X et Android
Available now on the Google Play Store

destroyedlolo
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1666
Inscription : 03 mai 2003 02:24
Localisation : Nonglard (Annecy)
Contact :

Re: sharp pc 2500

Message par destroyedlolo » 20 oct. 2010 22:42

remy a écrit :Ton 4 correspond au 1 et ton 5 au 2.
Faut donc que je revois mon clavier :lol:
remy a écrit :J'ai EXACTEMENT les memes symptomes.
Ca c'est cool, on peut donc exclure un bug de l'emulateur.
remy a écrit :De deux chose l'une, soit j'ai mal dumpé la rom, soit c'est un probleme avec la simulation de l'imprimante.
Je penche pour la seconde raison car ça plante sur l'instruction CONSOLE 39.
C'est peut etre la ROM, mais je ne crois pas que ca viennent de l'imprimante : au pire, certaines ordres basic ne fonctionneraient pas, mais je ne vois pas pourquoi ca foutrait la grouille dans le BASIC lui-meme.
Perso, je penche plutot que qq chose nous echape niveau hard. Par exemple, sur mon 1350, la memoire video est decallee lorsqu'elle est lue par l'instruction DATA ce qui n'est pas le cas avec les autres (IXL, MVMD, ...) Chose que je n'emule pas. Peut etre alors qu'il y a une translation qq part, ou qq chose du genre.
Je vais deja voir pour le clavier, ca ne devrait pas etre trop dure.
Ensuite, en tracant le passage vers le basic ... on aurait peut etre d'autres explications.
Amiga, UNIX
Sharp, NetBSD http://destroyedlolo.info/
Apache, PHP 100 % dictionnary free
Vacances, Voyages 1 mispelling by word

destroyedlolo
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1666
Inscription : 03 mai 2003 02:24
Localisation : Nonglard (Annecy)
Contact :

Re: sharp pc 2500

Message par destroyedlolo » 22 oct. 2010 14:41

Salut Remi,

Es-tu toujours sur le sujet ?

De mon cote, j'ai vu que :
  • &045C - lecture brute du clavier (equivalent du &0436 sur 1350)
  • &8060 - Transcodage du code brute en code ascii
As-tu des adresses interressantes ?

J'ai donc pu verifier mon decodage clavier ... ce n'est pas encore ca, j'ai des decalage par endroit ...

Bye

Lolo
Amiga, UNIX
Sharp, NetBSD http://destroyedlolo.info/
Apache, PHP 100 % dictionnary free
Vacances, Voyages 1 mispelling by word

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

Re: sharp pc 2500

Message par remy » 22 oct. 2010 18:20

Pour l'instant j'en suis à décoder la trace d’exécution.
Comme je te l'ai dis , il plante sur l'instruction CONSOLE 39. En fait j'ai l'impression qu'il ne prend pas en compte le parametre de l'instruction CONSOLE. Il cherche les codes &3A (:) ou &0D tout de suite apres et sort en erreur.

Je cherche toujours
Rémy
PockEmul, Emulateur de pocket Sharp, Canon, Casio, HP, TI, NEC, Panasonic, Sanco, Seiko, General, National, ....
sur Windows, Linux, OS X et Android
Available now on the Google Play Store

Avatar de l’utilisateur
charognard
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4411
Inscription : 06 juin 2007 19:28
Localisation : Indre et loire
Contact :

Re: sharp pc 2500

Message par charognard » 22 oct. 2010 20:12

Le SP est peut etre positionné sur le mauvais bank et ne va donc pas lire 39 mais autre chose
déjà parti :arrow:

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

Re: sharp pc 2500

Message par remy » 22 oct. 2010 20:36

:D
PockEmul, Emulateur de pocket Sharp, Canon, Casio, HP, TI, NEC, Panasonic, Sanco, Seiko, General, National, ....
sur Windows, Linux, OS X et Android
Available now on the Google Play Store

destroyedlolo
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1666
Inscription : 03 mai 2003 02:24
Localisation : Nonglard (Annecy)
Contact :

Re: sharp pc 2500

Message par destroyedlolo » 23 oct. 2010 17:15

charognard a écrit :Le SP est peut etre positionné sur le mauvais bank et ne va donc pas lire 39 mais autre chose
déjà parti :arrow:
Ben pourquoi tu ne l'as pas dit plus tot ... des jours qu'on cherche nous ...

Je te rejoins dehors :mrgreen:
Amiga, UNIX
Sharp, NetBSD http://destroyedlolo.info/
Apache, PHP 100 % dictionnary free
Vacances, Voyages 1 mispelling by word

Avatar de l’utilisateur
charognard
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4411
Inscription : 06 juin 2007 19:28
Localisation : Indre et loire
Contact :

Re: sharp pc 2500

Message par charognard » 23 oct. 2010 18:16

Je voulais vous faire chercher un peu !!!

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

Re: sharp pc 2500

Message par remy » 25 oct. 2010 15:57

J'ai peut etre trouvé un truc ....
Dans mes traces d'execution, je le vois écrire aux adresses entre &8000 et &801F lorsque le F01 est haut.
Etonnant.
Je vais tenter de le laisser ecrire dans la rom (on peut tout se permettre avec un emulateur :D ) et voir ce que ça donne...
PockEmul, Emulateur de pocket Sharp, Canon, Casio, HP, TI, NEC, Panasonic, Sanco, Seiko, General, National, ....
sur Windows, Linux, OS X et Android
Available now on the Google Play Store

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

Re: sharp pc 2500

Message par remy » 29 oct. 2010 14:04

tu as avancé sur le problème Laurent ?
J'en suis à décortiquer l'appel en &D00C. Cela semble en rapport avec l'instruction CONSOLE. Il y a un appel précédemment à cette fonction lors de l'instruction CLOSE.
Rémy
PockEmul, Emulateur de pocket Sharp, Canon, Casio, HP, TI, NEC, Panasonic, Sanco, Seiko, General, National, ....
sur Windows, Linux, OS X et Android
Available now on the Google Play Store

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

Re: sharp pc 2500

Message par remy » 29 oct. 2010 15:16

Quelques adresses memoires que j'ai trouvé je ne sais plus où (odinateur de poche ou nano).
Image
PockEmul, Emulateur de pocket Sharp, Canon, Casio, HP, TI, NEC, Panasonic, Sanco, Seiko, General, National, ....
sur Windows, Linux, OS X et Android
Available now on the Google Play Store

Répondre

Revenir vers « Tous les Pockets »