Graphisme en assembleur sur G850
Modérateur : Politburo
- charognard
- Fonctionne à 9600 bauds

- Messages : 4411
- Inscription : 06 juin 2007 19:28
- Localisation : Indre et loire
- Contact :
Graphisme en assembleur sur G850
je vous livre brut de fonderie avec traduction approximative
les routines suivantes trouvées sur un site jap
http://orange.kakiko.com/cosmopatrol/more/motto7.html
(changer le codage de la page)
ça va me servir pour mon bench de casse brique en BASIC/C et assembleur sous cette plate forme avec un article à la clef sur l'adaptation d'un programme sous ces trois languages.
La détermination du modèle peut etre viré à partir du moment que vous connaissez le résultat de la condition
par exemple dans POINT le CALL 9300H sera directement remplacé par un CALL 93CBH
j'ai testé POINT ça MARCHE
pensez au USER 200 sous MON avant la compil sinon ça marche pas
POINT
Registre d'entrée
E: X coordonnées 0~ 143 (~ 00H 8FH)
D: Y 0 coordonnées 0~ 47 (00H ~ 2FH)
registre de sortie
A: 1=point allumé, 0=point éteint
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
Un registre contient
POI:LD A,(93CDH) ;┓
CP 0E5H ;┃
JR NZ,S1 ;┃DETERMINATION DU
LD A,0CDH ;┃MODELE DE G850
JR S2 ;┃
S1: LD A,0CBH ;┃
S2: LD (N1+1),A ;┛
LD H,0
LD L,E
LD E,D
LD D,0
CALL N1
AND C
RET Z
LD A,1
RET
N1: CALL 9300H
DB 0EH
DW 0CA08H
RET
PSET / PRESET
Registre d'entrée
E: Coordonné X 0~ 143 (~ 00H 8FH)
D: Coordonné Y 0~ 47 (00H ~ 2FH)
A: Effacement du point= 0, Affichage du point = 1 ; Inversion du point = 2
Commentaire
E coordonner les registres X, Y D registre de mettre les coordonnées [SET 』Puis appelez
Et le point est allumé, et peuvent être effacées.
Un registre des points [0 』off vous
[1 dans le registre un solide point de la
Un certain nombre de deux registres seront mis en évidence à la dot.
SET:PUSH AF
LD A,(93CDH) ;┓
CP 0E5H ;┃
JR NZ,S3 ;┃DETERMINATION DU
LD A,0CDH ;┃MODELE DE G850
JR S4 ;┃
S3: LD A,0CBH ;┃
S4: LD (N2+1),A ;┛
POP AF
LD H,0
LD L,E
LD E,D
LD D,0
LD (7967H),HL
LD (7969H),DE
LD IX,0FFFFH
LD (777DH),IX
LD (777FH),A
CALL N2
RET
N2: CALL 9300H
DB 0DH
DW 0C595H
RET
LINE
Registre d'entrée
HL: Coordonnée X de l’origine de la ligne -32768 X ~ 32767 (8000H ~ 7FFFH)
DE: Coordonnée Y de l’origine de la ligne -32768 ~ 32767 (8000H ~ 7FFFH)
IX: Coordonnée X de la fin de la ligne -32768 32767 (8000H ~ 7FFFH)
IY: Coordonnée Y de la fin de la ligne 32767 (8000H ~ 7FFFH)
A: Effacement du point= 0, Affichage du point = 1 ; Inversion du point = 2
B: Ligne = 0, Rectangle=1, Rectangle= 2
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 diagonales début et la fin.
B 』registre tracer une ligne entre 0 [points de début et de fin et à
[B 1 dans le registre de décrire un rectangle en diagonale vers le début et la fin.
registres B en deux, deux et remplir le rectangle avec diagonale représentant le début et la fin.
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.
Notes
BASIC LINE de l'instruction, mais peut être omis de tirer quelques lignes,
Dans ce sous-programme, s'il vous plaît mettez toutes les données de registre d'entrée à chaque fois.
LIN:PUSH AF
LD A,(93CDH) ;┓
CP 0E5H ;┃
JR NZ,S5 ;┃
LD A,0CDH ;┃DETERMINATION DU
JR S6 ;┃MODELE DE G850
S5: LD A,0CBH ;┃
S6: LD (N3+1),A ;┃
LD (N4+1),A ;┃
LD (N5+1),A ;┛
POP AF
LD (7967H),IX
LD (7969H),IY
LD IX,0FFFFH
LD (777DH),IX
LD (777FH),A
LD A,B
CP 1
JR C,P0
JR Z,P1
CALL N5
RET
P0: CALL N3
RET
P1: CALL N4
RET
N3: CALL 9300H
DB 0DH
DW 0C595H
N4: CALL 9300H
DB 0DH
DW 0C442H
N5: CALL 9300H
DB 0DH
DW 0C4CBH
RET
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.
GPR:LD A,(93CDH) ;┓
CP 0E5H ;┃
JR NZ,S7 ;┃DETERMINATION DU
LD A,0CDH ;┃MODELE DE G850
JR S8 ;┃
S7: LD A,0CBH ;┃
S8: LD (N6+1),A ;┛
LD (79DBH),IX
LD (79DDH),IY
L1: XOR A
LD (777FH),A
LD A,(HL)
PUSH BC
PUSH HL
CALL N6
POP HL
INC HL
POP BC
DJNZ L1
RET
N6: CALL 9300H
DB 0EH
DW 0C92EH
RET
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 ;┛
les routines suivantes trouvées sur un site jap
http://orange.kakiko.com/cosmopatrol/more/motto7.html
(changer le codage de la page)
ça va me servir pour mon bench de casse brique en BASIC/C et assembleur sous cette plate forme avec un article à la clef sur l'adaptation d'un programme sous ces trois languages.
La détermination du modèle peut etre viré à partir du moment que vous connaissez le résultat de la condition
par exemple dans POINT le CALL 9300H sera directement remplacé par un CALL 93CBH
j'ai testé POINT ça MARCHE
pensez au USER 200 sous MON avant la compil sinon ça marche pas
POINT
Registre d'entrée
E: X coordonnées 0~ 143 (~ 00H 8FH)
D: Y 0 coordonnées 0~ 47 (00H ~ 2FH)
registre de sortie
A: 1=point allumé, 0=point éteint
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
Un registre contient
POI:LD A,(93CDH) ;┓
CP 0E5H ;┃
JR NZ,S1 ;┃DETERMINATION DU
LD A,0CDH ;┃MODELE DE G850
JR S2 ;┃
S1: LD A,0CBH ;┃
S2: LD (N1+1),A ;┛
LD H,0
LD L,E
LD E,D
LD D,0
CALL N1
AND C
RET Z
LD A,1
RET
N1: CALL 9300H
DB 0EH
DW 0CA08H
RET
PSET / PRESET
Registre d'entrée
E: Coordonné X 0~ 143 (~ 00H 8FH)
D: Coordonné Y 0~ 47 (00H ~ 2FH)
A: Effacement du point= 0, Affichage du point = 1 ; Inversion du point = 2
Commentaire
E coordonner les registres X, Y D registre de mettre les coordonnées [SET 』Puis appelez
Et le point est allumé, et peuvent être effacées.
Un registre des points [0 』off vous
[1 dans le registre un solide point de la
Un certain nombre de deux registres seront mis en évidence à la dot.
SET:PUSH AF
LD A,(93CDH) ;┓
CP 0E5H ;┃
JR NZ,S3 ;┃DETERMINATION DU
LD A,0CDH ;┃MODELE DE G850
JR S4 ;┃
S3: LD A,0CBH ;┃
S4: LD (N2+1),A ;┛
POP AF
LD H,0
LD L,E
LD E,D
LD D,0
LD (7967H),HL
LD (7969H),DE
LD IX,0FFFFH
LD (777DH),IX
LD (777FH),A
CALL N2
RET
N2: CALL 9300H
DB 0DH
DW 0C595H
RET
LINE
Registre d'entrée
HL: Coordonnée X de l’origine de la ligne -32768 X ~ 32767 (8000H ~ 7FFFH)
DE: Coordonnée Y de l’origine de la ligne -32768 ~ 32767 (8000H ~ 7FFFH)
IX: Coordonnée X de la fin de la ligne -32768 32767 (8000H ~ 7FFFH)
IY: Coordonnée Y de la fin de la ligne 32767 (8000H ~ 7FFFH)
A: Effacement du point= 0, Affichage du point = 1 ; Inversion du point = 2
B: Ligne = 0, Rectangle=1, Rectangle= 2
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 diagonales début et la fin.
B 』registre tracer une ligne entre 0 [points de début et de fin et à
[B 1 dans le registre de décrire un rectangle en diagonale vers le début et la fin.
registres B en deux, deux et remplir le rectangle avec diagonale représentant le début et la fin.
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.
Notes
BASIC LINE de l'instruction, mais peut être omis de tirer quelques lignes,
Dans ce sous-programme, s'il vous plaît mettez toutes les données de registre d'entrée à chaque fois.
LIN:PUSH AF
LD A,(93CDH) ;┓
CP 0E5H ;┃
JR NZ,S5 ;┃
LD A,0CDH ;┃DETERMINATION DU
JR S6 ;┃MODELE DE G850
S5: LD A,0CBH ;┃
S6: LD (N3+1),A ;┃
LD (N4+1),A ;┃
LD (N5+1),A ;┛
POP AF
LD (7967H),IX
LD (7969H),IY
LD IX,0FFFFH
LD (777DH),IX
LD (777FH),A
LD A,B
CP 1
JR C,P0
JR Z,P1
CALL N5
RET
P0: CALL N3
RET
P1: CALL N4
RET
N3: CALL 9300H
DB 0DH
DW 0C595H
N4: CALL 9300H
DB 0DH
DW 0C442H
N5: CALL 9300H
DB 0DH
DW 0C4CBH
RET
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.
GPR:LD A,(93CDH) ;┓
CP 0E5H ;┃
JR NZ,S7 ;┃DETERMINATION DU
LD A,0CDH ;┃MODELE DE G850
JR S8 ;┃
S7: LD A,0CBH ;┃
S8: LD (N6+1),A ;┛
LD (79DBH),IX
LD (79DDH),IY
L1: XOR A
LD (777FH),A
LD A,(HL)
PUSH BC
PUSH HL
CALL N6
POP HL
INC HL
POP BC
DJNZ L1
RET
N6: CALL 9300H
DB 0EH
DW 0C92EH
RET
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 ;┛
- charognard
- Fonctionne à 9600 bauds

- Messages : 4411
- Inscription : 06 juin 2007 19:28
- Localisation : Indre et loire
- Contact :
Re: Graphisme en assembleur sur G850
ça interresse quelqu'un au moins ??
ou il n'y a plus que moi en france (voire dans le monde)
ou il n'y a plus que moi en france (voire dans le monde)
- Paul Tergeist
- Fonctionne à 9600 bauds

- Messages : 2417
- Inscription : 15 oct. 2007 15:50
- Localisation : 3ème planète après le soleil
Re: Graphisme en assembleur sur G850
ouaou. Oui ça m'interesse mais à la place des listings j'ai des petits carrés. Il doit manquer une police de caractères à mon firefox,
mais laquelle ?
mais laquelle ?
Il y a 10 catégories de personnes dans le monde. Celle qui connait le binaire et l'autre.
- charognard
- Fonctionne à 9600 bauds

- Messages : 4411
- Inscription : 06 juin 2007 19:28
- Localisation : Indre et loire
- Contact :
Re: Graphisme en assembleur sur G850
Les listings que j'ai mis dans mon premier post, les vois tu ?
pour le site donné en référence, as-tu changé la page de codage ?
genre japonais par exemple
pour le site donné en référence, as-tu changé la page de codage ?
genre japonais par exemple
- zpalm
- Fonctionne à 9600 bauds

- Messages : 2498
- Inscription : 03 mai 2008 15:33
- Localisation : Grenoble
Re: Graphisme en assembleur sur G850
J'ai pas de G850
... par contre je vois bien les listings. Un copier-coller de Firefox dans Word me dit que la police des listing est: MS Mincho.
- charognard
- Fonctionne à 9600 bauds

- Messages : 4411
- Inscription : 06 juin 2007 19:28
- Localisation : Indre et loire
- Contact :
Re: Graphisme en assembleur sur G850
il t'en faut un ... c'est un OP très plaisant
- charognard
- Fonctionne à 9600 bauds

- Messages : 4411
- Inscription : 06 juin 2007 19:28
- Localisation : Indre et loire
- Contact :
Re: Graphisme en assembleur sur G850
il y en a 5 sur ebay aussi mais c'est qu'un V en noir
je ne déserperd cependant pas de la sortie d'un véritable successeur
je ne déserperd cependant pas de la sortie d'un véritable successeur
Re: Graphisme en assembleur sur G850
Moi, ça m'intéresse bien sûr.
Bon, je n'ai pas trop le temps de m'en servir actuellement, mais tout ce que tu pourras mettre à disposition de la communauté nous sera utile !
Bonne continuation,
Chris
Bon, je n'ai pas trop le temps de m'en servir actuellement, mais tout ce que tu pourras mettre à disposition de la communauté nous sera utile !
Bonne continuation,
Chris
HP : 11C 17BII 28S 48SX 50G 71B LX100
Sharp : PC-1403 PC-1600 PC-G850V
TI : TI-74
Sharp : PC-1403 PC-1600 PC-G850V
TI : TI-74
- gege
- Fonctionne à 14400 bauds

- Messages : 7180
- Inscription : 31 janv. 2008 15:24
- Localisation : Banlieue Paârisienne
- Contact :
Re: Graphisme en assembleur sur G850
Au fait Chris, en seras-tu pour les "Pocketicaires" ?
Ok c'est un week-end, mais une fois dans l'année, et une année dans la décennie...
Un chtit neffort ? (Atchaaaa !)
A+ j'espère
G.E.
Ok c'est un week-end, mais une fois dans l'année, et une année dans la décennie...
Un chtit neffort ? (Atchaaaa !)
A+ j'espère
G.E.
- Alainza
- Fonctionne à 300 bauds

- Messages : 158
- Inscription : 19 sept. 2009 06:59
- Localisation : Seattle
Re: Graphisme en assembleur sur G850
euh, non seulement c'est intéressant... mais c'est en plus carrément dangereux tes posts : je sens que je vais finir par craquer sur ebay pour une de ces bestioles....charognard a écrit :ça interresse quelqu'un au moins ??
ou il n'y a plus que moi en france (voire dans le monde)
A+
Alainza
_______________________________________________________________
Tandy PC2, TI 59, Sharp PC G850VS, Apple ][... et bien d'autres
Tandy PC2, TI 59, Sharp PC G850VS, Apple ][... et bien d'autres
- charognard
- Fonctionne à 9600 bauds

- Messages : 4411
- Inscription : 06 juin 2007 19:28
- Localisation : Indre et loire
- Contact :
Re: Graphisme en assembleur sur G850
Alainza a écrit :euh, non seulement c'est intéressant... mais c'est en plus carrément dangereux tes posts : je sens que je vais finir par craquer sur ebay pour une de ces bestioles....charognard a écrit :ça interresse quelqu'un au moins ??
ou il n'y a plus que moi en france (voire dans le monde)
A+
Alainza
merci
n'hésite pas à craquer
-
destroyedlolo
- Fonctionne à 2400 bauds

- Messages : 1880
- Inscription : 03 mai 2003 02:24
- Localisation : Nonglard (Annecy)
- Contact :
Re: Graphisme en assembleur sur G850
De mon cote, je me laisserai bien tente par le cote C.
Je n'ai plus le temps (ni l'envi) d'aprendre un nouvel assembleur ... meme sur les PIC je ne fais que du C.
Je n'ai plus le temps (ni l'envi) d'aprendre un nouvel assembleur ... meme sur les PIC je ne fais que du C.
Amiga, UNIX
Sharp, NetBSD http://destroyedlolo.info/
Apache, PHP 100 % dictionnary free
Vacances, Voyages 1 mispelling by word
Sharp, NetBSD http://destroyedlolo.info/
Apache, PHP 100 % dictionnary free
Vacances, Voyages 1 mispelling by word
Re: Graphisme en assembleur sur G850
Salut Gege,gege a écrit :Au fait Chris, en seras-tu pour les "Pocketicaires" ?
Ok c'est un week-end, mais une fois dans l'année, et une année dans la décennie...
Un chtit neffort ? (Atchaaaa !)
A+ j'espère
G.E.
Il faut que je vérifie ma disponibilité (j'ai vu passer le post en question), je ne voulais pas annoncer ma venue et ne pas tenir ma parole
En même temps, c'est au bout de ma rue
HP : 11C 17BII 28S 48SX 50G 71B LX100
Sharp : PC-1403 PC-1600 PC-G850V
TI : TI-74
Sharp : PC-1403 PC-1600 PC-G850V
TI : TI-74
- Administrateur

- Messages : 5813
- Inscription : 24 mai 2002 16:55
- Localisation : Toulouse
- Contact :
Re: Graphisme en assembleur sur G850
Salut,
Bon, j'ai craqué, j'ai acheté un VS sur la baie.
Un truc marrant, c'est qu'il y a une entrée pour une alimentation sur secteur via un transfo (non fourni).
A+
Bon, j'ai craqué, j'ai acheté un VS sur la baie.
Un truc marrant, c'est qu'il y a une entrée pour une alimentation sur secteur via un transfo (non fourni).
A+









