Xbox Cam (for Video Chat)

From xboxdevwiki
Revision as of 03:44, 26 October 2023 by Harcroft (talk | contribs) (Chipset and USB descriptor info added.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Videochat - Xbox Cam

Xbox Video Chat was released June 2004 in Japan and is a Xbox live enabled/required video chat program with a camera called "Xbox Video Camera" that allowed users to voice and video chat with fellow Xbox Video Chat users. An active Xbox Live subscription was required. Up to 5 users can Xbox Video Chat with eachother.

The camera uses an Omnivision OV530 chipset and a 512byte eeprom to store the USB device descriptor. The mainboard for the camera The OV530 chipset in the Xbox Video Camera seems to be fully backwards compatible with the older OV519 chipset used in PS2 EyeToy cameras. The Xbox Video Chat software can be patched to use a camera with difference device IDs, but the hardware descriptors on the chipset must match the Xbox Video Camera descriptor of 1 USB device/video only.

"The package includes a camera, a 12-month subscription to Xbox Live, an Xbox Live Voice Communicator, Video Chat Disk with software needed to make it all work, and an Xbox Live Starter Kit Disk. The Xbox Video Chat provides for voice alteration and comes with 40 preinstalled background music tracks. It includes a function to turn the TV screen into a mirror temporarily, so players can groom themselves before joining a conversation." The Inspiration Room - Xbox Live Video Chat in Japan

  • Dvd mediaset number: X10-98754
  • Xbox cam: X10-71835

USB Descriptor

Bus 003 Device 003: ID 045e:028c Microsoft Corp. Xbox Video Camera       
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x045e Microsoft Corp.
  idProduct          0x028c 
  bcdDevice            1.00
  iManufacturer           1 Microsoft       
  iProduct                2 Xbox Video Camera       
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0059
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0000  1x 0 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0180  1x 384 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       2
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       3
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0300  1x 768 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       4
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0380  1x 896 bytes
        bInterval               1
Device Status:     0x0000
  (Bus Powered)

USB Device Descriptor EEPROM

The following is an EEPROM dump from 24x04 EEPROM chip on the Xbox Camera mainboard. This contains no actual firmware, just a USB device descriptor as described in the Omnivision OV519 CAMERAMATE™ datasheet.

000102030405060708090A0B0C0D0E0F  ................
101112131415161718191A1B1C1D1E1F  ................
006A005900120400C62200CA3200EC00  .j.Y....."..2...
011E00011E00011E00011E00011E0000  ................
0010000011001800800111011B008001  ................
11021C00800111031E00800111041F00  ................
80012121185080023100288080034130  ..!!.P..1.(...A0
28808004513020808005613038048006  (...Q0 ...a08...
710038088007810018088008011E1201  q.8.............
1001000000085E048C02000101020001  ......^.........
0902590001010080FA0904000001FF00  ..Y.............
0000070581010000010904000101FF00  ................
0000070581018001010904000201FF00  ................
0000070581010002010904000301FF00  ................
0000070581010003010904000401FF00  ................
00000705810180030109040100000101  ................
000009240100011E0001020C24020101  ...$........$...
02000100000000092403020101000100  ........$.......
09040200000102000009040201010102  ................
0000072401020101000B240201010210  ...$......$.....
01803E00090582052800010000072501  ..>.....(.....%.
000000000403090422034D0069006300  ........".M.i.c.
72006F0073006F006600740020002000  r.o.s.o.f.t. . .
20002000200020002000320358006200   . . . . .2.X.b.
6F007800200056006900640065006F00  o.x. .V.i.d.e.o.
2000430061006D006500720061002000   .C.a.m.e.r.a. .
200020002000200020002000FFFFFFFF   . . . . . .....
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF  ................
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF  ................
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF  ................
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF  ................
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF  ................

Notable hex offsets:

  • 0x0023 and 0x00A2 device descriptor length | 59
  • 0x0096 Vendor ID | 5E04 bit swapped to 045E
  • 0x0098 Product ID | 8C02 bit swapped to 028C
  • 0x00A4 Number of USB devices/interfaces | 01
  • 0x0158 Device Manufacturer name start | Microsoft
  • 0x017C Device Product name start | Xbox Video Camera

Sources

Notes