Skip to content

Commit

Permalink
Merge pull request #67 from Rathmox/models-patch
Browse files Browse the repository at this point in the history
Models patch
  • Loading branch information
Alerymin authored Feb 8, 2024
2 parents a20478d + 67a71b0 commit e63d83d
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 33 deletions.
30 changes: 15 additions & 15 deletions docs/how-does-it-work.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,26 +12,26 @@ You will also learn a bit from the history of the calculator

First, understand that the power button of the calculator only put the it in sleep mode, instead of powering it down completely. The calculator powers on automatically when the battery is connected. The reset button on the back only cuts the power while it's held. When you release it, the calculator powers on.

There are currently 3 models of Numworks calculators: n0100, n0110, n0120.
There are currently 4 models of Numworks calculators: N0100, N0110, N0115, N0120.

The calculator uses a MCU (Microcontroller Unit) made by ST Microelectronics to do all the work.
- The MCU used in n0100 is the [STM32F412](https://www.st.com/en/microcontrollers-microprocessors/stm32f412.html). This one has one storage partition, named "flash" because it's flash memory.
- The MCU used in n0110 is the [STM32F730](https://www.st.com/en/microcontrollers-microprocessors/stm32f730r8.html). This one has 2 flashs. Named "internal" and "external"
- The MCU used in n0120 is the [STM32H725](https://www.st.com/en/microcontrollers-microprocessors/stm32h725-735.html). This one also has 2 flashs, but is also more powerful than n0110's one
- The MCU used in N0100 is the [STM32F412](https://www.st.com/en/microcontrollers-microprocessors/stm32f412.html). This one has one storage partition, named "flash" because it's flash memory.
- The MCU used in N0110 and N0115 is the [STM32F730](https://www.st.com/en/microcontrollers-microprocessors/stm32f730r8.html). This one has 2 flashs. Named "internal" and "external"
- The MCU used in N0120 is the [STM32H725](https://www.st.com/en/microcontrollers-microprocessors/stm32h725-735.html). This one also has 2 flashs, but is also more powerful than N0110's one

So we can make 2 categories:
- n0100: With internal flash only
- n0110 and n0120: With internal and external flash
- N0100: With internal flash only
- N0110, N0115 and N0120: With internal and external flash

:::note

Every calculator, thanks to the MCU, has a recovery mode. It can usually be accessed by holding 6 while the calculator is starting (on n0100 it has to be plugged into a PC when it starts, you don't need to hold 6). It's represented by a black screen with the LED turned on red. But if you try it may not behave like this, we will understand why later.
Every calculator, thanks to the MCU, has a recovery mode. It can usually be accessed by holding 6 while the calculator is starting (on N0100 it has to be plugged into a PC when it starts, you don't need to hold 6). It's represented by a black screen with the LED turned on red. But if you try it may not behave like this, we will understand why later.

:::

### 2 - How is the hardware used ?

With 1 flash, it's easy to understand, everything is in the flash, this is the case on n0100. But with 2 flashs, it's more complicated:
With 1 flash, it's easy to understand, everything is in the flash, this is the case on N0100. But with 2 flashs, it's more complicated:

- The External flash: It contains the firmware, what you usually know about, the interface, the calculation program, and everything you use from this calculator.
- The Internal flash: It contains a small program made to start what is installed in the External flash. It's the first thing run by the calculator, if the internal flash is empty, the calculator can't start, and the LED turns red.
Expand All @@ -43,7 +43,7 @@ The internal flash used to store a simple program that just starts the firmware
Since Epsilon 16, the internal flash now contains a bootloader that is used to lock the calculator.
- **How does it do that ?** It check is the firmware installed is signed by Numworks, if it isn't, the bootloader doesn't start the firmware.
- **Can't the recovery mode help ?** Numworks thought about that, they configured the MCU to prevent writing in the internal flash and they put a message to tell that it's in recovery mode while it acually isn't.
- **Why isn't the n0100 locked ?** The n0100 has only one flash, and may need to be updated. So locking it was stupid as it would prevent updating it without special debugging tools.
- **Why isn't the N0100 locked ?** The N0100 has only one flash, and may need to be updated. So locking it was stupid as it would prevent updating it without special debugging tools.

:::note

Expand Down Expand Up @@ -86,17 +86,17 @@ Numworks patched it by releasing Epsilon 18.2.3.
### 6 - So, what happens when you follow the guide ?

The process in the guide is now easy to understand:
- on n0100 we just start in recovery mode then erase the internal flash
- on n0110 we erase the internal flash, unlock and re-enable the recovery mode to install whatever we want on both flashs
- on N0100 we just start in recovery mode then erase the internal flash
- on N0110 we erase the internal flash, unlock and re-enable the recovery mode to install whatever we want on both flashs

### 7 - Why n0120 can't be unlocked ?
### 7 - Why N0120 can't be unlocked ?

The n0120 is in a particular case:
The N0120 is in a particular case:
It can be unlocked with a hardware modification, but the reason why we don't advertize it in this guide is because there is no Custom OS you can install on it.

The n0120 was released first with Epsilon 16, but a patched version that can't be unlocked with Phi. So there is no n0120 that can currently be unlocked without hardware.
The N0120 was released first with Epsilon 16, but a patched version that can't be unlocked with Phi. So there is no N0120 that can currently be unlocked without hardware.

Also, since Epsilon 16, Numworls stopped giving the drivers for the MCU, these drivers are requiered to create a bootloader. Developers can get them from Epsilon 15 for n0100 and n0110, but for n0120, they just never got released publically (and they can't get extracted from Epsilon), so they need to be developed from scratch which is really hard and long. This is why there is no Custom OS for n0120, and we can't tell you how to unlock it.
Also, since Epsilon 16, Numworks stopped giving the drivers for the MCU, these drivers are requiered to create a bootloader. Developers can get them from Epsilon 15 for N0100 and N0110, but for N0120, they just never got released publically (and they can't get extracted from Epsilon), so they need to be developed from scratch which is really hard and long. This is why there is no Custom OS for N0120, and we can't tell you how to unlock it.

:::note

Expand Down
2 changes: 1 addition & 1 deletion docs/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ If you don't want to deeply modify your calculator, [there are still a few thing
### Model check

1. Turn your calculator around
2. On its back, there should be a little writing, either N0120, N0110 or N0100. This is your model number.
2. On its back, there should be a little writing starting with an "N". This is your model number.
3. If you can't read that:
1. Turn the calculator on
2. Go in the settings app
Expand Down
32 changes: 16 additions & 16 deletions i18n/fr/docusaurus-plugin-content-docs/current/how-does-it-work.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,25 +12,25 @@ Vous allez également en apprendre un peu sur l'histoire de la calculatrice

D'abord, sachez que le bouton Power de la calculatrice ne la met qu'en mode veille, au lieu de l'éteindre complètement. La calculatrice s'allume automatiquement quand la batterie est connectée. Le bouton reset au dos coupe simplement l'alimentation tant qu'il est maintenu. Quand vous le relachez, la calculatrice s'allume.

Il y a actuellement 4 modèles de calculatrice Numworks: n0100, n0110, n0115, n0120.
Il y a actuellement 4 modèles de calculatrice Numworks: N0100, N0110, N0115, N0120.

La calculatrice utilise un MCU (Microcontroller Unit) fait par STMicroelectronics pour tout faire.
- Le MCU utilisé dans la n0100 est le [STM32F412](https://www.st.com/en/microcontrollers-microprocessors/stm32f412.html). Il a une partition de stockage, nommée "flash" car c'est de la mémoire flash.
- Le MCU utilisé dans les n0110 et n0115 est le [STM32F730](https://www.st.com/en/microcontrollers-microprocessors/stm32f730r8.html). Il a 2 flashs. Nommées "interne" et "externe"
- Le MCU utilisé dans la n0120 est le [STM32H725](https://www.st.com/en/microcontrollers-microprocessors/stm32h725-735.html). Il a également 2 flashs, mais est aussi plus puissant que celui de la n0110
- Le MCU utilisé dans la N0100 est le [STM32F412](https://www.st.com/en/microcontrollers-microprocessors/stm32f412.html). Il a une partition de stockage, nommée "flash" car c'est de la mémoire flash.
- Le MCU utilisé dans les N0110 et N0115 est le [STM32F730](https://www.st.com/en/microcontrollers-microprocessors/stm32f730r8.html). Il a 2 flashs. Nommées "interne" et "externe"
- Le MCU utilisé dans la N0120 est le [STM32H725](https://www.st.com/en/microcontrollers-microprocessors/stm32h725-735.html). Il a également 2 flashs, mais est aussi plus puissant que celui de la N0110

On peut donc faire 2 catégories:
- n0100: Avec flash interne uniquement
- n0110, n0115 et n0120: Avec flash interne et externe
- N0100: Avec flash interne uniquement
- N0110, N0115 et N0120: Avec flash interne et externe

:::info
Toutes les calculatrices, grâce au MCU, ont un mode Recovery. il est habituellement accédé en maintenant 6 pendant que la calculatrice démarre (sur la n0100 il doit être branché à un PC quand il démarre, vous n'avez pas besoin de maintenir 6). il est représenté par un écran noir avec la LED allumée en rouge. Mais si vous essayez, il se peut que cela ne fasse pas ça, nous comprendrons pourquoi après.
Sur n0115, le mode Recovery n'est pas accessible comme ça.
Toutes les calculatrices, grâce au MCU, ont un mode Recovery. il est habituellement accédé en maintenant 6 pendant que la calculatrice démarre (sur la N0100 il doit être branché à un PC quand il démarre, vous n'avez pas besoin de maintenir 6). il est représenté par un écran noir avec la LED allumée en rouge. Mais si vous essayez, il se peut que cela ne fasse pas ça, nous comprendrons pourquoi après.
Sur N0115, le mode Recovery n'est pas accessible comme ça.
:::

### 2 - Comment le matériel est-il utilisé ?

Avec 1 flash, c'est facile de comprendre, tout est dans la flash, c'est le cas sur n0100. Mais avec 2 flashs, c'est plus compliqué:
Avec 1 flash, c'est facile de comprendre, tout est dans la flash, c'est le cas sur N0100. Mais avec 2 flashs, c'est plus compliqué:

- La flash externe: Elle contient le firmware, ce que vous connaissez, l'interface, le programme de calcul, et tout ce que vous utilisez sur cette calculatrice.
- La flash interne: Elle contient un petit programme fait pour démarrer ce qui est installé sur la flash externe. C'est la première chose exécutée par la calculatrice, si la flash interne est vide, la calculatrice ne peut pas démarrer, et la LED devient rouge.
Expand All @@ -42,7 +42,7 @@ La flash interne est utilisée pour stocker un programme simple qui lance simple
Depuis Epsilon 16, la flash interne contient un bootloader utilisé pour bloquer la calculatrice.
- **Comment c'est possible ?** Il vérifie que le firmware est signé par Numworks, s'il ne l'est pas, le bootloader ne lance pas le firmware.
- **Le mode Recovery ne peut pas aider ?** Numworks y a pensé, ils ont configuré le MCU pour empêcher d'écrire dans la flash interne et ils ont mit un message pour dire qu'elle est en mode Recovery alors qu'en réalité, elle ne l'est pas.
- **Pourquoi la n0100 n'est-elle pas bloquée ?** La n0100 n'a qu'une seule flash, et elle pourrait avoir besoin d'être mise à jour. Donc bloquer serait une mauvaise idée car ça empêcherait de mettre à jour sans des outils de déboguage spécifiques.
- **Pourquoi la N0100 n'est-elle pas bloquée ?** La N0100 n'a qu'une seule flash, et elle pourrait avoir besoin d'être mise à jour. Donc bloquer serait une mauvaise idée car ça empêcherait de mettre à jour sans des outils de déboguage spécifiques.

:::info
Maintenant que l'on sait comment Numworks utilise la calcuatrice, découvrons comment les firmwares custom l'utilisent.
Expand Down Expand Up @@ -79,16 +79,16 @@ Numworks a réglé ce bug en publiant Epsilon 18.2.3.
### 6 - Donc, que se passe-t-il quand vous suivez le guide ?

Le processus dans le guide est maintenant facile à comprendre:
- sur n0100, on lance simplement le mode Recovery et on écrase la flash interne
- sur n0110, on écrase la flash interne, débloque et réactive le mode Recovery pour installer ce que l'on veut sur les 2 flashs
- sur N0100, on lance simplement le mode Recovery et on écrase la flash interne
- sur N0110, on écrase la flash interne, débloque et réactive le mode Recovery pour installer ce que l'on veut sur les 2 flashs

### 7 - Pourquoi la n0120 ne peut pas être débloquée ?
### 7 - Pourquoi la N0120 ne peut pas être débloquée ?

La n0120 est dans un cas particulier:
La N0120 est dans un cas particulier:
Elle peut être débloquée avec des modifications matérielles, mais la raison pour laquelle on ne dit pas comment le faire dans ce guide c'est car il n'y a aucun OS Custom que vous pouvez installer dessus.
La n0120 a été publiée en premier avec Epsilon 16, mais une version patchés qui ne peut pas être débloquée avec Phi. Donc il n'y a aucune n0120 qui peut être débloquée sans matériel.
La N0120 a été publiée en premier avec Epsilon 16, mais une version patchés qui ne peut pas être débloquée avec Phi. Donc il n'y a aucune N0120 qui peut être débloquée sans matériel.

Aussi, depuis Epsilon 16, Numworks a arrêté de donner les drivers pour le MCU, ces drivers sont nécessaires pour créer le bootloader. Les Développeurs peuvent les récupérer depuis Epsilon 15 pour n0100 et n0110, mais pour n0120, ils n'ont jamais été publiés (et ne peuvent pas être extraits d'Epsilon), donc ils doivent être développés depuis zéro ce qui est difficile et long. C'est pourquoi il n'y a pas de OS Custom pour n0120, et qu'on ne peut pas vous dire comment la débloquer
Aussi, depuis Epsilon 16, Numworks a arrêté de donner les drivers pour le MCU, ces drivers sont nécessaires pour créer le bootloader. Les Développeurs peuvent les récupérer depuis Epsilon 15 pour N0100 et N0110, mais pour N0120, ils n'ont jamais été publiés (et ne peuvent pas être extraits d'Epsilon), donc ils doivent être développés depuis zéro ce qui est difficile et long. C'est pourquoi il n'y a pas de OS Custom pour N0120, et qu'on ne peut pas vous dire comment la débloquer

:::info
Maintenant vous comprenez tout sur comment le débloquage de calculatrice fonctionne.
Expand Down
2 changes: 1 addition & 1 deletion i18n/fr/docusaurus-plugin-content-docs/current/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Si vous ne voulez pas profondément modifier votre calculatrice, [il y a toujour
#### Vérification du modèle

1. Retournez votre calculatrice.
2. Sur son dos, il devrait y avoir une petite écriture, commençant par un `N`. Ceci est votre numéro de modèle.
2. Sur son dos, il devrait y avoir une petite écriture commençant par un `N`. Ceci est votre numéro de modèle.
3. Si vous n'arrivez pas à lire cela :
1. Allumez la calculatrice
2. Allez dans l'application des paramètres
Expand Down

0 comments on commit e63d83d

Please sign in to comment.