π
<-
Chat plein-écran
[^]

Mise à jour NTSC émulateur NES + comparaison performances

Mise à jour NTSC émulateur NES + comparaison performances

Message non lude critor » 14 Oct 2018, 15:33

La sortie vidéo des consoles Nintendo NES utilisait différents formats selon la zone de vente :
  • NTSC
    (60Hz)
    pour l'Amérique du Nord et le Japon
  • PAL
    (50Hz)
    pour l'Europe
Pour ne faire afficher que 50 images par seconde aux consoles européennes,
Nintendo
a tout simplement ralenti la console en utilisant des processeurs de fréquence inférieure.

En conséquence, les mêmes jeux sont 20% plus rapides si joués sur une console américaine ou japonaise.



9853L'émulateur
NES
pour
NumWorks
, un portage par de
nofrendo
, ne gérait initialement que le mode
PAL
, ce qui donnait une émulation nettement plus lente que sur les modèles concurrents
TI-Nspire
.

Dans la nouvelle version de son émulateur et du convertisseur en ligne
webnofrendo
associé,
zardam
te donne le choix du format vidéo à cibler :
PAL
ou
NTSC
. :bj:
Choisis donc
PAL
pour une expérience de jeu
oklm
, ou
NTSC
si tu as l'âme d'un champion international ! :bj:



Profitons-en pour comparer maintenant équitablement les performances d'émulation
NES
de nos calculatrices.

La
Graph 90+E
ne sera hélas pas incluse dans ce test, parce que son émulateur
NES
n'a pas bougé depuis un an, qu'aucune version compilée n'en a jamais été disponible, que nous n'avons pas réussi à le compiler même en demandant de l'aide sur
Planète Casio
, et que l'auteur n'a pas davantage répondu à un courriel demandant un binaire de démo/test en 2017. :'(



  1. La
    NumWorks
    (processeur
    ARMv7
    à
    100MHz
    )
    et la
    TI-Nspire
    monochrome
    (processeur
    ARMv5
    à
    120MHz
    )
    sont les premières à terminer l'intro de
    Ninja Gaiden
    en
    1min29
    . :bj:
  2. Elles sont suivies de peu par la génération de
    TI-Nspire CX
    avec processeur
    ARMv5
    à
    132MHz
    , en
    1min31
    . :bj:
  3. Et la
    TI-Nspire CX CR4+
    malgré son processeur
    ARMv5
    plus rapide à
    156MHz
    , se traîne lamentablement pendant
    2min00
    . :mj:

Voyons maintenant si les
TI-Nspire
peuvent rattraper leur retard avec un peu d'
overclocking
:

  1. La
    TI-Nspire
    monochrome avec son processeur
    ARMv5
    monté à son maximum de
    150MHz
    est mainenant seule à terminer l'intro en
    1min28
    . :bj:
  2. La
    NumWorks
    , toujours avec sonprocesseur
    ARMv7
    à
    100MHz
    , met donc encore
    1min29
    . :bj:
  3. Sur la représentante de la génération
    TI-Nspire CX
    à
    132MHz
    ,
    Nover
    a détecté et enregistré une configuration d'
    overclocking
    stable à
    252MHz
    qui ne met plus que
    1min30
    ! :bj:
  4. La seule représentante de la génération
    TI-Nspire CX CR4+
    à
    156MHz
    dont nous disposons pour les tests s'
    overclocke
    assez mal en comparaison,
    Nover
    ayant abandonné l'accélération à seulement
    216MHz
    , ce qui prend donc encore une éternité de
    1min56
    . :mj:

Apparemment, mieux vaut acheter sa
TI-Nspire CX
d'occasion.
A quand l'overclocking sur
NumWorks
par contre ? ;)




Lien NumWorks
:
convertisseur en ligne de
ROM NES


Téléchargements Nspire
:
Ressources Nspire
:
Image
Avatar de l’utilisateur
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Prochain niv.: 80.9%
 
Messages: 31314
Images: 7438
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
Classe: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Re: Mise à jour NTSC émulateur NES + comparaison performance

Message non lude jean-baptiste boric » 14 Oct 2018, 17:28

critor a écrit:A quand l'overclocking sur
NumWorks
par contre ? ;)

Selon les datasheets officielles, le STM32F412 est déjà quasiment au maximum dans tous les domaines d'horloges (96 MHz actuels/100 MHz maximum nominal). On peut toujours essayer de changer les facteurs du PLL ainsi que les waitstates de la Flash (sachant qu'on ne peut pas espérer gratter plus avec de l'overvolting sans changer le régulateur de tension, fixé à 2,8 V).

Si on se réfère aux datasheets (et les principales limites officielles):
  • f(VCO clock) = f(PLL clock input) × (PLLN / PLLM),
    50 <= PLLN <= 432, 100 <= f(VCO clock) <= 432, 2 <= PLLM <= 63
  • f(PLL general clock output) = f(VCO clock) / PLLP,
    PLLP = {2, 4, 6, 8}
  • f(USB clock output) = f(VCO clock) / PLLQ,
    2 <= PLLQ <= 15

Les réglages de NumWorks donnent:
  • f(VCO clock) = 25 MHz × (192 / 25) = 192 MHz
  • f(PLL general clock output) = 192 MHz / 2 = 96 MHz
  • f(USB clock output) = 192 MHz / 4 = 48 MHz
    (doit être à 48 MHz pour que l'USB fonctionne)

Bref, officiellement on est déjà quasiment au taquet et je ne sais pas a priori quelle est la marge de manœuvre dont on dispose.

Sans transition, NumWorks vient de merger du code visant à compresser les glyphes et images avec l'algorithme LZ4. Au delà de l'économie en Flash actuelle (qui pourrait encore augmenter s'ils se mettent à compresser d'autres choses en plus), on pourrait l'appliquer aux ROMs de l'émulateur NES. Il n'y a pas assez de RAM pour faire tenir une ROM décompressée complète, donc ça nécessiterait un mécanisme de paging à la demande+cache LRU pour décompresser à la volée. Avec un peu de chance ça n'impacterait pas trop les performances.
Avatar de l’utilisateur
jean-baptiste boricPremium
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 89.5%
 
Messages: 183
Inscription: 21 Déc 2015, 22:22
Genre: Non spécifié
GitHub: boricj

Re: Mise à jour NTSC émulateur NES + comparaison performance

Message non lude critor » 14 Oct 2018, 17:40

Ah ben merci pour la réponse détaillée et très intéressante une fois de plus. :)
Image
Avatar de l’utilisateur
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Prochain niv.: 80.9%
 
Messages: 31314
Images: 7438
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
Classe: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Re: Mise à jour NTSC émulateur NES + comparaison performance

Message non lude zardam » 14 Oct 2018, 23:36

J'avais testé rapidement l'overclock il y a quelques temps.

En utilisant les valeurs suivantes (dans device.cpp aux alentours de la ligne 266) :
Code: Tout sélectionner
RCC.PLLCFGR()->setPLLQ(5);
RCC.PLLCFGR()->setPLLN(240);

On fait passer le CPU à 120 MHz, tout en conservant l'USB à 48 MHz.

Avec ces réglages, le script Python mandelbrot(10) s'exécute en environ 35 s au lieu de 42 s. On est bien sur hors spécification.

Concernant la compression des ROM, il est très certainement possible de faire quelque chose. La NES utilise un système de bank switching, et on peut donc se baser la dessus pour décompresser uniquement le nécessaire, en espérant que les switch ne soient pas trop pénalisants ni trop fréquents, à voir aussi. Enfin le plus efficace serait d'avoir plus de place, dommage que la flash additionnelle se soit pas "de série"...
Avatar de l’utilisateur
zardamPremium
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 41.4%
 
Messages: 62
Images: 3
Inscription: 11 Oct 2017, 23:39
Genre: Non spécifié
Calculatrice(s):


Retourner vers News NumWorks

Qui est en ligne

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

-
Rechercher
-
Sujets à la une
"NumWorks++": Challenge de modification matérielle pour rajouter une puce de mémoire Flash !
Offre TI-Planet/Jarrety pour avoir la TI-83 Premium CE avec son chargeur pour 79,79€ port inclus !
Offre TI-Planet/Jarrety pour avoir la TI-Nspire CX CAS à seulement 130€ TTC port inclus!
Jailbreake ta TI-Nspire avec Ndless et profite des meilleurs jeux et applications !
Transforme ta TI-Nspire CX en console Game Boy Advance!
12345
-
Donations/Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
PayPal : paiement en ligne sécurisé - secure online payments
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 
-
Stats.
240 utilisateurs:
>208 invités
>26 membres
>6 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)