Jump to content
The simFlight Network Forums

Free Custom FSUIPC OffSet List for Prepar3d v5.3


Recommended Posts

Hello, I am using Prepar3d v5.3 and Mobiflight 9.7.1, I want to know where I can get the list of the Free FSUIPC OffSet that I can use, I understand that the range goes from 66C0 to 66FF but I don't understand what the consecutive list would be, it is say 66C0, 66C1, 66C2 or 66A0, 66A1....., I would like to know what is the maximum number of Free OffSets that I can use.

I ask this because there are some free Offsets in which I can store and manipulate LVAR variables, for example in the Offset 0x66C0, but there are other Offsets in which the values generate errors such as Offset 0x66C1 or 0x66D2.

The Objective is to be able to store and manipulate the value of 200 LVAR Variables correctly in Outputs like Led, Stepper, Servos and many others.

Many regards to everybody.

Link to comment
Share on other sites

18 hours ago, javiersan said:

I want to know where I can get the list of the Free FSUIPC OffSet that I can use

All offsets are documented in the FSUIPC Offset Status document. The ones you can use are documented as "Free for general use" in this document.

18 hours ago, javiersan said:

I understand that the range goes from 66C0 to 66FF but I don't understand what the consecutive list would be, it is say 66C0, 66C1, 66C2 or 66A0, 66A1....., I would like to know what is the maximum number of Free OffSets that I can use.

The offset area starting at 66C0 is free for general use and is 64 bytes in size. it is up to you how you use this - you can divide this up as you see fit. Just remember that you need to respect byte boundaries, so if you are storing a 2-byte integer (short), then that needs to be on a 2-byte boundary (i.e. last digit must be 0,2,4,6,8,A,C or E), a 4-byte value (e.g. int) must be on a 4-byte boundary (last digit must be 0,4,8 or C), etc.

18 hours ago, javiersan said:

I would like to know what is the maximum number of Free OffSets that I can use.

There is no maximum - you can use all of the offset areas designated as free for general use. You can also use any offset area allocated to 3rd-party aircraft or utilities that you do not use, e.g. you can use the PMDG offset area starting at 0x6420 (512 bytes) if not using PMDG aircraft or the PMDG data broadcasts.

 

18 hours ago, javiersan said:

I ask this because there are some free Offsets in which I can store and manipulate LVAR variables, for example in the Offset 0x66C0, but there are other Offsets in which the values generate errors such as Offset 0x66C1 or 0x66D2.

The Objective is to be able to store and manipulate the value of 200 LVAR Variables correctly in Outputs like Led, Stepper, Servos and many others.

What do you mean by 'generate errors'? If an lvar value can be stored in a byte (in range 0-255 or -127 - +127) then you can store in consecutive bytes. However, all lvars are, by default, 8 bytes - although you can treat/convert them to byte values (usually for Boolean 0/1) or 4-byte values (for standard integers), but would usually need 8 bytes for  storing floating point values. So the size of the offset would be dependent on the data that it is holding. So, for example, to store 4 lvars that hold integers, you would use (for example) 0x66C0, 0x66C4, 0x66C8 & 0x66CC.

Link to comment
Share on other sites

4 hours ago, John Dowson said:

All offsets are documented in the FSUIPC Offset Status document. The ones you can use are documented as "Free for general use" in this document.

The offset area starting at 66C0 is free for general use and is 64 bytes in size. it is up to you how you use this - you can divide this up as you see fit. Just remember that you need to respect byte boundaries, so if you are storing a 2-byte integer (short), then that needs to be on a 2-byte boundary (i.e. last digit must be 0,2,4,6,8,A,C or E), a 4-byte value (e.g. int) must be on a 4-byte boundary (last digit must be 0,4,8 or C), etc.

There is no maximum - you can use all of the offset areas designated as free for general use. You can also use any offset area allocated to 3rd-party aircraft or utilities that you do not use, e.g. you can use the PMDG offset area starting at 0x6420 (512 bytes) if not using PMDG aircraft or the PMDG data broadcasts.

 

What do you mean by 'generate errors'? If an lvar value can be stored in a byte (in range 0-255 or -127 - +127) then you can store in consecutive bytes. However, all lvars are, by default, 8 bytes - although you can treat/convert them to byte values (usually for Boolean 0/1) or 4-byte values (for standard integers), but would usually need 8 bytes for  storing floating point values. So the size of the offset would be dependent on the data that it is holding. So, for example, to store 4 lvars that hold integers, you would use (for example) 0x66C0, 0x66C4, 0x66C8 & 0x66CCC.

Hi John, I want to thank you for your answer, your answer is very well explained, better impossible. The error was in the bad syntax in my LUA code

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.