Jump to content
The simFlight Network Forums

How was FSUIPC possible ?


Recommended Posts

I have been browsing through the FS 2002 SDK, FSUIPC user and SDK docs and have a question.

How was it possible to develop FSUIPC ? It appears there is not enough documentation from Microsoft in order to enable someone without additional knowledge to develop a plug-in like FSUIPC.

The only ways I can imagine this is possible is by either reverse engineering the Flight Simulator or by using Microsoft internal documentation and header files.

It appears FSUIPC has some kind of monopoly in terms of providing the FS internal data. Many external developers are dependent on it or their products would not be possible.

So my question is, how was it possible to develop FSUIPC ? What is the source of information that made it possible to provide its functionality ?

Thanks

Link to comment
Share on other sites

How was it possible to develop FSUIPC ? It appears there is not enough documentation from Microsoft in order to enable someone without additional knowledge to develop a plug-in like FSUIPC.

I started doing FS add-ons and overlays in FS4 days, when it was a DOS program. I use disassemblers and clever debuggers like NuMega's Soft-Ice to get inside the program.

I have been a programmer since 1963, starting from the engineering side -- test programs, basic engineer's operating systems, and so on, working on mainframe computers before any development software was available for them. Machine level and assembly code programming was my speciality for years.

It used to be relatively easy to get into FS. Most of the early code was either hand-coded in Assembly, or in straight C. The C language is nice for folks like me as there is a very straight-forward relationship between it and the computer assembly level.

When FS was converted to work on Windows (FS5.1 to FSW95) most of the internal mechanisms remained the same, or very similar. Only gradually have parts been changed. FS98 wasn't too bad. But with FS2000 much of the code had started to be written in C++ and was using black-box type re-usable code classes and virtual functions, private data, all that stuff. Very convoluted. I started FSUIPC as a part-time hobby but by FS2002 it had become full-time, and it has been ever since.

Luckily, with FS2004, I was invited to be on the Beta test team for Microsoft, so I actually started work on the changes between FS2002 and FS2004 long before FS2004 was released. But it was a close-run thing. Some of the most important areas -- including the Weather routines -- were completely re-written for FS2004 and I couldn't match any of it to what I'd done before (FS2002 was almsot the same in that area to FS2000). Not only that, but the Weather DLL changed immensely between each of the 3 Beta releases we saw. It was a horrible time, I was spending up to 18 hours a day for weeks at a time trying to make sense of it all. (And I'm still not happy with it).

The only ways I can imagine this is possible is by either reverse engineering the Flight Simulator or by using Microsoft internal documentation and header files.

Reverse engineeering. Microsoft don't supply anything extra, only the SDKs. The FS2004 SDKs aren't out yet. They'll come, but they are always too late for me, even if I see them in Beta. Too late and too little for the job I need FSUIPC to do.

It appears FSUIPC has some kind of monopoly in terms of providing the FS internal data. Many external developers are dependent on it or their products would not be possible.

Well, the monopoly is only because that's how it happened. I do nothing else but this. Others do other things. Now that FSUIPC isn't entirely free I see others are trying to do their own, and that's good. Maybe they will be so good by FS2006 that I can retire from this and do some flying for a change! I'll be 62 by then in any case and looking for a way out. :lol:

Regards,

Pete

Link to comment
Share on other sites

Hey Pete,

thanks for the quick and detailed reply. I really appreciate it.

Wow, you are really old school ;), I didn't realize this. The picture in 'tidbits' must be quite outdated.

I asked my question because I have a few ideas for add-on products, which wouldn't be possible without the information provided by FSUIPC, at least not with the currently available 2002 SDKs. I've been programming since the mid 80s (and also Flightsimming with the first Microsoft Flightsimulator on an IBM PC).

I'm currently stuck in the American corporate meat grinder and work for one of the leading video game publishers in the US as a programmer slave. :(

I haven't been simming for a while and got back into it with FS9. I was surprised when I saw how huge the following has become and how many companies offer payware add-on products (with some vast differences in quality).

Anyway, I'd like to create a small module myself. I already have the DLL module running within FS9 and it is currently using the FS NetPipes. Unfortunately due to my full time job my time is extremely limited so progress is slow. I noticed the limited info I got out of FS and was hoping I could gather a subset of the info FSUIPC provides by myself somehow. But I have neither time nor patience to reverse engineer that thing.

I was kinda afraid I get this answer from you regarding 'reverse engineering' which will make integration of FSUIPC into my module my next goal.

That is where I have another question though. Strictly speaking 'reverse engineering' is illegal as stated in the FS9 EULA. Is that not an issue here and if not, why ? Obviously Microsoft is aware of you and your products but considering the fact that FSUIPC is no longer free other add-on developers who not dare to 'reverse engineer' FS are at a disadvantage.

Keep up the good work ! It's great you spend so much time on this and are dedicated to providing us with this tool. Hopefully someday I'll integrate FSUIPC into a payware module of mine and we'll be business partners.

Sub

Link to comment
Share on other sites

Wow, you are really old school ;), I didn't realize this. The picture in 'tidbits' must be quite outdated.

There's a picture somewhere? Where? Don't I look old? I've always looked old. I started going bald in my late twenties! :?

That is where I have another question though. Strictly speaking 'reverse engineering' is illegal as stated in the FS9 EULA. Is that not an issue here and if not, why ? Obviously Microsoft is aware of you and your products but considering the fact that FSUIPC is no longer free other add-on developers who not dare to 'reverse engineer' FS are at a disadvantage.

Well, really the only change with the commercial side is that I charge for the additional facilities, the user facilities, not the actual interface into FSUIPC. That's free as it always was. I expect commercial developers to pay towards this mainly for the support and SDK they get, and for the right to publish their software with FSUIPC included. They negotiate with me about this.

Looking at it like that the arrangement is almost identical to Adam Szofran's original FS5IPC and FS6IPC licences -- his offerings were free for users and feeware, but he charged the commercial guys. My change to "semi-payware" caused a ruckus purely because I was effectively generous enough not to charge anyone anything for four years, even though I was working full time on it. I didn't need the money then, so I didn't charge. Now I do, so I do.

Microsoft is well aware of the "reverse engineering" which I and many others do. Take a look at some of the other excellent products -- scenery compilers, AI traffic developers, AFCAD, FSAssist and most of Lago's products. The list of programs using "reverse engineered" knowledge of FS innards is not quite endless, but there's a lot about. Some is out and out commercial, some is complete freeware, mine is a bit in-between.

But the fact is that it all enriches the FS world and I'm sure Microsoft are pleased. No doubt if they had the staff and time and money to do it, they'd provide toolkits in a more timely fashion and with a depth of detail which would make them much more useful, but it isn't a commercial reality for them. And why, when there are so many folks doing this stuff for them?

Regards,

Pete

Link to comment
Share on other sites

I started going bald in my late twenties!

Hmmm, maybe it's not your picture then !? The website is a bit confusing.

I am always surprised about how people like you do this kind of work for free so consistently. I released a freeware program a few years ago and it was fun to get the feedback and all but in the end I wish I would have charged for it, even if it was just a couple of bucks.

If you work as a contractor you might look differently at this but as an employee of a big corporation I sometimes think maybe it could have been the start of a small business. But instead I still work for others. So I wouldn't do that again.

Thanks for all the info. I'm looking forward to working with FSUIPC.

Sub

Link to comment
Share on other sites

Pete,

You wrote;

"Maybe they will be so good by FS2006 that I can retire from this and do some flying for a change! I'll be 62 by then in any case and looking for a way out. "

What are you trying to do? Give us all heart attacks"

NO YOU CAN'T RETIRE.

WE SIMPLY WON'T ALLOW THAT KIND OF TALK.

Besides. 62 is Wayyyyyy too young to be retiring.

As far as the people that whine about having to pay for FSUIPC, let them. They can talk to MICROSOFT and see what they can get. It really pisses me off when people are so disrespectful, and ungrateful. They have no appreciation for what you have contributed to this hobby of ours. Bunch of ingrates.

Anyhow, you should not have to provide excuses, nor explanations to anyone for charging a fee for your hard work. In my opinion, it still is a bargain for the limitless possibilities it has brought about to our hobby.

~One greatful Customer!

Link to comment
Share on other sites

Hmmm, maybe it's not your picture then !? The website is a bit confusing.

Which website? I'll go look and confirm or deny! :wink:

If you work as a contractor you might look differently at this but as an employee of a big corporation I sometimes think maybe it could have been the start of a small business. But instead I still work for others. So I wouldn't do that again.

I worked for large corporations till the first PCs arrived. I started with a Commodore Pet 2001 and a little later an Apple II. I wrote a word processor called "Wordcraft" which sold well enough for me to leave the 'big corporation', and I've not worked for anyone else since then (about 1979). Along with two others I invented and named the "Dongle" -- my only regret is not having patented it back then! Oddly, when many software houses started using dongles we stopped and went to a registration system instead. :)

Regards,

Pete

Link to comment
Share on other sites

NO YOU CAN'T RETIRE.

Ah, wellI can't keep doing this stuff forever. There'll be other and better alternatives one day, surely? Maybe I need a young apprentice to train up? :lol:

In my opinion, it still is a bargain for the limitless possibilities it has brought about to our hobby.

Thank you very much! You've made my day :D :D

Regards,

Pete

Link to comment
Share on other sites

Which website? I'll go look and confirm or deny!

http://www.schiratti.com/tidbits.html

Edit: I believe I am beginning to understand the website a bit better and I think this is actually a picture of Enrico Schiratti. :lol:

I wrote a word processor called "Wordcraft"

These were the golden times when one programmer alone could make an outstanding application or game. Now it takes like a team of 30 or more.

Along with two others I invented and named the "Dongle"

Are you serious ? Looks like I stepped into the realm of a legend here. :D

I've been working with 3D Studio Max for a long time and used to have a dongle for it, but now we use a network license.

Sub

Link to comment
Share on other sites

  • 1 month later...

Pete,

You know, you had already won software developer of the FS community in my mind, but the "dongle", wow.

I was born in '62, and thought I started programming computers at the beginning, haha. I worked on the Internet when it was still under DARPA and called the DARPA-Net.

Anyway, thanks again for all the great work, and yours is a registration fee I gladly made.

Patrick

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.