π
<-
Chat plein-écran
[^]

[removed]

C, C++, ASM...

Re: Patching 4.4.0.532 CAS to run on Non-CAS

Message non lude critor » 04 Fév 2017, 11:47

parrotgeek1 a écrit:note: it does not show "PP1234567" anymore. I deleted that because it looks bad.

Well, as Excale apparently didn't post on te topic and as in the end you're the one updating Nlaunchy, do as you wish. :)

I prefer to have the string because Nlaunchy is silently blocking OS updates, which is a huge problem for me. (many things which could have been very easy then require me for each calculator to remove the cradle, to hold the complicated non human-friendly maintenance menu keys combo, and the WiFi connectivity won't be available in this context)
If I remember, this was done to prevent exam proctors to quickly reinstall a non-CAS OS before a test. It's something that I've never heard of, and even if it was the case I suppose all calculators failing the OS update would be banned from the test, so this is not helping students at all, they'll then have to take their tests without their calculator.

If hundreds of patches need to be applied for OSes 3.9-4.4, with ControlX this is never going to fit in the small 900-bytes Boot2 4.0.3 current inject space.

And although it's much bigger, I prefer to tell you that the Nlaunchy code size is limited too. You'll start running into strange behaviours once you cross the limit.
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 41.4%
 
Messages: 41455
Images: 14353
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Patching 4.4.0.532 CAS to run on Non-CAS

Message non lude parrotgeek1 » 04 Fév 2017, 11:52

.
Dernière édition par parrotgeek1 le 05 Jan 2021, 19:58, édité 1 fois.
Avatar de l’utilisateur
parrotgeek1Programmeur
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 88%
 
Messages: 745
Inscription: 29 Mar 2016, 01:22
Localisation: This account is no longer used.
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Patching 4.4.0.532 CAS to run on Non-CAS

Message non lude critor » 04 Fév 2017, 12:09

This should be ok for Nlaunchy.

For ControlX even 450 bytes are still going to be problematic as everything has to fit in this 900+ bytes space, an it's already quite full :
- patches for OSes 4.0.0- to run in the nBoot context
- patches to block the Boot2 update on OSes 3.6+
- patches to block the self-destruction on OSes 3.6+ (new in my development build)
- 5 Ndless syscalls for each supported Ndless version
- the Ndless installer code

I think that patching OS 3.6 for HW-S+ hardware is a great idea. ;)
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 41.4%
 
Messages: 41455
Images: 14353
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Patching 4.4.0.532 CAS to run on Non-CAS

Message non lude parrotgeek1 » 04 Fév 2017, 21:28

.
Dernière édition par parrotgeek1 le 05 Jan 2021, 19:58, édité 1 fois.
Avatar de l’utilisateur
parrotgeek1Programmeur
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 88%
 
Messages: 745
Inscription: 29 Mar 2016, 01:22
Localisation: This account is no longer used.
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Patching 4.4.0.532 CAS to run on Non-CAS

Message non lude critor » 04 Fév 2017, 22:45

Assuming you patch your Manuf model ID by your yourself, and know what you're doing, here is some Boot2 patching code for Nlaunchy/ControlX.

It handles most CX Boot2 versions (3.0.0-4.0.3 so far) and all situations :
- CX CAS OS on a CX
- CX OS on a CX CAS
- CM CAS OS on a CX / CX CAS
- CM OS on a CX / CX CAS
- ...

Notice I couldn't find the matching code to patch in CM Boot2 images.

Code: Tout sélectionner
   if(   (modelid==0x0F && asicflags!=1) ||
      (modelid==0x10 && asicflags) ||
      (modelid==0x11 && asicflags!=3) ||
      (modelid==0x12 && asicflags!=2)) {
      uint32_t fakeasic1=0; // CX
      uint32_t fakeasic2=0xE3A04000; // CX
      switch(modelid) {
         case 0x0F: // CX CAS
            fakeasic1=0x00010105;
            fakeasic2=0xE3A04341;
            break;
         case 0x11: // CM CAS
            fakeasic1=0x00000002;
            fakeasic2=0xE3A04323;
            break;
         case 0x12: // CM
            fakeasic1=0x00010107;
            fakeasic2=0xE3A04362;
      }
      if(id==CXB403_49) {
         PATCH_SETB(0x118B8915,0x54);
         PATCH_SETW(0x118B892C,fakeasic2);
         PATCH_SETW(0x118B8930,NOP);
         PATCH_SETW(0x118B8DA0,fakeasic1);
      }
      else if(id==CXB391_34) {
         PATCH_SETB(0x118B8F09,0x54);
         PATCH_SETW(0x118B8F20,fakeasic2);
         PATCH_SETW(0x118B8F24,NOP);
         PATCH_SETW(0x118B9394,fakeasic1);
      }
      else if(id==CXB324_7) {
         PATCH_SETB(0x118B8CC9,0x54);
         PATCH_SETW(0x118B8CE0,fakeasic2);
         PATCH_SETW(0x118B8CE4,NOP);
         PATCH_SETW(0x118B9154,fakeasic1);
      }
      else if(id==CXB310_16) {
         PATCH_SETB(0x118B7CF9,0x54);
         PATCH_SETW(0x118B7D0C,fakeasic2);
         PATCH_SETW(0x118B7D10,NOP);
         PATCH_SETW(0x118B8178,fakeasic1);
      }
      else if(id==CXB302_141) {
         PATCH_SETB(0x118B7EED,0x54);
         PATCH_SETW(0x118B7F04,fakeasic2);
         PATCH_SETW(0x118B7F08,NOP);
         PATCH_SETW(0x118B8378,fakeasic1);
      }
      else if(id==CXB301_131) {
         PATCH_SETB(0x118B7D9D,0x54);
         PATCH_SETW(0x118B7DB4,fakeasic2);
         PATCH_SETW(0x118B7DB8,NOP);
         PATCH_SETW(0x118B8228,fakeasic1);
      }
      else if(id==CXB300_0) {
         PATCH_SETB(0x118BBC91,0x54);
         PATCH_SETW(0x118BBCA8,fakeasic2);
         PATCH_SETW(0x118BBCAC,NOP);
         PATCH_SETW(0x118BC11C,fakeasic1);
      }
   }


Should work as is with all OSes < 3.6.
Should work with patched 3.6 OSes (see previous posts).
With OSes 3.9+, things are much more complicated - won't be enough to make things work.

By the way, nBoot doesn't seem to work properly on CM calculators, although they're using the same 3.0.0.99 Boot1 (but with 32MiB SDRAM instead of 64MiB).
I get the "Unlocked" string in the Boot1 log, but after that nBoot images seem to be freezing/crashing, although they don't use the 2nd SDRAM bank.
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 41.4%
 
Messages: 41455
Images: 14353
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Patching 4.4.0.532 CAS to run on Non-CAS

Message non lude parrotgeek1 » 04 Fév 2017, 23:13

.
Dernière édition par parrotgeek1 le 05 Jan 2021, 19:59, édité 1 fois.
Avatar de l’utilisateur
parrotgeek1Programmeur
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 88%
 
Messages: 745
Inscription: 29 Mar 2016, 01:22
Localisation: This account is no longer used.
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Patching 4.4.0.532 CAS to run on Non-CAS

Message non lude critor » 04 Fév 2017, 23:23

I think Excale told me CM OS patches were commented because of a size limit.

If you make an Nlaunchy version working on both CX and CM calculators, then that's great ! :)

The 4.3/4.4 patches are in the ControlX 4.4 source.



Can you list the current Nlaunchy CX Boot 3.1 patches ? And what they're doing ?
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 41.4%
 
Messages: 41455
Images: 14353
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Patching 4.4.0.532 CAS to run on Non-CAS

Message non lude parrotgeek1 » 04 Fév 2017, 23:44

.
Dernière édition par parrotgeek1 le 05 Jan 2021, 19:59, édité 1 fois.
Avatar de l’utilisateur
parrotgeek1Programmeur
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 88%
 
Messages: 745
Inscription: 29 Mar 2016, 01:22
Localisation: This account is no longer used.
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: Patching 4.4.0.532 CAS to run on Non-CAS

Message non lude critor » 04 Fév 2017, 23:59

If you need to remove some OS patches to save space, like old 1.x/2.x patches, then what's the point in supporting 3.1-3.2 CM OSes ?
Shouldn't 3.1-3.2 CX OSes be enough ?

CX OS 3.0 can be interesting. One of them includes a built-in theme editor.
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 41.4%
 
Messages: 41455
Images: 14353
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Patching 4.4.0.532 CAS to run on Non-CAS

Message non lude parrotgeek1 » 05 Fév 2017, 00:36

.
Dernière édition par parrotgeek1 le 05 Jan 2021, 19:59, édité 1 fois.
Avatar de l’utilisateur
parrotgeek1Programmeur
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 88%
 
Messages: 745
Inscription: 29 Mar 2016, 01:22
Localisation: This account is no longer used.
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

PrécédenteSuivante

Retourner vers Native: Ndless, Linux, ...

Qui est en ligne

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

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
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.
655 utilisateurs:
>642 invités
>8 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)