π
<-

Emulateur calculatrice NumWorks (QEMU)

Emulateur calculatrice NumWorks (QEMU)

Unread postby jean-baptiste boric » 08 Apr 2022, 19:14

J'ai passé quelques jours à bidouiller QEMU pour en faire un émulateur de calculatrice NumWorks:

Image

C'est très perfectible et ça n'aura probablement aucun intérêt sauf pour des développeurs. Pour ceux qui souhaitent un émulateur de calculatrices NumWorks grand public style CEmu, je doute très fortement que QEMU soit la réponse ici pour des raisons techniques.

La liste des défauts connus:
  • Seul le tout premier modèle (N0100) est géré.
  • Les boucles de timing en dur d'epsilon vont être très problématiques avec QEMU, qui n'est pas un émulateur cycle-accurate.
  • L'émulation du framebuffer ST7789V est très incomplet. En particulier, la lecture du framebuffer n'est pas implémenté et cela donne des artefacts avec le color blending.
  • L'ADC n'est pas correctement émulé, ce qui fige le firmware très vite. Cela peut être contourné en commentant la lecture du niveau de batterie dans epsilon.
  • Le sleep/wakeup n'est pas implémenté, le firmware se fige après qu'il pense que 30 secondes d'inactivité se sont déroulées.
  • L'émulation de clavier de QEMU se base sur des scancodes (=touches physiques) et j'ai pas trouvé de bonne solution pour mapper le clavier d'une NumWorks.
  • ...

En dehors de tout ça, techniquement ça "fonctionne" et ça fait même des calculs... C'est juste pas envisageable pour des utilisateurs finaux, même en corrigeant tout ce qui est corrigeable.

Pour ceux que ça intéresse, la version expéditive des instructions:
Code: Select all
$ git clone https://github.com/boricj/qemu.git
$ cd qemu
$ git checkout numworks_calculators
$ ./configure --target-list=arm-softmmu
$ ninja -C build
$ ./build/arm-softmmu/qemu-system-arm -M n0100 -kernel ~/Documents/epsilon/output/release/device/n0100/epsilon.elf
Last edited by jean-baptiste boric on 09 Apr 2022, 10:30, edited 1 time in total.
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: Emulateur calculatrice NumWorks (QEMU)

Unread postby Adriweb » 08 Apr 2022, 19:16

Bien joué ! :D

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 78.9%
 
Posts: 14744
Images: 1119
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb


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

Who is online

Users browsing this forum: ClaudeBot [spider] and 2 guests

-
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.
667 utilisateurs:
>618 invités
>42 membres
>7 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)