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
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 » 15 oct. 2010 22:30

Même si ce n'est pas pratique il y a une touche verr num sur ton portable

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

Re: sharp pc 2500

Message par destroyedlolo » 15 oct. 2010 23:58

Malheureusement, ca ne marche pas : j'utilise directement les codes brutes fournis par X, et visiblement le passage en pavé numerique ... il s'en fout :|
Amiga, UNIX
Sharp, NetBSD http://destroyedlolo.info/
Apache, PHP 100 % dictionnary free
Vacances, Voyages 1 mispelling by word

Avatar de l’utilisateur
gege
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6828
Inscription : 31 janv. 2008 15:24
Localisation : Banlieue Paârisienne
Contact :

Re: sharp pc 2500

Message par gege » 16 oct. 2010 00:12

Sous X tu peux bidouiller le fichier des KeySyms et remapper comme tu veux.
Ne me demande pas comment, j'ai oublié...
Et c'est toi le sorcier du code !!
A+
G.E.

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

Re: sharp pc 2500

Message par destroyedlolo » 16 oct. 2010 01:04

Bon, je laisse tombe : j'utiliserai un vrais clavier, pas le temps d'essaye autre chose.

L'idea serait sans doute d'ajouter un clavier virtuel complet comme le font les autres emulateurs ... mais pas le temps.
De toute facon, si un jour je reprend le developpement, faudra que j'y passe pour emuler un 1401.

Et pour sourceforge, vous en pensez quoi ?
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 : 1678
Inscription : 03 mai 2003 02:24
Localisation : Nonglard (Annecy)
Contact :

Re: sharp pc 2500

Message par destroyedlolo » 17 oct. 2010 17:59

Donc passe sur un vrais clavier et qq modifs dans le code (c'est dingue comment les gens arrivent a faire complique avec du simple : les touches comme [NUM LOCK] ne sont pas pris en compte de la meme maniere sous HP-UX, Solaris et HP-UX ... :| ).

Bref, j'ai fait qq recherche, avec le code du CALL, ce qui donne :

Code : Tout sélectionner

&C342        CALL [read argument]
&C345        JRCP &C35D
&C347        CAL [BIN unsigned<-BCD]
&C349        JRCP &C35D
&C34B        CALL &CD5E
&C34E        LP $19 
&C34F        EXAM 
&C350        IYS 
&C351        LP $18  (Yreg)
&C352        EXAM 
&C353        IYS 
&C354        CAL [CALL Rtn @dr <- X]
&C356        CALL &6F59
&C359        RC 
&C35A        CAL [X <- CALL Rtn @dr]
&C35C        RTN 
Donc rien de transcendant : on lit l'adresse de saut on construit un "JP adresse" en &6F59 que l'on CALL ... Bref, pas de translation en vue.
Maintenant je vais voir dans la routine de lecture d'argument ... mais ca me paraitrait vraiment etrange s'il y avait une translation a ce niveau car cette routine est utilise pour lire n'importe quel argument ... alors comment ferait-elle pour savoir s'il faut faire une translation ou pas.
Une translation hard serait aussi etrange car beaucoup de routine de bas niveau utilisees par le BASIC se trouve en ROM CPU ... Donc si elle etait translatee, tous les CAL foireraient et le basic ne marcherait plus.
Arg, c'est bizard 8O

Remy, qu'a tu eu a modifier dans ton emulateur pour passer du 1350 au 2500 ?
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 : 1845
Inscription : 13 mars 2006 16:39
Contact :

Re: sharp pc 2500

Message par remy » 17 oct. 2010 18:31

J'ai simplement du modifier l’accès à la mémoire pour différencier la lecture classique de la lecture de la prochaine instruction du cpu.
J'ai rajouté les KeyStrobe en &7A00 et &7B00
et la gestion du F01.
Je crois que c'est tout.

par contre, dans mes logs, il construit un jump en &6DE9 et non en &6F59.
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 » 17 oct. 2010 18:56

Euh les gars vous avez quelques années d'avance sur nous dans l'émulation.
Je ne comprends pas tout.

vous donnez des cours ? des documents ? des exemples sur une émulation simple ...etc


Je pense pour ma part avoir un grave manque en electronique

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

Re: sharp pc 2500

Message par destroyedlolo » 17 oct. 2010 19:22

remy a écrit :J'ai simplement du modifier l’accès à la mémoire pour différencier la lecture classique de la lecture de la prochaine instruction du cpu.
et la gestion du F01.
Donc pour que l'instruction CPU reste toujours en bank 0 quelque soit la valeur de F01 alors qu'une lecture "data" en depend, c'est ca ?
remy a écrit :J'ai rajouté les KeyStrobe en &7A00 et &7B00
??? Ils servent a quoi ??? Pour le scrutage du clavier. Chez moi, c'est en &7E00

En regardant les ROM que tu fournis ... ben elles sont totalement differentes de celles de mon 1350. Si ca n'avait ete que la ROM 32k, j'aurai compris vu qu'il y a eu plusieurs version de cette ROM ... mais ici, c'est aussi le cas de la ROM CPU 8O
Par exemple, sur mon 1350, la routine qui fait A -> Port C se trouve en &04b3

Code : Tout sélectionner

[Out C <- {A}]
&04B3        LIP $5F  (Port C)
&04B5        EXAM 
&04B6        OUTC 
&04B7        RTN 
alors que chez toi elle est en &0530 8O 8O

Et la, c'est franchement bizarre : comme je l'ai dit, j'ai lu partout que les programmes machines pour 1350 et 2500 etaient compatibles (dans les Sharpentier par exemple ...) et tout les listing que j'ai trouve correspondent aux adresses de ma ROM. Et ils ne pourraient marcher sur ta ROM car des routines de bases comme le scrutage du clavier en &0436 ne sont pas a la meme place ... Franchement c'est bizarre de chez bizarre :geek:
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 : 1845
Inscription : 13 mars 2006 16:39
Contact :

Re: sharp pc 2500

Message par remy » 17 oct. 2010 19:36

destroyedlolo a écrit :
remy a écrit :J'ai simplement du modifier l’accès à la mémoire pour différencier la lecture classique de la lecture de la prochaine instruction du cpu.
et la gestion du F01.
Donc pour que l'instruction CPU reste toujours en bank 0 quelque soit la valeur de F01 alors qu'une lecture "data" en depend, c'est ca ?
Exactement
destroyedlolo a écrit :
remy a écrit :J'ai rajouté les KeyStrobe en &7A00 et &7B00
??? Ils servent a quoi ??? Pour le scrutage du clavier. Chez moi, c'est en &7E00
Là tu m'etonnes grandement !!!!, c'est différent du pc-1350

destroyedlolo a écrit : En regardant les ROM que tu fournis ... ben elles sont totalement differentes de celles de mon 1350. Si ca n'avait ete que la ROM 32k, j'aurai compris vu qu'il y a eu plusieurs version de cette ROM ... mais ici, c'est aussi le cas de la ROM CPU 8O
Par exemple, sur mon 1350, la routine qui fait A -> Port C se trouve en &04b3

Code : Tout sélectionner

[Out C <- {A}]
&04B3        LIP $5F  (Port C)
&04B5        EXAM 
&04B6        OUTC 
&04B7        RTN 
alors que chez toi elle est en &0530 8O 8O

Et la, c'est franchement bizarre : comme je l'ai dit, j'ai lu partout que les programmes machines pour 1350 et 2500 etaient compatibles (dans les Sharpentier par exemple ...) et tout les listing que j'ai trouve correspondent aux adresses de ma ROM. Et ils ne pourraient marcher sur ta ROM car des routines de bases comme le scrutage du clavier en &0436 ne sont pas a la meme place ... Franchement c'est bizarre de chez bizarre :geek:
La ROM cpu est en effet différente. C'est un SC61860A14 pour le pc-2500 contre un SC61860A13 pour le pc-1350.
Tu es sur d'utiliser les points d'entrée "officiels Sharp" ? Sur ma doc du pc-1350 le key Scan est en &0436.
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 : 1678
Inscription : 03 mai 2003 02:24
Localisation : Nonglard (Annecy)
Contact :

Re: sharp pc 2500

Message par destroyedlolo » 18 oct. 2010 10:45

Salut Remy,
remy a écrit :La ROM cpu est en effet différente. C'est un SC61860A14 pour le pc-2500 contre un SC61860A13 pour le pc-1350.
Bon, ben clairement j'etais dans l'erreur pendant toutes ces annees ... et visiblement pas que moi vu que j'avais lu que ces machines etaient similaires ... en fait, ce n'est sans doute vrais qu'au niveau du BASIC, mais pas pour les niveaux plus bas :
  • le scrutage du clavier est different (&7A00 et &7B00 pour le 2500, portA et &7E00 pour le 1350)
  • ROM differentes
  • Visiblement, idem pour la memoire systeme vu que l'adresse de saut du CALL est differente ... mais ce que j'espere, c'est que c'est toute la zone qui est decallee de 368 octets. En clair, est-ce que l'adresse du debut du programme basic se trouve bien en &6d91 ?
Par contre, as-tu la doc technic sur cette machine. En particulier, j'ai besoin de la memory map (surtout pour voir si la video est a la meme place que sur 1350) et du mapping clavier.
Apres, je trouverai le reste en regardant dans la ROM :wink:
remy a écrit :Tu es sur d'utiliser les points d'entrée "officiels Sharp" ? Sur ma doc du pc-1350 le key Scan est en &0436.
Ben oui, c'est bien ce que je dis : elle est en &0436 sur un 1350, mais a une autre place sur un 2500 :wink: Mais bon, tu m'as donne l'explication : ce n'est pas en effet la meme ROM.

L'un dans l'autre, je pense quant meme que les machines sont assez proche l'une de l'autre : donc ce que j'ai decouvers sur le 1350 devrait s'applique sur le 2500 ... mais avec des adresses differentes.

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 : 1845
Inscription : 13 mars 2006 16:39
Contact :

Re: sharp pc 2500

Message par remy » 18 oct. 2010 13:10

Tu trouveras le memory map ici.
Pour ce qui est du mappage clavier, y a rien de mieux que le diagram, mais il est de faible qualité.
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 : 1678
Inscription : 03 mai 2003 02:24
Localisation : Nonglard (Annecy)
Contact :

Re: sharp pc 2500

Message par destroyedlolo » 19 oct. 2010 17:13

J'ai donc essaye de juste changer les ROM sur une emulation de base 1350 ... et ca marche :D
J'ai un jolie ecran avec le prompt suivit de "ERROR 4".

Par contre, évidemment pas de clavier vu que les ports ne sont pas les memes. Mais par contre ... l'ecran est identique :D
Et comme j'ai deja prevu un handler pour le port bit 0 du port F ... le seul truc que je vais devoir revoir est la gestion du clavier ... Donc rien de bien insurmontable :slime:

Lolo

Tien question : est-ce qu'il y a eu un PC-2500K comme il y eu un PC-1350K ? C'est a dire la version japonaise. Si oui, est-ce qu'elle se detecte comme sur un PC-1350 ?
Dernière édition par destroyedlolo le 19 oct. 2010 17:50, édité 1 fois.
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 : 1845
Inscription : 13 mars 2006 16:39
Contact :

Re: sharp pc 2500

Message par remy » 19 oct. 2010 17:25

destroyedlolo a écrit :J'ai donc essaye de juste changer les ROM sur une emulation de base 1350 ... et ca marche :D
J'ai un jolie ecran avec le prompt suivit de "ERROR 4".
Tout pareil :-)
Moi je bloque lorsque je choisi l'option 3 du menu , le BASIC.
Il plante et reboot sur l''instruction CONSOLE 39 de la ligne 653. Et je trouve toujours pas la solution.
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 : 1678
Inscription : 03 mai 2003 02:24
Localisation : Nonglard (Annecy)
Contact :

Re: sharp pc 2500

Message par destroyedlolo » 20 oct. 2010 10:56

Ben je ne vais meme pas jusque la : il affiche RUN MODE, l'ecran s'efface et

Code : Tout sélectionner

>
ERRROR 4
Et pourtant j'ai implemente le switch de bank par le port F0 ... mais il ne semble pas utilise : J'ai trace un peu ce qu'il se passe, et je n'ai vu aucune activite sur le ce port ... par contre a un moment, il met le bit F4 a 1 (valeur &10) ... a quoi ca sert ?
Si je fait le switch de bank sur ce bit ... plantage : plus rien n'est affiche a l'ecran.

Je continue a investiguer ...
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 : 1845
Inscription : 13 mars 2006 16:39
Contact :

Re: sharp pc 2500

Message par remy » 20 oct. 2010 11:21

C'est étrange tout ca.
Moi dés le départ il mets le port F à &08. Puis ensuite j'ai la routine &14A9 qui met le F01 à 1 (la &14AF le mettant à 0).
A aucun moment il ne met le port F à &10.
J'ai les mêmes symptômes que toi lorsque je desactive le switch de bank sur le F01. Un appuie sur la flèche de gauche me permet dans ce cas d'avoir le prompt BASIC.
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 »