Wednesday, March 31, 2004

XBox Exploits

Side stepping a little bit from regular FlightSim updates, today i am going to talk about the xbox mod i did over the weekend.

Even before the construction of our new home two years ago, i always dreamed about an integrated, networked multimedia system in our house and thought a lot about it. As a first step, during construction, i have installed a whole house audio system which will allow us to access and control music from every where in the house. But I always wanted and on the look out for a system that will allow me to access all forms of digital media (mainly audio (MP3, WAV, Real, Windows media), video, digital photos and internet audio steream) directly from the family room. As part of the plan, i turned my age old dell 64 MB PII computer into a Linux based file server in the basement and started ripping my CD collection onto the 120 gig hard drive that i installed on it. But in my search for a networked media server, i found that the market is not yet mature and the first generation consumer systems that are coming out are either expensive and still limited in features (for example they will handle only a limited media formats). Some mature systems like Audiotron are audio only and doesn't handle video and photos etc., At one point i was about to buy audiotron, but then enter Xbox....

Xbox hardware packed under the hood is really a powerful computer with excellent video and audio handling capabilities and can be used for more than just playing games. But naturally, microsoft doesn't want you to do that (instead, they wish you buy XP-Media version) and made sure that they locked the xbox hardware such that unofficial apps will not run on the box. But then some curious mind at MIT hacked the hardware and found a way to bypass the default microsoft bios by installing a mod chip. Once you install a mod chip and flash it with a hacked bios, your xbox turns into a powerful low cost computer and you can install a variety of apps or even an xbox version of Linux on it!!

The hardest part of the xbox mod is soldering the mod chip, in particular the dreaded d0 point. The moment i looked at the motherboard and the tiny d0 point that i needed to solder, my heart sank with fear. I remained staring at the soldering points through a magnifying glass for a looong time. To make it worst, this is my first real soldering job, though as a kid i might have soldered one or two wires. Installing rest of the modchip hardware such as flash programmer and jumper switches etc., turned out to be trickier than i thought. It took me couple of hours to finish the job carefully. And i was not sure whether it will work or not until i flashed the newly installed chip and switched the power on. But anyway, finally it was all successful and i can't wait to hook it up to my network.

Next day morning, when i first connected to the xbox over the network from my office room via ftp, it was exciting. Next couple of hours i spent configuring samba on my linux box as well as my other xp computer to connect to the xbox. Once that is done, I hooked up xbox to the family room AC3 receiver and i am ready to stream all my digital media (audio, video, photos) directly into the family room from my basement file server and another computer in my office room.

Trust me, having all photographs in the digital form and accessible at the press of a button is going to make a huge difference in the way and frequency at which you watch your long forgotten photos. I watched many old photos that were lying on my computer for a long time in a slide show mode while music being played in the background. Ofcourse, the quality of pictures on a regular tv tube is no where near watching them on a computer monitor (you can guess, my next wish is a large LCD or Plasma TV :-)

Another really cool feature with this setup is, i now am able to connect to internet broadcast stream (at present Shoutcast streams only) and listen to internet radio. Once again, quality of your audio will ofcourse depend on the bit rate of the broadcast stream. A 128 kbps station will sound way better than a 24 kbps stream.

Ofcourse, one other thing i have in my mind for this project is to write a wireless remote controller application to run on a 802.11 enabled pocketPC to control the media player. It will be a cool little .net app. Currently it is not high on my priority though.

Besides all the fun, this project gave me a swell in my confidence to handle other flightsim PCB soldering jobs.

back to flightsim...

sri

Friday, March 26, 2004

It is going to be ..IOCARDS. Not FSBUS for control system...

Trust me - this is not the first time i changed my mind about the control system and definately not the last. As i am going through now, the hardest and most important part of building a sim is -research, learning and planning.

Last week i thought it is definately going to be FSBUS. But later on the weekend and during this week, i researched a lot about IOCARDS project , read all the manuals, played with the software and decided to go with it instead of FSBUS.

Both FSBUS and IOCARDS are more similar than they are different. Both are:

a) non-commercial projects, making the technology available for free
b) modular and extendable
c) support various kinds of inputs/outputs
d) doesn't require programming but provide api if anyone wants to code

For my detailed comparison spread sheet, you can contact me at: projsri777@yahoo.com

and the major difference is in the technology they use. While FSBUS uses the more latest and popular 'microcontrollers' based solution, IOCARDS main board is based on slightly complex ICs solution. However, IOCARDS uses USB interface for communication while FSBUS uses serial port. Finally, each one has it's one strengths and weaknesses. So you wouldn't go wrong going with either one.

My reason for choosing IOCARDS is not necessarily technical merits as there is not much to differentiate strongly there. IOCARDS while making the pcb designs available for anyone to make them on their own, also ships the PCB hardware at a very nominal, reasonable price. I failed to locate a PCB manufacturer who would make them for me in US. So with IOCARDS, i don't have that problem. Also, in my opinion, IOCARDS project is better documented (compared to poor to none documentation of FSBUS). I was also impressed with their software suite which consists of 4 different programs allowing easy simulation, control, identification of connected devices. I thought the software is very user friendly and make the life easier for the builder.

On the other hand, IOCARDS is a spanish project, that is not as popular as FSBUS which seem to have a wider user base. I posted a lot of questions in the forum on their website and always got the response back (though from the administrator and not much user interaction). Neverthless, i got my questions answered. It may be a risk going with a relatively less popular project. But the fact is i liked it better than FSBUS and actually noticed couple of FSBUS users switching to IOCARDS at a later date. So i am going to go with IOCARDS.

I received my xbox mod chip in the mail yesterday. I am all set for working on my xbox mod this weekend. I am crossing my fingures as this is going to be my first soldering job and i am starting out with a complex assignment.

-sri

Friday, March 19, 2004

This week...I reconsidered doing this

This week was tough. I reconsidered this whole project for various different reasons but not for lack of interest. At one point, i was about to call it quits and close down this blog. But anyway i reassured myself and got back with renewed zeal.

All this week long, i was reading a lot and doing my research. I sense that it is going to take atleast a couple of months of planning before actually start building the pit. This week i focused mainly on deciding the control system i want to go with and did considerable amount of research on this.

The choices came down to:

1) EPIC -- the mother of all
2) FSBUS
3) Photon
4) Hagstrom

EPIC:
With EPIC, issue is the price. It seems to be the most versatile, flexible and powerful system but expensive. Requires a fair amount of custom programming in C like language, which i am not worried about. However, i decided not to invest a lot of money upfront in a system like this.

FSBUS:
Looks like a winner. All the information (including the circuit designs) available online for free. However, you need to build these boards yourself which requires fair amount of electronics knowledge. This could be the cheapest solution amontg all. Major drawback is for help, you are on your own or dependent on online communities.

Photon:
Relatively new to the market. With the available support, it seems to be a fair balance between price and ease of use. Probably very good for someone looking for quickly up and running without much hassels.

Hagstrom:
Easy, quick keyboard emulator based solution. Limited for future expanding needs and one may not learn much. Good for someone with limited programming and electronics knowledge and don't care to learn either. All you want is to have a cockpit and quickly get to flying, this is the one.

This is only a quick and dirty summary. I have actually compiled a detailed feature by feature comparison of all these solutions. You may contact me if you want this excel file and i'll email it.

Anyway, in my final analysis, I am inclining to go with FSBUS for two reasons:
First it will be less expensive but more importantly it allows me to learn electronics and data communication. For making this decision, at the end, i asked myself - what is my goal for this project, what do i want to really accomplish. The came out - learn as much as possible besides having a sim to enjoy realistic flying experience. I was almost decided to go with Photon but ruled out against it in the final analysis, since both Photon and Hagstrom doesn't make me learn much. They will be quick point solutions.

Also, with less money invested in FSBUS(compared to others) and armed with all the knowledge i gain from struggling to make it work, i can easily venture out and move to another system in future, fairly easily, without much trouble. This is the most important reason why i chose to pursue FSBUS. Inorder for making me to switch the system in future, i plan to build the control interfaces in a modular and easy to disassemble fashion. This mean, no hardwiring of components to circuit boards. Instead i plan to use connectors for all connections to FSBUS boards.

It took me a week of research to come to this decision.

I considered making the PCBs myself but ruled out since having a professional good quality boards for starters seemed like a good idea. So the next step is to locate a PCB manufacturer who will make the FSBUS boards at a reasonable price.

meanwhile, i have a Xbox now and i need to work on the long awaited xbox mod project next week. I am planning to mod xbox and make it a networked media player streaming all my audio and video files over the network from my basement computer to the family room entertainment center. I tried to play a game on the xbox and it didn't interest me at all..i was bored in the first fifteen minutes.

Thursday, March 11, 2004

Why am I writing this?

As this page title says - it chronicles my pursit of building a sim. But why blog it?

Ofcourse my motivation is selfish - i don't trust my memory well enogh to feel confident that i can relive the pains and joys that i needed to go through this project at a later date.

Also, my inspiration came from visiting other's websites and watching what they have done. So hopefully, someday i too might be able to inspire someone to jump onto this wonderful hobby.

Another important reason is not just motivate but provide them with a detailed trial map of each step that a novice like me has to take for a project like this. All the websites i visited so far have wonderful pictures and some tips and limited guidence on how to build a sim. But not a single one i could locate that has the detailed account of what one has to go through. How and what decisions have to be made along the way? What their pains and triumphs along the way? what worked? what failed? and why? No one site has this information available which i am badly looking for at this stage.

I have so many questions starting out when i look at the pictures of someone's wonderful sim on the web. How did they build the projection system? But that is only the front view, what about the side views? what did they do - are they using monitors for the sides and a projector only for the front view? - You get the idea.

So i thought, recording a novices journey will help others who are not already somehow hooked into the industry....

P.S. I am not a pro who is trying to build a sim, instead i am starter and a student.. a good one. I am here to learn and hopefully someday teach! So if you read these logs and find me struggling with a problem, a question, please jump in and post a reply if you can. Even if you have no answers, a simple word of encouragement is also welcome.

You may also write to me at projsri777@yahoo.com

CH Pro Yoke (USB)

Last night i hooked up the yoke and it was great.

btw, buy.com was excellent in shipping my order. I ordered it on monday morning and tuesday by 9.45 AM. it was at my doorsteps (not bad for free shipping!!)

As soon as i hooked it in, XP recognized it instantaneously. However, note this, it is not caliberated correctly. Also you cannot use default XP's general calibration interface to caliberate this yoke properly.

Instead download the latest Calibration Manager software (it is v3.0 for me) from CH Products website. Do not use the software from the included CD (toss out the CD).

Anyway, Caliberation manager installs bunch of drivers and wait patiently meanwhile. Once installed, use this software to caliberate the yoke properly. One of the dilemma for me is how to caliberate the throttle lever (as a result of not having flown a real aircraft)? I wondered, when is the max power setting - when throttle lever is pushed away from you or is it when the lever is pulled towards you? Finally, i figured that it is full when you push the lever away from you. Another small detail i have no answer yet is - there is a small turn wheel on the lower left side of the housing. I wondered what it is, there is no calibration available for it. Probably i can map it for pitch trimming in the MSFS. Currently i did not map it to any. I left the default mappings in MSFS as is which i found are convenient enough.

Until now i was using MS Sidewinder 3D Pro. What a difference. Using Yoke, it felt much more real. It always centered correctly (only after caliberating ofcourse!)

I played enough last night to appreciate the yoke.

Even if you are not planning to build a simulator, but if you play MSFS, i highly recommend you treat yourself with this yoke. Once again, thanks to all those who influenced my decision by posting their comments/reviews.

Wednesday, March 10, 2004

Plans

Initially, I need to decide which aircraft to model? I already know it is going to be a Boeing aircraft. Why not AirBus? you might wonder. Well.. because i own Boeing shares :-)

I am not sure yet abot the exact type of the aircraft. I still need to do more research. Main criteria would be the simplicity of the control panel and ease of duplication. Also, more importantly availability of the software and hardware supporting the choice aircraft. Currently, i am assuming it coule be 747-400. Once again, i am prepared for a change from the begining.

So with my initial excitement and my nervousness about my construction skills(structures, housing etc,), i thought i need to start with building a platform and seriously started thinking about AutoCAD, materials like epoxy coatings etc., reference plans etc.,

Then i took a deep breath, stepped back and thought over about my general approach and these are the steps i feel comfortable with:

1) Master the critical software pieces and work on inter-connecting them
2) Experiment with the control hardware(both analog, digital and mechanical ones)
3) Interface control hardware and the software
4) Build each system and interface with the simulator software
5) Plan and build the minimum necessary computers and related hardware (no emphasis on the visual part yet. Just a simple monitor would do)

Ones all electronics, software and control hardware is connected and available in modular fashion, then start housing them and put them into the final structure and add big bang visual elements.

So, once again taking cues from my professional life, i am going to prototype first at each phase and only then move towards a final version even that means some throw-away work (nothing is throw away, you learn a great deal from your failures).

Software:

I think i already know what my critical software components are:

1) MSFS'04
2) Project Magenta (critical for the glass-cockpit look)/FSUIPC
3) EPIC board (for interfacing all the hardware with the sim software) programming (also some tool like EpicMapper (http://www.epicmapper.com) might help.

One issue in selecting MSFS'04 is - it seems not all other SW/HW seem to support it yet. Many of them are still on 02 version. But i am counting by the time i am ready, they all will support 04.

So, for the initial phase of my project, my goal is to learn these pieces as thoroughly as possible. Which calls for some prototyping. So during this phase i am not going to bother about hardware and systems, instead i am going to run MSFS and Project Magenta at the most on two seperate systems and learn as much i can.

Also, i might go ahead and get an EPIC board and do small experiments with it such as:
a) connect my old sidewinder joystick through epic board and control MSFS and later switch to connecting CH Pro Yoke.
b) connect a switch through the board and be able to perform an action in MSFS such as turning aircraft engines on/off or switch on the cabin lights.

for some of my friends walking into my home office, this might look like a small step, but hey i know and you know that it's a giant step for the "Project Sri 777"

Oh btw, yoke that i ordered from buy.com has already arrived yesterday and i missed the delivery. They delivered it today and i am going to open the box tonight. Yeah!

Questions...Questions...More Questions and some decisions...

My mind is full of questions...

- how much it is going to cost?
- how long is it going to take?
- where to build?
- what skills i need?
- do i need any help?
- what is the right scope of the project?

I am full of questions that i need to answer to myself.

Project Cost & Duration:
About the cost and time, i realized that this is going to be an expesive and time taking hobby. But hey, what's the use of money if it can't help you follow your heart? So the best way i am going to handle it is by planning it carefully and building it over years (that is what it took for many people on the web who have done this before me). After careful consideration, the best approach for me seem to be pre-allocating X dollars per annum and spend it without worrying every time i have to order something.

Space
Ofcourse basement is going to be the new home for the project. However, one big problem..i live in NewEngland and for 7 months a year the basement is a freezer. I have to do something about it unless i want to freeze myself.

Skills
About the skills...I know i have a lot to learn, some very fundamentals like how to solder and some as complex as control systems. Of all the things, one that most concerns me is the design of connected yoke and rudder pedals, hydraulics and mechanics involved in connecting and interfacing them with the system. One crucial skill i am more comfortable with is computers and programming. Ironically, i have a masters in mechanical engineering (with specialization in Machine Design..huh!) and the only mechanical engineering i practiced is - 'none'. Ever since i came out from the school, i am a software engineer by profession. I know i studied designing complex mechanisms to trace specific motion profiles while in school and learned to solve some complex problems there. But still i am a lot nervous about the very thought of it. Other day, i am reading about the forces acting on a flight and i am ashamed at my in ability to draw out the force field, write the equations, and resolve the forces on my own. Gosh, i can't even remember the equation for resolving vertical and horizontal component of a force vector!! Is it a "F cost(Theta) or F Sin(Theta)?" Shame on me.

On the other hand, programming, though a different kind this time (i know writing business applications is so different from writing control systems logic) i am up for the challenge. In general, i have some engineering background that i can count on for this project.

Help
When it comes to help...i realized many pioneers who built wonderful, impressive sim systems at home have a friend or a partner working with and helping them out in most cases. Also, more importantly they have strong background in Aero industry and some how connected to it through friends or some like. In my case, this is going to be a disadvantage since i don't have a partner. I am on a solo flight here...

Scale and the scope
This is the most difficult part for me. I am ambitious and i want it all - the best, biggest and the craziest stuff. But the reality wants me to define some boundaries and set limits. So here is what i decided... i donot want to limit myself in my ambition, i am going to do this as long as it takes and as long as it is fun. I will aim for the bigger and the better but in a modular fashion. Each step builds on the previous one and adds to and enhances it. I can't escape but use my years of software project management experience here. Why not?

So, I recall the golden rules of software PM:

1) Requirements are bound to change during the course of the project
2) rather than fighting the change, be prepared to deal with it.

So how do we deal with the change? The answer in my profession(atleast the one i believe in) is - "Architecture centric, use-case driven, iterative and incremental" process.

That is exactly how i want to approach this project. I will have a system architecture that allows me to build the system in small incremental iterations, each iteration delivering some value so that i won't loose interest in the project waiting for a big kahoona to fly overhead some 7 years later....

The Kick-off...

First thing I needed is the latest and greatest "MSFS 2004" to learn about and hone my flying skills (duh!..what's the point in building a simulator without knowing the art of flying!) . Sunday, all my attempts to make my MS SideWinder Pro joystick work on WinXP OS have failed. On Monday (03/08) I went out and purchased MSFS'04 software from local CircuitCity. Installed it next day morning and boy i was in for a shocker. All that they said about how real the sim is true. The whizzing and whirling sound from my 2.4GHz P4 and GeForce4 Mx 440 GPU rending the frames beautifully was music to my ears. Particularly new weather effects - moving clouds and thunderstorms blew my mind. You need to see to believe it. And btw, once after installing the software it recognized the sidewinder joystick with out any issue, before that xp refused to recognize the connected status of the joystick!!

Next thing is ..I ordered a CH Product's Yoke (excellent in many user's opinion) and the .audio 90 headphones from buy.com.

Well, i went for this yoke based on my earlier assumption of building a Cessna. Later I realized that for truely modeling a Boeing, it may not be useful (Boeing has two inter connected yokes (pilot side and First Officer(FO) side) mounted on columns . Oh! well, my plan is to adopt it to boeing style on the pilot side for sometime and when the time comes, then i can go for something else.

Also, even though it is less than a week, i did a lot of research and my mind is full of plans on how I want go about this project..

Germination of an ambition..

From the moment the thought entered in my mind, it spread like a wild fire. It seemed like my long search for something that i can passionately get involved for the years to come has come to an end.

Initially I wanted to build a cessna sim. Next two days of intense research and what I saw on the web has inspired me to drop my modest goals and shoot for higher altitudes..i.e., building a real big bad Boeing 7xx class simulator.

Next came the crucial and critical step: My wife's approval.

I showed my sweet wife a couple of home built simulator photographs and posed the question! And i am not surprised at all by her response. As usual, she said - do it by all means if you really want to and if that makes you happy. That's my wife. Always behind me supporting on everything i do without even for once making it difficult in all these years. Only thing she wanted is a promise that i will complete it and not leave it in the middle by loosing interest (well, that says a lot about me i guess and a testimony to many other earlier passions that were never pursued to the end :-)

But something tells me that this time it is going to be different. I am going to do this.

This project has all the challenges i would love to face and i am sure i wouldn't get bored. The steep learning curve that i need to climb starting from learning about the fundamentals of electricity, electronics (not to mention, I need to learn how to solder), control systems, computer hardware, software (lesser of my concerns), video graphics, carpenting, and all other craftsman to be able to build space in the basement etc., etc.,

A life time of learning ahead waiting....and I am excited about my first kindergarden class...

Birth of "Project Sri 777"

Last friday(3/6/04) while coming back from work, during one of those meditating moments on my long commute back from work, it hit me all of a sudden when i am least expecting - a revived interest in Flight Simulator and a strong urge to play it again. After dinner, i went and located my old copy of Microsoft Flight Simulator(MSFS) 98 software, installed it and took off in a cessna for a ride. Later i went online to check the software's latest status. What i saw made me further excited. Oh boy, MS has improved it in leaps and bounds. After a couple of hours of browsing, I am knee deep into it. I haven't been this excited in a long time. On web, I discovered a whole new world of home built flight simulators, vitual air-traffic control networks, pioloting for virtual airlines...etc., etc., Man, I am hooked in.

By the end of the week, I know i am going to build a modest simulator of my own - probably a Cessna. Well there began my journey....code named "Project Sri 777".