Mr. Felling's Career...

Software Architecture and programming for a multi-console game emulation system:
I was initially hired into this team of about 20 software engineers because of my hobby game programming experience, because the team was developing a piece of hardware about the size of an old VCR which would be able to play many different kinds of media, and was envisioning to connect to a TV/audio system in a living room.

One of the things they wanted to include was the ability to insert a gaming console disc into the machine and have it emulate the console hardware in software so that people could play multiple different console games on their TV with this device (as well as other things, like play music CDs, movie DVDs, and display photo album pictures, etc.)

So I learned how to use Universal Modeling Language (UML) to document a software architecture we could use to switch between different console gaming system software emulation modules. I led a team of 3 engineers and together we decided to try coding a game emulator from scratch for the Atari 2600 console as a first test case. I coded the graphics chip emulator and the other engineers did the CPU and hardware input simulations. We did get our emulator up and running and were able to successfully play Atari 2600 games from the original game cartridge ROM code. Here is a screenshot of our emulator displaying the graphics for the Atari game 'Phoenix':


The main console we wanted to emulate was the Sony Playstation, and there was another company which had already developed emulation software for that console. So I was part of a team which traveled to this company's headquarters to talk to their engineers about their emulator. They shared a lot of detail about their product - the purpose of the meeting was for us to determine if it would be best to write our own version of a Playstation emulator from scratch, to license their software for Intel to use in our product if it was brought to market, or to recommend that Intel purchase this other software company outright. After the meeting, we determined that it would be best for us to license their software for use if we brought our product to market.

But...about 2 months after this meeting, Sony sued this other company, and eventually won the right to demand that this company cease production of their software product for copyright infringement. Because Intel had other agreements with Sony, it was decided to drop console game emulation from this product's features.

In fact, soon after, Intel Labs decided not to move forward with this hardware product idea at all, and instead to focus on having our group develop something called the Media Streaming Infrastructure (MSI).




next task...