π
<-

[removed]

C, C++, ASM...

Re: Patching 4.4.0.532 CAS to run on Non-CAS

Unread postby critor » 04 Feb 2017, 11:47

parrotgeek1 wrote: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
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Patching 4.4.0.532 CAS to run on Non-CAS

Unread postby parrotgeek1 » 04 Feb 2017, 11:52

.
Last edited by parrotgeek1 on 05 Jan 2021, 19:58, edited 1 time in total.
User avatar
parrotgeek1Programmeur
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 88.2%
 
Posts: 748
Joined: 29 Mar 2016, 01:22
Location: This account is no longer used.
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Patching 4.4.0.532 CAS to run on Non-CAS

Unread postby critor » 04 Feb 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
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Patching 4.4.0.532 CAS to run on Non-CAS

Unread postby parrotgeek1 » 04 Feb 2017, 21:28

.
Last edited by parrotgeek1 on 05 Jan 2021, 19:58, edited 1 time in total.
User avatar
parrotgeek1Programmeur
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 88.2%
 
Posts: 748
Joined: 29 Mar 2016, 01:22
Location: This account is no longer used.
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Patching 4.4.0.532 CAS to run on Non-CAS

Unread postby critor » 04 Feb 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: Select all
   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
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Patching 4.4.0.532 CAS to run on Non-CAS

Unread postby parrotgeek1 » 04 Feb 2017, 23:13

.
Last edited by parrotgeek1 on 05 Jan 2021, 19:59, edited 1 time in total.
User avatar
parrotgeek1Programmeur
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 88.2%
 
Posts: 748
Joined: 29 Mar 2016, 01:22
Location: This account is no longer used.
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Patching 4.4.0.532 CAS to run on Non-CAS

Unread postby critor » 04 Feb 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
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Patching 4.4.0.532 CAS to run on Non-CAS

Unread postby parrotgeek1 » 04 Feb 2017, 23:44

.
Last edited by parrotgeek1 on 05 Jan 2021, 19:59, edited 1 time in total.
User avatar
parrotgeek1Programmeur
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 88.2%
 
Posts: 748
Joined: 29 Mar 2016, 01:22
Location: This account is no longer used.
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Patching 4.4.0.532 CAS to run on Non-CAS

Unread postby critor » 04 Feb 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
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 48%
 
Posts: 41981
Images: 15887
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Patching 4.4.0.532 CAS to run on Non-CAS

Unread postby parrotgeek1 » 05 Feb 2017, 00:36

.
Last edited by parrotgeek1 on 05 Jan 2021, 19:59, edited 1 time in total.
User avatar
parrotgeek1Programmeur
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 88.2%
 
Posts: 748
Joined: 29 Mar 2016, 01:22
Location: This account is no longer used.
Gender: Not specified
Calculator(s):
MyCalcs profile

PreviousNext

Return to Native: Ndless, Linux, ...

Who is online

Users browsing this forum: ClaudeBot [spider] and 3 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.
783 utilisateurs:
>770 invités
>7 membres
>6 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)