Mercurial > hg > Members > kono > os9 > sbc09
annotate os9/level2/cmds/fixbasic.pl @ 97:5aeff8abca9c
add echo control on sbc09
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 27 Dec 2018 01:17:31 +0900 |
parents | f20bf9874697 |
children |
rev | line source |
---|---|
90 | 1 #!/usr/bin/perl |
97
5aeff8abca9c
add echo control on sbc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
94
diff
changeset
|
2 # |
5aeff8abca9c
add echo control on sbc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
94
diff
changeset
|
3 # |
5aeff8abca9c
add echo control on sbc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
94
diff
changeset
|
4 # the basic source include direct ACIA access |
5aeff8abca9c
add echo control on sbc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
94
diff
changeset
|
5 # which is not allowed in OS-9 |
5aeff8abca9c
add echo control on sbc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
94
diff
changeset
|
6 # sbc09 emulator on OS-9, echos input in default |
5aeff8abca9c
add echo control on sbc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
94
diff
changeset
|
7 # the basic assumes input has no echo, so call echo |
5aeff8abca9c
add echo control on sbc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
94
diff
changeset
|
8 # off at initialization |
90 | 9 |
10 while(<>) { | |
11 next if (/^ACIA/ .. /^TDRE/) ; | |
12 next if (/^TSTBRK/ .. /^ END/) ; | |
91 | 13 if (/^CLEAR/) { |
97
5aeff8abca9c
add echo control on sbc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
94
diff
changeset
|
14 print <<"EOFEOF"; |
5aeff8abca9c
add echo control on sbc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
94
diff
changeset
|
15 JSR \$24 ;; echo off |
91 | 16 EOFEOF |
17 } | |
97
5aeff8abca9c
add echo control on sbc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
94
diff
changeset
|
18 # if (/^GL02/) { |
5aeff8abca9c
add echo control on sbc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
94
diff
changeset
|
19 # print "GL02\n"; # do not echo input |
5aeff8abca9c
add echo control on sbc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
94
diff
changeset
|
20 # next; |
5aeff8abca9c
add echo control on sbc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
94
diff
changeset
|
21 # } |
5aeff8abca9c
add echo control on sbc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
94
diff
changeset
|
22 if (/FDB\s+CLEAR/) { |
5aeff8abca9c
add echo control on sbc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
94
diff
changeset
|
23 print; |
5aeff8abca9c
add echo control on sbc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
94
diff
changeset
|
24 print <<"EOFEOF"; |
5aeff8abca9c
add echo control on sbc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
94
diff
changeset
|
25 FCC /BYE/ |
5aeff8abca9c
add echo control on sbc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
94
diff
changeset
|
26 FCB EOL |
5aeff8abca9c
add echo control on sbc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
94
diff
changeset
|
27 FDB EXIT |
5aeff8abca9c
add echo control on sbc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
94
diff
changeset
|
28 EOFEOF |
5aeff8abca9c
add echo control on sbc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
94
diff
changeset
|
29 next; |
91 | 30 } |
90 | 31 print; |
32 } | |
33 | |
97
5aeff8abca9c
add echo control on sbc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
94
diff
changeset
|
34 print <<"EOFEOF"; |
5aeff8abca9c
add echo control on sbc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
94
diff
changeset
|
35 EXIT |
5aeff8abca9c
add echo control on sbc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
94
diff
changeset
|
36 JSR \$24 ;; echo off |
5aeff8abca9c
add echo control on sbc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
94
diff
changeset
|
37 JSR \$27 ;; echo on |
5aeff8abca9c
add echo control on sbc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
94
diff
changeset
|
38 JMP \$2a ;; exit |
5aeff8abca9c
add echo control on sbc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
94
diff
changeset
|
39 |
90 | 40 ****************************** |
41 ****************************** | |
42 TSTBRK bsr BRKEEE | |
43 bcc GETC05 | |
44 GETCHR bsr INEEE | |
45 CMPA \#ETX ; 3 | |
46 BNE GETC05 | |
47 JMP BREAK | |
48 INTEEE | |
49 GETC05 RTS | |
50 PUTCHR INC ZONE | |
51 JMP OUTEEE | |
52 ****************************** | |
53 ****************************** | |
54 INEEE PSHS D | |
55 JSR 0 | |
56 STB ,S | |
57 PULS D,PC | |
58 OUTEEE PSHS D | |
59 TFR A,B | |
60 JSR 3 | |
61 PULS D,PC | |
62 BRKEEE PSHS D | |
92 | 63 JSR \$F |
90 | 64 PULS D,PC |
65 ****************************** | |
66 ****************************** | |
67 END | |
68 EOFEOF | |
97
5aeff8abca9c
add echo control on sbc09
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
94
diff
changeset
|
69 |