emulateur 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

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 :

emulateur G850V

Message par charognard » 18 sept. 2009 22:36

un émulateur trouvé sur un site japonais
pas mal pour tester les programmes assembleur
ou le compilateur C
Image
il fonctionne en plus ... je vous laisse chercher :twisted:
Dernière édition par charognard le 19 sept. 2009 01:15, édité 1 fois.

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: emulateur G850V

Message par charognard » 18 sept. 2009 23:34

aller un petit exemple avec le compilateur sous windows (seven en plus)

la bib de base récup sur un site jap

Code : Tout sélectionner

typedef unsigned char BYTE;
typedef unsigned int WORD;

typedef unsigned char COLOR;
#define		WHITE	0
#define		BLACK	1
#define		REVERSE	2


#define		NULL	0

enum Key
{
	SHIFT	= 0x80,
	DOWN	= 0x1f,
	UP		= 0x20,
	LEFT	= 0x21,
	RIGHT	= 0x22,
	SPACE	= 0x1e,
	CLS		= 0x50,
};


void printNum(BYTE x, BYTE y, WORD value);


/*********************************
  •¶Žš—ñŠÖŒW
*********************************/

/*
 * strlen(BYTE *string)
 *  •¶Žš—ñ‚Ì’·‚³‚𑪂é
 */
BYTE strlen(BYTE *string)
{
	BYTE i;
	for(i=0; string[i]; ++i);
	return i;
}


/*********************************
  •\ަŠÖŒW
*********************************/

/*
 * printChr(BYTE x, BYTE y, char c)
 *  Žw’肵‚½À•W‚É•¶Žš—ñ‚ð•\ަ
 */
void printChr(BYTE x, BYTE y, char c)
{
	_asm

	; de <- loc
	ld		e,4(ix)
	ld		d,5(ix)

	; a <- _c
	ld		a,6(ix)

	; •¶Žš‚ð•\ަ‚·‚郋[ƒ`ƒ“
	call	#0xbe62

	_endasm;
}

/*
 * printStr(BYTE x, BYTE y, char *string)
 *  Žw’肵‚½À•W‚É•¶Žš—ñ‚ð•\ަ
 */
void printStr_asm(BYTE len, WORD loc, char *str);
void printStr(BYTE x, BYTE y, char *string)
{
	printStr_asm(strlen(string),x+y*256 ,string);
}
void printStr_asm(BYTE len, WORD loc, char *str)
{
	_asm

	; b <- len
	ld		b,4(ix)

	; de <- loc
	ld		e,5(ix)
	ld		d,6(ix)

	; hl <- str‚Ìpointer
	ld		l,7(ix)
	ld		h,8(ix)

	; •¶Žš‚ð•\ަ‚·‚郋[ƒ`ƒ“
	call	#0xbff1

	_endasm;
}

/*
 * printGra(BYTE x, BYTE y, char *gpattern)
 *  Žw’肵‚½À•W‚ɃOƒ‰ƒtƒBƒbƒN‚ð•\ަ
 */
void printGra_asm(BYTE len, WORD loc, char *gpattern);
void printGra(BYTE x, BYTE y, char *gpattern, int size)
{
	printGra_asm(size, x+y*256, gpattern);
}
void printGra_asm(BYTE len, WORD loc, char *gpattern)
{
	_asm

	; b <- len
	ld		b,4(ix)

	; de <- loc
	ld		e,5(ix)
	ld		d,6(ix)

	; hl <- gpattern‚Ìpointer
	ld		l,7(ix)
	ld		h,8(ix)

	; •¶Žš‚ð•\ަ‚·‚郋[ƒ`ƒ“
	call	#0xbfd0

	_endasm;
}

/*
 * printNum(BYTE x, BYTE y, WORD value)
 *  Žw’肵‚½‰ÓŠ‚ɐ”’l‚ð•\ަ(0~65535‚̐®”)
 */
void printNum(BYTE x, BYTE y, WORD value)
{
	char str[6];
	int i;

	for(i=4; i>=0; i--) {
		str[i] = '0' + value % 10;
		value /= 10;
	}
	str[5] = NULL;

	printStr(x,y,str);
}


/*
 * printHex(BYTE x, BYTE y, WORD value)
 *  Žw’肵‚½‰ÓŠ‚É16i”‚ð•\ަ(0x0000~0xffff‚̐®”)
 */
void printHex(BYTE x, BYTE y, WORD value)
{
	char str[5];
	int i;

	for(i=3; i>=0; i--) {
		str[i] = value % 16;
		str[i] += str[i] < 10 ? '0' : 'A' - 10;
		value /= 16;
	}
	str[4] = NULL;

	printStr(x,y,str);
}

/*
 * clearScreen()
 *  ‰æ–Ê‚ðÁ‹Ž‚·‚é
 */
void clearScreen()
{
	_asm

	ld		a,#0x20
	ld		b,#144
	ld		de,#0
	call	#0xbfee

	_endasm;
}

/*
 * pointSet(WORD x, WORD y, COLOR c)
 *  ƒhƒbƒg‚ð•\ަ‚·‚é
 *  ref: http://orange.kakiko.com/cosmopatrol/more/motto7.html
 */
void pointSet_asm(BYTE x, BYTE y, BYTE c);
void pointSet(WORD x, WORD y, COLOR c)
{
	pointSet_asm((BYTE)x,(BYTE)y,c);
}
void pointSet_asm(BYTE x, BYTE y, BYTE c)
{
	_asm

	push	af

	; ‹@Ží”»•Ê
	ld		a,(#0x93cd)
	cp		#0xe5
	jr		nz,_s3
	ld		a,#0xcd
	jr		_s4
_s3:
	ld		a,#0xcb

_s4:
	ld		(_n2+1),a

	pop		af

	; hl <- 00 _x
	; de <- 00 _y
	ld		l,4(ix)
	ld		e,5(ix)
	ld		h,#0
	ld		d,h

	; a <- _c
	ld		a,6(ix)

	ld		(#0x7967),hl
	ld		(#0x7969),de
	ld		iy,#0xffff
	ld		(#0x777d),iy
	ld		(#0x777f),a

	call	_n2
	jr		_n3

	; ‹@Ží”»•ʂŏ‘‚«Š·‚í‚éB
_n2:
	call	#0x93cd
	.db		#0x0d
	.dw		#0xc595

	ret

_n3:

	_endasm;
}


/*********************************
  “ü—ÍŠÖŒW
*********************************/

/*
 * inkeyWait()
 *  ƒL[“ü—͑҂¿
 */
enum Key inkeyWait()
{
	_asm

	call	#0x0bcfd

	; –ß‚è’l hl <- a
	ld		l,a
	ld		h,#0

	_endasm;
}

/*
 * inkey()
 *  ƒŠƒAƒ‹ƒ^ƒCƒ€ƒL[“ü—Í
 */
enum Key inkey()
{
	_asm

	call	#0x0be53

	; –ß‚è’l hl <- a
	ld		l,a
	ld		h,#0

	_endasm;
}


/*********************************
  ‚»‚Ì‘¼
*********************************/

/*
 * wait(int t)
 *  ƒEƒFƒCƒg‚·‚é
 */
void wait(WORD t)
{
	while(t--);
}



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: emulateur G850V

Message par charognard » 18 sept. 2009 23:41

mon main() de test compilé sous SDCC sous windows seven 64bits :twisted:

Code : Tout sélectionner

#include "/z80/lib/lib.c"

void main(void)
{
	long bou;
	int key;
	clearScreen();
	printStr(2,2,"DEBUT");
	do
	{
		key=inkey();
		printNum(2,3,key);
	}
	while(key!=30);
	printStr(2,4,"FIN");

}

et ....
[F4]
Image
[S] et
Image
désignation du fichier [ENTER]
Image
chargement sous l'émulateur
Image
chargement du code machine et execution
Image
Dernière édition par charognard le 02 oct. 2011 23:32, édité 1 fois.

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: emulateur G850V

Message par charognard » 18 sept. 2009 23:50

pour info le programme boucle tant que la touche espace n'est pas appuyée sinon affiche du code de la touche pressée

you like it ?????
Dernière édition par charognard le 19 sept. 2009 01:31, édité 1 fois.

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: emulateur G850V

Message par charognard » 18 sept. 2009 23:51

je mettrais dans mon méga article la procédure compète avec d'autre exemple et des benchs!!

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: emulateur G850V

Message par charognard » 19 sept. 2009 00:25

et en basic ça fonctionne aussi pour peux d'avoir dumpé la rom idoïne !
Image
Image
Dernière édition par charognard le 02 oct. 2011 23:31, édité 1 fois.

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: emulateur G850V

Message par charognard » 19 sept. 2009 00:34

mon source de 5ko en C
emulateur RPN
nickel aussi
ça charge
Image
et ça marche
Image

CA MARCHE, CA MARCHE, CA MARCHE !!!!
bon je vais me pieuter maintenant
Dernière édition par charognard le 02 oct. 2011 23:31, édité 1 fois.

Avatar de l’utilisateur
zpalm
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2498
Inscription : 03 mai 2008 15:33
Localisation : Grenoble

Re: emulateur G850V

Message par zpalm » 19 sept. 2009 00:56

Whaouu! je suis impressionné !!! :o

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: emulateur G850V

Message par charognard » 19 sept. 2009 01:06

zpalm a écrit :Whaouu! je suis impressionné !!! :o
l'émulateur n'est pas de moi mais trouvé sur un site japonais
mon seul mérite c'est de l'utiliser (après avoir dumpé les ROMs, modifié le script de lancement, et traduit quelques truc jap pour comprendre) :roll:
le compilo Z80 n'est pas de moi non plus :(
j'ai seulement passé un peu de temps pour comprendre son fonctionnement, mais ça ouvre des sacrés perspectives


j'essayerai d'ailleur bientot de compiler mon casse brique et le bench à xerxes pour voir

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: emulateur G850V

Message par Paul Tergeist » 19 sept. 2009 11:19

Bon ben ça y est Charo, tu y es arrivé, tu es devenu un savant fou.

Mais qu'est-ce qu'il mange au petit dej le Charo pour être pêchu comme ça ?

Réponse : il utilise un oeuf !
Dernière édition par Paul Tergeist le 19 sept. 2009 11:41, édité 1 fois.
Il y a 10 catégories de personnes dans le monde. Celle qui connait le binaire et l'autre.

Avatar de l’utilisateur
Chris
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 220
Inscription : 20 oct. 2007 19:01

Re: emulateur G850V

Message par Chris » 19 sept. 2009 11:21

Et c'est utilisable par le commun des mortels comme moi ???
HP : 11C 17BII 28S 48SX 50G 71B LX100
Sharp : PC-1403 PC-1600 PC-G850V
TI : TI-74

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: emulateur G850V

Message par Paul Tergeist » 19 sept. 2009 11:22

Chris a écrit :Et c'est utilisable par le commun des mortels comme moi ???
Tout à fait, n'importe quel être humain peut manger un oeuf.
Il y a 10 catégories de personnes dans le monde. Celle qui connait le binaire et l'autre.

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: emulateur G850V

Message par charognard » 19 sept. 2009 13:05

Chris a écrit :Et c'est utilisable par le commun des mortels comme moi ???
oui sans problème je peux faire un package avec toute la config déjà faite pour l'émulateur si beaucoup d'incantations :twisted:
et faire par la suite une explication pour le compilo
mais ça ne sera pas tout de suite pour le compilo, je prefère appronfondir

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: emulateur G850V

Message par Paul Tergeist » 19 sept. 2009 19:33

charognard a écrit :oui sans problème je peux faire un package avec toute la config déjà faite pour l'émulateur si beaucoup d'incantations :twisted:
Par le pouvoir de l'Oeuf je t'implore de nous faire un package.
Tiens je sacrifie même un oeuf ce soir dans le cuiseur d'oeuf.
(super pratique, ça permet de faire cuire un oeuf au micro onde en 1 minute)
Il y a 10 catégories de personnes dans le monde. Celle qui connait le binaire et l'autre.

Avatar de l’utilisateur
jvernet
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7838
Inscription : 24 mai 2002 09:57
Localisation : France 69
Contact :

Re: emulateur G850V

Message par jvernet » 19 sept. 2009 22:18

C'est pas celui là ?

http://www16.ocn.ne.jp/~ver0/pc/index.html

Je n'ai jamais réussi à le faire marcher: mes dump de ROM ne doivent pas être bons.

Tu pourrais me passer les sources et les dump de ROM, que j'en fasse un portage MacOsX ?

g800 est déja compilé pour MacOsX, mais je n'obtiens que le mode monitor. Pour tester, ce'st moyen
"l'ordinateur et l'homme sont les deux opposés les plus intégraux qui existent. L'homme est lent, peu rigoureux et très intuitif. L'ordinateur est super rapide, très rigoureux et complètement con."

Répondre

Revenir vers « Tous les Pockets »