Seiko UC-2000, UC-2200 User Manual

Page 1
1
SEIKO
UC-2000 / UC-2200
User’s Manual
This manual is not a copy of the original one. I wrote it by myself because I had none. This is the result of hours of testing using my global knowledge in programming and, most of all in Basic Programming.
Guillaume Tello, 2008.
guillaume.tello@orange.fr
Page 2
2
Table of contents
Chapter 1 : Use as a Watch
Mode 5 Time and Date setting 6 Alarm Setting 6 StopWatch 7
Chapter 2: Memo A and Memo B
Startup 9
Preparing a Memo with the Keyboard 10
Reading memos from the watch 11
Chapter 3: Basic Programming
Startup 13
Direct mode commands 14
Variables 16
User Defined Functions 17
Instructions 17
Functions 21
Operations 24
Error Messages 26
The lacks 27
Page 3
3
Chapter 4: ROM Applications
Startup 29 DEMO 29 SCHEDULE 30 HIT 32 RACE 32 AMIDA 34 CARD 25
Chapter 5: Calculator
Startup 37 Calculations 37
Page 4
4
Page 5
5
Chapter 1 : Use as a Watch
The Seiko UC-2000 is a watch driven with four buttons :
1. Split, Reset, Set, Scroll Up
2. Mode
3. Transmit
4. Start, Stop, Select, Scroll Down
For each, its usual name appears in bold, that’s
the one we’ll use.
The normal display looks like this:
mm-dd day name HH:MNse
MODE:
Parses the differents screens and options of the watch, if no application is loaded
, you get:
Date/Time MODE MemoA MODE MemoB MODE Alarm setting MODE StopWatch MODE Time&date setting MODE Back to Date/Time display
Page 6
6
If an application is loaded, it replaces MemoA and MemoB:
Date/Time MODE ApplName MODE Alarm setting MODE StopWatch MODE Time&date setting MODE Back to Date/Time display
Time and Date setting:
With MODE go to Time & Date setting (blinking
seconds)
With SELECT move to the data you want to
modify
With SET change its value
o particular case of the seconds
SET with seconds<30 rounds to
the current minute
SET with seconds>30 rounds to
the next minute
With MODE exit to the normal display
Alarm Setting:
With MODE go to Alarm setting (blinking ON or
OFF)
With SELECT move to the data you want to
modify
With SET change its value With MODE exit to the normal display
Page 7
7
You may not hear your alarm if the bell character is not present on the normal display! To set it, push both SET and SELECT buttons on the normal display.
StopWatch:
With MODE go to StopWatch If “STOPWATCH” or “STOP” is displayed then:
o with SELECT you start the chronometer,
“RUN” appears
o with SET you reset the chronometer
If “RUN” is displayed then:
o with SELECT you stop the chronometer
and “STOP” appears
o with SET you copy the current time to the
upper value, “SPLIT” appears and the lower chronometer goes on
With MODE exit to the normal display
For how to use the Memo or the Applications, see next chapters.
Page 8
8
Page 9
9
Chapter 2: Memo A and Memo B
Startup
Mount the watch (UC-2000) on the Transmission
Circuit
Push the TRANSMIT button, you should see:
“TRANSMIT” STAND-BY
Switch the keyboard (UC-2200) ON and push the
M-A button, you should see(*):
1. EDIT
2. COPY
3. BACK UP
4. LOAD
5. COPY/Bup
Or push the Shift + M-B button, you should
see(*):
1. EDIT
2. COPY
To select the line you want, use the down and up arrows and then ENTER.
(*) If a Basic program is present in memory, you are asked wether or not you want to delete it and turn the memory into Memo.
Page 10
10
Preparing a Memo with the Keyboard
1) EDIT:
Allows you to edit the memo. You can use the whole keyboard, the arrows to navigate, the function keys. When you have finished:
if you use STOP key all modifications are
cancelled
if you use Shift+F10 (End) modifications are
accepted
2) COPY:
Prints the whole Memo:
if empty, you get Memory Empty
if filled, you get:
** COPY (Memo A) **
1: line1
2: line2…
***** END *****
3) BACK UP
(not available for Memo B)
Saves a copy of the Memo in the keyboard’s memory.
Page 11
11
4) LOAD
(not available for Memo B)
Restores the Memo with a previous back up.
5) COPY/Bup
(not available for Memo B)
Prints the backup memo.
Reading memos from the
watch
With MODE go to MemoA or MemoB With SELECT enter in With SET and SELECT scroll up and down the
Memo
With MODE exit to the normal display.
Page 12
12
Page 13
13
Chapter 3 : Basic Programming
Startup
Mount the watch (UC-2000) on the Transmission
Circuit
Push the TRANSMIT button, you should see:
“TRANSMIT” STAND-BY
Switch the keyboard (UC-2200) ON and push the
BASIC button, you should see:
Copyright (c)1983 by Microsoft 2922 bytes free Ok
Bytes free are not displayed if there is yet a Basic
program in memory.
Then you can enter a program (with line numbers) or
perform immediate commands. To exit from the BASIC
use the F10 key (Shift+F5).
Page 14
14
Conventions :
li line number (immediate value, not an expression) ni immediate integer number n number or numeric expression used as an integer x number or numeric expression str string or string expression […] optional part
All commands and instructions can be written in upper or lower case. When listed, they all will appear in upper case.
Direct mode commands
RUN [li]
Runs the program [starting at line li]. F5 can be used too.
EDIT li
Edition of line li, F2 is a shortcut for EDIT. Arrows can be used, F1 and F6 to insert/delete, F9 to clear the line. Validate your modifications with RETURN. To cancel the modifications, clear with F6.
Page 15
15
LIST [li]
Display the listing of the program using the line number order. With li specified, starts from this line til the end. To stop the listing, press STOP, a “Break” will appear.
LLIST [li]
Same as LIST but printed on paper instead of displayed on screen. There, listing is faster because the printer is faster and uses 20 characters per line instead of
10.
NEW
Erases the whole program and variables from memory. You go back to the 2922 bytes free.
CLEAR
Erases all variables values and definitions (those declared with DIM). The program remains in memory.
CONT
If a program is stopped with STOP (instruction or key), you can go on with it using this command. Program should not be modified, variables can.
Page 16
16
Variables
There are two kinds of variables: real numbers and character strings. They are distinguished with a final “$” for strings. The variable name uses two alphanumeric characters, if you use more, only the first two will be signifiant. For example:
A, X0, KY are real number variables. A$, X0$, KY$ are string variables. And COUNT is the same variable as CO.
A real uses 4 bytes and can range from 9.5E-39 to
1.7E+38 with approximately 7 digits precision. A string uses a variable amount of bytes, depending of its length.
Then you can build multidimensinal arrays of reals or strings using the DIM instruction:
DIM var(n1 [,n2,..,nmax] )
declares var as an array, it seems that max=5. DIM A(25): A is an array of 26 reals from A(0) to A(25). DIM TX$(1,9): TX$ is an array of 20 strings from TX$(0,0) to TX$(1,9).
[LET] var=expression
computes the expression and stores it into var. LET is optional. For example A=5*X-2 Z$(I)=”-“+LEFT$(K$,3)
Page 17
17
User Defined Functions
You can declare functions and call them by their name within a program. Only real functions can be used and they have only one real parameter. They are declared with:
DEF FNvar(x)=..expression of x..
Declares FNvar as a function, then to use it, as a numeric value, just write FNvar(x). For example:
10 DEF FNDB(X)=X*2 20 PRINT FNDB(7) will print 14 30 A=SQR(FNDB(8)) will store 4 in A
X is a local variable and doesn’t affect the value of X if present in the program.
Instructions
Most instructions can also be used in direct mode.
:
Instruction separator if you want to put more than one on the same line.
CLS
Clears the screen and the cursor goes to the upper left.
Page 18
18
BEEP
Outputs a sound.
REM text
Inserts a remark in the program. The whole remaining line is considered as part of the remark, so REM hello: PRINT A will never print A.
FOR var=x TO x’ [STEP x’’] instructions NEXT var
initialises var to x and repeats the instruction block until var>x’. If no STEP is specified then, STEP=1 to increment var at each loop. If x’’<0, then loop until var<x’.
GOTO li
jumps to the specified line.
ON n GOTO li1 [, li2…., limax]
computes the integer value of n, and, if n=1 jumps to li1, if n=2 to li2 etc. if n<1 or n>max then no jump is performed and go to the next instruction.
GOSUB li RETURN
jumps to the specified line containing a subroutine that ends with RETURN.
Page 19
19
When this last is reached, executions goes on after the GOSUB.
ON n GOSUB li1 [, li2…., limax]
Same as ON..GOTO but with GOSUB.
IF condition THEN instructions IF condition THEN li
If a condition is true (different from zero) then the following instructions are executed, or jump to the specified line number. If the condition is false (equal to zero) then executions goes on to the next line. No ELSE instruction is available. See at logical operators to know how to write a contition.
PRINT [ str or x[, or ; [etc…]] ]
Prints the list of numeric or strings values. If separated by “;” they are displayed next to the previous, if separated by “,” a larger zone is used between values. Each numeric value is preceeded by a space if positive or by a “-“ if negative. You can omit the “;” separator between an immediate string and a value. For example: PRINT “X=”;X;”Km” can be compacted as PRINT “X=”X”Km”
If the expression list ends with a “,” or “;” this wil determine the starting point for the next PRINT instruction, else a new line will be used. A single PRINT fills a blank line.
Page 20
20
LPRINT [str or x[, or ; [etc…]]]
The same as PRINT but for the printer!
INPUT [«message» ;]var1[,var2,… ]
Display the message, if present, display “?” and ask for the values of each variable. You must separate the values with “,”. For example:
INPUT A,F$ ?
If you type 3.7,yeah then A=3.7 and F$=”yeah”
If you give more values than expected you’ll get the warning “Extra ignored”. If you give less values than expected, a new line with ?? appears asking for more. If you give a string instead of a real, you’ll get the warning “Redo from start”.
DATA value_list READ var1 [,var2,…] RESTORE [ li ]
DATA inserts a list of immediate values (reals or strings, but not expressions) in the program. READ allows you to parse them (as an INPUT but without a human intervention) and RESTORE tells from wich DATA line the next READ should pick its values. For example: 10 RESTORE 100 20 INPUT “Digit=”,D 30 READ A,A$ 40 IF A<0 OR A=D THEN 60
Page 21
21
50 GOTO 30 60 PRINT A$:GOTO 10
100 DATA 0,ZERO,1,ONE,2,TWO,3,THREE
110 DATA 4,FOUR,5,FIVE, 6,SIX,7,SEVEN 120 DATA 8,EIGHT,9,NINE,-1,UNKNOWN
Note:
Line 10 could be RESTORE alone as the
very first DATA is in line 100.
STOP CONT
Stops the execution, displays Break in line_number and Ok+cursor. If you don’t modify the program, you can start it where it stopped with CONT.
END
Stops the program.
Functions
FRE(0)
Returns the number of free bytes, 2922 at start. The argument is ignored, then FRE(-9.3) is the same.
RND(x)
Returns a pseudo-random number from in [0;1[. If x>0, returns the next random number. If x=0, returns the last random number.
Page 22
22
If x<0, initilalizes a new serie of random numbers according to x. For example, if you wish your program to always use the same random number serie, then add A=RND(-8) at the beginning of your program.
SQR(x)
Returns the square root of the positive value x.
INT(x)
returns the highest integer lower or equal to x. INT(7.9) = 7 INT(10) = 10 INT(-4.1) = -5 If you prefer to get INT(-4.1)=-4, you can define the following function: DEF FNI(X)=SGN(X)*INT(ABS(X))
ABS(x)
Returns the absolute value of x.
SGN(x)
Returns the sign of x in this way: if x>0 then SGN(x)=1 if x<0 then SGN(x)=-1 if x=0 then SGN(x)=0
COS(x) SIN(x) TAN(x) ATN(x)
Page 23
23
Returns the cosine, sine, tangent, and reverse tangent of the x argument. The angle is in radians.
EXP(x) LOG(x)
Returns the exponential or logarithm of x (base is e=2.71828…).
INKEY$
Returns the current key pressed else a null string. Example: 10 A$=INKEY$: IF A$=”” THEN 10 This waits for a keypress, then A$ can be used to determine wich action to perform.
ASC(str) CHR$(x)
ASC: Returns the ASCII code of the first character of the string. CHR$: Returns a one character string corresponding to the x ASCII code.
Why does PRINT CHR$(165) lead to a System
Error?
VAL(str) STR$(x)
VAL: Returns a real described in the string. STR$: returns the string descibing the real x.
Page 24
24
LEFT$(str,n)
Returns a string with the n leftmost characters of str.
RIGHT$(str,n)
Returns a string with the n rightmost characters of str.
MID$(str,n1,n2)
Returns a string with n2 characters starting at position n1 in str.
Operations
Maths operations:
+ - * / () ^
In an expression you can use the four operations combined with parenthesis:
A=3*(15+7/(5-3)) is
5,55
35
7
153 =
 
 
+×=A
Yan can use the “power” operator: 2^3 this is
823= ,
the exponent can be real:
10^3.7 this is 87,501110
7,3
=
and even negative:
6^-3 this is 0362963,46
3−=−
E
Page 25
25
Logical operations:
= > < >= <= <>
Those 6 relational operators return either -1 (True) or 0 (False) Examples: PRINT 3=2 returns 0 A=7: PRINT 2*A=14 returns -1
AND OR NOT
Those three operators are used to combine several conditions. Example: IF (A>0)AND(A<>10) THEN 20
jumps to 20 if A is positive and not equale to 10.
But they also perform a bit to bit logical operation:
6=110b and 3=11b
6AND3 = 010b = 2
6OR3 = 111b = 7
NOT6=111…11001 = -7
XOR doesn’t exist, definition is
A XOR B = (NOT A AND B) OR (A AND NOT B)
But this requieres a too long expression, if A and B come from two logical comparisons (thus returning only -1 or 0) you can use A<>B example:
IF (X=7)<>(Y=2) then 20
will jump to line 20 only if exactly one contidion is TRUE.
Page 26
26
Error Messages
Clear messages:
Redo from start
Bad response to an INPUT statement
Extra ignored
Warning if you enter too many values to an
INPUT
Encoded messages:
Those appear in this format:
?XY Error
Where XY is a two character code.
/0
Division by zero
BS
Bad Subscript (use of A(100) with DIM A(50))
DD
Maybe use inside a program of a command that
requires direct mode.
FC
FunCtion, domain error, example SQR(-1)
ID
Maybe use of a function in direct mode that is
reserved for programming
OD
Out of Data, READ has reached the end of DATA
statements
OM
Out of memory, example DIM A(1000)
OS
Out of Space? string too long ?
OV
OVerflow, a number exceeds 1,7E+38
SN
SyNtax error, example a bad spelling PRIN A
instead of PRINT A
Page 27
27
TM
Type Mismatch, usr of a string where a real is
expected and vice-versa
UL
Unknown Line, example GOTO 1000 when line
1000 doesn’t exist.
Printed messages:
Those appear on the printer when the display can’t be used:
TransmissionError 10
Use of the UC-2200 when the watch isn’t in
TRANSMIT mode.
System Error 8
Total hang of the system and reset.
The lacks
Some usual functions of the Microsoft BASIC are missing:
PEEK/POKE and assembly access CALL/USR
DATE$, TIME$, TIMER (why on a watch??)
SAVE/LOAD system as there is a Backup for the
Memo.
INSTR to find a substring.
XOR logical operator
Page 28
28
Last Minute
Unexpected instructions were found, I didn’t thought they were built in regarding the size of the text screen!
TAB(n)
Use with PRINT, specifies how many spaces before next printing: PRINT TAB(3);A$ Note: if n>10 then the next line is used.
POS(0)
Pseudo-variable that returns the current cursor column from 0 to 9.
CSRLIN
Pseudo variable that returns the current cursor line from 0 to 3.
LOCATE n1,n2
Places the cursor at the given location: n1 is the column from 0 to 9 n2 is the line from 0 to 3.
Page 29
29
Chapter 4: ROM Applications
Startup
Mount the watch (UC-2000) on the Transmission
Circuit
Push the TRANSMIT button, you should see:
“TRANSMIT” STAND-BY
Switch the keyboard (UC-2200) ON and push the
APL button, you should see:
1. DEMO
2. SCHEDULE
3. HIT
4. RACE
5. AMIDA
6. CARD
To select the line you want, use the
down and up
arrows
and then
ENTER
.
DEMO
Nothing to do, just a looping demonstration of the system features.To stop and return to the main menu use the STOP key.
Page 30
30
SCHEDULE
You’re diven to a submenu:
1. INPUT
2. COPY
3. TRANSMIT
If the program is not yet loaded into the watch, you must start with Option 3 and transmit the data to the watch. See this option.
INPUT:
The date appears on the top line and you can note your appointments or else for that day in the last two lines.
F2 goes to the next day
Shift+F7 returns back one day
When you’ve done, press STOP or Shift+F10 to go back to the menu after a short transmission of the new data to the watch.
COPY:
Prints your schedule, you get something like that:
* COPY (Schedule) *
8- 8 | Nothing FRI | to do
Page 31
31
8- 9 | SAT |
8-10 | Train Bob SUN | 10h30 am
***** END *****
You can stop the printing holding down the STOP key.
TRANSMIT:
This initializes the program if it was not in memory before. You are asked for the last two digits of the current year, and data is loaded into the watch. That’s all!
Reading your schedule with the watch alone:
With the MODE button, you can see the schedule for the current day. Use SET to go to the next day. Use SELECT to go back one day. Use MODE again to exit to the normal display.
Page 32
32
HIT
It’s a shoot’em up game for your watch.
Only one choice:
1) TRANSMIT
, so do it!
Then the game is playable with the watch only.
Playing the game:
With MODE go to
HIT GAME
screen and
SELECT to play. You see that screen:
TIME 100 POINT 0
----------
READY ?
Use SELECT when you are ready. During the game: SELECT to move your shuttle (only one line down!) SET to shoot the ennemies.
RACE
It’s a game where you bet on four men races.
Only one choice:
1) TRANSMIT
, so do it!
Then the game is playable with the watch only.
Page 33
33
Playing the game:
With MODE go to
RACE
screen and SELECT to
play. You see that screen:
>1LANE:1.8 2LANE:3.3 3LANE:7.5 4LANE:2.3
This screen shows the four lanes and their odds.
With SET move the “>” cursor in front of the one you want to bet on. With SELECT validate your choice, you go to that screen:
3LANE:7.5
$100 $00
With SET select the amount of money you want. With SELECT validate your choice and start the race!
At the end of the race, the winner is displayed and you can see how much money you have. Press SELECT for another race.
Page 34
34
AMIDA
It’s a japanese game with four players (but it can be from 2 to many more) used to decide at random between the players. For example, we are four, in wich order will we wash the dishes this week? This program can help you…
Rules are very well explained at:
http://www.geocities.com/Athens/Acropolis/7247 /amidakuji.html
If this link is dead, then just download the archive from my site, as the author made his explanations free:
http://pagesperso-orange.fr/gtello/amida.zip
Only one choice:
1) TRANSMIT
, so do it!
Then the game is playable with the watch only.
Playing the game:
With MODE go to
AMIDA KUJI
screen and SELECT to play. You see a screen with the upper part of the lines.
Each player makes his sign appear with SET and with the same button moves it to the place he wants.and fixes it with SELECT. You can put less than 4 signs.
When everyone is placed, push again SELECT to start the moving phase. Every sign gets down and reveals its number from 1 to 4, this deciding for you!
Page 35
35
CARD
It’s a Memory-like game where you must find pairs of signs. You play against the computer.
Only one choice:
1) TRANSMIT
, so do it!
Then the game is playable with the watch only.
Playing the game:
With MODE go to
30 CARDS
screen and
SELECT to play. You see that screen:
LEVEL? >LEVEL1 LEVEL2
With SET move the “>” on the level you want.
With SELECT validate your choice. The game
screen appears:
YOU- 0vs 0 □□□□□□□□□□ □□□□□□□□□□ □□□□□□□□□□
You see the back of the 30 cards.
Player turn:
with SET move the cursor to the card
you want to see and SELECT, repeat for the second card.
Page 36
36
If both signs are equal, you win a point and can play again. If signs are not equal, then the computer plays.
At the end of the game, the scores and the winner are displayed.
Use SELECT to start a new game.
Page 37
37
Chapter 5: Calculator
Startup
Mount the watch (UC-2000) on the Transmission
Circuit
Push the TRANSMIT button, you should see:
“TRANSMIT” STAND-BY
Switch the keyboard (UC-2200) ON and push the
Shift+Cal button, the screen turns to blank ready
for calculations.
To exit the calculator, press STOP.
Calculations
To enter the values use the 10 digits plus the “.”
098765321
The other keys you can use are the one enclosed in a rectangle on the keyboard:
ACCE.
=÷×−+
Page 38
38
Limits:
1)
No priority is known
, operations are
performed in the order you type them, example:
=×+
7312
Gives the result 105.
2) The numbers are in
fixed point with 8 digits
precision
, so the numbers are from 0,0000001 to
99999999.
Well, this is too bad knowing that the BASIC is present in ROM with scientific functions… The calculator could have been a little better…
Loading...