private knowhow
修訂 | 441b7e2dedbcea356744c34f5eb4f6607442b3e4 (tree) |
---|---|
時間 | 2014-07-21 14:13:52 |
作者 | oga <hyperoga@gmai...> |
Commiter | oga |
add doscall for X68K
@@ -0,0 +1,128 @@ | ||
1 | +X68K dosコール一覧 | |
2 | + | |
3 | +#include <sys/dos.h> | |
4 | + | |
5 | +{ | |
6 | +int _dos_inkey() | |
7 | +機能 | |
8 | + キーボードから1文字入力する | |
9 | + | |
10 | +解説 | |
11 | + キーが押されるまで待ち、押されたキーコードを返す。 | |
12 | + この時、ブレークチェックは行わない。 | |
13 | + | |
14 | +戻り値 | |
15 | + 入力されたキーコードを返す | |
16 | + | |
17 | +注意 | |
18 | + ブレークチェックが必要な場合は_dos_getc()を使用すること | |
19 | + | |
20 | + | |
21 | +{ | |
22 | +int _dos_inpout(int code) | |
23 | +機能 | |
24 | + コンソールの直接入出力を行う | |
25 | + | |
26 | +解説 | |
27 | + コンソールに対して、codeで指定した処理を行う | |
28 | + codeに0xffが指定された場合はキー入力を行う。 | |
29 | + 但し、キー入力がなくても入力を待たない。 | |
30 | + codeに0xfeが指定された場合はキーセンスを行い、入力した | |
31 | + キーコードを返す。 | |
32 | + それ以外の場合はcodeで指定した文字を出力する | |
33 | + | |
34 | +戻り値 | |
35 | + codeが0xff,0xfeの場合はは入力されたキーコードを返し、入力がない場合は0を返す。 | |
36 | + なお、文字を出力した場合は常に0を返す。 | |
37 | + | |
38 | +注意 | |
39 | + ブレークチェックは行われない。 | |
40 | + | |
41 | + | |
42 | +{ | |
43 | +_dos_keyctrl | |
44 | + | |
45 | +機能 | |
46 | + CONデバイスの直接入力制御をおこなう | |
47 | + | |
48 | +解説 | |
49 | +int _dos_k_keyinp() | |
50 | + キーボードから1文字入力する | |
51 | + 戻り値: 入力した文字コード | |
52 | +int _dos_k_keysns() | |
53 | + キーボードからの入力を先読みする。ただし'\0'が返された場合は | |
54 | + 入力がなかったことを示す | |
55 | + 戻り値: 先読みした文字コード | |
56 | +int _dos_k_sftsns() | |
57 | + シフトキーの押下状態を調べる。 | |
58 | + 戻り値の下位10ビットには各シフトキーの押下状態が返されるが | |
59 | + LEDの付いているキーについては、LEDの点灯状態を返す。 | |
60 | + bit 意味 | |
61 | + --------------- | |
62 | + 10 全角 | |
63 | + 9 ひらがな | |
64 | + 8 INS | |
65 | + 7 CAPS | |
66 | + 6 コード入力 | |
67 | + 5 ローマ字 | |
68 | + 4 かな | |
69 | + 3 OPT.2 | |
70 | + 2 OPT.1 | |
71 | + 1 CTRL | |
72 | + 0 SHIFT | |
73 | + 戻り値: キー状態 | |
74 | + | |
75 | +int _dos_k_insmod(int mode) | |
76 | + modeで指定した状態にINSキーの状態を設定する。 | |
77 | + 0xff : ON | |
78 | + 0x00 : OFF | |
79 | + 戻り値: 戻り値なし | |
80 | + | |
81 | +int _dos_k_keybit(int group) | |
82 | + groupで指定したキーコードグループについてその押下状態を | |
83 | + 調べる。 | |
84 | + | |
85 | + group/bit | 0 1 2 3 4 5 6 7 | |
86 | + ----------+-------------------------------------- | |
87 | + 0 | N/A ESC 1! 2" 3# 4$ 5% 6& | |
88 | + 1 | 7' 8( 9) 0 -= ^ \| BS | |
89 | + 2 | TAB Q W E R T Y U | |
90 | + 3 | I O P @ [ CR A S | |
91 | + 4 | D F G H J K L ; | |
92 | + 5 | : ] Z X C V B N | |
93 | + 6 | M ,< .> /? _ SPC HOM DEL | |
94 | + 7 | RUP RDN UND ← ↑ → ↓ CLR | |
95 | + 8 | / * - 7 8 9 + 4 | |
96 | + 9 | 5 6 = 1 2 3 ENT 0 | |
97 | + A | , . 記号登録HLP XF1 XF2 XF3 | |
98 | + B | XF4 XF5 かなロマコドCAP INS ひら | |
99 | + C | 全角BRK CPY F1 F2 F3 F4 F5 | |
100 | + D | F6 F7 F8 F9 F10 N/A N/A N/A | |
101 | + E | SFT CTL OP1 OP2 F10 N/A N/A N/A | |
102 | + F | N/A N/A N/A N/A N/A N/A N/A N/A | |
103 | + 戻り値: キー状態 | |
104 | + | |
105 | +{ | |
106 | +#include <sys/dos.h> | |
107 | +int _dos_keysns() | |
108 | + | |
109 | +機能 | |
110 | + キーの入力状態の検査を行う | |
111 | + | |
112 | +解説 | |
113 | + 標準入力の入力状態を検査する。 | |
114 | + この時、ブレークチェックが行われる。 | |
115 | + | |
116 | +戻り値 | |
117 | + 入力がある場合は-1を返し、ない場合は0を返す | |
118 | + | |
119 | +注意 | |
120 | + ブレークチェックで検査される文字には、 | |
121 | + CTRL+C(ブレーク) | |
122 | + CTRL+P(ブレークエコー開始) | |
123 | + CTRL+N(ブレークエコー停止) | |
124 | + がある | |
125 | + | |
126 | +関連項目 | |
127 | + _dos_gets() | |
128 | + |