please dont rip this site

SX Microcontroller Serial Video Display:


by Eric Smith and Richard Ottosen

All project files in zip

README for Serial video display
Preliminary Release 0.3, 30-Jan-2001
$Id: README,v 1.7 2001/01/31 07:25:31 eric Exp $

Copyright 2001 Eric Smith <eric at>

SERVID is a program for the Ubicom (formerly Scenix) SX microcontroller to act as a serial video display terminal (output only).

Home page:


This is a preliminary release. As such, it basically works, but there are some known bugs (and probably a lot of unknown ones):

Supported control codes:

    $00 Null
    $07 Bell
    $08 Backspace
    $0A Line Feed
    $0C Form Feed - clear display and home cursor
    $0D Carriage Return
    $1B Escape - introduce escape sequence
    $7F Delete - ignored

    All unrecognized control characters are ignored.

Supported escape sequences:

    ESC A - Cursor Up    - wraparound rather than scroll
    ESC B - Cursor Down  - wraparound rather than scroll
    ESC C - Cursor Left
    ESC D - Cursor Right

    ESC H - Cursor Home
    ESC I - Reverse Line Feed - may scroll
    ESC J - Erase to End of Screen
    ESC K - Erase to End of Line

    ESC Y <col> <row> - Direct cursor addressing, col and row offset by 32


SERVID is designed such that user application code may be added to (or replace) the serial character processing. In this release of the code there are 919 words of program memory free for a user application, and 21 bytes of RAM free. The video generation is entirely interrupt driven, so the user application code can run at non-interrupt time without any critical timing constraints.

Software Requirements:

As written, SERVID will only assemble with the GPASM assembler, version 0.8.14 or newer. GPASM is Free Software:

Hardware Requirements:

SERVID requires a processor clock of 42.954545 MHz (12 times the NTSC color burst frequency). Note that future versions of SERVID may change to a clock frequency of 57.272727 MHz (16 times the NTSC color burst frequency). Digikey offers suitable Epson oscillators which they program to customer spec; a suitable 8-pin DIP footprint (4 actual pin) part is part number SG-8002DC-PHB-ND.

SERVID uses an 8-bit D/A converter on port B to generate the video output. A simple R-2R resistor ladder will suffice.

The serial input should be fed into port RA0. If a conventional EIA-232 receiver (MC1489, MAX232, or the like) is used, the variable ft_ser_noninv near the top of the servid.asm source file should be set to 0. For a non-inverting serial input (such as the crude resistor-only method, see the file SCHEMATIC), ft_ser_noninv should be set to 1.


_A Technical Introduction to Digital Video_ by Charles A. Poynton, published by John Wiley & Sons, 1996

ANSI/SMPTE 170M-1994 "SMPTE Standard for Television - Composite Analog Video Signal - NTSC for Studio Applications"

ITU-R Reccomendation BT.470-6 "Conventional Television Systems"


Many thanks to Richard Ottosen for designing and building the hardware, helping debug the code, and providing numerous helpful suggestions. He also adapted my delay routines to the SX. Several years ago he wrote the original test pattern generator for the PIC16C5x, which inspired my PIC-PONG game, and now this program.

Thanks to Richard Ottosen and Loren Blaney for supplying a better character generator font than the one I started to throw together.

Thanks to James Newton for posting the challenge:

Thanks to Ubicom for making fast yet inexpensive microcontrollers:

Thanks to Loren Blaney for writing SXPROG, which allows the Parallax SX-Key programmer (Rev. C only, unfortunately) to be controlled from environments other than M$ Windows:


This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. Note that permission is not granted to redistribute this program under the terms of any other version of the General Public License.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

NOTE: it is sometimes claimed that compliance with the GPL is awkward for commercial interests. Licenses for non-GPL use of this program may be negotiated with the author.

Bill of Materials

All parts but the microcontroller are available from Digikey. Digikey part numbers are given except for the microcontroller, for which a Mouser part number is given.

            Vendor     Distributor
Q.  Vendor  Part       Part Number    Description
--  ------  ---------  -------------  ----------------------------------------
 1  Ubicom  SX18AC/DP  619-SX18AC/DP  microcontroller, 18-pin plastic DIP
 1  Epson              SG-8002DC-PHB  preprogrammed oscillator, 42.9545454 MHz
 1  CTS                761-3-R220     8 * 220 ohm DIP resistor network
 2  CTS                770-103-R120   5 * 120 ohm SIP res. network, isolated

 1                                    15 ohm 1/8 watt resistor
 1                                    33K ohm 1/8 watt resistor
 1                                    180K ohm 1/8 watt resistor
 1                                    0.1 uF ceramic capacitor

 1                                    BNC or RCA jack for video output
 1                                    DB25 connector for serial input
 1                                    5V regulated DC power supply


Schematic for SERVID
$Id: SCHEMATIC,v 1.4 2001/01/04 23:52:55 eric Exp $

Copyright 2001 Richard Ottosen

           |               |
        0.1 uF             |
           |               |                                         1.25V p-p
           |       ----------------                                  Video into
           V      |                |                                 75 ohms
                  |  Ubicom    /   |
                  |  SX18AC   |  7 |--- 220 ohm ---+--------+--- 15 ohm --->
                  |           |    |               |        |
            +5V --| MCLR      |    |             120 ohm  120 ohm      +--->
                  |           |    |               |        |          |
 ----------       |           |  6 |--- 220 ohm ---+        |          |
|42.954545 |      |           |    |               |        V	       V
|   MHz    |------| OSC1      |    |            120 ohm
|Oscillator|      |           |    |               |
 ----------   NC--| OSC2      |  5 |--- 220 ohm ---+
                  |           |    |               |
                  |           |    |            120 ohm
           +------| RTCC      |    |               |
           |   	  |          /   4 |--- 220 ohm ---+
           V      |         |      |               |
                  | Port B <       |            120 ohm
                  |         |      |               |
              NC--| PA3      \   3 |--- 220 ohm ---+
                  |           |    |               |
              NC--| PA2       |    |            120 ohm
                  |           |    |               |
           +------| PA1       |  2 |--- 220 ohm ---+
           |      |           |    |               |
          --      |           |    |            120 ohm
    piezo [] )))  |           |    |               |
          --      |           |  1 |--- 220 ohm ---+
           |      |           |    |               |
           |      |           |    |            120 ohm
           V      |           |    |               |
EIA-232           |           |  0 |--- 220 ohm ---+
Input             |            \   |               |
<-----+--- 33K ---| PA0            |            120 ohm
      |           |                |               |
    180K           ----------------                |
      |                    |                    120 ohm
<-----+                    |                       |
      |                    |                       |
      V                    V                       V


For the GPASM assembler, version 0.8.14 or newer:



Sample video from the SERVID (seen at bottom right)The development environmentThe development environmentThe Developers: Richard on the left, Eric on the Right.

To Do

TODO for Serial video display
$Id: TODO,v 1.3 2001/01/04 23:05:01 eric Exp $

Copyright 2001 Eric Smith <eric at>

* oscillator 16x vs. 12x (conditional?)

* make scroll up conditional

* port B DAC vs. 3 port A bits (sync, blank, video) (conditional)

* lazy scroll - when a printable character is written to the last column of
  the last row, defer scrolling until another printable character is written

* interlace

* use more efficient packing for control and escape character tables

* improve 625/50 mode (make pixels 4 scan lines tall)

* write more documentation - software theory of operation

* SX48/52 version - more RAM allows for more than 4*20 characters

Peter Verkaik's port of the MASM SERVID code to the SXKey


See also:

file: /Techref/scenix/lib/io/dev/video/servid.htm, 13KB, , updated: 2010/11/27 10:32, local time: 2018/1/21 00:42, owner: pv-bos-KA6,

 ©2018 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions?
Please DO link to this page! Digg it! / MAKE! / 

<A HREF=""> SX Microcontroller Serial Video Display: SERVID</A>

After you find an appropriate page, you are invited to your to this massmind site! (posts will be visible only to you before review) Just type in the box and press the Post button. (HTML welcomed, but not the <A tag: Instead, use the link box to link to another page. A tutorial is available Members can login to post directly, become page editors, and be credited for their posts.

Link? Put it here: 
if you want a response, please enter your email address: 
Attn spammers: All posts are reviewed before being made visible to anyone other than the poster.
Did you find what you needed?

  PICList 2018 contributors:
o List host: MIT, Site host, Top posters @20180121 David C Brown, Isaac M. Bavaresco, Manu Abraham, RussellMc, Van Horn, David, Dwayne Reid, Harold Hallikainen, James Cameron, Sean Breheny, John Gardner,
* Page Editors: James Newton, David Cary, and YOU!
* Roman Black of Black Robotics donates from sales of Linistep stepper controller kits.
* Ashley Roll of Digital Nemesis donates from sales of RCL-1 RS232 to TTL converters.
* Monthly Subscribers: Gregg Rew. on-going support is MOST appreciated!
* Contributors: Richard Seriani, Sr.

Welcome to!