private knowhow
Revision | 1f4be0dafd8bbfab700b7fc4abe5d9f2ebac80e3 (tree) |
---|---|
Zeit | 2013-12-27 06:41:08 |
Autor | Moritaka Ogasawara <oga@coli...> |
Commiter | Moritaka Ogasawara |
add some knowhow
@@ -0,0 +1,215 @@ | ||
1 | +バッチファイルノウハウ | |
2 | + | |
3 | +{(1)引数 ($1, $2, ...) | |
4 | + %1 %2 ... %9 | |
5 | + | |
6 | +{(2)一時停止 (read X) | |
7 | + pause | |
8 | + | |
9 | +{(3)コマンド非表示 | |
10 | + @echo off (set +x) | |
11 | + @echo on (set -x) | |
12 | + | |
13 | +{(4)変数設定 | |
14 | +set 変数=xxx | |
15 | +set /a 式 | |
16 | + DOS> set /a 3 + 2 | |
17 | + 5 | |
18 | + DOS> set /a ver = 3 + 2 (変数に入れつつ計算) | |
19 | + 5 | |
20 | + DOS> echo %ver% | |
21 | + 5 | |
22 | +set /p 変数=xxx (プロンプト表示して文字入力) | |
23 | + DOS> set /p num=Input Number : | |
24 | + Input Number :5 <enter> | |
25 | + DOS> echo %num% | |
26 | + 5 | |
27 | + | |
28 | +{(5)変数置換 (VER2=`echo $VER | sed "s@xxx@yyy@g"`) | |
29 | + %V:c1=c2% 文字c1を文字c2に置換する。それぞれ複数の文字を指定することも可能 | |
30 | + ---- | |
31 | + DOS> echo %DATE% | |
32 | + 2013/11/21 | |
33 | + DOS> set DT=%DATE:/=% | |
34 | + DOS> echo %DT% | |
35 | + 20131121 | |
36 | + | |
37 | +{(6)動的変数 | |
38 | +%CD% 現在のディレクトリ文字列に展開します。 | |
39 | +%DATE% DATE コマンドと同じフォーマットで現在の日付に展開します。 | |
40 | +%TIME% TIME コマンドと同じフォーマットで現在の時刻に展開します。 | |
41 | +%RANDOM% 0 から 32767 の間の任意の 10 進数に展開します | |
42 | +%ERRORLEVEL% 現在の ERRORLEVEL の値に展開します。 | |
43 | +%CMDEXTVERSION% 現在のコマンド プロセッサ拡張機能のバージョン番号に展開します。 | |
44 | +%CMDCMDLINE% コマンド プロセッサを起動したオリジナル コマンド ラインに展開します。 | |
45 | + | |
46 | +%SESSIONNAME% "Console" : コマンドプロンプト: | |
47 | +%OS% "Windows_NT": NT系 | |
48 | +%WINDIR% Windowsインストールディレクトリ (C:\Windows) | |
49 | + | |
50 | +{(7)FOR文 | |
51 | +FOR %変数 IN (セット) DO コマンド [コマンドパラメーター] | |
52 | +バッチでは %%変数 | |
53 | + | |
54 | +引数 説明 | |
55 | +%変数 単一文字の置き換え可能なパラメーターを指定します。 | |
56 | +バッチ プログラムで FOR コマンドを使用するときは、%変数の代わりに、 | |
57 | + %%変数を使用してください。 | |
58 | + 変数名では大文字と小文字が区別されるため、 %i と %I は異なります。 | |
59 | + | |
60 | +(セット) ファイル セットを指定します。ワイルドカードを使用できます。 | |
61 | + | |
62 | +コマンド 各ファイルごとに実行するコマンドを指定します。 | |
63 | +コマンドパラメーター 指定されたコマンドのパラメーターまたはスイッチを指定します。 | |
64 | + | |
65 | + | |
66 | + | |
67 | + | |
68 | + | |
69 | +{(20)IF文 | |
70 | +SET A=1 | |
71 | + | |
72 | +IF %A%==1 ( | |
73 | + ECHO %A% & SET /A A=%A%+1 | |
74 | +) ELSE ( | |
75 | + ECHO FALSE | |
76 | +) | |
77 | +ECHO %A% | |
78 | + | |
79 | +SET B="AAA" | |
80 | +IF %B% EQU "AAA" (ECHO OK) ELSE (ECHO NG) | |
81 | + | |
82 | + | |
83 | +{(21)ファイル存在チェック | |
84 | +SET filename="test.txt" | |
85 | +IF EXIST %filename% (GOTO FILE_TRUE) ELSE GOTO FILE_FALSE | |
86 | + | |
87 | +:FILE_TRUE | |
88 | +ECHO "ファイルが見つかりました" | |
89 | +GOTO BAT_END | |
90 | + | |
91 | +:FILE_FALSE | |
92 | +ECHO "ファイルが見つかりません" | |
93 | +GOTO BAT_END | |
94 | + | |
95 | +:BAT_END | |
96 | + | |
97 | +{(22)ファイルのn行目を取得する | |
98 | +SET COUNT=0 | |
99 | +SET DATA="" | |
100 | +FOR /F "" %%i IN (data.txt) DO @CALL :MYSET %%i | |
101 | +ECHO %DATA% | |
102 | +EXIT /B | |
103 | + | |
104 | +:MYSET | |
105 | +SET /A COUNT=%COUNT%+1 | |
106 | +@REM 1行目だったらDATAへSET | |
107 | +IF %COUNT%==1 SET DATA=%1 | |
108 | +@REM EXIT /B で呼び出し元へ戻る | |
109 | +EXIT /B | |
110 | + | |
111 | + ファイルの一行目を取得する場合は以下だけ | |
112 | + | |
113 | + SET /P DATA=<data.txt | |
114 | + | |
115 | + | |
116 | +{(23)検査対象 %VAR1% 〜 %VAR4% に %SERCHTEXT% が含まれるか確認し、結果を ERRORLEVEL で取得します | |
117 | +@ECHO OFF | |
118 | +@REM テストする変数 | |
119 | +SET VAR1=01234567890 | |
120 | +SET VAR2=test4567890 | |
121 | +SET VAR3=012test7890 | |
122 | +SET VAR4=0123456test | |
123 | + | |
124 | +@REM 検索対象 | |
125 | +SET SEARCHTEXT="test" | |
126 | + | |
127 | +ECHO %VAR1% | find %SEARCHTEXT% >NUL | |
128 | +IF NOT ERRORLEVEL 1 (ECHO %VAR1% TRUE) ELSE (ECHO %VAR1% FALSE) | |
129 | +ECHO %VAR2% | find %SEARCHTEXT% >NUL | |
130 | +IF NOT ERRORLEVEL 1 (ECHO %VAR2% TRUE) ELSE (ECHO %VAR2% FALSE) | |
131 | +ECHO %VAR3% | find %SEARCHTEXT% >NUL | |
132 | +IF NOT ERRORLEVEL 1 (ECHO %VAR3% TRUE) ELSE (ECHO %VAR3% FALSE) | |
133 | +ECHO %VAR4% | find %SEARCHTEXT% >NUL | |
134 | +IF NOT ERRORLEVEL 1 (ECHO %VAR4% TRUE) ELSE (ECHO %VAR4% FALSE) | |
135 | + | |
136 | +{(24)文字入力 (read X) | |
137 | +@ECHO off | |
138 | +cls | |
139 | +:start | |
140 | +ECHO. | |
141 | +ECHO 1. Print Hello | |
142 | +ECHO 2. Print Bye | |
143 | +ECHO 3. Print Test | |
144 | +set choice= | |
145 | +set /p choice=Type the number to print text. ★ | |
146 | +if not '%choice%'=='' set choice=%choice:~0,1% | |
147 | +if '%choice%'=='1' goto hello | |
148 | +if '%choice%'=='2' goto bye | |
149 | +if '%choice%'=='3' goto test | |
150 | +ECHO "%choice%" is not valid please try again | |
151 | +ECHO. | |
152 | +goto start | |
153 | +:hello | |
154 | +ECHO HELLO | |
155 | +goto end | |
156 | +:bye | |
157 | +ECHO BYE | |
158 | +goto end | |
159 | +:test | |
160 | +ECHO TEST | |
161 | +goto end | |
162 | +:end | |
163 | + | |
164 | + | |
165 | +{(25)計算 (expr相当) | |
166 | + set /a 式 | |
167 | + | |
168 | + 変数に入れつつ、echoバックされる。 | |
169 | +set /a v = n + m | |
170 | +set /a v = n % m (剰余) bat内では%%とすること | |
171 | + | |
172 | +DOS> set /a vv = 3 + 6 | |
173 | +9 | |
174 | +DOS> echo %vv% | |
175 | +9 | |
176 | + | |
177 | +{(26)文字列の切り出し | |
178 | +%V% 変数Vの値全体 | |
179 | +%V:~m% m文字目から、最後まで | |
180 | +%V:~m,n% m文字目から、n文字分 | |
181 | +%V:~m,-n% m文字目から、最後のn文字分を除いたもの | |
182 | +%V:~-m% 後ろからm文字目から、最後まで | |
183 | +%V:~-m,n% 後ろからm文字目から、n文字分 | |
184 | +%V:~-m,-n% 後ろからm文字目から、最後のn文字分を除いたもの | |
185 | +%V:c1=c2% 文字c1を文字c2に置換する。それぞれ複数の文字を指定することも可能 | |
186 | + | |
187 | +C:\>SET STR=abcdefg | |
188 | +C:\>ECHO %STR% | |
189 | +abcdefg | |
190 | + | |
191 | +C:\>ECHO %STR:~2% | |
192 | +cdefg | |
193 | + | |
194 | +C:\>ECHO %STR:~2,3% | |
195 | +cde | |
196 | + | |
197 | +C:\>ECHO %STR:~2,-3% | |
198 | +cd | |
199 | + | |
200 | +C:\>ECHO %STR:~-3% | |
201 | +efg | |
202 | + | |
203 | +C:\>ECHO %STR:~-3,2% | |
204 | +ef | |
205 | + | |
206 | +C:\>ECHO %STR:~-3,-2% | |
207 | +e | |
208 | + | |
209 | +C:\>ECHO %STR:~-3,-1% | |
210 | +ef | |
211 | + | |
212 | +C:\>ECHO %STR:~-3,-4% | |
213 | +ECHO は <ON> です。 | |
214 | + | |
215 | + |
@@ -0,0 +1,4416 @@ | ||
1 | +X68K iocs headers | |
2 | + | |
3 | +----------------------- | |
4 | +iocs.h | |
5 | +----------------------- | |
6 | +/* | |
7 | + * PROJECT C Library, X68000 PROGRAMMING INTERFACE DEFINITION | |
8 | + * -------------------------------------------------------------------- | |
9 | + * This file is written by the Project C Library Group, and completely | |
10 | + * in public domain. You can freely use, copy, modify, and redistribute | |
11 | + * the whole contents, without this notice. | |
12 | + * -------------------------------------------------------------------- | |
13 | + * $Id: iocslib.h,v 1.4 1994/11/26 14:48:20 mura Exp $ | |
14 | + */ | |
15 | + | |
16 | +/* for compatibility only */ | |
17 | + | |
18 | +#ifndef __iocslib_h__ | |
19 | +#define __iocslib_h__ | |
20 | + | |
21 | +#ifndef __cdecl_h__ | |
22 | +#include <cdecl.h> | |
23 | +#endif | |
24 | + | |
25 | +#ifndef __sys_iocs_h__ | |
26 | +#include <sys/iocs.h> | |
27 | +#endif | |
28 | + | |
29 | +struct GETPTR { | |
30 | + short x1; | |
31 | + short y1; | |
32 | + short x2; | |
33 | + short y2; | |
34 | + unsigned char *buf_start; | |
35 | + unsigned char *buf_end; | |
36 | +}; | |
37 | + | |
38 | +struct PAINTPTR { | |
39 | + short x; | |
40 | + short y; | |
41 | + unsigned short color; | |
42 | + unsigned char *buf_start; | |
43 | + unsigned char *buf_end; | |
44 | +}; | |
45 | + | |
46 | +struct PUTPTR { | |
47 | + short x1; | |
48 | + short y1; | |
49 | + short x2; | |
50 | + short y2; | |
51 | + unsigned char *buf_start; | |
52 | + unsigned char *buf_end; | |
53 | +}; | |
54 | + | |
55 | +struct CHAIN { | |
56 | + unsigned char *adr; | |
57 | + unsigned short len; | |
58 | +}; | |
59 | + | |
60 | +struct CHAIN2 { | |
61 | + unsigned char *adr; | |
62 | + unsigned short len; | |
63 | + struct CHAIN2 *next; | |
64 | +}; | |
65 | + | |
66 | +#define BOXPTR _boxptr | |
67 | +#define CIRCLEPTR _circleptr | |
68 | +#define CLIPXY _clipxy | |
69 | +#define FILLPTR _fillptr | |
70 | +#define FNTBUF _fntbuf | |
71 | +#define LINEPTR _lineptr | |
72 | +#define PATST _patst | |
73 | +#define POINTPTR _pointptr | |
74 | +#define PSETPTR _psetptr | |
75 | +#define REGS _regs | |
76 | +#define SYMBOLPTR _symbolptr | |
77 | +#define TBOXPTR _tboxptr | |
78 | +#define TREVPTR _trevptr | |
79 | +#define TXFILLPTR _txfillptr | |
80 | +#define XLINEPTR _xlineptr | |
81 | +#define YLINEPTR _ylineptr | |
82 | + | |
83 | +#define READCAP _readcap | |
84 | +#define INQUIRY _inquiry | |
85 | + | |
86 | +#define ABORTJOB _iocs_abortjob | |
87 | +#define ABORTRST _iocs_abortrst | |
88 | +#define ADPCMINP _iocs_adpcminp | |
89 | +#define ADPCMMOD _iocs_adpcmmod | |
90 | +#define ADPCMOUT _iocs_adpcmout | |
91 | +#define ADPCMSNS _iocs_adpcmsns | |
92 | +#define AKCONV _iocs_akconv | |
93 | +#define ALARMGET _iocs_alarmget | |
94 | +#define ALARMMOD _iocs_alarmmod | |
95 | +#define ALARMSET _iocs_alarmset | |
96 | +#define APAGE _iocs_apage | |
97 | +#define BGCTRLGT _iocs_bgctrlgt | |
98 | +#define BGCTRLST _iocs_bgctrlst | |
99 | +#define BGSCRLGT _iocs_bgscrlgt | |
100 | +#define BGSCRLST _iocs_bgscrlst | |
101 | +#define BGTEXTCL _iocs_bgtextcl | |
102 | +#define BGTEXTGT _iocs_bgtextgt | |
103 | +#define BGTEXTST _iocs_bgtextst | |
104 | +#define BINDATEBCD _iocs_bindatebcd | |
105 | +#define BINDATEGET _iocs_bindateget | |
106 | +#define BINDATESET _iocs_bindateset | |
107 | +#define BITSNS _iocs_bitsns | |
108 | +#define BOOTINF _iocs_bootinf | |
109 | +#define BOX _iocs_box | |
110 | +#define B_ASSIGN _iocs_b_assign | |
111 | +#define B_BADFMT _iocs_b_badfmt | |
112 | +#define B_BPEEK _iocs_b_bpeek | |
113 | +#define B_BPOKE _iocs_b_bpoke | |
114 | +#define B_CLR_AL _iocs_b_clr_al | |
115 | +#define B_CLR_ED _iocs_b_clr_ed | |
116 | +#define B_CLR_ST _iocs_b_clr_st | |
117 | +#define B_COLOR _iocs_b_color | |
118 | +#define B_CONSOL _iocs_b_consol | |
119 | +#define B_CUROFF _iocs_b_curoff | |
120 | +#define B_CURON _iocs_b_curon | |
121 | +#define B_DEL _iocs_b_del | |
122 | +#define B_DOWN _iocs_b_down | |
123 | +#define B_DOWN_S _iocs_b_down_s | |
124 | +#define B_DRVCHK _iocs_b_drvchk | |
125 | +#define B_DRVSNS _iocs_b_drvsns | |
126 | +#define B_DSKINI _iocs_b_dskini | |
127 | +#define B_EJECT _iocs_b_eject | |
128 | +#define B_ERA_AL _iocs_b_era_al | |
129 | +#define B_ERA_ED _iocs_b_era_ed | |
130 | +#define B_ERA_ST _iocs_b_era_st | |
131 | +#define B_FORMAT _iocs_b_format | |
132 | +#define B_INS _iocs_b_ins | |
133 | +#define B_INTVCS _iocs_b_intvcs | |
134 | +#define B_KEYINP _iocs_b_keyinp | |
135 | +#define B_KEYSNS _iocs_b_keysns | |
136 | +#define B_LEFT _iocs_b_left | |
137 | +#define B_LOCATE _iocs_b_locate | |
138 | +#define B_LPEEK _iocs_b_lpeek | |
139 | +#define B_LPOKE _iocs_b_lpoke | |
140 | +#define B_MEMSET _iocs_b_memset | |
141 | +#define B_MEMSTR _iocs_b_memstr | |
142 | +#define B_PRINT _iocs_b_print | |
143 | +#define B_PUTC _iocs_b_putc | |
144 | +#define B_PUTMES _iocs_b_putmes | |
145 | +#define B_READ _iocs_b_read | |
146 | +#define B_READDI _iocs_b_readdi | |
147 | +#define B_READDL _iocs_b_readdl | |
148 | +#define B_READID _iocs_b_readid | |
149 | +#define B_RECALI _iocs_b_recali | |
150 | +#define B_RIGHT _iocs_b_right | |
151 | +#define B_SEEK _iocs_b_seek | |
152 | +#define B_SFTSNS _iocs_b_sftsns | |
153 | +#define B_SUPER _iocs_b_super | |
154 | +#define B_UP _iocs_b_up | |
155 | +#define B_UP_S _iocs_b_up_s | |
156 | +#define B_VERIFY _iocs_b_verify | |
157 | +#define B_WPEEK _iocs_b_wpeek | |
158 | +#define B_WPOKE _iocs_b_wpoke | |
159 | +#define B_WRITE _iocs_b_write | |
160 | +#define B_WRITED _iocs_b_writed | |
161 | +#define CIRCLE _iocs_circle | |
162 | +#define CLIPPUT _iocs_clipput | |
163 | +#define CONTRAST _iocs_contrast | |
164 | +#define CRTCRAS _iocs_crtcras | |
165 | +#define CRTMOD _iocs_crtmod | |
166 | +#define DAKJOB _iocs_dakjob | |
167 | +#define DATEASC _iocs_dateasc | |
168 | +#define DATEBIN _iocs_datebin | |
169 | +#define DATECNV _iocs_datecnv | |
170 | +#define DAYASC _iocs_dayasc | |
171 | +#define DEFCHR _iocs_defchr | |
172 | +#define DENSNS _iocs_densns | |
173 | +#define DMAMODE _iocs_dmamode | |
174 | +#define DMAMOVE _iocs_dmamove | |
175 | +#define FILL _iocs_fill | |
176 | +#define FNTGET _iocs_fntget | |
177 | +#define GPALET _iocs_gpalet | |
178 | +#define G_CLR_ON _iocs_g_clr_on | |
179 | +#define HANJOB _iocs_hanjob | |
180 | +#define HOME _iocs_home | |
181 | +#define HSVTORGB _iocs_hsvtorgb | |
182 | +#define HSYNCST _iocs_hsyncst | |
183 | +#define INIT_PRN _iocs_init_prn | |
184 | +#define INP232C _iocs_inp232c | |
185 | +#define IPLERR _iocs_iplerr | |
186 | +#define ISNS232C _iocs_isns232c | |
187 | +#define JISSFT _iocs_jissft | |
188 | +#define JOYGET _iocs_joyget | |
189 | +#define LEDMOD _iocs_ledmod | |
190 | +#define LINE _iocs_line | |
191 | +#define LOF232C _iocs_lof232c | |
192 | +#define MS_CURGT _iocs_ms_curgt | |
193 | +#define MS_CUROF _iocs_ms_curof | |
194 | +#define MS_CURON _iocs_ms_curon | |
195 | +#define MS_CURST _iocs_ms_curst | |
196 | +#define MS_GETDT _iocs_ms_getdt | |
197 | +#define MS_INIT _iocs_ms_init | |
198 | +#define MS_LIMIT _iocs_ms_limit | |
199 | +#define MS_OFFTM _iocs_ms_offtm | |
200 | +#define MS_ONTM _iocs_ms_ontm | |
201 | +#define MS_PATST _iocs_ms_patst | |
202 | +#define MS_SEL _iocs_ms_sel | |
203 | +#define MS_SEL2 _iocs_ms_sel2 | |
204 | +#define MS_STAT _iocs_ms_stat | |
205 | +#define ONTIME _iocs_ontime | |
206 | +#define OPMINTST _iocs_opmintst | |
207 | +#define OPMSET _iocs_opmset | |
208 | +#define OPMSNS _iocs_opmsns | |
209 | +#define OSNS232C _iocs_osns232c | |
210 | +#define OS_CUROF _iocs_os_curof | |
211 | +#define OS_CURON _iocs_os_curon | |
212 | +#define OUT232C _iocs_out232c | |
213 | +#define OUTLPT _iocs_outlpt | |
214 | +#define OUTPRN _iocs_outprn | |
215 | +#define POINT _iocs_point | |
216 | +#define PRNINTST _iocs_prnintst | |
217 | +#define PSET _iocs_pset | |
218 | +#define RMACNV _iocs_rmacnv | |
219 | +#define ROMVER _iocs_romver | |
220 | +#define SCROLL _iocs_scroll | |
221 | +#define SET232C _iocs_set232c | |
222 | +#define SFTJIS _iocs_sftjis | |
223 | +#define SKEYSET _iocs_skeyset | |
224 | +#define SKEY_MOD _iocs_skey_mod | |
225 | +#define SNSPRN _iocs_snsprn | |
226 | +#define SPALET _iocs_spalet | |
227 | +#define SP_CGCLR _iocs_sp_cgclr | |
228 | +#define SP_DEFCG _iocs_sp_defcg | |
229 | +#define SP_GTPCG _iocs_sp_gtpcg | |
230 | +#define SP_INIT _iocs_sp_init | |
231 | +#define SP_OFF _iocs_sp_off | |
232 | +#define SP_ON _iocs_sp_on | |
233 | +#define SP_REGGT _iocs_sp_reggt | |
234 | +#define SP_REGST _iocs_sp_regst | |
235 | +#define SYMBOL _iocs_symbol | |
236 | +#define TCOLOR _iocs_tcolor | |
237 | +#define TEXTGET _iocs_textget | |
238 | +#define TEXTPUT _iocs_textput | |
239 | +#define TGUSEMD _iocs_tgusemd | |
240 | +#define TIMEASC _iocs_timeasc | |
241 | +#define TIMEBCD _iocs_timebcd | |
242 | +#define TIMEBIN _iocs_timebin | |
243 | +#define TIMECNV _iocs_timecnv | |
244 | +#define TIMEGET _iocs_timeget | |
245 | +#define TIMERDST _iocs_timerdst | |
246 | +#define TIMESET _iocs_timeset | |
247 | +#define TPALET _iocs_tpalet | |
248 | +#define TPALET2 _iocs_tpalet2 | |
249 | +#define TRAP15 _iocs_trap15 | |
250 | +#define TVCTRL _iocs_tvctrl | |
251 | +#define TXBOX _iocs_txbox | |
252 | +#define TXFILL _iocs_txfill | |
253 | +#define TXRASCPY _iocs_txrascpy | |
254 | +#define TXREV _iocs_txrev | |
255 | +#define TXXLINE _iocs_txxline | |
256 | +#define TXYLINE _iocs_txyline | |
257 | +#define VDISPST _iocs_vdispst | |
258 | +#define VPAGE _iocs_vpage | |
259 | +#define WINDOW _iocs_window | |
260 | +#define WIPE _iocs_wipe | |
261 | + | |
262 | +#define S_CMDOUT _scsi_cmdout | |
263 | +#define S_DATAIN _scsi_datain | |
264 | +#define S_DATAIN_P _scsi_datain_p | |
265 | +#define S_DATAOUT _scsi_dataout | |
266 | +#define S_DATAOUT_P _scsi_dataout_p | |
267 | +#define S_FORMAT _scsi_format | |
268 | +#define S_INQUIRY _scsi_inquiry | |
269 | +#define S_MODESELECT _scsi_modeselect | |
270 | +#define S_MODESENSE _scsi_modesense | |
271 | +#define S_MSGIN _scsi_msgin | |
272 | +#define S_MSGOUT _scsi_msgout | |
273 | +#define S_PAMEDIUM _scsi_pamedium | |
274 | +#define S_PHASE _scsi_phase | |
275 | +#define S_READ _scsi_read | |
276 | +#define S_READCAP _scsi_readcap | |
277 | +#define S_READEXT _scsi_readext | |
278 | +#define S_REASSIGN _scsi_reassign | |
279 | +#define S_REQUEST _scsi_request | |
280 | +#define S_RESET _scsi_reset | |
281 | +#define S_REZEROUNIT _scsi_rezerounit | |
282 | +#define S_SEEK _scsi_seek | |
283 | +#define S_SELECT _scsi_select | |
284 | +#define S_STARTSTOP _scsi_startstop | |
285 | +#define S_STSIN _scsi_stsin | |
286 | +#define S_TESTUNIT _scsi_testunit | |
287 | +#define S_WRITE _scsi_write | |
288 | +#define S_WRITEEXT _scsi_writeext | |
289 | + | |
290 | +/* The following 9 macros prevent from conflictions */ | |
291 | + | |
292 | +#define GETGRM(a) _iocs_getgrm ((struct _getptr *) (a)) | |
293 | +#define PUTGRM(a) _iocs_putgrm ((const struct _putptr *) (a)) | |
294 | +#define PAINT(a) _iocs_paint ((struct _paintptr *) (a)) | |
295 | +#define ADPCMAIN(a,b,c) _iocs_adpcmain ((const struct _chain *) (a), (b), (c)) | |
296 | +#define ADPCMAOT(a,b,c) _iocs_adpcmaot ((const struct _chain *) (a), (b), (c)) | |
297 | +#define ADPCMLIN(a,b) _iocs_adpcmlin ((const struct _chain2 *) (a), (b)) | |
298 | +#define ADPCMLOT(a,b) _iocs_adpcmlot ((const struct _chain2 *) (a), (b)) | |
299 | +#define DMAMOV_A(a,b,c,d) _iocs_dmamov_a ((const struct _chain *) (a), (b), (c), (d)) | |
300 | +#define DMAMOV_L(a,b,c) _iocs_dmamov_l ((const struct _chain2 *) (a), (b), (c)) | |
301 | + | |
302 | +#endif | |
303 | + | |
304 | + | |
305 | +{ | |
306 | +----------------------- | |
307 | +sys/iocs.h | |
308 | +----------------------- | |
309 | +/* | |
310 | + * PROJECT C Library, X68000 PROGRAMMING INTERFACE DEFINITION | |
311 | + * -------------------------------------------------------------------- | |
312 | + * This file is written by the Project C Library Group, and completely | |
313 | + * in public domain. You can freely use, copy, modify, and redistribute | |
314 | + * the whole contents, without this notice. | |
315 | + * -------------------------------------------------------------------- | |
316 | + * $Id: iocs.h,v 1.1.1.1 1993/04/18 16:14:27 mura Exp $ | |
317 | + */ | |
318 | + | |
319 | +#ifndef __sys_iocs_h__ | |
320 | +#define __sys_iocs_h__ | |
321 | + | |
322 | +#ifndef __cdecl_h__ | |
323 | +#include <cdecl.h> | |
324 | +#endif | |
325 | + | |
326 | +struct _boxptr { | |
327 | + short x1; | |
328 | + short y1; | |
329 | + short x2; | |
330 | + short y2; | |
331 | + unsigned short color; | |
332 | + unsigned short linestyle; | |
333 | +}; | |
334 | + | |
335 | +struct _circleptr { | |
336 | + short x; | |
337 | + short y; | |
338 | + unsigned short radius; | |
339 | + unsigned short color; | |
340 | + short start; | |
341 | + short end; | |
342 | + unsigned short ratio; | |
343 | +}; | |
344 | + | |
345 | +struct _fillptr { | |
346 | + short x1; | |
347 | + short y1; | |
348 | + short x2; | |
349 | + short y2; | |
350 | + unsigned short color; | |
351 | +}; | |
352 | + | |
353 | +struct _fntbuf { | |
354 | + short xl; | |
355 | + short yl; | |
356 | + unsigned char buffer[72]; | |
357 | +}; | |
358 | + | |
359 | +struct _getptr { | |
360 | + short x1; | |
361 | + short y1; | |
362 | + short x2; | |
363 | + short y2; | |
364 | + void *buf_start; | |
365 | + void *buf_end; | |
366 | +}; | |
367 | + | |
368 | +struct _lineptr { | |
369 | + short x1; | |
370 | + short y1; | |
371 | + short x2; | |
372 | + short y2; | |
373 | + unsigned short color; | |
374 | + unsigned short linestyle; | |
375 | +}; | |
376 | + | |
377 | +struct _paintptr { | |
378 | + short x; | |
379 | + short y; | |
380 | + unsigned short color; | |
381 | + void *buf_start; | |
382 | + void *buf_end; | |
383 | +}; | |
384 | + | |
385 | +struct _pointptr { | |
386 | + short x; | |
387 | + short y; | |
388 | + unsigned short color; | |
389 | +}; | |
390 | + | |
391 | +struct _psetptr { | |
392 | + short x; | |
393 | + short y; | |
394 | + unsigned short color; | |
395 | +}; | |
396 | + | |
397 | +struct _putptr { | |
398 | + short x1; | |
399 | + short y1; | |
400 | + short x2; | |
401 | + short y2; | |
402 | + const void *buf_start; | |
403 | + const void *buf_end; | |
404 | +}; | |
405 | + | |
406 | +struct _symbolptr { | |
407 | + short x1; | |
408 | + short y1; | |
409 | + unsigned char *string_address; | |
410 | + unsigned char mag_x; | |
411 | + unsigned char mag_y; | |
412 | + unsigned short color; | |
413 | + unsigned char font_type; | |
414 | + unsigned char angle; | |
415 | +}; | |
416 | + | |
417 | +struct _regs { | |
418 | + int_ d0; | |
419 | + int_ d1; | |
420 | + int_ d2; | |
421 | + int_ d3; | |
422 | + int_ d4; | |
423 | + int_ d5; | |
424 | + int_ d6; | |
425 | + int_ d7; | |
426 | + int_ a1; | |
427 | + int_ a2; | |
428 | + int_ a3; | |
429 | + int_ a4; | |
430 | + int_ a5; | |
431 | + int_ a6; | |
432 | +}; | |
433 | + | |
434 | +struct _chain { | |
435 | + void *addr; | |
436 | + unsigned short len; | |
437 | +}; | |
438 | + | |
439 | +struct _chain2 { | |
440 | + void *addr; | |
441 | + unsigned short len; | |
442 | + const struct _chain2 *next; | |
443 | +}; | |
444 | + | |
445 | +struct _clipxy { | |
446 | + short xs; | |
447 | + short ys; | |
448 | + short xe; | |
449 | + short ye; | |
450 | +}; | |
451 | + | |
452 | +struct _patst { | |
453 | + short offsetx; | |
454 | + short offsety; | |
455 | + short shadow[16]; | |
456 | + short pattern[16]; | |
457 | +}; | |
458 | + | |
459 | +struct _tboxptr { | |
460 | + unsigned short vram_page; | |
461 | + short x; | |
462 | + short y; | |
463 | + short x1; | |
464 | + short y1; | |
465 | + unsigned short line_style; | |
466 | +}; | |
467 | + | |
468 | +struct _txfillptr { | |
469 | + unsigned short vram_page; | |
470 | + short x; | |
471 | + short y; | |
472 | + short x1; | |
473 | + short y1; | |
474 | + unsigned short fill_patn; | |
475 | +}; | |
476 | + | |
477 | +struct _trevptr { | |
478 | + unsigned short vram_page; | |
479 | + short x; | |
480 | + short y; | |
481 | + short x1; | |
482 | + short y1; | |
483 | +}; | |
484 | + | |
485 | +struct _xlineptr { | |
486 | + unsigned short vram_page; | |
487 | + short x; | |
488 | + short y; | |
489 | + short x1; | |
490 | + unsigned short line_style; | |
491 | +}; | |
492 | + | |
493 | +struct _ylineptr { | |
494 | + unsigned short vram_page; | |
495 | + short x; | |
496 | + short y; | |
497 | + short y1; | |
498 | + unsigned short line_style; | |
499 | +}; | |
500 | + | |
501 | +/* | |
502 | +** If you want to use other inline headers, please add your selection | |
503 | +** mechanism here... | |
504 | +*/ | |
505 | + | |
506 | +#ifdef __IOCS_INLINE__ | |
507 | +#include <sys/iocs_i.h> | |
508 | +#else | |
509 | +#include <sys/iocs_p.h> | |
510 | +#endif | |
511 | + | |
512 | +#endif | |
513 | + | |
514 | + | |
515 | +{ | |
516 | +----------------------- | |
517 | +sys/iocs_p.h | |
518 | +----------------------- | |
519 | +/* | |
520 | + * PROJECT C Library, X68000 PROGRAMMING INTERFACE DEFINITION | |
521 | + * -------------------------------------------------------------------- | |
522 | + * This file is written by the Project C Library Group, and completely | |
523 | + * in public domain. You can freely use, copy, modify, and redistribute | |
524 | + * the whole contents, without this notice. | |
525 | + * -------------------------------------------------------------------- | |
526 | + * $Id: iocs_p.h,v 1.5 1993/10/06 16:46:12 mura Exp $ | |
527 | + */ | |
528 | + | |
529 | +#ifndef __sys_iocs_p_h__ | |
530 | +#define __sys_iocs_p_h__ | |
531 | + | |
532 | +_EXTERN (int_ __const _iocs_akconv (int_, int_)); | |
533 | +_EXTERN (int_ __const _iocs_bootinf (void_)); | |
534 | +_EXTERN (int_ __const _iocs_hsvtorgb (int_, int_, int_)); | |
535 | +_EXTERN (int_ __const _iocs_jissft (int_)); | |
536 | +_EXTERN (int_ __const _iocs_romver (void_)); | |
537 | +_EXTERN (int_ __const _iocs_sftjis (int_)); | |
538 | +_EXTERN (int_ _iocs_adpcmsns (void_)); | |
539 | +_EXTERN (int_ _iocs_alarmget (int_ *, int_ *, int_ *)); | |
540 | +_EXTERN (int_ _iocs_alarmmod (int_)); | |
541 | +_EXTERN (int_ _iocs_alarmset (int_, int_, int_)); | |
542 | +_EXTERN (int_ _iocs_apage (int_)); | |
543 | +_EXTERN (int_ _iocs_b_assign (int_, int_, int_, const void *)); | |
544 | +_EXTERN (int_ _iocs_b_badfmt (int_, int_, int_)); | |
545 | +_EXTERN (int_ _iocs_b_bpeek (const void *)); | |
546 | +_EXTERN (int_ _iocs_b_color (int_)); | |
547 | +_EXTERN (int_ _iocs_b_consol (int_, int_, int_, int_)); | |
548 | +_EXTERN (int_ _iocs_b_drvchk (int_, int_)); | |
549 | +_EXTERN (int_ _iocs_b_drvsns (int_)); | |
550 | +_EXTERN (int_ _iocs_b_dskini (int_, const void *, int_)); | |
551 | +_EXTERN (int_ _iocs_b_eject (int_)); | |
552 | +_EXTERN (int_ _iocs_b_format (int_, int_, int_, const void *)); | |
553 | +_EXTERN (int_ _iocs_b_intvcs (int_, int_)); | |
554 | +_EXTERN (int_ _iocs_b_keyinp (void_)); | |
555 | +_EXTERN (int_ _iocs_b_keysns (void_)); | |
556 | +_EXTERN (int_ _iocs_b_locate (int_, int_)); | |
557 | +_EXTERN (int_ _iocs_b_lpeek (const void *)); | |
558 | +_EXTERN (int_ _iocs_b_print (const char *)); | |
559 | +_EXTERN (int_ _iocs_b_putc (int_)); | |
560 | +_EXTERN (int_ _iocs_b_putmes (int_, int_, int_, int_, const char *)); | |
561 | +_EXTERN (int_ _iocs_b_read (int_, int_, int_, void *)); | |
562 | +_EXTERN (int_ _iocs_b_readdi (int_, int_, int_, void *)); | |
563 | +_EXTERN (int_ _iocs_b_readdl (int_, int_, int_, void *)); | |
564 | +_EXTERN (int_ _iocs_b_readid (int_, int_, void *)); | |
565 | +_EXTERN (int_ _iocs_b_recali (int_)); | |
566 | +_EXTERN (int_ _iocs_b_seek (int_, int_)); | |
567 | +_EXTERN (int_ _iocs_b_sftsns (void_)); | |
568 | +_EXTERN (int_ _iocs_b_super (int_)); | |
569 | +_EXTERN (int_ _iocs_b_verify (int_, int_, int_, const void *)); | |
570 | +_EXTERN (int_ _iocs_b_wpeek (const void *)); | |
571 | +_EXTERN (int_ _iocs_b_write (int_, int_, int_, const void *)); | |
572 | +_EXTERN (int_ _iocs_b_writed (int_, int_, int_, const void *)); | |
573 | +_EXTERN (int_ _iocs_bgctrlgt (int_)); | |
574 | +_EXTERN (int_ _iocs_bgctrlst (int_, int_, int_)); | |
575 | +_EXTERN (int_ _iocs_bgscrlgt (int_, int_ *, int_ *)); | |
576 | +_EXTERN (int_ _iocs_bgscrlst (int_, int_, int_)); | |
577 | +_EXTERN (int_ _iocs_bgtextcl (int_, int_)); | |
578 | +_EXTERN (int_ _iocs_bgtextgt (int_, int_, int_)); | |
579 | +_EXTERN (int_ _iocs_bgtextst (int_, int_, int_, int_)); | |
580 | +_EXTERN (int_ _iocs_bindatebcd (int_)); | |
581 | +_EXTERN (int_ _iocs_bindateget (void_)); | |
582 | +_EXTERN (int_ _iocs_bitsns (int_)); | |
583 | +_EXTERN (int_ _iocs_box (const struct _boxptr *)); | |
584 | +_EXTERN (int_ _iocs_circle (const struct _circleptr *)); | |
585 | +_EXTERN (int_ _iocs_contrast (int_)); | |
586 | +_EXTERN (int_ _iocs_crtcras (const void *, int_)); | |
587 | +_EXTERN (int_ _iocs_crtmod (int_)); | |
588 | +_EXTERN (int_ _iocs_dakjob (char *)); | |
589 | +_EXTERN (int_ _iocs_dateasc (int_, char *)); | |
590 | +_EXTERN (int_ _iocs_datebin (int_)); | |
591 | +_EXTERN (int_ _iocs_datecnv (const char *)); | |
592 | +_EXTERN (int_ _iocs_defchr (int_, int_, const void *)); | |
593 | +_EXTERN (int_ _iocs_dmamode (void_)); | |
594 | +_EXTERN (int_ _iocs_fill (const struct _fillptr *)); | |
595 | +_EXTERN (int_ _iocs_fntget (int_, int_, struct _fntbuf *)); | |
596 | +_EXTERN (int_ _iocs_getgrm (struct _getptr *)); | |
597 | +_EXTERN (int_ _iocs_gpalet (int_, int_)); | |
598 | +_EXTERN (int_ _iocs_hanjob (char *)); | |
599 | +_EXTERN (int_ _iocs_home (int_, int_, int_)); | |
600 | +_EXTERN (int_ _iocs_hsyncst (const void *)); | |
601 | +_EXTERN (int_ _iocs_init_prn (int_, int_)); | |
602 | +_EXTERN (int_ _iocs_inp232c (void_)); | |
603 | +_EXTERN (int_ _iocs_isns232c (void_)); | |
604 | +_EXTERN (int_ _iocs_joyget (int_)); | |
605 | +_EXTERN (int_ _iocs_line (const struct _lineptr *)); | |
606 | +_EXTERN (int_ _iocs_lof232c (void_)); | |
607 | +_EXTERN (int_ _iocs_ms_curgt (void_)); | |
608 | +_EXTERN (int_ _iocs_ms_curst (int_, int_)); | |
609 | +_EXTERN (int_ _iocs_ms_getdt (void_)); | |
610 | +_EXTERN (int_ _iocs_ms_limit (int_, int_, int_, int_)); | |
611 | +_EXTERN (int_ _iocs_ms_offtm (int_, int_)); | |
612 | +_EXTERN (int_ _iocs_ms_ontm (int_, int_)); | |
613 | +_EXTERN (int_ _iocs_ms_stat (void_)); | |
614 | +_EXTERN (int_ _iocs_ontime (void_)); | |
615 | +_EXTERN (int_ _iocs_opmintst (const void *)); | |
616 | +_EXTERN (int_ _iocs_opmsns (void_)); | |
617 | +_EXTERN (int_ _iocs_osns232c (void_)); | |
618 | +_EXTERN (int_ _iocs_paint (struct _paintptr *)); | |
619 | +_EXTERN (int_ _iocs_point (const struct _pointptr *)); | |
620 | +_EXTERN (int_ _iocs_prnintst (const void *)); | |
621 | +_EXTERN (int_ _iocs_pset (const struct _psetptr *)); | |
622 | +_EXTERN (int_ _iocs_putgrm (const struct _putptr *)); | |
623 | +_EXTERN (int_ _iocs_rmacnv (int_, char *, char *)); | |
624 | +_EXTERN (int_ _iocs_set232c (int_)); | |
625 | +_EXTERN (int_ _iocs_skey_mod (int_, int_, int_)); | |
626 | +_EXTERN (int_ _iocs_snsprn (void_)); | |
627 | +_EXTERN (int_ _iocs_sp_cgclr (int_)); | |
628 | +_EXTERN (int_ _iocs_sp_defcg (int_, int_, const void *)); | |
629 | +_EXTERN (int_ _iocs_sp_gtpcg (int_, int_, void *)); | |
630 | +_EXTERN (int_ _iocs_sp_init (void_)); | |
631 | +_EXTERN (int_ _iocs_sp_on (void_)); | |
632 | +_EXTERN (int_ _iocs_sp_reggt (int_, int_ *, int_ *, int_ *, int_ *)); | |
633 | +_EXTERN (int_ _iocs_sp_regst (int_, int_, int_, int_, int_, int_)); | |
634 | +_EXTERN (int_ _iocs_spalet (int_, int_, int_)); | |
635 | +_EXTERN (int_ _iocs_symbol (const struct _symbolptr *)); | |
636 | +_EXTERN (int_ _iocs_tgusemd (int_, int_)); | |
637 | +_EXTERN (int_ _iocs_timeasc (int_, char *)); | |
638 | +_EXTERN (int_ _iocs_timebcd (int_)); | |
639 | +_EXTERN (int_ _iocs_timebin (int_)); | |
640 | +_EXTERN (int_ _iocs_timecnv (const char *)); | |
641 | +_EXTERN (int_ _iocs_timeget (void_)); | |
642 | +_EXTERN (int_ _iocs_timerdst (const void *, int_, int_)); | |
643 | +_EXTERN (int_ _iocs_tpalet (int_, int_)); | |
644 | +_EXTERN (int_ _iocs_tpalet2 (int_, int_)); | |
645 | +_EXTERN (int_ _iocs_trap15 (const struct _regs *, struct _regs *)); | |
646 | +_EXTERN (int_ _iocs_vdispst (const void *, int_, int_)); | |
647 | +_EXTERN (int_ _iocs_vpage (int_)); | |
648 | +_EXTERN (int_ _iocs_window (int_, int_, int_, int_)); | |
649 | +_EXTERN (int_ _iocs_wipe (void_)); | |
650 | +_EXTERN (void __volatile _iocs_abortjob (void_)); | |
651 | +_EXTERN (void __volatile _iocs_iplerr (void_)); | |
652 | +_EXTERN (void _iocs_abortrst (void_)); | |
653 | +_EXTERN (void _iocs_adpcmain (const struct _chain *, int_, int_)); | |
654 | +_EXTERN (void _iocs_adpcmaot (const struct _chain *, int_, int_)); | |
655 | +_EXTERN (void _iocs_adpcminp (void *, int_, int_)); | |
656 | +_EXTERN (void _iocs_adpcmlin (const struct _chain2 *, int_)); | |
657 | +_EXTERN (void _iocs_adpcmlot (const struct _chain2 *, int_)); | |
658 | +_EXTERN (void _iocs_adpcmmod (int_)); | |
659 | +_EXTERN (void _iocs_adpcmout (const void *, int_, int_)); | |
660 | +_EXTERN (void _iocs_b_bpoke (void *, int_)); | |
661 | +_EXTERN (void _iocs_b_clr_al (void_)); | |
662 | +_EXTERN (void _iocs_b_clr_ed (void_)); | |
663 | +_EXTERN (void _iocs_b_clr_st (void_)); | |
664 | +_EXTERN (void _iocs_b_curoff (void_)); | |
665 | +_EXTERN (void _iocs_b_curon (void_)); | |
666 | +_EXTERN (void _iocs_b_del (int_)); | |
667 | +_EXTERN (void _iocs_b_down (int_)); | |
668 | +_EXTERN (void _iocs_b_down_s (void_)); | |
669 | +_EXTERN (void _iocs_b_era_al (void_)); | |
670 | +_EXTERN (void _iocs_b_era_ed (void_)); | |
671 | +_EXTERN (void _iocs_b_era_st (void_)); | |
672 | +_EXTERN (void _iocs_b_ins (int_)); | |
673 | +_EXTERN (void _iocs_b_left (int_)); | |
674 | +_EXTERN (void _iocs_b_lpoke (void *, int_)); | |
675 | +_EXTERN (void _iocs_b_memset (void *, const void *, int_)); | |
676 | +_EXTERN (void _iocs_b_memstr (const void *, void *, int_)); | |
677 | +_EXTERN (void _iocs_b_right (int_)); | |
678 | +_EXTERN (void _iocs_b_up (int_)); | |
679 | +_EXTERN (void _iocs_b_up_s (void_)); | |
680 | +_EXTERN (void _iocs_b_wpoke (void *, int_)); | |
681 | +_EXTERN (void _iocs_bindateset (int_)); | |
682 | +_EXTERN (void _iocs_clipput (int_, int_, const struct _fntbuf *, const struct _clipxy *)); | |
683 | +_EXTERN (void _iocs_dayasc (int_, char *)); | |
684 | +_EXTERN (void _iocs_densns (void_)); | |
685 | +_EXTERN (void _iocs_dmamov_a (const struct _chain *, void *, int_, int_)); | |
686 | +_EXTERN (void _iocs_dmamov_l (const struct _chain2 *, void *, int_)); | |
687 | +_EXTERN (void _iocs_dmamove (void *, void *, int_, int_)); | |
688 | +_EXTERN (void _iocs_g_clr_on (void_)); | |
689 | +_EXTERN (void _iocs_ledmod (int_, int_)); | |
690 | +_EXTERN (void _iocs_ms_curof (void_)); | |
691 | +_EXTERN (void _iocs_ms_curon (void_)); | |
692 | +_EXTERN (void _iocs_ms_init (void_)); | |
693 | +_EXTERN (void _iocs_ms_patst (int_, const struct _patst *)); | |
694 | +_EXTERN (void _iocs_ms_sel (int_)); | |
695 | +_EXTERN (void _iocs_ms_sel2 (const short *)); | |
696 | +_EXTERN (void _iocs_opmset (int_, int_)); | |
697 | +_EXTERN (void _iocs_os_curof (void_)); | |
698 | +_EXTERN (void _iocs_os_curon (void_)); | |
699 | +_EXTERN (void _iocs_out232c (int_)); | |
700 | +_EXTERN (void _iocs_outlpt (int_)); | |
701 | +_EXTERN (void _iocs_outprn (int_)); | |
702 | +_EXTERN (void _iocs_scroll (int_, int_, int_)); | |
703 | +_EXTERN (void _iocs_skeyset (int_)); | |
704 | +_EXTERN (void _iocs_sp_off (void_)); | |
705 | +_EXTERN (void _iocs_tcolor (int_)); | |
706 | +_EXTERN (void _iocs_textget (int_, int_, struct _fntbuf *)); | |
707 | +_EXTERN (void _iocs_textput (int_, int_, const struct _fntbuf *)); | |
708 | +_EXTERN (void _iocs_timeset (int_)); | |
709 | +_EXTERN (void _iocs_tvctrl (int_)); | |
710 | +_EXTERN (void _iocs_txbox (const struct _tboxptr *)); | |
711 | +_EXTERN (void _iocs_txfill (const struct _txfillptr *)); | |
712 | +_EXTERN (void _iocs_txrascpy (int_, int_, int_)); | |
713 | +_EXTERN (void _iocs_txrev (const struct _trevptr *)); | |
714 | +_EXTERN (void _iocs_txxline (const struct _xlineptr *)); | |
715 | +_EXTERN (void _iocs_txyline (const struct _ylineptr *)); | |
716 | + | |
717 | +#endif | |
718 | + | |
719 | + | |
720 | +{ | |
721 | +----------------------- | |
722 | +iocs CALL Manual | |
723 | +----------------------- | |
724 | +http://datacrystal.romhacking.net/wiki/X68k:IOCS | |
725 | + | |
726 | +X68k:IOCS | |
727 | + | |
728 | + - IOCS CALL MANUAL - | |
729 | + | |
730 | +============================================================================== | |
731 | + | |
732 | +・IOCSコール一覧 | |
733 | + | |
734 | +$00 _B_KEYINP キーデータの読み込み | |
735 | +$01 _B_KEYSNS キーの入力検査 | |
736 | +$02 _B_SFTSNS シフトキー状態の収得 | |
737 | +$03 _KEY_INIT 入力関係の初期化 | |
738 | +$04 _BITSNS キー状態の収得 | |
739 | +$05 _SKEYSET キー入力の発生 | |
740 | +$06 _LEDCTRL キーボード LED の設定 | |
741 | +$07 _LEDSET キーボード LED をキー入力モードに合わせる | |
742 | +$08 _KEYDLY キーリピートの開始時間設定 | |
743 | +$09 _KEYREP キーリピートの間隔設定 | |
744 | +$0a (未公開) OPT.2 によるテレビコントロール許可 | |
745 | +$0b (未公開) OPT.2 によるテレビコントロール禁止 | |
746 | +$0c _TVCTRL テレビコントロール | |
747 | +$0d _LEDMOD LED モードの設定 | |
748 | +$0e _TGUSEMD 画面の使用状態の設定 | |
749 | +$0f _DEFCHR 外字定義 | |
750 | +$10 _CRTMOD CRT モード設定 | |
751 | +$11 _CONTRAST コントラスト設定 | |
752 | +$12 _HSVTORGB HSV→RGB 変換 | |
753 | +$13 _TPALET テキストパレット設定 | |
754 | +$14 _TPALET2 テキストパレット独立設定 | |
755 | +$15 _TCOLOR テキストプレーン指定 | |
756 | +$16 _FNTADR フォントアドレスの収得 | |
757 | +$17 _VRAMGET テキスト VRAM のバイト単位読み込み | |
758 | +$18 _VRAMPUT テキスト VRAM のバイト単位書き込み | |
759 | +$19 _FNTGET フォント読み込み | |
760 | +$1a _TEXTGET テキスト VRAM のドット単位読み込み | |
761 | +$1b _TEXTPUT テキスト VRAM のドット単位書き込み | |
762 | +$1c _CLIPPUT テキスト VRAM のドット単位書き込み(クリッピング処理あり) | |
763 | +$1d _SCROLL 表示座標の設定 | |
764 | +$1e _B_CURON カーソル一時停止解除 | |
765 | +$1f _B_CUROFF カーソル一時停止 | |
766 | +$20 _B_PUTC 文字表示 | |
767 | +$21 _B_PRINT 文字列表示 | |
768 | +$22 _B_COLOR 表示色設定 | |
769 | +$23 _B_LOCATE カーソル移動 | |
770 | +$24 _B_DOWN_S カーソルを 1 行下に移動 | |
771 | +$25 _B_UP_S カーソルを 1 行上に移動 | |
772 | +$26 _B_UP カーソルを指定行数だけ上に移動 | |
773 | +$27 _B_DOWN カーソルを指定行数だけ下に移動 | |
774 | +$28 _B_RIGHT カーソルを指定桁数だけ右に移動 | |
775 | +$29 _B_LEFT カーソルを指定桁数だけ左に移動 | |
776 | +$2a _B_CLR_ST 画面の複数行消去 | |
777 | +$2b _B_ERA_ST 現在行の複数桁消去 | |
778 | +$2c _B_INS 複数行挿入 | |
779 | +$2d _B_DEL 複数行削除 | |
780 | +$2e _B_CONSOL 表示範囲設定 | |
781 | +$2f _B_PUTMES 座標指定文字列表示 | |
782 | +$30 _SET232C RS-232C パラメータ設定 | |
783 | +$31 _LOF232C RS-232C 受信バッファのデータ数を求める | |
784 | +$32 _INP232C RS-232C 受信データを得る | |
785 | +$33 _ISNS232C RS-232C 受信データの検査 | |
786 | +$34 _OSNS232C RS-232C データが送信可能か検査する | |
787 | +$35 _OUT232C RS-232C データ送信 | |
788 | +$36 (未公開) マウスデータ受信時の処理アドレス設定 | |
789 | +$37 (未公開) ESC[>系エスケープシーケンスの拡張処理アドレス設定 | |
790 | +$38 _SETFNTADR 外字フォントアドレス設定 | |
791 | +$39 (未公開) BEEP音用PCMのデータ設定 | |
792 | +$3a (未公開) プリンタパラメータ設定 | |
793 | +$3b _JOYGET ジョイスティック入力 | |
794 | +$3c _INIT_PRN プリンタ初期化 | |
795 | +$3d _SNSPRN プリンタに出力可能か検査する | |
796 | +$3e _OUTLPT プリンタ直接出力 | |
797 | +$3f _OUTPRN プリンタ出力 | |
798 | +$40 _B_SEEK ディスクのシーク | |
799 | +$41 _B_VERIFY ディスクのベリファイ | |
800 | +$42 _B_READDI ディスクの診断の為の読み出し | |
801 | +$43 _B_DSKINI ドライブの初期化 | |
802 | +$44 _B_DRVSNS ドライブの状態検査 | |
803 | +$45 _B_WRITE ディスクへの書き込み | |
804 | +$46 _B_READ ディスクからの読み込み | |
805 | +$47 _B_RECALI ディスクのリキャリブレイト | |
806 | +$48 _B_ASSIGN ハードディスクの代替トラック設定 | |
807 | +$49 _B_WRITED 2HD への破損データ書き込み | |
808 | +$4a _B_READID 2HD の ID 情報の読み出し | |
809 | +$4b _B_BADFMT ハードディスクの破損トラックを使用不能にする | |
810 | +$4c _B_READDL 2HD からの破損データ読み込み | |
811 | +$4d _B_FORMAT ディスクのフォーマット | |
812 | +$4e _B_DRVCHK 2HD ドライブの状態設定 | |
813 | +$4f _B_EJECT ディスクのイジェクト/シッピング | |
814 | +$50 _DATEBCD 日付データのバイナリ→BCD 変換 | |
815 | +$51 _DATESET 日付の設定 | |
816 | +$52 _TIMEBCD 時刻データのバイナリ→BCD 変換 | |
817 | +$53 _TIMESET 時刻の設定 | |
818 | +$54 _DATEGET 日付の読み込み | |
819 | +$55 _DATEBIN 日付データの BCD→バイナリ変換 | |
820 | +$56 _TIMEGET 時刻の読み込み | |
821 | +$57 _TIMEBIN 時刻データの BCD→バイナリ変換 | |
822 | +$58 _DATECNV 日付データの文字列→バイナリ変換 | |
823 | +$59 _TIMECNV 時刻データの文字列→バイナリ変換 | |
824 | +$5a _DATEASC 日付データのバイナリ→文字列変換 | |
825 | +$5b _TIMEASC 時刻データのバイナリ→文字列変換 | |
826 | +$5c _DAYASC 曜日データのバイナリ→文字列変換 | |
827 | +$5d _ALARMMOD アラーム許可/禁止 | |
828 | +$5e _ALARMSET アラーム設定 | |
829 | +$5f _ALARMGET アラームの設定状態を収得 | |
830 | +$60 _ADPCMOUT ADPCM 出力 | |
831 | +$61 _ADPCMINP ADPCM 入力 | |
832 | +$62 _ADPCMAOT ADPCM 出力(アレイチェーン) | |
833 | +$63 _ADPCMAIN ADPCM 入力(アレイチェーン) | |
834 | +$64 _ADPCMLOT ADPCM 出力(リンクアレイチェーン) | |
835 | +$65 _ADPCMLIN ADPCM 入力(リンクアレイチェーン) | |
836 | +$66 _ADPCMSNS ADPCM 状態検査 | |
837 | +$67 _ADPCMMOD ADPCM 実行制御 | |
838 | +$68 _OPMSET OPM レジスタ設定 | |
839 | +$69 _OPMSNS OPM 状態検査 | |
840 | +$6a _OPMINTST OPM 割り込み設定 | |
841 | +$6b _TIMERDST Timer-D 割り込み設定 | |
842 | +$6c _VDISPST 垂直同期割り込み設定 | |
843 | +$6d _CRTCRAS ラスター割り込み設定 | |
844 | +$6e _HSYNCST 水平同期割り込み設定 | |
845 | +$6f _PRNINTST プリンタ割り込み設定 | |
846 | +$70 _MS_INIT マウス初期化 | |
847 | +$71 _MS_CURON マウスカーソル表示 | |
848 | +$72 _MS_CUROF マウスカーソル消去 | |
849 | +$73 _MS_STAT マウスカーソルの表示状態を調べる | |
850 | +$74 _MS_GETDT マウス移動量/ボタン状態を調べる | |
851 | +$75 _MS_CURGT マウスカーソルの座標収得 | |
852 | +$76 _MS_CURST マウスカーソルの座標設定 | |
853 | +$77 _MS_LIMIT マウスカーソルの移動範囲設定 | |
854 | +$78 _MS_OFFTM マウスのボタンを離すまでの時間を調べる | |
855 | +$79 _MS_ONTM マウスのボタンを押すまでの時間を調べる | |
856 | +$7a _MS_PATST マウスカーソルのパターン定義 | |
857 | +$7b _MS_SEL マウスカーソルのパターン選択 | |
858 | +$7c _MS_SEL2 マウスカーソルのアニメーション | |
859 | +$7d _SKEY_MOD ソフトキーボード制御 | |
860 | +$7e _DENSNS 電卓制御 | |
861 | +$7f _ONTIME 起動後の経過時間を調べる | |
862 | +$80 _B_INTVCS ベクタ設定 | |
863 | +$81 _B_SUPER スーパーバイザ/ユーザモードの切り換え | |
864 | +$82 _B_BPEEK 指定アドレスから 1 バイト読み込み | |
865 | +$83 _B_WPEEK 指定アドレスから 1 ワード読み込み | |
866 | +$84 _B_LPEEK 指定アドレスから 1 ロングワード読み込み | |
867 | +$85 _B_MEMSTR 指定アドレスから複数バイト読み込み | |
868 | +$86 _B_BPOKE 指定アドレスヘ 1 バイト書き込み | |
869 | +$87 _B_WPOKE 指定アドレスヘ 1 ワード書き込み | |
870 | +$88 _B_LPOKE 指定アドレスヘ 1 ロングワード書き込み | |
871 | +$89 _B_MEMSET 指定アドレスヘ複数バイト書き込み | |
872 | +$8a _DMAMOVE DMA 転送 | |
873 | +$8b _DMAMOV_A DMA 転送(アレイチェーン) | |
874 | +$8c _DMAMOV_L DMA 転送(リンクアレイチェーン) | |
875 | +$8d _DMAMODE DMA 状態検査 | |
876 | +$8e _BOOTINF 起動情報を得る | |
877 | +$8f _ROMVER ROM バージョンを得る | |
878 | +$90 _G_CLR_ON グラフィック画面の初期化及び表示モードの設定 | |
879 | +$91 (未公開) グラフィック画面モードの設定 | |
880 | +$92 (未公開) プライオリティ設定 | |
881 | +$93 (未公開) 画面表示及び特殊モードの設定 | |
882 | +$94 _GPALET グラフィックパレット設定 | |
883 | +$95 (未公開) カラーコード設定 | |
884 | +$96 (未公開) アクセスページ設定 | |
885 | +$97 (未公開) グラフィック VRAM のドット単位読み込み | |
886 | +$98 (未公開) グラフィック VRAM のドット単位書き込み(色マスクあり) | |
887 | +$99 (未公開) グラフィック VRAM のドット単位書き込み | |
888 | +$9a (未公開) グラフィック VRAM のビットパターン書き込み | |
889 | +$9b (未公開) グラフィック VRAM のビットパターン書き込み(バックカラーあり) | |
890 | +$9c (未公開) グラフィック VRAM のビットパターン拡大書き込み | |
891 | +$a0 _SFTJIS S-JIS→JIS コード変換 | |
892 | +$a1 _JISSFT JIS→S-JIS コード変換 | |
893 | +$a2 _AKCONV ANK→S-JIS コード変換 | |
894 | +$a3 _RMACNV ローマ字→ANK カナ変換 | |
895 | +$a4 _DAKJOB 濁点処理 | |
896 | +$a5 _HANJOB 半濁点処理 | |
897 | +$ac _SYS_STAT システム状態の設定 | |
898 | +$ad _B_CONMOD カーソルおよびスクロールの設定 | |
899 | +$ae _OS_CURON カーソル表示 | |
900 | +$af _OS_CUROF カーソル消去 | |
901 | +$b0 _DRAWMODE グラフィック描画モードの設定 | |
902 | +$b1 _APAGE グラフィック描画ページの設定 | |
903 | +$b2 _VPAGE グラフィック画面表示ページの設定 | |
904 | +$b3 _HOME グラフィック画面の表示位置設定 | |
905 | +$b4 _WINDOW グラフィック描画ウィンドウの設定 | |
906 | +$b5 _WIPE グラフィック画面のクリア | |
907 | +$b6 _PSET グラフィック画面のポイントセット | |
908 | +$b7 _POINT グラフィック画面のポイントゲット | |
909 | +$b8 _LINE グラフィック画面のライン | |
910 | +$b9 _BOX グラフィック画面のボックス | |
911 | +$ba _FILL グラフィック画面のボックスフィル | |
912 | +$bb _CIRCLE グラフィック画面のサークル | |
913 | +$bc _PAINT グラフィック画面のペイント | |
914 | +$bd _SYMBOL グラフィック画面のシンボル | |
915 | +$be _GETGRM グラフィック画面のドット単位読み込み | |
916 | +$bf _PUTGRM グラフィック画面のドット単位書き込み | |
917 | +$c0 _SP_INIT スプライト初期化 | |
918 | +$c1 _SP_ON スプライト表示 | |
919 | +$c2 _SP_OFF スプライト消去 | |
920 | +$c3 _SP_CGCLR スプライトパターンのクリア | |
921 | +$c4 _SP_DEFCG スプライトパターンの定義 | |
922 | +$c5 _SP_GTPCG スプライトパターンの読み込み | |
923 | +$c6 _SP_REGST スプライトレジスタの設定 | |
924 | +$c7 _SP_REGGT スプライトレジスタの読み出し | |
925 | +$c8 _BGSCRLST バックグラウンドスクロールレジスタの設定 | |
926 | +$c9 _BGSCRLGT バックグラウンドスクロールレジスタの読み出し | |
927 | +$ca _BGCTRLST バックグラウンドコントロールレジスタの設定 | |
928 | +$cb _BGCTRLGT バックグラウンドコントロールレジスタの読み出し | |
929 | +$cc _BGTEXTCL バックグラウンドテキストのクリア | |
930 | +$cd _BGTEXTST バックグラウンドテキストの設定 | |
931 | +$ce _BGTEXTGT バックグラウンドテキストの読み出し | |
932 | +$cf _SPALET スプライトパレットの設定 | |
933 | +$d3 _TXXLINE テキスト画面の水平ライン | |
934 | +$d4 _TXYLINE テキスト画面の垂直ライン | |
935 | +$d5 _TXLINE テキスト画面のライン | |
936 | +$d6 _TXBOX テキスト画面のボックス | |
937 | +$d7 _TXFILL テキスト画面のボックスフィル | |
938 | +$d8 _TXREV テキスト画面の反転 | |
939 | +$df _TXRASCPY テキスト画面のラスターコピー | |
940 | +$f0 _OPMDRV OPMDRV 制御 | |
941 | +$f1 _RSDRV 拡張 RS-232C 制御 | |
942 | +$f2 _A_JOYGET アナログジョイスティック制御 | |
943 | +$f3 _MUSICDRV MUSICDRV 制御 | |
944 | +$f5 _SCSIDRV SCSI IOCS | |
945 | +$fd _ABORTRST アボートする為に環境を再設定する | |
946 | +$fe _IPLERR 再起動する | |
947 | +$ff _ABORTJOB アボート | |
948 | + | |
949 | +============================================================================== | |
950 | + | |
951 | +・キーのスキャンコード | |
952 | + | |
953 | +キーコード キー入力状態ビット | |
954 | + グループ 7 6 5 4 3 2 1 0 | |
955 | + | |
956 | + 0 6& 5% 4$ 3# 2" 1! ESC | |
957 | + 1 BS \| ^~ -= 0 9) 8( 7' | |
958 | + 2 U Y T R E W Q TAB | |
959 | + 3 S A CR [{ @` P O I | |
960 | + 4 ;+ L K J H G F D | |
961 | + 5 N B V C X Z ]} :* | |
962 | + 6 DEL HOME SPACE _ /? .> ,< M | |
963 | + 7 CLR ↓ → ↑ ← UNDO R_DOWN R_UP | |
964 | + 8 4 + 9 8 7 - * / | |
965 | + 9 0 ENTER 3 2 1 = 6 5 | |
966 | + a XF3 XF2 XF1 HELP 登録 記号 . , | |
967 | + b ひら INS CAPS コード ロ-マ字 かな XF5 XF4 | |
968 | + c F4 F3 F2 F1 F0 COPY BREAK 全角 | |
969 | + d F9 F8 F7 F6 F5 | |
970 | + e OPT.2 OPT.1 CTRL SHIFT | |
971 | + | |
972 | + スキャンコード = キーコードグループ×8+キー入力状態ビット | |
973 | + | |
974 | + 10:TAB 20:D 30:M 40:/ 50:, 60:全角 70:SHIFT | |
975 | +01:ESC 11:Q 21:F 31:,< 41:* 51:. 61:BREAK 71:CTRL | |
976 | +02:1! 12:W 22:G 32:.> 42:- 52:記号 62:COPY 72:OPT.1 | |
977 | +03:2" 13:E 23:H 33:/? 43:7 53:登録 63:F0 73:OPT.2 | |
978 | +04:3# 14:R 24:J 34:_ 44:8 54:HELP 64:F1 | |
979 | +05:4$ 15:T 25:K 35:SPACE 45:9 55:XF1 65:F2 | |
980 | +06:5% 16:Y 26:L 36:HOME 46:+ 56:XF2 66:F3 | |
981 | +07:6& 17:U 27:;+ 37:DEL 47:4 57:XF3 67:F4 | |
982 | +08:7' 18:I 28::* 38:R_UP 48:5 58:XF4 68:F5 | |
983 | +09:8( 19:O 29:]} 39:R_DOWN 49:6 59:XF5 69:F6 | |
984 | +0a:9) 1a:P 2a:Z 3a:UNDO 4a:= 5a:かな 6a:F7 | |
985 | +0b:0 1b:@` 2b:X 3b:← 4b:1 5b:ロ-マ字 6b:F8 | |
986 | +0c:-= 1c:[{ 2c:C 3c:↑ 4c:2 5c:コ-ド 6c:F9 | |
987 | +0d:^~ 1d:CR 2d:V 3d:→ 4d:3 5d:CAPS | |
988 | +0e:\| 1e:A 2e:B 3e:↓ 4e:ENTER 5e:INS | |
989 | +0f:BS 1f:S 2f:N 3f:CLR 4f:0 5f:ひらがな | |
990 | + | |
991 | +============================================================================== | |
992 | + | |
993 | +============================================================================== | |
994 | + | |
995 | +$00 _B_KEYINP キーデータの読み込み | |
996 | + | |
997 | +返値 キーデータ | |
998 | + d0.hb スキャンコード | |
999 | + d0.b ASCII コード | |
1000 | + | |
1001 | + キーデータを読み込む. キーが入力されていなければ入力されるまで待つ. | |
1002 | + SHIFT,CTRL,OPT.1,OPT.2 については、離した時にもスキャンコードに $80 を | |
1003 | + 足した値を返す. | |
1004 | + ASCII コードは SHIFT,CTRL,かな,CAPS により変化し、また ASCII 文字が定義 | |
1005 | + されていない場合は 0 になる. | |
1006 | + 通常テレビコントロールに割り当てられているキーは入力されないが、押し下げ | |
1007 | + 状態には反映される. | |
1008 | + | |
1009 | +============================================================================== | |
1010 | + | |
1011 | +$01 _B_KEYSNS キーの入力検査 | |
1012 | + | |
1013 | +返値 d0.l = 0 キー入力なし | |
1014 | + $1_???? 〃 あり($???? はキーデータ) | |
1015 | + | |
1016 | + キーが入力されているか調べる. キーデータバッファの内容は変化しない. | |
1017 | + | |
1018 | +============================================================================== | |
1019 | + | |
1020 | +$02 _B_SFTSNS シフトキー状態の収得 | |
1021 | + | |
1022 | +返値 d0.l シフトキーの状態 | |
1023 | + bit 14 全角 | |
1024 | + bit 13 ひらがな | |
1025 | + bit 12 INS | |
1026 | + bit 11 CAPS | |
1027 | + bit 10 コード入力 | |
1028 | + bit 9 ローマ字 | |
1029 | + bit 8 かな | |
1030 | + | |
1031 | + bit 7 CAPS | |
1032 | + bit 6 コード入力 | |
1033 | + bit 5 ローマ字 | |
1034 | + bit 4 かな | |
1035 | + bit 3 OPT.2 | |
1036 | + bit 2 OPT.1 | |
1037 | + bit 1 CTRL | |
1038 | + bit 0 SHIFT | |
1039 | + | |
1040 | + bit 7〜0 はキーが実際に押されている(1)か押されていない(0)か、 | |
1041 | + bit 14〜8 は LED が点灯(1)しているか消灯(0)しているかを表す. | |
1042 | + | |
1043 | + シフトキーの状態を調べる. | |
1044 | + | |
1045 | +============================================================================== | |
1046 | + | |
1047 | +$03 _KEY_INIT 入力関係の初期化 | |
1048 | + | |
1049 | +引数 d1.b LED キーモード初期値 | |
1050 | + | |
1051 | + キーボードバッファをクリアし、LED モードを初期化する. この IOCS コール | |
1052 | + は ROM 起動時に使用されるので、一般のアプリケーションからは使用禁止. | |
1053 | + ROM IOCS では、ショートカットで呼び出すと割り込みが全て許可された状態 | |
1054 | + で帰るので注意すること. | |
1055 | + | |
1056 | +============================================================================== | |
1057 | + | |
1058 | +$04 _BITSNS キー状態の収得 | |
1059 | + | |
1060 | +引数 d1.w キーコードグループ(0〜$f) | |
1061 | + | |
1062 | +返値 d0.b キーの押し下げ状態 | |
1063 | + | |
1064 | + 指定したキーコードグループに含まれるキーの押し下げ状態をビット単位で | |
1065 | + 調べる. 対応するビットが 1 でキーが押されていることを示す. | |
1066 | + | |
1067 | +============================================================================== | |
1068 | + | |
1069 | +$05 _SKEYSET キー入力の発生 | |
1070 | + | |
1071 | +引数 d1.l スキャンコード | |
1072 | + bit 7 0:キーを押す 1:キーを離す | |
1073 | + bit 6〜0 スキャンコード | |
1074 | + | |
1075 | + 指定したキーの入力をソフト的に発生させる. | |
1076 | + | |
1077 | +============================================================================== | |
1078 | + | |
1079 | +$06 _LEDCTRL キーボード LED の設定 | |
1080 | + | |
1081 | +引数 d1.b キーボード LED 状態 | |
1082 | + bit 6 全角 | |
1083 | + bit 5 ひらがな | |
1084 | + bit 4 INS | |
1085 | + bit 3 CAPS | |
1086 | + bit 2 コード入力 | |
1087 | + bit 1 ローマ字 | |
1088 | + bit 0 かな | |
1089 | + | |
1090 | + キーボード LED のモードを設定する. キー入力モードは変更されない. | |
1091 | + | |
1092 | +============================================================================== | |
1093 | + | |
1094 | +$07 _LEDSET キーボード LED をキー入力モードに合わせる | |
1095 | + | |
1096 | + キーボード LED のモードをキー入力モードに合わせる. | |
1097 | + | |
1098 | +============================================================================== | |
1099 | + | |
1100 | +$08 _KEYDLY キーリピートの開始時間設定 | |
1101 | + | |
1102 | +引数 d1.b キーリピート開始時間(0〜15) | |
1103 | + | |
1104 | + キーリピート開始までの時間を (200+100×d1.b)ms に設定する. | |
1105 | + | |
1106 | +============================================================================== | |
1107 | + | |
1108 | +$09 _KEYREP キーリピートの間隔設定 | |
1109 | + | |
1110 | +引数 d1.b キーリピート間隔(0〜15) | |
1111 | + | |
1112 | + キーリピートの間隔を (30+5×d1.b・)ms に設定する. | |
1113 | + | |
1114 | +============================================================================== | |
1115 | + | |
1116 | +$0a (未公開) OPT.2 によるテレビコントロール許可 | |
1117 | + | |
1118 | + OPT.2 によるテレビコントロールを許可する. | |
1119 | + ROM IOCS では、d0.b に $0a がセットされた状態で呼び出さないと正常動作 | |
1120 | + しないので注意すること. | |
1121 | + | |
1122 | +============================================================================== | |
1123 | + | |
1124 | +$0b (未公開) OPT.2 によるテレビコントロール禁止 | |
1125 | + | |
1126 | + OPT.2 によるテレビコントロールを禁止する. | |
1127 | + ROM IOCS では、d0.b に $0b がセットされた状態で呼び出さないと正常動作 | |
1128 | + しないので注意すること. | |
1129 | + | |
1130 | +============================================================================== | |
1131 | + | |
1132 | +$0c _TVCTRL テレビコントロール | |
1133 | + | |
1134 | +引数 d1.l テレビコントロールコード | |
1135 | + d1.l = $01 ボリュームアップ | |
1136 | + $02 〃 ダウン | |
1137 | + $03 〃 標準 | |
1138 | + $04 チャンネルコール | |
1139 | + $05 テレビ画面(リセット) | |
1140 | + $06 音声ミュート | |
1141 | + $07 電源オン | |
1142 | + $08 テレビ/コンピュータ画面切り替え | |
1143 | + $09 テレビ/外部入力の切り替え若しくはコンピュータ表示モードの変更 | |
1144 | + $0a コントラスト標準 | |
1145 | + $0b チャンネルアップ | |
1146 | + $0c 〃 ダウン | |
1147 | + $0d 電源オフ | |
1148 | + $0e 電源オン/オフ切り替え | |
1149 | + $0f スーパーインポーズ及びコントラストダウン/標準切り替え | |
1150 | + $10 チャンネル 1 | |
1151 | + $11 〃 2 | |
1152 | + $12 〃 3 | |
1153 | + $13 〃 4 | |
1154 | + $14 〃 5 | |
1155 | + $15 〃 6 | |
1156 | + $16 〃 7 | |
1157 | + $17 〃 8 | |
1158 | + $18 〃 9 | |
1159 | + $19 〃 10 | |
1160 | + $1a 〃 11 | |
1161 | + $1b 〃 12 | |
1162 | + $1c テレビ画面($05) | |
1163 | + $1d コンピュータ画面($05+$08) | |
1164 | + $1e スーパーインポーズ及びコントラストダウン($05+$0f) | |
1165 | + $1f スーパーインポーズ及びコントラスト標準($05+$0f+$0a) | |
1166 | + +$20 電源オン($07)後、上記の機能を実行 | |
1167 | + | |
1168 | +返値 d1.w は破壊される. | |
1169 | + | |
1170 | + ディスプレイを制御する. | |
1171 | + | |
1172 | +============================================================================== | |
1173 | + | |
1174 | +$0d _LEDMOD LED モードの設定 | |
1175 | + | |
1176 | +引数 d1.l LED キーの番号 | |
1177 | + d1.l = 0 かな | |
1178 | + 1 ローマ字 | |
1179 | + 2 コード入力 | |
1180 | + 3 CAPS | |
1181 | + 4 INS | |
1182 | + 5 ひらがな | |
1183 | + 6 全角 | |
1184 | + d2.b ON/OFF の指定(0:OFF 1:ON) | |
1185 | + | |
1186 | +返値 d0.l = 0 正常終了 | |
1187 | + -1 エラー(キー番号が大きすぎる) | |
1188 | + | |
1189 | + キーボード LED とキー入力モードを設定する. | |
1190 | + | |
1191 | +============================================================================== | |
1192 | + | |
1193 | +$0e _TGUSEMD 画面の使用状態の設定 | |
1194 | + | |
1195 | +引数 d1.b グラフィック/テキスト画面の指定 | |
1196 | + d1.b = 0 グラフィック画面($c00000〜$dfffff) | |
1197 | + 1 テキスト画面 ($e40000〜$e7ffff) | |
1198 | + d2.b 画面の使用状態 | |
1199 | + d2.b = 0 未使用 | |
1200 | + 1 システムで使用中(ソフトキーボード/電卓) | |
1201 | + 2 アプリケーションで使用中(RAMDISK等) | |
1202 | + 3 破壊 | |
1203 | + -1 現在の使用状態を調べる. | |
1204 | + | |
1205 | +返値 変更前の使用状態(-1 なら画面の指定が異常) | |
1206 | + | |
1207 | + グラフィック/テキスト画面の使用状態を設定する. | |
1208 | + テキストの使用状態を 2 にすると、ソフトキーボード/電卓が消去され、以後 | |
1209 | + マウスカーソル/ソフトキーボード/電卓が新たに表示出来なくなる. | |
1210 | + | |
1211 | +============================================================================== | |
1212 | + | |
1213 | +$0f _DEFCHR 外字定義 | |
1214 | + | |
1215 | +引数 d1.hw パターンの大きさ | |
1216 | + d1.hw = 8 8x16,16x16ドット | |
1217 | + 12 12x24,24x24〃 | |
1218 | + d1.w 漢字コード(Shift-JIS/JIS) | |
1219 | + a1.l パターンアドレス | |
1220 | + | |
1221 | +返値 d0.l = 0 正常終了 | |
1222 | + -1 エラー(指定の漢字コードは外字ではない) | |
1223 | + | |
1224 | + 外字を設定する. | |
1225 | + 指定できる漢字コードは、全角 $eb9f〜$ebfc(JIS:$7621〜$767e) 及び | |
1226 | + $ec40〜$ec7e($7721〜777e)、半角 $f400〜$f5ff. | |
1227 | + CONDRV.SYS 及び HIOCS.X 常駐時には、d1.l = 0 でカーソルの形状を設定し、 | |
1228 | + d1.l = -1 で元に戻す. また、d1.l = $ffff で CONDRV.SYS の | |
1229 | + バックスクロールウィンドウ内のカーソル形状を設定する. | |
1230 | + | |
1231 | +============================================================================== | |
1232 | + | |
1233 | +$10 _CRTMOD CRT モード設定 | |
1234 | + | |
1235 | +引数 d1.w CRT モード | |
1236 | + 実画面 表示画面 色数 枚数 kHz | |
1237 | + d1.w = 0 1024 512 x 512 16 1 31 | |
1238 | + 1 〃 〃 〃 〃 15 | |
1239 | + 2 〃 256 x 256 〃 〃 31 | |
1240 | + 3 〃 〃 〃 〃 15 | |
1241 | + 4 512 512 x 512 16 4 31 | |
1242 | + 5 〃 〃 〃 〃 15 | |
1243 | + 6 〃 256 x 256 〃 〃 31 | |
1244 | + 7 〃 〃 〃 〃 15 | |
1245 | + 8 〃 512 x 512 256 2 31 | |
1246 | + 9 〃 〃 〃 〃 15 | |
1247 | + 10 〃 256 x 256 〃 〃 31 | |
1248 | + 11 〃 〃 〃 〃 15 | |
1249 | + 12 〃 512 x 512 65536 1 31 | |
1250 | + 13 〃 〃 〃 〃 15 | |
1251 | + 14 〃 256 x 256 〃 〃 31 | |
1252 | + 15 〃 〃 〃 〃 15 | |
1253 | + 16 1024 768 x 512 16 1 31 | |
1254 | + 17 〃 1024 x 424 〃 〃 24 | |
1255 | + 18 〃 1024 x 848 〃 〃 24 | |
1256 | + | |
1257 | + 19 〃 640 x 480 〃 〃 24 | |
1258 | + | |
1259 | + 20 〃 768 x 512 256 2 31 | |
1260 | + 21 〃 1024 x 848 〃 〃 24 | |
1261 | + 22 〃 1024 x 424 〃 〃 24 | |
1262 | + 23 〃 640 x 480 〃 〃 24 | |
1263 | + 24 〃 768 x 512 65536 1 31 | |
1264 | + 25 〃 1024 x 848 〃 〃 24 | |
1265 | + 26 〃 1024 x 424 〃 〃 24 | |
1266 | + 27 〃 640 x 480 〃 〃 24 | |
1267 | + +$100 モードの切り換えのみ行なう | |
1268 | + -1 現在のモードを調べる | |
1269 | + | |
1270 | +返値 d1.w = -1 の時、現在のモード(0〜19) | |
1271 | + | |
1272 | + CRT モードを設定する. テキスト画面のプレーン 0/1 をクリアして表示モード | |
1273 | + に、グラフィック画面とスプライト画面はクリアせずに無表示モードにする. | |
1274 | + テキストパレットは初期化される. | |
1275 | + d1.w = 19 の 640 x 480 のモードは ROM IOCS version 1.2 以上で使用可能. | |
1276 | + d1.w = 20〜27 は表示画面サイズより小さい実画面のグラフィックを表示する | |
1277 | + モードで、ROM IOCS version 1.3 だけで使用可能(ハードウェア的には全機種 | |
1278 | + とも実現可能). | |
1279 | + | |
1280 | +============================================================================== | |
1281 | + | |
1282 | +$11 _CONTRAST コントラスト設定 | |
1283 | + | |
1284 | +引数 d1.b コントラスト | |
1285 | + d1.b = 0〜15 コントラストを設定する | |
1286 | + -1 コントラストを調べる | |
1287 | + -2 システム設定値に戻す | |
1288 | + | |
1289 | +返値 変更前のコントラスト | |
1290 | + | |
1291 | + コントラストを設定する. | |
1292 | + | |
1293 | +============================================================================== | |
1294 | + | |
1295 | +$12 _HSVTORGB HSV→RGB 変換 | |
1296 | + | |
1297 | +引数 d1.l HSV データ | |
1298 | + %iiif_ffff_000s_ssss_000v_vvvv | |
1299 | + bit 23〜21 色相 | |
1300 | + %000 赤 〜黄色 | |
1301 | + %001 黄色 〜緑 | |
1302 | + %010 緑 〜シアン | |
1303 | + %011 シアン 〜青 | |
1304 | + %100 青 〜マゼンダ | |
1305 | + %101 マゼンダ〜赤 | |
1306 | + %110 禁止 | |
1307 | + %111 〃 | |
1308 | + bit 20〜16 色相(色合) | |
1309 | + bit 12〜 8 彩度(0:白 $1f:原色) | |
1310 | + bit 4〜 0 明度(0:黒 $1f:原色) | |
1311 | + | |
1312 | +返値 RGB データ(輝度ビットは常に 0) | |
1313 | + %gggg_grrr_rrbb_bbb0 | |
1314 | + bit 15〜11 緑成分 | |
1315 | + bit 10〜 6 赤〃 | |
1316 | + bit 5〜 1 青〃 | |
1317 | + ただし、色相が異常な場合は -1 が返る. | |
1318 | + | |
1319 | + HSV 方式による色データを RGB 方式に変換する. | |
1320 | + HSV 方式は、色相/彩度/明度による色の指定方法. | |
1321 | + | |
1322 | +============================================================================== | |
1323 | + | |
1324 | +$13 _TPALET テキストパレット設定 | |
1325 | + | |
1326 | +引数 d1.b パレットコード(0〜15) | |
1327 | + d1.b = 0 テキストカラー 0 | |
1328 | + 1 〃 1 | |
1329 | + 2 〃 2 | |
1330 | + 3 〃 3 | |
1331 | + 4〜7 ソフトキーボード/電卓 0 | |
1332 | + 8〜15 〃 1 | |
1333 | + d2.l カラーコード | |
1334 | + d2.l = 0〜$ffff カラーコードを設定 | |
1335 | + -1 カラーコードを調べる | |
1336 | + -2 システム設定値に戻す | |
1337 | + | |
1338 | +返値 ステータス(d2.l = -1 の時はカラーコード) | |
1339 | + d0.l = 0 正常終了 | |
1340 | + -1 カラーコードが異常 | |
1341 | + | |
1342 | + テキストパレットにカラーコードを設定する. パレットに 4〜7,8〜15 を指定 | |
1343 | + した時は、それらの全てに同じカラーコードが設定される. | |
1344 | + | |
1345 | +============================================================================== | |
1346 | + | |
1347 | +$14 _TPALET2 テキストパレット独立設定 | |
1348 | + | |
1349 | +引数 d1.b パレットコード(0〜15) | |
1350 | + d2.l カラーコード | |
1351 | + d2.l = 0〜$ffff カラーコードを設定 | |
1352 | + -1 カラーコードを調べる | |
1353 | + | |
1354 | +返値 ステータス(d2.l = -1 の時はカラーコード) | |
1355 | + d0.l = 0 正常終了 | |
1356 | + -1 カラーコードが異常 | |
1357 | + | |
1358 | + テキストパレットにカラーコードを設定する. | |
1359 | + IOCS TPALET($13) とは違い、パレットごとに独立して設定出来る. | |
1360 | + | |
1361 | +============================================================================== | |
1362 | + | |
1363 | +$15 _TCOLOR テキストプレーン指定 | |
1364 | + | |
1365 | +引数 d1.b アクセスプレーンの指定 | |
1366 | + d1.b = %???1 プレーン 0 | |
1367 | + %??10 〃 1 | |
1368 | + %?100 〃 2 | |
1369 | + %1000 〃 3 | |
1370 | + %0000 〃 0 | |
1371 | + | |
1372 | +返値 d1.w は破壊される. | |
1373 | + | |
1374 | + IOCS TEXTGET($1a),TEXTPUT($1b),CLIPPUT($1c) でアクセスされるテキスト | |
1375 | + プレーンを設定する. 使用後はプレーン 0 を設定しなければならないが、0 | |
1376 | + 以外のままの場合、その他の IOCS コールの動作は保証されない. | |
1377 | + | |
1378 | +============================================================================== | |
1379 | + | |
1380 | +$16 _FNTADR フォントアドレスの収得 | |
1381 | + | |
1382 | +引数 d1.w 漢字コード(Shift-JIS/JIS) | |
1383 | + d2.b パターンの大きさ | |
1384 | + d2.b = 6 6x12,12x12ドット | |
1385 | + 8 8x16,16x16〃 | |
1386 | + 12 12x24,24x24〃 | |
1387 | + | |
1388 | +返値 d0.l パターンアドレス | |
1389 | + d1.hw パターンの X 方向のドット数 | |
1390 | + d1.w パターンの X 方向のバイト数-1 | |
1391 | + d2.w 〃 Y 〃 ドット数-1 | |
1392 | + | |
1393 | + 指定の文字フォントのアドレスを調べる. | |
1394 | + 得られたアドレスはスーパーバイザ領域の可能性がある. | |
1395 | + それぞれの文字は文字コードの順に連続的に配置されているとは限らない. | |
1396 | + 外字、12ドット文字はいつまでもパターンデータが残っているとは限らない. | |
1397 | + この IOCS コールはシステムで使用するので、一般のアプリケーションからは | |
1398 | + 使用しないこと. | |
1399 | + なお、ROM IOCS version 1.3 及び HIOCS.X では d2.b = 0 の場合 8 が指定 | |
1400 | + されたものと扱うが、それ以外だと動作が違うので注意すること. | |
1401 | + | |
1402 | +============================================================================== | |
1403 | + | |
1404 | +$17 _VRAMGET テキスト VRAM のバイト単位読み込み | |
1405 | + | |
1406 | +引数 d1.w バッファの X 方向のバイト数-1 | |
1407 | + d2.w 〃 Y 〃 ドット数-1 | |
1408 | + d3.l (VRAM の X 方向-バッファの X 方向)のバイト数 | |
1409 | + a1.l バッファのアドレス | |
1410 | + a2.l VRAM 〃 | |
1411 | + | |
1412 | +返値 d0/d1/d2/a1/a2 は内容が保証されない. | |
1413 | + | |
1414 | + VRAM からバッファにバイト単位で読み込む. | |
1415 | + VRAM にテキスト画面を指定する場合は、VRAM の X 方向のバイト数は 128 バ | |
1416 | + イトとなる. | |
1417 | + | |
1418 | +============================================================================== | |
1419 | + | |
1420 | +$18 _VRAMPUT テキスト VRAM のバイト単位書き込み | |
1421 | + | |
1422 | +引数 d1.w バッファの X 方向のバイト数-1 | |
1423 | + d2.w 〃 Y 〃 ドット数-1 | |
1424 | + d3.l (VRAM の X 方向-バッファの X 方向)のバイト数 | |
1425 | + a1.l バッファのアドレス | |
1426 | + a2.l VRAM 〃 | |
1427 | + | |
1428 | +返値 d0/d1/d2/a1/a2 は内容が保証されない. | |
1429 | + | |
1430 | + バッファから VRAM にバイト単位で書き込む. | |
1431 | + VRAM にテキスト画面を指定する場合は、VRAM の X 方向のバイト数は 128 バ | |
1432 | + イトとなる. | |
1433 | + | |
1434 | +============================================================================== | |
1435 | + | |
1436 | +$19 _FNTGET フォント読み込み | |
1437 | + | |
1438 | +引数 d1.hw パターンの大きさ | |
1439 | + d1.hw = 6 6x12,12x12ドット | |
1440 | + 0,8 8x16,16x16〃 | |
1441 | + 12 12x24,24x24〃 | |
1442 | + d1.w 漢字コード(Shift-JIS/JIS) | |
1443 | + a1.l データバッファのアドレス(4+フォントサイズ分のバイト数が必要) | |
1444 | + (0,a1) パターンの X 方向のドット数 | |
1445 | + (2,a1) Y 〃 | |
1446 | + (4,a1) (パターンデータ) | |
1447 | + | |
1448 | +返値 パターンの存在するアドレス(転送元) | |
1449 | + | |
1450 | + 指定の文字フォントを読み込む. | |
1451 | + | |
1452 | +============================================================================== | |
1453 | + | |
1454 | +$1a _TEXTGET テキスト VRAM のドット単位読み込み | |
1455 | + | |
1456 | +引数 d1.w X 座標 | |
1457 | + d2.w Y 座標 | |
1458 | + a1.l データバッファのアドレス | |
1459 | + (0,a1) パターンの X 方向のドット数 | |
1460 | + (2,a1) Y 〃 | |
1461 | + (4,a1) (パターンデータ) | |
1462 | + | |
1463 | + テキスト VRAM からドット単位で読み込む. | |
1464 | + | |
1465 | +============================================================================== | |
1466 | + | |
1467 | +$1b _TEXTPUT テキスト VRAM のドット単位書き込み | |
1468 | + | |
1469 | +引数 d1.w X 座標 | |
1470 | + d2.w Y 座標 | |
1471 | + a1.l データバッファのアドレス | |
1472 | + (0,a1) パターンの X 方向のドット数 | |
1473 | + (2,a1) Y 〃 | |
1474 | + (4,a1) パターンデータ | |
1475 | + | |
1476 | + テキスト VRAM へドット単位で書き込む. | |
1477 | + | |
1478 | +============================================================================== | |
1479 | + | |
1480 | +$1c _CLIPPUT テキスト VRAM のドット単位書き込み(クリッピング処理あり) | |
1481 | + | |
1482 | +引数 d1.w X 座標 | |
1483 | + d2.w Y 座標 | |
1484 | + a1.l データバッファのアドレス | |
1485 | + (0,a1) パターンの X 方向のドット数 | |
1486 | + (2,a1) Y 〃 | |
1487 | + (4,a1) パターンデータ | |
1488 | + a2.l クリッピング座標バッファのアドレス | |
1489 | + (0,a2) 左端 X 座標 | |
1490 | + (2,a2) 上端 Y 〃 | |
1491 | + (4,a2) 右端 X 〃 | |
1492 | + (6,a2) 下端 Y 〃 | |
1493 | + | |
1494 | + クリッピング処理をしながら、テキスト VRAM へドット単位で書き込む. | |
1495 | + | |
1496 | +============================================================================== | |
1497 | + | |
1498 | +$1d _SCROLL 表示座標の設定 | |
1499 | + | |
1500 | +引数 d1.w 動作の指定 | |
1501 | + d1.w = 0 グラフィックページ 0 の設定 | |
1502 | + 1 〃 1 〃 | |
1503 | + 2 〃 2 〃 | |
1504 | + 3 〃 3 〃 | |
1505 | + 4 〃 0 の表示座標の収得のみ | |
1506 | + 5 〃 1 〃 | |
1507 | + 6 〃 2 〃 | |
1508 | + 7 〃 3 〃 | |
1509 | + 8 テキストの設定 | |
1510 | + 9 〃表示座標の収得のみ | |
1511 | + d2.w X 座標(設定時) | |
1512 | + d3.w Y 〃 | |
1513 | + | |
1514 | +返値 変更前の表示座標 | |
1515 | + d0.hw X 座標 | |
1516 | + d0.lw Y 〃 | |
1517 | + | |
1518 | + グラフィック及びテキストの表示座標を設定する. | |
1519 | + テキスト画面の X 座標を、表示画面が実画面からはみ出る位置に設定すると | |
1520 | + 表示が乱れる. | |
1521 | + 通常、変更前の表示座標はハードウェアの仕様により常に 0 が返る. | |
1522 | + | |
1523 | +============================================================================== | |
1524 | + | |
1525 | +$1e _B_CURON カーソル一時停止解除 | |
1526 | + | |
1527 | + カーソルの表示の一時停止を解除する. | |
1528 | + | |
1529 | +============================================================================== | |
1530 | + | |
1531 | +$1f _B_CUROFF カーソル一時停止 | |
1532 | + | |
1533 | + カーソルの表示を一時停止する. | |
1534 | + | |
1535 | +============================================================================== | |
1536 | + | |
1537 | +$20 _B_PUTC 文字表示 | |
1538 | + | |
1539 | +引数 d1.w 文字コード | |
1540 | + | |
1541 | +返値 表示後のカーソル位置 | |
1542 | + d0.hw 桁位置 | |
1543 | + d0.w 行〃 | |
1544 | + | |
1545 | + 文字を表示する. | |
1546 | + 漢字を表示する場合、第 1/第 2 バイトを 2 回に分けてもかまわない. | |
1547 | + 画面の右端で半角 1 文字しか表示出来ない時に全角文字を表示しようとした | |
1548 | + 場合、半角スペースを表示して改行してから全角文字を表示する. | |
1549 | + | |
1550 | +============================================================================== | |
1551 | + | |
1552 | +$21 _B_PRINT 文字列表示 | |
1553 | + | |
1554 | +引数 a1.l 文字列のアドレス | |
1555 | + | |
1556 | +返値 d0.l 表示後のカーソル位置 | |
1557 | + d0.hw 桁位置 | |
1558 | + d0.w 行〃 | |
1559 | + a1.l 文字列終端の 0 のアドレス | |
1560 | + | |
1561 | + 文字列を表示する. | |
1562 | + | |
1563 | +============================================================================== | |
1564 | + | |
1565 | +$22 _B_COLOR 表示色設定 | |
1566 | + | |
1567 | +引数 d1.w 表示属性 | |
1568 | + d1.w = 0 テキストパレット 0 (通常黒) | |
1569 | + 1 〃 1 (〃 水色) | |
1570 | + 2 〃 2 (〃 黄色) | |
1571 | + 3 〃 3 (〃 白) | |
1572 | + + 4 強調 | |
1573 | + + 8 逆転 | |
1574 | + +12 逆転強調 | |
1575 | + -1 属性を調べる | |
1576 | + | |
1577 | +返値 d0.b 変更前の表示属性(負数なら表示属性の指定が異常) | |
1578 | + | |
1579 | + IOCS B_PUTC($20),B_PRINT($21) で表示する文字の属性を設定する. | |
1580 | + | |
1581 | +============================================================================== | |
1582 | + | |
1583 | +$23 _B_LOCATE カーソル移動 | |
1584 | + | |
1585 | +引数 d1.w 桁位置(ただし、d1.w = -1 の時カーソル位置の収得のみ) | |
1586 | + d2.w 行〃 | |
1587 | + | |
1588 | +返値 移動前のカーソル位置(-1 ならカーソル位置の指定が異常) | |
1589 | + d0.hw 桁位置 | |
1590 | + d0.w 行〃 | |
1591 | + | |
1592 | + カーソルを指定位置に移動する. | |
1593 | + ROM IOCS version 1.3 では、座標収得時のみ d1.l に d0.l と同じ値が返る. | |
1594 | + | |
1595 | +============================================================================== | |
1596 | + | |
1597 | +$24 _B_DOWN_S カーソルを 1 行下に移動 | |
1598 | + | |
1599 | +返値 常に 0 | |
1600 | + | |
1601 | + カーソルを 1 行下に移動する. | |
1602 | + カーソルが最下行にある場合はスクロールアップする. | |
1603 | + | |
1604 | +============================================================================== | |
1605 | + | |
1606 | +$25 _B_UP_S カーソルを 1 行下に移動 | |
1607 | + | |
1608 | +返値 常に 0 | |
1609 | + | |
1610 | + カーソルを 1 行上に移動する. | |
1611 | + カーソルが先頭行にある場合はスクロールダウンする. | |
1612 | + | |
1613 | +============================================================================== | |
1614 | + | |
1615 | +$26 _B_UP カーソルを指定行数だけ上に移動 | |
1616 | + | |
1617 | +引数 d1.b 移動行数(0 の時は 1 と見なします) | |
1618 | + | |
1619 | +返値 常に 0 | |
1620 | + | |
1621 | + カーソルを指定行上に移動する. | |
1622 | + 指定行数だけ移動出来ない場合は移動しない. | |
1623 | + ROM IOCS version 1.3 では、移動した場合に 0、移動しなかった場合には -1 | |
1624 | + を返す. | |
1625 | + | |
1626 | +============================================================================== | |
1627 | + | |
1628 | +$27 _B_DOWN カーソルを指定行数だけ下に移動 | |
1629 | + | |
1630 | +引数 d1.b 移動行数(0 の時は 1 と見なします) | |
1631 | + | |
1632 | +返値 常に 0 | |
1633 | + | |
1634 | + カーソルを指定行下に移動する. | |
1635 | + 指定行数だけ移動出来ない場合は最下行まで移動する. | |
1636 | + | |
1637 | +============================================================================== | |
1638 | + | |
1639 | +$28 _B_RIGHT カーソルを指定桁数だけ右に移動 | |
1640 | + | |
1641 | +引数 d1.b 移動桁数(0 の時は 1 と見なします) | |
1642 | + | |
1643 | +返値 常に 0 | |
1644 | + | |
1645 | + カーソルを指定桁右に移動する. | |
1646 | + 指定桁数だけ移動出来ない場合は右端まで移動する. | |
1647 | + | |
1648 | +============================================================================== | |
1649 | + | |
1650 | +$29 _B_LEFT カーソルを指定桁数だけ左に移動 | |
1651 | + | |
1652 | +引数 d1.b 移動桁数(0 の時は 1 と見なします) | |
1653 | + | |
1654 | +返値 常に 0 | |
1655 | + | |
1656 | + カーソルを指定桁左に移動する. | |
1657 | + 指定桁数だけ移動出来ない場合は左端まで移動する. | |
1658 | + | |
1659 | +============================================================================== | |
1660 | + | |
1661 | +$2a _B_CLR_ST 画面の複数行消去 | |
1662 | + | |
1663 | +引数 d1.b 消去範囲の指定 | |
1664 | + d1.b = 0 カーソル位置から最終行右端まで | |
1665 | + 1 先頭行左端からカーソル位置まで | |
1666 | + 2 画面全体(消去後カーソルは先頭行左端に移動します) | |
1667 | + | |
1668 | + 範囲を指定して画面の複数行を消去する. | |
1669 | + | |
1670 | +============================================================================== | |
1671 | + | |
1672 | +$2b _B_ERA_ST 現在行の複数桁消去 | |
1673 | + | |
1674 | +引数 d1.b 消去範囲の指定 | |
1675 | + d1.b = 0 カーソル位置から右端まで | |
1676 | + 1 左端からカーソル位置まで | |
1677 | + 2 カーソル行全体 | |
1678 | + | |
1679 | +返値 d0.l = 0 正常終了 | |
1680 | + その他 異常終了(範囲指定若しくはカーソル位置が異常) | |
1681 | + | |
1682 | + 範囲を指定してカーソル行の複数桁を消去する. | |
1683 | + 異常終了した時の返値は通常 -1 だが、ROM IOCS version 1.3 未満でかつカ | |
1684 | + ーソル位置が原因の場合は不定である. | |
1685 | + | |
1686 | +============================================================================== | |
1687 | + | |
1688 | +$2c _B_INS 複数行挿入 | |
1689 | + | |
1690 | +引数 d1.b 挿入行数(0 の時は 1 と見なします) | |
1691 | + | |
1692 | +返値 常に 0 | |
1693 | + | |
1694 | + カーソル位置に複数行挿入する. カーソル行以下の行はスクロールする. | |
1695 | + カーソルは左端に移動する. | |
1696 | + ROM IOCS version 1.3 未満では引数の d1.w の上位バイトを 0 にしておかな | |
1697 | + いと正常に動作しないので注意すること. | |
1698 | + | |
1699 | +============================================================================== | |
1700 | + | |
1701 | +$2d _B_DEL 複数行削除 | |
1702 | + | |
1703 | +引数 d1.b 削除行数(0 の時は 1 と見なします) | |
1704 | + | |
1705 | +返値 常に 0 | |
1706 | + | |
1707 | + カーソル位置から複数行削除する. カーソル行以下の行はスクロールする. | |
1708 | + ROM IOCS version 1.3 未満では引数の d1.w の上位バイトを 0 にしておかな | |
1709 | + いと正常に動作しないので注意すること. | |
1710 | + | |
1711 | +============================================================================== | |
1712 | + | |
1713 | +$2e _B_CONSOL 表示範囲設定 | |
1714 | + | |
1715 | +引数 d1.l 表示開始位置(d1.l = -1 の時変更しません) | |
1716 | + d1.hw X 方向の表示開始ドット位置(16の倍数で1008以下) | |
1717 | + d1.w Y 〃 ( 4 〃 1020 〃 ) | |
1718 | + d2.l 表示範囲(d2.l = -1 の時変更しません) | |
1719 | + d2.hw X 方向の表示桁数-1(0〜127) | |
1720 | + d2.w Y 〃 行数-1(0〜 63) | |
1721 | + | |
1722 | +返値 d0.l 常に 0 | |
1723 | + d1.l 変更前の表示開始オフセット(X/8+Y*128) | |
1724 | + d2.l 〃 表示範囲 | |
1725 | + | |
1726 | + テキスト画面の表示範囲を設定する. カーソルは先頭行左端に移動する. | |
1727 | + IOCS $20〜$2d で扱う座標は設定した表示範囲の左上が(0,0)となり、表示 | |
1728 | + 範囲内に影響する. ただし、スクロール/画面クリアは表示範囲外の桁に | |
1729 | + 影響が出る. 表示範囲だけスクロールさせるには IOCS B_CONMOD($ad) の | |
1730 | + モード 18:ソストコピースクロールを指定する. | |
1731 | + IOCS.X 組み込み時は引数の d1.hw に 8 の倍数を指定出来るが、ROM IOCS | |
1732 | + version 1.3 未満で 8 の倍数を指定するとアドレスエラーが発生する. | |
1733 | + | |
1734 | +============================================================================== | |
1735 | + | |
1736 | +$2f _B_PUTMES 座標指定文字列表示 | |
1737 | + | |
1738 | +引数 d1.b 表示属性 | |
1739 | + d1.b = 0 テキストパレット 0 (通常黒) | |
1740 | + 1 〃 1 (〃 水色) | |
1741 | + 2 〃 2 (〃 黄色) | |
1742 | + 3 〃 3 (〃 白) | |
1743 | + + 4 強調 | |
1744 | + + 8 逆転 | |
1745 | + +12 逆転強調 | |
1746 | + d2.w 表示桁位置(絶対座標:0〜127) | |
1747 | + d3.w 表示行位置(絶対座標:0〜 63) | |
1748 | + d4.w 表示桁数-1 | |
1749 | + a1.l 表示文字列のアドレス | |
1750 | + | |
1751 | +返値 d0.l 不定(内容は保証されない) | |
1752 | + d2.w 表示後の桁位置 | |
1753 | + d4.w 不定(内容は保証されない) | |
1754 | + a1.l 文字列の終端のアドレス(指定した文字列が表示桁数より長ければ、 | |
1755 | + 最後に表示した文字の次のアドレス) | |
1756 | + | |
1757 | + 指定した絶対座標から文字列を直接表示する. ファンクションキー行表示用で、 | |
1758 | + IOCS B_CONSOL($2e) の影響を受けない. | |
1759 | + 桁数以上は表示しない(全角文字が表示出来ない場合は半角スペースが表示 | |
1760 | + される). 文字列が指定の桁数未満の長さの場合、残りは半角スペースを表示 | |
1761 | + する. 文字コード $fe は空白が表示される. | |
1762 | + テキスト画面の右端まで行ったらそれ以上表示せず、スクロールもしない. | |
1763 | + | |
1764 | +============================================================================== | |
1765 | + | |
1766 | +$30 _SET232C RS-232C パラメータ設定 | |
1767 | + | |
1768 | +引数 d1.w RS-232C 設定値(d1.w = -1 の時 現在の設定を調べます) | |
1769 | + bit 15〜14 ストップビット(1:1bit 2:1.5bit 0,3:2bit) | |
1770 | + bit 13〜12 パリティ(1:奇数 3:偶数 0,2:なし) | |
1771 | + bit 11〜10 ビット長(0:5bit以下 1:6bit 2:7bit 3:8bit) | |
1772 | + bit 9 XON/XOFF処理(0:OFF 1:ON) | |
1773 | + bit 8 SI/SO 処理( 〃 ) | |
1774 | + bit 7〜 0 BPS(0: 75 1: 150 2: 300 3: 600 4:1200 | |
1775 | + 5:2400 6:4800 7:9600 8:17361) | |
1776 | + | |
1777 | +返値 変更前の設定 | |
1778 | + | |
1779 | + RS-232C のモードを設定する. | |
1780 | + BPS に範囲外の値を指定した場合、1200BPS として初期化する. | |
1781 | + ROM IOCS では、SI/SO処理が正常に動作しないので使用しないこと. | |
1782 | + BPS の 8 番は ROM IOCS version 1.3 だけで使用可能. | |
1783 | + | |
1784 | +============================================================================== | |
1785 | + | |
1786 | +$31 _LOF232C RS-232C 受信バッファのデータ数を求める | |
1787 | + | |
1788 | +返値 d0.w RS-232C 受信データ数 | |
1789 | + | |
1790 | + RS-232C の受信バッファ内のデータ数を調べる. | |
1791 | + | |
1792 | +============================================================================== | |
1793 | + | |
1794 | +$32 _INP232C RS-232C 受信データを得る | |
1795 | + | |
1796 | +返値 d0.w RS-232C 受信データ(下位 8 ビット) | |
1797 | + | |
1798 | + RS-232C からデータを受信する. | |
1799 | + データを受信していなければ受信するまで待つ. | |
1800 | + | |
1801 | +============================================================================== | |
1802 | + | |
1803 | +$33 _ISNS232C RS-232C 受信データの検査 | |
1804 | + | |
1805 | +返値 d0.l = 0 受信データなし | |
1806 | + $100?? 〃 あり($?? は受信データ) | |
1807 | + | |
1808 | + RS-232C からデータを受信しているか調べる. | |
1809 | + 受信データバッファの内容は変化ない. | |
1810 | + | |
1811 | +============================================================================== | |
1812 | + | |
1813 | +$34 _OSNS232C RS-232C データが送信可能か検査する | |
1814 | + | |
1815 | +返値 d0.l = 0 送信不可能 | |
1816 | + 4 〃 可能(バッファが空で、XON でもない) | |
1817 | + | |
1818 | + RS-232C にデータが送信可能か調べる. | |
1819 | + | |
1820 | +============================================================================== | |
1821 | + | |
1822 | +$35 _OUT232C RS-232C データ送信 | |
1823 | + | |
1824 | +引数 d1.b 送信データ | |
1825 | + | |
1826 | + RS-232C にデータを送信する. | |
1827 | + データが送信不可能であれば送信可能になるまで待つ. | |
1828 | + | |
1829 | +============================================================================== | |
1830 | + | |
1831 | +$36 (未公開) マウスデータ受信時の処理アドレス設定 | |
1832 | + | |
1833 | +引数 d1.l 処理アドレス(0 の時取り消し) | |
1834 | + d2.w カウンタ初期値 | |
1835 | + | |
1836 | + マウスからデータを受信した時に呼び出されるサブルーチンのアドレスを設定 | |
1837 | + する. 通常はマウス処理 IOCS で使用するデータの書き換えを行うアドレスが | |
1838 | + 設定されている. | |
1839 | + 設定したアドレスが呼び出される時は、a1.l が示すアドレスからの 3 バイト | |
1840 | + にマウスからの受信データがセットされている. | |
1841 | + カウンタの値を大きくすると呼び出される間隔が長くなる(1 の時最短). | |
1842 | + 処理アドレスに 0 を指定すると、標準アドレスが設定される. | |
1843 | + | |
1844 | +============================================================================== | |
1845 | + | |
1846 | +$37 (未公開) ESC[>系エスケープシーケンスの拡張処理アドレス設定 | |
1847 | + | |
1848 | +引数 d1.l 処理アドレス(0 の時取り消し) | |
1849 | + | |
1850 | +返値 変更前のアドレス(ROM IOCS version 1.3 のみ) | |
1851 | + | |
1852 | + エスケープシーケンスのうち、ESC[> 系の拡張処理を行うサブルーチンのアド | |
1853 | + レスを設定する. 処理アドレスに 0 を指定すると、標準アドレスが設定される. | |
1854 | + 設定したアドレスが呼び出される時は、d0.w に ESC[> の次の 2 バイトデータ、 | |
1855 | + a0.l に ESC[> のアドレスがセットされている. | |
1856 | + ROM IOCS version 1.3のみ、変更前のアドレスを返す. | |
1857 | + | |
1858 | +============================================================================== | |
1859 | + | |
1860 | +$38 _SETFNTADR 外字フォントアドレス設定 | |
1861 | + | |
1862 | +引数 d1.l フォントアドレス(負数でアドレス収得のみ) | |
1863 | + d2.l 外字グループ番号 | |
1864 | + d2.l = 0 16x16ドット JIS:$2c21〜$2d7e | |
1865 | + 1 16x16 〃 :$7621〜$777e | |
1866 | + 2 8x16 〃 :$f400〜$f5ff | |
1867 | + 3 24x24 〃 :$2c21〜$2d7e | |
1868 | + 4 24x24 〃 :$7621〜$777e | |
1869 | + 5 12x24 〃 :$f400〜$f5ff | |
1870 | + 6 6x12 〃(半角) | |
1871 | + 7 8x 8 〃(1/4角) | |
1872 | + 8 8x16 〃(半角) | |
1873 | + 9 16x16 〃(全角) | |
1874 | + 10 12x12 〃(1/4角) | |
1875 | + 11 12x24 〃(半角) | |
1876 | + 12 24x24 〃(全角) | |
1877 | + 13 16x16 〃(全角非漢字) | |
1878 | + 14 16x16 〃(第1水準文字) | |
1879 | + 15 16x16 〃(第2水準文字) | |
1880 | + 0x80 拡張外字処理アドレスを得る | |
1881 | + | |
1882 | +返値 変更前のアドレス | |
1883 | + アドレス設定時に -1 が返った時はエラー(奇数アドレスを指定した場合等). | |
1884 | + | |
1885 | + 外字フォントデータのアドレスを設定する. | |
1886 | + HIOCS.X 組み込み時には d2.l が 6 以上で普通の文字のフォントも設定可能. | |
1887 | + ROM IOCS では奇数アドレスを設定してもエラーにならないので注意すること. | |
1888 | + | |
1889 | +============================================================================== | |
1890 | + | |
1891 | +$39 (未公開) BEEP音用PCMのデータ設定 | |
1892 | + | |
1893 | +引数 d1.l PCM データアドレス | |
1894 | + d2.w 〃 サイズ | |
1895 | + | |
1896 | +返値 d0.l 常に 0 | |
1897 | + d1.l 変更前の PCM データアドレス | |
1898 | + d2.w 〃 サイズ | |
1899 | + | |
1900 | + BEEP 音用の PCM データのアドレスと長さを設定する. | |
1901 | + | |
1902 | +============================================================================== | |
1903 | + | |
1904 | +$3a (未公開) プリンタパラメータ設定 | |
1905 | + | |
1906 | +引数 a1.l パラメータアドレス(0 で ROM) | |
1907 | + | |
1908 | + プリンタ処理 IOCS で使用するパラメータを設定する. | |
1909 | + パラメータアドレスに 0 を指定すると ROM 内の初期値を設定する. | |
1910 | + パラメータの内容は以下の通り. | |
1911 | + | |
1912 | +offset size | |
1913 | +$00 1.l T-VRAM プレーン 0 アドレス($e00000) | |
1914 | +$04 1.w Y 方向ドット数÷12-1(41) | |
1915 | +$06 1.l 拡大ビットイメージ出力時の Y 方向余りラインパターン | |
1916 | +$0a 1.w Y 方向ドット数÷24-1(21) | |
1917 | +$0c 1.l 縮小ビットイメージ出力時の Y 方向余りラインパターン | |
1918 | +$10 1.w X 方向ドット数÷ 8-1(96) | |
1919 | +$12 8.b 漢字モード指定コード | |
1920 | +$1a 8.b 〃 解除 〃 | |
1921 | +$22 4.b LF のコード | |
1922 | +$26 6.b 改行幅 16/120インチのコード | |
1923 | +$2c 6.b 改行幅を電源投入時の状態に戻すコード | |
1924 | +$32 6.b 改行幅 10/120インチのコード | |
1925 | +$38 6.b 〃 5/150 〃 | |
1926 | +$3e 8.b ビットイメージ出力コード(1536×24ドット出力) | |
1927 | +$46 8.b 〃 ( 768×24 〃 ) | |
1928 | +$4e 8.b 〃 ( 18×24 〃 ) | |
1929 | +$56 8.b 〃 ( 36×24 〃 ) | |
1930 | +$5e 1.b 0:MSB〜LSB 1:LSB〜MSB の順で出力 | |
1931 | +$5f 1.b 半角ビットイメージ出力時の左右の空白ドット数 | |
1932 | +$60 1.b 全角〃 | |
1933 | +$61 1.b モード(bitの値が1ならビットイメージで出力する) | |
1934 | + bit 4:半角文字 | |
1935 | + bit 3:第一水準漢字及び全角非漢字 | |
1936 | + bit 2:第二水準漢字 | |
1937 | + bit 1:第一外字 | |
1938 | + bit 0:第二外字 | |
1939 | + | |
1940 | + $06,$0c は下位 3 バイトのみ有効で、左端から 512/($04,$0a の値)の余り | |
1941 | + のドット数だけビットを 1 にする. | |
1942 | + $12〜$56 のコードは、先頭 1 バイトでコードのバイト数を指定し、残りで | |
1943 | + コードを指定する. | |
1944 | + なお、$22 からの LF コード指定バッファは PRNDRVn.SYS を組み込むとサイ | |
1945 | + ズが 2 バイトに縮まり、$24 から CR のコードを指定するようになっている. | |
1946 | + | |
1947 | +============================================================================== | |
1948 | + | |
1949 | +$3b _JOYGET ジョイスティック入力 | |
1950 | + | |
1951 | +引数 d1.w ジョイスティック番号(0/1) | |
1952 | + | |
1953 | +返値 ジョイスティックデータ(0 の時押されていて、1 の時離されています.) | |
1954 | + bit 7 常に 1 | |
1955 | + bit 6 ボタン 1 | |
1956 | + bit 5 〃 2 | |
1957 | + bit 4 常に 1 | |
1958 | + bit 3 レバー 右 | |
1959 | + bit 2 〃 左 | |
1960 | + bit 1 〃 下 | |
1961 | + bit 0 〃 上 | |
1962 | + | |
1963 | + ジョイスティックのデータを読む. | |
1964 | + 無効なジョイスティック番号を指定した場合は、常に 0 が返ります. | |
1965 | + | |
1966 | +============================================================================== | |
1967 | + | |
1968 | +$3c _INIT_PRN プリンタ初期化 | |
1969 | + | |
1970 | +引数 d1.hb 1 ページの行数-1(-1で指定なし) | |
1971 | + d1.b 1 行の桁数-1 ( 〃 ) | |
1972 | + | |
1973 | +返値 d0.l = 0 出力不可能 | |
1974 | + $20 出力可能 | |
1975 | + | |
1976 | + プリンタポートを初期化し、同時にプリンタに出力可能か調べる. | |
1977 | + 引数の d1.w は IOCS _OUTPRN($3f) 用のプリントフォーマット. | |
1978 | + | |
1979 | +============================================================================== | |
1980 | + | |
1981 | +$3d _SNSPRN プリンタに出力可能か検査する | |
1982 | + | |
1983 | +返値 d0.l = 0 出力不可能 | |
1984 | + $20 出力可能 | |
1985 | + | |
1986 | + プリンタに出力可能か調べる. | |
1987 | + | |
1988 | +============================================================================== | |
1989 | + | |
1990 | +$3e _OUTLPT プリンタ直接出力 | |
1991 | + | |
1992 | +引数 d1.b 出力データ | |
1993 | + | |
1994 | + プリンタに直接データを出力する. 漢字処理はせず、また自動改行/改頁しない. | |
1995 | + 通常はプリンタに出力が完了するまで処理が戻らない. | |
1996 | + ROM IOCS version 1.3 未満では、アクセラレータ等で高速動作中に使用する | |
1997 | + とウェイト不足で正常動作しない場合がある. | |
1998 | + | |
1999 | +============================================================================== | |
2000 | + | |
2001 | +$3f _OUTPRN プリンタ出力 | |
2002 | + | |
2003 | +引数 d1.b 出力データ | |
2004 | + | |
2005 | +返値 d1.b は破壊される. | |
2006 | + | |
2007 | + プリンタに文字を出力する. 漢字処理は S-JIS で行い、2 バイト文字の場合は | |
2008 | + 1 バイトずつ 2 回に分けて出力すること. | |
2009 | + 通常はプリンタに出力が完了するまで処理が戻らない. | |
2010 | + | |
2011 | +============================================================================== | |
2012 | + | |
2013 | +$40 _B_SEEK ディスクのシーク | |
2014 | + | |
2015 | +引数 d1.hb PDA | |
2016 | + d1.hb = $10〜$13 2DD/8 0〜 3 | |
2017 | + $30〜$33 2DD/9 〃 | |
2018 | + $70〜$73 2HQ 〃 | |
2019 | + $80〜$8f SASI-HD 0〜15 | |
2020 | + $90〜$93 2HD 0〜 3 | |
2021 | + d1.b モード(SASI-HD の時は意味がありません) | |
2022 | + bit 6 MFM/MFM モード切り換え 0:FM 1:MFM(通常は 1) | |
2023 | + bit 5 リトライ 0:リトライしない 1:する | |
2024 | + bit 4 シーク 0:シークしない 1:する | |
2025 | + リトライする場合、5 回シークせずにリトライし、その後 5 回 | |
2026 | + リキャリブレート/シークをしてからリトライします. | |
2027 | + d2.l 目的シーク位置(SASI-HD の時は 256 バイト単位のレコード番号) | |
2028 | + bit 31〜24 セクタ長 0:128 1:256 2:512 3:1024(バイト) | |
2029 | + bit 23〜16 トラック(0〜76) | |
2030 | + bit 15〜 8 サイド(0/1) | |
2031 | + bit 7〜 0 セクタ(1〜8) | |
2032 | + | |
2033 | +返値 SASI-HD : ステータス | |
2034 | + d0.l = 正数 正常終了 | |
2035 | + -1 規定時間内に応答がなかった | |
2036 | + -3 エラー | |
2037 | + その他 異常終了(最下位バイトがエラーコード) | |
2038 | + 2HD-FD : FDC ステータス | |
2039 | + bit 31〜24 リザルトステータス 0(ST0) | |
2040 | + bit 23〜16 コマンド終了時のシリンダ番号(PCN) | |
2041 | + | |
2042 | + ディスクの指定位置までシークする. | |
2043 | + SASI-HD のシークで返値が $ffffff?? の場合、$?? はセンスバイトの先頭バ | |
2044 | + イトを示す. | |
2045 | + PDA の $10〜13,$30〜$33,$70〜$73 は ROM IOCS version 1.3 若しくは | |
2046 | + FDDEVICE.X 常駐時のみ使用可能. また、ROM IOCS version 1.3 の場合、 | |
2047 | + SASI-HD は SCSI に接続されているのものが対象となる. | |
2048 | + | |
2049 | +============================================================================== | |
2050 | + | |
2051 | +$41 _B_VERIFY ディスクのベリファイ | |
2052 | + | |
2053 | +引数 d1.hb PDA | |
2054 | + d1.b モード(SASI-HD の時は意味がありません) | |
2055 | + d2.l 目的検査位置 | |
2056 | + d3.l 検査するバイト数 | |
2057 | + a1.l 検査するデータのアドレス | |
2058 | + | |
2059 | +返値 d2/d3/a1 は内容が保証されない. | |
2060 | + SASI-HD : ステータス(負数で異常終了) | |
2061 | + d0.l = 正数 正常終了 | |
2062 | + -1 規定時間内に応答がなかった | |
2063 | + -2 データが不一致 | |
2064 | + -3 エラー | |
2065 | + その他 異常終了(最下位バイトがエラーコード) | |
2066 | + 2HD-FD : FDC ステータス(-1 でパラメータが異常) | |
2067 | + bit 31〜24 リザルトステータス 0(ST0) | |
2068 | + bit 23〜16 〃 1(ST1) | |
2069 | + bit 15〜 8 〃 2(ST2) | |
2070 | + bit 7〜 0 シリンダ番号(C) | |
2071 | + | |
2072 | + データの比較検査を行なう. | |
2073 | + | |
2074 | + 2HD-FD との比較の場合、FDC の SCAN EQUAL 命令を使用してデータの比較を | |
2075 | + 行うので、データが $ff である時はそのバイトの比較は行われずに等しいも | |
2076 | + のとして扱われる. | |
2077 | + | |
2078 | +============================================================================== | |
2079 | + | |
2080 | +$42 _B_READDI ディスクの診断の為の読み出し | |
2081 | + | |
2082 | +引数 d1.hb PDA(SASI-HD:$80〜$8f は指定出来ません) | |
2083 | + d1.b モード | |
2084 | + d2.l 目的読み込み位置 | |
2085 | + d3.l 読み込むバイト数 | |
2086 | + a1.l 読み込むバッファのアドレス | |
2087 | + | |
2088 | +返値 d2/d3/a1 は内容が保証されない. | |
2089 | + FDC ステータス(-1 でパラメータが異常) | |
2090 | + bit 31〜24 リザルトステータス 0(ST0) | |
2091 | + bit 23〜16 〃 1(ST1) | |
2092 | + bit 15〜 8 〃 2(ST2) | |
2093 | + bit 7〜 0 シリンダ番号(C) | |
2094 | + | |
2095 | + 2HD の診断の為のディスク読み出しをする. 通常の読み込みでは使わない. | |
2096 | + | |
2097 | +============================================================================== | |
2098 | + | |
2099 | +$43 _B_DSKINI ドライブの初期化 | |
2100 | + | |
2101 | +引数 d1.hb PDA | |
2102 | + d2.l モーターオフまでの時間(SASI-HD の時は意味がありません) | |
2103 | + a1.l SASI-HD : アサインドライブパラメータのデータアドレス | |
2104 | + 2HD-FD : SPECIFY コマンドのデータアドレス | |
2105 | + | |
2106 | +返値 SASI-HD : ステータス(負数で異常終了) | |
2107 | + 2HD-FD : FDC ステータス | |
2108 | + bit 31〜24 リザルトステータス 3(ST3) | |
2109 | + bit 23〜 0 不定 | |
2110 | + | |
2111 | + ドライブを初期化する. | |
2112 | + モーターオフまでの時間は 1/100 秒単位で、0 を指定すると標準値( 2 秒)になる. | |
2113 | + a1.l に 0 を指定すると、標準の設定が使用される. | |
2114 | + | |
2115 | +============================================================================== | |
2116 | + | |
2117 | +$44 _B_DRVSNS ドライブの状態検査 | |
2118 | + | |
2119 | +引数 d1.hb PDA | |
2120 | + | |
2121 | +返値 SASI-HD : ステータス(負数で異常終了) | |
2122 | + 2HD-FD : FDC ステータス | |
2123 | + bit 31〜24 リザルトステータス 3(ST3) | |
2124 | + bit 23〜 0 不定 | |
2125 | + | |
2126 | + ディスクの状態を調べる. | |
2127 | + | |
2128 | +============================================================================== | |
2129 | + | |
2130 | +$45 _B_WRITE ディスクへの書き込み | |
2131 | + | |
2132 | +引数 d1.hb PDA | |
2133 | + d1.b モード(SASI-HD の時は意味がありません) | |
2134 | + d2.l 目的書き込み位置 | |
2135 | + d3.l 書き込むバイト数 | |
2136 | + a1.l 書き込むデータのアドレス | |
2137 | + | |
2138 | +返値 d2/d3/a1 は内容が保証されない. | |
2139 | + SASI-HD : ステータス(負数で異常終了) | |
2140 | + 2HD-FD : FDC ステータス(-1 でパラメータが異常) | |
2141 | + bit 31〜24 リザルトステータス 0(ST0) | |
2142 | + bit 23〜16 〃 1(ST1) | |
2143 | + bit 15〜 8 〃 2(ST2) | |
2144 | + bit 7〜 0 シリンダ番号(C) | |
2145 | + | |
2146 | + ディスクにデータを書き込む. | |
2147 | + 注意:OS が行っているバッファリング処理とは無関係に動作するので、OS が | |
2148 | + バッファ中にデータを保持している場合、ディスク上のデータは内容が保証さ | |
2149 | + れない場合がある. | |
2150 | + | |
2151 | +============================================================================== | |
2152 | + | |
2153 | +$46 _B_READ ディスクからの読み込み | |
2154 | + | |
2155 | +引数 d1.hb PDA | |
2156 | + d1.b モード(SASI-HD の時は意味がありません) | |
2157 | + d2.l 目的読み込み位置 | |
2158 | + d3.l 読み込むバイト数 | |
2159 | + a1.l 読み込むバッファのアドレス | |
2160 | + | |
2161 | +返値 d2/d3/a1 は内容が保証されない. | |
2162 | + SASI-HD : ステータス(負数で異常終了) | |
2163 | + 2HD-FD : FDC ステータス(-1 でパラメータが異常) | |
2164 | + bit 31〜24 リザルトステータス 0(ST0) | |
2165 | + bit 23〜16 〃 1(ST1) | |
2166 | + bit 15〜 8 〃 2(ST2) | |
2167 | + bit 7〜 0 シリンダ番号(C) | |
2168 | + | |
2169 | + ディスクからデータを読み込む. | |
2170 | + 注意:OS が行っているバッファリング処理とは無関係に動作するので、OS が | |
2171 | + バッファ中にデータを保持している場合、ディスク上のデータは内容が保証さ | |
2172 | + れない場合がある. | |
2173 | + | |
2174 | +============================================================================== | |
2175 | + | |
2176 | +$47 _B_RECALI ディスクのリキャリブレイト | |
2177 | + | |
2178 | +引数 d1.hb PDA | |
2179 | + d1.b モード(SASI-HD の時は 0 にします) | |
2180 | + d1.b = 0 トラック 0 へのシーク | |
2181 | + -1 強制レディ状態での検査 | |
2182 | + | |
2183 | +返値 SASI-HD : ステータス(負数で異常終了) | |
2184 | + 2HD-FD : FDC ステータス | |
2185 | + bit 31〜24 リザルトステータス 0(ST0) | |
2186 | + bit 23〜16 シリンダ番号(C) | |
2187 | + | |
2188 | + トラック 0 へのシーク若しくは強制レディ状態での検査を行なう. | |
2189 | + 後者を実行後、ST0 の bit 4(EQUIPMENT CHECK) が 1 になっていた場合は | |
2190 | + 指定のドライブは存在しない. | |
2191 | + 2HD-FD の ドライブの有無はこの IOCS コールでしか検査出来ない. | |
2192 | + | |
2193 | +============================================================================== | |
2194 | + | |
2195 | +$48 _B_ASSIGN ハードディスクの代替トラック設定 | |
2196 | + | |
2197 | +引数 d1.hb PDA(2HD-FD:$90〜$93 は指定できません) | |
2198 | + d2.l レコード番号 | |
2199 | + d3.l インタリーブコード | |
2200 | + a1.l 代替トラック指定データのアドレス | |
2201 | + (0,a1) 代替トラック番号上位バイト | |
2202 | + (1,a1) 〃 中位〃 | |
2203 | + (2,a1) 〃 下位〃 | |
2204 | + (3,a1) 常に 0 | |
2205 | + | |
2206 | +返値 ステータス(負数で異常終了) | |
2207 | + | |
2208 | + ハードディスクの代替トラックを設定する. | |
2209 | + | |
2210 | +============================================================================== | |
2211 | + | |
2212 | +$49 _B_WRITED 2HD への破損データ書き込み | |
2213 | + | |
2214 | +引数 d1.hb PDA(SASI-HD:$80〜$8f は指定出来ません) | |
2215 | + d1.b モード | |
2216 | + d2.l 目的書き込み位置 | |
2217 | + d3.l 書き込むバイト数 | |
2218 | + a1.l 書き込むデータのアドレス | |
2219 | + | |
2220 | +返値 d2/d3/a1 は内容が保証されない. | |
2221 | + FDC ステータス(-1 でパラメータが異常) | |
2222 | + bit 31〜24 リザルトステータス 0(ST0) | |
2223 | + bit 23〜16 〃 1(ST1) | |
2224 | + bit 15〜 8 〃 2(ST2) | |
2225 | + bit 7〜 0 シリンダ番号(C) | |
2226 | + | |
2227 | + ディスクに破損データを書き込む. 通常の書き込みでは使わない. | |
2228 | + | |
2229 | +============================================================================== | |
2230 | + | |
2231 | +$4a _B_READID 2HD の ID 情報の読み出し | |
2232 | + | |
2233 | +引数 d1.hb PDA(SASI-HD:$80〜$8f は指定出来ません) | |
2234 | + d1.b モード | |
2235 | + d2.l 目的読み出し位置(トラックとサーフェスの指定のみ) | |
2236 | + bit 31 を 1 にすると検出IDを収得する. | |
2237 | + | |
2238 | +返値 d0.l FDC ステータス | |
2239 | + bit 31〜24 リザルトステータス 0(ST0) | |
2240 | + bit 23〜16 〃 1(ST1) | |
2241 | + bit 15〜 8 〃 2(ST2) | |
2242 | + bit 7〜 0 シリンダ番号(C) | |
2243 | + d2.l 読み出したID(d2.l の bit 31=1 の時のみ) | |
2244 | + | |
2245 | + 2HD-FD の ID 情報を読み出す. | |
2246 | + | |
2247 | +============================================================================== | |
2248 | + | |
2249 | +$4b _B_BADFMT ハードディスクの破損トラックを使用不能にする | |
2250 | + | |
2251 | +引数 d1.hb PDA(2HD-FD:$90〜$93 は指定できません) | |
2252 | + d2.l レコード番号 | |
2253 | + d3.b インタリーブコード(1 または 6) | |
2254 | + | |
2255 | +返値 ステータス(負数で異常終了) | |
2256 | + | |
2257 | + ハードディスクの破壊トラックを使用不能にする. | |
2258 | + | |
2259 | +============================================================================== | |
2260 | + | |
2261 | +$4c _B_READDL 2HD からの破損データ読み込み | |
2262 | + | |
2263 | +引数 d1.hb PDA(SASI-HD:$80〜$8f は指定出来ません) | |
2264 | + d1.b モード | |
2265 | + d2.l 目的読み込み位置 | |
2266 | + d3.l 読み込むバイト数 | |
2267 | + a1.l 読み込むバッファのアドレス | |
2268 | + | |
2269 | +返値 d2/d3/a1 は内容が保証されない. | |
2270 | + FDC ステータス(-1 でパラメータが異常) | |
2271 | + bit 31〜24 リザルトステータス 0(ST0) | |
2272 | + bit 23〜16 〃 1(ST1) | |
2273 | + bit 15〜 8 〃 2(ST2) | |
2274 | + bit 7〜 0 シリンダ番号(C) | |
2275 | + | |
2276 | + ディスクから破損データを読み込む. 通常の読み込みでは使わない. | |
2277 | + | |
2278 | +============================================================================== | |
2279 | + | |
2280 | +$4d _B_FORMAT ディスクのフォーマット | |
2281 | + | |
2282 | +引数 d1.hb PDA | |
2283 | + d1.b モード(SASI-HD の時は意味がありません) | |
2284 | + d2.l 目的フォーマット位置(SASI-HD の時はレコード番号) | |
2285 | + bit 31〜24 セクタ長 0:128 1:256 2:512 3:1024(バイト) | |
2286 | + bit 23〜16 トラック(0〜76) | |
2287 | + bit 15〜 8 サイド(0/1) | |
2288 | + bit 7〜 0 各セクタのデータ部に書き込む値 | |
2289 | + d3.l SASI-HD : インタリーブコード(1 または 6) | |
2290 | + 2HD-FD : ID データのバイト数 | |
2291 | + a1.l ID データのアドレス(SASI-HD の時は意味がありません) | |
2292 | + | |
2293 | +返値 SASI-HD : ステータス(負数で異常終了) | |
2294 | + 2HD-FD : FDC ステータス(-1 でパラメータが異常) | |
2295 | + bit 31〜24 リザルトステータス 0(ST0) | |
2296 | + bit 23〜16 〃 1(ST1) | |
2297 | + bit 15〜 8 〃 2(ST2) | |
2298 | + bit 7〜 0 シリンダ番号(C) | |
2299 | + | |
2300 | + ディスクの物理フォーマットを行なう. | |
2301 | + 2HD-FD のフォーマット時に使用する ID データの内容は、以下のテーブルを | |
2302 | + セクタ数だけ繰り返したもの. | |
2303 | + | |
2304 | +offset size | |
2305 | +0 1.b トラック番号 | |
2306 | +1 1.b サイド(0/1) | |
2307 | +2 1.b セクタ番号 | |
2308 | +3 1.b セクタ長(128x2?バイト) | |
2309 | + | |
2310 | + 通常トラック番号は 0〜76、セクタ番号は 1〜8、セクタ長は 0〜3 になる. | |
2311 | + | |
2312 | +============================================================================== | |
2313 | + | |
2314 | +$4e _B_DRVCHK 2HD ドライブの状態設定 | |
2315 | + | |
2316 | +引数 d1.hb PDA(SASI-HD:$80〜$8f は指定出来ません) | |
2317 | + d2.w 機能番号 | |
2318 | + d2.w = 0 状態検査 | |
2319 | + 1 排出(排出禁止状態では排出不可) | |
2320 | + 2 排出禁止 1 | |
2321 | + 3 〃 許可 1 | |
2322 | + 4 ディスクがセットされていない時 LED 点滅 | |
2323 | + 5 〃 消灯 | |
2324 | + 6 排出禁止 2(OS 用なのでユーザーは使用禁止) | |
2325 | + 7 〃 許可 2(〃) | |
2326 | + 8 排出検査 (〃) | |
2327 | + 9 状態検査 2 | |
2328 | + | |
2329 | +返値 d2.w = 0〜7,9 の時、ディスクの状態 | |
2330 | + bit 7 LED 点滅 | |
2331 | + bit 6 排出禁止 | |
2332 | + bit 5 排出禁止 2(OS バッファ有り) | |
2333 | + bit 4 〃 1(ユーザー指定) | |
2334 | + bit 3 書き込み禁止 | |
2335 | + bit 2 ノットレディ | |
2336 | + bit 1 メディア挿入 | |
2337 | + bit 0 メディア誤挿入 | |
2338 | + ノットレディとライトプロテクトは d2.w = 0 の場合のみ有効. | |
2339 | + また、この時メディア未挿入なら両方のビットが 1 になる. | |
2340 | + d2.w = 8 の時、前回の検査後に排出したか(1:していない -1:した) | |
2341 | + | |
2342 | + 2HD-FD の状態を参照/設定する. | |
2343 | + | |
2344 | +============================================================================== | |
2345 | + | |
2346 | +$4f _B_EJECT ディスクのイジェクト/シッピング | |
2347 | + | |
2348 | +引数 d1.hb PDA | |
2349 | + | |
2350 | +返値 終了コード(負数なら異常終了) | |
2351 | + 2HD-FD の時は意味がありません | |
2352 | + | |
2353 | + 2HD-FD を排出若しくは SASI-HD をシッピングする. | |
2354 | + 排出禁止状態でも排出できるが、OS のバッファリング処理とは無関係に動作 | |
2355 | + するので、OS がバッファ中にデータを保持している場合排出を行うとディス | |
2356 | + クの内容が保証されなくなるため、排出してはいけない. | |
2357 | + | |
2358 | +============================================================================== | |
2359 | + | |
2360 | +$50 _DATEBCD 日付データのバイナリ→BCD 変換 | |
2361 | + | |
2362 | +引数 d1.l 日付データ(バイナリ) | |
2363 | + $0y_yy_mm_dd | |
2364 | + bit 27〜16 年バイナリ(1980〜2079) | |
2365 | + bit 15〜 8 月〃 (1〜12) | |
2366 | + bit 7〜 0 日〃 (1〜31) | |
2367 | + | |
2368 | +返値 変換後の日付データ(BCD) | |
2369 | + $uw_yy_mm_dd | |
2370 | + bit 31〜28 閏年カウンタ(0:今年が閏年 1:3年後 2:2年後 3:1年後) | |
2371 | + bit 27〜24 曜日カウンタ(0:日曜日 1:月曜日 … 6:土曜日) | |
2372 | + bit 23〜16 年 BCD 2 桁($00〜$99) | |
2373 | + bit 15〜 8 月 〃 ($01〜$12) | |
2374 | + bit 7〜 0 日 〃 ($01〜$31) | |
2375 | + ただし、日付が異常な場合は -1 が返る. | |
2376 | + | |
2377 | + 日付をバイナリから BCD に変換する. | |
2378 | + 閏年カウンタは、年カウンタとともに加算される. | |
2379 | + | |
2380 | +============================================================================== | |
2381 | + | |
2382 | +$51 _DATESET 日付の設定 | |
2383 | + | |
2384 | +引数 日付データ(BCD) | |
2385 | + | |
2386 | +返値 常に 0 | |
2387 | + | |
2388 | + 時計に日付を設定する. ただし、正しい日付の指定であるかは検査されない. | |
2389 | + X680x0 のクロック IC(RTC) は BCD 形式のデータを設定しなければならない | |
2390 | + ので、IOCS DATEBCD($50) でバイナリの日付を BCD に変換した後にこのコー | |
2391 | + ルで設定する. | |
2392 | + | |
2393 | +============================================================================== | |
2394 | + | |
2395 | +$52 _TIMEBCD 時刻データのバイナリ→BCD 変換 | |
2396 | + | |
2397 | +引数 d1.l 時刻データ(バイナリ) | |
2398 | + $00_hh_mm_ss | |
2399 | + bit 23〜16 時バイナリ(0〜23) | |
2400 | + bit 15〜 8 分〃 (0〜59) | |
2401 | + bit 7〜 0 秒〃 (0〜59) | |
2402 | + | |
2403 | +返値 時刻データ(BCD) | |
2404 | + $0t_hh_mm_ss | |
2405 | + bit 27〜24 1(システム規定:24時間計であることを表す) | |
2406 | + bit 23〜16 時 BCD 2 桁(0〜23) | |
2407 | + bit 15〜 8 分 〃 (0〜59) | |
2408 | + bit 7〜 0 秒 〃 (0〜59) | |
2409 | + ただし、時刻が異常な場合は -1 が返る. | |
2410 | + | |
2411 | + 時刻をバイナリから BCD に変換する. | |
2412 | + | |
2413 | +============================================================================== | |
2414 | + | |
2415 | +$53 _TIMESET 時刻の設定 | |
2416 | + | |
2417 | +引数 時刻データ(BCD) | |
2418 | + | |
2419 | +返値 常に 0 | |
2420 | + | |
2421 | + 時計に時刻を設定する. ただし、正しい時刻の指定であるかは検査されない. | |
2422 | + | |
2423 | +============================================================================== | |
2424 | + | |
2425 | +$54 _DATEGET 日付の読み込み | |
2426 | + | |
2427 | +返値 日付データ(BCD) | |
2428 | + $0w_yy_mm_dd | |
2429 | + bit 27〜24 曜日カウンタ | |
2430 | + bit 23〜16 年 BCD 2 桁($00〜$99) | |
2431 | + bit 15〜 8 月 〃 ($01〜$12) | |
2432 | + bit 7〜 0 日 〃 ($01〜$31) | |
2433 | + | |
2434 | + 時計から日付を読み込む. | |
2435 | + | |
2436 | +============================================================================== | |
2437 | + | |
2438 | +$55 _DATEBIN 日付データの BCD→バイナリ変換 | |
2439 | + | |
2440 | +引数 日付データ(BCD) | |
2441 | + $0w_yy_mm_dd | |
2442 | + bit 27〜24 曜日カウンタ | |
2443 | + bit 23〜16 年 BCD 2 桁($00〜$99) | |
2444 | + bit 15〜 8 月 〃 ($01〜$12) | |
2445 | + bit 7〜 0 日 〃 ($01〜$31) | |
2446 | + | |
2447 | +返値 変換後の日付データ(バイナリ) | |
2448 | + $wy_yy_mm_dd | |
2449 | + bit 31〜28 曜日カウンタ | |
2450 | + bit 27〜16 年バイナリ(1980〜2079) | |
2451 | + bit 15〜 8 月〃 (1〜12) | |
2452 | + bit 7〜 0 日〃 (1〜31) | |
2453 | + | |
2454 | + 日付データを BCD からバイナリに変換する. | |
2455 | + | |
2456 | +============================================================================== | |
2457 | + | |
2458 | +$56 _TIMEGET 時刻の読み込み | |
2459 | + | |
2460 | +返値 時刻データ(BCD) | |
2461 | + | |
2462 | + 時計から時刻を読み込む. | |
2463 | + | |
2464 | +============================================================================== | |
2465 | + | |
2466 | +$57 _TIMEBIN 時刻データの BCD→バイナリ変換 | |
2467 | + | |
2468 | +引数 時刻データ(BCD) | |
2469 | + | |
2470 | +返値 変換後の時刻データ(バイナリ) | |
2471 | + | |
2472 | + 時刻データを BCD からバイナリに変換する. | |
2473 | + | |
2474 | +============================================================================== | |
2475 | + | |
2476 | +$58 _DATECNV 日付データの文字列→バイナリ変換 | |
2477 | + | |
2478 | +引数 a1.l 日付を表す文字列のアドレス(区切りは '/' と '-' のどちらでもよい) | |
2479 | + 形式は 'yyyy/mm/dd',0 または 'yy-mm-dd',0 | |
2480 | + | |
2481 | +返値 d0.l 変換後の日付データ(バイナリ) | |
2482 | + ただし、日付を表す文字列が異常な場合は d0.l = -1 が返る. | |
2483 | + a1.l 文字列末尾(変換に失敗した場合、内容は保証されない) | |
2484 | + | |
2485 | + 日付データを文字列からバイナリに変換する. ただし、正しい日付の指定であ | |
2486 | + るかは検査されない. 年が 80〜99、0〜79 である時は下二桁の指定と見なし | |
2487 | + てそれぞれ 1900、2000 を足した値を返す. | |
2488 | + 数値の先頭にある空白と '0' は読み飛ばされる. 区切りは実際にはどの記号 | |
2489 | + を使用しても正常に動作する. | |
2490 | + | |
2491 | +============================================================================== | |
2492 | + | |
2493 | +$59 _TIMECNV 時刻データの文字列→バイナリ変換 | |
2494 | + | |
2495 | +引数 a1.l 時刻を表す文字列のアドレス(区切りは ':' のみ) | |
2496 | + 形式は 'hh:mm:ss',0 | |
2497 | + | |
2498 | +返値 d0.l 変換後のデータ(バイナリ) | |
2499 | + ただし、時刻を表す文字列が異常な場合は d0.l = -1 が返る. | |
2500 | + a1.l 文字列末尾(変換に失敗した場合、内容は保証されない) | |
2501 | + | |
2502 | + 時刻データを文字列からバイナリに変換する. | |
2503 | + 数値の先頭にある空白と '0' は読み飛ばされる. 区切りは実際にはどの記号 | |
2504 | + を使用しても正常に動作する. | |
2505 | + | |
2506 | +============================================================================== | |
2507 | + | |
2508 | +$5a _DATEASC 日付データのバイナリ→文字列変換 | |
2509 | + | |
2510 | +引数 d1.l 日付データ(バイナリ) | |
2511 | + $fy_yy_mm_dd | |
2512 | + bit 31〜28 文字列形式 | |
2513 | + 0 'yyyy/mm/dd',0 | |
2514 | + 1 'yyyy-mm-dd',0 | |
2515 | + 2 'yy/mm/dd',0 | |
2516 | + 3 'yy-mm-dd',0 | |
2517 | + bit 27〜16 年バイナリ(1980〜2079) | |
2518 | + bit 15〜 8 月〃 (1〜12) | |
2519 | + bit 7〜 0 日〃 (1〜31) | |
2520 | + a1.l 文字列バッファのアドレス | |
2521 | + | |
2522 | +返値 d0.l = 0 正常終了 | |
2523 | + -1 エラー | |
2524 | + a1.l 文字列終端の 0 のアドレス | |
2525 | + | |
2526 | + 日付データをバイナリから文字列に変換する. | |
2527 | + 文字列バッファは 9 または 11 バイト以上必要. | |
2528 | + | |
2529 | +============================================================================== | |
2530 | + | |
2531 | +$5b _TIMEASC 時刻データのバイナリ→文字列変換 | |
2532 | + | |
2533 | +引数 d1.l 時刻データ(バイナリ) | |
2534 | + $00_hh_mm_ss | |
2535 | + bit 23〜16 時バイナリ(0〜23) | |
2536 | + bit 15〜 8 分〃 (0〜59) | |
2537 | + bit 7〜 0 秒〃 (0〜59) | |
2538 | + a1.l 文字列バッファのアドレス(形式は 'hh:mm:ss',0) | |
2539 | + | |
2540 | +返値 d0.l = 0 正常終了 | |
2541 | + -1 エラー | |
2542 | + a1.l 文字列終端の 0 のアドレス | |
2543 | + | |
2544 | + 時刻データをバイナリから文字列に変換する. | |
2545 | + 文字列バッファは 9 バイト以上必要. | |
2546 | + | |
2547 | +============================================================================== | |
2548 | + | |
2549 | +$5c _DAYASC 曜日データのバイナリ→文字列変換 | |
2550 | + | |
2551 | +引数 d1.l 曜日データ(0:日曜日 1:月曜日 … 6:土曜日) | |
2552 | + a1.l 文字列バッファのアドレス(形式は '?',0) | |
2553 | + | |
2554 | +返値 d0.l 常に 0 | |
2555 | + a1.l 文字列終端の 0 のアドレス | |
2556 | + | |
2557 | + 曜日データをバイナリから文字列に変換する. | |
2558 | + 文字列バッファは 3 バイト以上必要. | |
2559 | + | |
2560 | +============================================================================== | |
2561 | + | |
2562 | +$5d _ALARMMOD アラーム許可/禁止 | |
2563 | + | |
2564 | +引数 d1.l アラームの設定 | |
2565 | + d1.l = 0 禁止 | |
2566 | + 1 許可 | |
2567 | + 2 現在の状態を調べる | |
2568 | + | |
2569 | +返値 現在の状態(0/1) | |
2570 | + | |
2571 | + アラームの禁止/許可を設定する. 設定は SRAM に記録される. | |
2572 | + | |
2573 | +============================================================================== | |
2574 | + | |
2575 | +$5e _ALARMSET アラーム設定 | |
2576 | + | |
2577 | +引数 d1.l アラーム時間 | |
2578 | + $0wddhhmm | |
2579 | + bit 27〜24 曜日(0:日曜日 1:月曜日 … 6:土曜日 $f:無指定) | |
2580 | + bit 23〜16 日 BCD 2 桁($01〜$31,$ff:無指定) | |
2581 | + bit 15〜 8 時 〃 ($00〜$23, 〃 ) | |
2582 | + bit 7〜 0 分 〃 ($00〜$59, 〃 ) | |
2583 | + d2.l 電源オフまでの時間(分) | |
2584 | + a1.l テレビコントロールコード若しくは処理アドレス | |
2585 | + a1.l = -1 ディスプレイ制御しない | |
2586 | + 0 ディスプレイ電源オン/コンピュータモード | |
2587 | + 1〜$3f 指定の数値でテレビコントロール | |
2588 | + その他 処理アドレス(偶数アドレスかつ先頭が $60:bra であること) | |
2589 | + | |
2590 | +返値 常に 0 | |
2591 | + | |
2592 | + アラーム時間と処理内容を設定し、アラームを許可する. 設定は SRAM に記録 | |
2593 | + される. | |
2594 | + 曜日を $f、日/時/分を $ff にすると、それぞれが無指定になる. ただし、全 | |
2595 | + てを無指定にしないこと. | |
2596 | + 電源オフまでの時間に 0 を指定すると、電源オフしない. | |
2597 | + | |
2598 | +============================================================================== | |
2599 | + | |
2600 | +$5f _ALARMGET アラームの設定状態を収得 | |
2601 | + | |
2602 | +返値 d0.l 処理アドレス | |
2603 | + d1.l アラーム時間 | |
2604 | + d2.l 電源オフまでの時間(分) | |
2605 | + | |
2606 | + アラーム時間と処理内容を調べる. | |
2607 | + | |
2608 | +============================================================================== | |
2609 | + | |
2610 | +$60 _ADPCMOUT ADPCM 出力 | |
2611 | + | |
2612 | +引数 d1.w ウェイトモード/周波数/出力モード | |
2613 | + bit 15 ウェイトモード(0:通常 1:ノーウェイト) | |
2614 | + bit 10〜 8 サンプリング周波数 | |
2615 | + (0:3.9kHz 1:5.2kHz 2:7.8kHz 3:10.4kHz 4:15.6kHz) | |
2616 | + bit 1〜 0 出力モード(0:なし 1:左 2:右 3:左右) | |
2617 | + d2.l 再生データのバイト数 | |
2618 | + a1.l 〃 アドレス | |
2619 | + | |
2620 | +返値 d0/d2/a1 は内容が保証されない. | |
2621 | + | |
2622 | + ADPCM を再生する. データが $ff00 バイト以下の場合はすぐに戻る. | |
2623 | + DMA が使用不可能であれば、使用可能になるまで待つ. | |
2624 | + | |
2625 | +============================================================================== | |
2626 | + | |
2627 | +$61 _ADPCMINP ADPCM 入力 | |
2628 | + | |
2629 | +引数 d1.w ウェイトモード/周波数/出力モード | |
2630 | + bit 15 ウェイトモード(0:通常 1:ノーウェイト) | |
2631 | + bit 10〜 8 サンプリング周波数 | |
2632 | + (0:3.9kHz 1:5.2kHz 2:7.8kHz 3:10.4kHz 4:15.6kHz) | |
2633 | + bit 1〜 0 出力モード(0:なし 1:左 2:右 3:左右) | |
2634 | + d2.l 録音バッファのバイト数 | |
2635 | + a1.l 〃 アドレス | |
2636 | + | |
2637 | +返値 d0/d2/a1 は内容が保証されない. | |
2638 | + | |
2639 | + ADPCM を録音する. データが $ff00 バイト以下の場合はすぐに戻る. | |
2640 | + DMA が使用不可能であれば、使用可能になるまで待つ. | |
2641 | + データ自体はモノラルで入力するが、モニタ出力を出力モードで指定出来る. | |
2642 | + | |
2643 | +============================================================================== | |
2644 | + | |
2645 | +$62 _ADPCMAOT ADPCM 出力(アレイチェーン) | |
2646 | + | |
2647 | +引数 d1.w ウェイトモード/周波数/出力モード | |
2648 | + bit 15 ウェイトモード(0:通常 1:ノーウェイト) | |
2649 | + bit 10〜 8 サンプリング周波数 | |
2650 | + (0:3.9kHz 1:5.2kHz 2:7.8kHz 3:10.4kHz 4:15.6kHz) | |
2651 | + bit 1〜 0 出力モード(0:なし 1:左 2:右 3:左右) | |
2652 | + d2.l チェーンテーブルの個数 | |
2653 | + a1.l 〃 アドレス | |
2654 | + | |
2655 | + アレイチェーンによって ADPCM を再生する. | |
2656 | + DMA が使用不可能であれば、使用可能になるまで待つ. | |
2657 | + アレイチェーンテーブルの内容は、以下のチェーンテーブルを繰り返したもの. | |
2658 | + | |
2659 | +offset size | |
2660 | +0 1.l 再生データのアドレス | |
2661 | +4 1.w 〃 バイト数(1〜$ffff) | |
2662 | + | |
2663 | +============================================================================== | |
2664 | + | |
2665 | +$63 _ADPCMAIN ADPCM 入力(アレイチェーン) | |
2666 | + | |
2667 | +引数 d1.w ウェイトモード/周波数/出力モード | |
2668 | + bit 15 ウェイトモード(0:通常 1:ノーウェイト) | |
2669 | + bit 10〜 8 サンプリング周波数 | |
2670 | + (0:3.9kHz 1:5.2kHz 2:7.8kHz 3:10.4kHz 4:15.6kHz) | |
2671 | + bit 1〜 0 出力モード(0:なし 1:左 2:右 3:左右) | |
2672 | + d2.l チェーンテーブルの個数 | |
2673 | + a1.l 〃 アドレス | |
2674 | + | |
2675 | + アレイチェーンによって ADPCM を録音する. | |
2676 | + DMA が使用不可能であれば、使用可能になるまで待つ. | |
2677 | + アレイチェーンテーブルの内容は、以下のチェーンテーブルを繰り返したもの. | |
2678 | + | |
2679 | +offset size | |
2680 | +0 1.l 録音バッファのアドレス | |
2681 | +4 1.w 〃 バイト数(1〜$ffff) | |
2682 | + | |
2683 | +============================================================================== | |
2684 | + | |
2685 | +$64 _ADPCMLOT ADPCM 出力(リンクアレイチェーン) | |
2686 | + | |
2687 | +引数 d1.w ウェイトモード/周波数/出力モード | |
2688 | + bit 15 ウェイトモード(0:通常 1:ノーウェイト) | |
2689 | + bit 10〜 8 サンプリング周波数 | |
2690 | + (0:3.9kHz 1:5.2kHz 2:7.8kHz 3:10.4kHz 4:15.6kHz) | |
2691 | + bit 1〜 0 出力モード(0:なし 1:左 2:右 3:左右) | |
2692 | + a1.l チェーンテーブルのアドレス | |
2693 | + | |
2694 | + リンクアレイチェーンによって ADPCM を再生する. | |
2695 | + DMA が使用不可能であれば、使用可能になるまで待つ. | |
2696 | + リンクアレイチェーンテーブルの内容は、以下のチェーンテーブルを連結したもの. | |
2697 | + | |
2698 | +offset size | |
2699 | +0 1.l 再生データのアドレス | |
2700 | +4 1.w 〃 バイト数(1〜$ffff) | |
2701 | +6 1.l 次のテーブルのアドレス(0 でテーブルの終わり) | |
2702 | + | |
2703 | +============================================================================== | |
2704 | + | |
2705 | +$65 _ADPCMLIN ADPCM 入力(リンクアレイチェーン) | |
2706 | + | |
2707 | +引数 d1.w ウェイトモード/周波数/出力モード | |
2708 | + bit 15 ウェイトモード(0:通常 1:ノーウェイト) | |
2709 | + bit 10〜 8 サンプリング周波数 | |
2710 | + (0:3.9kHz 1:5.2kHz 2:7.8kHz 3:10.4kHz 4:15.6kHz) | |
2711 | + bit 1〜 0 出力モード(0:なし 1:左 2:右 3:左右) | |
2712 | + a1.l チェーンテーブルのアドレス | |
2713 | + | |
2714 | + リンクアレイチェーンによって ADPCM を録音する. | |
2715 | + DMA が使用不可能であれば、使用可能になるまで待つ. | |
2716 | + リンクアレイチェーンテーブルの内容は、以下のチェーンテーブルを連結したもの. | |
2717 | + | |
2718 | +offset size | |
2719 | +0 1.l 録音バッファのアドレス | |
2720 | +4 1.w 〃 バイト数(1〜$ffff) | |
2721 | +6 1.l 次のテーブルのアドレス(0 でテーブルの終わり) | |
2722 | + | |
2723 | +============================================================================== | |
2724 | + | |
2725 | +$66 _ADPCMSNS ADPCM 状態検査 | |
2726 | + | |
2727 | +返値 実行状態 | |
2728 | + d0.l = $00 何も実行していない | |
2729 | + $02 IOCS ADPCMOUT($60) を実行中 | |
2730 | + $04 IOCS ADPCMINP($61) 〃 | |
2731 | + $12 IOCS ADPCMAOT($62) 〃 | |
2732 | + $14 IOCS ADPCMAIN($63) 〃 | |
2733 | + $22 IOCS ADPCMLOT($64) 〃 | |
2734 | + $24 IOCS ADPCMLIN($65) 〃 | |
2735 | + | |
2736 | + ADPCM の実行状態を調べる. | |
2737 | + | |
2738 | +============================================================================== | |
2739 | + | |
2740 | +$67 _ADPCMMOD ADPCM 実行制御 | |
2741 | + | |
2742 | +引数 d1.l 制御内容(0:終了 1:中断 2:再開) | |
2743 | + | |
2744 | +返値 d0.l = 0 正常終了 | |
2745 | + -1 制御モードが不正 | |
2746 | + | |
2747 | + ADPCM の実行を制御する. | |
2748 | + ROM IOCS では、ショートカットで呼び出すと割り込み禁止状態になったまま | |
2749 | + で帰るので注意すること. | |
2750 | + | |
2751 | +============================================================================== | |
2752 | + | |
2753 | +$68 _OPMSET OPM レジスタ設定 | |
2754 | + | |
2755 | +引数 d1.b レジスタ番号 | |
2756 | + d2.b データ | |
2757 | + | |
2758 | +返値 d2.b は破壊される. | |
2759 | + | |
2760 | + OPM に書き込める状態になるまで待ってから、レジスタにデータを書き込む. | |
2761 | + レジスタ $1b に書き込む場合、汎用出力のモードは変更できない. | |
2762 | + | |
2763 | +============================================================================== | |
2764 | + | |
2765 | +$69 _OPMSNS OPM 状態検査 | |
2766 | + | |
2767 | +返値 d0.b ステータス | |
2768 | + bit 7 Busy フラグ(0 で書き込み可能) | |
2769 | + bit 1 タイマ A オーバーフロー(1 の時オーバーフローが発生) | |
2770 | + bit 0 〃 B 〃 | |
2771 | + | |
2772 | + OPM のステータスを読み込む. | |
2773 | + | |
2774 | +============================================================================== | |
2775 | + | |
2776 | +$6a _OPMINTST OPM 割り込み設定 | |
2777 | + | |
2778 | +引数 a1.l 処理アドレス(0 で割り込み禁止) | |
2779 | + | |
2780 | +返値 d0.l = 0 割り込みを設定/禁止した | |
2781 | + その他 すでに使用中 | |
2782 | + | |
2783 | + OPM による割り込みを設定する. MFP のみ制御するので、OPM に対しても設定 | |
2784 | + する必要がある. | |
2785 | + ROM IOCS version 1.3 では、ショートカットで呼び出すと割り込みが全て禁 | |
2786 | + 止された状態で帰るので注意すること. | |
2787 | + 割り込みの処理アドレスが $01000000 以上(最上位バイトが 0 以外)で割り込 | |
2788 | + みが未使用と見なされるが、ROM IOCS version 1.3 で vbr が有効になってい | |
2789 | + る場合は処理アドレスが $00ff0770 の時のみ未使用と見なされる. | |
2790 | + | |
2791 | +============================================================================== | |
2792 | + | |
2793 | +$6b _TIMERDST Timer-D 割り込み設定 | |
2794 | + | |
2795 | +引数 d1.hb 単位時間(1:1.0 2:2.5 3:4.0 4:12.5 5:16.0 6:25.0 7:50.0 μ秒単位) | |
2796 | + d1.b カウンタ(0 の時は 256 として扱う) | |
2797 | + a1.l 処理アドレス(0 で割り込み禁止) | |
2798 | + | |
2799 | +返値 d0.l = 0 割り込みを設定/禁止した | |
2800 | + その他 すでに使用中 | |
2801 | + | |
2802 | + Timer-D による割り込みを設定する. 割り込み周期は単位時間×カウンタ. | |
2803 | + CONFIG.SYS で PROCESS を設定している場合は、割り込みを変更出来ない. | |
2804 | + ROM IOCS version 1.3 では、ショートカットで呼び出すと割り込みが全て禁 | |
2805 | + 止された状態で帰るので注意すること. | |
2806 | + 割り込みを未使用と見なす条件は _OPMINTST と同じ. | |
2807 | + | |
2808 | +============================================================================== | |
2809 | + | |
2810 | +$6c _VDISPST 垂直同期割り込み設定 | |
2811 | + | |
2812 | +引数 d1.hb 割り込み期間(0:垂直帰線期間 1:垂直表示期間) | |
2813 | + d1.b カウンタ(0 の時は 256 として扱う) | |
2814 | + a1.l 処理アドレス(0 で割り込み禁止) | |
2815 | + | |
2816 | +返値 d0.l = 0 割り込みを設定/禁止した | |
2817 | + その他 すでに使用中 | |
2818 | + | |
2819 | + 垂直同期による割り込みを設定する. | |
2820 | + ROM IOCS version 1.3 では、ショートカットで呼び出すと割り込みが全て禁 | |
2821 | + 止された状態で帰るので注意すること. | |
2822 | + 割り込みを未使用と見なす条件は _OPMINTST と同じ. | |
2823 | + | |
2824 | + 実際には Timer-A に割り込みを設定している. 垂直表示回数は 31kHz で秒間 | |
2825 | + 約 55.4 回、24kHz で約 53.0 回、15kHz で約 61.3 回(実測値). | |
2826 | + 電源投入後か以前に大きいカウンタ値で設定していた時は、最初の割り込みが | |
2827 | + 発生するタイミングが遅くなる. | |
2828 | + | |
2829 | +============================================================================== | |
2830 | + | |
2831 | +$6d _CRTCRAS ラスター割り込み設定 | |
2832 | + | |
2833 | +引数 d1.w ラスタ番号 | |
2834 | + a1.l 処理アドレス(0 で割り込み禁止) | |
2835 | + | |
2836 | +返値 d0.l = 0 割り込みを設定した | |
2837 | + その他 すでに使用中 | |
2838 | + | |
2839 | + ラスタ走査による割り込みを設定する. | |
2840 | + CRTC が指定のラスタを走査開始すると割り込みが発生する. | |
2841 | + ROM IOCS version 1.3 では、ショートカットで呼び出すと割り込みが全て禁 | |
2842 | + 止された状態で帰るので注意すること. | |
2843 | + 割り込みを未使用と見なす条件は _OPMINTST と同じ. | |
2844 | + | |
2845 | +============================================================================== | |
2846 | + | |
2847 | +$6e _HSYNCST 水平同期割り込み設定 | |
2848 | + | |
2849 | +引数 a1.l 処理アドレス(0 で割り込み禁止) | |
2850 | + | |
2851 | +返値 d0.l = 0 割り込みを設定した | |
2852 | + その他 すでに使用中 | |
2853 | + | |
2854 | + 水平同期による割り込みを設定する. | |
2855 | + 水平同期信号の立ち下がり時に割り込みが発生する. | |
2856 | + ROM IOCS version 1.3 では、ショートカットで呼び出すと割り込みが全て禁 | |
2857 | + 止された状態で帰るので注意すること. | |
2858 | + 割り込みを未使用と見なす条件は _OPMINTST と同じ. | |
2859 | + | |
2860 | +============================================================================== | |
2861 | + | |
2862 | +$6f _PRNINTST プリンタ割り込み設定 | |
2863 | + | |
2864 | +引数 a1.l 処理アドレス(0 で割り込み禁止) | |
2865 | + | |
2866 | +返値 d0.l = 0 割り込みを設定した | |
2867 | + その他 すでに使用中 | |
2868 | + | |
2869 | + プリンタによる割り込みを設定する. | |
2870 | + プリンタがデータを受け取ることが可能になった時に割り込みが発生する. | |
2871 | + ROM IOCS version 1.3 では、ショートカットで呼び出すと割り込みが全て禁 | |
2872 | + 止された状態で帰るので注意すること. | |
2873 | + 割り込みを未使用と見なす条件は _OPMINTST と同じ. | |
2874 | + | |
2875 | +============================================================================== | |
2876 | + | |
2877 | +$70 _MS_INIT マウス初期化 | |
2878 | + | |
2879 | + マウスを初期化する. | |
2880 | + | |
2881 | +============================================================================== | |
2882 | + | |
2883 | +$71 _MS_CURON マウスカーソル表示 | |
2884 | + | |
2885 | + マウスカーソルを表示する. | |
2886 | + | |
2887 | +============================================================================== | |
2888 | + | |
2889 | +$72 _MS_CUROF マウスカーソル消去 | |
2890 | + | |
2891 | + マウスカーソルを消去する. | |
2892 | + | |
2893 | +============================================================================== | |
2894 | + | |
2895 | +$73 _MS_STAT マウスカーソルの表示状態を調べる | |
2896 | + | |
2897 | +返値 d0.w = 0 マウスカーソルは表示されていない | |
2898 | + -1 〃 表示されている | |
2899 | + | |
2900 | + マウスカーソルの表示状態を調べる. | |
2901 | + | |
2902 | +============================================================================== | |
2903 | + | |
2904 | +$74 _MS_GETDT マウス移動量/ボタン状態を調べる | |
2905 | + | |
2906 | +返値 マウスの移動量及びボタンの状態 | |
2907 | + bit 31〜24 X 方向移動量 | |
2908 | + bit 23〜16 Y 〃 | |
2909 | + bit 15〜 8 左ボタン(0:OFF -1:ON) | |
2910 | + bit 7〜 0 右〃 (〃 ) | |
2911 | + | |
2912 | + マウスの移動量及びボタンの状態を調べる. | |
2913 | + | |
2914 | +============================================================================== | |
2915 | + | |
2916 | +$75 _MS_CURGT マウスカーソルの座標収得 | |
2917 | + | |
2918 | +返値 マウスカーソルの座標 | |
2919 | + d0.hw X 座標 | |
2920 | + d0.w Y 〃 | |
2921 | + | |
2922 | + マウスカーソルの座標を調べる. | |
2923 | + | |
2924 | +============================================================================== | |
2925 | + | |
2926 | +$76 _MS_CURST マウスカーソルの座標設定 | |
2927 | + | |
2928 | +引数 マウスカーソルの座標 | |
2929 | + d1.hw X 座標 | |
2930 | + d1.w Y 〃 | |
2931 | + | |
2932 | +返値 d0.l = 0 座標が指定出来た | |
2933 | + -1 座標が異常 | |
2934 | + | |
2935 | + マウスカーソルの座標を設定する. | |
2936 | + | |
2937 | +============================================================================== | |
2938 | + | |
2939 | +$77 _MS_LIMIT マウスカーソルの移動範囲設定 | |
2940 | + | |
2941 | +引数 マウスカーソルの座標 | |
2942 | + d1.hw 左端 X 座標 | |
2943 | + d1.w 上端 Y 〃 | |
2944 | + d2.hw 右端 X 座標 | |
2945 | + d2.w 下端 Y 〃 | |
2946 | + | |
2947 | +返値 d0.l = 0 座標が指定出来た | |
2948 | + -1 座標が異常 | |
2949 | + | |
2950 | + マウスカーソルの移動範囲を設定する. | |
2951 | + | |
2952 | +============================================================================== | |
2953 | + | |
2954 | +$78 _MS_OFFTM マウスのボタンを離すまでの時間を調べる | |
2955 | + | |
2956 | +引数 d1.w ボタンの指定(0:左ボタン -1:右ボタン) | |
2957 | + d2.w 待ち時間(0 の時は離すまで待つ) | |
2958 | + | |
2959 | +返値 d0.w = 0 ドラッグ | |
2960 | + -1 待ち時間の最大値を超えた | |
2961 | + その他 待ち時間 | |
2962 | + | |
2963 | + マウスのボタンを離すまでの時間を調べる. | |
2964 | + | |
2965 | +============================================================================== | |
2966 | + | |
2967 | +$79 _MS_ONTM マウスのボタンを押すまでの時間を調べる | |
2968 | + | |
2969 | +引数 d1.w ボタンの指定(0:左ボタン -1:右ボタン) | |
2970 | + d2.w 待ち時間(0 の時は押すまで待つ) | |
2971 | + | |
2972 | +返値 d0.w = 0 ドラッグ | |
2973 | + -1 待ち時間の最大値を超えた | |
2974 | + その他 待ち時間 | |
2975 | + | |
2976 | + マウスのボタンを押すまでの時間を調べる. | |
2977 | + | |
2978 | +============================================================================== | |
2979 | + | |
2980 | +$7a _MS_PATST マウスカーソルのパターン定義 | |
2981 | + | |
2982 | +引数 d1.w カーソル番号(0〜15) | |
2983 | + a1.l パターンデータのアドレス | |
2984 | + | |
2985 | + マウスカーソルのパターンを定義する. | |
2986 | + ROM IOCS version 1.1 では正常に動作しないので注意すること. | |
2987 | + マウスカーソルの大きさは 16 x 16 ドットで、1 ドットが 1 ビットに対応する. | |
2988 | + パターンデータの内容は以下の通り(カラーコード 8〜15 は 4〜7 より優先される). | |
2989 | + | |
2990 | +offset size | |
2991 | +0 1.w パターンの左端 X 座標からマウス X 座標までの距離 | |
2992 | +2 1.w 〃 上端 Y 〃 Y 〃 | |
2993 | +4 16.w マスクパターン(陰にするデータ) | |
2994 | +36 16.w マウスパターン(表示するデータ) | |
2995 | + | |
2996 | + パターンの左端/上端からマウス座標までの距離は、0(パターンの左隅/上隅を | |
2997 | + マウス座標にする)〜15(パターンの右隅/下隅をマウス座標にする)で指定する. | |
2998 | + マスクパターンが 0 のドットはカラーコード 4〜7 で表示され、1 のドット | |
2999 | + は無視される. | |
3000 | + マウスパターンが 1 のドットはカラーコード 8〜15 で表示され、0 のドット | |
3001 | + は無視される. ただし、マスクパターンが 0 でマウスパターンが 1 の場合は | |
3002 | + カラーコード 8〜15 が優先して表示される. | |
3003 | + | |
3004 | +============================================================================== | |
3005 | + | |
3006 | +$7b _MS_SEL マウスカーソルのパターン選択 | |
3007 | + | |
3008 | +引数 d1.w カーソル番号(0〜15) | |
3009 | + | |
3010 | + マウスカーソルのパターンを選択する. | |
3011 | + | |
3012 | +============================================================================== | |
3013 | + | |
3014 | +$7c _MS_SEL2 マウスカーソルのアニメーション | |
3015 | + | |
3016 | +引数 a1.l カーソル番号テーブルのアドレス | |
3017 | + | |
3018 | + マウスパターンを複数個用いて、アニメーションで表示する. | |
3019 | + カーソル番号テーブルはカーソル番号をワードサイズで 6 個以下並べ、最後は | |
3020 | + -1 にする. | |
3021 | + | |
3022 | +============================================================================== | |
3023 | + | |
3024 | +$7d _SKEY_MOD ソフトキーボード制御 | |
3025 | + | |
3026 | +引数 d1.l 制御コード | |
3027 | + d1.l = 0 ソフトキーボード消去 | |
3028 | + 1 〃 表示 | |
3029 | + 2 〃 表示状態の検査 | |
3030 | + -1 〃 自動制御 | |
3031 | + d2.l 表示座標(d1.l = 1 の時) | |
3032 | + d2.hw X 座標 | |
3033 | + d2.w Y 〃 | |
3034 | + | |
3035 | +返値 表示状態(0:消去 1:表示) | |
3036 | + | |
3037 | + ソフトキーボードを制御する. | |
3038 | + 自動制御を指定すると、マウスの右ボタンを押すことにより状態が | |
3039 | + 非表示→マウス表示→キーボード/マウス表示→マウス表示→非表示 | |
3040 | + と変化する. | |
3041 | + | |
3042 | +============================================================================== | |
3043 | + | |
3044 | +$7e _DENSNS 電卓制御 | |
3045 | + | |
3046 | + 電卓による入力を調べる. 結果はキー入力として返る. | |
3047 | + | |
3048 | +============================================================================== | |
3049 | + | |
3050 | +$7f _ONTIME 起動後の経過時間を調べる | |
3051 | + | |
3052 | +返値 d0.l 経過時間の時分秒(0〜23:59:59"99=8639999,1/100秒単位) | |
3053 | + d1.l 〃 日数 (0〜65535) | |
3054 | + | |
3055 | + ROM が起動してからの時間を調べる. | |
3056 | + ROM IOCS では、ショートカットで呼び出すと割り込み禁止状態になったまま | |
3057 | + で帰るので注意すること. | |
3058 | + | |
3059 | +============================================================================== | |
3060 | + | |
3061 | +$80 _B_INTVCS ベクタ設定 | |
3062 | + | |
3063 | +引数 d1.w ベクタ番号($0000〜$00ff:割り込み $0100〜$01ff:IOCS コール) | |
3064 | + a1.l 処理アドレス | |
3065 | + | |
3066 | +返値 変更前の処理アドレス | |
3067 | + | |
3068 | + ベクタの処理アドレスを設定する. | |
3069 | + 設定したアドレスはスーパーバイザモードで呼び出される. | |
3070 | + 割り込みからは rte で、IOCS コールは rts で戻る. | |
3071 | + ROM IOCS version 1.3 のみ、ベクタ番号が異常な場合に -1 を返す. | |
3072 | + | |
3073 | +============================================================================== | |
3074 | + | |
3075 | +$81 _B_SUPER スーパーバイザ/ユーザモードの切り換え | |
3076 | + | |
3077 | +引数 a1.l ssp(0 の時ユーザモードからスーパーバイザモードに切り換え) | |
3078 | + | |
3079 | +返値 d0.l ユーザモードに切り換えた場合は常に 0 を返す. | |
3080 | + スーパバイザモードに切り換えた場合は、切り換え前の ssp の値を | |
3081 | + 返す. ただし、既にスーパバイザモードになっていたら -1 を返す. | |
3082 | + a1.l 不定 | |
3083 | + | |
3084 | + スーパーバイザ/ユーザモードを切り換える. | |
3085 | + スーパバイザモードに切り換えた場合、usp が ssp に設定される. | |
3086 | + ユーザモードに切り換えた場合、ssp は指定したアドレスになり、usp は以前 | |
3087 | + のアドレスに戻る. | |
3088 | + | |
3089 | +============================================================================== | |
3090 | + | |
3091 | +$82 _B_BPEEK 指定アドレスから 1 バイト読み込み | |
3092 | + | |
3093 | +引数 a1.l 読み込みアドレス | |
3094 | + | |
3095 | +返値 d0.b データ | |
3096 | + a1.l 次のアドレス | |
3097 | + | |
3098 | + 指定アドレスから 1 バイトデータを読み込む. | |
3099 | + | |
3100 | +============================================================================== | |
3101 | + | |
3102 | +$83 _B_WPEEK 指定アドレスから 1 ワード読み込み | |
3103 | + | |
3104 | +引数 a1.l 読み込みアドレス | |
3105 | + | |
3106 | +返値 d0.w データ | |
3107 | + a1.l 次のアドレス | |
3108 | + | |
3109 | + 指定アドレスから 1 ワードデータを読み込む. | |
3110 | + | |
3111 | +============================================================================== | |
3112 | + | |
3113 | +$84 _B_LPEEK 指定アドレスから 1 ロングワード読み込み | |
3114 | + | |
3115 | +引数 a1.l 読み込みアドレス | |
3116 | + | |
3117 | +返値 d0.l データ | |
3118 | + a1.l 次のアドレス | |
3119 | + | |
3120 | + 指定アドレスから 1 ロングワードデータを読み込む. | |
3121 | + | |
3122 | +============================================================================== | |
3123 | + | |
3124 | +$85 _B_MEMSTR 指定アドレスから複数バイト読み込み | |
3125 | + | |
3126 | +引数 d1.l 転送バイト数-1 | |
3127 | + a1.l 転送元アドレス | |
3128 | + a2.l 転送先アドレス | |
3129 | + | |
3130 | +返値 a1.l 次のアドレス | |
3131 | + a2.l 〃 | |
3132 | + d1.l は破壊される. | |
3133 | + | |
3134 | + 指定アドレスから複数バイトデータを転送する. | |
3135 | + IOCS _B_MEMSET とは転送の方向が違う(*a2++ = *a1++). | |
3136 | + | |
3137 | +============================================================================== | |
3138 | + | |
3139 | +$86 _B_BPOKE 指定アドレスヘ 1 バイト書き込み | |
3140 | + | |
3141 | +引数 d1.b データ | |
3142 | + a1.l 書き込みアドレス | |
3143 | + | |
3144 | +返値 a1.l 次のアドレス | |
3145 | + | |
3146 | + 指定アドレスに 1 バイトデータを書き込む. | |
3147 | + | |
3148 | +============================================================================== | |
3149 | + | |
3150 | +$87 _B_WPOKE 指定アドレスヘ 1 ワード書き込み | |
3151 | + | |
3152 | +引数 d1.w データ | |
3153 | + a1.l 書き込みアドレス | |
3154 | + | |
3155 | +返値 a1.l 次のアドレス | |
3156 | + | |
3157 | + 指定アドレスに 1 ワードデータを書き込む. | |
3158 | + | |
3159 | +============================================================================== | |
3160 | + | |
3161 | +$88 _B_LPOKE 指定アドレスヘ 1 ロングワード書き込み | |
3162 | + | |
3163 | +引数 d1.l データ | |
3164 | + a1.l 書き込みアドレス | |
3165 | + | |
3166 | +返値 a1.l 次のアドレス | |
3167 | + | |
3168 | + 指定アドレスに 1 ロングワードデータを書き込む. | |
3169 | + | |
3170 | +============================================================================== | |
3171 | + | |
3172 | +$89 _B_MEMSET 指定アドレスヘ複数バイト書き込み | |
3173 | + | |
3174 | +引数 d1.l 転送バイト数-1 | |
3175 | + a1.l 転送先アドレス | |
3176 | + a2.l 転送元アドレス | |
3177 | + | |
3178 | +返値 a1.l 次のアドレス | |
3179 | + a2.l 〃 | |
3180 | + d1.l は破壊される. | |
3181 | + | |
3182 | + 指定アドレスに複数バイトデータを転送する. | |
3183 | + IOCS _B_MEMSTR とは転送の方向が違う(*a1++ = *a2++). | |
3184 | + | |
3185 | +============================================================================== | |
3186 | + | |
3187 | +$8a _DMAMOVE DMA 転送 | |
3188 | + | |
3189 | +引数 d1.b モード | |
3190 | + bit 7 方向(0:a1からa2 1:a2からa1) | |
3191 | + bit 3〜2 MAC(0:a1固定 1:a1++ 2:a1-- 3:指定禁止) | |
3192 | + bit 1〜0 DAC(0:a2固定 1:a2++ 2:a2-- 3:指定禁止) | |
3193 | + d2.l 転送バイト数 | |
3194 | + a1.l 転送元アドレス | |
3195 | + a2.l 転送先〃 | |
3196 | + | |
3197 | +返値 d0/d2/a1/a2 は内容が保証されない. | |
3198 | + | |
3199 | + バイト単位で DMA 転送を行なう. | |
3200 | + $ff00 バイト以上転送する場合はすぐに戻ってこない. | |
3201 | + DMA が使用不可能であれば、使用可能になるまで待つ. | |
3202 | + | |
3203 | +============================================================================== | |
3204 | + | |
3205 | +$8b _DMAMOV_A DMA 転送(アレイチェーン) | |
3206 | + | |
3207 | +引数 d1.b モード | |
3208 | + d2.l チェーンテーブルの個数 | |
3209 | + a1.l 〃 アドレス | |
3210 | + a2.l 転送先アドレス | |
3211 | + | |
3212 | + アレイチェーンによってバイト単位で DMA 転送を行なう. | |
3213 | + DMA が使用不可能であれば、使用可能になるまで待つ. | |
3214 | + アレイチェーンテーブルの内容は、以下のチェーンテーブルを繰り返したもの. | |
3215 | + | |
3216 | +offset size | |
3217 | +0 1.l 転送元データのアドレス | |
3218 | +4 1.w 転送バイト数(1〜$ffff) | |
3219 | + | |
3220 | +============================================================================== | |
3221 | + | |
3222 | +$8c _DMAMOV_L DMA 転送(リンクアレイチェーン) | |
3223 | + | |
3224 | +引数 d1.b モード | |
3225 | + a1.l チェーンテーブルのアドレス | |
3226 | + a2.l 転送先アドレス | |
3227 | + | |
3228 | + リンクアレイチェーンによってバイト単位で DMA 転送を行なう. | |
3229 | + DMA が使用不可能であれば、使用可能になるまで待つ. | |
3230 | + リンクアレイチェーンテーブルの内容は、以下のチェーンテーブルを連結したもの. | |
3231 | + | |
3232 | +offset size | |
3233 | +0 1.l 転送元データのアドレス | |
3234 | +4 1.w 転送バイト数(1〜$ffff) | |
3235 | +6 1.l 次のテーブルのアドレス(0 でテーブルの終わり) | |
3236 | + | |
3237 | +============================================================================== | |
3238 | + | |
3239 | +$8d _DMAMODE DMA 状態検査 | |
3240 | + | |
3241 | +返値 実行状態 | |
3242 | + d0.l = $00 何も実行していない | |
3243 | + $8a IOCS DMAMOVE ($8a) を実行中 | |
3244 | + $8b IOCS DMAMOV_A($8b) 〃 | |
3245 | + $8c IOCS DMAMOV_L($8c) 〃 | |
3246 | + | |
3247 | + DMA の実行状態を調べる. | |
3248 | + | |
3249 | +============================================================================== | |
3250 | + | |
3251 | +$8e _BOOTINF 起動情報を得る | |
3252 | + | |
3253 | +返値 起動状態 | |
3254 | + bit 31〜24 起動方法(0:パワースイッチ 1:外部スイッチ 2:タイマ) | |
3255 | + bit 23〜 0 ブート情報($80〜$8f:SASI-HD 0〜15 $90〜$93:2HD-FD 0〜3) | |
3256 | + ($ed0000〜$ed3ffe:SRAM その他:ROM ) | |
3257 | + | |
3258 | + 起動情報を調べる. ROM から起動した場合は起動アドレス(1.l)へのポインタ | |
3259 | + を返すが、SRAM から起動した場合は起動したアドレスそのものを返す. | |
3260 | + なお、SRAM/ROM から起動後、SRAM に設定されている起動アドレスを変更する | |
3261 | + と正しいアドレスを返さない. | |
3262 | + | |
3263 | +============================================================================== | |
3264 | + | |
3265 | +$8f _ROMVER ROM バージョンを得る | |
3266 | + | |
3267 | +返値 バージョン/作成日(BCD) | |
3268 | + bit 31〜24 バージョン | |
3269 | + bit 23〜16 年 | |
3270 | + bit 15〜 8 月 | |
3271 | + bit 7〜 0 日 | |
3272 | + | |
3273 | + ROM のバージョンと作成年月日を調べる. | |
3274 | + | |
3275 | +============================================================================== | |
3276 | + | |
3277 | +$90 _G_CLR_ON グラフィック画面の初期化及び表示モードの設定 | |
3278 | + | |
3279 | + グラフィック画面をクリアして表示する. パレットは標準に戻り、アクセスペ | |
3280 | + ージは 0 に設定される. | |
3281 | + | |
3282 | +============================================================================== | |
3283 | + | |
3284 | +$91 (未公開) グラフィック画面モードの設定 | |
3285 | + | |
3286 | +引数 d1.b グラフィック画面モード | |
3287 | + d1.b = 0 16 色 4 画面(実画面 512) | |
3288 | + 1 256 〃 2 〃 ( 〃 512) | |
3289 | + 3 65536 〃 1 〃 ( 〃 512) | |
3290 | + 4 16 〃 1 〃 ( 〃 1024) | |
3291 | + -1 現在のモードを調べる | |
3292 | + | |
3293 | +返値 変更前のグラフィック画面モード | |
3294 | + | |
3295 | + グラフィック画面モードを直接設定する. | |
3296 | + 設定データは VC R0($e82400) の設定と同じ. | |
3297 | + | |
3298 | +============================================================================== | |
3299 | + | |
3300 | +$92 (未公開) プライオリティ設定 | |
3301 | + | |
3302 | +引数 d1.w プライオリティ設定(ただし d1.w = -1 の時は現在の設定を調べます) | |
3303 | + | |
3304 | +返値 変更前の設定 | |
3305 | + | |
3306 | + プライオリティを直接設定する. | |
3307 | + 設定データは VC R1($e82500) の設定と同じ. | |
3308 | + | |
3309 | +============================================================================== | |
3310 | + | |
3311 | +$93 (未公開) 画面表示及び特殊モードの設定 | |
3312 | + | |
3313 | +引数 d1.w 画面表示及び特殊モード設定(ただし d1.w = -1 の時は現在の設定を調べます) | |
3314 | + | |
3315 | +返値 変更前の設定 | |
3316 | + | |
3317 | + 画面表示及び特殊モードを直接設定する. | |
3318 | + 設定データは VC R2($e82600) の設定と同じ. | |
3319 | + | |
3320 | +============================================================================== | |
3321 | + | |
3322 | +$94 GPALET グラフィックパレット設定 | |
3323 | + | |
3324 | +引数 d1.w パレットコード | |
3325 | + d2.l カラーコード(d2.l = -1 の時カラーコードを調べます) | |
3326 | + | |
3327 | +返値 d0.l = 0 正常終了 | |
3328 | + -1 グラフィック画面が初期化されていないか、パレットコードが異常 | |
3329 | + d2.l = -1 の時はカラーコードを返す(-1 ならエラー) | |
3330 | + | |
3331 | + グラフィックパレットを設定/収得する. | |
3332 | + ROM IOCS では65536色モードで正常に動作しないので注意すること. | |
3333 | + | |
3334 | +============================================================================== | |
3335 | + | |
3336 | +$95 (未公開) カラーコード設定 | |
3337 | + | |
3338 | +引数 d1.w パレットコード | |
3339 | + | |
3340 | + IOCS $9a,$9b,$9c で書き込まれるパレットコードを設定する. | |
3341 | + | |
3342 | +============================================================================== | |
3343 | + | |
3344 | +$96 (未公開) アクセスページ設定 | |
3345 | + | |
3346 | +引数 d1.w アクセスページ(0〜3) | |
3347 | + | |
3348 | + グラフィック IOCS で操作されるページを直接設定する. | |
3349 | + IOCS APAGE($b1) とほぼ同じであるが、存在しないページを指定してもエラー | |
3350 | + にならないので注意すること. | |
3351 | + | |
3352 | +============================================================================== | |
3353 | + | |
3354 | +$97 (未公開) グラフィック VRAM のドット単位読み込み | |
3355 | + | |
3356 | +引数 d1.w X 座標 | |
3357 | + d2.w Y 〃 | |
3358 | + a1.l バッファのアドレス | |
3359 | + (0,a1) X 方向のドット数 | |
3360 | + (2,a1) Y 〃 | |
3361 | + (4,a1) (色数 $000f:16色 $00ff:256色 $ffff:65536色) | |
3362 | + (6,a1) (パターンデータ) | |
3363 | + | |
3364 | + グラフィック画面からバッファにドット単位で読み込む. | |
3365 | + | |
3366 | +============================================================================== | |
3367 | + | |
3368 | +$98 (未公開) グラフィック VRAM のドット単位書き込み(色マスクあり) | |
3369 | + | |
3370 | +引数 d1.w X 座標 | |
3371 | + d2.w Y 〃 | |
3372 | + d3.w マスクするカラーコード | |
3373 | + a1.l バッファのアドレス | |
3374 | + (0,a1) X 方向のドット数 | |
3375 | + (2,a1) Y 〃 | |
3376 | + (4,a1) 色数($000f:16色 $00ff:256色 $ffff:65536色) | |
3377 | + (6,a1) パターンデータ | |
3378 | + | |
3379 | +返値 d0.l = 0 正常終了 | |
3380 | + -1 エラー(指定された色数と実際の設定が異なる) | |
3381 | + | |
3382 | + バッファからグラフィック画面にドット単位で書き込む. | |
3383 | + マスクするカラーコードに指定した色のドットは書き込まれない. | |
3384 | + | |
3385 | +============================================================================== | |
3386 | + | |
3387 | +$99 (未公開) グラフィック VRAM のドット単位書き込み | |
3388 | + | |
3389 | +引数 d1.w X 座標 | |
3390 | + d2.w Y 〃 | |
3391 | + a1.l バッファのアドレス | |
3392 | + (0,a1) X 方向のドット数 | |
3393 | + (2,a1) Y 〃 | |
3394 | + (4,a1) 色数($000f:16色 $00ff:256色 $ffff:65536色) | |
3395 | + (6,a1) パターンデータ | |
3396 | + | |
3397 | +返値 d0.l = 0 正常終了 | |
3398 | + -1 エラー(指定された色数と実際の設定が異なる) | |
3399 | + | |
3400 | + バッファからグラフィック画面にドット単位で書き込む. | |
3401 | + | |
3402 | +============================================================================== | |
3403 | + | |
3404 | +$9a (未公開) グラフィック VRAM のビットパターン書き込み | |
3405 | + | |
3406 | +引数 d1.w X 座標 | |
3407 | + d2.w Y 〃 | |
3408 | + a1.l バッファのアドレス | |
3409 | + (0,a1) X 方向のドット数 | |
3410 | + (2,a1) Y 〃 | |
3411 | + (4,a1) ビットパターン | |
3412 | + | |
3413 | + グラフィック画面にビットパターンを書き込む. | |
3414 | + ビットが 1 のドットは IOCS $95 で設定したカラーコードが書き込まれ、 | |
3415 | + 0 のドットは何も書き込まれない. | |
3416 | + | |
3417 | +============================================================================== | |
3418 | + | |
3419 | +$9b (未公開) グラフィック VRAM のビットパターン書き込み(バックカラーあり) | |
3420 | + | |
3421 | +引数 d1.w X 座標 | |
3422 | + d2.w Y 〃 | |
3423 | + d3.w バックカラーコード | |
3424 | + a1.l バッファのアドレス | |
3425 | + (0,a1) X 方向のドット数 | |
3426 | + (2,a1) Y 〃 | |
3427 | + (4,a1) ビットパターン | |
3428 | + | |
3429 | + グラフィック画面にビットパターンを書き込む. | |
3430 | + ビットが 1 のドットは IOCS $95 で設定したカラーコードが書き込まれ、 | |
3431 | + 0 のドットはバックカラーコードが書き込まれる. | |
3432 | + | |
3433 | +============================================================================== | |
3434 | + | |
3435 | +$9c (未公開) グラフィック VRAM のビットパターン拡大書き込み | |
3436 | + | |
3437 | +引数 d1.w X 座標 | |
3438 | + d2.w Y 〃 | |
3439 | + d3.w X 方向の拡大率 | |
3440 | + d4.w Y 〃 | |
3441 | + a1.l バッファのアドレス | |
3442 | + (0,a1) X 方向のドット数 | |
3443 | + (2,a1) Y 〃 | |
3444 | + (4,a1) ビットパターン | |
3445 | + | |
3446 | + グラフィック画面にビットパターンを拡大して書き込む. | |
3447 | + ビットが 1 のドットは IOCS $95 で設定したカラーコードが書き込まれ、 | |
3448 | + 0 のドットは何も書き込まれない. | |
3449 | + | |
3450 | +============================================================================== | |
3451 | + | |
3452 | +$a0 _SFTJIS S-JIS→JIS コード変換 | |
3453 | + | |
3454 | +引数 d1.w S-JIS 漢字コード | |
3455 | + | |
3456 | +返値 d0.hw = 0 変換成功 | |
3457 | + -1 エラー | |
3458 | + d0.w JIS 漢字コード(エラーの場合通常 $2228:※) | |
3459 | + d1.l 〃 | |
3460 | + | |
3461 | + S-JIS 漢字コードを JIS 漢字コードに変換する. | |
3462 | + | |
3463 | +============================================================================== | |
3464 | + | |
3465 | +$a1 _JISSFT JIS→S-JIS コード変換 | |
3466 | + | |
3467 | +引数 d1.w JIS 漢字コード | |
3468 | + | |
3469 | +返値 d0.hw = 0 変換成功 | |
3470 | + -1 エラー | |
3471 | + d0.w S-JIS 漢字コード(エラーの場合通常 $81a6:※) | |
3472 | + d1.l 〃 | |
3473 | + | |
3474 | + JIS 漢字コードを S-JIS 漢字コードに変換する. | |
3475 | + | |
3476 | +============================================================================== | |
3477 | + | |
3478 | +$a2 _AKCONV ANK→S-JIS コード変換 | |
3479 | + | |
3480 | +引数 d1.hw 平仮名/片仮名の指定(0:平仮名に変換 1:片仮名に変換) | |
3481 | + d1.w ANK コード($20〜7e,$a1〜df) | |
3482 | + | |
3483 | +返値 d0.hw = 0 変換成功 | |
3484 | + -1 エラー | |
3485 | + d0.w S-JIS 漢字コード(エラーの場合通常 $81a6:※) | |
3486 | + | |
3487 | + ANK コードを 全角 S-JIS コードに変換する. | |
3488 | + | |
3489 | +============================================================================== | |
3490 | + | |
3491 | +$a3 _RMACNV ローマ字→ANK カナ変換 | |
3492 | + | |
3493 | +引数 d1.b アルファベット | |
3494 | + a1.l 作業領域のアドレス | |
3495 | + a2.l 変換結果を入れるバッファのアドレス | |
3496 | + | |
3497 | +返値 ステータス | |
3498 | + d0.l = 0 変換途中で返せる仮名文字がない | |
3499 | + (作業領域に変換途中の文字が残っているので、それを破棄 | |
3500 | + してはいけない) | |
3501 | + -1 変換不可能な文字が指定された | |
3502 | + (作業領域の先頭バイトは 0 になる) | |
3503 | + その他 変換文字数(作業領域に変換途中の文字が残っている可能性 | |
3504 | + があるので、それを破棄してはいけない) | |
3505 | + | |
3506 | + ローマ字を仮名に変換する. ローマ字は通常大文字を使用し、促音や拗音など | |
3507 | + 小さい仮名はローマ字の母音にアルファベットの小文字を用いる. | |
3508 | + 最初の変換の前に、作業領域の先頭のバイトを 0 にしておく. | |
3509 | + | |
3510 | +============================================================================== | |
3511 | + | |
3512 | +$a4 _DAKJOB 濁点処理 | |
3513 | + | |
3514 | +引数 a1.l 全角文字列の終端(0)のアドレス | |
3515 | + | |
3516 | +返値 d0.l 文字列の増加したバイト数 | |
3517 | + d0.l = 0 最後の全角文字に濁点を付けた場合 | |
3518 | + 2 文字列の最後に濁点を加えた場合 | |
3519 | + a1.l 処理後の全角文字列の終端のアドレス | |
3520 | + | |
3521 | + 全角文字列の濁点処理を行なう. | |
3522 | + | |
3523 | +============================================================================== | |
3524 | + | |
3525 | +$a5 _HANJOB 半濁点処理 | |
3526 | + | |
3527 | +引数 a1.l 全角文字列の終端(0)のアドレス | |
3528 | + | |
3529 | +返値 d0.l 文字列の増加したバイト数 | |
3530 | + d0.l = 0 最後の全角文字に半濁点を付けた場合 | |
3531 | + 2 文字列の最後に半濁点を加えた場合 | |
3532 | + a1.l 処理後の全角文字列の終端のアドレス | |
3533 | + | |
3534 | + 全角文字列の半濁点処理を行なう. | |
3535 | + | |
3536 | +============================================================================== | |
3537 | + | |
3538 | +$ac _SYS_STAT システム状態の設定 | |
3539 | + | |
3540 | +引数 d1.l モード | |
3541 | + d1.l = 0 MPU 状態の収得 | |
3542 | + 1 キャッシュ状態の収得 | |
3543 | + 2 キャッシュを SRAM の設定値に設定 | |
3544 | + 3 キャッシュの消去 | |
3545 | + 4 キャッシュの設定 | |
3546 | + d2.l キャッシュ有効/無効フラグ(d1.l = 4 の時のみ) | |
3547 | + bit 1 データキャッシュ(0:無効 1:有効) | |
3548 | + bit 0 命令 〃 ( 〃 ) | |
3549 | + | |
3550 | +返値 d1.l = 0 の時、MPU ステータス | |
3551 | + bit 31〜16 クロックスピード(0.1MHz単位) | |
3552 | + bit 15 浮動小数点演算コプロセッサ(0:なし 1:あり) | |
3553 | + bit 14 MMU(0:なし 1:あり) | |
3554 | + bit 7〜 0 MPU タイプ(0:68000 1:68010 2:68020 3:68030) | |
3555 | + d1.l = 1,2,4 の時、変更前のキャッシュ有効/無効フラグ | |
3556 | + | |
3557 | + システム状態の設定を行なう. | |
3558 | + この IOCS コールは ROM IOCS version 1.3 だけで使用可能. | |
3559 | + | |
3560 | +============================================================================== | |
3561 | + | |
3562 | +$ad _B_CONMOD カーソルおよびスクロールの設定 | |
3563 | + | |
3564 | +引数 d1.l モード | |
3565 | + d1.w = 0 カーソル点滅許可 | |
3566 | + 1 カーソル点滅禁止 | |
3567 | + 2 カーソルパターン指定 | |
3568 | + 3 カーソルパターン定義 | |
3569 | + 16 スムーススクロールの指定 | |
3570 | + 17 ラスタコピースクロールの指定 | |
3571 | + 18 ソフト〃 | |
3572 | + d2.l d1.w = 2 の時、カーソルパターン | |
3573 | + d2.w = 0 内部バッファに定義されたパターンで描画する. | |
3574 | + その他 d2.hw をスタートラインと見なして、d2.b/d2.hb | |
3575 | + をプレーン 0/1 と排他論理和をとる. | |
3576 | + d1.w = 3 の時、パターンアドレス | |
3577 | + d1.w = 16 の時、スクロールの指定 | |
3578 | + d2.l = 0 ジャンプスクロール | |
3579 | + 1 4 ドットスクロール | |
3580 | + 2 8 〃 | |
3581 | + 3 16 〃 | |
3582 | + | |
3583 | + カーソルおよびスクロールを設定する. | |
3584 | + カーソルの点滅を禁止した場合、カーソルが表示されたままになる. 許可状態 | |
3585 | + ならば一定時間ごとに反転する. | |
3586 | + | |
3587 | + カーソルパターンの指定は、d2.b でプレーン 0 の反転パターン、d2.hb でプ | |
3588 | + レーン 1 の反転パターンを設定し、d2.hw で指定したライン位置から一番下 | |
3589 | + のラインまで排他的論理和がとられる. $0000_ffffで従来のパターンと同じに | |
3590 | + なる. d2.w が 0 の場合は d1.w = 3 で設定したパターンが使用される. | |
3591 | + | |
3592 | + カーソルパターンの定義は、d2.l をカーソルのパターンアドレスと見なして | |
3593 | + 内部バッファにコピーする. パターンはプレーン 0/1 の順に 16 バイトずつ | |
3594 | + 並べる. | |
3595 | + | |
3596 | + スムーススクロールを使用する場合は、文字を連続的に出力しなければスクロ | |
3597 | + ール時に画面が乱れる. 垂直同期(16ms)の間に 1 ライン出力を終了すること. | |
3598 | + また、広範囲でのソフトコピースクロールは、表示速度が遅くなる. | |
3599 | + | |
3600 | + この IOCS コールは ROM IOCS version 1.3 若しくは IOCS.X 常駐時のみ使用 | |
3601 | + 可能. ただし、前者の場合は d1.w = 2 のカーソルパターン指定で d2.l = 0 | |
3602 | + の場合は標準のカーソルが表示される. また d2.w = 3 のカーソルパターン定 | |
3603 | + 義は使用できないので注意すること. | |
3604 | + | |
3605 | +============================================================================== | |
3606 | + | |
3607 | +$ae _OS_CURON カーソル表示 | |
3608 | + | |
3609 | + カーソル表示をする. コンソールに対して ESC[>5l を出力した時に使用される. | |
3610 | + IOCS $20〜$2f に対して有効. | |
3611 | + | |
3612 | +============================================================================== | |
3613 | + | |
3614 | +$af _OS_CUROF カーソル消去 | |
3615 | + | |
3616 | + カーソル表示しない. コンソールに対して ESC[>5h を出力した時に使用される. | |
3617 | + IOCS $20〜$2f に対して有効. | |
3618 | + | |
3619 | +============================================================================== | |
3620 | + | |
3621 | +$b0 _DRAWMODE グラフィック描画モードの設定 | |
3622 | + | |
3623 | +引数 d1.w 描画モード(0:通常 1:反転 -1:現在のモードを調べる) | |
3624 | + | |
3625 | +返値 変更前のモード | |
3626 | + | |
3627 | + グラフィック描画の際の描画モードを設定する. | |
3628 | + 反転モードで描画した場合、書き込まれるドットの色の NOT 値で描画する. | |
3629 | + このモードで 2 回描画すると、画面が元に戻る. 使用後は通常の描画モード | |
3630 | + に戻すこと. | |
3631 | + 反転モードが有効な IOCS コールは _LINE、_BOX、_FILL、_SYMBOL だけで、 | |
3632 | + 他のコールは常に通常のモードで描画される. | |
3633 | + この IOCS コールは ROM IOCS version 1.3 若しくは IOCS.X、HIOCS.X 常駐 | |
3634 | + 時のみ使用可能だが、前の二つでは正常に動作しない. | |
3635 | + | |
3636 | +============================================================================== | |
3637 | + | |
3638 | +$b1 _APAGE グラフィック描画ページの設定 | |
3639 | + | |
3640 | +引数 d1.b 書き込みページ(0〜3,-1 の時は現在の設定を調べます) | |
3641 | + | |
3642 | +返値 d1.b = -1 の時、現在の書き込みページ | |
3643 | + それ以外の時、ステータス | |
3644 | + d0.l = 0 正常終了 | |
3645 | + -1 グラフィック使用不可 | |
3646 | + -2 ページが指定外(4 以上) | |
3647 | + -3 指定ページは現在のモードでは使用不可 | |
3648 | + | |
3649 | + グラフィック画面の書き込みページを設定する. | |
3650 | + | |
3651 | +============================================================================== | |
3652 | + | |
3653 | +$b2 _VPAGE グラフィック画面表示ページの設定 | |
3654 | + | |
3655 | +引数 d1.b 表示ページ(bit 0〜3 がページ 0〜3 に対応) | |
3656 | + | |
3657 | +返値 d0.l = 0 正常終了 | |
3658 | + -1 グラフィック使用不可 | |
3659 | + -2 ページが指定外 | |
3660 | + -3 指定ページは現在のモードでは使用不可 | |
3661 | + | |
3662 | + グラフィック画面の表示ページを設定する. | |
3663 | + | |
3664 | +============================================================================== | |
3665 | + | |
3666 | +$b3 _HOME グラフィック画面の表示位置設定 | |
3667 | + | |
3668 | +引数 d1.b 表示位置を設定するページ(bit 0〜3 がページ 0〜3 に対応,0 で全てのページ) | |
3669 | + d2.w X 座標 | |
3670 | + d3.w Y 〃 | |
3671 | + | |
3672 | +返値 d0.l = 0 正常終了 | |
3673 | + -1 グラフィック使用不可 | |
3674 | + -2 ページ若しくは座標が指定外 | |
3675 | + -3 指定ページ若しくは座標は現在のモードでは使用不可 | |
3676 | + | |
3677 | + グラフィック画面の表示位置を設定する. | |
3678 | + d1.b = 0 の時、有効なページが全て変更される. | |
3679 | + | |
3680 | +============================================================================== | |
3681 | + | |
3682 | +$b4 _WINDOW グラフィック描画ウィンドウの設定 | |
3683 | + | |
3684 | +引数 d1.w 左端 X 座標 | |
3685 | + d2.w 上端 Y 〃 | |
3686 | + d3.w 右端 X 〃 | |
3687 | + d4.w 下端 Y 〃 | |
3688 | + | |
3689 | +返値 d0.l = 0 正常終了 | |
3690 | + -1 グラフィック使用不可 | |
3691 | + -2 座標指定が異常 | |
3692 | + -3 指定座標は現在のモードでは使用不可 | |
3693 | + | |
3694 | + グラフィック画面のクリッピング範囲を設定する. IOCS $b5〜$bf に対して有効. | |
3695 | + d1.w ≦ d3.w かつ d2.w ≦ d4.w でなければならない. | |
3696 | + | |
3697 | +============================================================================== | |
3698 | + | |
3699 | +$b5 _WIPE グラフィック画面のクリア | |
3700 | + | |
3701 | +返値 d0.l = 0 正常終了 | |
3702 | + -1 グラフィック使用不可 | |
3703 | + | |
3704 | + グラフィック画面をクリアする. | |
3705 | + | |
3706 | +============================================================================== | |
3707 | + | |
3708 | +$b6 _PSET グラフィック画面のポイントセット | |
3709 | + | |
3710 | +引数 a1.l パラメータバッファのアドレス | |
3711 | + (0,a1) X 座標 | |
3712 | + (2,a1) Y 〃 | |
3713 | + (4,a1) パレットコード | |
3714 | + | |
3715 | +返値 d0.l = 0 正常終了 | |
3716 | + -1 グラフィック使用不可 | |
3717 | + -2 指定パレットコードは現在のモードでは使用不可 | |
3718 | + | |
3719 | + グラフィック画面に点を描画する. | |
3720 | + | |
3721 | +============================================================================== | |
3722 | + | |
3723 | +$b7 _POINT グラフィック画面のポイントゲット | |
3724 | + | |
3725 | +引数 a1.l パラメータバッファのアドレス | |
3726 | + (0,a1) X 座標 | |
3727 | + (2,a1) Y 〃 | |
3728 | + (4,a1) (パレットコード) | |
3729 | + | |
3730 | +返値 d0.l = 0 正常終了 | |
3731 | + -1 グラフィック使用不可 | |
3732 | + | |
3733 | + グラフィック画面の指定の点のパレットコードを調べる. | |
3734 | + 指定座標がクリッピング範囲外であった場合、パレットコードは常に 0 が返る. | |
3735 | + | |
3736 | +============================================================================== | |
3737 | + | |
3738 | +$b8 _LINE グラフィック画面のライン | |
3739 | + | |
3740 | +引数 a1.l パラメータバッファのアドレス | |
3741 | + (0,a1) 始点 X 座標 | |
3742 | + (2,a1) 〃 Y 〃 | |
3743 | + (4,a1) 終点 X 〃 | |
3744 | + (6,a1) 〃 Y 〃 | |
3745 | + (8,a1) パレットコード | |
3746 | + (10,a1) ラインスタイル | |
3747 | + | |
3748 | +返値 d0.l = 0 正常終了 | |
3749 | + -1 グラフィック使用不可 | |
3750 | + -2 指定パレットコードは現在のモードでは使用不可 | |
3751 | + | |
3752 | + グラフィック画面に線を描画する. | |
3753 | + | |
3754 | +============================================================================== | |
3755 | + | |
3756 | +$b9 _BOX グラフィック画面のボックス | |
3757 | + | |
3758 | +引数 a1.l パラメータバッファのアドレス | |
3759 | + (0,a1) 始点 X 座標 | |
3760 | + (2,a1) 〃 Y 〃 | |
3761 | + (4,a1) 終点 X 〃 | |
3762 | + (6,a1) 〃 Y 〃 | |
3763 | + (8,a1) パレットコード | |
3764 | + (10,a1) ラインスタイル | |
3765 | + | |
3766 | +返値 d0.l = 0 正常終了 | |
3767 | + -1 グラフィック使用不可 | |
3768 | + -2 指定パレットコードは現在のモードでは使用不可 | |
3769 | + | |
3770 | + グラフィック画面に長方形を描画する. | |
3771 | + | |
3772 | +============================================================================== | |
3773 | + | |
3774 | +$ba _FILL グラフィック画面のボックスフィル | |
3775 | + | |
3776 | +引数 a1.l パラメータバッファのアドレス | |
3777 | + (0,a1) 始点 X 座標 | |
3778 | + (2,a1) 〃 Y 〃 | |
3779 | + (4,a1) 終点 X 〃 | |
3780 | + (6,a1) 〃 Y 〃 | |
3781 | + (8,a1) パレットコード | |
3782 | + | |
3783 | +返値 d0.l = 0 正常終了 | |
3784 | + -1 グラフィック使用不可 | |
3785 | + -2 指定パレットコードは現在のモードでは使用不可 | |
3786 | + | |
3787 | + グラフィック画面に塗り潰した長方形を描画する. | |
3788 | + | |
3789 | +============================================================================== | |
3790 | + | |
3791 | +$bb _CIRCLE グラフィック画面のサークル | |
3792 | + | |
3793 | +引数 a1.l パラメータバッファのアドレス | |
3794 | + (0,a1) 中心 X 座標 | |
3795 | + (2,a1) 〃 Y 〃 | |
3796 | + (4,a1) 半径 | |
3797 | + (6,a1) パレットコード | |
3798 | + (8,a1) 円弧開始角度(負数で扇形を描画) | |
3799 | + (10,a1) 〃 終了〃 ( 〃 ) | |
3800 | + (12,a1) 比率 | |
3801 | + | |
3802 | +返値 d0.l = 0 正常終了 | |
3803 | + -1 グラフィック使用不可 | |
3804 | + -2 指定パレットコードは現在のモードでは使用不可 | |
3805 | + | |
3806 | + グラフィック画面に楕円を描画する. | |
3807 | + 円弧開始/終了角度は 0〜360 で、負数を指定すると扇形(角度は値の絶対値) | |
3808 | + を描画する. | |
3809 | + 比率(以下 P)は 0〜$ff00 で、描画する楕円の形は以下の通り. | |
3810 | + | |
3811 | + 0 ≦ P < 256 横長楕円 Rx = R ; Ry = R*P/256 | |
3812 | + 256 < P ≦ $ff00 縦長楕円 Ry = R ; Rx = R*P/$ff00(P は 256 単位で切捨て) | |
3813 | + P = 256 真円 Rx = Ry = R | |
3814 | + | |
3815 | +============================================================================== | |
3816 | + | |
3817 | +$bc _PAINT グラフィック画面のペイント | |
3818 | + | |
3819 | +引数 a1.l パラメータバッファのアドレス | |
3820 | + (0,a1) X 座標 | |
3821 | + (2,a1) Y 〃 | |
3822 | + (4,a1) パレットコード | |
3823 | + (6,a1) 作業領域開始アドレス | |
3824 | + (10,a1) 〃 終了〃 | |
3825 | + | |
3826 | +返値 d0.l = 0 正常終了 | |
3827 | + -1 グラフィック使用不可 | |
3828 | + -2 指定パレットコードは現在のモードでは使用不可 | |
3829 | + | |
3830 | + グラフィック画面を塗り潰す. | |
3831 | + 作業領域は偶数番地から始まる必要があり、不足した場合はペイント途中で戻る. | |
3832 | + | |
3833 | +============================================================================== | |
3834 | + | |
3835 | +$bd _SYMBOL グラフィック画面のシンボル | |
3836 | + | |
3837 | +引数 a1.l パラメータバッファのアドレス | |
3838 | + | |
3839 | +返値 d0.l = 0 正常終了 | |
3840 | + -1 グラフィック使用不可 | |
3841 | + -2 指定パレットコードは現在のモードでは使用不可 | |
3842 | + | |
3843 | + グラフィック画面に文字列を拡大して描画する. | |
3844 | + 座標は、回転角度が 0,90,180,270 の時それぞれ左上/左下/右下/右上隅を指定する. | |
3845 | + パラメータバッファの内容は以下の通り. | |
3846 | + | |
3847 | +offset size | |
3848 | + 0 1.w X 座標 | |
3849 | + 2 1.w Y 〃 | |
3850 | + 4 1.l 文字列のアドレス | |
3851 | + 8 1.b X 方向倍率 | |
3852 | + 9 1.b Y 〃 | |
3853 | +10 1.w パレットコード | |
3854 | +12 1.b 文字パターンの大きさ(0:12 ドット系 1:16〃 2:24〃) | |
3855 | +13 1.b 回転角度(0:0°1:90°2:180°3:270°) | |
3856 | + | |
3857 | +============================================================================== | |
3858 | + | |
3859 | +$be _GETGRM グラフィック画面のドット単位読み込み | |
3860 | + | |
3861 | +引数 a1.l パラメータバッファのアドレス | |
3862 | + | |
3863 | +返値 d0.l = 0 正常終了 | |
3864 | + -1 グラフィック使用不可 | |
3865 | + -2 座標指定が異常 | |
3866 | + -3 バッファの容量が小さすぎる | |
3867 | + | |
3868 | + グラフィック画面からバッファにドット単位で読み込む. | |
3869 | + パラメータバッファの内容は以下の通り. | |
3870 | + | |
3871 | +offset size | |
3872 | + 0 1.w 始点 X 座標 | |
3873 | + 2 1.w 〃 Y 〃 | |
3874 | + 4 1.w 終点 X 〃 | |
3875 | + 6 1.w 〃 Y 〃 | |
3876 | + 8 1.l バッファ開始アドレス | |
3877 | +12 1.l 〃 終了〃 | |
3878 | + | |
3879 | +============================================================================== | |
3880 | + | |
3881 | +$bf _PUTGRM グラフィック画面のドット単位書き込み | |
3882 | + | |
3883 | +引数 a1.l パラメータバッファのアドレス | |
3884 | + | |
3885 | +返値 d0.l = 0 正常終了 | |
3886 | + -1 グラフィック使用不可 | |
3887 | + -2 座標指定が異常 | |
3888 | + -3 バッファの容量が小さすぎる | |
3889 | + | |
3890 | + バッファからグラフィック画面にドット単位で書き込む. | |
3891 | + パラメータバッファの内容は以下の通り. | |
3892 | + | |
3893 | +offset size | |
3894 | + 0 1.w 始点 X 座標 | |
3895 | + 2 1.w 〃 Y 〃 | |
3896 | + 4 1.w 終点 X 〃 | |
3897 | + 6 1.w 〃 Y 〃 | |
3898 | + 8 1.l バッファ開始アドレス | |
3899 | +12 1.l 〃 終了〃 | |
3900 | + | |
3901 | +============================================================================== | |
3902 | + | |
3903 | +$c0 _SP_INIT スプライト初期化 | |
3904 | + | |
3905 | +返値 d0.l = 0 正常終了 | |
3906 | + -1 画面モードが不正 | |
3907 | + | |
3908 | + スプライト画面を初期化する. | |
3909 | + | |
3910 | +============================================================================== | |
3911 | + | |
3912 | +$c1 _SP_ON スプライト表示 | |
3913 | + | |
3914 | +返値 d0.l = 0 正常終了 | |
3915 | + -1 画面モードが不正 | |
3916 | + | |
3917 | + スプライト画面を表示する. | |
3918 | + | |
3919 | +============================================================================== | |
3920 | + | |
3921 | +$c2 _SP_OFF スプライト消去 | |
3922 | + | |
3923 | +返値 d0.l = 0 正常終了 | |
3924 | + -1 画面モードが不正 | |
3925 | + | |
3926 | + スプライト画面を表示しない. | |
3927 | + | |
3928 | +============================================================================== | |
3929 | + | |
3930 | +$c3 _SP_CGCLR スプライトパターンのクリア | |
3931 | + | |
3932 | +引数 d1.l パターンコード(0〜255) | |
3933 | + | |
3934 | +返値 d0.l = 0 正常終了 | |
3935 | + -1 画面モードが不正 | |
3936 | + | |
3937 | + 指定した PCG をクリアする. クリアするパターンの大きさは 128 バイト. | |
3938 | + | |
3939 | +============================================================================== | |
3940 | + | |
3941 | +$c4 _SP_DEFCG スプライトパターンの定義 | |
3942 | + | |
3943 | +引数 d1.l パターンコード(0〜255) | |
3944 | + d2.l パターンの大きさ(0:8x8 1:16x16) | |
3945 | + a1.l パターンデータのアドレス | |
3946 | + | |
3947 | +返値 d0.l = 0 正常終了 | |
3948 | + -1 画面モードが不正 | |
3949 | + | |
3950 | + 指定した PCG のパターンを定義する. | |
3951 | + パターンの大きさは d2.l = 0 の時 32 バイト、d2.l = 1 の時 128 バイト. | |
3952 | + | |
3953 | +============================================================================== | |
3954 | + | |
3955 | +$c5 _SP_GTPCG スプライトパターンの読み込み | |
3956 | + | |
3957 | +引数 d1.l パターンコード(0〜255) | |
3958 | + d2.l パターンの大きさ(0:8x8 1:16x16) | |
3959 | + a1.l バッファのアドレス | |
3960 | + | |
3961 | +返値 d0.l = 0 正常終了 | |
3962 | + -1 画面モードが不正 | |
3963 | + | |
3964 | + 指定した PCG のパターンを読み込む. | |
3965 | + バッファは d2.l = 0 の時 32 バイト、d2.l = 1 の時 128 バイト必要. | |
3966 | + | |
3967 | +============================================================================== | |
3968 | + | |
3969 | +$c6 _SP_REGST スプライトレジスタの設定 | |
3970 | + | |
3971 | +引数 d1.l 垂直帰線期間検出/スプライト番号 | |
3972 | + bit 31 0:垂直帰線期間検出後設定 1:検出しない | |
3973 | + bit 6〜0 スプライト番号(0〜127) | |
3974 | + d2.l X 座標(0〜1023 16 で左端に表示される) | |
3975 | + d3.l Y 〃 (〃 〃 上端〃 ) | |
3976 | + d4.l パターンコード | |
3977 | + bit 15 縦方向反転指定(0:反転しない 1:する) | |
3978 | + bit 14 横〃 ( 〃 ) | |
3979 | + bit 11〜 8 パレットブロック指定(0〜15) | |
3980 | + bit 7〜 0 パターンコード(0〜255) | |
3981 | + d5.l プライオリティ | |
3982 | + d5.l = 0 スプライトを表示しない | |
3983 | + 1 BG0 < BG1 < SP | |
3984 | + 2 BG0 < SP < BG1 | |
3985 | + 3 SP < BG0 < BG1 | |
3986 | + | |
3987 | +返値 d0.l = 0 正常終了 | |
3988 | + -1 画面モードが不正 | |
3989 | + | |
3990 | + スプライトレジスタを設定する. | |
3991 | + d2.l/d3.l/d4.l/d5.l を -1 にすると設定を変更しないが、始めての設定時に | |
3992 | + は -1 を指定してはいけない. | |
3993 | + | |
3994 | +============================================================================== | |
3995 | + | |
3996 | +$c7 _SP_REGGT スプライトレジスタの読み出し | |
3997 | + | |
3998 | +引数 d1.l スプライト番号(0〜127) | |
3999 | + | |
4000 | +返値 d0.l = 0 正常終了 | |
4001 | + -1 画面モードが不正 | |
4002 | + d2.l X 座標 | |
4003 | + d3.l Y 〃 | |
4004 | + d4.l パターンコード | |
4005 | + d5.l プライオリティ | |
4006 | + | |
4007 | + スプライトレジスタを読み出す. | |
4008 | + | |
4009 | +============================================================================== | |
4010 | + | |
4011 | +$c8 _BGSCRLST バックグラウンドスクロールレジスタの設定 | |
4012 | + | |
4013 | +引数 d1.l 垂直帰線期間検出/バックグラウンドの指定 | |
4014 | + bit 31 0:垂直帰線期間検出後設定 1:検出しない | |
4015 | + bit 0 BG 番号(0/1) | |
4016 | + d2.l X 座標(0〜1023) | |
4017 | + d3.l Y 〃 (〃 ) | |
4018 | + | |
4019 | +返値 d0.l = 0 正常終了 | |
4020 | + -1 画面モードが不正 | |
4021 | + | |
4022 | + バックグラウンドスクロールレジスタを設定する. d2.l/d3.lを -1 にすると | |
4023 | + 設定を変更しないが、始めての設定時には -1 を指定してはいけない. | |
4024 | + | |
4025 | +============================================================================== | |
4026 | + | |
4027 | +$c9 _BGSCRLGT バックグラウンドスクロールレジスタの読み出し | |
4028 | + | |
4029 | +引数 d1.l バックグラウンドの指定(0/1) | |
4030 | + | |
4031 | +返値 d0.l = 0 正常終了 | |
4032 | + -1 画面モードが不正 | |
4033 | + d2.l X 座標 | |
4034 | + d3.l Y 〃 | |
4035 | + | |
4036 | + バックグラウンドスクロールレジスタを読み出す. | |
4037 | + | |
4038 | +============================================================================== | |
4039 | + | |
4040 | +$ca _BGCTRLST バックグラウンドコントロールレジスタの設定 | |
4041 | + | |
4042 | +引数 d1.l バックグラウンドの指定(0/1) | |
4043 | + d2.l テキストページの指定(0/1) | |
4044 | + d3.l 表示/非表示指定(0:非表示 1:表示) | |
4045 | + | |
4046 | +返値 d0.l = 0 正常終了 | |
4047 | + -1 画面モードが不正 | |
4048 | + | |
4049 | + バックグラウンドコントロールレジスタを設定する. d2.l/d3.lを -1 にする | |
4050 | + と設定を変更しないが、始めての設定時には -1 を指定してはいけない. | |
4051 | + | |
4052 | +============================================================================== | |
4053 | + | |
4054 | +$cb _BGCTRLGT バックグラウンドコントロールレジスタの読み出し | |
4055 | + | |
4056 | +引数 d1.l バックグラウンドの指定(0/1) | |
4057 | + | |
4058 | +返値 d0.l = 0 テキストページ 0、非表示 | |
4059 | + 1 〃 0、 表示 | |
4060 | + 2 〃 1、非表示 | |
4061 | + 3 〃 1、 表示 | |
4062 | + -1 画面モードが不正 | |
4063 | + | |
4064 | + バックグラウンドコントロールレジスタを読み出す. | |
4065 | + | |
4066 | +============================================================================== | |
4067 | + | |
4068 | +$cc _BGTEXTCL バックグラウンドテキストのクリア | |
4069 | + | |
4070 | +引数 d1.l テキストページの指定(0/1) | |
4071 | + d2.l パターンコード | |
4072 | + | |
4073 | +返値 d0.l = 0 正常終了 | |
4074 | + -1 画面モードが不正 | |
4075 | + | |
4076 | + バックグラウンド画面の指定したテキストページをパターンコードで埋める. | |
4077 | + | |
4078 | +============================================================================== | |
4079 | + | |
4080 | +$cd _BGTEXTST バックグラウンドテキストの設定 | |
4081 | + | |
4082 | +引数 d1.l テキストページの指定(0/1) | |
4083 | + d2.l X 座標(0〜63) | |
4084 | + d3.l Y 〃 ( 〃 ) | |
4085 | + d4.l パターンコード | |
4086 | + | |
4087 | +返値 d0.l = 0 正常終了 | |
4088 | + -1 画面モードが不正 | |
4089 | + | |
4090 | + バックグラウンド画面のテキストページにパターンコードを設定する. | |
4091 | + | |
4092 | +============================================================================== | |
4093 | + | |
4094 | +$ce _BGTEXTGT バックグラウンドテキストの読み出し | |
4095 | + | |
4096 | +引数 d1.l テキストページの指定(0/1) | |
4097 | + d2.l X 座標(0〜63) | |
4098 | + d3.l Y 〃 ( 〃 ) | |
4099 | + | |
4100 | +返値 d0.l = -1 画面モードが不正 | |
4101 | + その他 パターンコード | |
4102 | + | |
4103 | + バックグラウンド画面のテキストページからパターンコードを読み出す. | |
4104 | + | |
4105 | +============================================================================== | |
4106 | + | |
4107 | +$cf _SPALET スプライトパレットの設定 | |
4108 | + | |
4109 | +引数 d1.l 垂直帰線期間検出/パレットコード | |
4110 | + bit 31 0:垂直帰線期間検出後設定 1:検出しない | |
4111 | + bit 3〜 0 パレットコード(0〜15 若しくは 16〜255) | |
4112 | + d2.l パレットブロック(1〜15 若しくは 0) | |
4113 | + d3.l カラーコード(d3.l = -1 の時カラーコードを調べる) | |
4114 | + | |
4115 | +返値 d0.l = -1 画面モードが不正 | |
4116 | + -2 パレットブロック 0 を設定/収得しようとした | |
4117 | + その他 変更前の設定 | |
4118 | + | |
4119 | + スプライトパレットを設定する. | |
4120 | + パレットブロックに 0 を指定した場合は、パレットコードをパレット先頭か | |
4121 | + らの通し番号で指定する事が出来る. ただし、パレットブロック 0 は指定で | |
4122 | + きないので、パレットコードは 16 以上に限る. | |
4123 | + 垂直帰線期間を検出せずにパレットを設定すると、画面がちらつく. | |
4124 | + | |
4125 | +============================================================================== | |
4126 | + | |
4127 | +$d3 _TXXLINE テキスト画面の水平ライン | |
4128 | + | |
4129 | +引数 a1.l パラメータバッファのアドレス | |
4130 | + (0,a1) テキストプレーン(0〜3) | |
4131 | + (2,a1) X 座標 | |
4132 | + (4,a1) Y 〃 | |
4133 | + (6,a1) X 方向の長さ | |
4134 | + (8,a1) ラインスタイル(下位バイトのみ有効) | |
4135 | + | |
4136 | + テキスト画面に垂直線を描画する. | |
4137 | + ROM IOCS version 1.3 若しくは IOCS.X 常駐時は、テキストプレーンの指定 | |
4138 | + において最上位ビットを 1 にすることにより、複数プレーンに同時に描画す | |
4139 | + る事が出来る. bit 0〜3 がプレーン0〜3に対応する. また、呼び出された時 | |
4140 | + にテキスト同時アクセス機能が有効になっていれば、テキストプレーンの指定 | |
4141 | + は無視され、設定されていたプレーンに描画される. | |
4142 | + | |
4143 | +============================================================================== | |
4144 | + | |
4145 | +$d4 _TXYLINE テキスト画面の垂直ライン | |
4146 | + | |
4147 | +引数 a1.l パラメータバッファのアドレス | |
4148 | + (0,a1) テキストプレーン(0〜3) | |
4149 | + (2,a1) X 座標 | |
4150 | + (4,a1) Y 〃 | |
4151 | + (6,a1) Y 方向の長さ | |
4152 | + (8,a1) ラインスタイル(下位バイトのみ有効) | |
4153 | + | |
4154 | + テキスト画面に水平線を描画する. | |
4155 | + テキストプレーンの指定は _TXXLINE と同じ. | |
4156 | + | |
4157 | +============================================================================== | |
4158 | + | |
4159 | +$d5 _TXLINE テキスト画面のライン | |
4160 | + | |
4161 | +引数 a1.l パラメータバッファのアドレス | |
4162 | + (0,a1) テキストプレーン(0〜3) | |
4163 | + (2,a1) 始点 X 座標 | |
4164 | + (4,a1) 〃 Y 〃 | |
4165 | + (6,a1) X 方向の長さ | |
4166 | + (8,a1) Y 〃 | |
4167 | + (10,a1) ラインスタイル(下位バイトのみ有効) | |
4168 | + | |
4169 | + テキスト画面に線を描画する. | |
4170 | + テキストプレーンの指定は _TXXLINE と同じ. | |
4171 | + CRTC のビットマスク機能を使用しているので、マウスカーソルはオフにして | |
4172 | + このコールを呼び出ること. | |
4173 | + この IOCS コールは ROM IOCS version 1.3 若しくは IOCS.X 常駐時のみ使用 | |
4174 | + 可能. | |
4175 | + | |
4176 | +============================================================================== | |
4177 | + | |
4178 | +$d6 _TXBOX テキスト画面のボックス | |
4179 | + | |
4180 | +引数 a1.l パラメータバッファのアドレス | |
4181 | + (0,a1) テキストプレーン(0〜3) | |
4182 | + (2,a1) X 座標 | |
4183 | + (4,a1) Y 〃 | |
4184 | + (6,a1) X 方向の長さ | |
4185 | + (8,a1) Y 〃 | |
4186 | + (10,a1) ラインスタイル(下位バイトのみ有効) | |
4187 | + | |
4188 | + テキスト画面に長方形を描画する. | |
4189 | + テキストプレーンの指定は _TXXLINE と同じ. | |
4190 | + | |
4191 | +============================================================================== | |
4192 | + | |
4193 | +$d7 _TXFILL テキスト画面のボックスフィル | |
4194 | + | |
4195 | +引数 a1.l パラメータバッファのアドレス | |
4196 | + (0,a1) テキストプレーン(0〜3) | |
4197 | + (2,a1) X 座標 | |
4198 | + (4,a1) Y 〃 | |
4199 | + (6,a1) X 方向の長さ | |
4200 | + (8,a1) Y 〃 | |
4201 | + (10,a1) ラインスタイル | |
4202 | + | |
4203 | + テキスト画面に塗り潰した長方形を描画する. | |
4204 | + テキストプレーンの指定は _TXXLINE と同じ. | |
4205 | + ラインスタイルは、上位・下位バイトでそれぞれ偶数ライン目・奇数ライン目 | |
4206 | + の水平方向のラインスタイルを指定する. | |
4207 | + | |
4208 | +============================================================================== | |
4209 | + | |
4210 | +$d8 _TXREV テキスト画面の反転 | |
4211 | + | |
4212 | +引数 a1.l パラメータバッファのアドレス | |
4213 | + (0,a1) テキストプレーン(0〜3) | |
4214 | + (2,a1) X 座標 | |
4215 | + (4,a1) Y 〃 | |
4216 | + (6,a1) X 方向の長さ | |
4217 | + (8,a1) Y 〃 | |
4218 | + | |
4219 | + テキスト画面の指定範囲を反転する. | |
4220 | + ROM IOCS version 1.3 若しくは IOCS.X 常駐時、呼び出された時にテキスト | |
4221 | + 同時アクセス機能が有効になっていれば、テキストプレーンの指定は無視され、 | |
4222 | + 設定されていたプレーンに描画される. | |
4223 | + | |
4224 | +============================================================================== | |
4225 | + | |
4226 | +$df _TXRASCPY テキスト画面のラスターコピー | |
4227 | + | |
4228 | +引数 d1.hb コピー元ラスタ番号 | |
4229 | + d1.b コピー先〃 | |
4230 | + d2.w コピーラスタ数 | |
4231 | + d3.hb ポインタ移動方向(0:下方向 -1:上方向) | |
4232 | + d3.b テキストプレーン(bit 0〜3 がプレーン 0〜3 に対応する) | |
4233 | + | |
4234 | + テキスト画面の指定範囲をラスタコピーする. | |
4235 | + | |
4236 | +============================================================================== | |
4237 | + | |
4238 | +$f0 _OPMDRV OPMDRV 制御 | |
4239 | + | |
4240 | +引数 d1.l 機能番号 | |
4241 | + | |
4242 | + 音源ドライバ OPMDRV.X で追加されたファンクションコールを呼び出す. | |
4243 | + 引数/返値は機能番号によって異なる. | |
4244 | + | |
4245 | +============================================================================== | |
4246 | + | |
4247 | +$f1 _RSDRV 拡張 RS-232C 制御 | |
4248 | + | |
4249 | +引数 d2.hb AUX 番号(0〜5) | |
4250 | + d2.b 機能番号($30〜$39) | |
4251 | + d2.b = $30〜$35 指定したポートで直接 IOCS $30〜$35 の | |
4252 | + 機能を実行する. | |
4253 | + $36,$37 d1.l = バッファサイズ | |
4254 | + a1.l = バッファアドレス | |
4255 | + 指定ポートの受信バッファを設定する. | |
4256 | + $38,$39 未解析. | |
4257 | + | |
4258 | +返値 | |
4259 | + d2.b = $36,$37 の時 | |
4260 | + d1.w = 変更前のバッファサイズ | |
4261 | + a1.l = 変更前のバッファアドレス | |
4262 | + | |
4263 | + RSDRV.SYS で追加されたファンクションコールを呼び出す. | |
4264 | + 詳細不明. | |
4265 | + | |
4266 | +============================================================================== | |
4267 | + | |
4268 | +$f2 _A_JOYGET アナログジョイスティック制御 | |
4269 | + | |
4270 | +引数 d1.l 機能番号 | |
4271 | + d2.w モード(d1.l = 1 の時) | |
4272 | + d2.w = 0 デジタル | |
4273 | + 1 アナログ | |
4274 | + -1 現在の設定を調べる | |
4275 | + d2.w 通信速度(d1.l = 2 の時) | |
4276 | + d2.w = 0 最高速度 | |
4277 | + 1 最高速度の1/2 | |
4278 | + 2 〃 1/3 | |
4279 | + 3 〃 1/4 | |
4280 | + -1 現在の速度を調べる | |
4281 | + a1.l バッファアドレス(d1.l = 0 の時のみ) | |
4282 | + | |
4283 | +返値 d1.l = 0 の時、ステータス(-1 でエラー) | |
4284 | + 1 の時、変更前のモード | |
4285 | + 2 の時、変更前の速度 | |
4286 | + | |
4287 | + アナログジョイスティックドライバ AJOY.X で追加されたファンクション | |
4288 | + コールを呼び出す. | |
4289 | + | |
4290 | + d1.l = 0 の時、a1.l で指定したバッファにアナログジョイスティックのデー | |
4291 | + タを読み込む. ジョイスティックデータの内容は以下の通り. | |
4292 | + | |
4293 | +offset size | |
4294 | +0 1.w スティック上下(0:上〜255:下) | |
4295 | +2 1.w 〃 左右(0:左〜255:右) | |
4296 | +4 1.w スロットル | |
4297 | +6 1.w オプション | |
4298 | +8 1.w トリガ(押し下げ状態でビットが0になる) | |
4299 | + bit 11 A | |
4300 | + bit 10 B | |
4301 | + bit 9 A' | |
4302 | + bit 8 B' | |
4303 | + bit 7 A or A'(どちらかを押していれば0) | |
4304 | + bit 6 B or B'( 〃 ) | |
4305 | + bit 5 C | |
4306 | + bit 4 D | |
4307 | + bit 3 E1 | |
4308 | + bit 2 E2 | |
4309 | + bit 1 スタート | |
4310 | + bit 0 セレクト | |
4311 | + | |
4312 | + d1.l = 1 の時、ジョイスティックのモードを変更する. | |
4313 | + | |
4314 | + d1.l = 2 の時、ジョイスティックの通信速度を変更する. 最高速度に設定し | |
4315 | + た場合、ジョイスティックをリセットしない限り他の速度に変更出来なくなる. | |
4316 | + | |
4317 | +============================================================================== | |
4318 | + | |
4319 | +$f3 _MUSICDRV MUSICDRV 制御 | |
4320 | + | |
4321 | +引数 d1.l 機能番号 | |
4322 | + | |
4323 | + 音源ドライバ MUSICDRV.X で追加されたファンクションコールを呼び出す. | |
4324 | + 引数/返値は機能番号によって異なる. | |
4325 | + | |
4326 | +============================================================================== | |
4327 | + | |
4328 | +$f5 _SCSIDRV SCSI IOCS | |
4329 | + | |
4330 | +引数 d1.l 機能番号 | |
4331 | + | |
4332 | + SCSI IOCS で追加されたファンクションコールを呼び出す. | |
4333 | + 引数/返値は機能番号によって異なる. | |
4334 | + | |
4335 | +============================================================================== | |
4336 | + | |
4337 | +$fd _ABORTRST アボートする為に環境を再設定する | |
4338 | + | |
4339 | + アボートするための環境を再設定する. OS で使用する. | |
4340 | + | |
4341 | +============================================================================== | |
4342 | + | |
4343 | +$fe _IPLERR 再起動する | |
4344 | + | |
4345 | + 起動時のエラーで再起動する時に使用する. 通常は使用しない. | |
4346 | + | |
4347 | +============================================================================== | |
4348 | + | |
4349 | +$ff _ABORTJOB アボート | |
4350 | + | |
4351 | + アボートする. OS で使用する. | |
4352 | + | |
4353 | +============================================================================== | |
4354 | + | |
4355 | + | |
4356 | + Create account | |
4357 | + Log in | |
4358 | + | |
4359 | + Page | |
4360 | + Discussion | |
4361 | + | |
4362 | + Read | |
4363 | + View source | |
4364 | + View history | |
4365 | + | |
4366 | +Navigation | |
4367 | + | |
4368 | + Data Crystal Main Page | |
4369 | + RHDN Home | |
4370 | + Recent changes | |
4371 | + Random page | |
4372 | + Help | |
4373 | + | |
4374 | +Games | |
4375 | + | |
4376 | + RHDN Games List | |
4377 | + Translation Request List | |
4378 | + NES | |
4379 | + SNES | |
4380 | + GB/GBC | |
4381 | + GBA | |
4382 | + GEN | |
4383 | + N64 | |
4384 | + PSX | |
4385 | + PS2 | |
4386 | + NGC | |
4387 | + | |
4388 | +Community History | |
4389 | + | |
4390 | + Fan Translation Community History | |
4391 | + | |
4392 | +Toolbox | |
4393 | + | |
4394 | + What links here | |
4395 | + Related changes | |
4396 | + Special pages | |
4397 | + Printable version | |
4398 | + Permanent link | |
4399 | + | |
4400 | + This page was last modified on 18 December 2011, at 21:11. | |
4401 | + This page has been accessed 722 times. | |
4402 | + Content is available under GNU Free Documentation License 1.2. | |
4403 | + | |
4404 | + Privacy policy | |
4405 | + About Data Crystal | |
4406 | + Disclaimers | |
4407 | + | |
4408 | + GNU Free Documentation License 1.2 | |
4409 | + Powered by MediaWiki | |
4410 | + | |
4411 | + | |
4412 | +/* vim:ts=8:sw=8: | |
4413 | + */ | |
4414 | + | |
4415 | + | |
4416 | + |
@@ -0,0 +1,186 @@ | ||
1 | +WinX68k高速版 ノウハウ | |
2 | + (参考 http://www.geocities.jp/carefreestyle/emu/x68k/win68khs01.html) | |
3 | + | |
4 | +1. 起動からSCSI HDD導入まで | |
5 | +(1)IPL ROM準備 | |
6 | + SCSI仮想ドライブを作成する場合は、X68030用のIPLROM30.DAT を使うこと | |
7 | + | |
8 | +(2)Font ファイル | |
9 | + ない場合Windowsのフォントから勝手に作成される | |
10 | + →cgrom.tmp | |
11 | + | |
12 | +(3)システムディスク | |
13 | + CompactXVIのHUMAN302.XDFあたりを利用 | |
14 | + | |
15 | +(4)ブランクディク | |
16 | + 適当な*.XDFをファイルコピーしてFDD1に接続してformat b: | |
17 | + | |
18 | +(5)SCSI HDD作成 | |
19 | + (a)Opting→Config→SCSIの「"Select SCSI" Setting in SRAM 」を Internal SCSI に設定 | |
20 | + (b)Option→Config→SCSIの「SCSI Drive」の設定項目を「Internal」 ID:「0」 UNIT:「0」 | |
21 | + (c)Option→Config→SCSIにて、「新規作成」でHDDイメージを作成. | |
22 | + (例)540Mbytes/512bytes/Block/HD | |
23 | + ファイル名に作成したイメージ名が表示されるので「適用」をクリック | |
24 | + (d)Option→InternalDeviceを「SCSI」にする | |
25 | + (e)Option→ExternalSCSIのチェックをOFFにする | |
26 | + (f)System→Resetをし、Human68Kが再起動したら、switchを起動します. | |
27 | + SCSI-IDの項目が7になっていれば成功! | |
28 | + (g)DOS>format | |
29 | + SCSI装置を選択して、 | |
30 | + (a)装置初期化 | |
31 | + (b)領域作成で、容量、ボリューム名、システム転送ありで領域作成 | |
32 | + (h)copyall a:\*.* c:\*.* | |
33 | + (i)switchでBOOTを選択し、ブート順序をSCSI0(HDD)優先にする。 | |
34 | + (j)System→Resetでリブート | |
35 | + | |
36 | +2. メモリを増やす | |
37 | + switchを起動し、MEMORYの項目を増やしてSystem→Resetでリブート | |
38 | + A> memfree | |
39 | + で増えていることを確認 | |
40 | + | |
41 | +3. Windowsディスクをマウントする | |
42 | +(1)http://www.ksky.ne.jp/~yamama/emul/ | |
43 | + からEX68V215.lzhをダウンロードし、X_WINDRV.LZH を取り出す | |
44 | +(2)その中にあるFD1.XDFをFDD0にマウントする。 | |
45 | +(3)ドライバ組み込み | |
46 | + A> copy b:\WINDRV.SYS a:\SYS | |
47 | + A> ed a:\config.sys | |
48 | + 以下を追加 | |
49 | + ------- | |
50 | + DEVICE = \SYS\IOCS.X | |
51 | + DEVICE = \SYS\HISTORY.X /D\HIS\ /SH2,8,4 | |
52 | + DEVICE = \SYS\WINDRV.SYS <=★これ | |
53 | + ENVSET = 512 \STARTUP.ENV | |
54 | + ------- | |
55 | + Esc→Xで保存 | |
56 | +(4)FDD0をイジェクトしてSystem→Resetでリブート | |
57 | + | |
58 | +4. その他導入物 (これらを入れて累計8MB) | |
59 | +(1)HIOCS (画面表示高速化) | |
60 | + DEVICE = \SYS\IOCS.X | |
61 | + ↓ | |
62 | + DEVICE = \SYS\HIOCS.X | |
63 | +(2)twentyone.x (ファイル21文字化、ドット複数利用可能化) | |
64 | + autoexec.bat | |
65 | + ---- | |
66 | + a:\usr\local\bin\twentyone.x +P | |
67 | + ---- | |
68 | + CONFIG.SYSで指定してもOK | |
69 | + | |
70 | +(3)lndrv.x / ln.x (シンボリックリンク、//の統合などvimの前提) | |
71 | + autoexec.bat | |
72 | + ---- | |
73 | + a:\usr\local\bin\lndrv.x | |
74 | + ---- | |
75 | + twentyone 必須 | |
76 | + CONFIG.SYSで指定してもOK | |
77 | + | |
78 | + | |
79 | +5. Cコンパイラ (約3MB/累計11MB) | |
80 | +5.1 純正のXCインストール | |
81 | +(1)無償公開された、各FDイメージのボリューム名を以下に訂正する | |
82 | + 「XC_SYS1」→「XCシステム#1」 | |
83 | + 「XC_SYS2」→「XCシステム#2」 | |
84 | + 「XC_LIB」→「XCライブラリ」 | |
85 | + (a)FDを挿入 | |
86 | + (b)以下のコマンドでボリューム名変更。 | |
87 | + 半角カナはマウスの真ん中ボタンを押して、仮想キーボードを出し、 | |
88 | + 「かな」キーを押した後カナを入力する。 | |
89 | + A>vol a:XCシステム#1/S | |
90 | + A>vol b:XCシステム#2/S | |
91 | + --FDD1をXC_LIBディスクに差し替え-- | |
92 | + A>vol b:XCライブラリ/S | |
93 | + | |
94 | +(2)switchでBOOTデバイスをSTDにし、CコンパイラFD1をセット | |
95 | + CコンパイラのFD1でブートする | |
96 | + | |
97 | +(3)インストーラが起動するので | |
98 | + ハードディスク(C:)にインストールする。(FDで起動しているのでCドライブとなる) | |
99 | + | |
100 | +(4)必要な環境変数が設定されている C.bat の内容を | |
101 | + HDDドライブのautoexec.batに追加する。 | |
102 | + C.bat | |
103 | + ------ | |
104 | + echo off | |
105 | + path a:\;a:\bin;a:\xc;a:\xc\cc;a:\xc\bin;a:\xc\bc;a:\xc\basic2 | |
106 | + set include=a:\xc\include | |
107 | + set lib=a:\xc\lib | |
108 | + set cc=a:\xc\cc | |
109 | + set bc=a:\xc\bc | |
110 | + temp=A: | |
111 | + A: | |
112 | + cd a:\xc | |
113 | + ------ | |
114 | + | |
115 | +6. gcc | |
116 | +6.1 libc32bのインストール (XCを入れる必要がなかったかも) | |
117 | + A> cp -rp libc32b a:/ | |
118 | + | |
119 | +6.2 include, libのパスを変更 | |
120 | + --- | |
121 | + set include=A:\XC\INCLUDE | |
122 | + set lib=A:\XC\LIB | |
123 | + --- | |
124 | + ↓ | |
125 | + --- | |
126 | + set include=A:\libc32b\include | |
127 | + set lib=A:\libc32b\lib | |
128 | + --- | |
129 | + | |
130 | +6.3 gcc.xをa:/usr/local/binにコピー (ここで累計14MB) | |
131 | + | |
132 | +6.4 アセンブラ、リンカを高速のものにする | |
133 | + has.x, hlk.xを導入し、 | |
134 | + 環境変数を設定する | |
135 | + autoexec.bat | |
136 | + ------- | |
137 | + set GCC_AS=has.x | |
138 | + set GCC_LINK=hlk.x | |
139 | + REM set GCC_LIB=.a <= GCCがみるライブラリの拡張子を指定する場合 (.a/.l) | |
140 | + set GCC_NO_XCLIB=1 <= XCのライブラリを使わない場合に指定 | |
141 | + ------- | |
142 | + | |
143 | + または、as.x, lk.xにリネームし、PATHのはじめの | |
144 | + 方に置いておく。 | |
145 | + | |
146 | + cd a:\usr\local\bin | |
147 | + cp -p has.x as.x | |
148 | + cp -p hlk.x lk.x | |
149 | + | |
150 | +7. SX-Window | |
151 | + | |
152 | + | |
153 | +10. X-BASIC | |
154 | + 開始 | |
155 | + A> basic | |
156 | + 終了 | |
157 | + bas> exit(0) | |
158 | + 保存 | |
159 | + save "a:\basic2\xxx.bas" | |
160 | + ロード | |
161 | + load "a:\basic2\xxx.bas" | |
162 | + ロード&実行 | |
163 | + run "a:\basic2\xxx.bas" | |
164 | + | |
165 | + | |
166 | +11. エミュレーションClock変更 | |
167 | + Option→「xxMHz」 | |
168 | + NoWaitにするには | |
169 | + Option→「No-Wait Mode」 | |
170 | + ベースクロックによりNoWait時のクロックも変わるので注意 | |
171 | + | |
172 | +12. フリーソースコンパイルノウハウ | |
173 | +12.1 ctags | |
174 | + (1)gzip -dc ctags......tar.gz | |
175 | + (2)linuxで./configure | |
176 | + (3)作成されたMakefile, config.hをいただく。 | |
177 | + (4)make | |
178 | + (5)コンパイルエラー対策 | |
179 | + (a)「NULLが未宣言」というエラーが出たら、そのソースに | |
180 | + #include <stdio.h> | |
181 | + を追加する。 | |
182 | + (b)regex.hがないといわれる | |
183 | + →config.h の #define HAVE_REGCOMP 1 はコメントアウトする。 | |
184 | + | |
185 | + | |
186 | + |
@@ -0,0 +1,4742 @@ | ||
1 | + | |
2 | +X-BASIC リファレンス | |
3 | +(C)http://ww3.enjoy.ne.jp/~zoomark/ip/xb/xb_frm.html | |
4 | + | |
5 | + | |
6 | +※BASICの各命令・関数は、以下の書式で記述されています。 | |
7 | + | |
8 | + | |
9 | +命令文や関数名 種類 | |
10 | + | |
11 | + 書式: | |
12 | + 命令や関数の書き方です。 | |
13 | + | |
14 | + 赤太字で強調された項目は、必要とされる引数やデータです。 | |
15 | + | |
16 | + 【】で囲まれた項目は、省略可能です。 | |
17 | + | |
18 | + …は、同様に繰り返し、引数やデータを与える事を現します。 | |
19 | + | |
20 | + これ以外の文字(予約語、()、{}、[]などの記号類)はそのまま入力しなければなりません。 | |
21 | + | |
22 | + コマンドやステートメントなどは、原則として命令名とデータの間には空白を入れてください。また、関数名と引数をくくる左括弧の間には空白を入れないでください。 | |
23 | + | |
24 | + 省略形: | |
25 | + 省略出来る命令や関数の書き方です。なお、引数、括弧などは省略できません。 | |
26 | + | |
27 | + 引 数: | |
28 | + 関数が原則としてどういう型の引数を必要としているかを現しています。 | |
29 | + | |
30 | + 数値型としてint、char、float、文字型としてstrの4つのデータがありますが、複数の種類の引数を取る関数については、それぞれのデータ型に応じて括弧でくくってまとめてあります。 | |
31 | + | |
32 | + 数値型であれば何でもよい場合は数値型と表記しています。 | |
33 | + | |
34 | + また、引数が特に変数名や配列名(配列の場合は次元も明記しています)でなければならない場合(定数、式などが引数とならない)は、そのように明記しています。 | |
35 | + | |
36 | + 戻り値: | |
37 | + すべての関数について、その戻り値の型が書いてあります。 | |
38 | + | |
39 | + int、char、float、str、および意味を持たない戻り値(戻り値が存在しない場合も含む)としてvoid、の5つの型があります。 | |
40 | + | |
41 | + 機 能: | |
42 | + 各命令や関数の機能および、引数の意味などを説明しています。 | |
43 | + | |
44 | + → | |
45 | + 関連した命令や、文法など参考になるものを挙げてあります。 | |
46 | + | |
47 | + 用 例: | |
48 | + 簡単なサンプルプログラムや用例です。 | |
49 | + | |
50 | + | |
51 | +{ABS 標準関数 | |
52 | + | |
53 | + 書 式:abs(n) | |
54 | + | |
55 | + 引 数:float | |
56 | + | |
57 | + 戻り値:float | |
58 | + | |
59 | + 機 能:数値nの絶対値を返します。 | |
60 | + | |
61 | + 用 例: | |
62 | + | |
63 | + | |
64 | +{APAGE GRAPH.FNC | |
65 | + | |
66 | + 書 式:apage(pa) | |
67 | + | |
68 | + 引 数:char | |
69 | + | |
70 | + 戻り値:void | |
71 | + | |
72 | + 機 能: | |
73 | + | |
74 | + グラフィック画面のアクティブページpa(グラフィック画面で実際に読み書きするページ)を指定します。 | |
75 | + | |
76 | + ページ番号は0〜3で、最大値はグラフィック画面の実画面サイズ及び色モードによります。 | |
77 | + | |
78 | + グラフィック画面の実画面サイズ及び色モードによるアクティブページpaの値の範囲 | |
79 | + | |
80 | + 1024×1024(16色モード) …0 | |
81 | + 512×512(16色モード) …0〜3 | |
82 | + 512×512(256色モード) …0、1 | |
83 | + 512×512(65536色モード) …0 | |
84 | + | |
85 | + → home、screen、vpage、window | |
86 | + | |
87 | + 用 例: | |
88 | + | |
89 | + | |
90 | +{ASC 標準関数 | |
91 | + | |
92 | + 書 式:asc(st) | |
93 | + | |
94 | + 引 数:str | |
95 | + | |
96 | + 戻り値:int | |
97 | + | |
98 | + 機 能: | |
99 | + | |
100 | + 文字列stの先頭文字のキャラクタコードを返します。 | |
101 | + | |
102 | + stが null文字の場合は0を返します。文字とキャラクタコードの対応については、「キャラクタコード表」を参照して下さい。 | |
103 | + | |
104 | + → chr$、「キャラクタコード表」 | |
105 | + | |
106 | + 用 例: | |
107 | + | |
108 | + | |
109 | +{ATAN 標準関数 | |
110 | + | |
111 | + 書 式:atan(n) | |
112 | + | |
113 | + 引 数:float | |
114 | + | |
115 | + 戻り値:float | |
116 | + | |
117 | + 機 能: | |
118 | + | |
119 | + 数値nの逆正接(アークタンジェント)を返します。 | |
120 | + -π/2 から π/2 までの値を返します。 | |
121 | + | |
122 | + 用 例: | |
123 | + | |
124 | + | |
125 | +{ATOF 標準関数 | |
126 | + | |
127 | + 書 式:atof(st) | |
128 | + | |
129 | + 引 数:str | |
130 | + | |
131 | + 戻り値:float | |
132 | + | |
133 | + 機 能: | |
134 | + | |
135 | + 文字列stを float型の数値に変換します。stは、float型の数値に変換できる文字(+、-、0〜9、.、e、E)の連続です。もし float型の数値として判定できない文字があると、そこで変換するのをやめます。 | |
136 | + | |
137 | + stの先頭の空白文字やタブ文字は無視されます。また、小数点の前後には少なくとも1つ以上の数字が必要です。さらに、指数表現では、 e あるいは E の後ろに少なくとも1つ以上の数字が必要です。 | |
138 | + | |
139 | + stが null文字の場合は、エラーとなります。 | |
140 | + | |
141 | + 変換できる文字列stの書式は次の通りです。 | |
142 | + 【whitespace】【sign】【.digits】【eまたはE【sign】digits】 | |
143 | + | |
144 | + whitespace 空白文字またはタブ文字で無視されます。 | |
145 | + sign "+"または"-" | |
146 | + digits 1つ以上の10進数で、小数点の前に何もなければ、小数点の後ろに少なくとも1つの数字が必要です。 | |
147 | + 指数 指数は"e"または"E"と符号をともなった10進数で構成されます。 | |
148 | + | |
149 | + 例) | |
150 | + st="-2.51235e-2" | |
151 | + | |
152 | + → ecvt、fcvt、gcvt | |
153 | + | |
154 | + 用 例: | |
155 | + | |
156 | + | |
157 | +{ATOI 標準関数 | |
158 | + | |
159 | + 書 式:atoi(st) | |
160 | + | |
161 | + 引 数:str | |
162 | + | |
163 | + 戻り値:int | |
164 | + | |
165 | + 機 能: | |
166 | + | |
167 | + 文字列stを int型の数値に変換します。stは、int型の数値に変換できる文字(0〜9、+、-)の連続です。もし int型の数値として判定できない文字があると、そこで変換するのをやめます。 | |
168 | + | |
169 | + stの先頭の空白文字やタブ文字は無視されます。またstには少なくとも1つ以上の数字が必要です。 | |
170 | + | |
171 | + stが null文字の場合は、エラーとなります。 | |
172 | + | |
173 | + 変換できる文字列stの書式は次の通りです。 | |
174 | + 【whitespace】【sign】digits | |
175 | + | |
176 | + whitespace 空白文字またはタブ文字で無視されます。 | |
177 | + sign "+"または"-" | |
178 | + digits 1つ以上の10進数 | |
179 | + | |
180 | + → itoa | |
181 | + | |
182 | + 用 例: | |
183 | + | |
184 | + | |
185 | +{AUTO コマンド | |
186 | + | |
187 | + 書 式:auto【行番号】【増分】 | |
188 | + | |
189 | + 省略形:a. | |
190 | + | |
191 | + 機 能: | |
192 | + | |
193 | + プログラム行の先頭に行番号を自動的に発生させます。 | |
194 | + 行番号も増分も省略できますが、この場合は自動的に10が採用されます。 | |
195 | + たとえば、 | |
196 | + | |
197 | + auto 行番号は10を先頭に20、30…と付けられます(auto 10,10と同じ) | |
198 | + auto 100 行番号は100を先頭に110、120…と付けられます | |
199 | + auto ,5 行番号は10を先頭に15、20…と付けられます | |
200 | + | |
201 | + プログラム中にすでに存在する行と同じ行番号が発生した場合には、その行の内容がすべて表示されます。このとき、何も入力しないでリターンキーを押せば、その行の内容は変わりません。 | |
202 | + | |
203 | + auto機能を解除するときは、BREAKキー(または CTRL + Cキー)を押します。 | |
204 | + 解除した時のプログラム行はメモリに保存されません。 | |
205 | + | |
206 | + | |
207 | +{A_PLAY AUDIO.FNC | |
208 | + | |
209 | + 書 式:a_play(na,sf,md【,lng】) | |
210 | + | |
211 | + 引 数: | |
212 | + 数値型一次元配列名(na),char(sf,md,lng) | |
213 | + | |
214 | + 戻り値:void | |
215 | + | |
216 | + 機 能: | |
217 | + | |
218 | + 指定された配列naの PCMデータを再生します。 | |
219 | + | |
220 | + na…PCMデータを格納している数値型一次元配列名 | |
221 | + | |
222 | + sf…サンプリング周波数 | |
223 | + 0…3.9KHz | |
224 | + 1…5.2KHz | |
225 | + 2…7.8KHz | |
226 | + 3…10.4KHz | |
227 | + 4…15.6KHz | |
228 | + | |
229 | + 音楽を再生する場合、原則として a_rec関数で録音したときのサンプリング周波数sfを使用して下さい。それ以外を使用すると、録音した音を正常に再生できません。 | |
230 | + | |
231 | + md…音声出力モード(本体後面のオーディオ出力端子からの音声信号出力モード) | |
232 | + 0…出力カット | |
233 | + 1…左出力 | |
234 | + 2…右出力 | |
235 | + 3…ステレオ出力 | |
236 | + | |
237 | + lng…再生する配列naの添字0からの長さ | |
238 | + | |
239 | + lngの取りうる値は、1から、配列名naで宣言された配列の添字+1までです。 | |
240 | + lngを省略すると、すべてのPCMデータを再生します。 | |
241 | + | |
242 | + 用 例: | |
243 | + | |
244 | + | |
245 | +{A_REC AUDIO.FNC | |
246 | + | |
247 | + 書 式:a_rec(na,sf,lng) | |
248 | + | |
249 | + 引 数: | |
250 | + 数値型一次元配列名(na),char(sf,lng) | |
251 | + | |
252 | + 戻り値:void | |
253 | + | |
254 | + 機 能: | |
255 | + | |
256 | + 指定された配列naに PCMデータを録音します。 | |
257 | + | |
258 | + na…PCMデータを格納する数値型一次元配列名 | |
259 | + | |
260 | + sf…サンプリング周波数 | |
261 | + 0…3.9KHz(1秒間に消費するメモリサイズ1950バイト) | |
262 | + 1…5.2KHz(1秒間に消費するメモリサイズ2600バイト) | |
263 | + 2…7.8KHz(1秒間に消費するメモリサイズ3900バイト) | |
264 | + 3…10.4KHz(1秒間に消費するメモリサイズ5200バイト) | |
265 | + 4…15.6KHz(1秒間に消費するメモリサイズ7800バイト) | |
266 | + | |
267 | + lng…録音する配列naの添字0からの長さ | |
268 | + | |
269 | + lngの取りうる値は、1から、配列名naで宣言された配列の添字+1までです。 | |
270 | + lngを省略すると、すべてのPCMデータを録音します。 | |
271 | + | |
272 | + 用 例: | |
273 | + | |
274 | + | |
275 | +{BEEP ステートメント | |
276 | + | |
277 | + 書 式:beep | |
278 | + | |
279 | + 機 能: | |
280 | + | |
281 | + ビープ音を鳴らします。 print chr$(7) と同じ機能です。 | |
282 | + | |
283 | + 用 例: | |
284 | + | |
285 | + | |
286 | +{BG_FILL SPRITE.FNC | |
287 | + | |
288 | + 書 式:bg_fill(pg,pd) | |
289 | + | |
290 | + 引 数:char(pg),int(pd) | |
291 | + | |
292 | + 戻り値:int | |
293 | + | |
294 | + 機 能: | |
295 | + | |
296 | + 指定されたテキストページpgを、指定されたパターンデータpdで埋め尽くします。 | |
297 | + | |
298 | + pg…テキストページ(0、1) | |
299 | + pd…パターンデータ(0〜&HCFFF) | |
300 | + | |
301 | + パターンデータpdは、次のようなビット構成になっています。 | |
302 | + (ビット12、13は通常0になります) | |
303 | + | |
304 | + ビット15…垂直反転(0:通常、1:垂直反転) | |
305 | + ビット14…水平反転(0:通常、1:水平反転) | |
306 | + ビット8〜11…パレットブロックpb(1〜15) | |
307 | + ビット0〜7…パターンコードcd(0〜255) | |
308 | + | |
309 | + 垂直反転を指定すると、実際に定義されたパターンが上下反転して表示されます。 | |
310 | + また水平反転を指定すると、実際に定義されたパターンが左右反転して表示されます。 | |
311 | + | |
312 | + パレットブロックpdは各パターンに対して割り当てられているパレットで、1から15の値を返します。詳細については sp_color関数を参照して下さい。 | |
313 | + | |
314 | + テキストページ1しか使用しない場合のパターンコードcdは16×16ドットパターンの場合0から191までの値を返します。 | |
315 | + | |
316 | + テキストページ0、1とも使用する場合のパターンコードcdは16×16ドットパターンの場合0から127までの値を返します。 | |
317 | + | |
318 | + テキストページ0、1とも使用しない(バックグラウンドを使用しない)場合のパターンコードcdは16×16ドットパターンの場合0から255までの値を返します。 | |
319 | + | |
320 | + | |
321 | +{BG_GET SPRITE.FNC | |
322 | + | |
323 | + 書 式:bg_get(pg,x,y) | |
324 | + | |
325 | + 引 数:char | |
326 | + | |
327 | + 戻り値:int | |
328 | + | |
329 | + 機 能: | |
330 | + | |
331 | + 指定されたテキストページpgの指定された座標から、パターンデータを読み出します。 | |
332 | + | |
333 | + pg…テキストページ(0、1) | |
334 | + x…X座標(0〜63) | |
335 | + y…Y座標(0〜63) | |
336 | + | |
337 | + 読み出されたパターンデータpdは、次のようなビット構成になっています。 | |
338 | + (ビット12、13は通常0になります) | |
339 | + | |
340 | + ビット15…垂直反転(0:通常、1:垂直反転) | |
341 | + ビット14…水平反転(0:通常、1:水平反転) | |
342 | + ビット8〜11…パレットブロックpb(1〜15) | |
343 | + ビット0〜7…パターンコードcd(0〜255) | |
344 | + | |
345 | + 垂直反転になっている場合は、実際に定義されたパターンに対して上下が反転して表示されていることを意味します。 | |
346 | + 水平反転なっている場合は、実際に定義されたパターンに対して左右が反転して表示されていることを意味します。 | |
347 | + | |
348 | + パレットブロックpdは各パターンに対して指定するパレットで、詳細については sp_color関数を参照して下さい。 | |
349 | + | |
350 | + テキストページ1しか使用しない場合のパターンコードcdは16×16ドットパターンの場合0から191までの値をとる事が出来ます。 | |
351 | + | |
352 | + テキストページ0、1とも使用する場合のパターンコードcdは16×16ドットパターンの場合0から127までの値をとる事が出来ます。 | |
353 | + | |
354 | + テキストページ0、1とも使用しない(バックグラウンドを使用しない)場合のパターンコードcdは16×16ドットパターンの場合0から255までの値をとる事が出来ます。 | |
355 | + | |
356 | + → bg_put | |
357 | + | |
358 | + | |
359 | +{BG_PUT SPRITE.FNC | |
360 | + | |
361 | + 書 式:bg_put(pg,x,y,pd) | |
362 | + | |
363 | + 引 数:char(pg,x,y),int(pd) | |
364 | + | |
365 | + 戻り値:int | |
366 | + | |
367 | + 機 能: | |
368 | + | |
369 | + 指定されたテキストページpgの指定された座標に、指定されたパターンデータpdを設定します。 | |
370 | + | |
371 | + pg…テキストページ(0、1) | |
372 | + x…X座標(0〜63) | |
373 | + y…Y座標(0〜63) | |
374 | + pd…パターンデータ(0〜&HCFFF) | |
375 | + | |
376 | + パターンデータpdは、次のようなビット構成になっています。 | |
377 | + (ビット12、13は通常0になります) | |
378 | + | |
379 | + ビット15…垂直反転(0:通常、1:垂直反転) | |
380 | + ビット14…水平反転(0:通常、1:水平反転) | |
381 | + ビット8〜11…パレットブロックpb(1〜15) | |
382 | + ビット0〜7…パターンコードcd(0〜255) | |
383 | + | |
384 | + 垂直反転を指定すると、実際に定義されたパターンが上下反転して表示されます。 | |
385 | + また水平反転を指定すると、実際に定義されたパターンが左右反転して表示されます。 | |
386 | + | |
387 | + パレットブロックpdは各パターンに対して割り当てられているパレットで、1から15の値を返します。詳細については sp_color関数を参照して下さい。 | |
388 | + | |
389 | + テキストページ1しか使用しない場合のパターンコードcdは16×16ドットパターンの場合0から191までの値を返します。 | |
390 | + | |
391 | + テキストページ0、1とも使用する場合のパターンコードcdは16×16ドットパターンの場合0から127までの値を返します。 | |
392 | + | |
393 | + テキストページ0、1とも使用しない(バックグラウンドを使用しない)場合のパターンコードcdは16×16ドットパターンの場合0から255までの値を返します。 | |
394 | + | |
395 | + → bg_get | |
396 | + | |
397 | + | |
398 | +{BG_SCROLL SPRITE.FNC | |
399 | + | |
400 | + 書 式:bg_scroll(b【,x】【,y】) | |
401 | + | |
402 | + 引 数:char(b),int(x,y) | |
403 | + | |
404 | + 戻り値:int | |
405 | + | |
406 | + 機 能: | |
407 | + | |
408 | + バックグラウンドbのスクロール座標を設定します。 | |
409 | + | |
410 | + b…バックグラウンド(0、1) | |
411 | + x…スクロールX座標(0〜511または1023) | |
412 | + y…スクロールY座標(0〜511または1023) | |
413 | + | |
414 | + | |
415 | + なお、表示画面サイズが256×256の場合は、X、Y座標は0から511までの値をとる事が出来ます。 | |
416 | + 表示画面サイズが512×512の場合は、X、Y座標は0から1023までの値をとる事が出来ます。 | |
417 | + | |
418 | + ただし、表示画面サイズが512×512の場合はバックグラウンド1は表示されませんので注意してください。 | |
419 | + | |
420 | + → bg_stat | |
421 | + | |
422 | + | |
423 | +{BG_SET SPRITE.FNC | |
424 | + | |
425 | + 書 式:bg_set(b【,pg】【,md】) | |
426 | + | |
427 | + 引 数:char | |
428 | + | |
429 | + 戻り値:int | |
430 | + | |
431 | + 機 能: | |
432 | + | |
433 | + バックグラウンドbへのテキストページpgの割りあてと表示の設定を行います。 | |
434 | + | |
435 | + b …バックグラウンド(0、1) | |
436 | + pg…テキストページ(0、1) | |
437 | + md…バックグラウンドの表示 | |
438 | + (0=表示しない、1=表示する) | |
439 | + | |
440 | + なお、表示画面サイズが512×512の場合はバックグラウンド1は表示されませんので注意してください。 | |
441 | + 表示画面サイズが256×256の場合は、バックグラウンド0、1とも表示できます。 | |
442 | + | |
443 | + → bg_stat | |
444 | + | |
445 | + | |
446 | +{BG_STAT SPRITE.FNC | |
447 | + | |
448 | + 書 式:bg_stat(b,md) | |
449 | + | |
450 | + 引 数:char | |
451 | + | |
452 | + 戻り値:int | |
453 | + | |
454 | + 機 能: | |
455 | + | |
456 | + 指定されたバックグラウンドbの状態を読み出します。 | |
457 | + | |
458 | + b …バックグラウンド(0、1) | |
459 | + md…モード(0〜3) | |
460 | + | |
461 | + モードmdには読み出す内容を指定します。 | |
462 | + | |
463 | + 0=X座標(0〜511または1023) | |
464 | + 1=Y座標(0〜511または1023) | |
465 | + 2=テキストページ(0、1) | |
466 | + 3=バックグラウンドの表示 | |
467 | + (0=表示されていない、1=表示されている) | |
468 | + | |
469 | + | |
470 | + なお、表示画面サイズが256×256の場合は、X、Y座標には0から511までの範囲の値を返します。 | |
471 | + 表示画面サイズが512×512の場合は、X、Y座標は0から1023までの範囲の値を返します。 | |
472 | + | |
473 | + ただし、表示画面サイズが512×512の場合はバックグラウンド1は表示されませんので注意してください。 | |
474 | + | |
475 | + → bg_scroll、bg_set | |
476 | + | |
477 | + | |
478 | +{BIN$ 標準関数 | |
479 | + | |
480 | + 書 式:bin$(i) | |
481 | + | |
482 | + 引 数:int | |
483 | + | |
484 | + 戻り値:str | |
485 | + | |
486 | + 機 能: | |
487 | + | |
488 | + 整数値iを2進数の文字列に変換し返します。 | |
489 | + なお、上位の"0"は取り除かれます。 | |
490 | + | |
491 | + → hex$、oct$ | |
492 | + | |
493 | + 用 例: | |
494 | + | |
495 | + | |
496 | +{BOX GRAPH.FNC | |
497 | + | |
498 | + 書 式:box(x1,y1,x2,y2,p【,ls】) | |
499 | + | |
500 | + 引 数:int | |
501 | + | |
502 | + 戻り値:void | |
503 | + | |
504 | + 機 能: | |
505 | + | |
506 | + グラフィック画面上にボックス(四角形)を描きます。 | |
507 | + | |
508 | + x1…始点X座標 | |
509 | + y1…始点Y座標 | |
510 | + x2…終点X座標 | |
511 | + y2…終点Y座標 | |
512 | + p …パレットコード(色) | |
513 | + ls…ラインスタイル | |
514 | + | |
515 | + x1、y1、x2、y2は、-32768から32767までの値をとることができます。クリッピングエリアについてはwindow関数で指定された範囲になります。 | |
516 | + | |
517 | + また、パレットコードpは0から65535までの値をとることができ、その最大値はグラフィック画面の実画面サイズおよび色モードによります。 | |
518 | + | |
519 | + ラインスタイルlsは0〜65535の値をとり、これを16ビットのビットパターンとみなし、実線(&HFFFF)や点線(&HAAAA)などを指定する事ができます。 | |
520 | + | |
521 | + 用 例: | |
522 | + | |
523 | + | |
524 | +{BREAK ステートメント | |
525 | + | |
526 | + 書 式:break | |
527 | + | |
528 | + 機 能: | |
529 | + | |
530 | + 最も内側のfor、repeat、switch、while文から抜け出します。 | |
531 | + | |
532 | + → continue | |
533 | + | |
534 | + 用 例: | |
535 | + | |
536 | + | |
537 | +{CHAR ステートメント | |
538 | + | |
539 | + 書 式:char 変数名【=定数式】【,…】 | |
540 | + | |
541 | + 機 能: | |
542 | + | |
543 | + 変数を整数(char)型として宣言します。同時に値を代入する事もできます。 | |
544 | + | |
545 | + 原則として、変数宣言はメインプログラムの先頭で行ってください。 | |
546 | + また、同じ名前の変数をメインプログラムの中で再宣言することはできません。 | |
547 | + | |
548 | + → float、int、str | |
549 | + | |
550 | + 用 例: | |
551 | + | |
552 | + | |
553 | +{CHDIR コマンド | |
554 | + | |
555 | + 書 式:chdir "ディレクトリ名" | |
556 | + | |
557 | + 機 能: | |
558 | + | |
559 | + ディレクトリを変更します。ディレクトリ名の詳細については、「Human68kユーザーズマニュアル」を参照してください。 | |
560 | + | |
561 | + 用 例:chdir "a:\sys" | |
562 | + | |
563 | + | |
564 | +{CHDRV コマンド | |
565 | + | |
566 | + 書 式:chdrv "ドライブ名" | |
567 | + | |
568 | + 機 能: | |
569 | + | |
570 | + カレントドライブを変更します。ドライブ名の詳細については、「Human68kユーザーズマニュアル」を参照してください。 | |
571 | + | |
572 | + 用 例:chdrv "a:" | |
573 | + | |
574 | + | |
575 | +{CHILD コマンド | |
576 | + | |
577 | + 書 式:!Human68kのコマンド | |
578 | + | |
579 | + 機 能: | |
580 | + | |
581 | + チャイルドプロセスを実行します。 | |
582 | + | |
583 | + たとえば、"command.x"をチャイルドプロセスで実行するためには、パスの通ったディレクトリに"command.x"というファイルがあり、さらに"command.x"をロードするだけのエリアが、フリーエリアとは別にメモリ上になければなりません。 | |
584 | + | |
585 | + なお、ここで使用できるHuman68kのコマンドについての詳細は、「Human68kユーザーズマニュアル」を参照してください。 | |
586 | + | |
587 | + 用 例:!dir *.* | |
588 | + | |
589 | + | |
590 | +{CHR$ 標準関数 | |
591 | + | |
592 | + 書 式:chr$(ch) | |
593 | + | |
594 | + 引 数:char | |
595 | + | |
596 | + 戻り値:str | |
597 | + | |
598 | + 機 能: | |
599 | + | |
600 | + キャラクタコードchの文字を返します。ch=0のときは null文字を返します。 | |
601 | + | |
602 | + chは0〜255の範囲でなければなりません。 | |
603 | + また、その文字がコントロールキャラクタとして定義されていると、基本的には文字は表示されず、そのコントロールコードの持つ機能が実行されます。ただし中には実行されないものもあります。 | |
604 | + | |
605 | + 文字とキャラクタコードの対応については、「キャラクタコード表」を参照して下さい。 | |
606 | + | |
607 | + → asc、「キャラクタコード表」 | |
608 | + | |
609 | + 用 例: | |
610 | + | |
611 | + | |
612 | +{CIRCLE GRAPH.FNC | |
613 | + | |
614 | + 書 式:circle(x,y,r,p【,s】【,e】【,hv】) | |
615 | + | |
616 | + 引 数:int | |
617 | + | |
618 | + 戻り値:void | |
619 | + | |
620 | + 機 能: | |
621 | + | |
622 | + グラフィック画面に上に円や楕円や扇形、円弧を描きます。 | |
623 | + | |
624 | + x …円の中心のX座標 | |
625 | + y …円の中心のY座標 | |
626 | + r …円の半径 | |
627 | + p …パレットコード(色) | |
628 | + s …開始角度(度) | |
629 | + e …終了角度(度) | |
630 | + hv…偏平率 | |
631 | + | |
632 | + x、yは、-32768から32767までの値をとり、半径rは、0から32767までの値をとることができます。クリッピングエリアについてはwindow関数で指定された範囲になります。 | |
633 | + | |
634 | + また、パレットコードpは0から65535までの値をとることができ、その最大値はグラフィック画面の実画面サイズおよび色モードによります。 | |
635 | + | |
636 | + 開始角度s、終了角度eは通常0°から360°の値をとります。-1°から-360°の値を使用すると扇型を描く事ができます。 | |
637 | + | |
638 | + 偏平率hvは0〜65535までの値をとる事が出来ます。 | |
639 | + hv<256なら横長楕円 | |
640 | + hv=256なら縦横非の真円(ただし768×512以外の表示画面サイズでは真円となりません) | |
641 | + hv>256なら縦長楕円 | |
642 | + | |
643 | + 用 例: | |
644 | + | |
645 | + | |
646 | +{CLEAR コマンド | |
647 | + | |
648 | + 書 式:clear | |
649 | + | |
650 | + 省略形:cl. | |
651 | + | |
652 | + 機 能: | |
653 | + | |
654 | + 変数とスタックを初期化します。プログラム中では使えません。 | |
655 | + | |
656 | + → free | |
657 | + | |
658 | + | |
659 | +{CLS ステートメント | |
660 | + | |
661 | + 書 式:cls | |
662 | + | |
663 | + 機 能:テキスト画面のみを消去します。 | |
664 | + | |
665 | + 用 例: | |
666 | + | |
667 | + | |
668 | +{COLOR ステートメント | |
669 | + | |
670 | + 書 式:color 属性 | |
671 | + | |
672 | + 省略形:col. | |
673 | + | |
674 | + 機 能: | |
675 | + | |
676 | + テキスト画面の文字の属性を設定します。 | |
677 | + | |
678 | + 文字の属性には、4つのパレットと、強調、リバースがあり、0〜15の値を使用することで設定できます。 | |
679 | + デフォルトとしては次のような属性がそれぞれ0から15に対応します。 | |
680 | + | |
681 | + 0 ノーマル 黒 8 リバース 黒 | |
682 | + 1 ノーマル シアン 9 リバース シアン | |
683 | + 2 ノーマル 黄色 10 リバース 黄色 | |
684 | + 3 ノーマル 白 11 リバース 白 | |
685 | + 4 ノーマル強調 黒 12 リバース強調 黒 | |
686 | + 5 ノーマル強調 シアン 13 リバース強調 シアン | |
687 | + 6 ノーマル強調 黄色 14 リバース強調 黄色 | |
688 | + 7 ノーマル強調 白 15 リバース強調 白 | |
689 | + | |
690 | + 文字の属性の0と4と8と12は、パレット(p0)に対応します。また、文字の属性の1と5と9と13は、パレット(p1)に対応し、2と6と10と14は、パレット(p2)に対応し、3と7と11と15は、パレット(p3)に対応します。 | |
691 | + | |
692 | + 各パレットを変更するには、color[]命令を使用して下さい。 | |
693 | + | |
694 | + 用 例: | |
695 | + | |
696 | + | |
697 | +{COLOR [] ステートメント | |
698 | + | |
699 | + 書 式:color [c0,c1,c2,c3] | |
700 | + | |
701 | + 省略形:col. | |
702 | + | |
703 | + 機 能: | |
704 | + | |
705 | + テキスト画面の各パレットにカラーコードを割りあてます。 | |
706 | + | |
707 | + c0…属性0、4、8、12のパレット(p0)に割りあてるカラーコード | |
708 | + c1…属性1、5、9、13のパレット(p1)に割りあてるカラーコード | |
709 | + c2…属性2、6、10、14のパレット(p2)に割りあてるカラーコード | |
710 | + c3…属性3、7、11、15のパレット(p3)に割りあてるカラーコード | |
711 | + | |
712 | + カラーコードは0〜65535の値を使用できます。属性については color命令を参照してください。 | |
713 | + | |
714 | + 用 例: | |
715 | + | |
716 | + | |
717 | +{CONSOLE ステートメント | |
718 | + | |
719 | + 書 式: | |
720 | + console 【スクロール開始行】,【スクロール行数】,ファンクションキー表示 | |
721 | + | |
722 | + 省略形:cons. | |
723 | + | |
724 | + 機 能: | |
725 | + | |
726 | + スクロール開始行で指定した行からスクロール行数分をテキスト画面のスクロールエリアとします。 | |
727 | + | |
728 | + 表示画面サイズが256×256以外のテキスト画面の最下行は、ファンクションキーの表示エリアになります。スクロール開始行のとりうる範囲は0から31まで、スクロール行数のとりうる範囲は1から32までです。 | |
729 | + | |
730 | + スクロール開始行とスクロール行数とファンクションキー表示の値をすべて加えた値は最大32までとなります。ただし、スクロール開始行で31を指定したり、あるいはスクロール行数で32を指定した場合は、ファンクションキー表示は0に設定して下さい。 | |
731 | + | |
732 | + 表示画面サイズが256×256のテキスト画面の場合は、常時ファンクションキー表示は0に設定し、スクロール開始行は0から15まで、スクロール行数は1から16までの範囲の値をとる事ができます。 | |
733 | + | |
734 | + スクロール開始行とスクロール行数とファンクションキー表示の値をすべて加えた値は最大16までとなります。 | |
735 | + | |
736 | + なお、ファンクションキー表示は0ならファンクションキー表示OFF、1ならファンクションキー表示ONを意味します。 | |
737 | + | |
738 | + console命令を実行すると、実行後、カーソルは表示画面の左上に移動し、またwidth命令を実行すると、condole 0,31,1に再設定されます。 | |
739 | + | |
740 | + なお、console ,,0はファンクションキーのみ表示OFFとし、console ,,1はファンクションキーのみ表示ONにします。この場合、スクロールエリアは変化しません。 | |
741 | + | |
742 | + 用 例: | |
743 | + | |
744 | + | |
745 | +{CONT コマンド | |
746 | + | |
747 | + 書 式:cont | |
748 | + | |
749 | + 省略形:c. | |
750 | + | |
751 | + 機 能: | |
752 | + | |
753 | + BREAKキー(または CTRL + Cキー)入力、または stop命令によって停止したプログラムの実行を再開します。 | |
754 | + | |
755 | + 実行停止中に list命令や print命令などを実行することはできますが、プログラムそのものの変更を行ったときは、cont命令による実行の再開はできません。 | |
756 | + | |
757 | + → stop | |
758 | + | |
759 | + | |
760 | +{CONTINUE ステートメント | |
761 | + | |
762 | + 書 式:continue | |
763 | + | |
764 | + 機 能: | |
765 | + | |
766 | + for、repeat、while文の次のループを強制的に開始します。 | |
767 | + | |
768 | + → break | |
769 | + | |
770 | + 用 例: | |
771 | + | |
772 | + | |
773 | +{CONTRAST GRAPH.FNC | |
774 | + | |
775 | + 書 式:contrast(ch) | |
776 | + | |
777 | + 引 数:char | |
778 | + | |
779 | + 戻り値:void | |
780 | + | |
781 | + 機 能: | |
782 | + | |
783 | + 画面全体のコントラストを指定します | |
784 | + ch… 0(文字やグラフィック、スプライトの表示が見えない) | |
785 | + : | |
786 | + 15(文字やグラフィック、スプライトの表示がよく見える) | |
787 | + | |
788 | + 用 例: | |
789 | + | |
790 | + | |
791 | +{COS 標準関数 | |
792 | + | |
793 | + 書 式:cos(n) | |
794 | + | |
795 | + 引 数:float | |
796 | + | |
797 | + 戻り値:float | |
798 | + | |
799 | + 機 能: | |
800 | + | |
801 | + 数値n(ラジアン)の余弦(コサイン)を返します。 | |
802 | + | |
803 | + 用 例: | |
804 | + | |
805 | + | |
806 | +{CRT 標準関数 | |
807 | + | |
808 | + 書 式:crt(cd) | |
809 | + | |
810 | + 引 数:char | |
811 | + | |
812 | + 戻り値:void | |
813 | + | |
814 | + 機 能: | |
815 | + | |
816 | + テレビ・ビデオ画面とコンピュータ画面を切り替えます。 | |
817 | + | |
818 | + cd…切り替えコード(0〜3) | |
819 | + 0 = テレビ・ビデオ画面の映像を表示 | |
820 | + 1 = コンピュータ画面を表示 | |
821 | + 2 = テレビ・ビデオ画面の映像のコントラストを下げてスーパーインポーズ表示 | |
822 | + 3 = テレビ・ビデオ画面の映像のコントラストを通常にしてスーパーインポーズ表示 | |
823 | + | |
824 | + 実行前に screen命令であらかじめ表示画面サイズを256×256または512×512に、ディスプレイ解像度をlow(標準解像度)に設定します。 | |
825 | + | |
826 | + カラーイメージユニットのテロッパ機能を使って、コンピュータ画像やスーパーインポーズ画像をビデオに録画する場合、crt(3)にあらかじめ設定してください。 | |
827 | + | |
828 | + なお、この関数を実行するには専用ディスプレイテレビが必要が必要です。 | |
829 | + | |
830 | + | |
831 | +{CSRLIN システム変数 | |
832 | + | |
833 | + 書 式:csrlin | |
834 | + | |
835 | + 戻り値:int | |
836 | + | |
837 | + 機 能: | |
838 | + | |
839 | + テキスト画面の現在のカーソルのY座標を返します。代入することはできません。 | |
840 | + | |
841 | + 用 例: | |
842 | + | |
843 | + | |
844 | +{DATE$ システム変数 | |
845 | + | |
846 | + 書 式:date$ | |
847 | + | |
848 | + 引 数:str | |
849 | + | |
850 | + 戻り値:str | |
851 | + | |
852 | + 機 能: | |
853 | + | |
854 | + 現在の日付を文字列として返します。代入することによって日付を設定できます。 | |
855 | + | |
856 | + 用 例: | |
857 | + | |
858 | + | |
859 | +{DAY$ システム変数 | |
860 | + | |
861 | + 書 式:day$ | |
862 | + | |
863 | + 戻り値:str | |
864 | + | |
865 | + 機 能: | |
866 | + | |
867 | + 現在の曜日を文字列として返します。代入することはできません。 | |
868 | + | |
869 | + 用 例: | |
870 | + | |
871 | + | |
872 | +{DELETE コマンド | |
873 | + | |
874 | + 書 式:delete 行番号の範囲 | |
875 | + | |
876 | + 省略形:del. | |
877 | + | |
878 | + 機 能: | |
879 | + | |
880 | + 指定されたプログラム行を削除します。 | |
881 | + | |
882 | + 行番号の指定方法によって、さまざまな形の削除が行えます。 | |
883 | + | |
884 | + delete 10 行番号10の行を削除します。 | |
885 | + delete -100 プログラムの先頭から行番号100までの行を削除します。 | |
886 | + delete 200- 行番号200からプログラムの最後までの行を削除します。 | |
887 | + | |
888 | + → list、new、renum | |
889 | + | |
890 | + | |
891 | +{DIM ステートメント | |
892 | + | |
893 | + 書 式: | |
894 | + dim 【型宣言】変数名(添え字の最大値【,添え字の最大値…】)【[文字バッファのサイズ]】【={代入定数式データリスト}】【,変数名…】 | |
895 | + | |
896 | + 機 能: | |
897 | + | |
898 | + 配列変数を使うことを宣言します。 | |
899 | + | |
900 | + dim文中で代入するデータは、={}で囲めば複数行に分けて記述できます。ただし、複数行に分けて記述した場合は、そのプログラムを save@命令でセーブできても、load@命令でロードできませんので注意してください。 | |
901 | + | |
902 | + 同じデータ型の配列はカンマで区切れば後に続けて1行に入力可能な文字数の範囲内で宣言できます。なお、型宣言を省略すると、int型の配列として扱われます。 | |
903 | + | |
904 | + 設定できる添字の最小値は0、最大値はフリーエリアが許す範囲です。 | |
905 | + | |
906 | + 文字バッファのサイズは1〜255の範囲で設定でき、str型の配列の1要素のとりえる文字列の最大の長さを指定します。省略した場合は32文字となります。 | |
907 | + | |
908 | + 原則として、配列変数の宣言はメインプログラムの先頭で行って下さい。同じ名前の配列を再宣言する事はできません。 | |
909 | + | |
910 | + 用 例: | |
911 | + | |
912 | + | |
913 | +{DSKF 標準関数 | |
914 | + | |
915 | + 書 式:dskf(d) | |
916 | + | |
917 | + 引 数:char | |
918 | + | |
919 | + 戻り値:int | |
920 | + | |
921 | + 機 能: | |
922 | + | |
923 | + 指定されたドライブdの空きディスク容量を返します。 | |
924 | + エラーの場合は-1を返します。 | |
925 | + | |
926 | + d… 0 カレントドライブ | |
927 | + 1 ドライブA | |
928 | + 2 ドライブB | |
929 | + ・ ・ | |
930 | + ・ ・ | |
931 | + | |
932 | + 用 例: | |
933 | + | |
934 | + | |
935 | +{ECVT 標準関数 | |
936 | + | |
937 | + 書 式:ecvt(f,i1,i2,i3) | |
938 | + | |
939 | + 引 数:float(f),int(i1),int型変数名(i2,i3) | |
940 | + | |
941 | + 戻り値:str | |
942 | + | |
943 | + 機 能: | |
944 | + | |
945 | + 浮動小数値fを文字列に変換し、その文字列を返します。 | |
946 | + 文字列として返されるのは数値のみです。 | |
947 | + | |
948 | + f … 文字列に変換したい浮動小数値 | |
949 | + i1… 文字列の桁数 | |
950 | + i2… 小数点の位置を返します。正の場合は、小数点は i2+1 の位置にあります。0または負の場合は、小数点は i2-1 の位置にあります。 | |
951 | + i3… 符号を表わす値を返します。正の場合は0、負の場合は1になります。 | |
952 | + | |
953 | + → atof、fcvt、gcvt | |
954 | + | |
955 | + 用 例: | |
956 | + | |
957 | + | |
958 | +{END ステートメント | |
959 | + | |
960 | + 書 式:end | |
961 | + | |
962 | + 機 能: | |
963 | + | |
964 | + プログラムを終了します。プログラム内にいくつ置いてもかまいません。 | |
965 | + ただし、最初に実行した end命令よりあとの命令文は実行されません。 | |
966 | + | |
967 | + 用 例: | |
968 | + | |
969 | + | |
970 | +{ERRNO システム変数 | |
971 | + | |
972 | + 書 式:errno | |
973 | + | |
974 | + 戻り値:int | |
975 | + | |
976 | + 機 能: | |
977 | + | |
978 | + 外部関数でエラーが発生したときのエラー番号を返します。 | |
979 | + 代入することはできません。 | |
980 | + | |
981 | + error off のモードの場合に有効になります。 | |
982 | + 戻り値として、次のような値を返します。 | |
983 | + | |
984 | + 0 …エラーが発生していない | |
985 | + 正の整数 …エラー番号 | |
986 | + 負の整数 …システムエラー時のエラー番号 | |
987 | + | |
988 | + | |
989 | +{ERROR ON/OFF ステートメント | |
990 | + | |
991 | + 書 式:error on または error off | |
992 | + | |
993 | + 機 能: | |
994 | + | |
995 | + errror on にすると、外部関数でエラーが発生したときにエラーメッセージを表示して実行を停止するモードになります。 | |
996 | + | |
997 | + error off にすると外部関数でエラーが発生してもエラーメッセージを表示せず、次のステートメントに実行が進められます。 | |
998 | + run命令実行直後は error onモードになっています。 | |
999 | + | |
1000 | + なお、error off のモードが有効なときは、プログラムで eroor off を実行している間のみです。 | |
1001 | + プログラムが終了して、"Ok"が表示されると error on のモードになります。 | |
1002 | + | |
1003 | + 用 例: | |
1004 | + | |
1005 | + | |
1006 | +{EXIT() ステートメント | |
1007 | + | |
1008 | + 書 式:exit() | |
1009 | + | |
1010 | + 機 能: | |
1011 | + | |
1012 | + 現在オープンされているファイルをクローズするなどの処理をした後、親プロセスに戻ります。 | |
1013 | + | |
1014 | + 用 例: | |
1015 | + | |
1016 | + | |
1017 | +{EXP 標準関数 | |
1018 | + | |
1019 | + 書 式:exp(n) | |
1020 | + | |
1021 | + 引 数:float | |
1022 | + | |
1023 | + 戻り値:float | |
1024 | + | |
1025 | + 機 能: | |
1026 | + | |
1027 | + 自然対数の底"e"のn乗を返します。 | |
1028 | + | |
1029 | + 用 例: | |
1030 | + | |
1031 | + | |
1032 | +{FCLOSE 標準関数 | |
1033 | + | |
1034 | + 書 式:fclose(fp) | |
1035 | + | |
1036 | + 引 数:int | |
1037 | + | |
1038 | + 戻り値:int | |
1039 | + | |
1040 | + 機 能: | |
1041 | + | |
1042 | + fopen関数によってオープンされたファイルをクローズします。 | |
1043 | + | |
1044 | + クローズした場合、戻り値として0を返します。 | |
1045 | + エラーの場合は-1を返します。 | |
1046 | + | |
1047 | + fp…ファイル番号 | |
1048 | + | |
1049 | + 用 例: | |
1050 | + | |
1051 | + | |
1052 | +{FCLOSEALL 標準関数 | |
1053 | + | |
1054 | + 書 式:fcloseall() | |
1055 | + | |
1056 | + 戻り値:int | |
1057 | + | |
1058 | + 機 能: | |
1059 | + | |
1060 | + オープン中の全てのファイルをクローズします。 | |
1061 | + | |
1062 | + 戻り値として、クローズしたファイルの個数を返します。 | |
1063 | + エラーの場合は-1を返します。 | |
1064 | + | |
1065 | + 用 例: | |
1066 | + | |
1067 | + | |
1068 | +{FCVT 標準関数 | |
1069 | + | |
1070 | + 書 式:fcvt(f,i1,i2,i3) | |
1071 | + | |
1072 | + 引 数:float(f),int(i1),int型変数名(i2,i3) | |
1073 | + | |
1074 | + 戻り値:str | |
1075 | + | |
1076 | + 機 能: | |
1077 | + | |
1078 | + 浮動小数値fを文字列に変換し、その文字列を返します。 | |
1079 | + 文字列として返されるのは数値のみです。 | |
1080 | + | |
1081 | + f … 文字列に変換したい浮動小数値 | |
1082 | + i1… 文字列の小数点以下の桁数 | |
1083 | + i2… 小数点の位置を返します。正の場合は、小数点は i2+1 の位置にあります。0または負の場合は、小数点は i2-1 の位置にあります。 | |
1084 | + i3… 符号を表わす値を返します。正の場合は0、負の場合は1になります。 | |
1085 | + | |
1086 | + → atof、ecvt、gcvt | |
1087 | + | |
1088 | + 用 例: | |
1089 | + | |
1090 | + | |
1091 | +{FDELETE 標準関数 | |
1092 | + | |
1093 | + 書 式:fdelete(fn) | |
1094 | + | |
1095 | + 引 数:str | |
1096 | + | |
1097 | + 戻り値:int | |
1098 | + | |
1099 | + 機 能: | |
1100 | + | |
1101 | + ファイルfnを削除します。 | |
1102 | + | |
1103 | + 削除できた場合、戻り値として0を返します。 | |
1104 | + エラーの場合は-1を返します。 | |
1105 | + | |
1106 | + fn…ファイル名 | |
1107 | + | |
1108 | + 用 例: | |
1109 | + | |
1110 | + | |
1111 | +{FEOF 標準関数 | |
1112 | + | |
1113 | + 書 式:feof(fp) | |
1114 | + | |
1115 | + 引 数:int | |
1116 | + | |
1117 | + 戻り値:int | |
1118 | + | |
1119 | + 機 能: | |
1120 | + | |
1121 | + 指定されたファイルの終了チェックを行います。 | |
1122 | + | |
1123 | + ファイルが終わりなら-1、終っていなければ0を返します。 | |
1124 | + エラーの場合も-1を返します。 | |
1125 | + | |
1126 | + fp…ファイル番号 | |
1127 | + | |
1128 | + 用 例: | |
1129 | + | |
1130 | + | |
1131 | +{FGETC 標準関数 | |
1132 | + | |
1133 | + 書 式:fgetc(fp) | |
1134 | + | |
1135 | + 引 数:int | |
1136 | + | |
1137 | + 戻り値:int | |
1138 | + | |
1139 | + 機 能: | |
1140 | + | |
1141 | + 指定されたファイルから1文字ずつ読み込みます。 | |
1142 | + 戻り値として、読み込んだ文字のキャラクターコードを返します。 | |
1143 | + ファイルの最後まで読み込んだ場合や、エラーの場合は-1を返します。 | |
1144 | + | |
1145 | + fp…ファイル番号 | |
1146 | + | |
1147 | + ファイル内のデータポインタの位置は、1バイトずつ移動していきます。 | |
1148 | + ファイル内をランダムアクセスしてデータポインタを移動する場合は、fseek関数を使用します。 | |
1149 | + | |
1150 | + → fputc | |
1151 | + | |
1152 | + 用 例: | |
1153 | + | |
1154 | + | |
1155 | +{FILES コマンド | |
1156 | + | |
1157 | + 書 式:【l】files 【"【ドライブ名】【ファイル名】"】 | |
1158 | + | |
1159 | + 省略形:【l】fi. | |
1160 | + | |
1161 | + 機 能: | |
1162 | + | |
1163 | + 指定されたドライブのファイルの一覧を表示します。 | |
1164 | + | |
1165 | + ドライブ名、ファイル名が省略された場合、カレントドライブのカレントディレクトリのすべてのファイル名を画面に表示します。 | |
1166 | + | |
1167 | + ドライブ名のみ指定された場合は指定されたドライブのカレントディレクトリのすべてのファイル名を画面に表示します。 | |
1168 | + | |
1169 | + ドライブ名とファイル名が指定された場合には、指定されたファイルの情報が表示されます。ワイルドカードも使用できます。 | |
1170 | + | |
1171 | + ドライブ名、ファイル名の詳細については、「Human68kユーザーズマニュアル」を参照してください。 | |
1172 | + | |
1173 | + lfiles命令では出力先がプリンタとなります。 | |
1174 | + | |
1175 | + 用 例:files "a:\*.*" | |
1176 | + | |
1177 | + | |
1178 | +{FILL GRAPH.FNC | |
1179 | + | |
1180 | + 書 式:fill(x1,y1,x2,y2,p) | |
1181 | + | |
1182 | + 引 数:int | |
1183 | + | |
1184 | + 戻り値:void | |
1185 | + | |
1186 | + 機 能: | |
1187 | + | |
1188 | + グラフィック画面上に中を塗りつぶしたボックス(四角形)を描きます。 | |
1189 | + | |
1190 | + x1…始点X座標 | |
1191 | + y1…始点Y座標 | |
1192 | + x2…終点X座標 | |
1193 | + y2…終点Y座標 | |
1194 | + p …パレットコード(色) | |
1195 | + | |
1196 | + x1、y1、x2、y2は、-32768から32767までの値をとることができます。クリッピングエリアについてはwindow関数で指定された範囲になります。 | |
1197 | + | |
1198 | + また、パレットコードpは0から65535までの値をとることができ、その最大値はグラフィック画面の実画面サイズおよび色モードによります。 | |
1199 | + | |
1200 | + 用 例: | |
1201 | + | |
1202 | + | |
1203 | +{FIX 標準関数 | |
1204 | + | |
1205 | + 書 式:fix(f) | |
1206 | + | |
1207 | + 引 数:float | |
1208 | + | |
1209 | + 戻り値:float | |
1210 | + | |
1211 | + 機 能: | |
1212 | + | |
1213 | + 浮動小数値fの小数点以下を切り捨てた値を返します。 | |
1214 | + | |
1215 | + 用 例: | |
1216 | + | |
1217 | + | |
1218 | +{FLOAT ステートメント | |
1219 | + | |
1220 | + 書 式:float 変数名【=定数式】【,…】 | |
1221 | + | |
1222 | + 機 能: | |
1223 | + | |
1224 | + 変数を実数(float)型として宣言します。同時に値を代入する事もできます。 | |
1225 | + | |
1226 | + 原則として、変数宣言はメインプログラムの先頭で行ってください。 | |
1227 | + また、同じ名前の変数をメインプログラム中で再宣言することはできません。 | |
1228 | + | |
1229 | + → char、int、str | |
1230 | + | |
1231 | + 用 例: | |
1232 | + | |
1233 | + | |
1234 | +{FOPEN 標準関数 | |
1235 | + | |
1236 | + 書 式:fopen(fn,md) | |
1237 | + | |
1238 | + 引 数:str | |
1239 | + | |
1240 | + 戻り値:int | |
1241 | + | |
1242 | + 機 能: | |
1243 | + | |
1244 | + 指定されたファイルを、モードを決めてオープンします。 | |
1245 | + | |
1246 | + 戻り値として、ファイル番号を返します。 | |
1247 | + エラーの場合は-1を返します。 | |
1248 | + | |
1249 | + fn …ファイル名 | |
1250 | + md …モード | |
1251 | + "r" すでに存在しているファイルを読み込み用(リード)としてオープンする。ファイルがない場合はエラー。 | |
1252 | + "w" すでに存在しているファイルを書き込み用(ライト)としてオープンする。ファイルがない場合はエラー。 | |
1253 | + "rw" すでに存在しているファイルを読み書き両用(リード/ライト)としてオープンする。ファイルがない場合はエラー。 | |
1254 | + "c" 新規ファイルを読み書き両用(リード/ライト)としてオープンする。同一ファイルが、すでに存在してる場合は、そのファイルを消去してから、読み書き両用(リード/ライト)として新しくオープンする。 | |
1255 | + | |
1256 | + 特に、既存ファイルのデータに対して、追加、修正する場合は、"w"、"rw"モードを使用します。 | |
1257 | + | |
1258 | + オープンされたばかりのファイルでは、ファイル内のデータポインタの位置は、ファイルの先頭にあります。 | |
1259 | + データポインタを移動する場合は、fseek関数を使用します。 | |
1260 | + | |
1261 | + 用 例: | |
1262 | + | |
1263 | + | |
1264 | +{FOR〜NEXT ステートメント | |
1265 | + | |
1266 | + 書 式: | |
1267 | + | |
1268 | + for int型変数名=初期値 to 最終値 | |
1269 | + : | |
1270 | + ループの内容 | |
1271 | + : | |
1272 | + next | |
1273 | + | |
1274 | + 機 能: | |
1275 | + | |
1276 | + for から next までの間で指定されたループの内容を、指定された回数だけ繰り返し(ループ)ます。 | |
1277 | + | |
1278 | + 増分は1です。 | |
1279 | + | |
1280 | + 初期値が最終値と等しい場合は、1回だけループの内容が実行されます。初期値が最終値より大きい場合は、ループの内容は一度も実行されません。 | |
1281 | + | |
1282 | + 用 例: | |
1283 | + | |
1284 | + | |
1285 | +{FPUTC 標準関数 | |
1286 | + | |
1287 | + 書 式:fgetc(ch,fp) | |
1288 | + | |
1289 | + 引 数:char(ch)、int(fp) | |
1290 | + | |
1291 | + 戻り値:int | |
1292 | + | |
1293 | + 機 能: | |
1294 | + | |
1295 | + 指定されたファイルに1文字ずつ書き込みます。 | |
1296 | + | |
1297 | + 戻り値として、書き込んだ文字のキャラクターコードchを返します。 | |
1298 | + ファイルへの書き込みができなかった場合や、エラーの場合は-1を返します。 | |
1299 | + | |
1300 | + ch…書き込むキャラクターコード | |
1301 | + fp…ファイル番号 | |
1302 | + | |
1303 | + キャラクターコードchは、0から255の値をとります。 | |
1304 | + | |
1305 | + ファイル内のデータポインタの位置は、1バイトずつ移動していきます。 | |
1306 | + ファイル内をランダムアクセスしてデータポインタを移動する場合は、fseek関数を使用します。 | |
1307 | + | |
1308 | + → fgetc | |
1309 | + | |
1310 | + 用 例: | |
1311 | + | |
1312 | + | |
1313 | +{FREAD 標準関数 | |
1314 | + | |
1315 | + 書 式:fread(na,n,fp) | |
1316 | + | |
1317 | + 引 数:数値型一次元配列名(na),int(n,fp) | |
1318 | + | |
1319 | + 戻り値:int | |
1320 | + | |
1321 | + 機 能: | |
1322 | + | |
1323 | + 指定されたファイルから、指定された要素数分nを指定された配列に読み込みます。 | |
1324 | + | |
1325 | + 戻り値として、実際に読み込んだ要素数を返します。 | |
1326 | + エラーの場合は-1を返します。 | |
1327 | + | |
1328 | + na… 数値型一次元配列名(int型または、char型または、float型の一次元配列名) | |
1329 | + n … 要素数(1バイト(char型)または4バイト(int型)または8バイト(float型)単位) | |
1330 | + fp… ファイル番号 | |
1331 | + | |
1332 | + ファイル内のデータポインタの位置は、指定された配列naのデータ型に対応して、char型であれば1バイトずつ、int型であれば4バイトずつ、float型であれば8バイトずつ、移動していきます。 | |
1333 | + | |
1334 | + ファイル内をランダムアクセスしてデータポインタを移動する場合は、fseek関数を使用します。 | |
1335 | + | |
1336 | + → fwrite | |
1337 | + | |
1338 | + 用 例: | |
1339 | + | |
1340 | + | |
1341 | +{FREADS 標準関数 | |
1342 | + | |
1343 | + 書 式:freads(st,fp) | |
1344 | + | |
1345 | + 引 数:str型変数名(st),int(fp) | |
1346 | + | |
1347 | + 戻り値:int | |
1348 | + | |
1349 | + 機 能: | |
1350 | + | |
1351 | + 指定されたファイルから1行を str型変数stに読み込みます。 | |
1352 | + | |
1353 | + 戻り値として、ファイルから読み込んだ文字数を返します。 | |
1354 | + ファイルの最後まで読み込んだ場合や、すでに読み込んでいる場合あるいはエラーの場合は、-1を返します。 | |
1355 | + | |
1356 | + st…読み込んだ文字列を格納するstr型変数名 | |
1357 | + fp…ファイル番号 | |
1358 | + | |
1359 | + 1行の読み込みを終了するのは、改行(CR(&HD)、LF(&H0A))が現れたときか、stの文字バッファがいっぱいになったときです。 | |
1360 | + | |
1361 | + ファイルの読み込みを終了するのは、ファイルが終った時か、ファイル終了コード(&H1A)が現れたときです。 | |
1362 | + | |
1363 | + なお、stの文字バッファには、改行およびファイル終了コードは書き込まれません。 | |
1364 | + | |
1365 | + ファイル内をランダムアクセスしてデータポインタを移動する場合は、fseek関数を使用します。 | |
1366 | + | |
1367 | + → fwrites | |
1368 | + | |
1369 | + 用 例: | |
1370 | + | |
1371 | + | |
1372 | +{FREE システム変数 | |
1373 | + | |
1374 | + 書 式:free | |
1375 | + | |
1376 | + 戻り値:int | |
1377 | + | |
1378 | + 機 能: | |
1379 | + | |
1380 | + 現在のメモリ上のフリーエリアを返します。代入する事はできません。 | |
1381 | + | |
1382 | + 用 例: | |
1383 | + | |
1384 | + | |
1385 | +{FRENAME 標準関数 | |
1386 | + | |
1387 | + 書 式:frename(fn1,fn2) | |
1388 | + | |
1389 | + 引 数:str | |
1390 | + | |
1391 | + 戻り値:int | |
1392 | + | |
1393 | + 機 能: | |
1394 | + | |
1395 | + ファイル名fn1のファイル名をファイル名fn2に変更します。 | |
1396 | + | |
1397 | + 変更できた場合、戻り値として0を返します。 | |
1398 | + エラーの場合は-1を返します。 | |
1399 | + | |
1400 | + fn1…変更したいファイル名 | |
1401 | + fn2…変更後のファイル名 | |
1402 | + | |
1403 | + 用 例: | |
1404 | + | |
1405 | + | |
1406 | +{FSEEK 標準関数 | |
1407 | + | |
1408 | + 書 式:fseek(fp,os,md) | |
1409 | + | |
1410 | + 引 数:int | |
1411 | + | |
1412 | + 戻り値:int | |
1413 | + | |
1414 | + 機 能: | |
1415 | + | |
1416 | + 指定されたファイル内のデータポインタを移動します。 | |
1417 | + ファイルをシークモードmdで指定された位置から1バイト単位でランダムアクセスするときに使用します。 | |
1418 | + | |
1419 | + シークモードmdで指定された位置から、オフセットosで指定されたところまで、ランダムアクセス後、新しいデータポインタの位置を返します。 | |
1420 | + エラーの場合は-1を返します。 | |
1421 | + | |
1422 | + fp…ファイル番号 | |
1423 | + os…オフセット(バイト単位) | |
1424 | + md…シークモード | |
1425 | + 0=ファイルの先頭 | |
1426 | + 1=現在の位置 | |
1427 | + 2=ファイルの終わり | |
1428 | + | |
1429 | + 用 例: | |
1430 | + | |
1431 | + | |
1432 | +{FUNC〜ENDFUNC〜RETURN() ステートメント | |
1433 | + | |
1434 | + 書 式: | |
1435 | + | |
1436 | + func 【戻り値の型】 関数名(【引数リスト】) | |
1437 | + : | |
1438 | + 関数の内容 | |
1439 | + : | |
1440 | + endfunc | |
1441 | + | |
1442 | + 機 能: | |
1443 | + | |
1444 | + 関数を定義します。 | |
1445 | + func〜endfunc の関数は、必ず end命令以後に定義します。また、func〜endfunc の関数内では、ローカル変数を指定でき、再帰呼び出しもできるような構造になっています。ただし、原則として配列変数などはメインプログラムの先頭で宣言してください。 | |
1446 | + | |
1447 | + 通常、引数はカンマ(,)で区切って引数リストに記述します。引数が無い場合は省略可能です。 | |
1448 | + | |
1449 | + それぞれの引数につづけてセミコロン(;)を書き、その後にデータ型を指定する事ができます。このデータ型の指定を省略すると引数のデータは int型になります。 | |
1450 | + | |
1451 | + メインプログラム中で、定義された関数に渡す引数のデータ型や個数は、引数リストのデータ型や個数と一致させて下さい。 | |
1452 | + | |
1453 | + func〜endfunc で定義された関数から演算結果などの値を返したい場合は次のような命令を func〜endfunc でかこまれた中で使用します。 | |
1454 | + | |
1455 | + return(【戻り値】) | |
1456 | + | |
1457 | + func〜endfunc で定義された関数からこの return命令によって返される戻り値のデータ型は、戻り値の型で指定する事ができます。省略した場合は int型になります。 | |
1458 | + | |
1459 | + func〜endfunc で定義された関数は、プログラムとしてメモリ上に存在していればダイレクトモードでも実行できます。 | |
1460 | + | |
1461 | + 用 例: | |
1462 | + | |
1463 | + | |
1464 | +{FWRITE 標準関数 | |
1465 | + | |
1466 | + 書 式:fwrite(na,n,fp) | |
1467 | + | |
1468 | + 引 数:数値型一次元配列名(na),int(n,fp) | |
1469 | + | |
1470 | + 戻り値:int | |
1471 | + | |
1472 | + 機 能: | |
1473 | + | |
1474 | + 指定された配列naのデータを、指定された要素数分nだけ指定されたファイルに書き込みます。 | |
1475 | + | |
1476 | + 戻り値として、実際に書き込んだ要素数を返します。 | |
1477 | + エラーの場合は-1を返します。 | |
1478 | + | |
1479 | + na… 数値型一次元配列名(int型または、char型または、float型の一次元配列名) | |
1480 | + n … 要素数(1バイト(char型)または4バイト(int型)または8バイト(float型)単位) | |
1481 | + fp… ファイル番号 | |
1482 | + | |
1483 | + ファイル内のデータポインタの位置は、指定された配列naのデータ型に対応して、char型であれば1バイトずつ、int型であれば4バイトずつ、float型であれば8バイトずつ、移動していきます。 | |
1484 | + | |
1485 | + ファイル内をランダムアクセスしてデータポインタを移動する場合は、fseek関数を使用します。 | |
1486 | + | |
1487 | + → fread | |
1488 | + | |
1489 | + 用 例: | |
1490 | + | |
1491 | + | |
1492 | +{FWRITES 標準関数 | |
1493 | + | |
1494 | + 書 式:fwrites(st,fp) | |
1495 | + | |
1496 | + 引 数:str型変数名(st),int(fp) | |
1497 | + | |
1498 | + 戻り値:int | |
1499 | + | |
1500 | + 機 能: | |
1501 | + | |
1502 | + 指定されたファイルに str型変数stの1行を書き込みます。 | |
1503 | + | |
1504 | + 戻り値として、ファイルに書き込んだ文字数を返します。 | |
1505 | + エラーの場合は、-1を返します。 | |
1506 | + | |
1507 | + st…書き込むべき文字列を格納しているstr型変数名 | |
1508 | + fp…ファイル番号 | |
1509 | + | |
1510 | + null文字(キャラクタコードの0)は書き込みません。 | |
1511 | + | |
1512 | + ファイル内をランダムアクセスしてデータポインタを移動する場合は、fseek関数を使用します。 | |
1513 | + | |
1514 | + → freads | |
1515 | + | |
1516 | + 用 例: | |
1517 | + | |
1518 | + | |
1519 | +{GCVT 標準関数 | |
1520 | + | |
1521 | + 書 式:gcvt(f,i) | |
1522 | + | |
1523 | + 引 数:float(f),int(i) | |
1524 | + | |
1525 | + 戻り値:str | |
1526 | + | |
1527 | + 機 能: | |
1528 | + | |
1529 | + 浮動小数値fを文字列に変換し、その文字列を返します。 | |
1530 | + | |
1531 | + f…文字列に変換したい浮動小数値 | |
1532 | + i…文字列の桁数 | |
1533 | + | |
1534 | + 通常は指定された桁数iの実数表現に変換しますが、それができない場合は指数表現に変換します。 | |
1535 | + 先頭の"0"は変換の際に取り除かれます。 | |
1536 | + | |
1537 | + → atof、ecvt、fcvt | |
1538 | + | |
1539 | + 用 例: | |
1540 | + | |
1541 | + | |
1542 | +{GET GRAPH.FNC | |
1543 | + | |
1544 | + 書 式:get(x1,y1,x2,y2,na) | |
1545 | + | |
1546 | + 引 数:int(x1,y1,x2,y2),数値型一次元配列(na) | |
1547 | + | |
1548 | + 戻り値:void | |
1549 | + | |
1550 | + 機 能: | |
1551 | + | |
1552 | + グラフィック画面の指定領域のドットパターンを指定された配列naに読み込みます。 | |
1553 | + | |
1554 | + x1…始点X座標 | |
1555 | + y1…始点Y座標 | |
1556 | + x2…終点X座標 | |
1557 | + y2…終点Y座標 | |
1558 | + na…ドットパターンを読み込む数値型一次元配列名 | |
1559 | + | |
1560 | + x1、y1、x2、y2は、window関数で指定された範囲内の値をとることができます。 | |
1561 | + | |
1562 | + また、配列naへのドットパターンの読み込みかたとしてはグラフィック画面の実画面サイズおよび色モードにより次のようになります。 | |
1563 | + | |
1564 | + 実画面サイズ1024×1024、16色モード(4ビット/4ドット構成) | |
1565 | + 読み込み順=(x1,y1),(x+1,y1),…(x2,y1),(x1,y1+1),(x1+1,y1+1)…(x2,y2) | |
1566 | + char型配列の場合=2ドット単位 | |
1567 | + int型配列の場合=8ドット単位 | |
1568 | + float型配列の場合=16ドット単位 | |
1569 | + | |
1570 | + 実画面サイズ512×512、16色モード | |
1571 | + 読み込み順=実画面サイズ1024×1024、16色モードと同様 | |
1572 | + ただし、apage関数によって、指定されたアクティブページ(0〜3)に対してのみ有効 | |
1573 | + | |
1574 | + 実画面サイズ512×512、256色モード | |
1575 | + 読み込み順=実画面サイズ1024×1024、16色モードと同様 | |
1576 | + char型配列の場合=1ドット単位 | |
1577 | + int型配列の場合=4ドット単位 | |
1578 | + float型配列の場合=8ドット単位 | |
1579 | + ただし、apage関数によって、指定されたアクティブページ(0、1)に対してのみ有効 | |
1580 | + | |
1581 | + 実画面サイズ512×512、65536色モード | |
1582 | + 読み込み順=実画面サイズ1024×1024、16色モードと同様 | |
1583 | + char型配列の場合=2要素1ドット単位 | |
1584 | + int型配列の場合=2ドット単位 | |
1585 | + float型配列の場合=4ドット単位 | |
1586 | + | |
1587 | + グラフィック画面への書込みについては put関数を参照してください。 | |
1588 | + | |
1589 | + → put | |
1590 | + | |
1591 | + 用 例: | |
1592 | + | |
1593 | + | |
1594 | +{GOSUB〜RETURN ステートメント | |
1595 | + | |
1596 | + 書 式:gosub 行番号 | |
1597 | + | |
1598 | + 機 能: | |
1599 | + | |
1600 | + 指定したサブルーチンを呼び出し、return命令で戻ります。 | |
1601 | + | |
1602 | + ただし、gosub命令を使用したプログラムは、行番号に依存したプログラムになるため load@命令、save@命令は使用できません。 | |
1603 | + | |
1604 | + また、renum命令による行番号の変更もできなくなります。 | |
1605 | + | |
1606 | + → goto | |
1607 | + | |
1608 | + 用 例: | |
1609 | + | |
1610 | + | |
1611 | +{GOTO ステートメント | |
1612 | + | |
1613 | + 書 式:goto 行番号 | |
1614 | + | |
1615 | + 機 能: | |
1616 | + | |
1617 | + 指定した行にジャンプします。 | |
1618 | + | |
1619 | + ただし、goto命令を使用したプログラムは、行番号に依存したプログラムになるため load@命令、save@命令は使用できません。 | |
1620 | + | |
1621 | + また、renum命令による行番号の変更もできなくなります。 | |
1622 | + | |
1623 | + goto命令で、for〜next、while〜endwhile などのブロック構造から外に出てしまうとプログラムの動作が正常でなくなる可能性があります。 | |
1624 | + | |
1625 | + 用 例: | |
1626 | + | |
1627 | + | |
1628 | +{HEX$ 標準関数 | |
1629 | + | |
1630 | + 書 式:hex$(i) | |
1631 | + | |
1632 | + 引 数:int | |
1633 | + | |
1634 | + 戻り値:str | |
1635 | + | |
1636 | + 機 能: | |
1637 | + | |
1638 | + 整数値iを16進数表現の文字列に変換し返します。 | |
1639 | + なお、上位の"0"は取り除かれます。 | |
1640 | + | |
1641 | + → bin$、oct$ | |
1642 | + | |
1643 | + 用 例: | |
1644 | + | |
1645 | + | |
1646 | +{HOME GRAPH.FNC | |
1647 | + | |
1648 | + 書 式:home(pa,x,y,) | |
1649 | + | |
1650 | + 引 数:chara(pa),int(x,y) | |
1651 | + | |
1652 | + 戻り値:void | |
1653 | + | |
1654 | + 機 能: | |
1655 | + | |
1656 | + グラフィック画面の実画面における表示画面の左上座標を指定します。 | |
1657 | + | |
1658 | + pa…アクティブページ | |
1659 | + x …実画面における表示画面の左上X座標 | |
1660 | + y …実画面における表示画面の左上Y座標 | |
1661 | + | |
1662 | + アクティブページpaはグラフィック画面の実画面サイズ及び色モードにより最大値(0〜3)が決まり、x、y、も同様にグラフィック画面の実画面サイズ及び色モードにより、実画面サイズが512×512の場合は0から511まで、あるいは実画面サイズが1024×1024の場合は0から1023までの値をとることができます。 | |
1663 | + | |
1664 | + screen命令を実行すると(x,y)には(0,0)が再設定されます。 | |
1665 | + | |
1666 | + → apage、screen、vpage、window | |
1667 | + | |
1668 | + 用 例: | |
1669 | + | |
1670 | + | |
1671 | +{HSV GRAPH.FNC | |
1672 | + | |
1673 | + 書 式:hsv(hu,sa,va) | |
1674 | + | |
1675 | + 引 数:char | |
1676 | + | |
1677 | + 戻り値:int | |
1678 | + | |
1679 | + 機 能: | |
1680 | + | |
1681 | + 色相(hu)、飽和度(sa)、明るさ(va)からカラーコードを求めます。 | |
1682 | + | |
1683 | + hu…0〜191 | |
1684 | + sa…0〜31 | |
1685 | + va…0〜31 | |
1686 | + | |
1687 | + なお、この hsv関数によって得られるカラーコードは、0〜65534までの偶数値になります。 | |
1688 | + したがって、それぞれの偶数値に1を加える事で、0〜65535までのカラーコードを指定できます。 | |
1689 | + | |
1690 | + 用 例: | |
1691 | + | |
1692 | + | |
1693 | +{IF〜THEN〜ELSE ステートメント | |
1694 | + | |
1695 | + 書 式:if 条件 then 文 【else 文】 | |
1696 | + | |
1697 | + 機 能: | |
1698 | + | |
1699 | + 条件で条件判断を行い、その結果に応じて文を実行します。 | |
1700 | + | |
1701 | + if に続けて条件を指定します。その条件が満たされたときは then 以下の文が実行され、そうでないときは else 以下の文が実行されます。 | |
1702 | + | |
1703 | + else 以降は省略することができます。その場合、条件が満たされなかったときは次の行が実行されます。 | |
1704 | + | |
1705 | + 条件には、以下のような比較演算子と論理演算子とが使えます。論理演算子は、複数の条件を指定するときに使います。 | |
1706 | + | |
1707 | + 比較演算子 意味 例 | |
1708 | + 式1= 式2 式1が式2と等しい if a=1 | |
1709 | + 式1<>式2 式1が式2と等しくない if a<>1 | |
1710 | + 式1< 式2 式1が式2より小さい if a<10 | |
1711 | + 式1> 式2 式1が式2より大きい if a>b | |
1712 | + 式1<=式2 式1が式2と等しいしいか、式2より小さい if a<=b+1 | |
1713 | + 式1>=式2 式1が式2と等しいか、式2より大きい if a>="n" | |
1714 | + | |
1715 | + 論理演算子 例 意味 | |
1716 | + not if not (a=1) a が1でなければ then 以下を実行 | |
1717 | + and if a=0 and b=3 a が0で、b が3のときのみ then 以下を実行 | |
1718 | + or if a<0 or b=0 a が0より小さいか、bが0のときに then 以下を実行 | |
1719 | + | |
1720 | + then節または else節は、{}と組み合わせて、複数行の条件判断に使用できます。 | |
1721 | + | |
1722 | + 用 例: | |
1723 | + | |
1724 | + | |
1725 | +{IMG_COLOR IMAGE.FNC | |
1726 | + | |
1727 | + 書 式:img_color(md) | |
1728 | + | |
1729 | + 引 数:char | |
1730 | + | |
1731 | + 戻り値:void | |
1732 | + | |
1733 | + 機 能: | |
1734 | + | |
1735 | + 取込み画像のグラフィックパレットを補正します。 | |
1736 | + | |
1737 | + md…グラフィック画面の色モード(0〜2) | |
1738 | + 0=グラフィック画面16色モード | |
1739 | + 1=グラフィック画面256色モード | |
1740 | + 2=グラフィック画面65536色モード | |
1741 | + | |
1742 | + | |
1743 | +{IMG_HOME IMAGE.FNC | |
1744 | + | |
1745 | + 書 式:img_home(x,y,dir,cnt,wt) | |
1746 | + | |
1747 | + 引 数:int(x,y,cnt,wt),char(dir) | |
1748 | + | |
1749 | + 戻り値:void | |
1750 | + | |
1751 | + 機 能: | |
1752 | + | |
1753 | + グラフィック画面の表示画面の位置を移動します。 | |
1754 | + | |
1755 | + x… グラフィック画面の実画面における表示画面の左上X座標 | |
1756 | + y… グラフィック画面の実画面における表示画面の左上Y座標 | |
1757 | + dir… 移動方向(1〜9) | |
1758 | + 1=左下 | |
1759 | + 2=下 | |
1760 | + 3=右下 | |
1761 | + 4=左 | |
1762 | + 6=右 | |
1763 | + 7=左上 | |
1764 | + 8=上 | |
1765 | + 9=右上 | |
1766 | + cnt… 移動ドット数 | |
1767 | + wt … ウェイト時間(×約1.2μ秒) | |
1768 | + | |
1769 | + 用 例: | |
1770 | + | |
1771 | + | |
1772 | +{IMG_HT IMAGE.FNC | |
1773 | + | |
1774 | + 書 式:img_ht(x1,y1,x2,y2,p,a) | |
1775 | + | |
1776 | + 引 数:int(x1,y1,x2,y2),char(p,a) | |
1777 | + | |
1778 | + 戻り値:void | |
1779 | + | |
1780 | + 機 能: | |
1781 | + | |
1782 | + グラフィック画面とテレビ・ビデオ画面との半透明表示を制御します。 | |
1783 | + | |
1784 | + x1… グラフィック画面の半透明領域の始点X座標 | |
1785 | + y1… グラフィック画面の半透明領域の始点Y座標 | |
1786 | + x2… グラフィック画面の半透明領域の終点X座標 | |
1787 | + y2… グラフィック画面の半透明領域の終点Y座標 | |
1788 | + p … 指定された領域内のグラフィック画面の半透明表示の設定 | |
1789 | + (0=設定しない、1=設定する) | |
1790 | + a … 半透明表示の制御 | |
1791 | + (0=半透明表示を実行しない、1=半透明表示を実行する) | |
1792 | + | |
1793 | + なお、この関数を実行するにはカラーイメージユニットCZ-6VT1が必要です。 | |
1794 | + | |
1795 | + 用 例: | |
1796 | + | |
1797 | + | |
1798 | +{IMG_LOAD 標準関数 | |
1799 | + | |
1800 | + 書 式:img_load(st【,x】【,y】【,b】) | |
1801 | + | |
1802 | + 引 数:str(st),int(x,y,b) | |
1803 | + | |
1804 | + 戻り値:int | |
1805 | + | |
1806 | + 機 能: | |
1807 | + | |
1808 | + グラフィック画面をロードします。 | |
1809 | + 戻り値として、正常のときは0、エラーのときは-1を返します。 | |
1810 | + | |
1811 | + st…主ファイル名 | |
1812 | + x …ロードするグラフィック画面の左上X座標 | |
1813 | + y …ロードするグラフィック画面の左上Y座標 | |
1814 | + 表示画面サイズが512×512の場合 | |
1815 | + x=0,y=0 | |
1816 | + 表示画面サイズが256×256の場合 | |
1817 | + 0≦x≦256,0≦y≦256 | |
1818 | + b …ロード終了位置の指定 | |
1819 | + b=dy/n | |
1820 | + dy…Y座標の下からのドット数 | |
1821 | + n…拡張子 | |
1822 | + GS0…32 | |
1823 | + GS3…16 | |
1824 | + GM0…16 | |
1825 | + GM3…8 | |
1826 | + GL0…8 | |
1827 | + GL3…4 | |
1828 | + | |
1829 | + 拡張子の意味については、img_save関数を参照して下さい。 | |
1830 | + | |
1831 | + | |
1832 | +{IMG_POS IMAGE.FNC | |
1833 | + | |
1834 | + 書 式:imag_pos(hc) | |
1835 | + | |
1836 | + 引 数:char | |
1837 | + | |
1838 | + 戻り値:void | |
1839 | + | |
1840 | + 機 能: | |
1841 | + | |
1842 | + 画像取込み時の画面水平位置を補正します。 | |
1843 | + | |
1844 | + hc…水平位置補正データ(0〜255) | |
1845 | + | |
1846 | + ・表示画面サイズが512×512の場合 | |
1847 | + 画像取り込みする際、はじめは&H9Aにセットし、 | |
1848 | + 静止画にした後&H2Cに設定します。 | |
1849 | + | |
1850 | + ・表示画面サイズが256×256の場合 | |
1851 | + はじめは&HEBにセットし、 | |
1852 | + 静止画にした後&H24に設定します。 | |
1853 | + | |
1854 | + なお、この関数を実行するにはカラーイメージユニットCZ-6VT1が必要です。 | |
1855 | + | |
1856 | + | |
1857 | +{IMG_PUT IMAGE.FNC | |
1858 | + | |
1859 | + 書 式:img_put(x1,y1,x2,y2,ia) | |
1860 | + | |
1861 | + 引 数:int(x1,y1,x2,y2),int型一次元配列名(ia) | |
1862 | + | |
1863 | + 戻り値:void | |
1864 | + | |
1865 | + 機 能: | |
1866 | + | |
1867 | + グラフィック画面の(x1,y1)から(x2,y2)まで、8ドットごとに移動しながら、配列iaのデータを256×256ドットのボックスで表示します。 | |
1868 | + | |
1869 | + x1…グラフィック画面の始点X座標(0≦x1≦256) | |
1870 | + y1…グラフィック画面の始点Y座標(0≦x1≦256) | |
1871 | + x2…グラフィック画面の終点X座標(0≦x1≦256) | |
1872 | + y2…グラフィック画面の終点Y座標(0≦x1≦256) | |
1873 | + ia…get関数で読み込んだ int型一次元配列名 | |
1874 | + | |
1875 | + | |
1876 | +{IMG_SAVE IMAGE.FNC | |
1877 | + | |
1878 | + 書 式:img_save(st【,x】【,y】) | |
1879 | + | |
1880 | + 引 数:str(st),int(x,y) | |
1881 | + | |
1882 | + 戻り値:int | |
1883 | + | |
1884 | + 機 能: | |
1885 | + | |
1886 | + グラフィック画面をセーブします。戻り値として、正常の時は0、エラーの時は-1を返します。 | |
1887 | + | |
1888 | + st…主ファイル名 | |
1889 | + | |
1890 | + 拡張子はグラフィック画面のスクリーンモードに応じて以下のように付加されます。 | |
1891 | + | |
1892 | + 表示画面サイズ 色モード 拡張子 | |
1893 | + 256×256 16色 GS0 | |
1894 | + 256×256 256色 GM0 | |
1895 | + 256×256 65536色 GL0 | |
1896 | + 512×512 16色 GS3 | |
1897 | + 512×512 256色 GM3 | |
1898 | + 512×512 65536色 GL3 | |
1899 | + | |
1900 | + x …セーブするグラフィック画面の左上X座標 | |
1901 | + y …セーブするグラフィック画面の左上Y座標 | |
1902 | + 表示画面サイズが512×512の場合 | |
1903 | + x=0,y=0 | |
1904 | + 表示画面サイズが256×256の場合 | |
1905 | + 0≦x≦256,0≦y≦256 | |
1906 | + | |
1907 | + | |
1908 | +{IMG_SCRN IMAGE.FNC | |
1909 | + | |
1910 | + 書 式:img_scrn(sz,co,dis) | |
1911 | + | |
1912 | + 引 数:int | |
1913 | + | |
1914 | + 戻り値:void | |
1915 | + | |
1916 | + 機 能: | |
1917 | + | |
1918 | + グラフィック画面のスクリーンモードを設定します。 | |
1919 | + | |
1920 | + ただし、グラフィック画面クリア、パレット・コントラスト・表示モードの初期化は行いません。 | |
1921 | + | |
1922 | + sz…表示画面サイズ(0〜2) | |
1923 | + 0=256×256 | |
1924 | + 1=512×512 | |
1925 | + 2=768×512 | |
1926 | + co…グラフィック画面の実画面サイズ及び色モード(0〜3) | |
1927 | + 0=1024×1024 16色 | |
1928 | + 1=512×512 16色 | |
1929 | + 2=512×512 256色 | |
1930 | + 3=512×512 65536色 | |
1931 | + dis…ディスプレイ解像度(0、1) | |
1932 | + 0=標準解像度 | |
1933 | + 1=高解像度 | |
1934 | + | |
1935 | + | |
1936 | +{IMG_SET IMAGE.FNC | |
1937 | + | |
1938 | + 書 式:imag_set(c【,c】【,c】【,c】【,c】) | |
1939 | + | |
1940 | + 引 数:char | |
1941 | + | |
1942 | + 戻り値:void | |
1943 | + | |
1944 | + 機 能: | |
1945 | + | |
1946 | + カラーイメージユニットCZ-6VT1の各種コントロールを行います。 | |
1947 | + | |
1948 | + c…カラーイメージユニットのコントロールコード(&H00〜&HFF) | |
1949 | + | |
1950 | + コントロールコード一覧表(使用ポートアドレス E8E005H) | |
1951 | + 入力する値 コード 命令 備考 | |
1952 | + 0 00(H) 00000 65536色(2^16)モード | |
1953 | + 1 00(H) 00000 空き | |
1954 | + 2 01(H) 00001 | |
1955 | + 3 03(H) 00011 コンピューターコントロールモード 赤色ランプ点灯 | |
1956 | + 4 04(H) 00100 マニュアルモード 緑色ランプ点灯 | |
1957 | + 5 05(H) 00101 | |
1958 | + <カラーイメージ> モノクロ映像 | |
1959 | + リセット、色の濃さUP DOWNいずれかで解除される。 | |
1960 | + 6 06(H) 00110 | |
1961 | + < テロッパ > 出力ON | |
1962 | + 出力OFF | |
1963 | + | |
1964 | + 7 07(H) 00111 リセットで解除される | |
1965 | + 8 08(H) 01000 | |
1966 | + <カラーイメージ> リセット | |
1967 | + 色の濃さUP | |
1968 | + 色の濃さDOWN | |
1969 | + 色あいUP | |
1970 | + 色あいDOWN | |
1971 | + 映像UP | |
1972 | + 映像DOWN | |
1973 | + 各映像調整を標準の位置に戻す。 | |
1974 | + 9 09(H) 01001 | |
1975 | + 10 0A(H) 01010 | |
1976 | + 11 0B(H) 01011 | |
1977 | + 12 0C(H) 01100 | |
1978 | + 13 0D(H) 01101 | |
1979 | + 14 0E(H) 01110 | |
1980 | + 15 0F(H) 01111 256色(2^8)モード | |
1981 | + 16 10(H) 10000 | |
1982 | + < テロッパ > リセット | |
1983 | + 色の濃さUP | |
1984 | + 色の濃さDOWN | |
1985 | + 色あいUP | |
1986 | + 色あいDOWN | |
1987 | + 映像UP | |
1988 | + 映像DOWN | |
1989 | + 各映像調整を標準の位置に戻す。 | |
1990 | + 17 11(H) 10001 | |
1991 | + 18 12(H) 10010 | |
1992 | + 19 13(H) 10011 | |
1993 | + 20 14(H) 10100 | |
1994 | + 21 15(H) 10101 | |
1995 | + 22 16(H) 10110 | |
1996 | + 23 17(H) 10111 16色(2^4)モード | |
1997 | + 24 | |
1998 | + : | |
1999 | + 31 18 | |
2000 | + : | |
2001 | + 1F(H) 11000 | |
2002 | + : | |
2003 | + 11111 空き | |
2004 | + | |
2005 | + なお、この関数を実行するにはカラーイメージユニットCZ-6VT1が必要です。 | |
2006 | + | |
2007 | + | |
2008 | +{IMG_STILL IMAGE.FNC | |
2009 | + | |
2010 | + 書 式:img_still(sw) | |
2011 | + | |
2012 | + 引 数:char | |
2013 | + | |
2014 | + 戻り値:void | |
2015 | + | |
2016 | + 機 能: | |
2017 | + | |
2018 | + 画像取込みモードswを設定します。 | |
2019 | + | |
2020 | + sw…画像取込みモードの設定 | |
2021 | + 0=実行(静止画) | |
2022 | + 1=待機(動画) | |
2023 | + | |
2024 | + 実行前に、screen命令で、あらかじめ表示画面サイズを256×256または512×512に、ディスプレイ解像度を Low(標準解像度)に設定します。 | |
2025 | + | |
2026 | + また、画像取込みを実行するプログラムの終了時には、img_still(0)を実行します。 | |
2027 | + | |
2028 | + なお、この関数を実行するにはカラーイメージユニットCZ-6VT1が必要です。 | |
2029 | + | |
2030 | + | |
2031 | +{INKEY$またはINKEY$(0) システム変数 | |
2032 | + | |
2033 | + 書 式:inkey$ または inkey$(0) | |
2034 | + | |
2035 | + 戻り値:str | |
2036 | + | |
2037 | + 機 能: | |
2038 | + | |
2039 | + キーボードから入力された1文字を返します。代入することはできません。 | |
2040 | + | |
2041 | + inkey$ は、キー入力されるまで待ちます。 | |
2042 | + inkey$(0) は、キー入力待ちを行いません。 | |
2043 | + | |
2044 | + → input、「キャラクタコード表」 | |
2045 | + | |
2046 | + 用 例: | |
2047 | + | |
2048 | + | |
2049 | +{INPUT ステートメント | |
2050 | + | |
2051 | + 書 式:input 【"プロンプト文";または,】変数名【,変数名…】 | |
2052 | + | |
2053 | + 機 能: | |
2054 | + | |
2055 | + キーボードから入力されるデータを、指定したデータ型の変数へ代入します。 | |
2056 | + データを入力したら、リターンキーを押してください。 | |
2057 | + | |
2058 | + input文では、プロンプト文と変数名の間にセミコロン(;)あるいは、カンマ(,)が指定でき、セミコロンの時はプロンプト文の後に疑問符が(?)が表示され、カンマの時は何も表示されません。 | |
2059 | + | |
2060 | + また、変数に入力できる最大文字数は、セミコロン(;)を使用した場合は、その表示画面の水平最大表示文字数-(プロンプト文字数+3)になり、カンマ(,)を使用した場合は、その表示画面の水平最大表示文字数-(プロンプト文字数+1)になります。 | |
2061 | + ただし、str型変数の場合は、設定された文字バッファのサイズ以上のデータは代入されません。なお、カンマ(,)や引用符(")は入力できません。 | |
2062 | + | |
2063 | + 変数は、カンマ(,)で区切って複数指定することもできます。この場合、入力するデータもカンマ(,)で区切って、変数の数だけ入力してからリターンキーを押さなければなりません。 | |
2064 | + 入力するデータの個数が足りないと、”データの個数がたりません”と表示されて入力待ちとなり、個数が多いと、”データの個数が多過ぎます”と表示され、余分に入力されたデータは無視されます。 | |
2065 | + | |
2066 | + また、対応する変数の型と入力されるデータの型は、一致しなければなりません。型が違っていた場合には、”データの型が違います”と表示されて再び入力待ちとなります。 | |
2067 | + | |
2068 | + → inkey$ | |
2069 | + | |
2070 | + 用 例: | |
2071 | + | |
2072 | + | |
2073 | +{INSTR 標準関数 | |
2074 | + | |
2075 | + 書 式:instr(i,st1,st2) | |
2076 | + | |
2077 | + 引 数:int(i),str(st1,st2) | |
2078 | + | |
2079 | + 戻り値:int | |
2080 | + | |
2081 | + 機 能: | |
2082 | + | |
2083 | + 文字列st2を文字列st1の指定された位置iから探してその位置を返します。 | |
2084 | + 位置iは1〜255の値をとります。 | |
2085 | + ただし次の場合は0を返します。 | |
2086 | + | |
2087 | + ・文字列st2が見つからなかった場合 | |
2088 | + ・指定された位置iが0または負の場合 | |
2089 | + ・文字列st1またはst2が null文字の場合 | |
2090 | + | |
2091 | + 用 例: | |
2092 | + | |
2093 | + | |
2094 | +{INT ステートメント | |
2095 | + | |
2096 | + 書 式:int 変数名【=定数式】【,…】 | |
2097 | + | |
2098 | + 機 能: | |
2099 | + | |
2100 | + 変数を整数(int)型として宣言します。 | |
2101 | + 同時に値を代入する事もできます。 | |
2102 | + | |
2103 | + 原則として、変数宣言はメインプログラムの先頭で行ってください。 | |
2104 | + また、同じ名前の変数をメインプログラムの中で再宣言することはできません。 | |
2105 | + | |
2106 | + → char、float、str | |
2107 | + | |
2108 | + 用 例: | |
2109 | + | |
2110 | + | |
2111 | +{INT() 標準関数 | |
2112 | + | |
2113 | + 書 式:int(f) | |
2114 | + | |
2115 | + 引 数:float | |
2116 | + | |
2117 | + 戻り値:int | |
2118 | + | |
2119 | + 機 能: | |
2120 | + | |
2121 | + 浮動小数値fを越えない最大の整数値を返します。 | |
2122 | + | |
2123 | + 用 例: | |
2124 | + | |
2125 | + | |
2126 | +{ISALNUM 標準関数 | |
2127 | + | |
2128 | + 書 式:isalnum(ch) | |
2129 | + | |
2130 | + 引 数:char | |
2131 | + | |
2132 | + 戻り値:int | |
2133 | + | |
2134 | + 機 能: | |
2135 | + | |
2136 | + キャラクターコードchの文字が英数字('a'〜'z'、'A'〜'Z'、'0'〜'9')であるかどうか調べます。 | |
2137 | + | |
2138 | + 英数字であれば-1、そうでなければ0を返します。 | |
2139 | + | |
2140 | + ch…調べたい文字のキャラクタコード(0〜255) | |
2141 | + | |
2142 | + 用 例: | |
2143 | + | |
2144 | + | |
2145 | +{ISALPHA 標準関数 | |
2146 | + | |
2147 | + 書 式:isalpha(ch) | |
2148 | + | |
2149 | + 引 数:char | |
2150 | + | |
2151 | + 戻り値:int | |
2152 | + | |
2153 | + 機 能: | |
2154 | + | |
2155 | + キャラクターコードchの文字が英字('a'〜'z'、'A'〜'Z')であるかどうか調べます。 | |
2156 | + | |
2157 | + 英字であれば-1、そうでなければ0を返します。 | |
2158 | + | |
2159 | + ch…調べたい文字のキャラクタコード(0〜255) | |
2160 | + | |
2161 | + 用 例: | |
2162 | + | |
2163 | + | |
2164 | +{ISASCII 標準関数 | |
2165 | + | |
2166 | + 書 式:isascii(ch) | |
2167 | + | |
2168 | + 引 数:char | |
2169 | + | |
2170 | + 戻り値:int | |
2171 | + | |
2172 | + 機 能: | |
2173 | + | |
2174 | + キャラクターコードchの文字がアスキー文字(&H00〜&H7F)であるかどうか調べます。 | |
2175 | + | |
2176 | + アスキー文字であれば-1、そうでなければ0を返します。 | |
2177 | + | |
2178 | + ch…調べたい文字のキャラクタコード(0〜255) | |
2179 | + | |
2180 | + 用 例: | |
2181 | + | |
2182 | + | |
2183 | +{ISCNTRL 標準関数 | |
2184 | + | |
2185 | + 書 式:iscntrl(ch) | |
2186 | + | |
2187 | + 引 数:char | |
2188 | + | |
2189 | + 戻り値:int | |
2190 | + | |
2191 | + 機 能: | |
2192 | + | |
2193 | + キャラクターコードchの文字がコントロール文字(&H00〜&H1F、&H7F)であるかどうか調べます。 | |
2194 | + | |
2195 | + コントロール文字であれば-1、そうでなければ0を返します。 | |
2196 | + | |
2197 | + ch…調べたい文字のキャラクタコード(0〜255) | |
2198 | + | |
2199 | + 用 例: | |
2200 | + | |
2201 | + | |
2202 | +{ISDIGIT 標準関数 | |
2203 | + | |
2204 | + 書 式:isdigit(ch) | |
2205 | + | |
2206 | + 引 数:char | |
2207 | + | |
2208 | + 戻り値:int | |
2209 | + | |
2210 | + 機 能: | |
2211 | + | |
2212 | + キャラクターコードchの文字が数字('0'〜'9')であるかどうか調べます。 | |
2213 | + | |
2214 | + 数字であれば-1、そうでなければ0を返します。 | |
2215 | + | |
2216 | + ch…調べたい文字のキャラクタコード(0〜255) | |
2217 | + | |
2218 | + 用 例: | |
2219 | + | |
2220 | + | |
2221 | +{ISGRAPH 標準関数 | |
2222 | + | |
2223 | + 書 式:isgraph(ch) | |
2224 | + | |
2225 | + 引 数:char | |
2226 | + | |
2227 | + 戻り値:int | |
2228 | + | |
2229 | + 機 能: | |
2230 | + | |
2231 | + キャラクターコードchの文字が空白文字以外の表示可能な文字(&H21〜&H7E)であるかどうか調べます。 | |
2232 | + | |
2233 | + 表示可能であれば-1、そうでなければ0を返します。 | |
2234 | + | |
2235 | + ch…調べたい文字のキャラクタコード(0〜255) | |
2236 | + | |
2237 | + 用 例: | |
2238 | + | |
2239 | + | |
2240 | +{ISLOWER 標準関数 | |
2241 | + | |
2242 | + 書 式:islower(ch) | |
2243 | + | |
2244 | + 引 数:char | |
2245 | + | |
2246 | + 戻り値:int | |
2247 | + | |
2248 | + 機 能: | |
2249 | + | |
2250 | + キャラクターコードchの文字が英小文字('a'〜'z')であるかどうか調べます。 | |
2251 | + | |
2252 | + 英小文字であれば-1、そうでなければ0を返します。 | |
2253 | + | |
2254 | + ch…調べたい文字のキャラクタコード(0〜255) | |
2255 | + | |
2256 | + 用 例: | |
2257 | + | |
2258 | + | |
2259 | +{ISPRINT 標準関数 | |
2260 | + | |
2261 | + 書 式:isprint(ch) | |
2262 | + | |
2263 | + 引 数:char | |
2264 | + | |
2265 | + 戻り値:int | |
2266 | + | |
2267 | + 機 能: | |
2268 | + | |
2269 | + キャラクターコードchの文字が表示可能な文字(&H20〜&H7E)であるかどうか調べます。 | |
2270 | + | |
2271 | + 表示可能であれば-1、そうでなければ0を返します。 | |
2272 | + | |
2273 | + ch…調べたい文字のキャラクタコード(0〜255) | |
2274 | + | |
2275 | + 用 例: | |
2276 | + | |
2277 | + | |
2278 | +{ISPUNCT 標準関数 | |
2279 | + | |
2280 | + 書 式:ispunct(ch) | |
2281 | + | |
2282 | + 引 数:char | |
2283 | + | |
2284 | + 戻り値:int | |
2285 | + | |
2286 | + 機 能: | |
2287 | + | |
2288 | + キャラクターコードchの文字が表示可能な記号文字(&H20〜&H2F、&H3A〜&H40、&H5B〜&H60、&H7B〜&H7E)であるかどうか調べます。 | |
2289 | + | |
2290 | + 表示可能な記号文字であれば-1、そうでなければ0を返します。 | |
2291 | + | |
2292 | + 用 例: | |
2293 | + | |
2294 | + | |
2295 | +{ISSPACE 標準関数 | |
2296 | + | |
2297 | + 書 式:isspace(ch) | |
2298 | + | |
2299 | + 引 数:char | |
2300 | + | |
2301 | + 戻り値:int | |
2302 | + | |
2303 | + 機 能: | |
2304 | + | |
2305 | + キャラクターコードchの文字が空白文字(&H09〜&H0D、&H20)であるかどうか調べます。 | |
2306 | + | |
2307 | + 空白文字であれば-1、そうでなければ0を返します。 | |
2308 | + | |
2309 | + ch…調べたい文字のキャラクタコード(0〜255) | |
2310 | + | |
2311 | + 用 例: | |
2312 | + | |
2313 | + | |
2314 | +{ISUPPER 標準関数 | |
2315 | + | |
2316 | + 書 式:isupper(ch) | |
2317 | + | |
2318 | + 引 数:char | |
2319 | + | |
2320 | + 戻り値:int | |
2321 | + | |
2322 | + 機 能: | |
2323 | + | |
2324 | + キャラクターコードchの文字が英大文字('A'〜'Z')であるかどうか調べます。 | |
2325 | + | |
2326 | + 英大文字であれば-1、そうでなければ0を返します。 | |
2327 | + | |
2328 | + ch…調べたい文字のキャラクタコード(0〜255) | |
2329 | + | |
2330 | + 用 例: | |
2331 | + | |
2332 | + | |
2333 | +{ISXDIGIT 標準関数 | |
2334 | + | |
2335 | + 書 式:isxdigit(ch) | |
2336 | + | |
2337 | + 引 数:char | |
2338 | + | |
2339 | + 戻り値:int | |
2340 | + | |
2341 | + 機 能: | |
2342 | + | |
2343 | + キャラクターコードchの文字が16進数の文字('0'〜'9'、'a'〜'f'、'A'〜'F'、)であるかどうか調べます。 | |
2344 | + | |
2345 | + 16進数の文字であれば-1、そうでなければ0を返します。 | |
2346 | + | |
2347 | + ch…調べたい文字のキャラクタコード(0〜255) | |
2348 | + | |
2349 | + 用 例: | |
2350 | + | |
2351 | + | |
2352 | +{ITOA 標準関数 | |
2353 | + | |
2354 | + 書 式:itoa(i) | |
2355 | + | |
2356 | + 引 数:int | |
2357 | + | |
2358 | + 戻り値:str | |
2359 | + | |
2360 | + 機 能: | |
2361 | + | |
2362 | + 整数値iを文字列に変換し、その文字列を返します。 | |
2363 | + | |
2364 | + → atoi | |
2365 | + | |
2366 | + 用 例: | |
2367 | + | |
2368 | + | |
2369 | +{KEY ステートメント | |
2370 | + | |
2371 | + 書 式:key ファンクションキーナンバー,文字列 | |
2372 | + | |
2373 | + 機 能: | |
2374 | + | |
2375 | + ファンクションキーの内容を定義します。 | |
2376 | + ファンクションキーナンバーは1〜20で、1〜10は F1〜F10キーを、11〜20は SHIFTキーを押しながら F1〜F10キーを押した場合に対応します。 | |
2377 | + | |
2378 | + 文字列の長さは32文字まで有効です。 | |
2379 | + | |
2380 | + CTRL+A(CTRLキーを押しながら Aキーを押す)やCTRL+M(CTRLキーを押しながら Mキーを押す)のような文字を定義するには、"@A"、"@M"のように"@"と対応する各大文字を並べて使います。 | |
2381 | + | |
2382 | + なお引用符は(”)は"@@"となります | |
2383 | + | |
2384 | + → 「コントロールコード一覧」 | |
2385 | + | |
2386 | + 用 例: | |
2387 | + | |
2388 | + | |
2389 | +{KEY LIST コマンド | |
2390 | + | |
2391 | + 書 式:key list | |
2392 | + | |
2393 | + 機 能: | |
2394 | + | |
2395 | + ファンクションキーの内容一覧を表示します。 | |
2396 | + | |
2397 | + 用 例:key list | |
2398 | + | |
2399 | + | |
2400 | +{KILL コマンド | |
2401 | + | |
2402 | + 書 式:kill "【ドライブ名】ファイル名" | |
2403 | + | |
2404 | + 省略形:ki. | |
2405 | + | |
2406 | + 機 能: | |
2407 | + | |
2408 | + 指定したファイルを削除します。 | |
2409 | + | |
2410 | + 用 例:kill "a:test.bas" | |
2411 | + | |
2412 | + | |
2413 | +{LEFT$ 標準関数 | |
2414 | + | |
2415 | + 書 式:left$(st,i) | |
2416 | + | |
2417 | + 引 数:str(st),int(i) | |
2418 | + | |
2419 | + 戻り値:str | |
2420 | + | |
2421 | + 機 能: | |
2422 | + | |
2423 | + 文字列stの先頭から指定された文字数iの文字列を取り出して返します。 | |
2424 | + | |
2425 | + st…元の文字列(文字式) | |
2426 | + i…取り出したい文字数 | |
2427 | + | |
2428 | + 文字数iは、1から255の値を取ります。 | |
2429 | + | |
2430 | + 指定された文字数iが、文字列stの総文字数より多い時は、文字列stをそのまま取り出して返します。 | |
2431 | + | |
2432 | + 指定された文字数iが、0または負の場合は null文字を返します。 | |
2433 | + | |
2434 | + → mid$、right$ | |
2435 | + | |
2436 | + 用 例: | |
2437 | + | |
2438 | + | |
2439 | +{LINE GRAPH.FNC | |
2440 | + | |
2441 | + 書 式:line(x1,y1,x2,y2,p【,ls】) | |
2442 | + | |
2443 | + 引 数:int | |
2444 | + | |
2445 | + 戻り値:void | |
2446 | + | |
2447 | + 機 能: | |
2448 | + | |
2449 | + グラフィック画面上に直線を引きます。 | |
2450 | + | |
2451 | + x1…始点X座標 | |
2452 | + y1…始点Y座標 | |
2453 | + x2…終点X座標 | |
2454 | + y2…終点Y座標 | |
2455 | + p …パレットコード(色) | |
2456 | + ls…ラインスタイル | |
2457 | + | |
2458 | + x1、y1、x2、y2は、-32768から32767までの値をとることができます。クリッピングエリアについては window関数で指定された範囲になります。 | |
2459 | + | |
2460 | + また、パレットコードpは0から65535までの値をとることができ、その最大値はグラフィック画面の実画面サイズおよび色モードによります。 | |
2461 | + | |
2462 | + ラインスタイルlsは0〜65535の値をとり、これを16ビットのビットパターンとみなし、実線(&HFFFF)や点線(&HAAAA)などを指定する事ができます。 | |
2463 | + | |
2464 | + 用 例: | |
2465 | + | |
2466 | + | |
2467 | +{LINPUT ステートメント | |
2468 | + | |
2469 | + 書 式:linput 【"プロンプト文";】str型変数名 | |
2470 | + | |
2471 | + 機 能: | |
2472 | + | |
2473 | + 指定された str型変数に、キーボードから文字列を入力します。 | |
2474 | + 文字列を入力したら、リターンキーを押してください。 | |
2475 | + | |
2476 | + input命令と違い、一度に一つの str型変数にしか代入できず、また数値型の変数への代入はできません。 | |
2477 | + | |
2478 | + カンマ(,)、引用符(")なども代入する事ができます。 | |
2479 | + | |
2480 | + linput文では、疑問符(?)は表示されません。 | |
2481 | + | |
2482 | + また、str型変数に入力できる最大文字数は、その表示画面の水平最大文字数-(プロンプト文字数+1)となります。 | |
2483 | + ただし、設定されている文字バッファのサイズ以上のデータは代入されません。 | |
2484 | + | |
2485 | + 用 例: | |
2486 | + | |
2487 | + | |
2488 | +{LIST コマンド | |
2489 | + | |
2490 | + 書 式:【l】list 【行番号1】【-行番号2】 | |
2491 | + | |
2492 | + 省略形:【l】l. | |
2493 | + | |
2494 | + 機 能: | |
2495 | + | |
2496 | + メモリにあるプログラムリストを画面に表示したり、プリンタに印刷します。 | |
2497 | + | |
2498 | + 表示を開始する行番号1を省略すると、プログラムリストの先頭から表示が始まり、表示を終了する行番号2を省略すると、プログラムリストの最後までが表示されます。 | |
2499 | + たとえば、 | |
2500 | + | |
2501 | + list プログラムリストの先頭から最後までが表示されます。 | |
2502 | + list 50 行番号50のみ表示されます。 | |
2503 | + list -100 プログラムリストの先頭から100行目までが表示されます。 | |
2504 | + list 200- プログラムリストの200行目から最後までが表示されます。 | |
2505 | + | |
2506 | + list の機能を一時停止したい時は、CTRL+Sキーを押します。 | |
2507 | + 何かキーを押せば、表示を再開します。 | |
2508 | + | |
2509 | + また、list の機能を終了したい時は、BREAKキー(または CTRL+Cキー)を押します。 | |
2510 | + | |
2511 | + list命令の代りに llist命令を用いれば、プログラムリストをプリンタに印刷することができます。 | |
2512 | + | |
2513 | + 用 例:list 10-300 | |
2514 | + | |
2515 | + | |
2516 | +{LOAD コマンド | |
2517 | + | |
2518 | + 書 式: | |
2519 | + load【@】 "【ドライブ名ファイル名】"【,行番号】【,増分】 | |
2520 | + | |
2521 | + 省略形:lo. | |
2522 | + | |
2523 | + 機 能: | |
2524 | + | |
2525 | + 指定した BASICプログラムをロードします。 | |
2526 | + | |
2527 | + プログラムがロードされると、それまでにメモリ上にあったプログラムは消されます。 | |
2528 | + | |
2529 | + load@ は行番号を除いて(save@ によって)セーブされたプログラムに行番号とその増分を指定(しなければともに10)してロードします。 | |
2530 | + | |
2531 | + この場合、プログラムは、指定された行番号から、指定された増分を付加しながらロードされます。 | |
2532 | + | |
2533 | + すでにプログラムがメモリにある場合、ロードしたプログラムがマージ(混合、追加)されます。 | |
2534 | + | |
2535 | + ドライブ名、ファイル名についての詳細は。「Human68kユーザーズマニュアル」を参照してください。 | |
2536 | + | |
2537 | + → save | |
2538 | + | |
2539 | + 用 例:load "a:\test.bas" | |
2540 | + | |
2541 | + | |
2542 | +{LOCATE ステートメント | |
2543 | + | |
2544 | + 書 式: | |
2545 | + locate X座標,Y座標【,カーソルスイッチ】 | |
2546 | + | |
2547 | + 省略形:loc. | |
2548 | + | |
2549 | + 機 能: | |
2550 | + | |
2551 | + カーソルをテキスト画面の X座標、Y座標で指定されたキャラクタ座標位置へ移動します。 | |
2552 | + X座標、Y座標の取りうる範囲は、スクリーンモードとスクロールエリアによります。 | |
2553 | + | |
2554 | + カーソルスイッチが0の時は、カーソル表示OFFで、1ならカーソル表示ONです。 | |
2555 | + なお、カーソルスイッチが有効な時は、プログラムでカーソルスイッチを0にしている間のみです。 | |
2556 | + | |
2557 | + プログラムが終了して"Ok"が表示されるとカーソル表示ONになります。 | |
2558 | + | |
2559 | + 用 例: | |
2560 | + | |
2561 | + | |
2562 | +{LOG 標準関数 | |
2563 | + | |
2564 | + 書 式:log(n) | |
2565 | + | |
2566 | + 引 数:float | |
2567 | + | |
2568 | + 戻り値:float | |
2569 | + | |
2570 | + 機 能: | |
2571 | + | |
2572 | + 数値nの自然対数を返します。n>0でなければなりません。 | |
2573 | + | |
2574 | + 用 例: | |
2575 | + | |
2576 | + | |
2577 | +{MID$ 標準関数 | |
2578 | + | |
2579 | + 書 式:mid$(st,i1,i2) | |
2580 | + | |
2581 | + 引 数:str(st),int(i1,i2) | |
2582 | + | |
2583 | + 戻り値:str | |
2584 | + | |
2585 | + 機 能: | |
2586 | + | |
2587 | + 文字列stの先頭から指定された位置i1から指定された文字数i2分の文字列を取り出して返します。 | |
2588 | + | |
2589 | + st…元の文字列(文字式) | |
2590 | + i1…取り出し始める位置 | |
2591 | + i2…取り出したい文字数 | |
2592 | + | |
2593 | + 位置i1および文字数i2は、1から255の値を取ります。 | |
2594 | + | |
2595 | + 取り出したい文字数i2が、文字列stの取り出し始める位置i1からの文字数よりも多い時は、指定された位置i1以降の全ての文字列を取り出して返します。 | |
2596 | + | |
2597 | + 取りだし始める位置i1が、0あるいは負の場合や、文字列stの長さを越えている場合は null文字を返します。 | |
2598 | + 取りだしたい文字数i2が、0または負の場合も null文字を返します。 | |
2599 | + | |
2600 | + → left$、right$ | |
2601 | + | |
2602 | + 用 例: | |
2603 | + | |
2604 | + | |
2605 | +{MIRROR$ 標準関数 | |
2606 | + | |
2607 | + 書 式:mirror$(st) | |
2608 | + | |
2609 | + 引 数:str | |
2610 | + | |
2611 | + 戻り値:str | |
2612 | + | |
2613 | + 機 能: | |
2614 | + | |
2615 | + 文字列の並びを逆転して返します。 | |
2616 | + | |
2617 | + 用 例: | |
2618 | + | |
2619 | + | |
2620 | +{MOUSE MOUSE.FNC | |
2621 | + | |
2622 | + 書 式:mouse(ch) | |
2623 | + | |
2624 | + 引 数:char | |
2625 | + | |
2626 | + 戻り値:int | |
2627 | + | |
2628 | + 機 能: | |
2629 | + | |
2630 | + マウスカーソルの表示、マウスの初期化などを行います。 | |
2631 | + 戻り値は、ch=3以外では、通常0、エラーの時は-1を返します。 | |
2632 | + | |
2633 | + ch…0= マウスの初期化 | |
2634 | + (右ボタン専有…ソフトキーボード使用可) | |
2635 | + 1= マウスカーソルを表示する | |
2636 | + 2= マウスカーソルを消す | |
2637 | + 3= マウスカーソルの表示状態を返す | |
2638 | + (表示している…-1、表示していない…0) | |
2639 | + 4= マウスの初期化 | |
2640 | + (右ボタン開放…ソフトキーボード使用不可) | |
2641 | + | |
2642 | + 用 例: | |
2643 | + | |
2644 | + | |
2645 | +{MSAREA MOUSE.FNC | |
2646 | + | |
2647 | + 書 式:mousearea(x1,y1,x2,y2) | |
2648 | + | |
2649 | + 引 数:int | |
2650 | + | |
2651 | + 戻り値:int | |
2652 | + | |
2653 | + 機 能: | |
2654 | + | |
2655 | + マウスカーソルの移動範囲を指定します。 | |
2656 | + 範囲は表示画面サイズによって決まります。 | |
2657 | + 戻り値は通常0、エラーの時は-1を返します。 | |
2658 | + | |
2659 | + x1…始点X座標 | |
2660 | + y1…始点Y座標 | |
2661 | + x2…終点X座標 | |
2662 | + y2…終点Y座標 | |
2663 | + | |
2664 | + 用 例: | |
2665 | + | |
2666 | + | |
2667 | +{MSBTN MOUSE.FNC | |
2668 | + | |
2669 | + 書 式:msbtn(n,b,t) | |
2670 | + | |
2671 | + 引 数:char(n,b),int(t) | |
2672 | + | |
2673 | + 戻り値:int | |
2674 | + | |
2675 | + 機 能: | |
2676 | + | |
2677 | + マウスボタンが指定された状態になるまでの時間を返します。 | |
2678 | + 戻り値は、0ならばドラッグされた事を示し、-1ならば指定された待ち時間の最大値tを越えた事を示します。 | |
2679 | + | |
2680 | + n…待つボタンの状態 | |
2681 | + 0=ボタンが離されるまで | |
2682 | + 1=ボタンが押されるまで | |
2683 | + b…ボタンの左右 | |
2684 | + 0=左 | |
2685 | + 1=右 | |
2686 | + t…待ち時間の最大値(0、1でずっと待つ) | |
2687 | + | |
2688 | + 状態が変ればこれはリセットされます。 | |
2689 | + | |
2690 | + 用 例: | |
2691 | + | |
2692 | + | |
2693 | +{MSPOS MOUSE.FNC | |
2694 | + | |
2695 | + 書 式:mspos(x,y) | |
2696 | + | |
2697 | + 引 数:int型変数名 | |
2698 | + | |
2699 | + 戻り値:int | |
2700 | + | |
2701 | + 機 能: | |
2702 | + | |
2703 | + マウスカーソルの座標を int型変数x、yに返します。 | |
2704 | + | |
2705 | + 用 例: | |
2706 | + | |
2707 | + | |
2708 | +{MSSTAT MOUSE.FNC | |
2709 | + | |
2710 | + 書 式:msstat(x,y,bl,br) | |
2711 | + | |
2712 | + 引 数:int型変数名 | |
2713 | + | |
2714 | + 戻り値:int | |
2715 | + | |
2716 | + 機 能: | |
2717 | + | |
2718 | + マウスの状態を int型変数x、y、bl、brに返します。 | |
2719 | + | |
2720 | + x…X方向の相対移動量(-128〜127) | |
2721 | + y…Y方向の相対移動量(-128〜127) | |
2722 | + bl…左ボタンの状態 | |
2723 | + (押されていれば-1、押されていなければ0を返す) | |
2724 | + br…右ボタンの状態 | |
2725 | + (押されていれば-1、押されていなければ0を返す) | |
2726 | + | |
2727 | + 用 例: | |
2728 | + | |
2729 | + | |
2730 | +{M_ALLOC MUSIC.FNC | |
2731 | + | |
2732 | + 書 式:m_alloc(t,s) | |
2733 | + | |
2734 | + 引 数:char(t),int(s) | |
2735 | + | |
2736 | + 戻り値:int | |
2737 | + | |
2738 | + 機 能: | |
2739 | + | |
2740 | + 指定されたトラックtのトラックバッファを確保します。 | |
2741 | + 同時に、トラック内のデータはクリアされます。 | |
2742 | + | |
2743 | + 戻り値として、正常の時は0、エラーの時は-1を返します。 | |
2744 | + | |
2745 | + t…トラック番号(1〜80) | |
2746 | + s…トラックバッファのサイズ(1〜65536) | |
2747 | + | |
2748 | + なお、総トラックバッファサイズ(それぞれのトラックに割り当てられているトラックバッファの総合計)は、CONFIG.SYSファイル内の OPMDRV.Xの後に指定して、再度システム起動することにより変更できます。 | |
2749 | + 何も指定しない場合は、約64KB の総トラックバッファが確保されます。 | |
2750 | + | |
2751 | + DEVICE = \SYS\OPMDRV.X #nnn | |
2752 | + (nnn:総トラックバッファサイズ(単位:KB)) | |
2753 | + | |
2754 | + | |
2755 | +{M_ASSIGN MUSIC.FNC | |
2756 | + | |
2757 | + 書 式:m_assign(c,t) | |
2758 | + | |
2759 | + 引 数:char | |
2760 | + | |
2761 | + 戻り値:int | |
2762 | + | |
2763 | + 機 能: | |
2764 | + | |
2765 | + FM音源の指定されたチャンネルcに、トラックtを割りふります。 | |
2766 | + | |
2767 | + 戻り値として、正常のときは0、エラーの時は-1を返します。 | |
2768 | + | |
2769 | + c…チャンネル番号(1〜8) | |
2770 | + t…トラック番号(1〜80) | |
2771 | + | |
2772 | + 複数のチャンネルに同一のトラックを割り当てると、それぞれ同じ楽譜データを演奏します。 | |
2773 | + | |
2774 | + また、複数のトラックを1つのチャンネルに割り当てると、最も新しく割り振られたトラックの楽譜データを演奏します。 | |
2775 | + | |
2776 | + デフォルト値は、チャンネル1からチャンネル8が、それぞれトラック1からトラック8に対応します。 | |
2777 | + | |
2778 | + | |
2779 | +{M_CONT MUSIC.FNC | |
2780 | + | |
2781 | + 書 式: | |
2782 | + m_cont(【c1】【,c2】【,c3】【,c4】【,c5】【,c6】【,c7】【,c8】) | |
2783 | + | |
2784 | + 引 数:char | |
2785 | + | |
2786 | + 戻り値:int | |
2787 | + | |
2788 | + 機 能: | |
2789 | + | |
2790 | + c1からc8で指定されたチャンネルにおいて、一時停止した演奏を再開します。 | |
2791 | + チャンネルを全て省略すると、現在一時停止している全てのチャンネルの演奏を再開します。 | |
2792 | + | |
2793 | + 戻り値として、正常のときは0、エラーの時は-1を返します。 | |
2794 | + | |
2795 | + → m_stop | |
2796 | + | |
2797 | + | |
2798 | +{M_FREE MUSIC.FNC | |
2799 | + | |
2800 | + 書 式:m_free(t) | |
2801 | + | |
2802 | + 引 数:char | |
2803 | + | |
2804 | + 戻り値:int | |
2805 | + | |
2806 | + 機 能: | |
2807 | + | |
2808 | + 指定されたトラックtのトラックバッファの残りのバイト数を返します。 | |
2809 | + | |
2810 | + t…トラック番号(1〜80) | |
2811 | + | |
2812 | + | |
2813 | +{M_INIT 標準関数 | |
2814 | + | |
2815 | + 書 式:m_init | |
2816 | + | |
2817 | + 機 能: | |
2818 | + | |
2819 | + FM音源(トラックの楽譜データ、音色)を初期化します。 | |
2820 | + | |
2821 | + | |
2822 | +{M_PLAY MUISC.FNC | |
2823 | + | |
2824 | + 書 式: | |
2825 | + m_Play(【c1】【,c2】【,c3】【,c4】【,c5】【,c6】【,c7】【,c8】) | |
2826 | + | |
2827 | + 引 数:char | |
2828 | + | |
2829 | + 戻り値:int | |
2830 | + | |
2831 | + 機 能: | |
2832 | + | |
2833 | + c1からc8で指定されたチャンネルに割り当てられたトラックの楽譜データを演奏します。 | |
2834 | + チャンネルを全て省略すると、全チャンネルを演奏します。 | |
2835 | + | |
2836 | + 戻り値として、正常のときは0、エラーの時は-1を返します。 | |
2837 | + | |
2838 | + 用 例: | |
2839 | + | |
2840 | + | |
2841 | +{M_STAT MUSIC.FNC | |
2842 | + | |
2843 | + 書 式:m_stat(c) | |
2844 | + | |
2845 | + 引 数:char | |
2846 | + | |
2847 | + 戻り値:int | |
2848 | + | |
2849 | + 機 能: | |
2850 | + | |
2851 | + 指定されたチャンネルcが、演奏中かどうか調べ、演奏中なら1、そうでなければ0を返します。 | |
2852 | + | |
2853 | + チャンネルcを省略すると、返されるバイト値のビット0〜ビット7がチャンネル1〜8に対応し、0なら停止中、1なら演奏中です。 | |
2854 | + また、エラーのときは-1を返します。 | |
2855 | + | |
2856 | + c…チャンネル番号(1〜8) | |
2857 | + | |
2858 | + 用 例: | |
2859 | + | |
2860 | + | |
2861 | +{M_STOP MUSIC.FNC | |
2862 | + | |
2863 | + 書 式: | |
2864 | + m_stop(【c1】【,c2】【,c3】【,c4】【,c5】【,c6】【,c7】【,c8】) | |
2865 | + | |
2866 | + 引 数:char | |
2867 | + | |
2868 | + 戻り値:int | |
2869 | + | |
2870 | + 機 能: | |
2871 | + | |
2872 | + c1からc8で指定されたチャンネルの演奏を一時停止します。 | |
2873 | + チャンネルを全て省略すると、全チャンネルの演奏を一時停止します。 | |
2874 | + | |
2875 | + 戻り値として、正常のときは0、エラーの時は-1を返します。 | |
2876 | + | |
2877 | + → m_cont | |
2878 | + | |
2879 | + 用 例: | |
2880 | + | |
2881 | + | |
2882 | +{M_TEMPO MUSIC.FNC | |
2883 | + | |
2884 | + 書 式:m_tempo(te) | |
2885 | + | |
2886 | + 引 数:char | |
2887 | + | |
2888 | + 戻り値:int | |
2889 | + | |
2890 | + 機 能: | |
2891 | + | |
2892 | + テンポteを1分間に4分音符を何拍打つかで指定します。 | |
2893 | + テンポteは32〜200の範囲です。 | |
2894 | + | |
2895 | + 戻り値として、正常のときは0、エラーの時は-1を返します。 | |
2896 | + | |
2897 | + 用 例: | |
2898 | + | |
2899 | + | |
2900 | +{M_TRK MUSIC.FNC | |
2901 | + | |
2902 | + 書 式:m_trk(t,st) | |
2903 | + | |
2904 | + 引 数:char(t),str(st) | |
2905 | + | |
2906 | + 戻り値:int | |
2907 | + | |
2908 | + 機 能: | |
2909 | + | |
2910 | + MML による楽譜データをトラックtに書き込みます。 | |
2911 | + 厳密にいうと、トラックtに楽譜データを追加していきます。 | |
2912 | + | |
2913 | + 戻り値として、正常のときは0、エラーの時は-1を返します。 | |
2914 | + | |
2915 | + t…トラック番号(1〜80) | |
2916 | + st…MML(ミュージックマクロランゲージ)データ | |
2917 | + | |
2918 | + | |
2919 | +{M_VGET MUSIC.FNC | |
2920 | + | |
2921 | + 書 式:m_vget(vo,ca) | |
2922 | + | |
2923 | + 引 数:char(vo),char型二次元(4,10)配列名(ca) | |
2924 | + | |
2925 | + 戻り値:int | |
2926 | + | |
2927 | + 機 能: | |
2928 | + | |
2929 | + 配列caに格納されている音色データを指定された音色番号voのメモリバッファに登録します。 | |
2930 | + | |
2931 | + 戻り値として、正常のときは0、エラーの時は-1を返します。 | |
2932 | + | |
2933 | + vo…音色番号(1〜200)。1〜68は、登録済み。 | |
2934 | + ca…音色データを格納する為の char型二次元配列名。 | |
2935 | + (配列の次元は(4,10)) | |
2936 | + | |
2937 | + → m_vset | |
2938 | + | |
2939 | + 用 例: | |
2940 | + | |
2941 | + | |
2942 | +{M_VSET MUSIC.FNC | |
2943 | + | |
2944 | + 書 式:m_vset(vo,ca) | |
2945 | + | |
2946 | + 引 数:char(vo),char型二次元(4,10)配列名(ca) | |
2947 | + | |
2948 | + 戻り値:int | |
2949 | + | |
2950 | + 機 能: | |
2951 | + | |
2952 | + 音色データを配列caに読み込みます。 | |
2953 | + | |
2954 | + 戻り値として、正常のときは0、エラーの時は-1を返します。 | |
2955 | + | |
2956 | + vo…音色番号(1〜200)。1〜68は、登録済み。 | |
2957 | + ca…音色データを格納する為の char型二次元配列名。 | |
2958 | + (配列の次元は(4,10)) | |
2959 | + | |
2960 | + 音色データの配列形式 | |
2961 | + 0 1〜4(オペレータ) | |
2962 | + 0 フィードバック/アルゴリズム(0〜63) AR (0〜31) | |
2963 | + 1 スロットマスク(0〜15) D1R(0〜31) | |
2964 | + 2 ウェーブフォーム(0〜3) D2R(0〜31) | |
2965 | + 3 シンクロ(0、1) RR (0〜15) | |
2966 | + 4 スピード(0〜255) D1L(0〜15) | |
2967 | + 5 PMD(0〜127) TL (0〜127) | |
2968 | + 6 AMD(0〜127) KS (0〜3) | |
2969 | + 7 PMS(0〜7) MUL(0〜15) | |
2970 | + 8 AMS(0〜3) DT1(0〜7) | |
2971 | + 9 L,RPAN(0〜3) DT2(0〜3) | |
2972 | + 10 AMSイネーブル(0、1) | |
2973 | + | |
2974 | + なお、オペレータ1はM1(モジュレータ1)、オペレータ2はC1(キャリア1)、オペレータ3はM1(モジュレータ2)、およびオペレータ4はC2(キャリア2)に対応しています。 | |
2975 | + | |
2976 | + → m_vget | |
2977 | + | |
2978 | + | |
2979 | +{NAME コマンド | |
2980 | + | |
2981 | + 書 式: | |
2982 | + name "【ドライブ名】ファイル名1","ファイル名2" | |
2983 | + | |
2984 | + 省略形:na. | |
2985 | + | |
2986 | + 機 能: | |
2987 | + | |
2988 | + 指定したドライブのファイル名ファイル名1をファイル名2に変更します。 | |
2989 | + | |
2990 | + ドライブ名、ファイル名の詳細については、「Human68kユーザーズマニュアル」を参照してください。 | |
2991 | + | |
2992 | + 用 例:name"a:\test.dat","a\test.bas" | |
2993 | + | |
2994 | + | |
2995 | +{NEW コマンド | |
2996 | + | |
2997 | + 書 式:new | |
2998 | + | |
2999 | + 機 能: | |
3000 | + | |
3001 | + メモリにあるプログラムを消去し、すべての変数を初期化します。 | |
3002 | + | |
3003 | + new命令を実行すると、メモリにあるプログラムは全て消去され、定義されている変数も全て初期化されます。 | |
3004 | + | |
3005 | + → delete | |
3006 | + | |
3007 | + | |
3008 | +{OCT$ 標準関数 | |
3009 | + | |
3010 | + 書 式:oct$(i) | |
3011 | + | |
3012 | + 引 数:int | |
3013 | + | |
3014 | + 戻り値:str | |
3015 | + | |
3016 | + 機 能: | |
3017 | + | |
3018 | + 整数値iを8進表現の文字列に変換し返します。 | |
3019 | + なお、上位の"0"は取り除かれます。 | |
3020 | + | |
3021 | + → bin$、hex$ | |
3022 | + | |
3023 | + 用 例: | |
3024 | + | |
3025 | + | |
3026 | +{PAINT GRAPH.FNC | |
3027 | + | |
3028 | + 書 式:paint(x,y,p) | |
3029 | + | |
3030 | + 引 数:int | |
3031 | + | |
3032 | + 戻り値:void | |
3033 | + | |
3034 | + 機 能: | |
3035 | + | |
3036 | + グラフィック画面上の任意の単色領域内を塗りつぶします。 | |
3037 | + | |
3038 | + window関数で指定されたクリッピングエリア外の領域は無視されます。 | |
3039 | + | |
3040 | + x…塗りつぶしたい領域内の1点のX座標 | |
3041 | + y…塗りつぶしたい領域内の1点のY座標 | |
3042 | + p…パレットコード(色) | |
3043 | + | |
3044 | + x、yは、-32768から32767までの値をとることができます。 | |
3045 | + | |
3046 | + また、パレットコードp は0から65535までの値をとることができ、その最大値はグラフィック画面の実画面サイズおよび色モードによります。 | |
3047 | + | |
3048 | + 用 例: | |
3049 | + | |
3050 | + | |
3051 | +{PALET GRAPH.FNC | |
3052 | + | |
3053 | + 書 式:palet(p,c) | |
3054 | + | |
3055 | + 引 数:int | |
3056 | + | |
3057 | + 戻り値:void | |
3058 | + | |
3059 | + 機 能: | |
3060 | + | |
3061 | + グラフィック画面の各パレットにカラーコードcを割り当てます。 | |
3062 | + | |
3063 | + p…パレットコード(0〜255) | |
3064 | + c…カラーコード(0〜65535) | |
3065 | + | |
3066 | + このパレットコードpの最大値はグラフィック画面の実画面サイズおよび色モードによります。 | |
3067 | + | |
3068 | + なお、グラフィック画面の実画面サイズ及び色モードが512×512、65536色の場合は、パレットコードpとカラーコードcは1対1に対応し、同値として扱われるので、この palet関数は無効となります。 | |
3069 | + この場合パレットコードpは0から65535の値をとる事ができます。 | |
3070 | + | |
3071 | + 用 例: | |
3072 | + | |
3073 | + | |
3074 | +{PI 標準関数 | |
3075 | + | |
3076 | + 書 式:pi(【n】) | |
3077 | + | |
3078 | + 引 数:float | |
3079 | + | |
3080 | + 戻り値:float | |
3081 | + | |
3082 | + 機 能: | |
3083 | + | |
3084 | + 円周率のn倍を返します。 | |
3085 | + 数値nを省略すると n=1と見なされます。 | |
3086 | + | |
3087 | + n…倍数 | |
3088 | + | |
3089 | + 用 例: | |
3090 | + | |
3091 | + | |
3092 | +{POINT GRAPH.FNC | |
3093 | + | |
3094 | + 書 式:point(x,y) | |
3095 | + | |
3096 | + 引 数:int | |
3097 | + | |
3098 | + 戻り値:int | |
3099 | + | |
3100 | + 機 能: | |
3101 | + | |
3102 | + グラフィック画面上のドットのパレットコードを返します。 | |
3103 | + | |
3104 | + x…ドットのX座標 | |
3105 | + y…ドットのY座標 | |
3106 | + | |
3107 | + x、yはwindow関数で指定されたクリッピングエリア内の値をとる事ができます。戻り値として、0から65535までのパレットコードを返します。 | |
3108 | + ただし、そのパレットコードの最大値はグラフィック画面の実画面サイズおよび色モードによります。 | |
3109 | + | |
3110 | + 用 例: | |
3111 | + | |
3112 | + | |
3113 | +{POS システム変数 | |
3114 | + | |
3115 | + 書 式:pos | |
3116 | + | |
3117 | + 戻り値:int | |
3118 | + | |
3119 | + 機 能: | |
3120 | + | |
3121 | + テキスト画面の現在のカーソルの x座標を返します。代入する事はできません。 | |
3122 | + | |
3123 | + 用 例: | |
3124 | + | |
3125 | + | |
3126 | +{POW 標準関数 | |
3127 | + | |
3128 | + 書 式:Pow(n1,n2) | |
3129 | + | |
3130 | + 引 数:float | |
3131 | + | |
3132 | + 戻り値:float | |
3133 | + | |
3134 | + 機 能: | |
3135 | + | |
3136 | + 数値n1のn2乗の計算をします。 | |
3137 | + n1=0 かつ n2<0 の場合と、n1<0 かつ n2が整数でない場合は、エラーとなります。 | |
3138 | + | |
3139 | + 用 例: | |
3140 | + | |
3141 | + | |
3142 | +{PRINT ステートメント | |
3143 | + | |
3144 | + 書 式: | |
3145 | + 【l】print 【using 書式制御文字列】【式…】 | |
3146 | + | |
3147 | + 省略形:【l】p. または ? | |
3148 | + | |
3149 | + 機 能: | |
3150 | + | |
3151 | + テキスト画面に文字列や数値を表示します。 | |
3152 | + | |
3153 | + print命令に続けて数値や文字列を指定すると、その数値、文字列がテキスト画面に表示されます。 | |
3154 | + また、数値型変数や str型変数が指定されると、それらの変数に代入されている数値や文字列がテキスト画面に表示されます。 | |
3155 | + | |
3156 | + print命令だけを指定すると改行が行われます。 | |
3157 | + | |
3158 | + 数値を表示する場合、その後ろに必ず空白が1つ入ります。 | |
3159 | + また、数値の前には符号用の桁が用意され、プラス(+)の時には空白、マイナス(-)の時にはマイナス符号(-)が表示されます。 | |
3160 | + | |
3161 | + 複数のデータを表示する場合、それらの区切りとして、カンマ(,)、セミコロン(;)が使えます。 | |
3162 | + カンマを使うと print命令の後ろのデータはテキスト画面の一番左の列に表示され、8桁ごとに区切って表示されます。 | |
3163 | + | |
3164 | + 区切りにセミコロンを使うと print命令の後ろのデータがつながってテキスト画面に表示されます。 | |
3165 | + 一番最後のデータの後ろにセミコロンを置くと、つぎの print文のデータが前のデータにつながって表示されます。 | |
3166 | + | |
3167 | + lprint命令を使うと、テキスト画面の代りにプリンタに出力することができます。 | |
3168 | + | |
3169 | + print命令の省略形として疑問符(?)を使う事ができます。 | |
3170 | + | |
3171 | + print命令の後に、using と書式指定子を続けることによって、様々なフォーマットでデータを表示、出力することができます。 | |
3172 | + | |
3173 | + print using命令を使用した場合は、複数データを扱う事はできません。必ず、1つのデータになります。 | |
3174 | + | |
3175 | + 書式指定子 | |
3176 | + | |
3177 | + 1.数値型 | |
3178 | + # 表示する数値の桁数を指定します。数値の桁数が、指定された桁数より少なければ右詰めで表示、出力されます。 | |
3179 | + . 小数点の位置を指定します。はみ出す部分は四捨五入されます。 | |
3180 | + + - 正負の符号を付けます。負の符号は、#の列の後にのみ設定できます。 | |
3181 | + ** 空白の部分をアスタリスク(*)で埋めます。 | |
3182 | + \\ 空白の先頭に¥マークを付けます。 | |
3183 | + **\ 空白をアスタリスク(*)で埋め、先頭に¥マークを付けます。 | |
3184 | + ^^^^^ 数値を指数表現で表示、出力します。 | |
3185 | + , 3桁ごとにカンマ(,)をふります。 | |
3186 | + | |
3187 | + 2.文字型 | |
3188 | + ! 文字列の先頭の1文字のみを表示、出力します。 | |
3189 | + &(空白)& 文字列を&から&までの文字数分だけ表示、出力します。 | |
3190 | + @ 文字列をすべて表示、出力します。 | |
3191 | + | |
3192 | + 3.その他 | |
3193 | + _(アンダースコア) この後の書式指定子の1文字は、単なる文字として表示、出力します。書式指定子以外の文字があった場合は、そのまま表示、出力されます。 | |
3194 | + | |
3195 | + | |
3196 | + 用 例: | |
3197 | + | |
3198 | + | |
3199 | +{PSET GRAPH.FNC | |
3200 | + | |
3201 | + 書 式:pset(x,y,p) | |
3202 | + | |
3203 | + 引 数:int | |
3204 | + | |
3205 | + 戻り値:void | |
3206 | + | |
3207 | + 機 能: | |
3208 | + | |
3209 | + グラフィック画面上にドットを表示します。 | |
3210 | + | |
3211 | + x…ドットのX座標 | |
3212 | + y…ドットのY座標 | |
3213 | + p…パレットコード(色) | |
3214 | + | |
3215 | + x、yは、-32768から32767までの値をとることができます。クリッピングエリアについてはwindow関数で指定された範囲になります。 | |
3216 | + | |
3217 | + また、パレットコードpは0から65535までの値をとることができ、その最大値はグラフィック画面の実画面サイズおよび色モードによります。 | |
3218 | + | |
3219 | + 用 例: | |
3220 | + | |
3221 | + | |
3222 | +{PUT GRAPH.FNC | |
3223 | + | |
3224 | + 書 式:put(x1,y1,x2,y2,na) | |
3225 | + | |
3226 | + 引 数:int(x1,y1,x2,y2),数値型一次元配列(na) | |
3227 | + | |
3228 | + 戻り値:void | |
3229 | + | |
3230 | + 機 能: | |
3231 | + | |
3232 | + get関数で読み込んだドットパターンを指定された配列naから読み出してグラフィック画面の指定領域に表示します。 | |
3233 | + | |
3234 | + x1…始点X座標 | |
3235 | + y1…始点Y座標 | |
3236 | + x2…終点X座標 | |
3237 | + y2…終点Y座標 | |
3238 | + na…ドットパターンが格納されている数値型一次元配列名 | |
3239 | + | |
3240 | + x1、y1、x2、y2は、window関数で指定された範囲内の値をとることができます。 | |
3241 | + | |
3242 | + また、配列na内のデータ構造については、get関数を参照してください。 | |
3243 | + | |
3244 | + とくに、put関数を実行する前にあらかじめget関数で読み込んだときと同じグラフィック画面の実画面サイズおよび色モードにして、領域の大きさや配列naのデータ型、添字などは同じになるように指定してください。 | |
3245 | + | |
3246 | + → get | |
3247 | + | |
3248 | + 用 例: | |
3249 | + | |
3250 | + | |
3251 | +{RAND 標準関数 | |
3252 | + | |
3253 | + 書 式:rand() | |
3254 | + | |
3255 | + 戻り値:int | |
3256 | + | |
3257 | + 機 能: | |
3258 | + | |
3259 | + 0以上32767以内の整数型乱数を返します。 | |
3260 | + | |
3261 | + → randomise、rnd、srand | |
3262 | + | |
3263 | + 用 例: | |
3264 | + | |
3265 | + | |
3266 | +{RANDOMIZE 標準関数 | |
3267 | + | |
3268 | + 書 式:randomize(i) | |
3269 | + | |
3270 | + 引 数:int | |
3271 | + | |
3272 | + 戻り値:void | |
3273 | + | |
3274 | + 機 能: | |
3275 | + | |
3276 | + rnd()関数の乱数系列を初期化します。 | |
3277 | + | |
3278 | + i…乱数のシード(-32768≦i≦32767) | |
3279 | + | |
3280 | + → rand、rnd、srand | |
3281 | + | |
3282 | + 用 例: | |
3283 | + | |
3284 | + | |
3285 | +{REM ステートメント | |
3286 | + | |
3287 | + 書 式:/*【注釈文】 | |
3288 | + | |
3289 | + 機 能: | |
3290 | + | |
3291 | + プログラム中に注釈を入れます。 | |
3292 | + | |
3293 | + /* に続く文字列は、プログラム中の注釈になるだけで、プログラムの実行にはまったく関係しません。 | |
3294 | + プログラムを見やすくする覚え書きとして使用して下さい。 | |
3295 | + | |
3296 | + 用 例: | |
3297 | + | |
3298 | + | |
3299 | +{RENUM コマンド | |
3300 | + | |
3301 | + 書 式: | |
3302 | + renum 【新行番号】【,旧行番号】【,増分】 | |
3303 | + | |
3304 | + 省略形:ren. | |
3305 | + | |
3306 | + 機 能: | |
3307 | + | |
3308 | + プログラムの行番号を付け直します。 | |
3309 | + | |
3310 | + 新行番号、増分とも、省略すると10が採用されます。 | |
3311 | + 旧行番号を指定しないと、そのプログラムの先頭から新しい行番号に変ります。 | |
3312 | + たとえば、 | |
3313 | + | |
3314 | + renum プログラム全体の行番号を付けかえます。新しい行番号は10から始まり、20、30…と付けられます。 | |
3315 | + renum 100,50 行番号50に新しい行番号として100が付けられ、以降110、120…と付け直されます。 | |
3316 | + renum 100,,100 プログラム全体の行番号を付けかえます。新しい行番号は100から始り、200、300…と付けられます。 | |
3317 | + | |
3318 | + renum命令は、goto命令、gosub命令、then節、else節などで使われている行番号は変更しません。 | |
3319 | + | |
3320 | + | |
3321 | +{REPEAT〜UNTIL ステートメント | |
3322 | + | |
3323 | + 書 式: | |
3324 | + repeat | |
3325 | + : | |
3326 | + ループの内容 | |
3327 | + : | |
3328 | + until 式 | |
3329 | + | |
3330 | + 機 能: | |
3331 | + | |
3332 | + 式の値が真になるまで、指定されたループの内容を繰り返し(ループ)ます。 | |
3333 | + | |
3334 | + 繰り返しの終了判定はループの内容の実行後に行われます。 | |
3335 | + 少なくとも、1回はループの内容を実行します。 | |
3336 | + | |
3337 | + 用 例: | |
3338 | + | |
3339 | + | |
3340 | +{RGB GRAPH.FNC | |
3341 | + | |
3342 | + 書 式:rgb(r,g,b) | |
3343 | + | |
3344 | + 引 数:char | |
3345 | + | |
3346 | + 戻り値:int | |
3347 | + | |
3348 | + 機 能: | |
3349 | + | |
3350 | + r(赤)、g(緑)、b(青)の成分を0〜31で選び、カラーコードを求めます。 | |
3351 | + | |
3352 | + なお、この rgb関数によって得られるカラーコードは、0〜65534までの偶数値になります。 | |
3353 | + したがって、それぞれの偶数値に1を加える事で0〜65535までのカラーコードを指定できます。 | |
3354 | + | |
3355 | + 用 例: | |
3356 | + | |
3357 | + | |
3358 | +{RIGHT$ 標準関数 | |
3359 | + | |
3360 | + 書 式:right$(st,i) | |
3361 | + | |
3362 | + 引 数:str(st),int(i) | |
3363 | + | |
3364 | + 戻り値:str | |
3365 | + | |
3366 | + 機 能: | |
3367 | + | |
3368 | + 文字列stの終わりから指定された文字数iの文字列を取り出して返します。 | |
3369 | + | |
3370 | + st…元の文字列(文字式) | |
3371 | + i…取り出したい文字数 | |
3372 | + | |
3373 | + 文字数iは、1から255の値を取ります。 | |
3374 | + | |
3375 | + 指定された文字数iが、文字列stの総文字数より多い時は、文字列stをそのまま取り出して返します。 | |
3376 | + | |
3377 | + 指定された文字数iが、0または負の場合は null文字を返します。 | |
3378 | + | |
3379 | + → left$、mid$ | |
3380 | + | |
3381 | + 用 例: | |
3382 | + | |
3383 | + | |
3384 | +{RND 標準関数 | |
3385 | + | |
3386 | + 書 式:rnd() | |
3387 | + | |
3388 | + 戻り値:float | |
3389 | + | |
3390 | + 機 能: | |
3391 | + | |
3392 | + 0以上1未満の実数型乱数を返します。 | |
3393 | + | |
3394 | + → rand、randomize、srand | |
3395 | + | |
3396 | + 用 例: | |
3397 | + | |
3398 | + | |
3399 | +{RUN コマンド | |
3400 | + | |
3401 | + 書 式: | |
3402 | + run 【行番号】 | |
3403 | + | |
3404 | + または | |
3405 | + | |
3406 | + run "【ドライブ名】ファイル名" | |
3407 | + | |
3408 | + 省略形:r. | |
3409 | + | |
3410 | + 機 能: | |
3411 | + | |
3412 | + メモリにあるプログラムを実行します。 | |
3413 | + | |
3414 | + 行番号を省略すると、先頭行からプログラムを実行します。 | |
3415 | + | |
3416 | + ドライブ名、ファイル名が指定された時は、指定されたファイルをロードして実行します。 | |
3417 | + | |
3418 | + ドライブ名、ファイル名については、「Human68kユーザーズマニュアル」を参照して下さい。 | |
3419 | + | |
3420 | + 途中でプログラムの実行を中止したい時は、CTRL+Cキーまたは BREAKキーを押します。 | |
3421 | + | |
3422 | + | |
3423 | +{SAVE コマンド | |
3424 | + | |
3425 | + 書 式: | |
3426 | + save【@】"【ドライブ名】ファイル名" | |
3427 | + | |
3428 | + 省略形:sa. | |
3429 | + | |
3430 | + 機 能: | |
3431 | + | |
3432 | + メモリ上のBASICプログラムをセーブします。 | |
3433 | + | |
3434 | + saveではプログラムをアスキー形式でセーブします。 | |
3435 | + セーブされる行番号の範囲は、list命令と同様に行われます。 | |
3436 | + | |
3437 | + save@は、行番号を省略した形でプログラムがセーブされます。 | |
3438 | + | |
3439 | + ドライブ名、ファイル名については、『Human68kユーザーズマニュアル』を参照して下さい。 | |
3440 | + | |
3441 | + → load | |
3442 | + | |
3443 | + 用 例: | |
3444 | + | |
3445 | + | |
3446 | +{SCREEN ステートメント | |
3447 | + | |
3448 | + 書 式: | |
3449 | + screen 【表示画面サイズ】,【グラフィック画面の実画面サイズ及び色モード】,ディスプレイ解像度【,グラフィック画面の表示ON/OFF】 | |
3450 | + | |
3451 | + 省略形:sc. | |
3452 | + | |
3453 | + 機 能: | |
3454 | + | |
3455 | + 画面全体(テキスト画面、グラフィック画面、スプライト画面)のスクリーンモードを設定します。 | |
3456 | + | |
3457 | + 表示画面サイズ | |
3458 | + 0…256×256 | |
3459 | + 1…512×512 | |
3460 | + 2…768×512 | |
3461 | + (ディスプレイ解像度が1(高解像度モード)の時のみ有効) | |
3462 | + | |
3463 | + ただし、表示画面サイズが768×512以外のときにのみ、スプライト画面は使用できます。 | |
3464 | + また、表示画面サイズが768×512のときは、グラフィック画面の実画面サイズ及び色モードは、0しか設定できません。 | |
3465 | + | |
3466 | + グラフィック画面の実画面サイズ及び色モード | |
3467 | + (使用可能なグラフィックページ) | |
3468 | + 0…1024×1024、16色(グラフィックページ0) | |
3469 | + 1…512×512、16色(グラフィックページ0〜3) | |
3470 | + 2…512×512、256色(グラフィックページ0、1) | |
3471 | + 3…512×512、65536色(グラフィックページ0) | |
3472 | + | |
3473 | + ただし、グラフィック画面の実画面サイズ及び色モードが0以外のときは、表示画面サイズは0または1しか設定できません。 | |
3474 | + | |
3475 | + ディスプレイ解像度 | |
3476 | + 0…Low(標準解像度) | |
3477 | + 1…High(高解像度) | |
3478 | + | |
3479 | + ただし、screen,,0はディスプレイ解像度のみをLowに設定し、screen,,1はディスプレイ解像度のみをHighに設定します。 | |
3480 | + この場合、グラフィックRAMのデータは保存されたままです。 | |
3481 | + ディスプレイ解像度がLowのときは表示画面サイズで768×512は使用できません。 | |
3482 | + | |
3483 | + グラフィック画面の表示ON/OFF | |
3484 | + 0…表示OFF(グラフィック関数使用不可) | |
3485 | + グラフィックRAMをグラフィック以外の目的で使用する場合に設定して下さい。 | |
3486 | + 1…表示ON(グラフィック関数使用可) | |
3487 | + グラフィックRAMをグラフィック関数などで使用する場合に設定して下さい。 | |
3488 | + | |
3489 | + なお、一旦グラフィック画面の表示ON/OFFを1に設定するとすべてのグラフィックRAMのデータは消去されます。 | |
3490 | + 特にグラフィックRAMをRAMディスクとして使用している場合は、RAMディスクが破壊されますので、あらかじめRAMディスクのデータをディスクなどにセーブしてください。 | |
3491 | + | |
3492 | + screen命令実行後、window関数(グラフィック画面のクリッピングエリア)は表示画面サイズに、home関数(グラフィック画面の実画面における表示画面の左上座標)は(0,0)に再設定されます。 | |
3493 | + また、テキスト画面は、通常表示ON、スプライト画面及びグラフィック画面は表示OFFです。 | |
3494 | + | |
3495 | + グラフィック関数を使用する場合は、必ず最初に screen命令で初期化を行ってください。 | |
3496 | + | |
3497 | + | |
3498 | +{SEARCH コマンド | |
3499 | + | |
3500 | + 書 式:【l】search "検索文字列" | |
3501 | + | |
3502 | + 省略形:【l】se. | |
3503 | + | |
3504 | + 機 能: | |
3505 | + | |
3506 | + 指定した検索文字列を含むプログラム行をすべて表示します。 | |
3507 | + | |
3508 | + lsearch命令を使用すれば、プリンタに出力できます。 | |
3509 | + | |
3510 | + 用 例:search "X68" | |
3511 | + | |
3512 | + | |
3513 | +{SETMSPOS MOUSE.FNC | |
3514 | + | |
3515 | + 書 式:setmspos(x,y) | |
3516 | + | |
3517 | + 引 数:int | |
3518 | + | |
3519 | + 戻り値:int | |
3520 | + | |
3521 | + 機 能: | |
3522 | + | |
3523 | + マウスカーソルの位置を指定します。 | |
3524 | + 範囲は、msarea関数によって指定された範囲です。 | |
3525 | + 戻り値として、エラーのとき-1を返します。 | |
3526 | + | |
3527 | + 用 例: | |
3528 | + | |
3529 | + | |
3530 | +{SGN 標準関数 | |
3531 | + | |
3532 | + 書 式:sgn(n) | |
3533 | + | |
3534 | + 引 数:float | |
3535 | + | |
3536 | + 戻り値:float | |
3537 | + | |
3538 | + 機 能: | |
3539 | + | |
3540 | + 数値nの符号を調べ、正の数だったら1を、nが0の場合は0を、負の数だったら-1を返します。 | |
3541 | + | |
3542 | + 用 例: | |
3543 | + | |
3544 | + | |
3545 | +{SIN 標準関数 | |
3546 | + | |
3547 | + 書 式:sin(n) | |
3548 | + | |
3549 | + 引 数:float | |
3550 | + | |
3551 | + 戻り値:float | |
3552 | + | |
3553 | + 機 能: | |
3554 | + | |
3555 | + 数値n(ラジアン)の正弦(サイン)を返します。 | |
3556 | + | |
3557 | + 用 例: | |
3558 | + | |
3559 | + | |
3560 | +{SPACE$ 標準関数 | |
3561 | + | |
3562 | + 書 式:space$(i) | |
3563 | + | |
3564 | + 引 数:int | |
3565 | + | |
3566 | + 戻り値:str | |
3567 | + | |
3568 | + 機 能: | |
3569 | + | |
3570 | + 長さi文字の空白文字(&20H")からなる文字列を返します。 | |
3571 | + | |
3572 | + 長さiは1から255の値をとり、0または負の場合には null文字を返します。 | |
3573 | + | |
3574 | + 用 例: | |
3575 | + | |
3576 | + | |
3577 | +{SP_CLR SPRITE.FNC | |
3578 | + | |
3579 | + 書 式:sp_clr(【cd1】【,cd2】) | |
3580 | + | |
3581 | + 引 数:char | |
3582 | + | |
3583 | + 戻り値:int | |
3584 | + | |
3585 | + 機 能: | |
3586 | + | |
3587 | + パターンコードcd1からパターンコードcd2で指定した範囲のスプライトやバックグラウンドのパターンを初期化します。 | |
3588 | + | |
3589 | + パターンコードcd1を省略した場合は、パターンコード0からパターンコードcd2までのパターンを初期化します。 | |
3590 | + | |
3591 | + パターンコードcd2を省略した場合は、パターンコードcd1で指定したパターンだけ、またパターンコードcd1、cd2とも省略した場合は全パターン(0〜255)が初期化されます。 | |
3592 | + | |
3593 | + cd1、cd2…パターンコード(0〜255) | |
3594 | + | |
3595 | + | |
3596 | +{SP_COLOR SPRITE.FNC | |
3597 | + | |
3598 | + 書 式:sp_color(p,c【,pd】) | |
3599 | + | |
3600 | + 引 数:char(p,pd),int(c) | |
3601 | + | |
3602 | + 戻り値:int | |
3603 | + | |
3604 | + 機 能: | |
3605 | + | |
3606 | + スプライトやバックグラウンドのパターン単位にパレットブロックpdを指定し、そのパターンのドット単位に(各パターンにおけるパレットブロックpdの中から)パレットコードpを設定し、そのパレットにカラーコードcを割り当てます。 | |
3607 | + | |
3608 | + なお、パレットブロックpdを省略したときは、パレットブロック1と見なされます。 | |
3609 | + | |
3610 | + パレットコード0には透明を設定して下さい。 | |
3611 | + | |
3612 | + 戻り値として、指定されたパレットコードpに対する設定前のカラーコードを返します。 | |
3613 | + | |
3614 | + p …パレットコード(0〜15) | |
3615 | + c …カラーコード(0〜65536) | |
3616 | + pd…パレットブロック(1〜15) | |
3617 | + | |
3618 | + | |
3619 | +{SP_DEF SPRITE.FNC | |
3620 | + | |
3621 | + 書 式:sp_def(cd,ca【,sz】) | |
3622 | + | |
3623 | + 引 数: | |
3624 | + char(cd,sz),char型一次元(255または63)配列名(ca) | |
3625 | + | |
3626 | + 戻り値:int | |
3627 | + | |
3628 | + 機 能: | |
3629 | + | |
3630 | + スプライトやバックグラウンドのパターンを定義します。 | |
3631 | + | |
3632 | + cd… パターンコード(0〜255) | |
3633 | + ca… スプライトやバックグラウンドのパターンのデータが格納されているchar型一次元配列名、要素数256(sz=1のとき)または64(sz=0のとき) | |
3634 | + sz… パターンサイズ(0、1) | |
3635 | + | |
3636 | + パターンサイズszが1の場合、定義できるパターンは16×16ドットで、1ドットにつき配列caの1要素を使用します。 | |
3637 | + 0番目の要素がパターンの左上端のドット、15番目の要素がパターンの右上端のドットに対応します。 | |
3638 | + この場合の配列caの要素数は256になります。 | |
3639 | + | |
3640 | + 16×16ドットのパターンが使用されるのは、スプライトのパターンや表示画面サイズが512×512の場合のバックグラウンドのパターンを定義するときです。 | |
3641 | + | |
3642 | + また、パターンサイズszが1のとき、バックグラウンドのテキストページ1しか使用しない場合のパターンコードcdは0から191までの値をとることができ、テキストページ0、1とも使用する場合のパターンコードcdは0から127までの値をとることができます。 | |
3643 | + バックグラウンドのテキストページ0、1とも使用しない(バックグラウンドを使用しない)場合のパターンコードcdは0から255までの値をとる事ができます。 | |
3644 | + | |
3645 | + パターンサイズszが0の場合、定義できるパターンは8×8ドットで、1ドットにつき配列caの1要素を使用します。 | |
3646 | + 0番目の要素がパターンの左上端のドット、7番目の要素がパターンの右上端のドットに対応します。 | |
3647 | + この場合の配列caの要素数は64になります。 | |
3648 | + | |
3649 | + 8×8ドットのパターンが使用されるのは表示画面サイズが256×256の場合のバックグラウンドのパターンを定義するときです。 | |
3650 | + | |
3651 | + パターンサイズszが1のとき、パターンコードn というパターンが定義されていたとします。 | |
3652 | + この16×16ドットのパターンと同じものを定義するためには、パターンサイズszが0のとき、4つのパターンコードが必要になります。 | |
3653 | + この4つのパターンコードには、16×16ドットのパターンの内、左上の8×8ドットのパターンが、パターンコード4nに、左下の8×8ドットのパターンがパターンコード4n+1、以下同様に右上が4n+2、右下が4n+3に対応します。 | |
3654 | + ただし、パターンサイズszが0のときでも定義できるパターンの最大数は256です。 | |
3655 | + | |
3656 | + なお、パターンサイズszを省略すると、パターンサイズszは1と見なされます。また、1ドットのデータは4ビットでこの値がそのドットのパレットコードp となります。 | |
3657 | + | |
3658 | + → sp_pat | |
3659 | + | |
3660 | + 用 例: | |
3661 | + | |
3662 | + | |
3663 | +{SP_DISP SPRITE.FNC | |
3664 | + | |
3665 | + 書 式:sp_disp(ch) | |
3666 | + | |
3667 | + 引 数:char | |
3668 | + | |
3669 | + 戻り値:int | |
3670 | + | |
3671 | + 機 能: | |
3672 | + | |
3673 | + スプライト画面(スプライトやバックグラウンド)の表示の設定をします。 | |
3674 | + | |
3675 | + なお、スプライト画面は表示画面サイズが768×512以外のとき使用できます。 | |
3676 | + | |
3677 | + ch… 0=スプライト画面を表示しない | |
3678 | + 1=スプライト画面を表示する | |
3679 | + | |
3680 | + | |
3681 | +{SP_INIT SPRITE.FNC | |
3682 | + | |
3683 | + 書 式:sp_init() | |
3684 | + | |
3685 | + 戻り値:int | |
3686 | + | |
3687 | + 機 能: | |
3688 | + | |
3689 | + スプライト画面(スプライトやバックグラウンド)を初期化します。 | |
3690 | + 初期化するものは、各パターンやパレットなどです。 | |
3691 | + | |
3692 | + なお、スプライト画面は表示画面サイズが768×512以外のとき使用できます。 | |
3693 | + | |
3694 | + | |
3695 | +{SP_MOVE SPRITE.FNC | |
3696 | + | |
3697 | + 書 式:sp_move(s,【x】,【y】【,cd】) | |
3698 | + | |
3699 | + 引 数:char(s,cd),int(x,y) | |
3700 | + | |
3701 | + 戻り値:int | |
3702 | + | |
3703 | + 機 能: | |
3704 | + | |
3705 | + パターンコードcdのスプライトパターンをプレーンsに割り当て、指定された座標位置にそのスプライトを表示します。 | |
3706 | + | |
3707 | + s …プレーン(0〜127) | |
3708 | + x …X座標(-16〜1007) | |
3709 | + y …Y座標(-16〜1007) | |
3710 | + cd…パターンコード(0〜255) | |
3711 | + | |
3712 | + 表示画面の左上座標は、sp_set と異なり、(0,0)になります。 | |
3713 | + | |
3714 | + sp_move は sp_setのパラメータの一部を標準的な値に設定した関数です。 | |
3715 | + つまり、垂直・水平反転は通常、パレットブロックは1、優先度は3に、自動的に設定されます。 | |
3716 | + | |
3717 | + より高度な使い方をする場合は、sp_setを使用してください。 | |
3718 | + | |
3719 | + バックグラウンドのテキストページ1しか使用しない場合のパターンコードcdは16×16ドットパターンの場合0から191までの値をとる事が出来ます。 | |
3720 | + | |
3721 | + テキストページ0、1とも使用する場合のパターンコードcdは16×16ドットパターンの場合0から127までの値をとる事が出来ます。 | |
3722 | + | |
3723 | + テキストページ0、1とも使用しない(バックグラウンドを使用しない)場合のパターンコードcdは16×16ドットパターンの場合0から255までの値をとる事が出来ます。 | |
3724 | + | |
3725 | + → sp_set | |
3726 | + | |
3727 | + 用 例: | |
3728 | + | |
3729 | + | |
3730 | +{SP_OFF SPRITE.FNC | |
3731 | + | |
3732 | + 書 式:sp_off(【s1】【,s2】) | |
3733 | + | |
3734 | + 引 数:char | |
3735 | + | |
3736 | + 戻り値:int | |
3737 | + | |
3738 | + 機 能: | |
3739 | + | |
3740 | + プレーンs1からプレーンs2で指定した範囲のスプライトが表示されません。 | |
3741 | + | |
3742 | + プレーンs1を省略した場合は、プレーン0からプレーンs2までのスプライトが表示されません。 | |
3743 | + | |
3744 | + プレーンs2を省略した場合は、プレーンs1で指定したスプライトだけ、またプレーンs1、s2とも省略した場合は全スプライト(プレーン0〜127)が表示されません。 | |
3745 | + | |
3746 | + s1、s2…プレーン(0〜127) | |
3747 | + | |
3748 | + | |
3749 | +{SP_ON SPRITE.FNC | |
3750 | + | |
3751 | + 書 式:sp_on(【s1】【,s2】) | |
3752 | + | |
3753 | + 引 数:char | |
3754 | + | |
3755 | + 戻り値:int | |
3756 | + | |
3757 | + 機 能: | |
3758 | + | |
3759 | + プレーンs1からプレーンs2で指定した範囲のスプライトが表示されます。 | |
3760 | + | |
3761 | + プレーンs1を省略した場合は、プレーン0からプレーンs2までのスプライトが表示されます。 | |
3762 | + | |
3763 | + プレーンs2を省略した場合は、プレーンs1で指定したスプライトだけ、またプレーンs1、s2とも省略した場合は全スプライト(プレーン0〜127)が表示されます。 | |
3764 | + | |
3765 | + s1、s2…プレーン(0〜127) | |
3766 | + | |
3767 | + | |
3768 | +{SP_PAT SPRITE.FNC | |
3769 | + | |
3770 | + 書 式:sp_pat(cd,ca【,sz】) | |
3771 | + | |
3772 | + 引 数:char(cd,sz),char型一次元(255または63)配列名(ca) | |
3773 | + | |
3774 | + 戻り値:int | |
3775 | + | |
3776 | + 機 能: | |
3777 | + | |
3778 | + スプライトやバックグラウンドのパターンのデータを、指定された配列caに読み出します。 | |
3779 | + | |
3780 | + cd… パターンコード(0〜255) | |
3781 | + ca… スプライトやバックグラウンドのパターンのデータを格納するchar型一次元配列名、要素数256(sz=1の時)または64(sz=0の時) | |
3782 | + sz… パターンサイズ(0,1) | |
3783 | + | |
3784 | + 読み出されたパターンのデータの詳細や、パターンコードcdや配列ca、パターンサイズszの詳細については、sp_def関数を参照して下さい。 | |
3785 | + | |
3786 | + → sp_def | |
3787 | + | |
3788 | + 用 例: | |
3789 | + | |
3790 | + | |
3791 | +{SP_SET SPRITE.FNC | |
3792 | + | |
3793 | + 書 式:sp_set(s,【x】,【y】,【pd】【,pr】) | |
3794 | + | |
3795 | + 引 数:char(s,pr),int(x,y,pd) | |
3796 | + | |
3797 | + 戻り値:int | |
3798 | + | |
3799 | + 機 能: | |
3800 | + | |
3801 | + パターンコードcdのスプライトパターンをプレーンsに割り当て、指定された座標位置にそのスプライトを表示します。 | |
3802 | + | |
3803 | + s …プレーン(0〜127) | |
3804 | + x …X座標(0〜1023) | |
3805 | + y …Y座標(0〜1023) | |
3806 | + pd…パターンデータ(0〜&HCFFF) | |
3807 | + pr…優先度(0〜3) | |
3808 | + | |
3809 | + 表示画面の左上座標は(16,16)になります。 | |
3810 | + | |
3811 | + パターンデータpdは、次のようなビット構成になっています。 | |
3812 | + (ビット12、13は通常0になります) | |
3813 | + | |
3814 | + ビット15…垂直反転(0:通常、1:垂直反転) | |
3815 | + ビット14…水平反転(0:通常、1:水平反転) | |
3816 | + ビット8〜11…パレットブロックpb(1〜15) | |
3817 | + ビット0〜7…パターンコードcd(0〜255) | |
3818 | + | |
3819 | + テキストページ1しか使用しない場合のパターンコードcdは16×16ドットパターンの場合0から191までの値をとる事が出来ます。 | |
3820 | + | |
3821 | + テキストページ0、1とも使用する場合のパターンコードcdは16×16ドットパターンの場合0から127までの値をとる事が出来ます。 | |
3822 | + | |
3823 | + テキストページ0、1とも使用しない(バックグラウンドを使用しない)場合のパターンコードcdは16×16ドットパターンの場合0から255までの値をとる事が出来ます。 | |
3824 | + | |
3825 | + 優先度prは、指定する値によってスプライトとバックグラウンド0、1の表示優先順位を次のように設定します。 | |
3826 | + | |
3827 | + 0… スプライトは表示されない | |
3828 | + 1… バックグラウンド0 > バックグラウンド1 > スプライト | |
3829 | + 2… バックグラウンド0 > スプライト > バックグラウンド1 | |
3830 | + 3… スプライト > バックグラウンド0 > バックグラウンド1 | |
3831 | + | |
3832 | + なお、ここでは左側にあるほど重なった時の表示は優先される事を意味しています。 | |
3833 | + | |
3834 | + → sp_stat | |
3835 | + | |
3836 | + | |
3837 | +{SP_STAT SPRITE.FNC | |
3838 | + | |
3839 | + 書 式:sp_stat(s,md) | |
3840 | + | |
3841 | + 引 数:char | |
3842 | + | |
3843 | + 戻り値:int | |
3844 | + | |
3845 | + 機 能: | |
3846 | + | |
3847 | + 指定されたスプライトの状態を読み出します。 | |
3848 | + | |
3849 | + s …プレーン(0〜127) | |
3850 | + md…(0〜3) | |
3851 | + | |
3852 | + モードmdには読み出す内容を指定します。 | |
3853 | + | |
3854 | + 0=X座標(0〜1023) | |
3855 | + 1=Y座標(0〜1023) | |
3856 | + 2=パターンデータpd(0〜&HCFFF) | |
3857 | + 3=優先度pr(0〜3) | |
3858 | + | |
3859 | + モードmdで2や3を指定した時に読み出された内容(パターンデータpdや、優先度prなど)の詳細については、sp_set関数を参照して下さい。 | |
3860 | + | |
3861 | + → sp_set | |
3862 | + | |
3863 | + | |
3864 | +{SQR 標準関数 | |
3865 | + | |
3866 | + 書 式:sqr(n) | |
3867 | + | |
3868 | + 引 数:float | |
3869 | + | |
3870 | + 戻り値:float | |
3871 | + | |
3872 | + 機 能: | |
3873 | + | |
3874 | + 数値nの平方根(ルート)を返します。 | |
3875 | + n≧0でなければなりません。 | |
3876 | + | |
3877 | + | |
3878 | + 用 例: | |
3879 | + | |
3880 | + | |
3881 | +{SRAND 標準関数 | |
3882 | + | |
3883 | + 書 式:srand(i) | |
3884 | + | |
3885 | + 引 数:int | |
3886 | + | |
3887 | + 戻り値:void | |
3888 | + | |
3889 | + 機 能: | |
3890 | + | |
3891 | + rand関数の乱数系列を初期化します。 | |
3892 | + | |
3893 | + i…乱数のシード(0≦i≦65535) | |
3894 | + | |
3895 | + → rand、randomize、rnd | |
3896 | + | |
3897 | + 用 例: | |
3898 | + | |
3899 | + | |
3900 | +{STICK STICK.FNC | |
3901 | + | |
3902 | + 書 式:stick(j) | |
3903 | + | |
3904 | + 引 数:int | |
3905 | + | |
3906 | + 戻り値:int | |
3907 | + | |
3908 | + 機 能: | |
3909 | + | |
3910 | + ジョイスティックjの状態を調べます。 | |
3911 | + | |
3912 | + j…1=ジョイスティック1 | |
3913 | + 2=ジョイスティック2 | |
3914 | + | |
3915 | + 戻り値は次のようになります。 | |
3916 | + | |
3917 | + 7(左上) 8(上) 9(右上) | |
3918 | + \ | / | |
3919 | + 4(右) − 0(中) −6(左) | |
3920 | + / | \ | |
3921 | + 1(左下) 2(下) 3(右下) | |
3922 | + | |
3923 | + 用 例: | |
3924 | + | |
3925 | + | |
3926 | +{STOP ステートメント | |
3927 | + | |
3928 | + 書 式:stop | |
3929 | + | |
3930 | + 機 能: | |
3931 | + | |
3932 | + プログラムの実行を停止します。 | |
3933 | + | |
3934 | + プログラムの実行を停止して、直接命令が入力できる状態にします。 | |
3935 | + stop命令はプログラム内のどこに置いても構いません。 | |
3936 | + | |
3937 | + プログラムを再開するには cont命令を実行します。 | |
3938 | + | |
3939 | + → cont | |
3940 | + | |
3941 | + 用 例: | |
3942 | + | |
3943 | + | |
3944 | +{STR ステートメント | |
3945 | + | |
3946 | + 書 式: | |
3947 | + str 変数名【[文字バッファのサイズ]】【=文字定数式】【,…】 | |
3948 | + | |
3949 | + 機 能: | |
3950 | + | |
3951 | + 変数を文字(str)型として宣言します。同時に文字列を代入する事もできます。 | |
3952 | + | |
3953 | + また、文字バッファのサイズを1〜255の範囲で設定できます。 | |
3954 | + 文字バッファのサイズを指定しない場合は32文字とみなされます。 | |
3955 | + | |
3956 | + str型変数および定数は、常にキャラクターコードが0で終っています。 | |
3957 | + | |
3958 | + 原則として、変数宣言はメインプログラムの先頭で行ってください。 | |
3959 | + また、同じ名前の変数をメインプログラム中で再宣言する事はできません。 | |
3960 | + | |
3961 | + → char、float、int | |
3962 | + | |
3963 | + 用 例: | |
3964 | + | |
3965 | + | |
3966 | +{STR$ 標準関数 | |
3967 | + | |
3968 | + 書 式:str$(n) | |
3969 | + | |
3970 | + 引 数:float | |
3971 | + | |
3972 | + 戻り値:str | |
3973 | + | |
3974 | + 機 能: | |
3975 | + | |
3976 | + 浮動小数値nを文字列に変換して返します。 | |
3977 | + | |
3978 | + → val | |
3979 | + | |
3980 | + 用 例: | |
3981 | + | |
3982 | + | |
3983 | +{STRCHR 標準関数 | |
3984 | + | |
3985 | + 書 式:strchr(st,ch) | |
3986 | + | |
3987 | + 引 数:str(st),char(ch) | |
3988 | + | |
3989 | + 戻り値:int | |
3990 | + | |
3991 | + 機 能: | |
3992 | + | |
3993 | + 文字列stの中で最初にキャラクターコードchの文字を見つけた位置を返します。 | |
3994 | + | |
3995 | + 位置は文字列stの先頭が0になります。 | |
3996 | + 見付からなかった場合は、-1を返します。 | |
3997 | + | |
3998 | + キャラクターコードchは、0から255の値を取ります。 | |
3999 | + | |
4000 | + 用 例: | |
4001 | + | |
4002 | + | |
4003 | +{STRCSPN 標準関数 | |
4004 | + | |
4005 | + 書 式:strcspn(st1,st2) | |
4006 | + | |
4007 | + 引 数:str | |
4008 | + | |
4009 | + 戻り値:int | |
4010 | + | |
4011 | + 機 能: | |
4012 | + | |
4013 | + 文字列st2中のどれか1文字を文字列st1の中で最初に見つけた位置を返します。 | |
4014 | + | |
4015 | + 位置は文字列st1の先頭が0になります。見つからなかった場合は、文字列st1の長さを返します。 | |
4016 | + | |
4017 | + 文字列st2が null文字の場合も、文字列st1の長さを返します。また文字列st1が null文字の場合は0を返します。 | |
4018 | + | |
4019 | + 用 例: | |
4020 | + | |
4021 | + | |
4022 | +{STRIG STICK.FNC | |
4023 | + | |
4024 | + 書 式:strig(j) | |
4025 | + | |
4026 | + 引 数:int | |
4027 | + | |
4028 | + 戻り値:int | |
4029 | + | |
4030 | + 機 能: | |
4031 | + | |
4032 | + ジョイスティックjのトリガーボタンの状態を調べます。 | |
4033 | + | |
4034 | + j… 1=ジョイスティック1 | |
4035 | + 2=ジョイスティック2 | |
4036 | + | |
4037 | + 戻り値は次のようになります。 | |
4038 | + | |
4039 | + 0…トリガーA、Bとも押されていない | |
4040 | + 1…トリガーAのみ押されている | |
4041 | + 2…トリガーBのみ押されている | |
4042 | + 3…トリガーA、Bとも押されている | |
4043 | + | |
4044 | + 用 例: | |
4045 | + | |
4046 | + | |
4047 | +{STRING$ 標準関数 | |
4048 | + | |
4049 | + 書 式:string$(i,st) | |
4050 | + | |
4051 | + 引 数:int(i),str(st) | |
4052 | + | |
4053 | + 戻り値:str | |
4054 | + | |
4055 | + 機 能: | |
4056 | + | |
4057 | + 文字列stの先頭1文字だけでできた、長さi文字の文字列を返します。 | |
4058 | + | |
4059 | + 長さiは1から255の値をとり、0または負の場合には null文字を返します。 | |
4060 | + | |
4061 | + 用 例: | |
4062 | + | |
4063 | + | |
4064 | +{STRLEN(LEN) 標準関数 | |
4065 | + | |
4066 | + 書 式: | |
4067 | + strlen(st) | |
4068 | + len(st) | |
4069 | + | |
4070 | + 引 数:str | |
4071 | + | |
4072 | + 戻り値:int | |
4073 | + | |
4074 | + 機 能: | |
4075 | + | |
4076 | + 文字列stの長さ(0〜255)を返します。 | |
4077 | + 文字列stが null文字の場合は0を返します。 | |
4078 | + | |
4079 | + 用 例: | |
4080 | + | |
4081 | + | |
4082 | +{STRLWR 標準関数 | |
4083 | + | |
4084 | + 書 式:strlwr(st) | |
4085 | + | |
4086 | + 引 数:str型変数名 | |
4087 | + | |
4088 | + 戻り値:str | |
4089 | + | |
4090 | + 機 能: | |
4091 | + | |
4092 | + str型変数stの中の英大文字を全て英小文字に変換します。 | |
4093 | + | |
4094 | + 用 例: | |
4095 | + | |
4096 | + | |
4097 | +{STRNSET 標準関数 | |
4098 | + | |
4099 | + 書 式:strnset(st,ch,i) | |
4100 | + | |
4101 | + 引 数:str型変数名(st),char(ch),int(i) | |
4102 | + | |
4103 | + 戻り値:str | |
4104 | + | |
4105 | + 機 能: | |
4106 | + | |
4107 | + str型変数stの先頭から文字数i分をキャラクターコードchの文字に変換します。 | |
4108 | + キャラクターコードchは、0から255の値をとります。 | |
4109 | + 文字iが0または負の時はstr型変数stの内容は変わりません。 | |
4110 | + | |
4111 | + 用 例: | |
4112 | + | |
4113 | + | |
4114 | +{STRRCHR 標準関数 | |
4115 | + | |
4116 | + 書 式:strrchr(st,ch) | |
4117 | + | |
4118 | + 引 数:str(st),char(ch) | |
4119 | + | |
4120 | + 戻り値:int | |
4121 | + | |
4122 | + 機 能: | |
4123 | + | |
4124 | + 文字列stの中でキャラクターコードchの文字が最後に見つからなかった位置を返します。位置は文字列stの先頭が0になります。 | |
4125 | + 先頭でしか見つからなかった場合は0、全く見付からなかった場合は-1を返します。 | |
4126 | + キャラクターコードchは、0から255の値をとります。 | |
4127 | + | |
4128 | + 用 例: | |
4129 | + | |
4130 | + | |
4131 | +{STRREV 標準関数 | |
4132 | + | |
4133 | + 書 式:strrev(st) | |
4134 | + | |
4135 | + 引 数:str型変数名 | |
4136 | + | |
4137 | + 戻り値:str | |
4138 | + | |
4139 | + 機 能: | |
4140 | + | |
4141 | + str型変数stの並びを逆転します。 | |
4142 | + | |
4143 | + 用 例: | |
4144 | + | |
4145 | + | |
4146 | +{STRSET 標準関数 | |
4147 | + | |
4148 | + 書 式:strset(st,ch) | |
4149 | + | |
4150 | + 引 数:str型変数名(st),char(ch) | |
4151 | + | |
4152 | + 戻り値:str | |
4153 | + | |
4154 | + 機 能: | |
4155 | + | |
4156 | + str型変数stの全ての文字を、キャラクターコードchの文字に変換します。 | |
4157 | + キャラクターコードchは、0から255の値をとります。 | |
4158 | + | |
4159 | + 用 例: | |
4160 | + | |
4161 | + | |
4162 | +{STRSPN 標準関数 | |
4163 | + | |
4164 | + 書 式:strspn(st1,st2) | |
4165 | + | |
4166 | + 引 数:str | |
4167 | + | |
4168 | + 戻り値:int | |
4169 | + | |
4170 | + 機 能: | |
4171 | + | |
4172 | + 文字列st2に属さない文字を、文字列st1の中で最初に見つけた位置を返します。位置は文字列st1の先頭が0になります。 | |
4173 | + | |
4174 | + 見付からなかった場合は、文字列st1の長さを返します。 | |
4175 | + また、文字列st1あるいは文字列st2が null文字の場合は0を返します。 | |
4176 | + | |
4177 | + 用 例: | |
4178 | + | |
4179 | + | |
4180 | +{STRTOK 標準関数 | |
4181 | + | |
4182 | + 書 式:strtok(st1,st2) | |
4183 | + | |
4184 | + 引 数:str | |
4185 | + | |
4186 | + 戻り値:str | |
4187 | + | |
4188 | + 機 能: | |
4189 | + | |
4190 | + 文字列st2に含まれる文字(どれか1文字)を文字列st1の中から探し、見付かれば先頭からその位置までの文字列を返します。 | |
4191 | + | |
4192 | + 最初の strtok関数の実行の場合は、文字列st1の先頭に文字列st2に含まれる文字があっても無視します。続いて、文字列st1を null文字にして strtok関数を実行すると次に文字列st2に含まれる文字が見付かった所までの文字列を返します。 | |
4193 | + | |
4194 | + 文字列st2に含まれる文字が見付からなくなると、null文字を返します。 | |
4195 | + 文字列st2が、null文字場合は、文字列st1をそのまま返します。 | |
4196 | + | |
4197 | + 用 例: | |
4198 | + | |
4199 | + | |
4200 | +{STRUPR 標準関数 | |
4201 | + | |
4202 | + 書 式:strupr(st) | |
4203 | + | |
4204 | + 引 数:str型変数名 | |
4205 | + | |
4206 | + 戻り値:str | |
4207 | + | |
4208 | + 機 能: | |
4209 | + | |
4210 | + str型変数stの英小文字を全て英大文字に変換します。 | |
4211 | + | |
4212 | + 用 例: | |
4213 | + | |
4214 | + | |
4215 | +{SWITCH〜CASE〜DEFAULT〜ENDSWITCH ステートメント | |
4216 | + | |
4217 | + 書 式:− | |
4218 | + | |
4219 | + switch 式0 | |
4220 | + case 式1:文1 | |
4221 | + case 式2:文2 | |
4222 | + : | |
4223 | + : | |
4224 | + case 式n:文n | |
4225 | + 【default:文d】 | |
4226 | + endswitch | |
4227 | + | |
4228 | + 機 能: | |
4229 | + | |
4230 | + 式0と同じ値をもつcaseの式nの後の文nを実行します。 | |
4231 | + | |
4232 | + 式0と同じ値をもつcaseの式nがなくてdefaultがある場合は、文dを実行してから、endswitch以後の命令文に進みます。 | |
4233 | + | |
4234 | + defaultがなければendswitch以後の命令文に進みます。 | |
4235 | + | |
4236 | + caseの式nの中には、整数及び文字定数のみ入ります。 | |
4237 | + | |
4238 | + 用 例: | |
4239 | + | |
4240 | + | |
4241 | +{SYMBOL GRAPH.FNC | |
4242 | + | |
4243 | + 書 式:symbol(x,y,st,h,v,mo,p,an) | |
4244 | + | |
4245 | + 引 数:int(x,y,p),str(st),char(h,v,mo,an) | |
4246 | + | |
4247 | + 戻り値:void | |
4248 | + | |
4249 | + 機 能: | |
4250 | + | |
4251 | + グラフィック画面上に文字列を表示します。 | |
4252 | + | |
4253 | + x…始点X座標 | |
4254 | + y…始点Y座標 | |
4255 | + st…文字列(文字式) | |
4256 | + h…横方向の倍率(1〜255) | |
4257 | + v…縦方向の倍率(1〜255) | |
4258 | + mo…文字フォントの種類 | |
4259 | + (半角)(全角) | |
4260 | + 0…6×12 、12×12 | |
4261 | + 0…8×16 、16×16 | |
4262 | + 0…12×24、24×24 | |
4263 | + p…パレットコード(色) | |
4264 | + an…回転角度(0〜3、ただし90度単位) | |
4265 | + | |
4266 | + x、yは、-32768から32767までの値をとることができます。クリッピングエリアについてはwindow関数で指定された範囲になります。 | |
4267 | + | |
4268 | + また、パレットコードpは0から65535までの値をとることができ、その最大値はグラフィック画面の実画面サイズおよび色モードによります。 | |
4269 | + | |
4270 | + 用 例: | |
4271 | + | |
4272 | + | |
4273 | +{SYSTEM コマンド | |
4274 | + | |
4275 | + 書 式:system | |
4276 | + | |
4277 | + 省略形:sys. | |
4278 | + | |
4279 | + 機 能: | |
4280 | + | |
4281 | + 親プロセスに制御を戻します。プログラム中では使用できません。プログラム中で使用する場合は、exit命令を使用してください。 | |
4282 | + | |
4283 | + | |
4284 | +{TAN 標準関数 | |
4285 | + | |
4286 | + 書 式:tan(n) | |
4287 | + | |
4288 | + 引 数:float | |
4289 | + | |
4290 | + 戻り値:float | |
4291 | + | |
4292 | + 機 能: | |
4293 | + | |
4294 | + 数値n(ラジアン)の正接(タンジェント)を返します。 | |
4295 | + | |
4296 | + 用 例: | |
4297 | + | |
4298 | + | |
4299 | +{TIME$ システム変数 | |
4300 | + | |
4301 | + 書 式:time$ | |
4302 | + | |
4303 | + 引 数:str | |
4304 | + | |
4305 | + 戻り値:str | |
4306 | + | |
4307 | + 機 能: | |
4308 | + | |
4309 | + 現在の時刻を文字列として返します。 | |
4310 | + 代入する事によって時刻を設定できます。 | |
4311 | + | |
4312 | + 用 例: | |
4313 | + | |
4314 | + | |
4315 | +{TOASCII 標準関数 | |
4316 | + | |
4317 | + 書 式:toascii(ch) | |
4318 | + | |
4319 | + 引 数:char | |
4320 | + | |
4321 | + 戻り値:int | |
4322 | + | |
4323 | + 機 能: | |
4324 | + | |
4325 | + キャラクターコードchの文字が非アスキー文字(&H80〜&HFF)であればアスキー文字(&H00〜&H7F)に変換して返します。 | |
4326 | + | |
4327 | + キャラクターコードchには0から255の値が入り、戻り値もその範囲のキャラクターコードを返します。 | |
4328 | + | |
4329 | + 非アスキー文字以外の場合はそのままのキャラクターコードを返します。 | |
4330 | + | |
4331 | + 用 例: | |
4332 | + | |
4333 | + | |
4334 | +{TOLOWER 標準関数 | |
4335 | + | |
4336 | + 書 式:tolower(ch) | |
4337 | + | |
4338 | + 引 数:char | |
4339 | + | |
4340 | + 戻り値:int | |
4341 | + | |
4342 | + 機 能: | |
4343 | + | |
4344 | + キャラクターコードchの文字が英大文字('A'〜'Z')であれば英小文字('a'〜'z')に変換して返します。 | |
4345 | + | |
4346 | + キャラクターコードchには0から255の値が入り、戻り値もその範囲のキャラクターコードを返します。 | |
4347 | + | |
4348 | + 英大文字以外の場合はそのままのキャラクターコードを返します。 | |
4349 | + | |
4350 | + 用 例: | |
4351 | + | |
4352 | + | |
4353 | +{TOUPPER 標準関数 | |
4354 | + | |
4355 | + 書 式:toupper(ch) | |
4356 | + | |
4357 | + 引 数:char | |
4358 | + | |
4359 | + 戻り値:int | |
4360 | + | |
4361 | + 機 能: | |
4362 | + | |
4363 | + キャラクターコードchの文字が英小文字('a'〜'z')であれば英大文字('A'〜'Z')に変換して返します。 | |
4364 | + | |
4365 | + キャラクターコードchには0から255の値が入り、戻り値もその範囲のキャラクターコードを返します。 | |
4366 | + | |
4367 | + 英小文字以外の場合はそのままのキャラクターコードを返します。 | |
4368 | + | |
4369 | + 用 例: | |
4370 | + | |
4371 | + | |
4372 | +{VAL 標準関数 | |
4373 | + | |
4374 | + 書 式:val(st) | |
4375 | + | |
4376 | + 引 数:str | |
4377 | + | |
4378 | + 戻り値:float | |
4379 | + | |
4380 | + 機 能: | |
4381 | + | |
4382 | + 文字列stを浮動小数値に変換して返します。 | |
4383 | + &B、&H、&O形式の整数値を表現した文字列も変換できます。 | |
4384 | + | |
4385 | + → str$ | |
4386 | + | |
4387 | + 用 例: | |
4388 | + | |
4389 | + | |
4390 | +{VPAGE GRAPH.FNC | |
4391 | + | |
4392 | + 書 式:vape(i) | |
4393 | + | |
4394 | + 引 数:char | |
4395 | + | |
4396 | + 戻り値:void | |
4397 | + | |
4398 | + 機 能: | |
4399 | + | |
4400 | + 各グラフィックページの表示ON/OFFを指定します。グラフィックページ番号は0〜3で最大値はグラフィック画面の実画面サイズ及び色モードによります。 | |
4401 | + | |
4402 | + グラフィック画面の実画面サイズ及び色モードによるiの値の範囲 | |
4403 | + | |
4404 | + 1…表示ON | |
4405 | + 2…表示OFF | |
4406 | + | |
4407 | + 1024×1024(16色モード)…0、1(グラフィックページ0のみ) | |
4408 | + | |
4409 | + 512×512(16色モード)…0から15 | |
4410 | + i グラフィックページ3 グラフィックページ2 グラフィックページ1 グラフィックページ0 | |
4411 | + 0 0 0 0 0 | |
4412 | + 1 0 0 0 1 | |
4413 | + 2 0 0 1 0 | |
4414 | + 3 0 0 1 1 | |
4415 | + 4 0 1 0 0 | |
4416 | + 5 0 1 0 1 | |
4417 | + 6 0 1 1 0 | |
4418 | + 7 0 1 1 1 | |
4419 | + 8 1 0 0 0 | |
4420 | + 9 1 0 0 1 | |
4421 | + 10 1 0 1 0 | |
4422 | + 11 1 0 1 1 | |
4423 | + 12 1 1 0 0 | |
4424 | + 13 1 1 0 1 | |
4425 | + 14 1 1 1 0 | |
4426 | + 15 1 1 1 1 | |
4427 | + | |
4428 | + 512×512(256色モード)…0から3 | |
4429 | + i グラフィックページ1 グラフィックページ0 | |
4430 | + 0 0 0 | |
4431 | + 1 0 1 | |
4432 | + 2 1 0 | |
4433 | + 3 1 1 | |
4434 | + | |
4435 | + 512×512(65536色モード)…0、1(グラフィックページ0のみ) | |
4436 | + | |
4437 | + → apage、home、screen、window | |
4438 | + | |
4439 | + 用 例: | |
4440 | + | |
4441 | + | |
4442 | +{V_CUT IMAGE.FNC | |
4443 | + | |
4444 | + 書 式:v_cut(sw) | |
4445 | + | |
4446 | + 引 数:char | |
4447 | + | |
4448 | + 戻り値:void | |
4449 | + | |
4450 | + 機 能: | |
4451 | + | |
4452 | + スーパーインポーズ時のテレビ・ビデオ画面表示を制御します。 | |
4453 | + | |
4454 | + sw…制御スイッチ | |
4455 | + (0=ONテレビ・ビデオ画面表示、1=テレビ・ビデオ画面表示OFF) | |
4456 | + | |
4457 | + なお、この関数を実行するにはカラーイメージユニットCZ-6VT1が必要です。 | |
4458 | + | |
4459 | + | |
4460 | +{WHILE〜ENDWHILE ステートメント | |
4461 | + | |
4462 | + 書 式: | |
4463 | + while 式 | |
4464 | + : | |
4465 | + ループの内容 | |
4466 | + : | |
4467 | + endwhile | |
4468 | + | |
4469 | + 機 能: | |
4470 | + | |
4471 | + 式の値が偽になるまで、指定されたループの内容を繰り返し(ループ)ます。 | |
4472 | + | |
4473 | + 繰り返しの終了判定はループの内容の実行前に行われます。 | |
4474 | + | |
4475 | + 式の内容によっては、一度もループの内容を実行しない場合があります。 | |
4476 | + | |
4477 | + 用 例: | |
4478 | + | |
4479 | + | |
4480 | +{WHIDTH コマンド | |
4481 | + | |
4482 | + 書 式:width 文字数 | |
4483 | + | |
4484 | + 省略形:w. | |
4485 | + | |
4486 | + 機 能: | |
4487 | + | |
4488 | + 表示文字数を変更します。文字数は96か64です。 | |
4489 | + | |
4490 | + この命令を実行するとテキスト画面、グラフィック画面やスプライト画面は消去されます。 | |
4491 | + また、console 0,31,1が再設定されます。 | |
4492 | + テキスト画面のパレットもデフォルトの値に再設定されます。 | |
4493 | + | |
4494 | + | |
4495 | +{WINDOW GRAPH.FNC | |
4496 | + | |
4497 | + 書 式:window(x1,y1,x2,y2) | |
4498 | + | |
4499 | + 引 数:int | |
4500 | + | |
4501 | + 戻り値:void | |
4502 | + | |
4503 | + 機 能: | |
4504 | + | |
4505 | + グラフィック画面の実画面上でクリッピングするエリア(クリッピングエリア)を指定します。 | |
4506 | + | |
4507 | + x1…実画面上でのクリッピングエリアの左上X座標 | |
4508 | + y1…実画面上でのクリッピングエリアの左上Y座標 | |
4509 | + x2…実画面上でのクリッピングエリアの右下X座標 | |
4510 | + y2…実画面上でのクリッピングエリアの右下Y座標 | |
4511 | + | |
4512 | + x1、y1、x2、y2はグラフィック画面の実画面サイズが512×512の場合は0から511まで、実画面サイズが1024×1024の場合は0から1023までの値をとる事ができます。 | |
4513 | + | |
4514 | + screen命令を実行するとx1、y1、x2、y2にはその表示画面サイズの大きさで再設定されます。ただし、この場合(x1,y1)には(0,0)が再設定されます。 | |
4515 | + | |
4516 | + → apage、screen、vpage | |
4517 | + | |
4518 | + 用 例: | |
4519 | + | |
4520 | + | |
4521 | +{WIPE GRAPH.FNC | |
4522 | + | |
4523 | + 書 式:wipe() | |
4524 | + | |
4525 | + 戻り値:void | |
4526 | + | |
4527 | + 機 能: | |
4528 | + | |
4529 | + グラフィック画面のアクティブページへのクリッピングエリア内を消去します。 | |
4530 | + | |
4531 | + → apage、window | |
4532 | + | |
4533 | + 用 例: | |
4534 | + | |
4535 | + | |
4536 | +{ ============== ステートメント一覧 ================ | |
4537 | +ABS 標準関数 | |
4538 | +APAGE GRAPH.FNC | |
4539 | +ASC 標準関数 | |
4540 | +ATAN 標準関数 | |
4541 | +ATOF 標準関数 | |
4542 | +ATOI 標準関数 | |
4543 | +AUTO コマンド | |
4544 | +A_PLAY AUDIO.FNC | |
4545 | +A_REC AUDIO.FNC | |
4546 | +BEEP ステートメント | |
4547 | +BG_FILL SPRITE.FNC | |
4548 | +BG_GET SPRITE.FNC | |
4549 | +BG_PUT SPRITE.FNC | |
4550 | +BG_SCROLL SPRITE.FNC | |
4551 | +BG_SET SPRITE.FNC | |
4552 | +BG_STAT SPRITE.FNC | |
4553 | +BIN$ 標準関数 | |
4554 | +BOX GRAPH.FNC | |
4555 | +BREAK ステートメント | |
4556 | +CHAR ステートメント | |
4557 | +CHDIR コマンド | |
4558 | +CHDRV コマンド | |
4559 | +CHILD コマンド | |
4560 | +CHR$ 標準関数 | |
4561 | +CIRCLE GRAPH.FNC | |
4562 | +CLEAR コマンド | |
4563 | +CLS ステートメント | |
4564 | +COLOR ステートメント | |
4565 | +COLOR [] ステートメント | |
4566 | +CONSOLE ステートメント | |
4567 | +CONT コマンド | |
4568 | +CONTINUE ステートメント | |
4569 | +CONTRAST GRAPH.FNC | |
4570 | +COS 標準関数 | |
4571 | +CRT 標準関数 | |
4572 | +CSRLIN システム変数 | |
4573 | +DATE$ システム変数 | |
4574 | +DAY$ システム変数 | |
4575 | +DELETE コマンド | |
4576 | +DIM ステートメント | |
4577 | +DSKF 標準関数 | |
4578 | +ECVT 標準関数 | |
4579 | +END ステートメント | |
4580 | +ERRNO システム変数 | |
4581 | +ERROR ON/OFF ステートメント | |
4582 | +EXIT() ステートメント | |
4583 | +EXP 標準関数 | |
4584 | +FCLOSE 標準関数 | |
4585 | +FCLOSEALL 標準関数 | |
4586 | +FCVT 標準関数 | |
4587 | +FDELETE 標準関数 | |
4588 | +FEOF 標準関数 | |
4589 | +FGETC 標準関数 | |
4590 | +FILES コマンド | |
4591 | +FILL GRAPH.FNC | |
4592 | +FIX 標準関数 | |
4593 | +FLOAT ステートメント | |
4594 | +FOPEN 標準関数 | |
4595 | +FOR〜NEXT ステートメント | |
4596 | +FPUTC 標準関数 | |
4597 | +FREAD 標準関数 | |
4598 | +FREADS 標準関数 | |
4599 | +FREE システム変数 | |
4600 | +FRENAME 標準関数 | |
4601 | +FSEEK 標準関数 | |
4602 | +FUNC〜ENDFUNC〜RETURN() ステートメント | |
4603 | +FWRITE 標準関数 | |
4604 | +FWRITES 標準関数 | |
4605 | +GCVT 標準関数 | |
4606 | +GET GRAPH.FNC | |
4607 | +GOSUB〜RETURN ステートメント | |
4608 | +GOTO ステートメント | |
4609 | +HEX$ 標準関数 | |
4610 | +HOME GRAPH.FNC | |
4611 | +HSV GRAPH.FNC | |
4612 | +IF〜THEN〜ELSE ステートメント | |
4613 | +IMG_COLOR IMAGE.FNC | |
4614 | +IMG_HOME IMAGE.FNC | |
4615 | +IMG_HT IMAGE.FNC | |
4616 | +IMG_LOAD 標準関数 | |
4617 | +IMG_POS IMAGE.FNC | |
4618 | +IMG_PUT IMAGE.FNC | |
4619 | +IMG_SAVE IMAGE.FNC | |
4620 | +IMG_SCRN IMAGE.FNC | |
4621 | +IMG_SET IMAGE.FNC | |
4622 | +IMG_STILL IMAGE.FNC | |
4623 | +INKEY$またはINKEY$(0) システム変数 | |
4624 | +INPUT ステートメント | |
4625 | +INSTR 標準関数 | |
4626 | +INT ステートメント | |
4627 | +INT() 標準関数 | |
4628 | +ISALNUM 標準関数 | |
4629 | +ISALPHA 標準関数 | |
4630 | +ISASCII 標準関数 | |
4631 | +ISCNTRL 標準関数 | |
4632 | +ISDIGIT 標準関数 | |
4633 | +ISGRAPH 標準関数 | |
4634 | +ISLOWER 標準関数 | |
4635 | +ISPRINT 標準関数 | |
4636 | +ISPUNCT 標準関数 | |
4637 | +ISSPACE 標準関数 | |
4638 | +ISUPPER 標準関数 | |
4639 | +ISXDIGIT 標準関数 | |
4640 | +ITOA 標準関数 | |
4641 | +KEY ステートメント | |
4642 | +KEY LIST コマンド | |
4643 | +KILL コマンド | |
4644 | +LEFT$ 標準関数 | |
4645 | +LINE GRAPH.FNC | |
4646 | +LINPUT ステートメント | |
4647 | +LIST コマンド | |
4648 | +LOAD コマンド | |
4649 | +LOCATE ステートメント | |
4650 | +LOG 標準関数 | |
4651 | +MID$ 標準関数 | |
4652 | +MIRROR$ 標準関数 | |
4653 | +MOUSE MOUSE.FNC | |
4654 | +MSAREA MOUSE.FNC | |
4655 | +MSBTN MOUSE.FNC | |
4656 | +MSPOS MOUSE.FNC | |
4657 | +MSSTAT MOUSE.FNC | |
4658 | +M_ALLOC MUSIC.FNC | |
4659 | +M_ASSIGN MUSIC.FNC | |
4660 | +M_CONT MUSIC.FNC | |
4661 | +M_FREE MUSIC.FNC | |
4662 | +M_INIT 標準関数 | |
4663 | +M_PLAY MUISC.FNC | |
4664 | +M_STAT MUSIC.FNC | |
4665 | +M_STOP MUSIC.FNC | |
4666 | +M_TEMPO MUSIC.FNC | |
4667 | +M_TRK MUSIC.FNC | |
4668 | +M_VGET MUSIC.FNC | |
4669 | +M_VSET MUSIC.FNC | |
4670 | +NAME コマンド | |
4671 | +NEW コマンド | |
4672 | +OCT$ 標準関数 | |
4673 | +PAINT GRAPH.FNC | |
4674 | +PALET GRAPH.FNC | |
4675 | +PI 標準関数 | |
4676 | +POINT GRAPH.FNC | |
4677 | +POS システム変数 | |
4678 | +POW 標準関数 | |
4679 | +PRINT ステートメント | |
4680 | +PSET GRAPH.FNC | |
4681 | +PUT GRAPH.FNC | |
4682 | +RAND 標準関数 | |
4683 | +RANDOMIZE 標準関数 | |
4684 | +REM ステートメント | |
4685 | +RENUM コマンド | |
4686 | +REPEAT〜UNTIL ステートメント | |
4687 | +RGB GRAPH.FNC | |
4688 | +RIGHT$ 標準関数 | |
4689 | +RND 標準関数 | |
4690 | +RUN コマンド | |
4691 | +SAVE コマンド | |
4692 | +SCREEN ステートメント | |
4693 | +SEARCH コマンド | |
4694 | +SETMSPOS MOUSE.FNC | |
4695 | +SGN 標準関数 | |
4696 | +SIN 標準関数 | |
4697 | +SPACE$ 標準関数 | |
4698 | +SP_CLR SPRITE.FNC | |
4699 | +SP_COLOR SPRITE.FNC | |
4700 | +SP_DEF SPRITE.FNC | |
4701 | +SP_DISP SPRITE.FNC | |
4702 | +SP_INIT SPRITE.FNC | |
4703 | +SP_MOVE SPRITE.FNC | |
4704 | +SP_OFF SPRITE.FNC | |
4705 | +SP_ON SPRITE.FNC | |
4706 | +SP_PAT SPRITE.FNC | |
4707 | +SP_SET SPRITE.FNC | |
4708 | +SP_STAT SPRITE.FNC | |
4709 | +SQR 標準関数 | |
4710 | +SRAND 標準関数 | |
4711 | +STICK STICK.FNC | |
4712 | +STOP ステートメント | |
4713 | +STR ステートメント | |
4714 | +STR$ 標準関数 | |
4715 | +STRCHR 標準関数 | |
4716 | +STRCSPN 標準関数 | |
4717 | +STRIG STICK.FNC | |
4718 | +STRING$ 標準関数 | |
4719 | +STRLEN(LEN) 標準関数 | |
4720 | +STRLWR 標準関数 | |
4721 | +STRNSET 標準関数 | |
4722 | +STRRCHR 標準関数 | |
4723 | +STRREV 標準関数 | |
4724 | +STRSET 標準関数 | |
4725 | +STRSPN 標準関数 | |
4726 | +STRTOK 標準関数 | |
4727 | +STRUPR 標準関数 | |
4728 | +SWITCH〜CASE〜DEFAULT〜ENDSWITCH ステートメント | |
4729 | +SYMBOL GRAPH.FNC | |
4730 | +SYSTEM コマンド | |
4731 | +TAN 標準関数 | |
4732 | +TIME$ システム変数 | |
4733 | +TOASCII 標準関数 | |
4734 | +TOLOWER 標準関数 | |
4735 | +TOUPPER 標準関数 | |
4736 | +VAL 標準関数 | |
4737 | +VPAGE GRAPH.FNC | |
4738 | +V_CUT IMAGE.FNC | |
4739 | +WHILE〜ENDWHILE ステートメント | |
4740 | +WHIDTH コマンド | |
4741 | +WINDOW GRAPH.FNC | |
4742 | +WIPE GRAPH.FNC |