Vous connaissez le Sharp PC-16C ?

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
babaorhum
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 452
Inscription : 13 janv. 2013 20:44
Localisation : Marseille-est

Vous connaissez le Sharp PC-16C ?

Message par babaorhum » 18 mai 2013 11:28

Non ?

En fait ca marche un peu comme la fameuse WP 34S ... toutes proportions gardées bien sûr !

On prend une machine hôte - j'ai choisi la merveilleuse PC-1360 pour son écran 4 lignes parfaitement contrasté (on le répétera jamais assez) mais ca doit marcher avec plein d'autres, on verra à la fin.

Contrairement à la WP34S, on ne touche pas à la ROM mais à la RAM que l'on modifie ainsi :

Code : Tout sélectionner

   10 CLS :WAIT 5:PRINT "******SHARP16C *******"
   20 PRINT "***V0.1 By BABA *******"
   30 CLEAR :WAIT 0:DIM PA$(4)*20,PB(4)
   40 GOSUB 200:END 
   50 "A"GOSUB 200:END 
   60 "S"GOSUB 300:END 
  200 WAIT 0:REM **AFF**
  210 FOR I=4TO 1STEP -1:PRINT CHR$ (48+I);":";PA$(I):NEXT I:RETURN 
  250 REM ***ENTER***
  260 FOR I=4TO 2STEP -1
  270 PA$(I)=PA$(I-1):PB(I)=PB(I-1)
  280 NEXT I:RETURN 
  300 REM ***R***
  310 FOR I=2TO 4
  320 PA$(I-1)=PA$(I):PB(I-1)=PB(I):NEXT I:RETURN 
  350 REM  ***X<>Y***
  360 D=PB(1):K$=PA$(1):PB(1)=PB(2):PB(2)=D
  370 PA$(1)=PA$(2):PA$(2)=K$
  380 RETURN 
  900 "B"AREAD NN$:BB=2:GOSUB 250:PA$(1)="%"+NN$:GOTO 980
  930 "H"AREAD NN$:BB=16:GOSUB 250:PA$(1)="&"+NN$:GOTO 980
  960 "D"AREAD NN$:BB=10:GOSUB 250:PA$(1)="d"+NN$:GOTO 980
  980 GOSUB 1000:PB(1)=D:IF E=1THEN GOSUB 300
  990 GOSUB 200:END 
 1000 REM ***BaseN->10***
 1005 CURSOR 94:PRINT "*"
 1010 D=0:E=0:FOR I=1TO LEN NN$
 1020 G=ASC (MID$ (NN$,LEN NN$-I+1,1))
 1030 IF G<58THEN LET G=G-48
 1040 IF G>64THEN LET G=G-55
 1045 IF G>=BBTHEN PRINT "ERROR BASE":E=1
 1050 D=D+G*BB^(I-1)
 1070 NEXT I
 1080 RETURN 
 1100 REM ****BASE10 -> N****
 1105 CURSOR 94:PRINT "*"
 1110 J=0:NN$=""
 1120 J=J+1:IF BB^J<=NTHEN 1120
 1130 FOR I=J-1TO 0STEP -1
 1140 C=INT (N/BB^I)
 1150 IF C>9THEN LET NN$=NN$+CHR$ (55+C)
 1160 IF C<10THEN LET NN$=NN$+CHR$ (48+C)
 1170 N=N-C*BB^I
 1180 NEXT I
 1190 RETURN 
 1200 REM ***OPERATION***
 1210 "="WAIT 0:PRINT "+,-,Or,And,Hx,Dc,Bi,Z"
 1230 K$=INKEY$ :IF K$=""THEN 1230
 1235 IF K$="Z"THEN END 
 1240 U$=LEFT$ (PA$(1),1)
 1250 IF U$="%"THEN LET BB=2
 1260 IF U$="d"THEN LET BB=10
 1270 IF U$="&"THEN LET BB=16
 1280 IF K$="+"THEN LET N=PB(1)+PB(2):PB(2)=N:GOSUB 300:GOTO 1350
 1290 IF K$="-"THEN LET N=ABS (PB(1)-PB(2)):PB(2)=N:GOSUB 300:GOTO 1350
 1300 IF K$="H"THEN LET BB=16:U$="&":N=PB(1):GOTO 1350
 1310 IF K$="D"THEN LET BB=10:U$="d":N=PB(1):GOTO 1350
 1320 IF K$="B"THEN LET BB=2:U$="%":N=PB(1):GOTO 1350
 1330 IF K$="A"THEN LET N=PB(1)AND PB(2):PB(1)=N:GOSUB 300:GOTO 1350
 1340 IF K$="O"THEN LET N=PB(1)OR PB(2):PB(1)=N:GOSUB 300
 1350 GOSUB 1100:PA$(1)=U$+NN$:GOSUB 200:END 
 1400 REM ***PILE***
 1410 "K"WAIT 0:PRINT "Enter,R,X<>y,Clear,Z"
 1420 K$=INKEY$ :IF K$=""THEN 1420
 1425 IF K$="Z"THEN END 
 1430 IF K$="E"THEN GOSUB 250:GOSUB 200:END 
 1440 IF K$="R"THEN GOSUB 300:GOSUB 200:END 
 1450 IF K$="X"THEN GOSUB 350:GOSUB 200:END 
 1460 IF K$="C"THEN GOTO 30
 1470 END 
 1500 REM ***SHIFT***
 1520 "L"WAIT 0:PRINT "Right,Left,Z"
 1530 K$=INKEY$ :IF K$=""THEN 1530
 1535 IF K$="Z"THEN END 
 1540 U$=LEFT$ (PA$(1),1)
 1550 CURSOR 94:PRINT "*"
 1560 BB=2:N=PB(1):GOSUB 1100
 1570 IF K$="L"THEN LET NN$=RIGHT$ (NN$,LEN NN$-1)+"0"
 1580 IF K$="R"THEN LET NN$="0"+RIGHT$ (NN$,LEN NN$-1)
 1590 IF U$="%"THEN LET BB=2
 1600 IF U$="d"THEN LET B=10
 1610 IF U$="&"THEN LET B=16
 1620 GOSUB 1000:N=D:GOSUB 1100:PA$(1)=U$+NN$:GOSUB 200:END 
Et voilà, en mode RUN, on tape ... "RUN" ... et ca y est vous avez entre les mains la nouvelle SHARP PC-16C.
Image
bon ... a quoi ca sert ?

--> juste à pouvoir faire des conversions et des calculs dans les bases 16,10 et 2. (on peut ajouter la base 8 très facilement si besoin, moi j'en ai pas eu le besoin).

Comme j'essaye de bidouiller en assembleur (je pars de rien c'est laborieux), je me suis très vite demandé comment j'allais m'en sortir entre les instructions données en binaires, les adresses en hexa et moi qui parle en base 10 ...

EDIT1 : on peut faire RUN une seule fois, après le programme fonctionne a partir des commandes DEF, même après extinction et réallumage de la machine. Les valeurs sont gardées en mémoire dans des tableaux - si il y a un pb (et il y en aura sûrement, suis pas développeur...) , juste refaire RUN qui réinitialise le programme
EDIT2 : A tout moment, lorsque l'invite > est affichée, DEF A rappelle la pile à l'affichage (j'avais oublié de le dire ...)


Quelques explications :
Vous disposez d'une pile de 4 registres (tien tien ..) et cette machine virtuelle fonctionne en notation polonaise inverse (tien tien tien).
Pour entrer un chiffre : vous saisissez le chiffre puis :
DEF H si c'est un nombre hexadécimal
DEF D si c'est un nombre décimal
DEF B si il est binaire

Par exemple C0C5 DEF H puis 1200 DEF D : je rentre dans la pile C0C5 en hexa et 1200 en décimal - on obtient :
Image
les deux chiffres sont dans la pile précédés de "&" si il est en hexa, "d" si il est décimal et "%" si il est binaire.

Pour faire une opération DEF =
affiche un "menu" : +,-,Or,And,Hx,Dc,Bi,Z
Image
en choississant "+" on additionne les 2 premiers registres de la pile, quelque soient leurs bases, comme sur une HP classique, vous connaissez. Le résultat est donné dans la base du chiffre contenu dans le registre 1 initialement. Dans cette version, les opérations disponibles, sur les 2 premiers registres sont : +, -, Or et And.
Hx, Dc et Bi permettent de convertir le premier registre de la pile dans la base indiquée
Z sort du menu sans rien faire.

et si on choisi + :
Image
J'obtiens mon résultat en base 10 (base du dernier chiffre entré)
et que je peux convertir si besoin DEF = H
pour obtenir &C575

Pour manipuler la pile, il faur accéder au menu par DEF K, vous avez les options Enter, R, X<>y, clear, Z
qui correspondent grosso modo aux fonctions équivalentes HP (pour accéder à l'opération, saisir le terme en majuscule : E, R, X, C ou Z qui permet toujours de sortir sans rien faire)

Il existe aussi un menu qui permet des opérations de Shifting par DEF L. Vous accéder aux options Right et Reft (en appuyant sur R ou L) - A tester, je ne garanti pas le total fonctionnement la dessus ...

je termine en précisant que le programme ne tourne que pendant les opérations. Entre 2 opérations, on peut se servir du PC-16C comme un PC-1360 !!!

voilà pour ce samedi matin pluvieux ... a compléter si vous avez d'autres besoins ...

et pour l'adapter à d'autres pocket moins gâté coté affichage, modifier simplement la routine AFF à la ligne 210 (là je vous laisse faire).

EDIT3 : Je précise que, comme les opérations ne sont pas immédiates, j'ai fais afficher une "*" en bas à droite pour indiquer le le calcul est en cours. Pour la portabilité, attention donc aux lignes 1005 1105 et 1550 (je crois que c'est les seules) - Le pgm fonctionne sans ces 3 lignes - et le "CURSOR 94" est éventuellement à adapter à la taille de l'écran sur un autre pocket multilignes
Dernière édition par babaorhum le 18 mai 2013 12:03, édité 5 fois.
BaBaoRhum
HP J728,200LX,1000CX,75C,71B, 48GX,42s,41CX,35s,32E,32Sii,28S,22s,21,16C,11C,12Cp
Sharp PC- E500,1600,1500,1350,1261,1245
Casio FX-502P,602p,850P,3900P,4000P
TI-74&92 ; Canon X-07 ; Panasonic HHC RL-H1400 ; TANDY EC-4026

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

Re: Vous connaissez le Sharp PC-16C ?

Message par cgh » 18 mai 2013 11:33

Super ! Super !
Il faut que j'essaye ca dans un des mes SHARP a grand ecran 8)

Vite, vite, ma CE-126P :slime: :slime:
Il y a ceux qui voient les choses telles qu'elles sont et se demandent pourquoi, et il y a ceux qui imaginent les choses telles qu'elles pourraient être et se disent... pourquoi pas? - George Bernard Shaw
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

Avatar de l’utilisateur
babaorhum
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 452
Inscription : 13 janv. 2013 20:44
Localisation : Marseille-est

Re: Vous connaissez le Sharp PC-16C ?

Message par babaorhum » 18 mai 2013 11:35

cgh a écrit :Super ! Super !
Il faut que j'essaye ca dans un des mes SHARP a grand ecran 8)

Vite, vite, ma CE-126P :slime: :slime:
tu veux le wav ?
BaBaoRhum
HP J728,200LX,1000CX,75C,71B, 48GX,42s,41CX,35s,32E,32Sii,28S,22s,21,16C,11C,12Cp
Sharp PC- E500,1600,1500,1350,1261,1245
Casio FX-502P,602p,850P,3900P,4000P
TI-74&92 ; Canon X-07 ; Panasonic HHC RL-H1400 ; TANDY EC-4026

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

Re: Vous connaissez le Sharp PC-16C ?

Message par cgh » 18 mai 2013 11:37

babaorhum a écrit :
cgh a écrit :Super ! Super !
Il faut que j'essaye ca dans un des mes SHARP a grand ecran 8)

Vite, vite, ma CE-126P :slime: :slime:
tu veux le wav ?
Merci, mais je n'ai pas de 1350/1360. Il faut je le relise dans un PC-E220 ou PC-E500S.
A moins que tu ne l'ais pour PC-1600 ? Mais via la CE-150, car je n'ai que ca !
Il y a ceux qui voient les choses telles qu'elles sont et se demandent pourquoi, et il y a ceux qui imaginent les choses telles qu'elles pourraient être et se disent... pourquoi pas? - George Bernard Shaw
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

Avatar de l’utilisateur
babaorhum
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 452
Inscription : 13 janv. 2013 20:44
Localisation : Marseille-est

Re: Vous connaissez le Sharp PC-16C ?

Message par babaorhum » 18 mai 2013 11:41

Aie,

je n'ai pas de version 1600 mais avec pockettools on peut convertir en 1500 ... qui fonctionne sur 1600, via CE-150 (je pense que c'est ca que tu as en tête !)
BaBaoRhum
HP J728,200LX,1000CX,75C,71B, 48GX,42s,41CX,35s,32E,32Sii,28S,22s,21,16C,11C,12Cp
Sharp PC- E500,1600,1500,1350,1261,1245
Casio FX-502P,602p,850P,3900P,4000P
TI-74&92 ; Canon X-07 ; Panasonic HHC RL-H1400 ; TANDY EC-4026

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

Re: Vous connaissez le Sharp PC-16C ?

Message par cgh » 18 mai 2013 12:37

babaorhum a écrit :Aie,

je n'ai pas de version 1600 mais avec pockettools on peut convertir en 1500 ... qui fonctionne sur 1600, via CE-150 (je pense que c'est ca que tu as en tête !)
C'est fait. Ca fonctionne sur PC-1600, mais il faut remplacer les instructions CURSOR 94 par CURSOR 24,3 aux lignes 1005, 1105 et 1550.
Cool 8)

Par contre, en utilisant les pockettools, je ne suis pas arrive a transferer sur PC-E220 ou PC-E500S. J'ai pris comme source le PC-1360, PC-1403. En faisant CLOAD @ sur les 2 machines, j'obtiens l'* qui me dit qu'un fichier est trouve, mais j'obtiens une erreur 80 sur le PC-E220 et le CLOAD @ ne s'arrete jamais sur PC-E500S. Certainement des problemes de niveau a regler. A suivre !
Il y a ceux qui voient les choses telles qu'elles sont et se demandent pourquoi, et il y a ceux qui imaginent les choses telles qu'elles pourraient être et se disent... pourquoi pas? - George Bernard Shaw
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

Avatar de l’utilisateur
Paul Tergeist
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2417
Inscription : 15 oct. 2007 15:50
Localisation : 3ème planète après le soleil

Re: Vous connaissez le Sharp PC-16C ?

Message par Paul Tergeist » 18 mai 2013 12:47

Génial Babaorhum !

Avatar de l’utilisateur
febed01
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 407
Inscription : 21 juin 2009 22:13

Re: Vous connaissez le Sharp PC-16C ?

Message par febed01 » 18 mai 2013 13:29

Mais c'est super ça, bravo à toi, je vais l'essayer :)
10 PRINT "One program a day keeps Alzheimer away..." : GOTO 10

Avatar de l’utilisateur
Hobiecat
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3397
Inscription : 06 sept. 2011 14:57
Localisation : Normandie

Re: Vous connaissez le Sharp PC-16C ?

Message par Hobiecat » 18 mai 2013 13:37

Bravo Babaorhum !
Si tu veux améliorer, la 16c fait aussi les rotations à gauche ou à droite, et peut travailler sur 64 bits en binaire... :wink:

Avatar de l’utilisateur
babaorhum
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 452
Inscription : 13 janv. 2013 20:44
Localisation : Marseille-est

Re: Vous connaissez le Sharp PC-16C ?

Message par babaorhum » 18 mai 2013 17:38

Merci de vos encouragements,

Mais c'est pas très rapide en fait ...
Techniquement le pgm gère 2 piles sous forme de tableau de dimension 4: un tableau de caractères, un tableau de nombres "normaux".
Toutes les opérations sont faites avec le tableau de chiffres "normaux" sauf les SHIFT, qui eux sont fait en base 2 ... normal.
Les ssp de transformations base NN -> base 10 et base 10--> Base NN sont universelles et fonctionnent avec n'importe quelle base. on peut donc ajouter des bases exotiques facilement , il y a juste à s'inspirer de ce qui est fait pour les autres.

Vis à vis de vos premières questions ... je ne sais pas quelles sont les limites de mon pgm en base 2 - plus le nombre est grand et plus le traitement est lent, ca fonctionne mais on est vite ennuyé par le temps de traitement. Je m'en sers sur 8, 16, voir 24 bit après c'est long ...

Les SHIFT devraient fonctionner sauf que je viens de m'appercevoir qu'il y a un bug ligne 1570 :

Code : Tout sélectionner

1570 IF K$="L"THEN LET NN$=LEFT$ (NN$,LEN NN$-1)+"0"
(et non RIGHT$ ...)
Je confirme avec des essais et je modifie le premier post :oops:
BaBaoRhum
HP J728,200LX,1000CX,75C,71B, 48GX,42s,41CX,35s,32E,32Sii,28S,22s,21,16C,11C,12Cp
Sharp PC- E500,1600,1500,1350,1261,1245
Casio FX-502P,602p,850P,3900P,4000P
TI-74&92 ; Canon X-07 ; Panasonic HHC RL-H1400 ; TANDY EC-4026

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

Re: Vous connaissez le Sharp PC-16C ?

Message par cgh » 18 mai 2013 20:54

babaorhum a écrit :Merci de vos encouragements,
Les SHIFT devraient fonctionner sauf que je viens de m'appercevoir qu'il y a un bug ligne 1570 :

Code : Tout sélectionner

1570 IF K$="L"THEN LET NN$=LEFT$ (NN$,LEN NN$-1)+"0"
(et non RIGHT$ ...)
Je confirme avec des essais et je modifie le premier post :oops:
Pour simplifer le SHIFT, tu peux diviser (R) ou multiplier (L) pas par 2, puis prendre un modulo.
Il y a ceux qui voient les choses telles qu'elles sont et se demandent pourquoi, et il y a ceux qui imaginent les choses telles qu'elles pourraient être et se disent... pourquoi pas? - George Bernard Shaw
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

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

Re: Vous connaissez le Sharp PC-16C ?

Message par cgh » 18 mai 2013 21:25

babaorhum a écrit :Et voilà, en mode RUN, on tape ... "RUN" ... et ca y est vous avez entre les mains la nouvelle SHARP PC-16C.
Image
Rhhaaa ! Les PC1350/1360 sont rares ! Maintenant ils vont en plus etre tres chers ! On va nous les vendre au prix de la HP-16C :mrgreen:
Il y a ceux qui voient les choses telles qu'elles sont et se demandent pourquoi, et il y a ceux qui imaginent les choses telles qu'elles pourraient être et se disent... pourquoi pas? - George Bernard Shaw
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

Avatar de l’utilisateur
Hobiecat
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3397
Inscription : 06 sept. 2011 14:57
Localisation : Normandie

Re: Vous connaissez le Sharp PC-16C ?

Message par Hobiecat » 18 mai 2013 21:35

cgh a écrit :Rhhaaa ! Les PC1350/1360 sont rares ! Maintenant ils vont en plus etre tres chers ! On va nous les vendre au prix de la HP-16C :mrgreen:
Ce qui serait bien dommage : la 16C est surcôtée pour sa rareté, mais pas pour ses fonctionalités à mon avis ! :wink:

Avatar de l’utilisateur
Paul Tergeist
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2417
Inscription : 15 oct. 2007 15:50
Localisation : 3ème planète après le soleil

Re: Vous connaissez le Sharp PC-16C ?

Message par Paul Tergeist » 18 mai 2013 22:16

Ben puisqu'on parle machines rares, en rangeant trois cartons ce soir j'ai retrouvé :
un lz64 avec son étui en cuir, un pc-e500s, un pc-1251, un mephisto junior, un mephisto mobil rebell 5.0
Ca va me faire un bon week end, ça faisait 3 ans que je ne les avais pas vus !
Ne faites jamais de cartons ou bien numérotez les et notez dans un carnet ce qu'il y a dedans.

Répondre

Revenir vers « Tous les Pockets »