Category: Uncategorized

Xybernaut Head Mounted Display to VGA hax!

I have a Xybernaut Xyberview HMD, which originally connected to a Xybernaut MA-V or MA-IV wearable computer. Xybernaut went out of business after some questionable corporate shenanigans, but while they were around, they made a solid product. Unfortunately, they used a custom, or at least obscure, connector to hook that solid product together.

Thanks to the Wayback Machine, I’ve found the pinouts for the connector, and wired mine up so that it takes a standard VGA input. I also built a power supply for it, because it needs 5V and 15V power. The power supply takes 15V from a laptop power brick and drops part of it to 5V while also providing a 15V pass-through. I used a switching regulator, because otherwise I’d be dropping 10V at unknown current as heat.

I initially had the red and blue lines of the VGA connector crossed, but I think that is because they are crossed in the instructions that I found. My corrected pinout is below. If you happen to actually be equipped to do this hack, please do let me know if I made an error, and your terribly expensive, extremely obscure hardware from the mid ’90s somehow fails to work.

The HMD connector has two rows of pins in a connector that looks a little like a miniature Centronics connector. Assuming the longest edge of the connector is on top, there are 13 pins in the upper row (U1-U13) and 13 pins in the lower row (L1-L13).

Wire colors are described as the color of the wire, the color of the mark on it, and whether the marks are sparse. So Yellow/Red (sparse) means a yellow wire with a red mark on it that is less dense than the wire described as Yellow/Red. You’ll know it when you see it.

Signal Name       Xybernaut  Wire Color             VGA Pin
Red               L4         Pink/Red (sparse)      3
Red ground        L3         Pink/Black (sparse)    6
Green             L2         Yellow/Red (sparse)    2
Green ground      L1         Yellow/Black (sparse)  7
Blue              U14        Gray/Red (sparse)      1
Blue ground       U13        Gray/Black (sparse)    9
H Synch           L6         White/Red (sparse)     13
V Synch           L7         White/Black (sparse)   14
Synch ground      U10        Pink/Black             10
+5V               U1         Gray/Red
+5V               U2         Yellow/Red
+5V               U3         White/Red
+15V              U5         Pink/Red
Digital ground    L13        Yellow/Black           5
Digital ground    L10        Gray/Black
Digital ground    L5         White/Black
Analog ground     U8         White
Headphone out     L12        Pink
Mic in            U7         Yellow
HMD Sense         L8         Gray                   11

I connected the Gray/Black and White/Black wires to the ground of my power supply, the Yellow/Red, Gray/Red, and White/Red wires to 5V, and the Pink/Red wire to 15V. The display powers up, and I can drive it from my laptop using 640×480 resolution at 60Hz.

Unfortunately, none of this hacking changed the fact that wearing an HMD makes you look like a cyborg from space.

Neural Net book

For a book on a kind of dry subject, this book has an oddly humorous tone:

“It is also interesting to rotate a frog and notices that his eyes try to maintain their orientation up to some maximum angle at which time the frog will close his eyes, giving up the attempt at computing the appropriate adjustment of the visual input. Try not to let anyone see you doing these experiments”

“If a hole is punched in the visual cortex, V1, the only apparent deficit is a hole in the field of view… There are anecdotal records of people receiving damage to this part of the cortex. They report seeing President Bush’s thousand points of light.”

“At a recent neural network conference, Minsky tried to clear up the misconception that he was the devil.”

That last one is because Minsky wrote a proof that single-layer perceptrons can’t do the XOR operation, and funding for neural networks dried up for years. This made him unpopular with the people who had been getting that funding.

Lex and Yacc syntax highlighting for Nano

There’s not a lot to them, but it’s better than anything I could find on the Internet. The real key feature is a line in the yacc syntax highlighting file that marks whitespace at the end of lines. Since yacc/bison are sensitive to that, it’s good to be able to see it.

Nano syntax highlighting for yacc or bison:

## Syntax highlighting for yacc/bison input files
syntax "yacc" ".y$"
color red "%[a-zA-Z0-9]*"
## String highlighting.  You will in general want your comments and
## strings to come last, because syntax highlighting rules will be
## applied in the order they are read in.
color brightyellow "<[^=        ]*>" ""(\.|[^"])*""
## This string is VERY resource intensive!
color brightyellow start=""(\.|[^"])*\[[:space:]]*$" end="^(\.|[^"])*""
## Comments
color brightblue start="/*" end="*/"
## Visible space at line ends
color green,green "[[:space:]]+$"

Nano syntax highlighting for Lex or Flex:

## Syntax highlighting for lex/flex input files
syntax "lex" ".l$"
color red "%[^[[:space:]]]*"
## String highlighting.  You will in general want your comments and
## strings to come last, because syntax highlighting rules will be
## applied in the order they are read in.
color brightyellow "<[^=        ]*>" ""(\.|[^"])*""
## This string is VERY resource intensive!
color brightyellow start=""(\.|[^"])*\[[:space:]]*$" end="^(\.|[^"])*""
## Comments
color brightblue start="/*" end="*/"

Fixing Firefox's colors

If you are running Ubuntu with a dark theme and Firefox, you may have noticed that some text entry areas are too light to read. This is because a web developer only set the background and not the foreground color of the text area. When this happens, Firefox picks up the webpage’s background (likely white or something light), and the window manager theme’s text color (likely also white or something light in a dark theme). This means you get stuck reading light grey on white text. The fix is to put:

input{background-color:white;color:black;}
textarea{background-color:white;color:black;}
select{background-color:white;color:black;}

in your userContent.css file. That file may not exist yet, but you can create it in:

~/.mozilla/firefox//chrome/

And the next time Firefox starts up, it will use this code to color all inputs, textareas, and select boxes as white with black text.

I still don’t have a fix for all the buttons getting dark text on dark backgrounds.

Sprint cell phone codes

These are codes for doing a lot of random things to Sprint phones. I have an LG Lotus, and have been poking around in these service menus a bit. Unfortunately, I don’t have any way to get the MSL of a phone. I only have my MSL because I got my phone online, and they give you the MSL to register it.

I got the codes from this very useful thread.

##2342# (##CDG2#) CDG2 Menu (NAI setting here). Requires MSL.
##2539# (##AKEY#) AKey Menu. Requires MSL to Edit.
##2739# (##BREW#) BREW Software Menu. Requires MSL.
##2769737# (##BROWSER#) Browser Settings, also available under ##DATA#
##3282# (##DATA#) Power Vision Program. Requires MSL to Edit.
##33284# (##DEBUG#) Debugging Menu. Requires MSL.
##7738# (##PREV#) MOB_P_PREV (P_REV Prefs). Requires MSL.
##786# (##RTM#) Life Timers & Memory Reset. Requires MSL.
##8626337# (##VOCODER#) Vocoder Settings. Requires MSL to Edit.
##889# (##TTY#) TTY Menu (Same as Menu > Settings > More > Accessibility > TTY)
##XXXXXX# (MSL Code) Replace the 6 X with your MSL, offers SVC menu to change NAM and MSID

Turned off commenting

I’ve turned off commenting on this blog, because it only got spam. Drop me a line on twitter if you want to chat.