|
Wristapp Programming
Reference |
Wristapp Programming
Tutorials |
|
|
|
|
|
|
The Display
The datalink display has 4 basic areas when it comes to programming. For
convenience, I call them simply:
-
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.
-
SYMBOLS - The AM/PM, Reminder, Night Mode,
Alarm, and Note symbols. These tend to only be used by the Time app.
-
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.
-
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:
You can see what all of these are displayed as below.
$08 - 8 |
$09 - 9 |
$0a - A |
$0b - B |
|=====|
| |
| |
|=====|
| |
| |
|=====|
|
|=====|
| |
| |
|=====|
|
|
=====|
|
|=====|
| |
| |
|=====|
| |
| |
| |
|
=====|
| |
| |
=====|
| |
| |
=====|
|
$0c - C |
$0d - D |
$0e - E |
$0f - F |
|=====
|
|
|
|
|
|=====
|
=====|
| |
| |
|
| |
| |
=====|
|
|=====
|
|
|=====
|
|
|=====
|
|=====
|
|
|=====
|
|
|
|
$14 - M |
$15 - N |
$16 - P |
$17 - R |
|=====|
| | |
| | |
| |
| |
| |
| |
|
|=====|
| |
| |
| |
| |
| |
| |
|
|=====|
| |
| |
|=====|
|
|
|
|
|=====|
| |
| |
|=====|
| |
| |
|
|
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 |
_ |
! |
" |
# |
> |
% |
& |
' |
( |
) |
* |
+ |
The routines which are useful for putting strings on the top and middle lines
are:
$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
|