OSDN Git Service

V208 Modified ACCEPT COLD WARM ?ABORT, S".
[fast-forth/master.git] / MSP430-FORTH / CHNGBAUD.4th
1
2 ; ------------
3 ; CHNGBAUD.4th
4 ; ------------
5
6 : BAD_MHz
7     1 ABORT"  only for 4,8,16,24 MHz MCLK!"
8 ;
9 : BAD_SPEED
10 $1806 @ 0 1000 UM/MOD
11 SPACE 27 EMIT ." [7m"
12 ." with MCLK = " .
13 1 ABORT" MHz? don't dream! "
14 ;
15
16 : <> = 0= ;
17
18 : CHNGBAUD
19 PWR_STATE
20 $1806 @ >R
21 ECHO CR
22 ."    choose your baudrate:" CR
23 ."    0 --> 6 MBds" CR
24 ."    1 --> 5 MBds" CR
25 ."    2 --> 4 MBds" CR
26 ."    3 --> 2457600 Bds" CR
27 ."    4 --> 921600 Bds" CR
28 ."    5 --> 230400 Bds" CR
29 ."    6 --> 115200 Bds" CR
30 ."    other --> abort" CR
31 ."    your choice: "
32 KEY
33
34 #48 - ?DUP 0=
35 IF  ." 6 MBds"
36     R@ #4000 =
37     IF  R@ BAD_SPEED
38     THEN
39     R@ #8000 =
40     IF  R@ BAD_SPEED
41     THEN
42     R@ #16000 =
43     IF  R@ BAD_SPEED
44     THEN
45     R@ #24000 <>
46     IF  BAD_MHz
47     THEN                
48     $4
49     $0
50 ELSE 1 - ?DUP 0=
51     IF  ." 5 MBds"
52         R@ #4000 =
53         IF  R@ BAD_SPEED
54         THEN
55         R@ #8000 =
56         IF  R@ BAD_SPEED
57         THEN
58         R@ #16000 =
59         IF  $3
60             $2100
61         ELSE R@ #24000 <>
62             IF  BAD_MHz
63             THEN
64             $4
65             $EE00
66         THEN
67     ELSE 1 - ?DUP 0=
68         IF  ." 4 MBds"
69             R@ #4000 =
70             IF  R@ BAD_SPEED
71             THEN
72             R@ #8000 =
73             IF  R@ BAD_SPEED
74             THEN
75             R@ #16000 =
76                 IF  $4
77                     $0
78                 ELSE R@ #24000 <>
79                     IF  BAD_MHz
80                     THEN
81                     $6
82                     $0
83                 THEN
84         ELSE 1 - ?DUP 0=
85             IF  ." 2457600 Bds"
86                 R@ #4000 =
87                 IF  R@ BAD_SPEED
88                 THEN
89                 R@ #8000 =
90                 IF  $3
91                     $4400
92                 ELSE R@ #16000 =
93                     IF  $6
94                         $AA00
95                     ELSE R@ #24000 <>
96                         IF  BAD_MHz
97                         THEN
98                         $9
99                         $DD00
100                     THEN
101                 THEN
102             ELSE 1 - ?DUP 0=
103                 IF  ." 921600 Bds"
104                     R@ #4000 =
105                     IF  4
106                         $4900
107                     ELSE
108                         R@ #8000 =
109                         IF  8
110                             $D600
111                         ELSE R@ #16000 =
112                             IF  $11
113                                 $4A00
114                             ELSE R@ #24000 <>
115                                 IF  BAD_MHz
116                                 THEN
117                                 $1
118                                 $00A1
119                             THEN
120                         THEN
121                     THEN
122                 ELSE 1 - ?DUP 0=
123                     IF  ." 230400 Bds"
124                         R@ #4000  =
125                         IF  17
126                             $4A00
127                         ELSE
128                             R@ #8000  =
129                             IF  2
130                                 $BB21
131                             ELSE R@ #16000 =
132                                 IF  4
133                                     $5551
134                                 ELSE R@ #24000 <>
135                                     IF  BAD_MHz
136                                     THEN
137                                     6
138                                     $0001
139                                 THEN
140                             THEN
141                         THEN
142                     ELSE 1 - ?DUP 0=
143                         IF  ." 115200 Bds"
144                             R@ #4000  =
145                             IF  2
146                                 $BB21
147                             ELSE
148                                 R@ #8000  =
149                                 IF  4
150                                     $5551
151                                 ELSE R@ #16000 =
152                                     IF  8
153                                         $F7A1
154                                     ELSE R@ #24000 <>
155                                         IF  BAD_MHz
156                                         THEN
157                                         $0D
158                                         $4901
159                                     THEN
160                                 THEN
161                             THEN
162                         ELSE
163                             ." abort" CR ABORT
164                         THEN
165                     THEN
166                 THEN
167             THEN
168         THEN
169     THEN
170 THEN
171 $1804 !
172 $1802 !
173 R> DROP
174 CR ."    Change baudrate in Teraterm, save its setup then reboot."
175 ;
176
177 CHNGBAUD