π
<-

Émulateur NES

Émulateur NES

Message non lude zardam » 18 Aoû 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/

Avatar de l’utilisateur
zardamPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Prochain niv.: 34.6%
 
Messages: 233
Images: 13
Inscription: 11 Oct 2017, 23:39
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Émulateur NES

Message non lude Lionel Debroux » 18 Aoû 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.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.2%
 
Messages: 6859
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: Émulateur NES

Message non lude critor » 18 Aoû 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
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 44.1%
 
Messages: 41582
Images: 15112
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Émulateur NES

Message non lude jean-baptiste boric » 18 Aoû 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?
Avatar de l’utilisateur
jean-baptiste boricPremium
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Prochain niv.: 4.5%
 
Messages: 374
Inscription: 21 Déc 2015, 22:22
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
GitHub: boricj

Re: Émulateur NES

Message non lude zardam » 18 Aoû 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).
Avatar de l’utilisateur
zardamPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Prochain niv.: 34.6%
 
Messages: 233
Images: 13
Inscription: 11 Oct 2017, 23:39
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Émulateur NES

Message non lude Thom986 » 19 Aoû 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
Avatar de l’utilisateur
Thom986Premium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Prochain niv.: 52.9%
 
Messages: 353
Inscription: 21 Fév 2018, 19:11
Genre: Homme
Calculatrice(s):
MyCalcs profile
GitHub: homeostasie

Re: Émulateur NES

Message non lude 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.
Avatar de l’utilisateur
zardamPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Prochain niv.: 34.6%
 
Messages: 233
Images: 13
Inscription: 11 Oct 2017, 23:39
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Émulateur NES

Message non lude critor » 30 Sep 2018, 14:08

Super, merci pour avoir fortement facilité la procédure ! :bj:
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 44.1%
 
Messages: 41582
Images: 15112
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Émulateur NES

Message non lude 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
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 44.1%
 
Messages: 41582
Images: 15112
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Émulateur NES

Message non lude 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 ).
Avatar de l’utilisateur
zardamPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Prochain niv.: 34.6%
 
Messages: 233
Images: 13
Inscription: 11 Oct 2017, 23:39
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Suivante

Retourner vers Programmation native (C/C++/...)

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
"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.
Offre de test des nouveautés de rentrée 2024 par Casio. Enseignant(e), reçois gratuitement 1 exemplaire, à ton choix, de la Graph Light ou bien de la Graph Math+
14€ remboursés par Casio sur l'achat de ta calculatrice Graph 35 d'ici le 31 Octobre 2024
10€ remboursés par Casio sur l'achat de ta calculatrice Graph 90+E d'ici le 31 Décembre 2024
10€ remboursés par Casio sur l'achat de ta calculatrice Graph 25 d'ici le 31 Décembre 2024
8€ remboursés par Casio sur l'achat de ta calculatrice Graph Math+ d'ici le 31 Octobre 2024
Reprise de ton ancienne fx-92 Collège ou Graph 25/35/90 à 3€ peu importe son état. Même non fonctionnelle et donc invendable, même ancienne Graph 35 non conforme aux programmes (pas de Python), même ancienne Graph 25/35 inutilisable aux examens (pas de mode examen) et donc invendable. Etiquette de retour fournie, pas de frais de port à payer.
3€ remboursés par Casio sur l'achat de ta calculatrice fx-92 Collège d'ici le 30 Septembre 2024
5€ de remise immédiate sur l'achat de ta calculatrice TI-83 Premium CE Edition Python chez les revendeurs partenaires
4€ de remise immédiate sur l'achat de ta calculatrice TI-82 Advanced Edition Python chez les revendeurs partenaires
3€ de remise immédiate sur l'achat de ta calculatrice TI-82 Advanced chez les revendeurs partenaires
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234567891011121314
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1113 utilisateurs:
>1050 invités
>58 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)