top | item 14549367

(no title)

tinmith | 8 years ago

It only took me a few days, maybe 20 hours total? ... I started this back in January but it took me a while to capture the videos and write it up since I've been reworking the physical frame to make the monitors fit closer.

1/4 of the time was spent running GDB trying to find the memory locations and work out the encoding scheme.

1/4 of the time was spent getting familiar with DOSBox, building on Ubuntu, and syncing the data around via UDP.

1/4 of the time was spent trying to automate the start up so I didn't need to press a hundred keys manually to configure all the displays each time I restarted it.

1/4 of the remaining time was capturing nice videos and writing it all up :)

I've done hacks like this before ... back in 2000 I worked on the team that built ARQuake but we had source code http://www.tinmith.net/arquake/

discuss

order

andreiw|8 years ago

Really cool. So if there 3 separate instances running, how do they stay in sync? Surely these 18 bytes are not everything? So you feed the same input to all 3 instances at the same emulated time?

tinmith|8 years ago

The left and right FS4 instances are paused at startup, while the front view is the master. The FS4 renderer seems happy to have the XYZ HPR values overwritten behind its back and it refreshes the display constantly with the latest values. So the gauges don't work on the left/right displays - ideally I'd get rid of them, but removing the instruments causes the left/right 3D view to not align with the front display any more.

I imagine with more studying of the memory locations, you could sync over the instruments too. Or if you really wanted to, you could just grab the video memory for the instruments on the master and blast that over the network too. Displays were so small back then that you could easily compress and send this.

dzdt|8 years ago

Looking at the gauges on the side monitors, things like vertical speed read zero. I guess the programs running the side views are in a lookaround mode with the viewpoint being banged in manually by the network hack. Only the center view is the master actually simulating the flight.