B&O BeoVision MX 7000 TV
So this is nothing short of weird... After having to walk half-way across Melbourne to get home (thanks to the train lines being shut for upgrades), I find this unit sitting out the front of my apartment building. The weird part is this: I swear this is the exact same TV I saw in a 'vintage shop' in Geelong around a year ago. Geelong is a long way away... and for this ridiculously heavy unit to appear in front of my apartment... in dirty-but-OK condition, is totally surprising.
Of course, this is Melbourne and just maybe there's a lot of rich people with expensive+vintage TV sets just sitting around...
Does it work?
I threw caution to the wind and found a protected power board to plug it in to. A quick visual inspection before hitting the switch and click... we have a red stand-by light! A quick search of the front panel found a power button bottom-right and, tapping this, the unit came to life!
No remote control
Not a deal-breaker... or so I first thought. Turns out B&O decided to use a non-standard IR frequency and standard universal remotes just won't work. LIRC was fun back in the day, so I installed WinLIRC and tried to load up the easy-to-find Beo4 Configuration. Before even trying to hack together a transmitter, I was hit with errors trying to load the configuration.
Not very helpful at all! I hacked around with configuration file and found that it didn't seem to like the area between the raw_codes begin and end. Darn... maybe it's an archaic Windows version... so I installed Mint on the old Intellistation Z and tried again...
After booting into Linux Mint, I installed lirc with sudo apt install lirc. No issues here, so I downloaded and copied the Beo4 configuration to /etc/lirc/lircd.conf. A quick sudo service lirc restart and syslog tells me:
steven@intelli ~/Downloads $ sudo cp Beo4 /etc/lirc/lircd.conf steven@intelli ~/Downloads $ sudo service lirc restart steven@intelli ~/Downloads $ tail /var/log/syslog Jan 7 19:11:47 intelli lirc[3220]: * Loading LIRC modules Jan 7 19:11:47 intelli lirc[3220]: ...done. Jan 7 19:11:47 intelli lirc[3220]: * Starting remote control daemon(s) : Jan 7 19:11:47 intelli lircd-0.9.0[3230]: error in configfile line 45: Jan 7 19:11:47 intelli lircd-0.9.0[3230]: "KEY_0": must be a valid (unsigned int) number Jan 7 19:11:47 intelli lirc[3220]: ...done. Jan 7 19:11:47 intelli lircd-0.9.0[3230]: reading of file '/etc/lirc/lircd.conf' failed Jan 7 19:11:47 intelli lircd-0.9.0[3230]: reading of config file failed Jan 7 19:11:47 intelli lircd-0.9.0[3231]: lircd(dsp) ready, using /run/lirc/lircd Jan 7 19:11:47 intelli systemd[1]: Started LSB: Starts LIRC daemon..
Oh! Right! Here's the actual error! WinLIRC just 'failed', whereas I get proper verbose logging in Linux. Turns out the configuration file is just no good. I ended up browsing back to the lirc page, in a vain attempt to find a forum or mailing list to whinge to... but then... I found the real remote repo! Scrolling down... lo'n'behold is the Beo4 LIRC Configuration File with happy 'compatible' ticks. Opening it, I can see it's a completely different file!
steven@intelli ~/Downloads $ sudo cp Beo4.lircd.conf /etc/lirc/lircd.conf steven@intelli ~/Downloads $ sudo service lirc restart steven@intelli ~/Downloads $ tail /var/log/syslog Jan 7 19:13:39 intelli lircd-0.9.0[3231]: caught signal Jan 7 19:13:39 intelli lirc[3467]: ...done. Jan 7 19:13:39 intelli systemd[1]: Stopped LSB: Starts LIRC daemon.. Jan 7 19:13:39 intelli systemd[1]: Starting LSB: Starts LIRC daemon.... Jan 7 19:13:39 intelli lirc[3478]: * Loading LIRC modules Jan 7 19:13:39 intelli lirc[3478]: ...done. Jan 7 19:13:39 intelli lirc[3478]: * Starting remote control daemon(s) : Jan 7 19:13:39 intelli lirc[3478]: ...done. Jan 7 19:13:39 intelli lircd-0.9.0[3489]: lircd(dsp) ready, using /run/lirc/lircd Jan 7 19:13:39 intelli systemd[1]: Started LSB: Starts LIRC daemon..
Ok, neat... we loaded! What can we send?
steven@intelli ~/Downloads $ irsend list "Bang&Olufsen_Beo4" "" irsend: 0000000000000001 beo4-tv-on irsend: 0000000000000002 beo4-video-poweroff irsend: 0000000000000003 beo4-tv-left irsend: 0000000000000004 beo4-tv-right irsend: 0000000000000005 beo4-tv-up irsend: 0000000000000006 beo4-tv-down irsend: 0000000000000007 beo4-tv-green irsend: 0000000000000008 beo4-tv-yellow irsend: 0000000000000009 beo4-tv-red irsend: 000000000000000a beo4-tv-blue irsend: 000000000000000b beo4-tv-exit irsend: 000000000000000c beo4-tv-menu ....
And that's as far as I got on Linux... For the life of me it wasn't worth the effort trying to work out how to use /dev/ttyS0. It seems that the kernel hogs it and you have to setserial and stuff... so I just re-booted back into windows... on a machine closer to the TV...
Just because Windows is easier and I'm lazy, I plugged the file into WinLIRC... It worked! We're set... time for some actual hardware to get the IR transmitting.
Transmitting signals...
I found some IR sensors that I had lying around... they're TCRT5000s and I only need the transmitting half. That's the half with the bevelled side (when you're looking at it) and the anode is up top. A 220ohm resistor was tied in-line to prevent excess serial current draw.
The contraption was pointed at the TV, but no amount of clicking would work to turn the TV on. I was about to give up, but decided that the transmit power could be an issue and held the IR LED 5cm from the receiver. Presto! Power-On worked!
I plugged the MSX into the SCART plug and got the following... more research to be done! I also need a better mechanism for pressing remote buttons if I'm going to go through the menu and adjust settings.
What about Arduino?
Having a whole computer to control a TV isn't optimal... so...Arduino time! Well.. it will be in the future... after I read this, this, this, this and this. The goal will be to build a controller with enough buttons to re-configure the input... hopefully... to get the MSX to display!
UPDATE: Arduino Remote works like a charm!
Sony Playstation
I suddenly realised that I actually did have a device to plug into this monstrosity. The original Sony Playstation gathering dust under my coffee table has Composite out! Of course, the TV does not have Composite in... so I had to improvise with a Composite-to-SCART adapter.
Yey! Abe's Odyssey!
Sony HITBIT HB-F1XD Floppy Drive
Hello again Mr HIT BIT. I bought this unit a while back and never got around to testing the floppy drive...
As you can see from the image below, there was a sticker attached that said the Floppy drive was problematic. (フロッピーディスクは動作しません)
This didn't worry me too much, as I intended to use the cartridge slot more than the floppy drive. Regardless, I wanted to eventually test it out. I actually even bought a random second-hand disk from a second-hand shop in Japan whilst purchasing the main unit.
Based on the sticker... the first goal was to inspect the drive!
Pulling the unit apart
In full Sony-style, there's 6 screws (with arrows pointing to them!) on the underneath of the unit that need to be undone. Once they're out, flip the unit back on its base and remove the cover left-to-right. The floppy disk eject button is seated through a hole in the top half of the case, so be careful when removing!
Once off, there's a shield on top of the floppy drive to remove. This has one screw top-right. Undo the screw and then use a flat-head screwdriver to prize off the clips along the back of the floppy drive. After this, there are then three screws that hold down the bracket that the drive is attached to. With these out, you can then perform a back-flip with the drive and expose the wiring. It turns out it's a 34-pin data cable and standard floppy drive power cable!? But with only the 5v wiring.
The drive itself
Things got interesting from here... after removing the top case (more clips, use a flat-head screwdriver), I noticed that there didn't seem to be a drive-belt at all. All articles online indicated that these drives had belts and are known to perish over time. I started pulling the drive apart further and found out that Sony actually chose to split the drive motor across the base PCB!? Talk about a nice way to save space... and not have to need a belt!
Talk about mesmerising... those copper coils are beautiful! But dang... I'd gone and bought a belt and everything... if this still isn't working, as per the sticker, then I'm really in trouble!
Testing the drive
I put it as-back-together-as-needed to test the drive and turned it all on. I put the disk in, but all was very quiet. My MegaFlashROM loaded into Nextor and I hit the number '2' key to switch to the second drive.
What? It works? MENU.BAS sounds like a good place to start...
Ok, here we go... is this a demo disk? "Tanaka Yatsuu Shin"? I'll need a bit of help translating this... regardless, "CG" sounds like fun!
4 Images? Here they are in order...
I had it all working nicely, but the machine was half apart... so I screwed it all back together.
Floppy Drive Issues
Once back together, the drive refused to read. Taking it apart bit-by-bit, it started reading again once the drive shell was off... but this wasn't reliable either...
Gosh-darn... it's time to dig further into this drive... It seems I can wire in a PC drive.. but first I'll open the whole unit up again and give it a proper clean. It felt like it was having issues understanding that the disk was in the drive... I'll start there and determine what sensors are used and if they're functioning correctly... but that's all in the new year!
Digital 54-22703-01 Motherboard – L2 Cache
After making this motherboard fit into the IBM PS55/z, I realised I hadn't decked it out fully. I'd mentioned cache in the first post, and finally got around to ordering some. The goal was to speed up the poor old 486 as it wasn't running as fast as I would've expected it to. Of course, this was also all very subjected as it'd be pretty impossible to actually remember how fast my first PC actually ran!
Usually, parts like this can be pilfered from other items laying on the shelves in my apartment, but this motherboard needed specific 'TAG' RAM, as well as the standard 32KBx8 static RAM chips. I had to go hunting...
Required components
Back to Pafe 45 of the User Manual for this motherboard and we find that we need eight 32 KB x 8 cache SRAM chips and three 16 KB x 4 cache tag SRAM chips to max it out. Straight to eBay and I found a seller in Israel with the correct parts. I incorrectly ordered two sets of TAG RAM chips and only half the required static RAM chips... whoops... fortunately I could pilfer those off another board!
The TAG RAM chips are labelled MCM6290BP25 RIQAB9131.
As per usual... always be careful when inserting ICs. Make sure their legs are aligned with the sockets and don't press until it's safe... otherwise this happens!
With everything in, we just need to adjust the jumpers...
Set all four jumpers (J3,J4,J6,J7) to 2-3... and then boot!
Yosh!
Test Software
Go here and download anything that starts with Cache. I then tested them all out...
They all showed that any data size under 256kb proved quick response times. The rest started spiking as more operations were required. The CCT386 application had awesome graphs.
Now to work out if the games actually operate faster...
Microchannel Sounds Cards (aka Hen’s Teeth)
I was interested in these when the IBM PS/55z was on its way as I wanted to deck the machine out with sound. Turns out that MCA is a rare breed and actually-interesting cards are impossible to come by.
Imagine my surprise when I saw an MCA ChipChat Sound Card (with wavetable addon!) appear on eBay. It started at AUD$50 and I was interested... just because it had to be an investment to sell later?
Here's the description...
This a ChipChat Sound-32 Card for a IBM PS/2 Microchannel computer. It comes with original box and contents. Including reference disk and driver disk. Drivers are for DOS, Win (3.1, 95, NT), OS/2 (2.x, Warp)
And a few pictures:
So yeah, nothing special... not even a mention if it works? Anyway... the 7 days were nearly over and it had gotten up to AUD$141. I was a little disjointed, but yeah... it's a relic! I mean, it's beautiful.. but... I wasn't expecting the outcome:
I'm very happy that someone, who I hope REALLY REALLY wanted it, got a very nice piece of computing history!
Testing EGA/CGA Cards
I'd picked these up a while back but never thought I'd get to test them. I don't have any monitors that support the old standard and haven't actually seen any available on eBay for a long time. I was quite surprised when I realised that the GBS-8200 that I picked up for my MSX would work to convert the frequencies! I'd only ever expected to use it for the MSX RGB signal.
V7 VEGA 8-BIT VGA
This card (thanks, stason.org!) has the ability to output both EGA/CGA and VGA! It's 8-Bit ISA and it a little worse-for-wear...
This seems to be quite an advanced card of its era. Happily outputting to the monitor you happen to have and allowing for future upgrades! It also even seems to have the VGA auxiliary header?
VIDEO SEVEN V7 VEGA EGA
This card (thanks again to stason.org!) is a little older. It has a header for a light-pen and suppsoedly two composite video inputs!?
GBS-8200
I had purchased the bare-bones board and never tried it. Thanks to my new desktop power supply, getting it going was really very easy. The board comes with a standard DC jack, but also a pin header for the input voltage. Instead of using a crappy wall-wart, I instead powered it on the supply, having the additional benefit of knowing the current requirement!
Ian Stedman thoroughly reviewed this board. His outcome was that there were a few issues, but a strong power supply is not needed. It turns out that my testing below shows that it hardly needs 5v at 400mA!
You can see where I've soldered on to for the EGA/CGA input. It's the bottom-right 5-pin header and I couldn't find an acceptable plug. In the end, a quick bit of tinning worked. There's 4 wires: R,G,B, Sync and Ground. The EGA Pinout on Wikipedia (CGA is nearly identical) shows that there are two sync lines, but we only have one on the GBS-8200! As mentioned above, we'll use the bottom-left connector on the board.
Combining HSync and VSync
We'll need to combine the Horizontal and Vertical Sync outputs from the EGA signal as the GBS-8200 requires a single Composite Sync signal. To do this, we can use an XOR or OR gate. Ian is our saviour once again and has provided a circuit to combine the signals.
Build the circuit as he's described. I actually found that either XOR or OR worked fine with the GBS-8200!
I probably should've tested some games...
Hercules?
No such love. Same connector, but a very different video signal. Turns out it's actually a digital TTL signal that this unit cannot process. If you really want yo convert it then you'll need to buy a GBS8219.
Is that a printer port? Space saving tech! I don't have any plans to pay for a Hercules monitor or an 8219, so this is going straight on eBay.
High-Capacity Metro Trains (HCMT)
The first HCMT has been 'constructed' at Newport and recently passed through Hawksburn late at night. It was done after-hours to permit slow-running... as I'm sure they've measured the platform clearances... but weren't game to trash their new toy!
Whilst getting ready for the main event... I happened to see a few other consists on the radar. First up we have two SSR T-Class locomotives hauling the inspection vehicle IEV102. Running slowly, you can see it has the light shining onto the overhead, making sure it's within tolerance.
Next was the midnight down steel... but I missed it... too busy playing Pikmin 1 via the Dolphin Gamecube Emulator!
But then the down Apex Gravel train showed up... and came through. This had a full load and was working pretty hard up the grade. Looked and sounded great!
Finally, the main event (at 0130 in the morning)! The consist was pretty random: S302 up front, 20 grain cars, S317 + T + T, a brake van and then the actual HCMT! The extra loading was required as the HCMT wasn't 'braked'. Or that's the only reason I can think of... they couldve just had the 2 S or T on either end, but they may not be able to pull the train to a stop as they'd not be able to brake hard enough. Instead they used the bogies of 20 grain cars to make sure the weight on the end had no impact on the running train.
What a night! And what amazing lack-of-sleep!
DOS USB CD Drives? Of course!
After mucking around trying for a while trying to get the new Compaq motherboard into the old IBM PS55/Z, I realised I'd wasted a lot of time playing with SCSI cards. This motherboard has a USB port! Can I use an external USB CD drive in DOS? It turns out the answer is yes!
Download USBASPI.SYS from here and then a USBCD.SYS (choose your brand) from here. I fluked it and tried the first USBCD1.SYS driver which worked perfectly! Firstly, copy the files to your HDD (I always put them in C:\DOS\), and then edit CONFIG.SYS:
DEVICE=C:\DOS\USBASPI.SYS DEVICE=C:\DOS\USBCD.SYS /D:MSCD001
And don't forget AUTOEXEC.BAT as follows:
C:\DOS\MSCDEX.EXE /D:MSCD001
And reboot...
Out with the old and in with the new!
Meanwhile, Windows 98se kept locking up (whole machine freeze!) at Programs on the Start Menu. I actually had to unplug the CD drive and reboot to get it to continue! But the end result was lovely...
Time to really make this motherboard fit!
IBM PS/55 Z – All About The Pentiums
Found this at the local flea market on the weekend. After spending many nights replacing the guts of my IBM PS/55Z with a 486 DX2/66, I saw the specifications of this motherboard and couldn't resist snatching it up. 166mhz! PCI! ATX! 96mb RAM! USB! What more could you ask for in a vintage machine? I wonder if I should try and make it fit!?
Turns out it's the motherboard from a Compaq Deskpro 2000. Am I happy to have the Compaq splash screen display when the machine powers up? I believe the BIOS will also be tricky to get into as these machines need a separate hidden partition with Compaq's proprietary tools?
A quick Google lead me to realise that building an AT to ATX adapter would be a nightmare. I'd need to create a solid +3.3v DC supply from the 5v rails and also muck around with more sense wires? Might be easier to just rip out the power supply and slap an ATX unit in there. Would have to merge in the CRT electronics though... Of course, it's also ever-slightly too long, so there'd need to be quite a bit of hacking to make it fit.
Such delight at finding this beautiful piece of equipment! ... Oh wait, maybe this will be easier than expected!
Repairing a 3rd Gen iPod Dock
I've had this little beast for a very long time and thought my amplifier was playing up when the left channel started cutting in and out. A quick amount of cable-jiggling proved otherwise: the jack on the back of the iPod Dock was frail.
No amount of stickytape would keep the cable in contact with the socket, so I endeavoured to open the unit up. Turns out there's large tabs on the inside 'side' edges and smaller tabs along the longer edges.
The cracked solder joints were immediately obvious and a quick touch-up with the soldering iron brought the conductivity back from a crackling zero to 'awesome'. I really love easy fixes!
Oculus Rift DevKit 2
I always managed to be surprised at things that turn up at flea markets. I was stumbling through Laverton Market on the weekend and came across this... for AUD$5.00. Is this retro? It could well be... it's nearly vintage nonetheless!
Turns out it's the Oculus Rift Development Kit 2. More infomration here. The headset has a cable running off it with USB and HDMI. There's also a USB and audio-style port, hidden under a cover on top. It's also got a random date on the side and a differing price tag of AUD$2.00? Did I get ripped off?
Testing it
Seemed to be simple enough... Just for fun I plugged it into my laptop. It straight away showed up as a portrait screen and I could move application windows onto the new secondary desktop! The LCD looked a little sketchy, but I assumed it was nothing that couldn't be cleaned off!
With the basic shake-out complete, I downloaded the Oculus Rift software and installed it. Whilst reading the download notes, I realised it hinted at another piece of hardware: a sensor. My kit didn't come with this! It seems that the sensor (looks like a webcam) tracks the IR output of the headset to determine your physical position. Supposedly you can use the headset without it and you'll just get rotational giroscope-based movement.
Once the software was installed, I plugged the unit back in and ... well ... nothing but errors. The Oculus Software reported that I had a USB connection, but no HDMI connection. No amount of cable-tweaking-or-swapping managed to get it to work. Long-story-short, my laptop wasn't even capable of supporting the unit and would never actually be able to output HDMI in the format the headset wanted. It would actually be really nice if the software provided this tiny hint, instead of just telling me that the HDMI connection was unavailable, but it actually turns out I skipped the entire first step... there's more on that a few sections below.
Digging deeper, it turns out that the Oculus software installs a driver for the headset and prevents it from being used as a second monitor. The point that I saw a desktop when I first plugged it in, was just because the Oculus display drivers were not installed. Of course, I had no idea that this was the case and thought I'd actually killed the unit! I proceeded to tear it apart ... was it a loose cable or other broken component?
What Does It Look Like On The Inside?
I had read another review where the author had described the whole unit as a 'kitbash'. I chuckled at that, as it's a common term in model railroading where you take an off the shelf product (or multiple) and blend them together to make something new and unique. Well... that's actually what they've done here... to the point where the LCD is actually a Samsung Galaxy Note 3 screen, complete with phone face-panel and touchscreen digitizer!
The best part? The LCD in my unit is crappy... it seems to have two areas of pixels that are totally burnt out. I went ahead and ordered one on eBay as I had assumed that this was the reason that the unit had stopped working.
Compatibility
Of course, it struck me later on, after re-assembling the unit and stowing it away to wait for the new screen, that it could just be my laptop!? I downloaded the Oculus Compatibility Check Tool and was quickly told that my laptop hardware was useless. Muhahaha... what a waste of time... What to do? I have a desktop with a real NVIDIA card and realised I should've used it to begin with. I downloaded the Oculus Legacy 0.8.8 Runtime and gave it a whirl... success! I used the older version as there were conflicting reports online that this older DK2 unit only worked with older software.
With the test application, I managed to happily sit at my desk and swing my head around. The movement was actually pretty damn flawless and the image quality very impressive! I then tried to load up games like GzDoom VR and Quake II VR but none managed to initialise the device... I assumed they needed the newer version of the software.
With my head at the right angle, I could really see how bad the LCD was also!? It seemed to be burnt at the same place on both screens!? Maybe some really bright light in a game cooked the crystals? (Excuse the dust... but look for the pink dot)
Throwing caution to the wind, I downloaded and installed the standard (latest) Oculus software on my desktop. Low-and-behold it (took forever to download and install) found both the USB and HDMI connections!
During setup, it whinged that it couldn't find anything, but skipping that worked. In the actual app I then got a warning that the DK2 was no longer supported. Dismissing that, I was finally presented with an error saying that it couldn't find the sensor.
Urgh... back to square zero...
Trying to play games without the sensor
This just doesn't work... I got a message box saying that the sensor can't be found and was presented with an OK button. Clicking this button was impossible though! Firstly, I needed a 'touch' device that the Oculus supported so that I could actually interact with the 3D world. At this point I was worried about putting in more money to something that I could never get working. I didn't know if clicking OK will actually let me into the game!?
Meanwhile, can't I just buy a replacement sensor? Turns out it's a big, fat no! Googling is pretty funny on this topic. It seems that during production, the sensor and headset are paired via serial number. The hardware has been open-sourced (here's the actual files), but the firmware for the sensor is not available! The quote from them is: The sensor also utilizes microcontrollers which require firmware which was not redistributable. Grrrrrrr!
Before I start an attempt to hack together a sensor (here's great inspiration!)... I wonder if I can (cheaply) get that button pressed to see if the games will continue without a sensor?
Controllers
To press that magic OK button, I knew I needed a working controller. I considered borrowing an XBOX 360 controller from a friend, but then found an article using an Xbox 360 Controller Emulator. It seems that others have had luck! (Original French article here)
I tried my hardest to fake the controller, but had no success... I couldn't get the DLL in the right place to stop the main Oculus app from whinging that nothing was connected. Of course, the best thing at this point was to get an actually-supported controller. I didn't bother trying to use my Android phone can emulate one. Instead, I picked up a cabled controller from a nearby second-hand store.
Finally, Oculus recognised it. Of course... it didn't let me press that magical OK button... I was stuck without a sensor!
Reverting back to 0.8.8
I was out and about taking the MR-2 for a spin and the thought came to me: I'd had the demo working fine on 0.8.8... there were no camera/sensor warnings! Maybe I should downgrade and find compatible software? I uninstalled the latest software and re-installed 0.8.8. I then browsed over to this list of compatible software. Oh look, Duke Nukem 3D!
Hahaha... SHAKE IT BABY. It just worked perfectly... with controller and all! I then went back to the GZ3Doom Releases Page and scrolled down, looking for that magical SDK value of 0.8.8. It also worked!
Ok, nice... I have things to do with this now.
We get to wait with Totoro!?
Whaaaaaat... Someone has built a 3D scene of the bus stop!? But the links are all dead... can anyone send me one that works?! Full review of it here, but still no valid links. The review indicates that Fire Panda are the author. But there's nothing on their actual site. Ohhhh: Due to a request by Studio Ghibli, these demos will sadly no longer be available. I hope that everyone who got a chance to play them enjoyed them and I hope you enjoy future projects I am able to bring to you. Thanks again for all your support! Boo... I'm only a few years late!
Turns out there's a whole world of user-authored content at SketchFab. Here's the train from Spirited Away. That Sea Railway was always a cool idea.
OpenHMD
This all seems promising, but there's no compiled binaries for Windows? I don't have a Linux machine to muck around with that has a good enough video card... hmmm... that's a little bit too much effort to go to. Actually, my main machine has started dropping the ethernet connection and blue-screening... maybe it's time for a rebuild!?
Build your own sensor?
There's a great set of documents at doc-ok.org on Hacking the Oculus Rift DK2 (Part 2, Part 3, Part 4) which describes how to read the data from a real DK2 sensor. This is all well and good, if you have the sensor... in my situation, this code will come in handy once I manage to fake a sensor. Philipp Zabel's ouvrt project also looks interesting as it is able to extra ROMs from DK2 sensors. This may only be the USB configuration ROM, but it'll totally help with the faking.
Where to start? The Open-sourced project of the DK2 has a hardware schematic of the sensor which shows that it's based on an eSP570. Turns out these are pretty hard to find... but Alibaba seems to have some available.
I thought the camera lens would sense the timing flashes that the headset produces, but it seems that this is done by an IR sensor built-in. There's then a micro-controller to parse this. You can see the sensor in the tear-down here. It seems to be something similar to this dis-continuted sensor. Urgh...
But I'm getting carried away... this is all totally-probably worth a probably-totally separate blog post...