About the Datalink
What is it?
Download Protocol
[This Page] Display Segments
Memory Map
150 vs 150s
EEProms

Wristapp Programming
Reference
Creating Wristapps
Wristapp Format
The State Table
Wristapp Routines
Wristapps

Wristapp Programming
Tutorials
1 - Hello World
2 - Getting Input
3 - Better Input
4 - Showing Selection
5 - PassWord
6 - Day Find
7 - Playing with Sound
8 - Using Callbacks
9 - Hex Dump
10 - EEPROM Dumper
11 - Spend Watch
12 - Sound Schemes
13 - Random Numbers
14 - Hourly Chimes
15 - Lottery Picker

Sound Schemes
Sound Hardware
Sound Scheme Format

Home Send Mail

The Display

The datalink display has 4 basic areas when it comes to programming. For convenience, I call them simply:

  1. TOP - The top 6 digits. Each of these digits are represented by 9 segments which can be individually controlled. There are dash and period separators between the second/third and the forth/fifth digits for displaying dates. There is also a dash separator between the third and forth digits which is used for telephone numbers. It also has a tic mark before the first digit as a shorthand for the first two digits of the year.
  2. SYMBOLS - The AM/PM, Reminder, Night Mode, Alarm, and Note symbols. These tend to only be used by the Time app.
  3. MIDDLE - Like the TOP area, the Middle area also consists of 6 digits each made up of 9 segments. For separators between the second and third digits, you can use a colon, period, or a dash. The fourth and fifth digits can be separated by a dash or a period.
  4. BOTTOM - The bottom 8 digits which are each represented by a 5 by 5 matrix of pixels that can be individually addressed. The ROMs also support a series of scrolling routines to allow a message to be scrolled across the bottom at a nice even rate.

What is really nice about the watch is that every segment on the display is individually addressable. For convenience, we use a notation of BIT:OFFSET to indicate how to address the segment. What this means is that you need to set DISP_ROW ($001d) to the OFFSET value and then set/clear the BIT in DISP_COL ($001e) to turn on/off the corresponding segment. For example, if you wanted to turn on the AM indicator on the 150 which is referred to as 4:48, you would do:

   LDA  #$48

   STA   DISP_ROW

   BSET  4,DISP_COL

Here's a quick overview of the display. All of the segments are clickable so that you can determine the way to set/clear that segment. This is a Java applet, so if your browser is not capable of supporting Java, you won't be able to see it. When you click on the segment, it will hi-light in red and display the appropriate set values on the status bar. Value1 will be what you use for the 150 and Value2 will be for the 150S.

The TOP/MIDDLE Character Set

The TOP and MIDDLE lines only allow for 32 different characters to be displayed (unless of course you do it all yourself). For convenience, we refer to this character set as the TIMEX6 character set. All of the Wristapps that are written use the TIMEX6 macro to convert ASCII strings to this set. Because you have to use the number zero for the letter O and the number five for the letter S, the TIMEX6 macro will handle the conversion for you. The characters that can't easily be displayed are: J K Q V X Y. Fortunately, they aren't used in a lot of words (except of course my first name :-).

The TIMEX6 character set does allow for the names of all the internal Apps to be displayed. It is important to be aware of this limited character set when choosing the name of your Wristapp, otherwise you won't be able to display it easily when someone switches to the app.

$00 $01 $02 $03 $04 $05 $06 $07 $08 $09 $0a $0b $0c $0d $0e $0f
0 1 2 3 4 5 6 7 8 9 A B C D E F
$10 $11 $12 $13 $14 $15 $16 $17 $18 $19 $1a $1b $1c $1d $1e $1f
G H : L M N P R T U W Y r _ - +

The routines which are useful for putting strings on the top and middle lines are:
PUT6TOP ???
PUT6MID ???
PUTMSG1 ???
PUTMSG2 ???
CLEARTOP ???
CLEARMID ???
CLEARTOP12 ???
CLEARTOP34 ???
CLEARTOP56 ???
CLEARMID12 ???
CLEARMID34 ???
CLEARMID56 ???
PUTLINE1 ???
PUTLINE2 ???
PUTTOP12 ???
PUTTOP34 ???
PUTTOP56 ???
PUTMID12 ???
PUTMID34 ???
PUTMID56 ???

You can see what all of these are displayed as below.
$00 - 0 $01 - 1 $02 - 2 $03 - 3
|=====|

|     |

|     |

|     |

|     |

|     |

|=====|

      |

      |

      |

      |

      |

      |

      |

 =====|

      |

      |

 =====|

|      

|      

|===== 

 =====|

      |

      |

 =====|

      |

      |

 =====|

$04 - 4 $05 - 5 $06 - 6 $07 - 7
|     |

|     |

|     |

|=====|

      |

      |

      |

|===== 

|      

|      

|===== 

      |

      |

 =====|

|===== 

|      

|      

|===== 

|     |

|     |

|=====|

 =====|

      |

      |

      |

      |

      |

      |

$08 - 8 $09 - 9 $0a - A $0b - B
|=====|

|     |

|     |

|=====|

|     |

|     |

|=====|

|=====|

|     |

|     |

|=====|

      |

      |

 =====|

|=====|

|     |

|     |

|=====|

|     |

|     |

|     |

 =====|

   |  |

   |  |

 =====|

   |  |

   |  |

 =====|

$0c - C $0d - D $0e - E $0f - F
|===== 

|      

|      

|      

|      

|      

|===== 

 =====|

   |  |

   |  |

      |

   |  |

   |  |

 =====|

|===== 

|      

|      

|===== 

|      

|      

|===== 

|===== 

|      

|      

|===== 

|      

|      

|      

$10 - G $11 - H $12 - I $13 - L
|===== 

|      

|      

|      

|     |

|     |

|=====|

|     |

|     |

|     |

|=====|

|     |

|     |

|     |

       

   |   

   |   

       

   |   

   |   

       

|      

|      

|      

|      

|      

|      

|===== 

$14 - M $15 - N $16 - P $17 - R
|=====|

|  |  |

|  |  |

|     |

|     |

|     |

|     |

|=====|

|     |

|     |

|     |

|     |

|     |

|     |

|=====|

|     |

|     |

|=====|

|      

|      

|      

|=====|

|     |

|     |

|=====|

|  |   

|  |   

|      

$18 - T $19 - U $1a - W $1b - Y
 ===== 

   |   

   |   

       

   |   

   |   

       

|     |

|     |

|     |

|     |

|     |

|     |

|=====|

|     |

|     |

|     |

|     |

|  |  |

|  |  |

|=====|

|     |

|     |

|     |

|=====|

   |   

   |   

       

$1c - r $1d - $1e - - $1f - +
       

       

       

 ===== 

|      

|      

|      

       

       

       

       

       

       

       

       

       

       

 ===== 

       

       

       

   |   

   |   

 ===== 

   |   

   |   

       

The Bottom Character set

The BOTTOM line has a slightly richer character set which we call the TIMEX character set. It allows for 64 different characters, includes the entire upper case alphabet and quite a few special symbols. All of these characters are drawn on a 5x5 dot matrix.

$00 $01 $02 $03 $04 $05 $06 $07 $08 $09 $0a $0b $0c $0d $0e $0f
0 1 2 3 4 5 6 7 8 9 A B C D E F
$10 $11 $12 $13 $14 $15 $16 $17 $18 $19 $1a $1b $1c $1d $1e $1f
G H I J K L M N O P Q R S T U V
$20 $21 $22 $23 $24 $25 $26 $27 $28 $29 $2a $2b $2c $2d $2e $2f
W X Y Z _ ! " # > % & ' ( ) * +
$30 $31 $32 $33 $34 $35 $36 $37 $38 $39 $3a $3b $3c $3d $3e $3f
, - . / : \ DIV = BELL ? _ CHK PREV NEXT BLOCK SEP

The routines which are useful for putting strings on the top and middle lines are:
BANNER8 ???
PUTMSGXBOT ???
PUTMSGBOT ???
PUTBOT678 ???
PUTLINE3 ???
PUT_LETTERX ???
PUTSCROLLMSG ???
SCROLLMSG ???
SCROLLMSG_CONT ???

$00-0 $01-1 $02-2 $03-3 $04-4 $05-5 $06-6 $07-7
__@@_

_@__@

_@__@

_@__@

__@@_

__@__

_@@__

__@__

__@__

__@__

@@@@_

____@

_@@@_

@____

@@@@@

@@@@_

____@

_@@@_

____@

@@@@_

@__@_

@__@_

@@@@@

___@_

___@_

@@@@@

@____

@@@@_

____@

@@@@_

_@@@@

@____

@@@@_

@___@

_@@@_

@@@@@

____@

___@_

__@__

__@__

$08-8 $09-9 $0a-A $0b-B $0c-C $0d-D $0e-E $0f-F
_@@@_

@___@

_@@@_

@___@

_@@@_

_@@@_

@___@

_@@@@

____@

@@@@_

_@@@_

@___@

@@@@@

@___@

@___@

@@@@_

@___@

@@@@_

@___@

@@@@_

_@@@@

@____

@____

@____

_@@@@

@@@@_

@___@

@___@

@___@

@@@@_

@@@@@

@____

@@@@_

@____

@@@@@

@@@@@

@____

@@@@_

@____

@____

$10-G $11-H $12-I $13-J $14-K $15-L $16-M $17-N
_@@@@

@____

@_@@@

@___@

_@@@@

@___@

@___@

@@@@@

@___@

@___@

_@@@_

__@__

__@__

__@__

_@@@_

__@@@

___@_

___@_

@__@_

_@@__

@___@

@__@_

@_@__

@@_@_

@___@

@____

@____

@____

@____

@@@@@

@___@

@@_@@

@_@_@

@_@_@

@___@

@___@

@@__@

@_@_@

@__@@

@___@

$18-O $19-P $1a-Q $1b-R $1c-S $1d-T $1e-U $1f-V
_@@@_

@___@

@___@

@___@

_@@@_

@@@@_

@___@

@@@@_

@____

@____

_@@@_

@___@

@_@_@

@__@_

_@@_@

@@@@_

@___@

@@@@_

@__@_

@___@

_@@@@

@____

_@@@_

____@

@@@@_

@@@@@

__@__

__@__

__@__

__@__

@___@

@___@

@___@

@___@

_@@@_

@___@

@___@

@___@

_@_@_

__@__

$20-W $21-X $22-Y $23-Z $24- $25-! $26-" $27-#
@___@

@___@

@_@_@

_@@@_

_@_@_

@___@

_@_@_

__@__

_@_@_

@___@

@___@

_@_@_

__@__

__@__

__@__

@@@@@

___@_

__@__

_@___

@@@@@

_____

_____

_____

_____

_____

__@__

__@__

__@__

_____

__@__

_@_@_

_@_@_

_____

_____

_____

_@_@_

@@@@@

_@_@_

@@@@@

_@_@_

$28-$ $29-% $2a-& $2b-' $2c-( $2d-) $2e-* $2f-+
_@@@@

@_@__

_@@@_

__@_@

@@@@_

@@__@

___@_

__@__

_@___

@__@@

_@___

@_@__

_@@_@

@__@_

_@@_@

__@__

_@___

_____

_____

_____

__@__

_@___

_@___

_@___

__@__

__@__

___@_

___@_

___@_

__@__

@_@_@

_@@@_

@@@@@

_@@@_

@_@_@

__@__

__@__

@@@@@

__@__

__@__

$30-, $31-- $32-. $33-/ $34-: $35-\ $36- $37-=
_____

_____

_____

__@__

_@___

_____

_____

@@@@@

_____

_____

_____

_____

_____

_____

__@__

____@

___@_

__@__

_@___

@____

_____

__@__

_____

__@__

_____

@____

_@___

__@__

___@_

____@

__@__

_____

@@@@@

_____

__@__

_____

@@@@@

_____

@@@@@

_____

$38-> $39-? $3a-_ $3b- $3c- $3d- $3e- $3f-
__@__

_@@@_

_@@@_

@@@@@

__@__

_@@__

@__@_

__@__

_____

__@__

_____

_____

_____

_____

@@@@@

____@

___@_

@_@__

_@___

@@@@@

____@

__@@@

@@@@@

__@@@

____@

@____

@@@__

@@@@@

@@@__

@____

@@@@@

@@@@@

@@@@@

@@@@@

@@@@@

_____

_@@@_

_@@@_

_@@@_

_____

bott

Alarm 4:1C 4:1A
AM 4:48 4:46
M1A 4:42 4:40
M1B 3:40 3:3E
M1C 2:40 2:3E
M1D 2:46 2:44
M1E 3:46 3:44
M1F 4:46 4:44
M1G 3:44 3:42
M1H 4:44 4:42
M1I 2:44 2:42
M2A 4:3A 4:38
M2B 3:38 3:36
M2C 2:38 2:36
M2D 2:3E 2:3C
M2E 3:3E 3:3C
M2F 4:3E 4:3C
M2G 3:3C 3:3A
M2H 4:3C 4:3A
M2I 2:3C 2:3A
M3A 4:30 4:2E
M3B 3:2E 3:2C
M3C 2:2E 2:2C
M3D 2:34 2:32
M3E 3:34 3:32
M3F 4:34 4:32
M3G 3:32 3:30
M3H 4:32 4:30
M3I 2:32 2:30
M4A 4:28 4:26
M4B 3:26 3:24
M4C 2:26 2:24
M4D 2:2C 2:2A
M4E 3:2C 3:2A
M4F 4:2C 4:2A
M4G 3:2A 3:28
M4H 4:2A 4:28
M4I 2:2A 2:28
M5A 4:1E 4:1C
M5B 3:1C 3:1A
M5C 2:1C 2:1A
M5D 2:22 2:20
M5E 3:22 3:20
M5F 4:22 4:20
M5G 3:20 3:1E
M5H 4:20 4:1E
M5I 2:20 2:1E
M6A 4:10 4:0E
M6B 3:0E 3:0C
M6C 2:0E 2:0C
M6D 2:14 2:12
M6E 3:14 3:12
M6F 4:14 4:12
M6G 3:12 3:10
M6H 4:12 4:10
M6I 2:12 2:10
MC23 3:36 3:34
MD45 3:24 3:22
MP23 2:36 2:34
MP45 2:24 2:22
Night 4:26 4:24
Note 4:0e 4:0C
PM 4:40 4:3E
Remind 4:38 4:36
S1A1 2:47
S1A2 2:45
S1A3 2:43
S1A4 2:41
S1A5 2:3F
S1B1 3:47
S1B2 3:45
S1B3 3:43
S1B4 3:41
S1B5 3:3F
S1C1 4:47
S1C2 4:45
S1C3 4:43
S1C4 4:41
S1C5 4:3F
S1D1 0:47
S1D2 0:45
S1D3 0:43
S1D4 0:41
S1D5 0:3F
S1E1 1:47
S1E2 1:45
S1E3 1:43
S1E4 1:41
S1E5 1:3F
S2A1 2:3D
S2A2 2:3B
S2A3 2:39
S2A4 2:37
S2A5 2:35
S2B1 3:3D
S2B2 3:3B
S2B3 3:39
S2B4 3:37
S2B5 3:35
S2C1 4:3D
S2C2 4:3B
S2C3 4:39
S2C4 4:37
S2C5 4:35
S2D1 0:3D
S2D2 0:3B
S2D3 0:39
S2D4 0:37
S2D5 0:35
S2E1 1:3D
S2E2 1:3B
S2E3 1:39
S2E4 1:37
S2E5 1:35
S3A1 2:33
S3A2 2:31
S3A3 2:2F
S3A4 2:2D
S3A5 2:2B
S3B1 3:33
S3B2 3:31
S3B3 3:2F
S3B4 3:2D
S3B5 3:2B
S3C1 4:33
S3C2 4:31
S3C3 4:2F
S3C4 4:2D
S3C5 4:2B
S3D1 0:33
S3D2 0:31
S3D3 0:2F
S3D4 0:2D
S3D5 0:2B
S3E1 1:33
S3E2 1:31
S3E3 1:2F
S3E4 1:2D
S3E5 1:2B
S4A1 2:27
S4A2 2:25
S4A3 2:23
S4A4 2:21
S4A5 2:1F
S4B1 3:27
S4B2 3:25
S4B3 3:23
S4B4 3:21
S4B5 3:1F
S4C1 4:27
S4C2 4:25
S4C3 4:23
S4C4 4:21
S4C5 4:1F
S4D1 0:27
S4D2 0:25
S4D3 0:23
S4D4 0:21
S4D5 0:1F
S4E1 1:27
S4E2 1:25
S4E3 1:23
S4E4 1:21
S4E5 1:1F
S5A1 2:1D
S5A2 2:1B
S5A3 2:19
S5A4 2:17
S5A5 2:15
S5B1 3:1D
S5B2 3:1B
S5B3 3:19
S5B4 3:17
S5B5 3:15
S5C1 4:1D
S5C2 4:1B
S5C3 4:19
S5C4 4:17
S5C5 4:15
S5D1 0:1D
S5D2 0:1B
S5D3 0:19
S5D4 0:17
S5D5 0:15
S5E1 1:1D
S5E2 1:1B
S5E3 1:19
S5E4 1:17
S5E5 1:15
S6A1 2:13
S6A2 2:11
S6A3 2:0F
S6A4 2:0D
S6A5 2:0B
S6B1 3:13
S6B2 3:11
S6B3 3:0F
S6B4 3:0D
S6B5 3:0B
S6C1 4:13
S6C2 4:11
S6C3 4:0F
S6C4 4:0D
S6C5 4:0B
S6D1 0:13
S6D2 0:11
S6D3 0:0F
S6D4 0:0D
S6D5 0:0B
S6E1 1:13
S6E2 1:11
S6E3 1:0F
S6E4 1:0D
S6E5 1:0B
S7A1 2:09
S7A2 2:07
S7A3 2:05
S7A4 2:03
S7A5 2:01
S7B1 3:09
S7B2 3:07
S7B3 3:05
S7B4 3:03
S7B5 3:01
S7C1 4:09
S7C2 4:07
S7C3 4:05
S7C4 4:03
S7C5 4:01
S7D1 0:09
S7D2 0:07
S7D3 0:05
S7D4 0:03
S7D5 0:01
S7E1 1:09
S7E2 1:07
S7E3 1:05
S7E4 1:03
S7E5 1:01
S8A1 2:02
S8A2 2:04
S8A3 2:06
S8A4 2:08
S8A5 2:0a
S8B1 3:02
S8B2 3:04
S8B3 3:06
S8B4 3:08
S8B5 3:0a
S8C1 4:02
S8C2 4:04
S8C3 4:06
S8C4 4:08
S8C5 4:0a
S8D1 1:02
S8D2 1:04
S8D3 1:06
S8D4 1:08
S8D5 1:0a
S8E1 0:02
S8E2 0:04
S8E3 0:06
S8E4 0:08
S8E5 0:0a
T1A 2:42 2:40
T1B 1:40 1:3E
T1C 0:40 0:3E
T1D 0:42 0:40
T1E 0:46 0:44
T1F 1:46 1:44
T1G 1:42 1:40
T1H 1:44 1:42
T1I 0:44 0:42
T2A 2:3A 2:38
T2B 1:38 1:36
T2C 0:38 0:36
T2D 0:3A 0:38
T2E 0:3E 0:3C
T2F 1:3E 1:3C
T2G 1:3A 1:38
T2H 1:3C 1:3A
T2I 0:3C 0:3A
T3A 2:30 2:2E
T3B 1:2E 1:2C
T3C 0:2E 0:2C
T3D 0:30 0:2E
T3E 0:34 0:32
T3F 1:34 1:32
T3G 1:30 1:2E
T3H 1:32 1:30
T3I 0:32 0:30
T4A 2:28 2:26
T4B 1:26 1:24
T4C 0:26 0:24
T4D 0:28 0:26
T4E 0:2C 0:2A
T4F 1:2C 1:2A
T4G 1:28 1:26
T4H 1:2A 1:28
T4I 0:2A 0:28
T5A 2:1E 2:1C
T5B 1:1c 1:1A
T5C 0:1c 0:1A
T5D 0:1e 0:1C
T5E 0:22 0:20
T5F 1:22 1:20
T5G 1:1E 1:1C
T5H 1:20 1:1E
T5I 0:20 0:1E
T6A 2:10 2:0E
T6B 1:0e 1:0C
T6C 0:0e 0:0C
T6D 0:10 0:0E
T6E 0:14 0:12
T6F 1:14 1:12
T6G 1:10 1:0E
T6H 1:12 1:10
T6I 0:12 0:10
TD23 1:36 1:34
TD34 4:2E 4:2C
TD45 1:24 1:22
TP23 0:36 0:34
TP45 0:24 0:22