Decade BOB-3 User guide

DECADE ENGINEERING
5504 ValView Dr. SE, Turner, OR 97392-9517 (USA) ~ tel: 503.743.3194 ~ fax: 503.743.2095
website: www.decadenet.com
BOB-3 Application Guide ~ Firmware V3.4 ~ December 21, 2004
(Please check our website for the latest version of this document.)
Introduction
BOB-3 is Decade's third-generation low-cost videotext overlay module. BOB-3 lets your microcontroller or PC
display up to 680 characters on standard video monitors and TV sets. With 63 user-definable characters, BOB-3
supports pseudo-graphics and multiple languages. BOB-3 generates video on-board, or automatically genlocks to
your video source and superimposes characters over the image. Printable characters and commands control BOB-
3 through a fast RS-232 style data link, much like a simple serial printer. BOB-3 works with most microcontroller
chips and modules, including the BASIC Stamptm. PAL video compatibility is optional at ordering time.
Cautions & Revision History
ESD (electro-static discharge) safety precautions must be followed at all times when handling BOB-3 modules. Use
a grounded wrist strap and grounded work surface. BOB-3 modules must be stored and shipped in static-shield
(metallic, not pink poly) packaging. Use a SIMM socket! Soldering directly to BOB-3 voids the warranty.
[V3.40] Fixed bugs: BE command repetition eventually trashes display, video status ignored during vertical scroll.
Allowed printing outside active vertical scroll block. Revised vertical scroll behavior to print incoming characters
immediately instead of waiting for line buffer full or <CR>. Added simple ‘networking’ support on pin 6. Added 2C
and 2L commands, to support <LF> code.
[V3.30] Fixed bugs: RAM characters sometimes invisible after video mode change, JN command fails if new value
is less than current line number. Allowed arbitrary data with Y command in boot script. Disabled P command
execution in boot script. Added hardware method to clear boot script. Supported double-width characters in text
crawl. Added work-around for minor artifact of JO command.
[V3.20] Fixed minor bugs in H command processors. Added PAL range limits for H commands and corrected the
list of supported ASCII codes in this document.
[V3.10] The status report string was further extended in firmware version 3.10, to include video standards
compatibility reporting (NTSC or PAL). See S command description.
[V3.00] Several commands were added or extended. The new commands are: JR, K, MI, MN, VL, Y, ZC, ZP, 1D
and 1S. Boot script capacity (N command) was doubled, and three new communication bit rates were added. All
changes are believed to be backward compatible with version 2 application programs except increased start-up
delay time (to 500mS), a different report string generated in response to the S command, and the (simplified)
response to bad commands.
[V2.00] N command termination character was changed from <CR> to”|” (the vertical bar symbol).
BOB-3 Version 3.4 Application Guide ~ Copyright © 2004 by Decade Engineering ~ Page 1

BOB-3 Version 3.4 Application Guide ~ Copyright © 2004 by Decade Engineering ~ Page 2
Video Modes
This document makes references to the video operating modes offered by BOB-3. The basic modes are “Local”
and “Genlock”. Genlock mode may also be called overlay mode, because video generator synchronization
(genlock) must be achieved in order to superimpose characters on the image. A third video operating mode,
“Automatic,” derives from BOB-3’s ability to switch between the basic modes by detecting video input.
BOB-3 powers up in Automatic. If there’s no video input, it selects local mode. In this case, BOB-3 generates the
complete video signal, and characters appear on a blue (by default) matte background. If video input is present,
BOB-3 switches to genlock mode so that characters are superimposed on the externally generated video signal.
BOB-3 continues to monitor incoming video and switch between the basic modes as required to maintain a video
signal at the output.
Application programmers can force BOB-3 to stay in local or genlock modes if desired. Be aware, however, that
video crosstalk artifacts can result from forcing local mode while video input is applied. Undesired mode switching
(to local mode) due to incoming video signal dropouts or glitches can be avoided by forcing genlock mode. BOB-3
exhibits better behavior than BOB-II in this respect, so it’s unlikely that you will be compelled to deal with video
mode control directly.
Specifications
Physical BOB-3 is designed in the 30-pin SIMM form factor, 3.50 x 1.05 x 0.35 inches. Module weight is about
0.42 ounces (12 grams). Ambient operating temperature range is 0~50 degrees C.
Power
Supply
Nominal supply voltage range is +5VDC ±5% or +8~15V at 70mA typical. An auxiliary +5V regulated
output (pin 3) is rated at 50mA and ±5% voltage tolerance. Auxiliary supply output current adds to
main supply current drain, when main supply input (pin 1) is used.
Data I/O
The data path is asynchronous serial with crystal-controlled rates of 1200, 2400, 4800, 9600, 19.2K,
38.4K, 76.8K, and 153.6K bits/S, using 8 data bits, no parity, one stop bit (8N1), and inverted data.
Maximum low logic input level: 1.0V. Minimum high logic input level: 3.0V. Default bit rate is 9600. Bit
rates are selectable via pin strapping–see Pin Descriptions. BOB-3 connects directly to the UART
TXD/RXD pins of most microcontrollers. An inverting RS-232 interface (industry standard) is required
for connection to PC COM ports. Software handshaking is provided, but use is not mandatory. Six
pins serve as software-controlled digital outputs.
Print
Speed
Printable characters are normally written to display RAM within a few uS after the stop bit is
received, so total print delay time is essentially that of the serial interface (e.g. 521uS per character
at 19,200bps). Characters may not appear in the display until the next video scan cycle, depending
on when they are written. If single-frame print timing accuracy is required, host write cycles should
be triggered from vertical sync. The crawl mode supplemental circuit given in this document is a
vertical sync separator, and it’s often suitable for this purpose.
Video I/O
BOB-3's video environment is RS-170A (NTSC) composite baseband, 1Vpp 75 ohms unbalanced.
PAL-B video compatibility is available as an ordering option. Y/C video (S-Video) can be
accommodated with external circuitry. The video input accommodates up to +2.5VDC bias mixed
with incoming video. The video output contains a small DC bias (+1V), which is common to many
video sources and is well tolerated at the inputs to most video equipment. An internal color video
background signal is automatically generated if video input is not supplied, but application programs
may enforce genlock or local video modes. Video control and timing signals are available by
software command at six output pins.
Character
Format
Up to 680 characters may be displayed on screen, in 40 columns and 17 rows (16 if vertical scrolling
is active). 320 character patterns are provided as 12x13 pixel bitmaps, including upper & lower case,
italics, European language support, and a set of graphics characters useful for lines, bar graphs, etc.
Non-ASCII characters are accessible through a simple command protocol. 63 of the standard
character patterns are stored in font RAM and may be replaced by user-defined bitmaps, to support
character-based graphics displays or alternate languages.

Display
Features
Only monochrome text is available in genlock/overlay mode. Characters from ROM are displayed by
default in white with a thin black outline. Halftone (reduced video intensity) and black character
backgrounds are optional. Characters from font RAM have less display flexibility. This includes
European language support, which is part of the default RAM character set. Color display features,
including character background control, are supported in local video generation mode. In local mode,
blue matte background is supplied by default. Other background colors are available by command.
Blinking may be selected for any character or group in either video mode. Manual adjustment of
transparency as well as character and background brightness (gray scale) is optional, with external
circuits. Vertical scrolling may be configured for any contiguous group of display rows. A single crawl
(horizontal scroll) line can display up to 256 characters sequentially. No other display is possible
when crawl mode is invoked. The entire text display may be toggled on or off without affecting the
contents of display RAM. Writing to display RAM is permitted with display on or off. A non-volatile
boot script memory stores up to 512 characters that may be used to configure BOB-3 and/or
automatically generate a display at power-up time.
Note: Product specifications, policies and prices are subject to change without notice. Contact Decade Engineering
to confirm current status if any specified parameter is critical to your application.
System Hookup
Basic Hookup:
The schematic diagram below shows a typical BOB-3 installation. The serial data rate defaults to 9600bps. 4.7K
pullup resistors (to pin 3) are required at pins 12, 13, and 14 unless those three socket contacts are left floating. An
RS-232 hardware interface is required for connection to a PC COM port (see next section), but not for connection
to a microcontroller. Some optional BOB-3 features are not implemented here, but are discussed in other parts of
this document.
VIDEO OUT
BOB-3 30-PIN SIMM SOCKET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
DATA IN
VIDEO IN
DATA OUT
GND
+12V
4.7K x 3
Important Notes:
Pin 2 and pin 29 must be linked through a PCB ground plane or other low-impedance connection. Use 22AWG or
larger wire (or multiple wires) for hand-wired installations or development fixtures.
April 22, 2004: Decade Engineering now recommends that new BOB-3 applications use regulated 5VDC power at
pin 3 instead of unregulated DC applied to pin 1 as shown above (also see pin description table). There will be no
difference in BOB-3 operation, aside from reduced on-board power dissipation. This hookup change simply makes
your host circuit board compatible with power supply requirements for BOB-4, our as yet ‘unannounced’ next-
generation video overlay module. No further BOB-4 information is published at this time, but we will attempt to
answer specific questions from customers regarding support for existing BOB-3 features in BOB-4.
BOB-3 Version 3.4 Application Guide ~ Copyright © 2004 by Decade Engineering ~ Page 3

RS-232 Hardware Interface:
BOB-3’s serial data I/O signals can connect directly to the UART TXD/RXD pins of most microcontrollers, but you
need an inverting RS-232 hardware interface if you want to connect to a PC serial port or any other ‘true’ RS-232
host system. Here’s a PC COM port interface circuit example:
To BOB-3 pin 2
C2
0.1uF
U1 SP232ECP
15
16
13
8
10
11
1
3 4
5
2
6
12
9
14
7
GND
VCC
R1IN
R2IN
T2IN
T1IN
C1+
C1- C2+
C2-
V+
V-
R1OUT
R2OUT
T1OUT
T2OUT
J1
DB9-FEMALE
1
2
3
4
5
6
7
8
9C5
0.1uF
To BOB-3 pin 8
To BOB-3 pin 3
C1
0.1uF
C3
0.1uF
To BOB-3 pin 9
C4
0.1uF
In the RS-232 interface example above, the PC’s hardware handshake signals are looped back. This can simplify
application programming, but it’s not necessary if you know how to deal with each of those signals explicitly in
software. BOB-3 relies on software flow control, so the only host connections actually required are serial data in/out
and ground. J1 pin connections are for a standard male/female 9-pin serial modem cable with all pins wired straight
through. This hookup will not work with null-modem cables, or any other serial cables with internal cross-
connections.
The suggested Sipex SP232ECP (plastic DIP package) chip can use charge pump capacitors as low as 0.1uF.
Maxim’s old standard MAX232 requires 1.0uF, but the MAX202 works with 0.1uF. Chip pinout is identical. Even
though the Sipex chip incorporates 15KV ESD protection, you should add protective networks in the RS-232 signal
lines if your system environment isn’t benign. EMI filtering may also be required. Be sure to add a power supply
decoupling capacitor of at least 0.1uF across U1 pins 15~16 (C5 above).
Note that some industry-standard RS-232 interface chips do not support the highest communication bit rate now
offered by BOB-3. If you’re using one of the highest bit rates, be sure to check this specification as part of your
component selection process. Also confirm that cable capacitance does not exceed the chip’s drive capability at
your system’s maximum speed.
Many other circuit variations are possible, including the simple receive-only transistor circuit described in the BOB-II
literature, but most BOB-3 applications will benefit from bi-directional communication and software handshaking.
This is especially true at any of the higher baud rates.
Pin Description Table:
Pin Description
1 +12VDC Supply; 8~16V acceptable, 70mA required (plus pin 3 load)
2 Ground (power & digital); also wire to pin 29 or host board ground plane.
3 +5VDC ±5% auxiliary output, or +5VDC regulated power supply input. 50mA maximum
load. Add decoupling capacitance if load current isn’t constant! +5VDC ±5% power may
be applied to BOB-3 here if pin 1 is left open.
4 PD5; Reserved (do not connect)
5 PD4; Reserved (do not connect)
6 RX Enable; incoming data is ignored if this input is low. Useful when more than one BOB
is connected to a single controller. Weak internal pullup. (use is optional)
7 Vertical sync input from crawl circuit (use is optional)
BOB-3 Version 3.4 Application Guide ~ Copyright © 2004 by Decade Engineering ~ Page 4

BOB-3 Version 3.4 Application Guide ~ Copyright © 2004 by Decade Engineering ~ Page 5
8 TXD; Transmit data output, 5V logic
9 RXD; Receive data input, 5V logic
10 CPU Reset\ input (low true, usually needed only for factory test)
11 ADC7; Reserved input (should be grounded)
12~14 Baud rate select inputs; defaults to 9600bps if not connected. 4.7K pullup resistors (to pin
3) must be connected to these pins if they’re not tied permanently high or low. See baud
rate table below.
15 Video detector output; low if input video is missing, can drive LED with series resistor of
330~680 ohms to +5V (pin 3).
16 P4/RED Output port (use is optional)
17 Factory test (do not connect)
18 Factory test (do not connect)
19 Factory test (do not connect)
20 P5/CSYNC Output port; CSYNC output function is required for crawl feature, if user
intends to implement it. See “Crawl Mode” topic.
21 Character intensity control input (use is optional). Leave open if unused. Not controlled by
software. See notes for control hookup.
22 Background intensity control input (use is optional). Leave open if unused. Not controlled
by software. See notes for control hookup.
23 Clamped video output (for optional external video mixing circuit)
24 P3/GRN Output port (use is optional)
25 P2/BLU Output port (use is optional)
26 P1/BLKG Output port (use is optional)
27 P0/YM Output port (use is optional)
28 Video output; drives 1Vpp into 75 ohms; see notes.
29 Ground (for video signals); also wire to pin 2 or host board ground plane.
30 Video input; requires 1Vpp into 75 ohms (use is optional).
Notes:
o Only DC power, data input, and video output connections are mandatory. Video input is necessary for
genlock/overlay functionality. Data input is not necessary if a start-up display (boot script) has been stored
and it is the only required display. See basic hookup diagram.
o Character and background intensity control inputs (pins 21 & 22) are optional, and may be used to trim
foreground and background brightness. Measure video output with an oscilloscope if precise level settings
are required. Use 10K linear pots, and connect as follows:
1. Counterclockwise end: ground (BOB-3 pin 29)
2. Wiper: BOB-3 pin 21 or 22
3. Clockwise end: +5VDC (BOB-3 pin 3)
o Decade Engineering recommends the addition of 4.7K pullup (to +5V) resistors at pins 12~14 unless they
are tied permanently high or low for baud rate selection. Weak internal pullups are provided, but wrong
baud rate selection is possible under some conditions if pullup current is not augmented. Strap one or more
pins to ground as required to configure the serial communication rates listed below:
Pin 12 Pin 13 Pin 14 Baud Rate (bps)
Lo Lo Lo 1200
Lo Lo Hi 2400
Hi Lo Hi 4800
Hi Hi Hi 9600
Lo Hi Hi 19,200
Hi Hi Lo 38,400
Lo Hi Lo 76,800
Hi Lo Lo 153,600

Digital Output Ports:
P0~P5 may be used as general-purpose logic outputs to control circuitry external to the BOB-3 module. These are
unbuffered 200uA CMOS outputs; don’t attempt to drive heavy loads such as LEDs without buffering. See {O
commands for application programming details.
Alternate port output signals, selected by software, may be used in external video processing circuitry as shown in
the drawing below. CSYNC (composite sync) may be used independently, to develop clamp pulses for DC
restoration, etc. Note that CSYNC is reserved for use with external circuitry that must be installed to use the text
crawl feature of BOB-3 modules with firmware version 2.00 or higher.
Variable Transparency:
BOB-3 supports manually variable video overlay transparency, but this feature requires a bit of external application
circuitry. The circuit below is an example of what’s necessary:
+5V
J1
BNC/RCA
1
2
Q1
2N3904
BOB-3 pin 3
R1
75
R2
100 EN
+
-
V+
V- U1
AD8041
3
26
74
8
BOB-3 pin 29
VR1
2K
1 3
2
+
C1
10uF Tantalum
BOB-3 pin 28
R3
390
BOB-3 pin 23
VIDEO MIX
Video Out
BOB-3 Version 3.4 Application Guide ~ Copyright © 2004 by Decade Engineering ~ Page 6

Use the new video output at J1 instead of BOB-3 pin 28. Do not substitute Q1 with a buffer IC. The DC offset
voltage across its base-emitter junction is an important feature of this application circuit. The AD8041 is a video op-
amp from Analog Devices that works well on 5V power. The enable pin is left unconnected, so it’s always
functional. All that’s really needed here is a good unity-gain buffer that can drive 150 ohms to 2Vpp at 5MHz (SR >
63V/uS) without distortion. The video blanking level is about +1.4V at the input to U1, so a simple emitter follower
would cause sync tip compression. Note that some video amplifier chips also have trouble supplying adequate
output current near the ground rail.
The Video Mix pot must be set for maximum contrast (wiper to pin 3) in local video mode.
Crawl mode:
P5 (pin 20) cannot serve as a digital output port when crawl is used, because it’s needed to bring CSYNC out. A
logic-level vertical sync signal (derived from CSYNC) is required at pin 7. This is the recommended supplemental
circuitry for use with crawl mode in BOB-3 modules (R4~6 values revised March 17, 2003):
R6
47K
R3
10K
C1
.01uF
V+5
V+5
R1
4.7K
R2
47K
V+5
+
-
U1
LM311
2
37
5
6
4
18
R4
4.7K
R5
47K
BOB-3 PIN 7
C2
0.1uF
BOB-3 PIN 20
Using BOB-3 in a cable TV system:
It's not possible to insert a single BOB-3 in a cable TV system and display the same text on all channels at once.
There are a number of reasons for this. In a cable system, video signals are modulated onto RF carriers at different
frequencies (that's how the TV tuner is able to pick out just one). The signals often originate at widely separated
locations with no regard for scan synchronization, and individual signal strengths may be poorly controlled.
BOB-3's input and output are both baseband video. This means that incoming TV channels must be demodulated
from RF to baseband in order to place a text overlay on the image. To display the output from BOB-3 on a standard
TV receiver, you must use an RF modulator to re-create a TV broadcast channel, which may then be fed into your
cable system for distribution to as many TV sets as required. Each TV set must be tuned to the modulator's output
channel in order to view the text.
Of course, you need a demodulator (tuner), a BOB-3, and a modulator for each TV channel requiring a text overlay.
A side-benefit of this arrangement is that you may freely restructure channel assignments in your local cable
system. A potential problem is that low-cost modulators are often poorly filtered and may generate interference on
adjacent channels. Be sure to use modulators that are designed for adjacent channel operation, or else leave dead
channels between the ones you place in service.
Using BOB-3 with Y/C video (S-Video):
The alternate output function of pin 26 is a fast blanking signal that may be used in external video processing
circuitry to suppress chroma during character insertion times. Locally generated video will lack the color
component, but this isn’t a problem in many applications. Consult Decade Engineering for a recommended Y/C
video application circuit.
BOB-3 Version 3.4 Application Guide ~ Copyright © 2004 by Decade Engineering ~ Page 7

BOB-3 Version 3.4 Application Guide ~ Copyright © 2004 by Decade Engineering ~ Page 8
SIMM socket Information:
Molex part numbers 15-46-3053 (Tin), and 15-46-3043 (Gold) are suitable. Amp 822056-2 (Tin) and 822061-2
(Gold), and Adam Technologies SIMM-130-VTL (Tin) and SIMM-130-VGL (Gold) are equivalent. Also see
Methode’s M43 series. Amp and Molex have ceased production, but many component distributors cross-reference
to other manufacturer's part numbers.
Application Programming
Control Protocol:
Serial communication parameters are: 8N1 (8 data bits, no parity, 1 stop bit). Bit rates other than 9600bps are
configured by grounding pins 12~14 of the BOB-3 module at installation time. See pin descriptions.
No RS-232 hardware interface is needed for use with a Parallaxtm BASIC Stamptm or any industry-standard
microcontroller. If the Stamp is programmed for inverted data, it may be connected directly to BOB-3. BASIC Stamp
SEROUT signal polarity conventions are opposite to that adopted here. Set BS2 Baudmode to 84 or 85 (for
9600bps). Set BS1 Baudmode to T1200 or T2400.
Your application program must manage the software handshake correctly if you transmit data to BOB-3
continuously at a high rate. BOB-3 transmits the <XOFF> character (hex 13, ctrl-S) if the receive data buffer (512
bytes) reaches 75% full, and transmits <XON> (hex 11, ctrl-Q) when it drops below 25% full. This is an industry-
standard flow control technique that is fully compatible with common PC terminal emulation programs such as
HyperTerminaltm.
After a brief start-up delay (about 500mS), BOB-3 transmits {HR<CR> (hardware reset) and <XON>, to inform the
host controller that it’s on-line. BOB-3 may send a garbage character or two during initialization. BOB-3 always
monitors incoming video. If video status changes, and at start-up time, BOB-3 transmits {VT<CR> or {VF<CR>,
indicating presence or absence of incoming video.
Any received character not preceded by the command prefix ({) is interpreted as ASCII text and written to the
screen at the current ‘cursor’ (print position) location. The cursor automatically advances to the next available
character cell and wraps to the next line, or back up to the first line as required. Display rows (lines) are numbered
from the top down starting with zero. Display columns are numbered from left to right starting with zero. ROM
characters are presented with white foreground and thin black outline by default.
Non-ASCII characters and unsupported ASCII characters are ignored in character translation modes other than 3
and 4 (see {T command). In modes 3 and 4, transmit literal byte values (see character set illustrations) to specify
each printable character. Do not send data containing the command prefix character (hex 7B) while in translation
mode 3 or 4 unless you intend to send a command. The following ASCII codes are supported in mode 0, the default
translation mode:
SP (space) CR (carriage return) A~Z a~z 0~9 ~ ! # $ % & * ( ) + ' ` - = ; : " , . / ? < >
ASCII <CR> (carriage return) normally moves the print position to the left end of the next available line. The {Z and
{2 commands change this behavior in ways that are useful for some applications.
Commands sent to BOB-3 must be prefixed by the left curly brace character: {All commands except {N and {VW
employ a fixed-length format, and do not require a command suffix. Command salvos require a {prefix to each
command in the string. Command letters are not case-sensitive.

BOB-3 Version 3.4 Application Guide ~ Copyright © 2004 by Decade Engineering ~ Page 9
Command Description
{Ayy Clears a single row of characters if “yy”=00~16. Clears the entire screen and sets the ‘cursor’ to
top left home position if “yy”=17. Clears the scroll buffer if “yy”=18.
{BE & {BD Display enable/disable. Enabled by default. Display RAM contents are not affected, and
characters may be written to display RAM in either mode.
{Cxxyy Moves print position (cursor). “xx” is the two-digit decimal ASCII column number (00~39) and “yy”
is the row number (00~16). “yy” is ignored in scroll mode, but must be present.
{Dn Character background color for subsequent characters (local mode). “n” = 0~7. Defaults to blue.
{En Character foreground color for subsequent characters (local mode). “n” = 0~7. Defaults to white
{Fn Screen color (local mode). “n” = 0~7. Defaults to blue.
{GE & {GD Blink enable/disable. Subsequent characters flash or don’t flash in the display. Does not affect
characters from RAM font.
{GCn Blink duty cycle. “n” = 0~3. 0: Off, 1: 25%, 2: 50%, 3: 75%. Defaults to 50%
{GMb Blink mode. “b” = 0~1. 0: Default on/off flash, 1: Pixel data reversal
{GTb Blink rate. “b” = 0~1. 0: Default slow (1S), 1: Fast (0.5S)
{HN & {HX Not valid in BOB-3. External video levels are always active if the controls are installed.
{HHphh Horizontal display position offset with single-pixel resolution. “p” is a polarity sign (+ or -). “hh” is a
two-digit hex value in the range of 00~FF. Numeric letters may be either case. Range is limited
internally. For NTSC, the limits are —64 and +FF (—100 to +255 decimal). For PAL, the limits
change to —67 and +FF (—103 to +255 decimal). Note: Sync distortion can occur if the overlay is
shifted off screen.
{HVphh Vertical display position offset with single-pixel resolution. “p” is a polarity sign (+ or -). “hh” is a
two-digit hex value in the range of 00~FF. Numeric letters may be either case. Range is limited
internally. For NTSC, the limits are —09 and +E2 (—9 to +226 decimal). For PAL, the limits are —23
and +C8 (-35 to +200 decimal).
{Iyyn Character outline mode by row. “yy” = 00~16 (row number), “n” = 0~3. 0: no outline, 1: black
outline, 2: cell color with char outline, 3: cell halftone (dark video) with char outline. Defaults to
mode 1 in every row. RAM characters do not follow these rules, but mode 2 is useful.
{JE & {JD Vertical scroll enable/disable. Defaults to disabled. When enabled, new characters appear
immediately in the current scroll line. New line scrolls into display when <CR> is received or
current line is filled. Only 16 lines may be displayed in vertical scroll mode. See notes below.
{JU & {JO Scroll up/down. Defaults to scroll up.
{JSyy Scroll block starting line. “yy”=00~14. Defaults to 14.
{JNyy Scroll block ending line +1. “yy”=02~17. Minimum setting is starting line +2. Defaults to 16.
{JAn Scroll buffer autoerase. “n”=0~1. 0: off, 1: on. Default = on.
{JT Scroll status query. BOB-3 returns: {SS <E/D> S=hh E=hh D=<U/D> L=hh<CR> where E/D
indicates scrolling enabled/disabled, S parameter is the starting row, E parameter is the ending
row, U/D indicates up/down scroll direction, and L parameter is the buffer line number. Numeric
parameters are in hex.
{JRn Scroll rate. “n” = 0~1. 0: fast, 1: slow/smooth. Defaults to slow/smooth.
{K Returns current print position as {X-hh Y-hh<CR>, where “hh” are 2-digit hex numbers
indicating column and row where the next printable character will appear.
{Lyyhv Sets character size by row. “yy” = 00~16 (row number), “h” = 0~1 (horizontal size), “v” = 0~1
(vertical size). Size value 1 doubles the character size in either or both directions. Defaults to
minimum character size in every row.
{MF Video mode locked to Local Generation.
{MI & {MN Sets interlaced or non-interlaced video generation for local video mode. Defaults to non-interlace
(progressive) scanning, which looks best on most video monitors.
{ML Video mode locked to Genlock/Overlay.
{MM Video automatic mode select (default). Allow time for lockup if external video is applied.

BOB-3 Version 3.4 Application Guide ~ Copyright © 2004 by Decade Engineering ~ Page 10
{N<data>| Writes a boot script into non-volatile memory. Send {N| to erase it. When the termination
character (vertical bar symbol) is received, BOB-3 sends <XOFF>, then sends <XON> and
{OK<CR> upon completion (up to 6S later). All command and printable characters count toward
the maximum script length of 512 characters. The {P and {R commands and data values FF and
7C (the bar symbol) are prohibited in a boot script, except that any data is allowed within a {Y
command argument. The script is always executed at power-up time, without a host controller, but
BOB-3 also operates normally if a host is connected. Notes: [1] The termination character was
<CR> in firmware versions previous to V2.00. [2] Clear a rogue boot script by holding pin 15 low
as power is applied.
{ODh Selects alternate functions of 6 logic output pins on the BOB-3 module. “h” is a single byte in the
range of 00~3F which selects alternate video control output functions of P0~P5 if bits are set true.
Alternate function details are presented in the text.
Bit Position Port Name Alt. Function Default
0 (LSB) P0 YM 0
1 P1 BLNK 0
2 P2 BLU 0
3 P3 GRN 0
4 P4 RED 0
5 P5 CSYNC 0
{OPh Controls logic level (or polarity) of 6 output pins on the BOB-3 module, as listed above. “h” is a
single byte in the range of 00~3F. P0~P5 logic outputs match bit values of argument unless the
alternate port function has been selected. In that case, the corresponding video signal is inverted
if bit value is zero. All bits default to zero, so BOB-3 boots with the P0~P5 outputs low.
{P<data> Writes user-definable character memory (font RAM). This command must be followed by exactly
1638 bytes of data, which loads all 63 user-definable characters. The data is structured as
follows: Each character is 12 pixels wide by 13 tall. Data bits set to 1 (true) indicate active
foreground pixels in the display. 2 data bytes represent each pixel row, starting with MSB at left
end of each row. The last 4 bits of the second byte for each row of pixels are always zero. Pixel
rows are sampled top-to-bottom within each character, and characters are sampled sequentially
from character number 00 to 3E (3F is a ‘transparent’ space char). Notes: [1] This command could
overflow the receive buffer if transmitted at high speed without pacing or flow control. [2] See
default RAM character set illustration. [3] See {Y command to load a single RAM character
instead of all 63. [4] A BOB-3 Font Editor utility program is available without charge from Decade
Engineering; see www.decadenet.com. [5] Not allowed in a boot script!
{QT If Q is true, {U controls RAM character background color (globally), and {E controls RAM
character foreground color (globally) in local mode. In genlock mode, send {U0 for black
backgrounds. Other settings yield white backgrounds, so RAM characters can be made visible
only be sending {E0.
{QF If Q is false, RAM character background is defeated and the {U command controls character
foreground color instead.
{QA Engages automatic Q control mode (default). Sets Q false in genlock video mode, true in local
video mode. To achieve the appearance of transparent character backgrounds in both video
modes, RAM character backgrounds are internally set to the screen color in local mode.
{R Forces BOB-3 system re-initialization. Restores all defaults, clears display RAM, then executes
boot script (if present). Not allowed in a boot script!
{S System status query. BOB-3 returns: {ST Vv Mmmi Dd B34 NTSC<CR> where “v” is Tor F
(input video present or not), “mm” is 00~03 (video mode; 00: auto/local, 01: auto/genlock, 02:
local, 03: genlock), “i” is Ior N(local video is interlaced or non-interlaced), “d” is Eor D(display
enabled or disabled), B34 is the current firmware version, and the last characters are “NTSC” or
“PAL” denoting video standards compatibility.
{Tn Character translation mode. “n” = 0~4. 0: standard ASCII (default), 1: italic ASCII, 2: spatially
offset ASCII, 3: non-ASCII ROM characters, 4: user-definable RAM characters. See character set
illustrations for ROM characters (modes 0~3) and default RAM characters. Note: Do not send
data containing the command prefix character (hex 7B) while in translation mode 3 or 4 unless
you intend to send a command.

BOB-3 Version 3.4 Application Guide ~ Copyright © 2004 by Decade Engineering ~ Page 11
{Un Background color for RAM characters (local mode). “n” = 0~7. Defaults to 4 (blue). See {Q
commands for important details!
{VE &{VD Enable/Disable text crawl (horizontal scroll). When enabled, only a single line of text is displayed.
Incompatible with vertical scrolling. Oversize characters are allowed. Do not change the mode or
polarity of output ports P0~P5 during crawl mode–when {VD is transmitted, they will be reset to
the values in effect when {VE was sent. Color and blink controls are ‘global’ in crawl mode. P5
output must be available. Supplemental circuitry is required; see System Hookup section.
{VLnn Sets crawl line number. “nn” = 00~16. Defaults to 16 (bottom of screen).
{VRn Crawl rate control. “n” = 0~2. Defaults to 1.
{VW<data>} Writes crawl buffer. Character string length may be up to 256. Do not embed any commands in
the character string.
{Ynn<data> Similar to {P, but loads a single RAM character bitmap. “nn” = 00~62. Must be followed by exactly
26 bytes of data.
{ZCn <CR> clears to end of line if “n” = 1. “n” defaults to 0, for normal <CR> behavior.
{ZPnn Sets new print position starting column (after <CR>). “nn” = 00~39. Default = 00.
{1D Restores default display width value (9F).
{1Shh Sets display width. “hh” is a 2-digit hex number in the range of 36~C6. Defaults to 9F. Note: [1]
Characters can distort sync if they go off screen. [2] Use {HH command to fix horizontal position.
{2C &{2L Sets <CR> or <LF> to trigger the normal carriage return and line feed response. <CR> is default.
Notes:
o In genlock/overlay mode, any color specification other than black causes a white display. The color controls
operate normally only in local video generation mode. Command color parameters are as follows:
“n” Color
0 Black
1 Red
2 Green
3 Yellow
4 Blue
5 Magenta
6 Cyan
7 White
o RAM characters are not treated the same as ROM characters in the display. Outlines and blinking are not
available. See {I, {Q and {U commands for additional discussion. Include a space character in custom
character sets, to avoid frequent {T mode switching. The space character at 3F in RAM behaves like the
space character at FF in ROM. They both show screen color instead of character cell background color.
o Version 3.4 vertical scroll mode changes: If print position is set to a row outside the scroll block, the
command is now accepted. To restore print position to the scroll line, issue the scroll enable command
{JE, or set the print position within the scroll block using {Cxxyy (“yy” is ignored in favor of the active scroll
line, but it must be present). If the current print position is within a scroll block, <CR> triggers a scroll and
moves the print position to the beginning of the new line. A <CR> that moves the print position into the
scroll block (from the last line of a non-scrolling area into the top line of a scroll block) also moves the print
position to the active scroll line.
o Starting with firmware version 3.0, command exceptions cause the command processor to abort. BOB-3
emits {?<CR> as in previous firmware versions, but does nothing else in response to the faulty command.

ROM Character Set:
Default RAM Character Set:
BOB-3 Version 3.4 Application Guide ~ Copyright © 2004 by Decade Engineering ~ Page 12

BOB-3 Version 3.4 Application Guide ~ Copyright © 2004 by Decade Engineering ~ Page 13
Programming Example:
Here’s a simple QuickBASICtm programming example:
' BOB-3 Test Program ....Provides a very brief exercise....
OPEN "com1: 9600,n,8,1,cs0,ds0,cd0,op1000,rs" FOR OUTPUT AS #1
PRINT #1, "{A17"; 'Clear the screen, in case we've been playing
PRINT #1, "{C1101"; 'Print title in center of 2nd line...
PRINT #1, "BOB-3 Test Program"
PRINT #1,
PRINT #1, "Time: "; TIME$
PRINT #1, "Date: "; DATE$
PRINT #1, "{U0{D0" 'Set background attribute for RAM & ROM chars
PRINT #1, "RAM characters are next... ";
PRINT #1, "{T4"; 'Prepare to print a few RAM characters
PRINT #1, CHR$(0); CHR$(1); CHR$(2); CHR$(3); CHR$(4); CHR$(5); CHR$(6);
PRINT #1, CHR$(33); CHR$(34); CHR$(35); CHR$(36); CHR$(37); CHR$(38);
PRINT #1, "{T0" 'Return to normal ASCII translation mode
CLOSE #1
END
Note that RAM character codes were entered as decimal values in this example, but hex values are given as labels
in the Default RAM Character Set illustration above. See www.decadenet.com for additional application
programming examples.
Troubleshooting
If BOB-3 appears unresponsive or confused:
Be sure to enter complete commands. It’s easy to forget the termination characters required with {N and {VW, or to
send insufficient data after a {P command, etc. Mistakes like this can be especially confusing if they occur in a boot
script! Rogue boot scripts can be cleared by holding pin 15 low as power is applied, even if BOB-3 is unable to
communicate properly with the host computer. Pin 15 is normally used to drive a video input status indicator.
Note: Starting with firmware version 3.3, pin 15 is tested at power-up time and immediately after an {R command is
received. During initialization, pin 15 is an input with internal pullup resistance of 20k~50k ohms. If this pin is pulled
below the logic low input threshold during those times, the boot script clear routine will be invoked! The routine
takes about five seconds to execute, and a confirmation message is sent to the host upon completion.
If the overlay doesn’t fit your monitor screen:
BOB-3 displays up to 17 lines of characters in both NTSC and PAL versions. The NTSC version, however, leaves
little guard space at screen top and bottom, which could cause portions of these lines to be masked by video
monitors that overscan excessively. If this happens to you, consider two possible solutions: [1] Don’t write anything
to line 0 or line 16. [2] Shift the overlay position downward with the {HV command and don’t use line 16. The PAL
version could exhibit the opposite problem, in that excessive guard space appears above the top line and below the
bottom line of displayed text. The best that can be done in this case is to move the overlay position up or down,
allowing text to come closer to screen top or bottom but not both.
The new {1S command added in firmware version 3 may be used to adjust display width if necessary. Use {HH to
correct horizontal centering if you alter display width.
If the text overlay isn’t stable:
Overlay jitters can be caused by weak and/or noisy video applied to pin 30. Typically, the video signal has been
attenuated by passage through a long cable (or double termination). The best cure for long cable woes is a robust

BOB-3 Version 3.4 Application Guide ~ Copyright © 2004 by Decade Engineering ~ Page 14
cable drive amplifier with pre-equalization for cable loss characteristics. Decade Engineering offers a Camera
Adapter Board (CAB) with broad adjustment ranges and high drive capability for this purpose. A Cable
Compensator or Video Processor at the receiving end may also be suitable. Bear in mind that long cables are
subject to noise injection from a variety of sources, including ground loops, so the cable receiving circuit may have
to deal with several kinds of signal defect simultaneously. Coaxial cable losses in the baseband video spectrum are
notoriously nonlinear as a function of frequency, making long cable compensation a distinctly non-trivial exercise.
Note: BOB-3 was not designed to work with tape playback signals from VCRs. In many cases it will work as
desired, but overlay stability can be unacceptable with some VCRs. It's generally worse in special effects modes
(e.g. freeze frame).
If operation is intermittent:
Tin-plated contacts can become unreliable if an electrical contact treatment has not been applied. We suggest
DeoxIT Power BoosterTM and ProGoldTM (or PreservITTM), from Caig Laboratories. Apply the contact treatment to a
cotton swab and polish all of the contact pads on your BOB-3 module, then reinstall it in the SIMM socket. This
procedure should result in a permanent cure for intermittent operation due to poor contact, where Tin or Tin/Lead
plating is present on the BOB-3 module or SIMM socket contacts.
Decade Engineering contact information:
Please check our website for the most recent version of this document before concluding that a defect exists.
Product warranty and service information is posted within the online ordering system.
Tel 503-743-3194
Fax 503-743-2095
Post 5504 Val View Dr. SE, Turner, OR 97392 (USA)
Email See website for current email contact information
Web www.decadenet.com
Obligatory Boilerplate:
Trademarks owned by other companies are hereby acknowledged.
=O=
Table of contents
Popular Control Unit manuals by other brands

Graco
Graco Dispensit 1052 operation & maintenance

Paragon
Paragon ERC-2 Installation data

Honeywell
Honeywell RM7838A Wiring diagrams

Seiko
Seiko G1216B1N000 user manual

National Instruments
National Instruments NI 9401 Operating instructions and specifications

Leonard
Leonard TM-2020B-DT-RF-R1 INSTALLATION ADJUSTMENT SERVICE