Clearly A Lack of Focus

How does (did) Photon work? Part 1, The Gun Does Not Shoot

Welcome to part 1 of an part series on how Photon, the Ultimate Game on Planet Earth worked. We’re talking about the game that you payed to play in an arena, not the hokey take-home thing.

The Gun Does Not Shoot

Photon operated on a reverse ir system. Meaning the suits or other targets emitted an infra-red signal that the phaser received. The infrared signal consisted of a single repeating byte, at 1200-baud*, 8 bits, no parity bit, 1 stop bit — modulated at 38khz. There are 20 possible “slots” on the red and green sides. Players on the red side emitted bytes 0×42 through 0×55. Players on the green side emitted 0×94 and 0×81 through 0×93. Early versions of the software used 0×80 as the code for the first green slot, however, this was found to put this player at an unfair disadvantage that will be discussed in a later article. Some systems ran in a “two field” configuration, where one field used the odd slots, and the other field used the even slots . A “hit” is scored by pulling the trigger on the phaser, and receiving three successive identical codes.

As you may remember, there were targets other than players on the field that had the following codes:

  • Red Base – 0×35
  • Red Base 2 – 0×36
  • Green Base – 0x2b
  • Green Base 2 – 0x2d
  • Red Tower – 0×32
  • Green Tower – 0×24
  • Target – 0×38

The ones we probably remember are the red base and the green base. I used to know what the “tower” and “target” were supposed to do, but the demand-paged memory system used in my brain has demanded that information be paged out.

There were also two major versions of the phasers in use. The first people commonly referred to as the “600 baud” phaser — the phaser itself wasn’t 600 baud — but this board was powered by 12 volts and used a handful of discrete components to demodulate the signal. As the quality of the capacitors and resistors varied, it typically had to be “tuned” via a variable resistor to optimally demodulate. The “1200 baud” or “autotuning” phaser-board used an integrated IR demodulator made by Sharp. It’s only downfall was being very sensitive to RF interference, and if it’s RF shield wasn’t fully attached would pick up interpret the electrical interference generated by the pulsating IR emitters of the suit it was attached to.

Apparently a dozen or so IR emitters draws a lot of power and makes a lot of noise — and while the phaser was “firing”, the IR emitters of the suit were shut down. Before you think that this is some magic way you could stop people from shooting you — remember, you could only fire once every (approx) 1.1 seconds — and those infrared emitters were only disabled for the time it takes to receive 3 bytes. Napkin math makes that out to be .024 seconds of freedom — if you were able to use this to your advantage, your timing was much better than mine.

So, now that you know you’ve shot someone — how do they find out they’re down? That’s the radio part — you’ll have to wait until the next episode.

Back in the day I had worked all of this out with the help of a o-scope, a PC, a couple fried UARTs, some alligator clips, and a lot of patience.

* The original Photon hardware used a 600-baud encoding.

3 Responses to “How does (did) Photon work? Part 1, The Gun Does Not Shoot”

Leave a Reply