[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 3341] テキストボックス命令のバグ



 こんにちは。I.Tak. です。

 pioneer0.askを読んでたら、テキストボックスに文字を書きこみ
同時に画面に文字を描画するコマンド0x0040 にバグをみつけました。

 同時に行う描画の都合で、半角119個以上を一度に描画させると
スタックを破壊し、場合によっては暴走します。これを試すには、
OSASK/TOWNSでteditc0の幅を半角126個に設定してください。
ウィンドウを移動させれば確実にハングアップします。

 理由は、内部で文字列描画コマンドを作るのに512バイトしか用意
していないことです。将来OSASK/ATがVRAM幅1280まで返り咲くことを
考えると672バイト以上は確保するべきだと思います。というより、
コマンドにこういう可変長のデータをつけるのはやめてポインタを
使う方が合理的ではありませんか? そうすればhelloも縮みますし(^^;
msgk00みたいなのも書きやすくなります。

------------------------------------------------------------
I.Tak. <msy !Atmark! catvmics.ne.jp>
http://home1.catvmics.ne.jp/~msy/takhome.htm