小柳です。こんばんは。 OSASK ver.3.0 上で s_world.bin を起動すると C7:7B1 で INT 0x03 になるため、調べてみると pioneer.ask の cmd028() // open text box において /* ウィンドウタイトルサイズチェック */ ECX = cmd[16]; // x_size(キャラクター数) ECX *= 8; ECX += 80 + 16; if (cmd0028_win->x_size < ECX) INT(0x03); に対して、s_world.ask では /* lib_window */ DD(0x0020); DD(0x1900 /* work_ptr */); DD(0x0200 /* slot */); DD(16 * 8\ /* x_size */); DD(3 * 16 /* y_size */); /* lib_wintitle */ DD(0x0028); DD(0x1000 /* opt(window title) */); DD(0x1980 /* work_ptr *\ /); DD(0); DD(7 /* x_size */); DD(1 /* y_size */); DD(0); DD(0); DD(0x1900 /* window */); DD(0x00c0 /* charset */); DD(0 /* init_char */\ ); となっており、 (lib_window x_size)16 * 8 < (lib_wintitle x_size)7 * 8 +80 +16 が成立するため、INT(0x03) がかかります。 lib_window の x_size を例えば 16 * 10 にすれば、ここの条件式が成立しない ため、正常に起動しますが、無意味にウインドウの幅が広くなってしまいます。 チェックの条件式において、+16の部分はウインドウタイトルの左端部分(将来 アイコンが表示される?)の空白なので分かるのですが、+80 は何を意味するの でしょうか? I.Tak. さんのコマンドリファレンスを見ても、このオフセットについては ふれられていませんでした。 それでは。 -- 小柳 雅明(http://homepage1.nifty.com/dreaming/) 「人の足を止めるのは"絶望"ではなく"諦観" 人の足を進めるのは"希望"ではなく"意志"」 -- ARMS