home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1998 January (DVD) / VPR980100.ISO / DRIVER / IBM / VW200 / VW200_2.EXE / VWSAMPLE / VW200API.INC < prev    next >
Text File  |  1995-11-28  |  31KB  |  884 lines

  1. ifndef  VW200API_INC
  2. define  VW200API_INC
  3.  
  4. ;=============================================================================
  5. ; VW-200 Application Program Interface(API) 使用方法
  6. ;
  7. ;       include VW200API.INC            ;;本ファイルの読み込み
  8. ;       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  9. ;       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  10. ;       API     ClearScreen             ;;API API_No の形で記述します。
  11. ;                                       ;;  API_No は下記の一覧を参照。
  12. ;
  13. ;       ld      hl,#0104h               ;;API のパラメータは事前に設定する事。
  14. ;       API     Locate                  ;;
  15. ;
  16. ;       ld      xp,#pod message         ;;IX を利用する API では XP の設定に
  17. ;       ld      ix,#lod Message         ;;注意してください。
  18. ;       API     PutStr2                 ;;
  19. ;=============================================================================
  20.  
  21. ;=============================================================================
  22. ; APIシステム定数
  23. ;=============================================================================
  24. define  API_Vector      0c0800h         ; 固定:変更しないでください。
  25. define  APIVERS         200h            ; バージョン(100h=TC-100 200h=VW-200)
  26.  
  27. ;=============================================================================
  28. ; API マクロ
  29. ;=============================================================================
  30. API     macro   apino
  31.         push    ep
  32.         ld      ep,#pod API_Vector
  33.         ld      nb,#boc API_Vector
  34.         call    [lod (apino*2+API_Vector)]
  35.         pop     ep
  36.         endm
  37.  
  38. ;=============================================================================
  39. ; API_H マクロ (GPset, GPointで使用)
  40. ;=============================================================================
  41. API_H   macro   apino
  42.         push    ep
  43.         push    hl
  44.         ld      hl, ix
  45.         ld      ix, iy
  46.         ld      iy, hl
  47.         ld      ep, #pod API_Vector
  48.         ld      nb, #boc API_Vector
  49.         call    [lod (apino*2+API_Vector)]
  50.         ld      hl, ix
  51.         ld      ix, iy
  52.         ld      iy, hl
  53.         pop     hl
  54.         pop     ep
  55.         endm
  56.  
  57. ;=============================================================================
  58. ; API 一覧
  59. ;
  60. ; API呼び出しは実際の番号ではなく、ここに記載されているAPI名で使用してくださ
  61. ; い。
  62. ; 今後、API拡張などでAPI番号の変更が行われた場合でも、再アセンブルで対応する
  63. ; 事が可能になります。
  64. ;=============================================================================
  65.  
  66. ;=============================================================================
  67. ; システム制御
  68. ;=============================================================================
  69. define  PowerOff        1
  70. ;
  71. ;       VW-200の電源をオフにする。
  72. ;
  73. ;       IN:     無
  74. ;
  75. ;       OUT:    無効(戻りません)
  76. ;
  77. ;       Reg.    無効
  78. ;-----------------------------------------------------------------------------
  79. define  PowerSaveLock   2
  80. ;
  81. ;       パワーセーブを行わない設定にする。
  82. ;
  83. ;       IN:     無
  84. ;
  85. ;       OUT:    無
  86. ;
  87. ;       Reg.    全保存
  88. ;-----------------------------------------------------------------------------
  89. define  PowerSaveUnlock 3
  90. ;
  91. ;       パワーセーブを行う設定にする。
  92. ;
  93. ;       IN:     無
  94. ;
  95. ;       OUT:    無
  96. ;
  97. ;       Reg.    全保存
  98. ;-----------------------------------------------------------------------------
  99. define  WaitState       4
  100. ;
  101. ;       SMC88のウェイト制御を行う。
  102. ;
  103. ;       IN:     A       ウェイト数      0(fast)~7(slow)
  104. ;
  105. ;       OUT:    A       元のウェイト数
  106. ;
  107. ;       Reg.    A以外保存
  108. ;=============================================================================
  109. ; 画面設定関連
  110. ;=============================================================================
  111. define  Refresh         5
  112. ;
  113. ;       画面を仮想バッファに従って再描画する。
  114. ;
  115. ;       IN:     無
  116. ;
  117. ;       OUT:    無
  118. ;
  119. ;       Reg.    全保存
  120. ;-----------------------------------------------------------------------------
  121. define  Screen          6
  122. ;
  123. ;       VW-200の画面モードを設定する。
  124. ;
  125. ;       IN:     A       画面モード      SCR_VW200V16    縦画面表示 行間なし
  126. ;                                       SCR_VW200H16    横画面表示 行間なし
  127. ;                                       SCR_VW200V18    縦画面表示 行間あり
  128. ;                                       SCR_VW200H18    横画面表示 行間あり
  129. ;
  130. ;
  131. ;       OUT:    A       元の画面モード  上記の値以外に
  132. ;                                       SCR_TC100       TC-100互換モード(デフォルト)
  133. ;                                       が返されます。
  134. ;
  135. ;       Reg.    A以外保存
  136. ;=============================================================================
  137. ; 文字出力、インジケーター制御
  138. ;=============================================================================
  139. define  PutChar         7
  140. ;
  141. ;       指定位置に1文字出力する。
  142. ;
  143. ;       IN:     BA      出力文字(SBCS:JISコード DBCS:シフトJISコード)
  144. ;               L       X座標
  145. ;               H       Y座標
  146. ;
  147. ;       OUT:    無
  148. ;
  149. ;       Reg.    全保存
  150. ;-----------------------------------------------------------------------------
  151. define  PutChar2        8
  152. ;
  153. ;       カレント位置に1文字出力する。
  154. ;
  155. ;       IN:     BA      出力文字(SBCS:JISコード DBCS:シフトJISコード)
  156. ;
  157. ;       OUT:    無
  158. ;
  159. ;       Reg.    全保存
  160. ;-----------------------------------------------------------------------------
  161. define  PutStr          9
  162. ;
  163. ;       指定位置から文字列を出力する。
  164. ;
  165. ;       IN:     XP,IX   出力文字列(SBCS:JISコード DBCS:シフトJISコード)
  166. ;               L       X座標
  167. ;               H       Y座標
  168. ;
  169. ;       OUT:    無
  170. ;
  171. ;       Reg.    全保存
  172. ;-----------------------------------------------------------------------------
  173. define  PutStr2         10
  174. ;
  175. ;       カレント位置から文字列を出力する。
  176. ;
  177. ;       IN:     XP,IX   出力文字列(SBCS:JISコード DBCS:シフトJISコード)
  178. ;
  179. ;       OUT:    無
  180. ;
  181. ;       Reg.    全保存
  182. ;-----------------------------------------------------------------------------
  183. define  PutNum          11
  184. ;
  185. ;       指定位置に数値を出力する。
  186. ;
  187. ;       IN:     IX      出力数値
  188. ;               A       出力桁数
  189. ;               B       サプレスモード  PNM_ZEROFILL    0埋め
  190. ;                                       PNM_SUPPRESS    0サプレス
  191. ;               L       X座標
  192. ;               H       Y座標
  193. ;
  194. ;       OUT:    無
  195. ;
  196. ;       Reg.    全保存
  197. ;-----------------------------------------------------------------------------
  198. define  PutNum2         12
  199. ;
  200. ;       カレント位置に数値を出力する。
  201. ;
  202. ;       IN:     IX      出力数値
  203. ;               A       出力桁数
  204. ;               B       サプレスモード  PNM_ZEROFILL    0埋め
  205. ;                                       PNM_SUPPRESS    0サプレス
  206. ;
  207. ;       OUT:    無
  208. ;
  209. ;       Reg.    全保存
  210. ;-----------------------------------------------------------------------------
  211. define  Indicator       13
  212. ;
  213. ;       インジケーターの制御を行う。
  214. ;
  215. ;       IN:     A       番号            IND_UPARROW     上矢印(縦位置基準)
  216. ;                                       IND_RIGHTARROW  右矢印(縦位置基準)
  217. ;                                       IND_LEFTARROW   左矢印(縦位置基準)
  218. ;                                       IND_DOWNARROW   下矢印(縦位置基準)
  219. ;                                       IND_USER1       ユーザー1
  220. ;                                       IND_USER2       ユーザー2
  221. ;                                       IND_USER3       ユーザー3
  222. ;                                       IND_USER4       ユーザー4
  223. ;                                       IND_CALC        電卓
  224. ;                                       IND_CLOCK       時計
  225. ;                                       IND_SMALL       小文字
  226. ;                                       IND_ALPHA       英字
  227. ;                                       IND_NUM         数字
  228. ;                                       IND_KANA        カナ
  229. ;                                       IND_INSERT      挿入
  230. ;                                       IND_BATT        バッテリー警告
  231. ;
  232. ;               B       状態            OFF             消灯
  233. ;                                       ON              点灯
  234. ;
  235. ;       OUT:    無
  236. ;
  237. ;       Reg.    全保存
  238. ;=============================================================================
  239. ; キー入力
  240. ;=============================================================================
  241. define  InKey           14
  242. ;
  243. ;       1文字入力を行う。
  244. ;       入力なしでもリターンします。
  245. ;
  246. ;       IN:     無
  247. ;
  248. ;       OUT:    A       キーコード      KCD_NONE        入力なし
  249. ;                                       KCD_INSERT      挿入
  250. ;                                       KCD_DELETE      削除
  251. ;                                       KCD_OK          OK
  252. ;                                       KCD_CCE         C
  253. ;                                       KCD_TIME        時刻設定
  254. ;                                       KCD_RM          RM
  255. ;                                       KCD_CM          CM
  256. ;                                       KCD_MPLUS       M+
  257. ;                                       KCD_MMINUS      M-
  258. ;                                       KCD_UP          ↑
  259. ;                                       KCD_DOWN        ↓
  260. ;                                       KCD_LEFT        ←
  261. ;                                       KCD_RIGHT       →
  262. ;                                       JISコード       入力文字
  263. ;
  264. ;       Reg.    A以外保存
  265. ;-----------------------------------------------------------------------------
  266. define  InKeyWait       15
  267. ;
  268. ;       1文字入力を行う。
  269. ;       入力されるまで待ちます。
  270. ;
  271. ;       IN:     無
  272. ;
  273. ;       OUT:    A       キーコード      InKeyキーコード参照
  274. ;                                       (KCD_NONEは戻りません)
  275. ;
  276. ;       Reg.    A以外保存
  277. ;-----------------------------------------------------------------------------
  278. define  SenseKey        16
  279. ;
  280. ;       キー入力を先読みする。
  281. ;
  282. ;       IN:     無
  283. ;
  284. ;       OUT:    A       キーコード      InKeyキーコード参照
  285. ;
  286. ;       Reg.    A以外保存
  287. ;-----------------------------------------------------------------------------
  288. define  ReadKey         17
  289. ;
  290. ;       リアルタイムキー読み込みを行う。
  291. ;
  292. ;       IN:     無
  293. ;
  294. ;       OUT:    A       スキャンコード  KSC_NONE        入力無し
  295. ;                                       KSC_0~KSC_9    0~9キー
  296. ;                                       KSC_PLUS        +キー
  297. ;                                       KSC_MINUS       -キー
  298. ;                                       KSC_MUL         ×キー
  299. ;                                       KSC_DIV         ÷キー
  300. ;                                       KSC_PERCENT     %キー
  301. ;                                       KSC_CCE         Cキー
  302. ;                                       KSC_EQUAL       =キー  -+- 同コード
  303. ;                                       (KSC_OK)        OKキー  -+
  304. ;                                       KSC_DOT         .キー
  305. ;                                       KSC_UP          ↑キー
  306. ;                                       KSC_DOWN        ↓キー
  307. ;                                       KSC_LEFT        ←キー
  308. ;                                       KSC_RIGHT       →キー
  309. ;
  310. ;               L       下段スキャン情報(bit0-7)
  311. ;               B       中段スキャン情報(bit0-7)
  312. ;               H       上段スキャン情報(bit0-7)
  313. ;
  314. ;       Reg.    BA,HL以外保存
  315. ;-----------------------------------------------------------------------------
  316. define  Input           18
  317. ;
  318. ;       指定位置から1行入力を行う。
  319. ;
  320. ;       IN:     XP,IX   入力バッファアドレス(A+1のサイズが必要)
  321. ;               A       入力長
  322. ;               B       初期カーソル位置
  323. ;               L       X座標
  324. ;               H       Y座標
  325. ;
  326. ;       OUT:    A       終了キー        InKeyキーコード参照
  327. ;               B       終了時カーソル位置
  328. ;
  329. ;       Reg.    BA以外保存
  330. ;-----------------------------------------------------------------------------
  331. define  Input2          19
  332. ;
  333. ;       カレント位置から1行入力を行う。
  334. ;
  335. ;       IN:     XP,IX   入力バッファアドレス(A+1のサイズが必要)
  336. ;               A       入力長
  337. ;               B       初期カーソル位置
  338. ;
  339. ;       OUT:    A       終了キー        InKeyキーコード参照
  340. ;               B       終了時カーソル位置
  341. ;
  342. ;       Reg.    BA以外保存
  343. ;=============================================================================
  344. ; 画面操作
  345. ;=============================================================================
  346. define  GetChar         20
  347. ;
  348. ;       指定位置の文字コードを読み出す。
  349. ;
  350. ;       IN:     L       X座標
  351. ;               H       Y座標
  352. ;
  353. ;       OUT:    A       文字コード
  354. ;               B       属性            ATR_SBCS        SBCS
  355. ;                                       ATR_DBCS1       DBCS 1st
  356. ;                                       ATR_DBCS2       DBCS 2nd
  357. ;
  358. ;       Reg.    BA以外保存
  359. ;-----------------------------------------------------------------------------
  360. define  GetChar2        21
  361. ;
  362. ;       カレント位置の文字コードを読み出す。
  363. ;
  364. ;       IN:     無
  365. ;
  366. ;       OUT:    A       文字コード
  367. ;               B       属性            ATR_SBCS        SBCS
  368. ;                                       ATR_DBCS1       DBCS 1st
  369. ;                                       ATR_DBCS2       DBCS 2nd
  370. ;
  371. ;       Reg.    BA以外保存
  372. ;-----------------------------------------------------------------------------
  373. define  ClearScreen     22
  374. ;
  375. ;       画面を消去する。
  376. ;
  377. ;       IN:     無
  378. ;
  379. ;       OUT:    無
  380. ;
  381. ;       Reg.    全保存
  382. ;=============================================================================
  383. ; カーソル関連
  384. ;=============================================================================
  385. define  CursorOn        23
  386. ;
  387. ;       カーソル表示を有効にする。(点滅状態)
  388. ;
  389. ;       IN:     無
  390. ;
  391. ;       OUT:    無
  392. ;
  393. ;       Reg.    全保存
  394. ;-----------------------------------------------------------------------------
  395. define  CursorOff       24
  396. ;
  397. ;       カーソル表示を無効にする。(消灯状態)
  398. ;
  399. ;       IN:     無
  400. ;
  401. ;       OUT:    無
  402. ;
  403. ;       Reg.    全保存
  404. ;-----------------------------------------------------------------------------
  405. define  Locate          25
  406. ;
  407. ;       カーソルを指定位置に移動する。
  408. ;
  409. ;       IN:     L       X座標
  410. ;               H       Y座標
  411. ;
  412. ;       OUT:    無
  413. ;
  414. ;       Reg.    全保存
  415. ;-----------------------------------------------------------------------------
  416. define  GetPos          26
  417. ;
  418. ;       カーソルのカレント位置を取得する。
  419. ;
  420. ;       IN:     無
  421. ;
  422. ;       OUT:    L       X座標
  423. ;               H       Y座標
  424. ;
  425. ;       Reg.    HL以外保存
  426. ;-----------------------------------------------------------------------------
  427. ;=============================================================================
  428. ; キー設定
  429. ;=============================================================================
  430. define  KeyMode         31
  431. ;
  432. ;       キーモードの設定を行う。
  433. ;       Aには下記のKBD_xxxxを設定する。KBD_NUMLOCKとKBD_SFTxxxは | で接続して
  434. ;       使用する。
  435. ;       同様に、KBD_LOCK,KBD_UNLOCKも | で接続して使用する。
  436. ;       例:(KBD_NUMLOCK|KBD_SFTCALC)   (KBD_KANA|KBD_LOCK)
  437. ;
  438. ;       IN:     A       キーモード      KBD_KANA        カナモード
  439. ;                                       KBD_ALPHA       英字モード
  440. ;                                       KBD_NUMLOCK     数字モード
  441. ;                                       KBD_SFTNUM      (通常数字)
  442. ;                                       KBD_SFTCALC     (電卓用数字)
  443. ;                                       KBD_SFTCLOCK    (時計用数字)
  444. ;                                       KBD_LOCK        (キーボードロック)
  445. ;                                       KBD_UNLOCK      (キーボードロック解除)
  446. ;
  447. ;       OUT:    無
  448. ;
  449. ;       Reg.    全保存
  450. ;-----------------------------------------------------------------------------
  451. define  SetKeyMap       32
  452. ;
  453. ;       キーマップの設定を行う。
  454. ;       AにKMP_DEFAULTを設定した場合、HLは無視され、標準のキーマップが設定され
  455. ;       る。
  456. ;
  457. ;       IN:     B       マップ番号      KMP_NUM         数字マップ
  458. ;                                       KMP_ALPHA       英字マップ
  459. ;                                       KMP_KANA        カナマップ
  460. ;               A       マップテーブルページ
  461. ;                       または          KMP_DEFAULT     標準キーマップ
  462. ;               HL      マップテーブルアドレス
  463. ;
  464. ;       OUT:    無
  465. ;
  466. ;       Reg.    全保存
  467. ;=============================================================================
  468. ; サウンド
  469. ;=============================================================================
  470. define  Beep            33
  471. ;
  472. ;       長いビープ音を鳴らす。
  473. ;
  474. ;       IN:     無
  475. ;
  476. ;       OUT:    無
  477. ;
  478. ;       Reg.    全保存
  479. ;-----------------------------------------------------------------------------
  480. define  Click           34
  481. ;
  482. ;       短いビープ音を鳴らす。
  483. ;
  484. ;       IN:     無
  485. ;
  486. ;       OUT:    無
  487. ;
  488. ;       Reg.    全保存
  489. ;-----------------------------------------------------------------------------
  490. define  Sound           35
  491. ;
  492. ;       サウンドを鳴らす。
  493. ;       音程はオクターブを指定するSND_O1~SND_O5と音階を指定するSND_C,SND_C_~
  494. ;       SND_Bで指定する。(最高音程は SND_O5+SND_C)
  495. ;
  496. ;       IN:     A       音程            SND_REST        休符(無音)
  497. ;                                       SND_Ox+SND_xx   音程
  498. ;                                       SND_STOP        強制停止
  499. ;               B       音長            10ms単位の音長
  500. ;                       または          SND_CONTINUE    鳴り続ける
  501. ;
  502. ;       OUT:    無
  503. ;
  504. ;       Reg.    全保存
  505. ;=============================================================================
  506. ; ダイアラー
  507. ;=============================================================================
  508. define  DialTone        37
  509. ;
  510. ;       ダイアルトーンを発生する。
  511. ;
  512. ;       IN:     A       ダイアル番号    DLN_0~DLN_9    0~9
  513. ;                                       DLN_STAR        *
  514. ;                                       DLN_SHARP       #
  515. ;
  516. ;       OUT:    無
  517. ;
  518. ;       Reg.    全保存
  519. ;-----------------------------------------------------------------------------
  520. define  Dial            38
  521. ;
  522. ;       オートダイアルを行う。
  523. ;
  524. ;       IN:     XP,IX   ダイアル文字列  0~9及び*,#     トーン発生
  525. ;                                       .               1秒待ち
  526. ;                                       その他          無視
  527. ;
  528. ;       OUT:    無
  529. ;
  530. ;       Reg.    全保存
  531. ;=============================================================================
  532. ; グラフィック
  533. ;=============================================================================
  534. define  GPset           44
  535. ;
  536. ;       グラフィックのドットをセット/リセットする。
  537. ;
  538. ;       IN:     IX      X座標(0-199)
  539. ;               IY      Y座標(0-319)
  540. ;               A       点灯/消灯       OFF             消灯
  541. ;                                       ON              点灯
  542. ;
  543. ;       OUT:    無
  544. ;
  545. ;       Reg.    全保存
  546. ;
  547. ;       縦画面表示のときは左上を起点として横をX座標, 縦をY座標としています。
  548. ;       横画面表示のときは左上を起点として縦をX座標, 横をY座標としています。
  549. ;       これはドットの表示をできるだけ速く行うための使用ですが, 横画面表示
  550. ;       の座標系が使いにくい場合, API_H のマクロを使えば横をX座標, 縦をY座
  551. ;       標として扱うことができます。
  552. ;
  553. ;       つまり「API GPset」と書くところを「API_H GPset」としてください。
  554. ;       このとき入力パラメーターは
  555. ;
  556. ;       IN:     IX      X座標(0-319)
  557. ;               IY      Y座標(0-199)
  558. ;               A       点灯/消灯       OFF             消灯
  559. ;                                       ON              点灯
  560. ;
  561. ;       となります。
  562. ;
  563. ;-----------------------------------------------------------------------------
  564. define  GPoint          45
  565. ;
  566. ;       グラフィックのドット状態を検査する。
  567. ;
  568. ;       IN:     IX      X座標(0-199)
  569. ;               IY      Y座標(0-319)
  570. ;
  571. ;       OUT:    A       点灯/消灯       OFF             消灯
  572. ;                                       OFF以外         点灯
  573. ;
  574. ;       Reg.    A以外保存
  575. ;
  576. ;       GPsetの場合と同様に, 横画面表示のときに「API_H GPoint」とすれば,
  577. ;       横をX座標, 縦をY座標として扱うことができます。
  578. ;
  579. ;=============================================================================
  580. ; 日付、時間
  581. ;=============================================================================
  582. define  SetTime         46
  583. ;
  584. ;       システム時刻をセットする。
  585. ;
  586. ;       IN:     H       時              0~23
  587. ;               L       分              0~59
  588. ;               B       秒              0~59
  589. ;
  590. ;       OUT:    無
  591. ;
  592. ;       Reg.    全保存
  593. ;-----------------------------------------------------------------------------
  594. define  GetTime         47
  595. ;
  596. ;       システム時刻を読み出す。
  597. ;
  598. ;       IN:     無
  599. ;
  600. ;       OUT:    H       時              0~23
  601. ;               L       分              0~59
  602. ;               B       秒              0~59
  603. ;
  604. ;       Reg.    B,HL以外保存
  605. ;-----------------------------------------------------------------------------
  606. define  SetDate         48
  607. ;
  608. ;       システム日付をセットする。
  609. ;
  610. ;       IN:     H       年              0~103  H年は1995年を基準とした差分
  611. ;                                               で表わします。つまり,
  612. ;                                               H年=(西暦-1995)
  613. ;                                              1995年は,H=0
  614. ;                                               1996年は,H=1
  615. ;                                               となります。
  616. ;               L       月              1~12
  617. ;               B       日              1~31
  618. ;
  619. ;       OUT:    無
  620. ;
  621. ;       Reg.    全保存
  622. ;-----------------------------------------------------------------------------
  623. define  GetDate         49
  624. ;
  625. ;       システム日付を読み出す。
  626. ;
  627. ;       IN:     無
  628. ;
  629. ;       OUT:    H       年              0~103  H年は1995年を基準とした差分
  630. ;                                               で表わします。つまり,
  631. ;                                               H年=(西暦-1995)
  632. ;                                              1995年は,H=0
  633. ;                                               1996年は,H=1
  634. ;                                               となります。
  635. ;               L       月              1~12
  636. ;               B       日              1~31
  637. ;
  638. ;       Reg.    B,HL以外保存
  639. ;-----------------------------------------------------------------------------
  640. define  DayOfWeek       50
  641. ;
  642. ;       指定年月日の曜日を取得する。
  643. ;
  644. ;       IN:     H       年              0~103  H年は1995年を基準とした差分
  645. ;                                               で表わします。つまり,
  646. ;                                               H年=(西暦-1995)
  647. ;                                              1995年は,H=0
  648. ;                                               1996年は,H=1
  649. ;                                               となります。
  650. ;               L       月              1~12
  651. ;               B       日              1~31
  652. ;
  653. ;       OUT:    A       曜日            0:日~6:土
  654. ;
  655. ;       Reg.    A以外保存
  656. ;=============================================================================
  657. ; その他
  658. ;=============================================================================
  659. define  Random          51
  660. ;
  661. ;       擬似一様乱数を取得する。
  662. ;
  663. ;       IN:     無
  664. ;
  665. ;       OUT:    A       乱数値          0~255
  666. ;
  667. ;       Reg.    A以外保存
  668. ;-----------------------------------------------------------------------------
  669. define  Wait            52
  670. ;
  671. ;       指定時間の時間待ちを行う。
  672. ;
  673. ;       IN:     A       待ち時間        10ms単位(10ms~2550ms:2.55s)
  674. ;
  675. ;       OUT:    無
  676. ;
  677. ;       Reg.    全保存
  678. ;-----------------------------------------------------------------------------
  679. define  SetWaitTimer    53
  680. ;
  681. ;       経過時間監視タイマーを設定する。
  682. ;       このタイマーを使用中にWaitを使用するとこのタイマーは無効になります。
  683. ;
  684. ;       IN:     A       タイマー初期値  10ms単位(10ms~2550ms:2.55s)
  685. ;
  686. ;       OUT:    無
  687. ;
  688. ;       Reg.    全保存
  689. ;-----------------------------------------------------------------------------
  690. define  GetWaitTimer    54
  691. ;
  692. ;       経過時間監視タイマーの値を読み出す。
  693. ;       このタイマーを使用中にWaitを使用するとこのタイマーは無効になります。
  694. ;
  695. ;       IN:     無
  696. ;
  697. ;       OUT:    A       残タイマー値    10ms単位
  698. ;
  699. ;       Reg.    全保存
  700. ;=============================================================================
  701.  
  702.  
  703. ;=============================================================================
  704. ; API定数一覧
  705. ;
  706. ; APIで使用する定数は実際の番号ではなく、ここに記載されている定義名で使用して
  707. ; ください。
  708. ; 今後、API拡張などでAPIの機能に修整が加えられた場合でも、再アセンブルで対応
  709. ; する事が可能になります。
  710. ;=============================================================================
  711. ;-----------------------------------------------------------------------------
  712. ; Flags
  713. ;-----------------------------------------------------------------------------
  714. define  ON              01h
  715. define  OFF             00h
  716. define  TRUE            01h
  717. define  FALSE           00h
  718.  
  719. ;-----------------------------------------------------------------------------
  720. ; API Screen
  721. ;-----------------------------------------------------------------------------
  722. define  SCR_TC100       0
  723. define  SCR_VW200V16    1
  724. define  SCR_VW200H16    2
  725. define  SCR_VW200V18    3
  726. define  SCR_VW200H18    4
  727.  
  728. ;-----------------------------------------------------------------------------
  729. ; API PutNum,PutNum2
  730. ;-----------------------------------------------------------------------------
  731. define  PNM_ZEROFILL    00h
  732. define  PNM_SUPPRESS    80h
  733.  
  734. ;-----------------------------------------------------------------------------
  735. ; API Indicator
  736. ;-----------------------------------------------------------------------------
  737. define  IND_UPARROW     0
  738. define  IND_RIGHTARROW  1
  739. define  IND_LEFTARROW   2
  740. define  IND_DOWNARROW   3
  741. define  IND_USER1       4
  742. define  IND_USER2       5
  743. define  IND_USER3       6
  744. define  IND_USER4       7
  745. define  IND_CALC        8
  746. define  IND_CLOCK       9
  747. define  IND_SMALL       10
  748. define  IND_ALPHA       11
  749. define  IND_NUM         12
  750. define  IND_KANA        13
  751. define  IND_INSERT      14
  752. define  IND_BATT        15
  753.  
  754. ;-----------------------------------------------------------------------------
  755. ; API InKey,InKeyWait,SenseKey,Input,Input2
  756. ;
  757. ;       キーモードを変えると同じキーを押しても返される値が変わる場合があ
  758. ;       ります。たとえば, 電卓用数字では KCD_UP, KCD_DOWN, KCD_LEFT,
  759. ;       KCD_RIGHTではなく, KCD_RM, KCD_MPLUS, KCD_MMINUS, KCD_CM が返され
  760. ;       ます。
  761. ;-----------------------------------------------------------------------------
  762. define  KCD_NONE        00h
  763. define  KCD_DELETE      05h
  764. define  KCD_INSERT      06h
  765. define  KCD_CCE         08h
  766. define  KCD_RM          09h
  767. define  KCD_MMINUS      0ah
  768. define  KCD_CM          0bh
  769. define  KCD_MPLUS       0ch
  770. define  KCD_OK          0dh
  771. define  KCD_TIME        10h
  772. define  KCD_UP          1ch
  773. define  KCD_DOWN        1dh
  774. define  KCD_RIGHT       1eh
  775. define  KCD_LEFT        1fh
  776.  
  777. ;-----------------------------------------------------------------------------
  778. ; API ReadKey
  779. ;-----------------------------------------------------------------------------
  780. define  KSC_NONE        0ffh
  781. define  KSC_ONOFF       0       (N/A)
  782. define  KSC_5           1
  783. define  KSC_6           2
  784. define  KSC_7           3
  785. define  KSC_8           4
  786. define  KSC_9           5
  787. define  KSC_LEFT        6
  788. define  KSC_UP          7
  789. define  KSC_FN          8       (N/A)
  790. define  KSC_0           9
  791. define  KSC_1           10
  792. define  KSC_2           11
  793. define  KSC_3           12
  794. define  KSC_4           13
  795. define  KSC_DOWN        14
  796. define  KSC_RIGHT       15
  797. define  KSC_DIV         16
  798. define  KSC_MUL         17
  799. define  KSC_PLUS        18
  800. define  KSC_MINUS       19
  801. define  KSC_PERCENT     20
  802. define  KSC_DOT         21
  803. define  KSC_CCE         22
  804. define  KSC_EQUAL       23
  805. define  KSC_OK          23
  806.  
  807. ;-----------------------------------------------------------------------------
  808. ; API GetChar,GetChar2
  809. ;-----------------------------------------------------------------------------
  810. define  ATR_SBCS        0
  811. define  ATR_DBCS1       1
  812. define  ATR_DBCS2       2
  813.  
  814. ;-----------------------------------------------------------------------------
  815. ; API KeyMode
  816. ;-----------------------------------------------------------------------------
  817. define  KBD_READY       80h                     ; type ahead buffer ready
  818. define  KBD_LOCK        20h                     ; key lock
  819. define  KBD_UNLOCK      00h                     ; key unlock
  820. define  KBD_NUMLOCK     40h                     ; NUM
  821. define  KBD_KANA        10h                     ; KANA
  822. define  KBD_ALPHA       00h                     ; ALPHA
  823. define  KBD_SFTNUM      00h                     ; NUM default
  824. define  KBD_SFTCALC     01h                     ; NUM calc
  825. define  KBD_SFTCLOCK    02h                     ; NUM clock
  826.  
  827. ;-----------------------------------------------------------------------------
  828. ; API SetKeyMap
  829. ;-----------------------------------------------------------------------------
  830. define  KMP_NUM         0
  831. define  KMP_ALPHA       1
  832. define  KMP_KANA        2
  833. define  KMP_DEFAULT     0ffh
  834.  
  835. ;-----------------------------------------------------------------------------
  836. ; API Sound
  837. ;-----------------------------------------------------------------------------
  838. define  SND_REST        0
  839. define  SND_C           1
  840. define  SND_C_          2
  841. define  SND_D           3
  842. define  SND_D_          4
  843. define  SND_E           5
  844. define  SND_F           6
  845. define  SND_F_          7
  846. define  SND_G           8
  847. define  SND_G_          9
  848. define  SND_A           10
  849. define  SND_A_          11
  850. define  SND_B           12
  851.  
  852. define  SND_O1          0
  853. define  SND_O2          12
  854. define  SND_O3          24
  855. define  SND_O4          36
  856. define  SND_O5          48
  857.  
  858. ;「SND_Ox」の「O」は数字の「ゼロ(0)」ではなく, アルファベットの「O」です。
  859.  
  860. define  SND_CONTINUE    0
  861. define  SND_STOP        0ffh
  862.  
  863. ;-----------------------------------------------------------------------------
  864. ; API DialTone
  865. ;-----------------------------------------------------------------------------
  866. define  DLN_0           0
  867. define  DLN_1           1
  868. define  DLN_2           2
  869. define  DLN_3           3
  870. define  DLN_4           4
  871. define  DLN_5           5
  872. define  DLN_6           6
  873. define  DLN_7           7
  874. define  DLN_8           8
  875. define  DLN_9           9
  876. define  DLN_STAR        10
  877. define  DLN_SHARP       11
  878. ;=============================================================================
  879.  
  880. define  WaitTimerReset  53
  881. define  WaitTimer       54
  882.  
  883. endif   ;VW200API_INC
  884.