π
<-
Chat plein-écran
[^]

É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: 19.7%
 
Posts: 196
Images: 13
Joined: 11 Oct 2017, 23:39
Gender: Not specified
Calculator(s):

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 DebrouxModo.G
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 5%
 
Posts: 6375
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
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 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Level up: 96.8%
 
Posts: 33362
Images: 8672
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

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 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 40.8%
 
Posts: 273
Joined: 21 Dec 2015, 22:22
Gender: Not specified
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: 19.7%
 
Posts: 196
Images: 13
Joined: 11 Oct 2017, 23:39
Gender: Not specified
Calculator(s):

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 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 62.9%
 
Posts: 178
Joined: 21 Feb 2018, 19:11
Gender: Male
Calculator(s):
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: 19.7%
 
Posts: 196
Images: 13
Joined: 11 Oct 2017, 23:39
Gender: Not specified
Calculator(s):

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 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Level up: 96.8%
 
Posts: 33362
Images: 8672
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

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 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Level up: 96.8%
 
Posts: 33362
Images: 8672
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

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: 19.7%
 
Posts: 196
Images: 13
Joined: 11 Oct 2017, 23:39
Gender: Not specified
Calculator(s):

Next

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

Who is online

Users browsing this forum: No registered users and 1 guest

-
Search
-
Featured topics
Concours TI-Planet-Casio de rentrée 2019. 3 défis pour plus d'une 15aine de calculatrices graphiques et nombre de goodies sortant de l'ordinaire ! :D
Comparaisons des meilleurs prix pour acheter sa calculatrice !
12
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...

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 
-
Stats.
428 utilisateurs:
>400 invités
>22 membres
>6 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)