Jump to content
The simFlight Network Forums

Recommended Posts

Posted

Hi Pete,

I'm having some troubles with FSUIPC registrations.

In the source code in the FSUIPC_Open2 I've added:

FSUIPC_Write(0x8001, strlen(ivapkey)+1, (void*)ivapkey, pdwResult);
FSUIPC_Process(pdwResult);

Where ivapkey is:

const char* ivapkey = "fsint.dll";

Now registration works perfect, but when the aircraft is changed, fsuipc pops up a dialog saying "Program or module not accredited for use with this unregiste"

FSUIPC log details:

********* FSUIPC, Version 3.45 by Pete Dowson *********
Running inside FS2004 (FS9.1 CONTROLS.DLL, FS9.1 WEATHER.DLL)
User Name=""
User Addr=""
FSUIPC not user registered
WIDEFS not user registered, or expired
Module base=61000000
ClassOptions: UIPCMAIN=FF7F, FS98MAIN=FF7F, FS2KMAIN=FF5E
WeatherOptions(Orig)=0000B027[0000B027]
InitDelay: 0 seconds
WeatherReadInterval=4
LogOptions=00000013
LogExtras=1
DebugStatus=0
     9484 System time = 21:30:43
     9484 *VIS* SM: Min=0.00, MaxRny=0.00, MaxOvc=0.00, MaxCld=0.00, MaxClr=0.00, Upper=60.00, FT: LwrAlt=0, UppAlt=25000
     9484 c:\fs2004\
     9484 System time = 21:30:43, FS2004 time = 12:00:00 (00:00Z)
    14766 F:\Documents\Flight Simulator Files\EBBE Sabena.flt
    15047 AIRCRAFT\c172\Cessna172SP.air
    15703 Aircraft="Cessna Skyhawk 172SP Paint2"
    23719 Ready Flags: Ready-To-Fly=N, In Menu=N, In Dlg=N
    23719 Module [M1] identified = "PMDGOptions.DLL"
    23719 Module Access permission set (A)
    23719 Module [M1] "PMDGOptions.DLL" access registration is okay
    23766 Ready Flags: Ready-To-Fly=N, In Menu=N, In Dlg=Y
    31125 Flight saved #1 = "UI generated flight"
    31656 F:\Documents\Flight Simulator Files\UI generated flight.flt
    32156 Clear All Weather requested: external weather discarded
    39078 Ready Flags: Ready-To-Fly=N, In Menu=N, In Dlg=N
    43187 Advanced Weather Interface Enabled
    43187  FS98 Pressure=1013.2 mb
    43187  FS98 Vis: range=150sm, (raw value=15000)
    43437  FS98 Wind0: ground (183ft) to 0ft AGL, dir 0M, vel 0, gust 0, turb 0
    43437  FS98 CurrTemp at PlaneAlt=183: 15C
    52516 >Change:  FS98 Vis: range=150sm, (raw value=15000)
    52516 >Change:  FS98 Dewpoint Control: disabled
    52516 >Change:  FS98 Precip Control: disabled
    52516 >Change:  Pressure=1013.1 mb (Target is 0.0)
    52516 >Change:  surface wind: to alt=3419ft AGL, dir=0T, vel=0.0, gust=0.0, turb=0, shear=0, var=0.0, Flags=0, AMSL=3602
    52516 >Change:  wind layer 0: to alt=6932ft AMSL, dir=270T, vel=20.0, gust=0.0, turb=0, shear=0, var=0.0
    52516 >Change:  wind layer 1: to alt=20055ft AMSL, dir=270T, vel=25.0, gust=0.0, turb=0, shear=0, var=0.0
    52516 >Change:  Visibility[0]: range=unlimited, from=-1106ft, to=8894ft
    52516 >Change:  Cloud[0]: type=1, from 39740ft to 40560ft (+/- 100ft), cover=6, turb=0, topshape=0
    52516 >Change:                      Precip=0, base=-1106ft, rate=1, icing=0
    52516 >Change:  Temperature[0]: alt=370ft, Day=15.5 C, NightVar=3.0 C, DewPt=5.5 C
    52516  Results: Visibility[0]: range=80.5sm (129504m), from=-1106ft, to=8894ft
    52516  Results: FS98 Wind0: ground (183ft) to 3418ft AGL, dir 0M, vel 0, gust 0, turb 0
    52516  Results: FS98 Wind1: 3602ft to 6932ft AMSL, dir=270T, vel 20, gust 0, turb 0
    52516  Results: FS98 Wind2: 6932ft to 20055ft AMSL, dir=270T, vel 25, gust 0, turb 0
    52516  Results: FS98 Vis: range=80sm, (raw value=8047)
    52516  Results: FS98 Cloud1: type=1, from 39740ft to 40561ft (+/- 98ft), cover 6, turb 0, ice 0
    52516  Results: FS98 Temp0: to 183ft, Day 15.5C, NightVar 3.0C
    70344 Ready Flags: Ready-To-Fly=Y, In Menu=N, In Dlg=N
    70344 Traffic File #15 = "scenery\world\scenery\traffic030528"
    70359  Results: FS98 CurrTemp at PlaneAlt=187: 8C
    70641 Traffic File #17 = "addon scenery\belg7000v2.2_patch_3d\scenery\ebty_traffic"
    70812 AP READOUTS: Flags1=00000000, Flags2=00000000
    71375  Results: FS98 CurrTemp at PlaneAlt=187: 12C
    71562 Ready Flags: Ready-To-Fly=Y, In Menu=Y, In Dlg=N
    71562 Ready Flags: Ready-To-Fly=Y, In Menu=Y, In Dlg=Y
    85844 Module [M2] identified = "fsint.dll"
    89109 Module [M2] "fsint.dll" access registration is okay
    89156 NW_DYNAMICS command, setting weather dynamics = 0
    89156 NW_CLEAR weather command received
    90125 Ready Flags: Ready-To-Fly=N, In Menu=Y, In Dlg=Y
    91125 Ready Flags: Ready-To-Fly=Y, In Menu=Y, In Dlg=Y
    91172 Module [M3] identified = "MULTIPLAYER.DLL"
    91969 Ready Flags: Ready-To-Fly=Y, In Menu=N, In Dlg=N
    92141  Results: FS98 CurrTemp at PlaneAlt=187: 14C
    92187 Clearing All Weather
    92250 NWI weather clear actioned
    92250 External weather discarded
    92250 >Change:  surface wind: to alt=2000ft AGL, dir=0T, vel=0.0, gust=0.0, turb=0, shear=0, var=0.0, Flags=0, AMSL=2183
    92250 >Change:  No upper wind layers
    92250 >Change:  Visibility[0]: range=80.0sm (128747m), from=-4921ft, to=15000ft
    92250 >Change:  No cloud layers
    92250  Results: Visibility[0]: range=80.0sm (128748m), from=-4921ft, to=15000ft
    92250  Results: FS98 Wind0: ground (183ft) to 1998ft AGL, dir 0M, vel 0, gust 0, turb 0
    92250  Results: FS98 Wind1: 2181ft to 215009ft AMSL, dir=0T, vel 0, gust 0, turb 0
    92250  Results: FS98 Wind2: 0ft to 0ft AMSL, dir=0T, vel 0, gust 0, turb 0
    92250  Results: FS98 Cloud1: type=0, from 0ft to 0ft (+/- 0ft), cover 0, turb 0, ice 0
    92641  Results: FS98 CurrTemp at PlaneAlt=187: 14C
   107203 Ready Flags: Ready-To-Fly=Y, In Menu=Y, In Dlg=N
   107203 Ready Flags: Ready-To-Fly=Y, In Menu=Y, In Dlg=Y
   109469 Module [M4] identified = "FSUI.DLL"
   110125 Module [M5] identified = "FSUI.DLL"
   110156 Module [M6] identified = "FSUI.DLL"
   111125 Module [M7] identified = "FSUI.DLL"
   111125 Ready Flags: Ready-To-Fly=Y, In Menu=N, In Dlg=N
   112547 AIRCRAFT\Douglas_DC3\Douglas_DC3.air
   112547 Module Access permission pending (2)
   113328 Aircraft="Douglas DC-3 Paint2"
   117172     Illegal read attempt: offset 0E90, size 2 [P0]
   117172Program or module not accredited for use with this unregistered FSUIPC
   120078 ### IPC Message processed in 2922mSecs ###
   120937  Results: FS98 CurrTemp at PlaneAlt=193: 11C
   121406  Results: FS98 CurrTemp at PlaneAlt=193: 13C
   123297 Ready Flags: Ready-To-Fly=Y, In Menu=N, In Dlg=Y
   124250 Flight saved #2 = "Previous flight"
   126016 Ready Flags: Ready-To-Fly=N, In Menu=N, In Dlg=Y
   139281 System time = 21:32:53, FS2004 time = 21:34:14 (20:34Z)
   139281 *** FSUIPC log file being closed
Memory managed: 2 Allocs, 70 Freed
********* FSUIPC Log file closed ****

What am I doing wrong?

Thanks

Posted

What am I doing wrong?

I don't know. This part:

109469 Module [M4] identified = "FSUI.DLL"

110125 Module [M5] identified = "FSUI.DLL"

110156 Module [M6] identified = "FSUI.DLL"

111125 Module [M7] identified = "FSUI.DLL"

Is worrying.

FSUIPC already identified you earlier as Module 2:

85844 Module [M2] identified = "fsint.dll"

89109 Module [M2] "fsint.dll" access registration is okay

but then on subsequent calls it cannot find you at all from the stuff placed on the stack.

Have you changed the library code for Open2? You said:

In the source code in the FSUIPC_Open2 I've added

Why have you done that INSIDE the library code? You should do that when the Open2 call returns successfully!

If you have altered the code I supplied, it is possible that you have mucked up the stack structure which my code prepares so that FSUIPC can identify you easily. Have you also altered other source code for the internal users library? Aren't you using the compiled library I supplied at all?

BTW, whilst you are testing at this level it's a good idea to enable at least IPC write logging.

Pete

Posted

Well to prevent me from forgetting to register it.

I'm quite sure my code added there doesn't interfere with FSUIPC startup code since it was added after all FSUIPC code there. No just to be sure I've moved my code out of there and into my own wrapper (which was added later).

The result was sadly the same :s

Currently doing a new test using the IPC write logging enabled. Will post the log in a few.

Posted

here is the log

********* FSUIPC, Version 3.45 by Pete Dowson *********
Running inside FS2004 (FS9.1 CONTROLS.DLL, FS9.1 WEATHER.DLL)
User Name=""
User Addr=""
FSUIPC not user registered
WIDEFS not user registered, or expired
Module base=61000000
ClassOptions: UIPCMAIN=FF7F, FS98MAIN=FF7F, FS2KMAIN=FF5E
WeatherOptions(Orig)=0000B027[0000B027]
InitDelay: 0 seconds
WeatherReadInterval=4
LogOptions=00000017
LogExtras=1
DebugStatus=0
    11656 System time = 23:21:04
    11656 *VIS* SM: Min=0.00, MaxRny=0.00, MaxOvc=0.00, MaxCld=0.00, MaxClr=0.00, Upper=60.00, FT: LwrAlt=0, UppAlt=25000
    11656 c:\fs2004\
    11672 System time = 23:21:04, FS2004 time = 12:00:00 (00:00Z)
    23047 F:\Documents\Flight Simulator Files\EBBE Sabena.flt
    23344 AIRCRAFT\c172\Cessna172SP.air
    23969 Aircraft="Cessna Skyhawk 172SP Paint2"
    34890 Ready Flags: Ready-To-Fly=N, In Menu=N, In Dlg=N
    34890 Module [M1] identified = "PMDGOptions.DLL"
    34890 Module Access permission set (A)
    34890 WRITE0 [P-1] (failed, read-only!) 330A,   2 bytes: 00 00 
    34890 WRITE0 [P-1]  8001,  28 bytes: 43 4A 4D 34 4B 42 4E 4E 31 52 4C 51 50 4D 44 47 
    34890                           4F 70 74 69 6F 6E 73 2E 44 4C 4C 00 
    34890 Module [M1] "PMDGOptions.DLL" access registration is okay
    34906 Ready Flags: Ready-To-Fly=N, In Menu=N, In Dlg=Y
    42969 Flight saved #1 = "UI generated flight"
    43531 F:\Documents\Flight Simulator Files\UI generated flight.flt
    44047 Clear All Weather requested: external weather discarded
    81078 Ready Flags: Ready-To-Fly=Y, In Menu=N, In Dlg=Y
   146250 Ready Flags: Ready-To-Fly=Y, In Menu=N, In Dlg=N
   146250 Advanced Weather Interface Enabled
   146250 Traffic File #15 = "scenery\world\scenery\traffic030528"
   146359 Traffic File #17 = "addon scenery\belg7000v2.2_patch_3d\scenery\ebty_traffic"
   146390 AP READOUTS: Flags1=00000000, Flags2=00000000
   146406  FS98 Pressure=1013.2 mb
   146406  FS98 Wind0: ground (183ft) to 0ft AGL, dir 0M, vel 0, gust 0, turb 0
   146406  FS98 Vis: range=150sm, (raw value=15000)
   146406  FS98 CurrTemp at PlaneAlt=187: 16C
   147062 >Change:  FS98 Vis: range=150sm, (raw value=15000)
   147062 >Change:  FS98 Dewpoint Control: disabled
   147062 >Change:  FS98 Precip Control: disabled
   147062 >Change:  Pressure=1013.1 mb (Target is 0.0)
   147062 >Change:  surface wind: to alt=3419ft AGL, dir=0T, vel=0.0, gust=0.0, turb=0, shear=0, var=0.0, Flags=0, AMSL=3602
   147062 >Change:  wind layer 0: to alt=6932ft AMSL, dir=270T, vel=20.0, gust=0.0, turb=0, shear=0, var=0.0
   147062 >Change:  wind layer 1: to alt=20055ft AMSL, dir=270T, vel=25.0, gust=0.0, turb=0, shear=0, var=0.0
   147062 >Change:  Visibility[0]: range=unlimited, from=-1106ft, to=8894ft
   147062 >Change:  Cloud[0]: type=1, from 39740ft to 40560ft (+/- 100ft), cover=6, turb=0, topshape=0
   147062 >Change:                      Precip=0, base=-1106ft, rate=1, icing=0
   147062 >Change:  Temperature[0]: alt=370ft, Day=15.5 C, NightVar=3.0 C, DewPt=5.5 C
   147062  Results: Visibility[0]: range=80.5sm (129504m), from=-1106ft, to=8894ft
   147062  Results: FS98 Wind0: ground (183ft) to 3418ft AGL, dir 0M, vel 0, gust 0, turb 0
   147062  Results: FS98 Wind1: 3602ft to 6932ft AMSL, dir=270T, vel 20, gust 0, turb 0
   147062  Results: FS98 Wind2: 6932ft to 20055ft AMSL, dir=270T, vel 25, gust 0, turb 0
   147062  Results: FS98 Vis: range=80sm, (raw value=8047)
   147062  Results: FS98 Cloud1: type=1, from 39740ft to 40561ft (+/- 98ft), cover 6, turb 0, ice 0
   147062  Results: FS98 Temp0: to 183ft, Day 15.5C, NightVar 3.0C
   148953 Ready Flags: Ready-To-Fly=Y, In Menu=Y, In Dlg=N
   148953 Ready Flags: Ready-To-Fly=Y, In Menu=Y, In Dlg=Y
   159687 Module [M2] identified = "fsint.dll"
   159687 WRITE0 [P-2] (failed, read-only!) 330A,   2 bytes: 4C 04 
   159687 WRITE0 [P-2]  8001,  22 bytes: 36 31 44 58 58 4B 56 54 47 44 4E 59 66 73 69 6E 
   159687                           74 2E 64 6C 6C 00 
   159687 Module [M2] "fsint.dll" access registration is okay
   159703 WRITE0  C800,  1024 bytes: 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703 NW_DYNAMICS command, setting weather dynamics = 0
   159703 WRITE0  C800,  1024 bytes: 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703                           00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   159703 NW_CLEAR weather command received
   159719 WRITE0  7B80,   1 bytes: 01 
   159734 WRITE0  7B91,   1 bytes: 01 
   160719 Ready Flags: Ready-To-Fly=N, In Menu=Y, In Dlg=Y
   160719 WRITE0  1F80,  40 bytes: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   160719                           00 00 00 00 00 00 44 55 4D 4D 59 00 00 00 00 00 
   160719                           00 00 00 00 00 00 00 00 
   161219 Ready Flags: Ready-To-Fly=Y, In Menu=Y, In Dlg=Y
   161219 Ready Flags: Ready-To-Fly=Y, In Menu=N, In Dlg=N
   162250 WRITE0  1F80,  40 bytes: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   162250                           00 00 00 00 00 00 44 55 4D 4D 59 00 00 00 00 00 
   162250                           00 00 00 00 00 00 00 00 
   162484 Clearing All Weather
   162531 NWI weather clear actioned
   162531 External weather discarded
   162531 >Change:  surface wind: to alt=2000ft AGL, dir=0T, vel=0.0, gust=0.0, turb=0, shear=0, var=0.0, Flags=0, AMSL=2183
   162531 >Change:  No upper wind layers
   162531 >Change:  Visibility[0]: range=80.0sm (128747m), from=-4921ft, to=15000ft
   162531 >Change:  No cloud layers
   162531  Results: Visibility[0]: range=80.0sm (128748m), from=-4921ft, to=15000ft
   162531  Results: FS98 Wind0: ground (183ft) to 1998ft AGL, dir 0M, vel 0, gust 0, turb 0
   162531  Results: FS98 Wind1: 2181ft to 215009ft AMSL, dir=0T, vel 0, gust 0, turb 0
   162531  Results: FS98 Wind2: 0ft to 0ft AMSL, dir=0T, vel 0, gust 0, turb 0
   162531  Results: FS98 Cloud1: type=0, from 0ft to 0ft (+/- 0ft), cover 0, turb 0, ice 0
   162703 WRITE0  1F80,  40 bytes: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   162703                           00 00 00 00 00 00 44 55 4D 4D 59 00 00 00 00 00 
   162703                           00 00 00 00 00 00 00 00 
   163734 WRITE0  1F80,  40 bytes: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   163734                           00 00 00 00 00 00 44 55 4D 4D 59 00 00 00 00 00 
   163734                           00 00 00 00 00 00 00 00 
   164703 WRITE0  1F80,  40 bytes: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   164703                           00 00 00 00 00 00 44 55 4D 4D 59 00 00 00 00 00 
   164703                           00 00 00 00 00 00 00 00 
   165734 WRITE0  1F80,  40 bytes: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   165734                           00 00 00 00 00 00 44 55 4D 4D 59 00 00 00 00 00 
   165734                           00 00 00 00 00 00 00 00 
   166719 WRITE0  1F80,  40 bytes: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   166719                           00 00 00 00 00 00 44 55 4D 4D 59 00 00 00 00 00 
   166719                           00 00 00 00 00 00 00 00 
   167734 WRITE0  1F80,  40 bytes: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   167734                           00 00 00 00 00 00 44 55 4D 4D 59 00 00 00 00 00 
   167734                           00 00 00 00 00 00 00 00 
   168703 WRITE0  1F80,  40 bytes: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   168703                           00 00 00 00 00 00 44 55 4D 4D 59 00 00 00 00 00 
   168703                           00 00 00 00 00 00 00 00 
   169734 WRITE0  1F80,  40 bytes: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   169734                           00 00 00 00 00 00 44 55 4D 4D 59 00 00 00 00 00 
   169734                           00 00 00 00 00 00 00 00 
   170687 WRITE0  1F80,  40 bytes: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   170687                           00 00 00 00 00 00 44 55 4D 4D 59 00 00 00 00 00 
   170687                           00 00 00 00 00 00 00 00 
   171719 WRITE0  1F80,  40 bytes: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   171719                           00 00 00 00 00 00 44 55 4D 4D 59 00 00 00 00 00 
   171719                           00 00 00 00 00 00 00 00 
   172734 WRITE0  1F80,  40 bytes: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   172734                           00 00 00 00 00 00 44 55 4D 4D 59 00 00 00 00 00 
   172734                           00 00 00 00 00 00 00 00 
   173703 WRITE0  1F80,  40 bytes: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   173703                           00 00 00 00 00 00 44 55 4D 4D 59 00 00 00 00 00 
   173703                           00 00 00 00 00 00 00 00 
   174734 WRITE0  1F80,  40 bytes: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   174734                           00 00 00 00 00 00 44 55 4D 4D 59 00 00 00 00 00 
   174734                           00 00 00 00 00 00 00 00 
   175703 WRITE0  1F80,  40 bytes: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   175703                           00 00 00 00 00 00 44 55 4D 4D 59 00 00 00 00 00 
   175703                           00 00 00 00 00 00 00 00 
   176719 WRITE0  1F80,  40 bytes: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   176719                           00 00 00 00 00 00 44 55 4D 4D 59 00 00 00 00 00 
   176719                           00 00 00 00 00 00 00 00 
   177734 WRITE0  1F80,  40 bytes: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   177734                           00 00 00 00 00 00 44 55 4D 4D 59 00 00 00 00 00 
   177734                           00 00 00 00 00 00 00 00 
   178719 WRITE0  1F80,  40 bytes: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   178719                           00 00 00 00 00 00 44 55 4D 4D 59 00 00 00 00 00 
   178719                           00 00 00 00 00 00 00 00 
   179094 Ready Flags: Ready-To-Fly=Y, In Menu=Y, In Dlg=N
   179094 Ready Flags: Ready-To-Fly=Y, In Menu=Y, In Dlg=Y
   179703 WRITE0  1F80,  40 bytes: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   179703                           00 00 00 00 00 00 44 55 4D 4D 59 00 00 00 00 00 
   179703                           00 00 00 00 00 00 00 00 
   181281 Module [M3] identified = "FSUI.DLL"
   181281 WRITE0 [P-3]  1F80,  40 bytes: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   181281                           00 00 00 00 00 00 44 55 4D 4D 59 00 00 00 00 00 
   181281                           00 00 00 00 00 00 00 00 
   181703 WRITE0  1F80,  40 bytes: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   181703                           00 00 00 00 00 00 44 55 4D 4D 59 00 00 00 00 00 
   181703                           00 00 00 00 00 00 00 00 
   182703 WRITE0  1F80,  40 bytes: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   182703                           00 00 00 00 00 00 44 55 4D 4D 59 00 00 00 00 00 
   182703                           00 00 00 00 00 00 00 00 
   183703 WRITE0  1F80,  40 bytes: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   183703                           00 00 00 00 00 00 44 55 4D 4D 59 00 00 00 00 00 
   183703                           00 00 00 00 00 00 00 00 
   184703 WRITE0  1F80,  40 bytes: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   184703                           00 00 00 00 00 00 44 55 4D 4D 59 00 00 00 00 00 
   184703                           00 00 00 00 00 00 00 00 
   185687 Module [M4] identified = "FSUI.DLL"
   185687 WRITE0 [P-4]  1F80,  40 bytes: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   185687                           00 00 00 00 00 00 44 55 4D 4D 59 00 00 00 00 00 
   185687                           00 00 00 00 00 00 00 00 
   186672 Ready Flags: Ready-To-Fly=Y, In Menu=N, In Dlg=N
   186687 WRITE0 [P-4]  1F80,  40 bytes: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   186687                           00 00 00 00 00 00 44 55 4D 4D 59 00 00 00 00 00 
   186687                           00 00 00 00 00 00 00 00 
   187453 Ready Flags: Ready-To-Fly=Y, In Menu=N, In Dlg=Y
   187719 WRITE0  1F80,  40 bytes: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
   187719                           00 00 00 00 00 00 44 55 4D 4D 59 00 00 00 00 00 
   187719                           00 00 00 00 00 00 00 00 
   187734 Module [M5] identified = "FSUI.DLL"
   188000 AIRCRAFT\b737_400\Boeing737-400.air
   188000 Module Access permission pending (2)
   188609 Aircraft="Boeing 737-400"
   193172     Illegal write attempt: offset 1F80, size 40 [P0]
   193172Program or module not accredited for use with this unregistered FSUIPC
   194125 ### IPC Message processed in 953mSecs ###
   194125     Illegal read attempt: offset 7B91, size 1 [P0]
   194125     Illegal read attempt: offset 0E90, size 2 [P0]
   194125     Illegal write attempt: offset 1F80, size 40 [P0]
   194125     Illegal read attempt: offset 0E92, size 2 [P0]
   194125     Illegal read attempt: offset 7B93, size 1 [P0]
   195172 Ready Flags: Ready-To-Fly=Y, In Menu=N, In Dlg=N
   195187     Illegal read attempt: offset 0E90, size 2 [P0]
   195187     Illegal read attempt: offset 0E92, size 2 [P0]
   195187  Results: FS98 CurrTemp at PlaneAlt=190: 11C
   195203     Illegal read attempt: offset 7B91, size 1 [P0]
   195203     Illegal write attempt: offset 7B91, size 1 [P0]
   195203     Illegal write attempt: offset 1F80, size 40 [P0]
   195203     Illegal read attempt: offset 7B93, size 1 [P0]
   195203     Illegal read attempt: offset 0E90, size 2 [P0]
   195219     Illegal read attempt: offset 0E92, size 2 [P0]
   195219     Illegal read attempt: offset 7B91, size 1 [P0]
   195219     Illegal read attempt: offset 7B93, size 1 [P0]
   195625  Results: FS98 CurrTemp at PlaneAlt=190: 13C
   195703     Illegal write attempt: offset 1F80, size 40 [P0]
   195765     Illegal read attempt: offset 0E90, size 2 [P0]
   195765     Illegal read attempt: offset 0E92, size 2 [P0]
   195765     Illegal read attempt: offset 7B91, size 1 [P0]
   195765     Illegal read attempt: offset 7B93, size 1 [P0]
   196734     Illegal write attempt: offset 1F80, size 40 [P0]
   196734     Illegal read attempt: offset 0E90, size 2 [P0]
   196734     Illegal read attempt: offset 0E92, size 2 [P0]
   196781     Illegal read attempt: offset 7B91, size 1 [P0]
   196781     Illegal read attempt: offset 7B93, size 1 [P0]
   197562  Results: FS98 CurrTemp at PlaneAlt=190: 14C
   197719     Illegal write attempt: offset 1F80, size 40 [P0]
   197719     Illegal read attempt: offset 0E90, size 2 [P0]
   197719     Illegal read attempt: offset 0E92, size 2 [P0]
   197765     Illegal read attempt: offset 7B91, size 1 [P0]
   197765     Illegal read attempt: offset 7B93, size 1 [P0]
   198703     Illegal write attempt: offset 1F80, size 40 [P0]
   198750     Illegal read attempt: offset 0E90, size 2 [P0]
   198750     Illegal read attempt: offset 0E92, size 2 [P0]
   198765     Illegal read attempt: offset 7B91, size 1 [P0]
   198765     Illegal read attempt: offset 7B93, size 1 [P0]
   199719     Illegal write attempt: offset 1F80, size 40 [P0]
   199734     Illegal read attempt: offset 0E90, size 2 [P0]
   199734     Illegal read attempt: offset 0E92, size 2 [P0]
   199781     Illegal read attempt: offset 7B91, size 1 [P0]
   199781     Illegal read attempt: offset 7B93, size 1 [P0]
   200734     Illegal write attempt: offset 1F80, size 40 [P0]
   200734     Illegal read attempt: offset 0E90, size 2 [P0]
   200734     Illegal read attempt: offset 0E92, size 2 [P0]
   200750     Illegal read attempt: offset 7B91, size 1 [P0]
   200750     Illegal read attempt: offset 7B93, size 1 [P0]
   201734     Illegal write attempt: offset 1F80, size 40 [P0]
   201734     Illegal read attempt: offset 0E90, size 2 [P0]
   201734     Illegal read attempt: offset 0E92, size 2 [P0]
   201781     Illegal read attempt: offset 7B91, size 1 [P0]
   201781     Illegal read attempt: offset 7B93, size 1 [P0]
   202719     Illegal write attempt: offset 1F80, size 40 [P0]
   202750     Illegal read attempt: offset 0E90, size 2 [P0]
   202750     Illegal read attempt: offset 0E92, size 2 [P0]
   202750     Illegal read attempt: offset 7B91, size 1 [P0]
   202750     Illegal read attempt: offset 7B93, size 1 [P0]
   203719     Illegal write attempt: offset 1F80, size 40 [P0]
   203719     Illegal read attempt: offset 0E90, size 2 [P0]
   203719     Illegal read attempt: offset 0E92, size 2 [P0]
   203781     Illegal read attempt: offset 7B91, size 1 [P0]
   203781     Illegal read attempt: offset 7B93, size 1 [P0]
   204719     Illegal write attempt: offset 1F80, size 40 [P0]
   204734     Illegal read attempt: offset 0E90, size 2 [P0]
   204734     Illegal read attempt: offset 0E92, size 2 [P0]
   204781     Illegal read attempt: offset 7B91, size 1 [P0]
   204781     Illegal read attempt: offset 7B93, size 1 [P0]
   205703     Illegal write attempt: offset 1F80, size 40 [P0]
   205750     Illegal read attempt: offset 0E90, size 2 [P0]
   205750     Illegal read attempt: offset 0E92, size 2 [P0]
   205750     Illegal read attempt: offset 7B91, size 1 [P0]
   205750     Illegal read attempt: offset 7B93, size 1 [P0]
   206719     Illegal write attempt: offset 1F80, size 40 [P0]
   206719     Illegal read attempt: offset 0E90, size 2 [P0]
   206719     Illegal read attempt: offset 0E92, size 2 [P0]
   206781     Illegal read attempt: offset 7B91, size 1 [P0]
   206781     Illegal read attempt: offset 7B93, size 1 [P0]
   207734     Illegal write attempt: offset 1F80, size 40 [P0]
   207750     Illegal read attempt: offset 0E90, size 2 [P0]
   207750     Illegal read attempt: offset 7B91, size 1 [P0]
   207750     Illegal read attempt: offset 7B93, size 1 [P0]
   207750     Illegal read attempt: offset 0E92, size 2 [P0]
   208719     Illegal write attempt: offset 1F80, size 40 [P0]
   208719     Illegal read attempt: offset 0E90, size 2 [P0]
   208719     Illegal read attempt: offset 0E92, size 2 [P0]
   208781     Illegal read attempt: offset 7B91, size 1 [P0]
   208781     Illegal read attempt: offset 7B93, size 1 [P0]
   209750     Illegal write attempt: offset 1F80, size 40 [P0]
   209750     Illegal read attempt: offset 0E90, size 2 [P0]
   209750     Illegal read attempt: offset 7B91, size 1 [P0]
   209750     Illegal read attempt: offset 7B93, size 1 [P0]
   209750     Illegal read attempt: offset 0E92, size 2 [P0]
   210719     Illegal write attempt: offset 1F80, size 40 [P0]
   210719     Illegal read attempt: offset 0E90, size 2 [P0]
   210719     Illegal read attempt: offset 0E92, size 2 [P0]
   210765     Illegal read attempt: offset 7B91, size 1 [P0]
   210765     Illegal read attempt: offset 7B93, size 1 [P0]
   211750     Illegal write attempt: offset 1F80, size 40 [P0]
   211750     Illegal read attempt: offset 0E90, size 2 [P0]
   211750     Illegal read attempt: offset 7B91, size 1 [P0]
   211750     Illegal read attempt: offset 7B93, size 1 [P0]
   211750     Illegal read attempt: offset 0E92, size 2 [P0]
   212719     Illegal write attempt: offset 1F80, size 40 [P0]
   212719     Illegal read attempt: offset 0E90, size 2 [P0]
   212719     Illegal read attempt: offset 0E92, size 2 [P0]
   212765     Illegal read attempt: offset 7B91, size 1 [P0]
   212765     Illegal read attempt: offset 7B93, size 1 [P0]
   213734     Illegal write attempt: offset 1F80, size 40 [P0]
   213734     Illegal read attempt: offset 0E90, size 2 [P0]
   213734     Illegal read attempt: offset 7B91, size 1 [P0]
   213734     Illegal read attempt: offset 7B93, size 1 [P0]
   213750     Illegal read attempt: offset 0E92, size 2 [P0]
   214703     Illegal write attempt: offset 1F80, size 40 [P0]
   214765     Illegal read attempt: offset 0E90, size 2 [P0]
   214765     Illegal read attempt: offset 0E92, size 2 [P0]
   214765     Illegal read attempt: offset 7B91, size 1 [P0]
   214765     Illegal read attempt: offset 7B93, size 1 [P0]
   215719     Illegal write attempt: offset 1F80, size 40 [P0]
   215734     Illegal read attempt: offset 0E90, size 2 [P0]
   215734     Illegal read attempt: offset 0E92, size 2 [P0]
   215781     Illegal read attempt: offset 7B91, size 1 [P0]
   215781     Illegal read attempt: offset 7B93, size 1 [P0]
   216750     Illegal write attempt: offset 1F80, size 40 [P0]
   216750     Illegal read attempt: offset 0E90, size 2 [P0]
   216750     Illegal read attempt: offset 7B91, size 1 [P0]
   216750     Illegal read attempt: offset 7B93, size 1 [P0]
   216750     Illegal read attempt: offset 0E92, size 2 [P0]
   217719     Illegal write attempt: offset 1F80, size 40 [P0]
   217719     Illegal read attempt: offset 0E90, size 2 [P0]
   217719     Illegal read attempt: offset 0E92, size 2 [P0]
   217765     Illegal read attempt: offset 7B91, size 1 [P0]
   217765     Illegal read attempt: offset 7B93, size 1 [P0]
   218734     Illegal write attempt: offset 1F80, size 40 [P0]
   218734     Illegal read attempt: offset 0E90, size 2 [P0]
   218734     Illegal read attempt: offset 0E92, size 2 [P0]
   218734     Illegal read attempt: offset 7B91, size 1 [P0]
   218734     Illegal read attempt: offset 7B93, size 1 [P0]
   219703     Illegal write attempt: offset 1F80, size 40 [P0]
   219750     Illegal read attempt: offset 0E90, size 2 [P0]
   219750     Illegal read attempt: offset 0E92, size 2 [P0]
   219765     Illegal read attempt: offset 7B91, size 1 [P0]
   219765     Illegal read attempt: offset 7B93, size 1 [P0]
   220719     Illegal write attempt: offset 1F80, size 40 [P0]
   220719     Illegal read attempt: offset 0E90, size 2 [P0]
   220719     Illegal read attempt: offset 0E92, size 2 [P0]
   220781     Illegal read attempt: offset 7B91, size 1 [P0]
   220781     Illegal read attempt: offset 7B93, size 1 [P0]
   221734     Illegal write attempt: offset 1F80, size 40 [P0]
   221750     Illegal read attempt: offset 0E90, size 2 [P0]
   221750     Illegal read attempt: offset 7B91, size 1 [P0]
   221750     Illegal read attempt: offset 7B93, size 1 [P0]
   221750     Illegal read attempt: offset 0E92, size 2 [P0]
   222703     Illegal write attempt: offset 1F80, size 40 [P0]
   222719     Illegal read attempt: offset 0E90, size 2 [P0]
   222719     Illegal read attempt: offset 0E92, size 2 [P0]
   222765     Illegal read attempt: offset 7B91, size 1 [P0]
   222765     Illegal read attempt: offset 7B93, size 1 [P0]
   223734     Illegal write attempt: offset 1F80, size 40 [P0]
   223734     Illegal read attempt: offset 0E90, size 2 [P0]
   223734     Illegal read attempt: offset 7B91, size 1 [P0]
   223734     Illegal read attempt: offset 0E92, size 2 [P0]
   223734     Illegal read attempt: offset 7B93, size 1 [P0]
   224703     Illegal write attempt: offset 1F80, size 40 [P0]
   224750     Illegal read attempt: offset 0E90, size 2 [P0]
   224750     Illegal read attempt: offset 0E92, size 2 [P0]
   224750     Illegal read attempt: offset 7B91, size 1 [P0]
   224750     Illegal read attempt: offset 7B93, size 1 [P0]
   225719     Illegal write attempt: offset 1F80, size 40 [P0]
   225734     Illegal read attempt: offset 0E90, size 2 [P0]
   225734     Illegal read attempt: offset 0E92, size 2 [P0]
   225781     Illegal read attempt: offset 7B91, size 1 [P0]
   225781     Illegal read attempt: offset 7B93, size 1 [P0]
   226687     Illegal write attempt: offset 1F80, size 40 [P0]
   226750     Illegal read attempt: offset 0E90, size 2 [P0]
   226750     Illegal read attempt: offset 0E92, size 2 [P0]
   226750     Illegal read attempt: offset 7B91, size 1 [P0]
   226750     Illegal read attempt: offset 7B93, size 1 [P0]
   227719     Illegal write attempt: offset 1F80, size 40 [P0]
   227719     Illegal read attempt: offset 0E90, size 2 [P0]
   227719     Illegal read attempt: offset 0E92, size 2 [P0]
   227765     Illegal read attempt: offset 7B91, size 1 [P0]
   227765     Illegal read attempt: offset 7B93, size 1 [P0]
   228734     Illegal write attempt: offset 1F80, size 40 [P0]
   228750     Illegal read attempt: offset 0E90, size 2 [P0]
   228750     Illegal read attempt: offset 7B91, size 1 [P0]
   228750     Illegal read attempt: offset 7B93, size 1 [P0]
   228750     Illegal read attempt: offset 0E92, size 2 [P0]
   229703     Illegal write attempt: offset 1F80, size 40 [P0]
   229765     Illegal read attempt: offset 0E90, size 2 [P0]
   229765     Illegal read attempt: offset 0E92, size 2 [P0]
   229765     Illegal read attempt: offset 7B91, size 1 [P0]
   229765     Illegal read attempt: offset 7B93, size 1 [P0]
   230734     Illegal write attempt: offset 1F80, size 40 [P0]
   230734     Illegal read attempt: offset 0E90, size 2 [P0]
   230734     Illegal read attempt: offset 0E92, size 2 [P0]
   230781     Illegal read attempt: offset 7B91, size 1 [P0]
   230781     Illegal read attempt: offset 7B93, size 1 [P0]
   231703     Illegal write attempt: offset 1F80, size 40 [P0]
   231750     Illegal read attempt: offset 0E90, size 2 [P0]
   231750     Illegal read attempt: offset 0E92, size 2 [P0]
   231750     Illegal read attempt: offset 7B91, size 1 [P0]
   231750     Illegal read attempt: offset 7B93, size 1 [P0]
   232719     Illegal write attempt: offset 1F80, size 40 [P0]
   232719     Illegal read attempt: offset 0E90, size 2 [P0]
   232719     Illegal read attempt: offset 0E92, size 2 [P0]
   232781     Illegal read attempt: offset 7B91, size 1 [P0]
   232781     Illegal read attempt: offset 7B93, size 1 [P0]
   233703     Illegal write attempt: offset 1F80, size 40 [P0]
   233750     Illegal read attempt: offset 0E90, size 2 [P0]
   233750     Illegal read attempt: offset 0E92, size 2 [P0]
   233765     Illegal read attempt: offset 7B91, size 1 [P0]
   233765     Illegal read attempt: offset 7B93, size 1 [P0]
   234703     Illegal write attempt: offset 1F80, size 40 [P0]
   234765     Illegal read attempt: offset 0E90, size 2 [P0]
   234765     Illegal read attempt: offset 0E92, size 2 [P0]
   234765     Illegal read attempt: offset 7B91, size 1 [P0]
   234765     Illegal read attempt: offset 7B93, size 1 [P0]
   235687     Illegal write attempt: offset 1F80, size 40 [P0]
   235750     Illegal read attempt: offset 0E90, size 2 [P0]
   235750     Illegal read attempt: offset 0E92, size 2 [P0]
   235750     Illegal read attempt: offset 7B91, size 1 [P0]
   235750     Illegal read attempt: offset 7B93, size 1 [P0]
   236734     Illegal write attempt: offset 1F80, size 40 [P0]
   236750     Illegal read attempt: offset 0E90, size 2 [P0]
   236750     Illegal read attempt: offset 7B91, size 1 [P0]
   236750     Illegal read attempt: offset 7B93, size 1 [P0]
   236875     Illegal read attempt: offset 0E92, size 2 [P0]
   237797     Illegal write attempt: offset 1F80, size 40 [P0]
   237797     Illegal read attempt: offset 0E90, size 2 [P0]
   237797     Illegal read attempt: offset 7B91, size 1 [P0]
   237797     Illegal read attempt: offset 7B93, size 1 [P0]
   237797     Illegal read attempt: offset 0E92, size 2 [P0]
   238828     Illegal write attempt: offset 1F80, size 40 [P0]
   238844     Illegal read attempt: offset 0E90, size 2 [P0]
   238844     Illegal read attempt: offset 7B91, size 1 [P0]
   238844     Illegal read attempt: offset 0E92, size 2 [P0]
   238859     Illegal read attempt: offset 7B93, size 1 [P0]
   239781     Illegal write attempt: offset 1F80, size 40 [P0]
   239844     Illegal read attempt: offset 0E90, size 2 [P0]
   239844     Illegal read attempt: offset 7B91, size 1 [P0]
   239844     Illegal read attempt: offset 0E92, size 2 [P0]
   239969     Illegal read attempt: offset 7B93, size 1 [P0]
   240734     Illegal write attempt: offset 1F80, size 40 [P0]
   240734     Illegal read attempt: offset 0E90, size 2 [P0]
   240734     Illegal read attempt: offset 0E92, size 2 [P0]
   240750     Illegal read attempt: offset 7B91, size 1 [P0]
   240750     Illegal read attempt: offset 7B93, size 1 [P0]
   241734     Illegal write attempt: offset 1F80, size 40 [P0]
   241875     Illegal read attempt: offset 0E90, size 2 [P0]
   241875     Illegal read attempt: offset 7B91, size 1 [P0]
   241875     Illegal read attempt: offset 7B93, size 1 [P0]
   241875     Illegal read attempt: offset 0E92, size 2 [P0]
   242312 Ready Flags: Ready-To-Fly=Y, In Menu=N, In Dlg=Y
   242703     Illegal write attempt: offset 1F80, size 40 [P0]
   242719     Illegal read attempt: offset 0E90, size 2 [P0]
   242719     Illegal read attempt: offset 0E92, size 2 [P0]
   242750     Illegal read attempt: offset 7B91, size 1 [P0]
   242750     Illegal read attempt: offset 7B93, size 1 [P0]
   244062 Flight saved #2 = "Previous flight"
   249312 Ready Flags: Ready-To-Fly=N, In Menu=N, In Dlg=Y
   249328     Illegal write attempt: offset 1F80, size 40 [P0]
   249328     Illegal read attempt: offset 7B91, size 1 [P0]
   249328     Illegal read attempt: offset 0E90, size 2 [P0]
   249328     Illegal read attempt: offset 0E92, size 2 [P0]
   249328     Illegal read attempt: offset 7B93, size 1 [P0]

Posted
here is the log

There are some VERY odd things going on here. And worse, it is getting too confused with all the other things you are running. When debugging modules it is easier if you only have your module to look at.

Could you, for starters, try again, but first:

1. Temporarily remove PMDGoptions.DLL from the FS modules folder.

2. Delete "LogWeather=Yes" from the FSUIPC.INI file.. We don't need all that stuff logged at presenrt. (Is your DLL trying to set weather?).

3. Don't run whatever it is that is writing weather (assuming that isn't your DLL?).

4. Edit the FSUIPC.DLL further by adding these lines to the [General] section:

Debug=Please

LogExtras=2048

This last might replace an existing LogExtras line.

If you like, ZIP up the resulting log together with your DLL itself (and a source extract if you don't mind), and I'll try to work out what is going on. I've not seen such odd results before, and there are plenty of DLLs and Gauges using this interface.

One thing. Is your module running entirely in the main FS thread, or are you using multiple threads? And are you using the very latest module user's library? Or have you extracted the source and 'adapted' it somehow? The correct library is "ModuleUser.lib" dated 10th September 2004.

Regards,

Pete

Posted

What you said about threads made me think... i just made a quick version without threads (thus all functionality in threads disabled) and the problem didn't happen anymore.

So is it possible that the multiple threads causes the problems? Thus that the dll writes to FSUIPC from another DLL during the reload process?

In the wrapper I have around FSUIPC I do all the necessary thread synchronisation to prevent 2 threads writing to FSUIPC at the same time.

Could it be a better solution to redirect all FSUIPC access to one thread?

I'm using the latest moduleuser. Not the ModuleUser.lib though, only the ModuleUser.c and the other source files from the zip. Source code was originally modified for the registration, but is now back the original code of moduleuser.c

Posted
What you said about threads made me think... i just made a quick version without threads (thus all functionality in threads disabled) and the problem didn't happen anymore.

The latest version of the library should work from any thread because it provides the callers address in the first 4 bytes of data when making the call to FSUIPC.

The previous one would only work from the main FS thread. If FSUIPC was called from a different thread, it had no way to identify the caller as the return address would be on a different stack.

Are you sure you are using the latest version?

I'm using the latest moduleuser. Not the ModuleUser.lib though, only the ModuleUser.c and the other source files from the zip. Source code was originally modified for the registration, but is now back the original code of moduleuser.c

Well, the source provided, dated 10th September 2004, is the source for the version which should work okay from threads. The crucial bits of code are:

m_pNext = m_pView + 4; // Allow space for code pointer

in the Open2() part,

__asm
{	push eax
	call next
	next: pop eax
	mov dwError,eax
	pop eax
}
*((DWORD *) m_pView) = dwError;

dwError = SendMessage(m_hWnd, WM_IPCTHREADACCESS, (WPARAM) (m_pNext - m_pView - 4), (LPARAM) m_pView);

m_pNext = m_pView + 4;

in the Process() part -- noting especially the message being "IPCTHREADACCESS", which tells FSUIPC that the caller address in in the first 4 bytes.

If you had these things in place I really don't understand what could have been going wrong.

Didn't you try the Logging with

Debug=Please

LogExtras=2048

set? That would show the stack search if FSUIPC had been doing one. It doesn't do one if the above code is correctly in place.

Regards,

Pete

Posted

Bah I'm asamed :oops:

I always apply the same technique towards users, making sure what they say is really true... And now I'm guilty at not checking good enough myself.

Sorry Pete :oops:

Somehow I was checking the wrong files... and the files that are used were idd an other version... works perfect now.

Posted

Bah, seems it didn't solve the problem :s

Did some other tests, this time with the debug option active you told me.

First a test with IvAp and the problem.

Then a test with PMDG and - to my surprise - the problem happens there too :s

Both tests were conducted if only one 3rd party module was active (thus available in the modules folder of FS), in the first case only IvAp, in the second case only PMDG. For the first test no PMDG aircraft was loaded, only FS default ones, for the second test only FS aircrafts were used besides the PMDG one.

In both logfiles i see stuff like this:

   111266 Stack 10 = 00000000  (BAD)
   111266 Finished on Bad EBP

And after that with an aircraft switch it happens => program not accredited for use.

I'm zipping the logfiles and mailing them to you.

Thx

Posted

First a test with IvAp and the problem.

Then a test with PMDG and - to my surprise - the problem happens there too :s

The PMDG test appears to show an attempt to load the PMDG_737NG_Main.Gau with the aircraft "Beech Baron 58"! There are no other gauges listed as present in the whole list of modules in the FS process -- so I can only assume that, at the time this attempt to access FSUIPC, one of the PMDG gauges had not terimnated correctly, and in fact none of the Baron gauges had even loaded yet.

It's a bit odd as this is a good 1.4 seconds after FSUIPC recorded the access to the Baron AIR file. Possibly aircraft do take a long time to load on your system?

The many other PMDG gauges:

PMDG_ACS

PMDG_737NG_OHD_NAV_SOURCE

PMDG_737NG_Overhead

PMDG_737NG_OHD_PAX_SIGNS.GAU

PMDG_737NG_OHD_ELECTRICAL_DISP.GAU

PMDG_737NG_OHD_WS_HEAT.GAU

PMDG_737NG_OHD_Flight_Controls.GAU

PMDG_737NG_OHD_LIGHTS_LEFT.GAU

PMDG_737NG_OHD_PRESSURIZATION.GAU

PMDG_737NG_OHD_ELECTRICAL.GAU

PMDG_737NG_OHD_ENGINE_STARTERS.GAU

PMDG_737NG_OHD_HYDRAULIC.GAU

PMDG_737NG_OHD_PNEUMATIC.GAU

PMDG_737NG_OHD_LIGHTS_RIGHT.GAU

PMDG_737NG_OHD_PROBE_HEAT.GAU

PMDG_737NG_OHD_VOICE_REC.GAU

PMDG_737NG_OHD_FUEL.GAU

PMDG_737NG_OHD_ENG_AI.GAU

PMDG_737NG_OHD_APU.GAU

had all been unloaded (correctly) by then.

The fact that this one remaining PMDG gauge was still loaded and obviously running after you'd selected a new aircraft is very odd -- either it had hung or was involved in something of its own and ignoring the outside world.

When it accessed FSUIPC it obviously did not send a new registration to 8001 because it hadn't been restarted. This is the only reason for the error -- the module was, in fact, correctly identified this time too, but being a GAUGE not a module (DLL) it should have been registering itself on loading with a fresh aircraft.

This continued presence of a Gauge through the reloading of an aircraft would cause this problem throughout the whole life of FSUIPC 3, yet it has not been reported before, so I can only assume you are doing something pretty unique to get gauges to hang about?

In both logfiles i see stuff like this:

   111266 Stack 10 = 00000000  (BAD)
   111266 Finished on Bad EBP

Yes, but all that does is cause another module search to be applied, as you will see. In the PMDG case, the only registration error which actually occurred was this one:

   198719 Stack 09 = 1DE7B660 PMDG_737NG_Main.GAU
   198719 Module [M2] identified = "PMDG_737NG_Main.GAU"
   198719     Illegal write attempt: offset 62FF, size 1 [M2]
   198719Program or module not accredited for use with this unregistered FSUIPC

for which the detailed explanation is as above.

I would like to know how you achieved this phenomenon of a gauge running from one aircraft after loading a new one. Maybe it's a freak timing thing. Possibly I may need to get around it by not assuming an aircraft is actually changed when I see one being loaded, but allow a few seconds after that. However, this may cause other problems, so it isn't anything I'd undertake lightly, and it would only be a problem if bits of the supposedly unloaded aircraft kept accessing FSUIPC, as in this case.

And after that with an aircraft switch it happens => program not accredited for use.

No such error seems to occur at all with FSINT.DLL. Anyway, with DLL's, since they are resident over the loading and reloading of aircraft, FSUIPC remembers their registration in the FSUIPC.KEY file (did you look in there?). This is because it is not reuqired for DLLs to send the data to offset 8001 each time an aircraft is reloaded.

Now, what is odd in the Ivap log, is the apparent loop that FSUIPC seems to get into, scanning the modules and stack over and over. There's something wrong there. Evidently that thread mechanism I put into the ModuleUser library is not working in your code -- it works fine in my test code here, so there is something different.

What were the symptoms you saw in the Ivap case? There seems to be no accreditation rejection.

Are you now using the compiled library as I supply in the SDK, or still something of your own which is changed? There are by now a large number of users of this and you seem to be the only one with a problem. If you cannot figure it out, perhaps you would like to send a debug version of your code (with the .pdb file) so I can try to pin down what is wrong.

Regards,

Pete

Posted

I would like to know how you achieved this phenomenon of a gauge running from one aircraft after loading a new one.

Actually I first loaded with a Cessna, get into the aircraft menu, loaded the PMDG waited till its dialog of loading navdata disappeared and then loaded another aircraft.

Sadly I tried to reproduce it without luck until now.

FSUIPC remembers their registration in the FSUIPC.KEY file (did you look in there?).

Yup was included there.

Now, what is odd in the Ivap log, is the apparent loop that FSUIPC seems to get into, scanning the modules and stack over and over.

Idd saw that too, I'm still investigating why that happens.

What were the symptoms you saw in the Ivap case? There seems to be no accreditation rejection.

Well the same as above, an error about program not accredited for use.

Are you now using the compiled library as I supply in the SDK

Yup I've linked against it now, and so far it works, with one problem: upon exit fs hangs (I join all my threads, but some of those threads have a FSUIPC_Process pending which somehow blocks (i guess the sendmessage) since the main thread is waiting for those threads to quit...).

Now there is a SendMessageTimeout in WinAPI, would it be possible for me to use the same code (source version then), where the SendMessage is replaced by a SendMessageTimeout?

Or would that be a bad idea?

Greetz

Posted

Actually I first loaded with a Cessna, get into the aircraft menu, loaded the PMDG waited till its dialog of loading navdata disappeared and then loaded another aircraft.

So, not something which folks would do normally?

All I can think of doing is allowing a few seconds leeway before eraing previos registrations. I can't just delay the recognition of a new aircraft loading, else that may occur after one of the gauges has registered.

Anyway, I'll consider how to deal with it and meanwhile treat it as an unlikely fluke.

Yup I've linked against it now, and so far it works, with one problem: upon exit fs hangs (I join all my threads, but some of those threads have a FSUIPC_Process pending which somehow blocks (i guess the sendmessage) since the main thread is waiting for those threads to quit...).

You say "so far it works ...", so I am now confused. What were the logs and report about? Is that with a different version of your program? Please help me understand what is what here.

As far as threads not terminating when FS terminates, I think this is related to when the assorted Windows are closed which process the messages. Certainly, FSUIPC will always process a message it receives before termination, but it won't deal with messages still in the queue when FS tells it to quit.

In all my multi-threaded programs I takes steps to terminate the threads forcibly if they don't do so by themselves. You need a flag set by the thread saying "I'm running", and if that's still set when you are ready to exit, you use TerminateThread. for that you need the Thread handle from CreateThread.

Now there is a SendMessageTimeout in WinAPI, would it be possible for me to use the same code (source version then), where the SendMessage is replaced by a SendMessageTimeout?

I suppose in the case where you are calling FSUIPC from a different thread this might be better -- but how many seconds? It is certainly never likely to be a problem when calling from the main thread. I really prefer to play safe and throw threads off forcibly

Regards,

Pete

Posted
Well following the first tests with a new compiled version including the library linked to it.

I'm going to work on the threading now ;)

Anyway the issue is solved now =)

Hmm. I'm still not sure that there's nothing for me to be concerned about (oops, a double negative!), in particular the odd looping on the module check which seemed to be indicated in your Ivap logging.

Are you saying that you now think you understand what was wrong, or are you, sort of, just starting afresh?

If there's nothing for me to sort out, that's great, but if there might be I'd rather do so whilst there's a way of sorting it than have it come back to bite me later! :wink:

And, yes, I think I will put just a few seconds of "grace" on Gauge access after I see aircraft reloads, just in case the odd gauge hang-over you demonstrated happens in real life! :)

Regards,

Pete

Posted

Well about the not accredited i'm quite sure it is caused by wrong code now.

About the odd looping I'm not fully out yet, still checking some stuff... I'll report back soon (gimme 1 or 2 days)

Posted

I've got the feeling we better close this issue.

Just did some tests again with a release compile of the module of IvAp an no weird stack loops in FSUIPC, only happens in debug release.

Posted
I've got the feeling we better close this issue.

Just did some tests again with a release compile of the module of IvAp an no weird stack loops in FSUIPC, only happens in debug release.

Okay, thanks.

Pete

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.