Sharp PC-G850V

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

Avatar du membre
charognard
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4412
Enregistré le : 06 juin 2007 19:28
Localisation : Indre et loire
Contact :

Re: Sharp PC-G850V

Message par charognard »

Exemple d'utilisation de PRINT et LINE en assembleur

Code : Tout sélectionner

10      ORG   0100H
20GRAPH EQU   093CBH
30PRINT EQU   0BFF1H
40      JR    START
50SC:   DB    0,0,0,0
60X:    DB    0
70Y:    DB    0
80OX:   DB    0
90OY:   DB    0
100RX:  DB    0
110RY:  DB    0
120PROV:DB    0,0
130TXT1:DB    'SCORE:'
140START:CALL CLS
150     LD    B,6
160     LD    DE,0000H
170     LD    HL,TXT1
180     CALL  PRINT
190     LD    HL,59
200     LD    DE,0
210     LD    IX,135
220     LD    IY,30
230     LD    A,1
240     LD    B,1
250     CALL  LINE
260     LD    HL,60
270     LD    DE,0
280     LD    IX,134
290     LD    IY,3
300     LD    A,1
310     LD    B,2
320     CALL  LINE
330     LD    HL,60
340     LD    DE,6
350     LD    IX,134
360     LD    IY,9
370     LD    A,1
380     LD    B,2
390     CALL  LINE
400     LD    A,0
410     LD    (SC),A
420     LD    A,48
430     LD    (SC+1),A
440     LD    (SC+2),A
450     LD    (SC+3),A
460     LD    A,99
470     LD    (X),A
480     LD    (OX),A
490     LD    A,10
500     LD    (Y),A
510     LD    (OY),A
520     LD    A,-3
530     LD    (RX),A
540     LD    A,2
550     LD    (RY),A
560REP: LD    A,(RY)
570     LD    B,A
580     LD    A,(Y)
590     ADD   A,B
600     LD    (Y),A
610     LD    A,(RX)
620     LD    B,A
630     LD    A,(X)
640     ADD   A,B
650     LD    (X),A
660     CP    60
670     JR    C,OK1
680     CP    133
690     JR    C,SU1
700OK1: LD    A,(RX)
710     NEG
720     LD    (RX),A
730     ADD   A,A
740     LD    B,A
750     LD    A,(X)
760     ADD   A,B
770     LD    (X),A
780SU1: LD    A,(Y)
790     CP    30
800     JR    NC,OK2
810     CP    -2
820     JR    NZ,SU2
830OK2: LD    A,(RY)
840     NEG
850     LD    (RY),A
860     LD    B,A
870     LD    A,(OY)
880     ADD   A,B
890     LD    (Y),A
900SU2: LD    A,(X)
910     LD    E,A
920     LD    A,(Y)
930     LD    D,A
940     CALL  POI
950     CP    1
960     JR    NZ,SU3
970     LD    A,(SC)
980     ADD   A,5
990     LD    (SC),A
1000    CALL  SCOR
1010    LD    B,3
1020    LD    DE,0006H
1030    LD    HL,SC+1
1040    CALL  PRINT
1050    LD    A,(X)
1060    LD    H,0
1070    LD    L,A
1080    ADD   A,2
1090    LD    (PROV),A
1100    LD    IX,(PROV)
1110    LD    A,(Y)
1120    LD    D,0
1130    LD    E,A
1140    ADD   A,1
1150    LD    (PROV),A
1160    LD    IY,(PROV)
1170    LD    A,0
1180    LD    B,1
1190    CALL  LINE
1200    LD    A,(RY)
1210    LD    B,A
1220    LD    A,(Y)
1230    SUB   B
1240    LD    (Y),A
1250    LD    A,(RY)
1260    NEG
1270    LD    (RY),A
1280SU3:LD    A,(X)
1290    LD    H,0
1300    LD    L,A
1310    ADD   A,2
1320    LD    (PROV),A
1330    LD    IX,(PROV)
1340    LD    A,(Y)
1350    LD    D,0
1360    LD    E,A
1370    ADD   A,1
1380    LD    (PROV),A
1390    LD    IY,(PROV)
1400    LD    A,1
1410    LD    B,1
1420    CALL  LINE
1430    LD    A,(OX)
1440    LD    H,0
1450    LD    L,A
1460    ADD   A,2
1470    LD    (PROV),A
1480    LD    IX,(PROV)
1490    LD    A,(OY)
1500    LD    D,0
1510    LD    E,A
1520    ADD   A,1
1530    LD    (PROV),A
1540    LD    IY,(PROV)
1550    LD    A,0
1560    LD    B,1
1570    CALL  LINE
1580    LD    A,(X)
1590    LD    (OX),A
1600    LD    A,(Y)
1610    LD    (OY),A
1620    LD    A,(SC)
1630    CP    205
1640    JP    C,REP
1650    RET
1660CLS: LD    A,020H
1670     LD    B,144
1680     LD    DE,0
1690     CALL  0BFEEH
1700     RET
1710POI: LD    H,0
1720     LD    L,E
1730     LD    E,D
1740     LD    D,0
1750     CALL  PNT
1760     AND   C
1770     RET   Z
1780     LD    A,1
1790     RET
1800PNT: CALL  GRAPH
1810     DB    0EH
1820     DW    0CA08H
1830PSET:LD    H,0
1840     LD    L,E
1850     LD    E,D
1860     LD    D,0
1870     LD    (7967H),HL
1880     LD    (7969H),DE
1890     LD    IX,0FFFFH
1900     LD    (777DH),IX
1910     LD    (777FH),A
1920     CALL  GRAPH
1930     DB    0DH
1940     DW    0C595H
1950     RET
1960LINE:LD    (7967H),IX
1970     LD    (7969H),IY
1980     LD    IX,0FFFFH
1990     LD    (777DH),IX
2000     LD    (777FH),A
2010     LD    A,B
2020     CP    1
2030     JR    C,LIN
2040     JR    Z,BOX
2050FBOX:CALL  GRAPH
2060     DB    0DH
2070     DW    0C4CBH
2080     RET
2090LIN: CALL  GRAPH
2100     DB    0DH
2110     DW    0C595H
2120     RET
2130BOX: CALL  GRAPH
2140     DB    0DH
2150     DW    0C442H
2160     RET
2170SCOR:LD   A,(SC+3)
2180     CP   48
2190     JR   Z,SCO1
2200     LD   A,(SC+2)
2210     CP   57
2220     JR   Z,SCO2
2230     INC  A
2240     LD   (SC+2),A
2250     LD   A,48
2260     LD   (SC+3),A
2270     RET
2280SCO1:LD   A,53
2290     LD   (SC+3),A
2300     RET
2310SCO2:LD   A,48
2320     LD   (SC+2),A
2330     LD   (SC+3),A
2340     LD   A,(SC+1)
2350     INC  A
2360     LD   (SC+1),A
2370     RET
Jean-Louis
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 434
Enregistré le : 14 mai 2010 19:15

Re: Sharp PC-G850V

Message par Jean-Louis »

Merci pour les infos, mais pour moi c'est du petit nègre ; et les commentaires en Japonais, bah... :(

J'ai cru comprendre qu'il est question de fonctions graphiques, mais à part ça.... :cry:

J'ai mis en rouge les passages incompréhensibles, et en vert mes commentaires.
charognard a écrit : ASSEMBLEUR
ラストアンサーに文字列を入れるためのフォーマット

文字列の長さを設定
Oui, c'est clair. :wink:

L'ordre du G850 BASIC LINE [[GPRINT 』』 et il ya des instructions graphiques liés, tels que tels que quoi?
Ces déclarations sont valables seulement BASIC, et les graphiques des commandes telles que le langage machine
SHARP a été publié dans IOCS n'est pas inclus. ???

Après la dernière fois, G850 dans le système graphique IOCS introduit les sous-programmes utilisés dans le vent. Dans le vent ? 8O
Liste des sources pour voir, je me demande pourquoi est-ce? "Et trop penser à Quoi ?
S'il vous plaît essayez de l'utiliser si l'occasion se présente pour le moment.

Vous remarquerez que si vous lisez le dernier Le dernier quoi????

J'ai longtemps été la source de la liste en conséquence. Ah oui...

Commentaire
Coordonnée X registre E, D coordonnées dans le registre Y 』POI [lorsque l'Appel,
Si les feux de point de coordonnées [1 dans le registre d'entrée dans le A,
Non point lumineux champ si vous avez plus ou coordonner les Les quoi ?
Un registre contient
???

Commentaire
E coordonner les registres X, Y D registre de mettre les coordonnées [SET 』Puis appelez quoi?
Et le point est allumé, et peuvent être effacées.

Un registre des points [0 』off vous Oui, je ?
[1 dans le registre un solide point de la
Un certain nombre de deux registres seront mis en évidence à la dot.
???
Commentaire
Entrez le numéro de registre et les coordonnées de chaque individu LIN [』puis un appel
Et tracer la ligne entre la source et de destination, vous pouvez décrire un rectangle avec des lignes
Un registre des points [0 』off vous
[1 dans le registre un solide point de la
Un registre de numéro deux est mis en évidence lorsque le point. Le point quoi?

Exemple de programme
LD   HL,100    ;┓?
    LD   DE,4      ;┃(1)
    LD   IX,120    ;┃Tracer une ligne
    LD   IY,31     ;┃ Entre (100,4)et(120,31)
    LD   A,1       ;┃
    LD   B,0       ;┃
    CALL LIN       ;┛
    LD   HL,-3     ;┓
    LD   DE,-6     ;┃(2)
    LD   IX,55     ;┃(-3,-6)と(55,18)を対角線とする 
    LD   IY,18     ;┃ 四角形を書く
    LD   A,1       ;┃
    LD   B,1       ;┃
    CALL LIN       ;┛
    LD   HL,40     ;┓
    LD   DE,10     ;┃(3)
    LD   IX,72     ;┃(40,10)と(72,24)を対角線とする
    LD   IY,24     ;┃ 四角形を書き、中を塗りつぶす
    LD   A,1       ;┃
    LD   B,2       ;┃
    CALL LIN       ;┛
    LD   HL,75     ;┓
    LD   DE,0      ;┃(4)
    LD   IX,45     ;┃(75,0)と(45,50)を結ぶ
    LD   IY,50     ;┃ 直線を引く
    LD   A,2       ;┃ ただし直線は画面に対して反転する
    LD   B,0       ;┃
    CALL LIN       ;┛
    RET
GCURSOR / GPRINT

Registre d'entrée
IX: GCURSOR la coordonnée X de -32768 ~ 32767 (8000H ~ 7FFFH)
IY: GCURSOR coordonnée Y de -32768 ~ 32767 (8000H ~ 7FFFH)
HL: Lieu de départ des données graphiques
B: points horizontaux Gurafukkudeta 1 ~ 144 (~ 01H 90H)

Commentaire
Mettez l'adresse HL début du registre que vous souhaitez afficher des données graphiques,
Les instructions de la même manière GCURSOR BASIC IX, IY s'inscrire et d'entrer les coordonnées
GPR [CALL 』pour voir les graphiques alors.

Notes
Les coordonnées des GCURSOR, affichage graphique de base ainsi que l'instruction sera [』inférieure gauche. ???
Le modèle de données graphiques en format peu ???
BASIC GPRINT qu'ils respectent l'ordre, montrent que joue dans [CALL 0BFD0H
S'il vous plaît noter le motif de bits, les formats de données différents.
Pour plus d'informations, des instructions écrites sur le G850, GPRINT S'il vous plaît lisez la description de l'instruction

Exemple de programme

LD   IX,20   ;X座標は20
    LD   IY,17   ;Y座標は17
    LD   B,12    ;グラフィックの横の長さは12ドット
    LD   HL,BOX  ;グラフィックデータの開始アドレスを読み込む 
    CALL GPR     ;『GPRINT』IOCSをCALL
    RET          ;
BOX:DB   1EH     ;┓
    DB   9CH     ;┃
    DB   5CH     ;┃
    DB   3CH     ;┃
    DB   5CH     ;┃
    DB   9CH     ;┃グラフィックのデータ
    DB   1CH     ;┃CALL 0BFD0H用とは異なるので注意!
    DB   88H     ;┃
    DB   0EBH    ;┃
    DB   3FH     ;┃
    DB   0BCH    ;┃
    DB   0F0H    ;┛
Avatar du membre
charognard
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4412
Enregistré le : 06 juin 2007 19:28
Localisation : Indre et loire
Contact :

Re: Sharp PC-G850V

Message par charognard »

Tu t'en fout du texte, le code est plus intéressant.
Tu pratique un peu l'assembleur Z80 ?

exemple :
Le programme suivant :

Code : Tout sélectionner

1      ORG   0100H
5GRAPH EQU   093CBH
10     LD    HL,100
20     LD    DE,4
30     LD    IX,120
40     LD    IY,31
50     LD    A,1
60     LD    B,0
70     CALL  LINE 'Trace une ligne entre (100,4)-(120,31)	
80     LD    HL,-3
90     LD    DE,-6
100     LD    IX,55
110     LD    IY,18
120     LD    A,1
130     LD    B,1
140     CALL  LINE 'Trace un rectangle vide entre (-3,-6)-(55,18)
150     LD    HL,40
160     LD    DE,10
170     LD    IX,72
180     LD    IY,24
190     LD    A,1
200     LD    B,2
210     CALL  LINE 'Trace un rectangle plein entre (40,10)-(72,24)
220     LD    HL,75
230     LD    DE,0
240     LD    IX,45
250     LD    IY,50
260     LD    A,2
270     LD    B,0
280     CALL  LINE 'Trace une ligne en vidéo inversée entre (75,0)-(45,50)
290	RET
1960LINE:LD    (7967H),IX
1970     LD    (7969H),IY
1980     LD    IX,0FFFFH
1990     LD    (777DH),IX
2000     LD    (777FH),A
2010     LD    A,B
2020     CP    1
2030     JR    C,LIN
2040     JR    Z,BOX
2050FBOX:CALL  GRAPH
2060     DB    0DH
2070     DW    0C4CBH
2080     RET
2090LIN: CALL  GRAPH
2100     DB    0DH
2110     DW    0C595H
2120     RET
2130BOX: CALL  GRAPH
2140     DB    0DH
2150     DW    0C442H
2160     RET
Pour frapper ce programme
tu va sous BASIC

MON [ENTER]
USER 300 [ENTER]

[TEXT]
Edit

Tu frappe le programme ci dessus

[ASMBL]
Assembler
Asm

Normalement 0 error

[BASIC] en mode programme
tu frappe

Code : Tout sélectionner

10 CLS
20 CALL &H100
30 GOTO 30
Mode RUN
RUN [ENTER]

Bon tests
Modifié en dernier par charognard le 06 déc. 2015 20:41, modifié 2 fois.
Marc556
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 105
Enregistré le : 26 nov. 2015 11:09
Localisation : Wiltz ( Luxembourg)

Re: Sharp PC-G850V

Message par Marc556 »

Et bien , les amis,

j'ai l'impression de mettre les pieds dans un monde totalement inconnu!
...Inconnu mais passionnant......
Avatar du membre
charognard
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4412
Enregistré le : 06 juin 2007 19:28
Localisation : Indre et loire
Contact :

Re: Sharp PC-G850V

Message par charognard »

Post au dessus modifié
Si tu ne connais pas l'assembleur.
Commence plutôt par le BASIC
Ensuite le C
ensuite le CASL
Puis l'assembleur en dernier ;)
Avatar du membre
phe78
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 721
Enregistré le : 22 avr. 2011 19:08
Localisation : Les Adrets de l'Esterel (Var)

Re: Sharp PC-G850V

Message par phe78 »

quand j'ai recu mon 850 achete chez Rinkya, j'ai aussi pas mal galere pour trouver de la doc, et j'ai trouve un resume qui m'a ete utile (je ne me souviens plus ou je l'ai recupere, il a ete produit par un membre du forum que je remercie pour le super boulot, il n'a malheureusement pas mentionne son nom dans le doc) j'ai uploade le doc qui est disponible ici : https://db.tt/iHY37yxn
Jean-Louis
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 434
Enregistré le : 14 mai 2010 19:15

Re: Sharp PC-G850V

Message par Jean-Louis »

Grand merci à vous deux pour les infos. :D

@charognard : Oui, je connais l'assembleur ; c'est pour cela (et le C) qu'il m'intéresse.
Si c'était pour le Basic, j'aurais choisi le PC1500, beaucoup mieux documenté. :wink:

Encore merci pour tes exemples, mais tu vois, un truc tout bête, pour tes tracés de lignes ou de figures géométriques, tu indiques des coordonnées ; je sais que l'écran fait 144x48, mais comment les points sont numérotés ? de gauche à droite ? L'inverse ? De haut en bas, ou de bas en haut ?

Je sais, il suffit d'essayer ; mais s'il faut déjà tâtonner à ce niveau très simple, ça risque de devenir compliqué à un niveau plus élevé. Et je suis quelqu'un qui n'aime pas marcher dans le brouillard ; j'aime bien savoir où je vais, ce que je fais, et pourquoi. :|

Je précise que je n'ai pas de PCG850V (pas encore?), mais que cette machine m'intéresse.
J'ai vu des exemples de ce que des étudiants japonais sont arrivés à faire avec, et c'est vraiment impressionnant. 8O
...
-Mais ils ont toute la doc- :?

En attendant, je vais déjà étudier le fichier de phe78 (merci encore) et tes infos... :wink:

La doc en Japonais, déjà donnée quelque part ici :
http://fr.normand.free.fr/ordipoche/PC-G850VOCR2.pdf
Modifié en dernier par Jean-Louis le 07 déc. 2015 00:45, modifié 1 fois.
EmmanuelC
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 98
Enregistré le : 03 mai 2014 09:10
Localisation : IDF

Re: Sharp PC-G850V

Message par EmmanuelC »

L'article de synthese cité par Phe78 doit beaucoup à l'article excellent de Charo (cf. ci dessus le site normand.free.fr). Une traduction pas à pas du manuel apprend aussi beaucoup de choses même si la traduction Google est parfois déconcertante... Enfin, il y a quelques vidéos YouTube sympa.
C'est une très bonne machine, très stimulante, de bons langages. Un peu limitée en mémoire et en gestion de fichiers (du moins en basic ou en C, je ne maîtrise pas l'ASM).
Amuse toi bien !
Avatar du membre
charognard
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4412
Enregistré le : 06 juin 2007 19:28
Localisation : Indre et loire
Contact :

Re: Sharp PC-G850V

Message par charognard »

Le référentiel (0,0) est en haut a droite.
et voilà ce que donne le programme ci-dessus
Image
La doc en Japonais, déjà donnée quelque part ici :
http://fr.normand.free.fr/ordipoche/PC-G850VOCR2.pdf
En fait c'est sur mon dépotoir WEB ;)

tu as du voir déjà mon ARTICLE car il le lien était fourni plus haut. Il est loin d'être complet (ni fini) mais ça peut aider ... enfin c'était le but ;)
Jean-Louis
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 434
Enregistré le : 14 mai 2010 19:15

Re: Sharp PC-G850V

Message par Jean-Louis »

meridian a écrit :Jamais trouvé comment programmer les pics.
Apparemment, il peut programmer les PIC 16F627, 16F83, 16F84, 16F84A et d'autres PIC de la série 16F.
Il semblerait qu'on accède à l'assembleur PIC par les touches SHIFT + ASMBL.
Les PIC se programment par l'interface série côté gauche, qui peut être configurée en PIO 8 bits, afin de se brancher au PIC à programmer.

Le PCG850V avec un programmateur de PIC :
https://de.wikipedia.org/wiki/Datei:PC-G850V-PIC.jpg

Avec une autre carte, plus simple :
http://www.wikiwand.com/de/Sharp_PC-G850V

Une vue des cartes, plus détaillée, avec leur référence :
http://www.buypcb.co.kr/sunhayato-new.htm

Pour info, un convertisseur RS232/USB avec les schémas :
http://kyoro205.blog.fc2.com/blog-date-20121006.html
Avatar du membre
Gege34
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 1167
Enregistré le : 03 oct. 2014 11:19
Localisation : 31

Re: Sharp PC-G850V

Message par Gege34 »

Le Sharp 850 est aussi une machine qui m'intéresse (peut être un prochain achat).
J'ai trouvé ce site (dans la langue d'origine) mais qui contient des programmes (principalement jeux) avec les sources (principalement ASM) qui sont ma fois assez lisible. Il y a aussi des versions dans un émulateur web.
Commodore (64/128/Amiga), HP (28/41/48/50/71/75/200/Prime) et autres (Ti, Canon X07, Psion, Casio, Palm, Thomson, Exl, Amstrad)
Avatar du membre
charognard
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4412
Enregistré le : 06 juin 2007 19:28
Localisation : Indre et loire
Contact :

Re: Sharp PC-G850V

Message par charognard »

Des sources en assembleur, soit.
Mais pour le compilateur SDCC. Bref pas du tout en natif.

Autant ne pas commencer par là car c'est encore le niveau d'haut dessus.
Marc556
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 105
Enregistré le : 26 nov. 2015 11:09
Localisation : Wiltz ( Luxembourg)

Re: Sharp PC-G850V

Message par Marc556 »

quelles sont les différences entre les versions S V et VS?
Avatar du membre
charognard
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4412
Enregistré le : 06 juin 2007 19:28
Localisation : Indre et loire
Contact :

Re: Sharp PC-G850V

Message par charognard »

entre le G850S et G850V
nous avons principalement la fréquence, la lisibilité de l'écran, Les PICs et quelques fonctions/instructions notamment celles de sauvegarde sur cassettes.
Voir ici mais en japonais ICI.

Le VS est la version la plus récente qui n'apporte rien de plus par rapport au V.
Marc556
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 105
Enregistré le : 26 nov. 2015 11:09
Localisation : Wiltz ( Luxembourg)

Re: Sharp PC-G850V

Message par Marc556 »

Voilà je viens de recevoir mon G850V....
Y a plus qu'à......
Répondre

Retourner vers « Tous les Pockets »