π
<-

Émulateur NES

Émulateur NES

Unread postby zardam » 18 Aug 2018, 08:04

J'avais commencé le port d'un emulateur NES (nofrendo) sur la NumWorks il y a un certain temps, et j'ai finalement passé un peu de temps pour arriver au stade "utilisable". Le code est assez moche, mais ça fonctionne.

Il manque encore quelques fonctionnalités, principalement la sauvegarde de l'état à la sortie de l'application.

Un tout petit peu plus d'information ici : https://zardam.github.io/post/nofrendo/

User avatar
zardamPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 34.6%
 
Posts: 233
Images: 13
Joined: 11 Oct 2017, 23:39
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Émulateur NES

Unread postby Lionel Debroux » 18 Aug 2018, 08:33

Hu hu. C'est logique, la machine est assez puissante pour tourner ce genre de choses.
Bien joué :)
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.3%
 
Posts: 6865
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: Émulateur NES

Unread postby critor » 18 Aug 2018, 09:56

Merci pour cet énième monument de ta part sur NumWorks.
C'est annoncé : viewtopic.php?t=21765&p=234362#p234362
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48.1%
 
Posts: 41993
Images: 15900
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Émulateur NES

Unread postby jean-baptiste boric » 18 Aug 2018, 10:52

Il vaut mieux utiliser un dépôt séparé pour les applications third-party, ça permet de les composer plus facilement:

https://github.com/boricj/numworks-tic-tac-toe
https://github.com/boricj/numworks-hello-world

Sinon, quel est la raison du remplacement de malloc dans le firmware?
User avatar
jean-baptiste boricPremium
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 5.5%
 
Posts: 379
Joined: 21 Dec 2015, 22:22
Gender: Not specified
Calculator(s):
MyCalcs profile
GitHub: boricj

Re: Émulateur NES

Unread postby zardam » 18 Aug 2018, 13:45

Merci pour la news :)

Le malloc par défaut n'est pas très "efficace", car il ne permet d'allouer que des blocs de la taille d'une puissance de 2. Du coup, pour un firmware compilé avec toutes les applis, une des allocation de l'émulateur échoue. Il est possible d'optimiser coté émulateur, car il fait plusieurs allocations ce qui gâche pas mal d'espace avec l'implémentation par défaut, cela permettrait de se passer du changement de malloc.

L'autre point qui "bloque" pour en faire une application third-party est la nécessité d'avoir un timer. Si https://github.com/numworks/epsilon/pull/626 n'atterrit pas dans le firmware officiel, ce ne doit pas être une très grosse affaire de rapatrier ça dans l'application (il y a déjà du code spécifique au hardware à l'intérieur de toute façon).
User avatar
zardamPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 34.6%
 
Posts: 233
Images: 13
Joined: 11 Oct 2017, 23:39
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Émulateur NES

Unread postby Thom986 » 19 Aug 2018, 13:55

Bravo !
Très impressionnant.
La réalité, c'est ce qui refuse de disparaître quand on cesse d'y croire. - Philip K. Dick
User avatar
Thom986Premium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 56.4%
 
Posts: 358
Joined: 21 Feb 2018, 19:11
Gender: Male
Calculator(s):
MyCalcs profile
GitHub: homeostasie

Re: Émulateur NES

Unread postby zardam » 30 Sep 2018, 13:02

Je déterre un peu le sujet, mais j'ai mis en ligne une page pour uploader facilement le firmware avec l'émulateur. C'est à peu près testé, et dispo ici : https://zardam.github.io/webnofrendo

Le firmware est basé sur la version officielle 1.7.0.
User avatar
zardamPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 34.6%
 
Posts: 233
Images: 13
Joined: 11 Oct 2017, 23:39
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Émulateur NES

Unread postby critor » 30 Sep 2018, 14:08

Super, merci pour avoir fortement facilité la procédure ! :bj:
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48.1%
 
Posts: 41993
Images: 15900
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Émulateur NES

Unread postby critor » 02 Oct 2018, 19:47

Voilà, ton outil révolutionnaire, mettant la recompilation firmware et l'émulation NES à portée de tout-le-monde, a été testé et annoncé :
viewtopic.php?t=21875&p=235656#p235656

Cela m'a permis notamment de tester l'émulateur.

Serait-il stp possible de supprimer la touche
alpha
pour quitter ?
Il n'est pas rare de l'accrocher par erreur en s'échinant sur la croix directionnelle en cours de partie.
Et comme la progression dans le jeu est alors immédiatement perdue, je crains que tu ne reçoives pas que des lettres d'amour... (j'étais au monde 8 de Super Mario Bros 3)

Pour quitter, la touche
clear
suffit, et est moins facile à presser par erreur en cours de partie. :)
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48.1%
 
Posts: 41993
Images: 15900
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Émulateur NES

Unread postby zardam » 04 Oct 2018, 01:50

:)

Ce n'est pas si révolutionnaire que ça, les firmwares sont précompilés, mais effectivement, WebDFU c'est très pratique (ça fonctionne même sous android avec un port OTG :o ).

J'ai fait une petite mise à jour. Maintenant, l'état de l'émulateur est préservé lorsque l’on quitte l'application. Attention, la touche
clear
fait un reset de l'émulateur.

Sinon, j'aime bien le fait que toutes les autres touches fassent quitter l'appli, ça évite de devoir tout essayer quand on ne sait pas (et ça peut être utile en mode "panique" éventuellement :D ).
User avatar
zardamPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 34.6%
 
Posts: 233
Images: 13
Joined: 11 Oct 2017, 23:39
Gender: Not specified
Calculator(s):
MyCalcs profile

Next

Return to Programmation native (C/C++/...)

Who is online

Users browsing this forum: No registered users and 1 guest

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1038 utilisateurs:
>1004 invités
>25 membres
>9 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)