360

Bon, je viens de tester sur vti (avec Kirby), et j'ai l'impression que lorsqu'on laisse une touche longtemps appuyée, ça bloque l'écran (il se fige, mais le jeu continue de tourner), il suffit qu'on la relache pour que l'écran s'affiche à nouveau.. confus
Enfin, si ça se trouve tu le précise dans ton readme, mais j'avoue que je ne l'ai pas lu en entier...

Je viens de réessayer avec é autres jeux (motocross et castlevania2), mais ça ne marche pas... sad quand je lance tigb, l'écran s'efface, mais il n'affiche rien et plus rien de répond).

361

jackiechan a écrit :
Bon, je viens de tester sur vti (avec Kirby), et j'ai l'impression que lorsqu'on laisse une touche longtemps appuyée, ça bloque l'écran (il se fige, mais le jeu continue de tourner), il suffit qu'on la relache pour que l'écran s'affiche à nouveau.. confus Enfin, si ça se trouve tu le précise dans ton readme, mais j'avoue que je ne l'ai pas lu en entier...


Ouais ça m'arrive moi aussi mais je pense que c'est plutôt VTI qui déconne lorsqu'il est bombardé par les WM_KEYDOWN (les messages qu'envoie windows lorsque l'on appuie sur une touche)
Je viens de réessayer avec é autres jeux (motocross et castlevania2), mais ça ne marche pas... sad quand je lance tigb, l'écran s'efface, mais il n'affiche rien et plus rien de répond).


Certains jeux prennent un temps énorme à démarrer car ils n'éteignent pas l'écrant tout de suite et ils écrivent dans la zone de mémoire de l'écran ce qui force des redraws complets donc je te conseille d'attendre un peut. Et puis certains jeux vont beacoup plus vite que d'autres.

Essaye Tetris, Lemmings, Mario Land (1 et 2), Zelda...

Télécharge aussi la nouvelle version qui vient de sortir dont je parle dans le prochain post:
Boogerman

Bouger, travailler, manger et se reposer, c'est la devise de la tortue!

362

Vous pouvez le télécharger sur http://www.boogersoft.com/projects/tigb/ comme d'hab'.

09/07/2002 - v0.4.2

Cool new stuff wich should take game compatibility close to 100%. Now that
everything seems to be working, I can focus entirely on Dynamic Recompilation.

- Removed unexistant instruction 'debug' from dasm.asm.
- Full support for the Half-Carry flag and the DAA instruction. The Half-Carry
flag is calculated somewhat fast, so the impact on performance is minimal.
- Fixed instruction 'add SP,v8' wich was doing nothing at all. Now Tetris works
flawlessly, and certainly other games will start working as well.
Boogerman

Bouger, travailler, manger et se reposer, c'est la devise de la tortue!

363

m'en vais tester ça tout de suite smile
polite

364

boogerman
a écrit : Certains jeux prennent un temps énorme à démarrer car ils n'éteignent pas l'écrant tout de suite et ils écrivent dans la zone de mémoire de l'écran ce qui force des redraws complets donc je te conseille d'attendre un peut. Et puis certains jeux vont beacoup plus vite que d'autres.


Ok, en effet, au démarrage de certains jeux, parfois ça met un peu de tps...
Mais il y a tjs un jeu (MOTOCROSS MANIACS) que je convertis (32 ko) mais que ne marche pas : l'écran s'efface pdt très longtemps et rien ne s'affiche. Au bout d'un moment, je peux appuyer sur ESC et ça quitte confus.

Et aussi, le fait d'appuyer sur GAUCHE ou BAS (ti-89) fait croller l'écran

365

jackiechan a écrit:
Ok, en effet, au démarrage de certains jeux, parfois ça met un peu de tps...
Mais il y a tjs un jeu (MOTOCROSS MANIACS) que je convertis (32 ko) mais que ne marche pas : l'écran s'efface pdt très longtemps et rien ne s'affiche. Au bout d'un moment, je peux appuyer sur ESC et ça quitte confus.


Cela doit être du au CPU qui est un peu boggé. L'émul ne plante pas, mais comme le jeu déconne, voilà pourquoi tu peux sortir en appuyant sur ESC. Écrire le CPU a été la partie la plus ennuyante de l'émul. J'appelle cela travail de singe (car 'faut éteindre la cervelle et copier comme un idiot), et en géneral on y fait pas mal d'erreurs. Trouver ces erreurs prend beacoup de temps, et c'est un travail horrible dans le débugger (touche MODE).
Et aussi, le fait d'appuyer sur GAUCHE ou BAS (ti-89) fait croller l'écran


Ah bon? T'as quelle version de 89? (moi c'est HW 2, AMS 2.05 et ça marche niquel).

Voilà la matrice que j'ai utilisée:

Keyboard Matrix on the TI 89:
-----------------------------

Row     +-------+-------+-------+-------+-------+-------+-------+-------+
 V  Col>| Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |
+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| Bit 0 | Alpha | Diam. | Shift |  2nd  | Right | Down  | Left  |  Up   |
| Bit 1 |   F5  | Clear |   ^   |   /   |   *   |   -   |   +   | Enter |
| Bit 2 |   F4  |Backspc|   T   |   ,   |   9   |   6   |   3   |  (-)  |
| Bit 3 |   F3  |Catalog|   Z   |   )   |   8   |   5   |   2   |   .   |
| Bit 4 |   F2  |  Mode |   Y   |   (   |   7   |   4   |   1   |   0   |
| Bit 5 |   F1  |  Home |   X   |   =   |   |   |   EE  |  STO  |  Apps |
| Bit 6 |       |       |       |       |       |       |       |  Esc  |
+-------+-------+-------+-------+-------+-------+-------+-------+-------+


Quelqu'un peut confirmer que cette matrice est valable pour toutes les TI-89?
Boogerman

Bouger, travailler, manger et se reposer, c'est la devise de la tortue!

366

Oui, il me smble que ta matrice de clavier est correcte.
Mais il me semble que lorsqu'on ne détourne pas l'AI5 et qu'on utilise les nvg et _rowread, ça bugge au niveau des touches.
Mais je ne suis pas sûr... Et je pense que tu as détourné l'AI5, non ?

367

100% faster, ta routine daffichage background? m'en vais tester ça de suite!!!
avatar
Attention, nouvelle signature #eeek#
https://mastodon.ti-fr.com/@redangel

368

jackiechan a écrit :
Oui, il me smble que ta matrice de clavier est correcte.
Mais il me semble que lorsqu'on ne détourne pas l'AI5 et qu'on utilise les nvg et _rowread, ça bugge au niveau des touches. Mais je ne suis pas sûr... Et je pense que tu as détourné l'AI5, non ?


Si, je detourne tout.

	even
dummyh	rte				;dummy interrupt handler

init	lea	oldint(PC),atmp1	;backup interrupt handlers
	move.l	$64,(atmp1)+
	move.l	$68,(atmp1)+
	move.l	$6c,(atmp1)+
	move.l	$70,(atmp1)+
	move.l	$74,(atmp1)+
	move.l	$78,(atmp1)+
	move.l	$7c,(atmp1)+

	lea.l	dummyh(PC),atmp1	;install our dummy interrupt handlers
	move.l	atmp1,$40064
	move.l	atmp1,$40068
	move.l	atmp1,$4006c
	move.l	atmp1,$40070
	move.l	atmp1,$40074
	move.l	atmp1,$40078
	move.l	atmp1,$4007c


En plus ma routine n'utilise pas les nvg ni les _rowread, elle écrit directement sur $600018:

getcur	move.w	#$fffe,($600018)	;poll the cursor keys
	nop
	nop
	nop
	nop
	clr.w	tmp1
	move.b	($60001B),tmp1


T'as essayé on-calc ou sur VTI?
Boogerman

Bouger, travailler, manger et se reposer, c'est la devise de la tortue!

369

redangel17
a écrit : 100% faster, ta routine daffichage background? m'en vais tester ça de suite!!!


Ouais, mais cela ne veut point dire 100% faster emulation. Cela fait, d'après mes benchmarks, ~25% niveau émulation, mais ça varie fortement selon le jeu...
Boogerman

Bouger, travailler, manger et se reposer, c'est la devise de la tortue!

370

Je viens d'essayer sous vti et le bug ne se manifeste pas. J'ai une ti-89 hw2, ams 2.05, PreOS

371

boogerman a écrit :
Si, je detourne tout.

	even
dummyh	rte				;dummy interrupt handler

init	lea	oldint(PC),atmp1	;backup interrupt handlers
	move.l	$64,(atmp1)+
	move.l	$68,(atmp1)+
	move.l	$6c,(atmp1)+
	move.l	$70,(atmp1)+
	move.l	$74,(atmp1)+
	move.l	$78,(atmp1)+
	move.l	$7c,(atmp1)+

	lea.l	dummyh(PC),atmp1	;install our dummy interrupt handlers
	move.l	atmp1,$40064
	move.l	atmp1,$40068
	move.l	atmp1,$4006c
	move.l	atmp1,$40070
	move.l	atmp1,$40074
	move.l	atmp1,$40078
	move.l	atmp1,$4007c


En plus ma routine n'utilise pas les nvg ni les _rowread, elle écrit directement sur $600018:

getcur	move.w	#$fffe,($600018)	;poll the cursor keys
	nop
	nop
	nop
	nop
	clr.w	tmp1
	move.b	($60001B),tmp1

Détourner l'AI3 n'est pas une bonne idée parce que ça désactive l'horloge de AMS 2.08. Et l'AI3 ne fait rien d'autre que le compte des secondes!
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

372

Et il n'y a pas assez de nops dans ta routine getcur. Il faut 12 minimum (48 cycles), alors que chez toi, il n'y a que 4 nops + un clr.w abs.l (36 cycles en tout). Il te faut donc 4 nops supplémentaires.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

373

Kevin Kofler
a écrit : Détourner l'AI3 n'est pas une bonne idée parce que ça désactive l'horloge de AMS 2.08. Et l'AI3 ne fait rien d'autre que le compte des secondes!


Roger that, c'est enlevé
Boogerman

Bouger, travailler, manger et se reposer, c'est la devise de la tortue!

374

Kevin Kofler a écrit :
Et il n'y a pas assez de nops dans ta routine getcur. Il faut 12 minimum (48 cycles), alors que chez toi, il n'y a que 4 nops + un clr.w abs.l (36 cycles en tout). Il te faut donc 4 nops supplémentaires.


Ok merci.
Boogerman

Bouger, travailler, manger et se reposer, c'est la devise de la tortue!

375

Voilà les fixes:

09/08/2002 - v0.4.3

- Fixed 'dec (hl)' instruction setting the N flag incorrectly
- Improved setting of the H and S flag by unifying them
- Removed disabling of auto-interrupt 3 to prevent disabling the clock in AMS
2.08. Thanks Kevin Kofler for reporting this.
- Fixed timing issue in the keyboard reading routine (added more nops). Thanks
Jackiechan for reporting the bug and Kevin Kofler for signaling the solution.
(This bug had been there since the first version, but since no one - not even
me - had the guts to try the emu in a real calc I never knew about it :^).
Boogerman

Bouger, travailler, manger et se reposer, c'est la devise de la tortue!

376

je viens de me taper la lecture complète et... c'est impressionnant... Faudra que je l'essaie...
Site : http://www.phareaway.com/
Membre du groupe Phare Away et webmaster du site

377

idem smile je viens de tomber sur ce topic et ça a l'air ... époustoufllant !

je pense ne pas trop me mouiller en disant que c'est une petite révolution qui est en train de se passer sur nos TI grâce à toi Boogerman smile
Tekken Punch !!!

Tome 9 de Love Hina dispo le 20 Mai !!!

378

moué enfin bon g essayé zelda l'emulation est (presque) nickel mais bon je suis à 700% sous VTI et je suis à (environ) 2 FPS...

Ou est l'interet ???

Bon bien sur c une prouesse technique ca c sur, mais est il possible d'optimiser le code de 2000% pour qu'un jour cela devienne jouable sur TI ???

379

Aghnar a écrit :
moué enfin bon g essayé zelda l'emulation est (presque) nickel mais bon je suis à 700% sous VTI et je suis à (environ) 2 FPS...

Ou est l'interet ???
Bon bien sur c une prouesse technique ca c sur, mais est il possible d'optimiser le code de 2000% pour qu'un jour cela devienne jouable sur TI ???


On verra bien lorsque j'aurai fini mon moteur de récompilation dynamique. Je pense que ça ira, mais je peux rien garantir...
Boogerman

Bouger, travailler, manger et se reposer, c'est la devise de la tortue!

380

ben bonne chance en tout cas top
Tekken Punch !!!

Tome 9 de Love Hina dispo le 20 Mai !!!

381

c kler qu'il v falloir atendre un peu avant d'avoir des jeu 'jouables' mais en tt cas, c prometteur ...

382

je partage l'avis d'Aghnar.
pencil

383

Bref, si vous auriez à overclocker vos TIs à 30MHz pour jouer décemment, trouveriez vous que cela vaut le coup où pas?
Boogerman

Bouger, travailler, manger et se reposer, c'est la devise de la tortue!

384

la diox à 16MHz min, ça te va ? grin
Site : http://www.phareaway.com/
Membre du groupe Phare Away et webmaster du site

385

ben non, ça vaudrait pas le coup...
mais si ça peut tourner à 30 bien optimisé ça peut tourner à12 je pense
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

386

erf.. sauf que si ça tournait à 30 ça serait deja le resultat d'une intervention divine.. embarrassed
Mais le projet n'en reste pas moins interressant (enfin, je veux dire formateur pour Boogerman)

387

/Me envisage la resintallation de son condo variable grin
Hmm... Garcon ! UN PACK DE KOENIGS SVP !

388

gAndAlf a écrit :
/Me envisage la resintallation de son condo variable grin


Ah bon? tu bricoles comment un condensateur variable? (J'savais pas que ça existait ce truc)
Boogerman

Bouger, travailler, manger et se reposer, c'est la devise de la tortue!

389

voir la rubrique hardware -> (n)overclock
Site : http://www.phareaway.com/
Membre du groupe Phare Away et webmaster du site

390

Bon, j'ai pas beaucoup de temps pour bosser sur TIGB, mais je suis quand même en train de faire un p'tit prog en C qui (lorsqu'il sera terminé) recompilera du z80 en 68k.

Pour l'instant, la seule optimization que je fais c'est de ne pas sauver les flags qui ne seront pas utilisés dans le futur, et d'après ce que j'ai vu, la sauvegarde des flags inutiles prend ~35% du temps de CPU, ce qui n'est déjà pas mal.

Une autre optimization qui est implicite dans la récompilation est la suppréssion de la lecture de l'opcode, le saut vers le handler, et le check du cc à la fin de l'instruction (j'estime qu'en moyenne cela prend un 25% de CPU).

Donc en gros, on dirait que cela promet! Mais bon, on vera bien ce que ça donne...
Boogerman

Bouger, travailler, manger et se reposer, c'est la devise de la tortue!