粕谷氏に手伝わせようとして、手間をかけさせてしまいつつ 結局自分で Borland C++ で clk を再コンパイル。

まず LSI-C 試食版を持ってきて作ったところ、 関数名がちがう(outport なんて違ってあたりまえだけど) sleep がない(DOS にそんなシステムコールないし) で、結局 5kB 程度の .exe が作れた。 これを exe2com で com に変換しようとしたら、できない。

んでは、と、WINTEL 系のコンパイラをいくつも所有している小濱氏の協力を得て、 Visual C++ でのコンパイルに挑戦したが、 どこをさがしても .com を作るオプションが見当たらない、のと、 そもそもどこを見ても Win32 でない DOS アプリケーションが作れそうにない、 で挫折。

さらに小濱氏の協力のもと、Borland C++ でのコンパイルに挑戦。 こちらは DOS アプリが作れるとも箱にちゃんと書いてあるし、 なんかずっとよく出来ている感じ。 そういえば IBM-JX 時代には TURBO-PASCAL に世話になったなぁ... などと思いつつ、結局 .com は「コマンドラインツール」でしか作れないこと、 しかもこの程度のソースのどこがいけないのかわからないが、 TLINK は .com を作ってくれない。.exe は 11kB ほど。 こいつを exe2bin で変換してみたらちゃんとできたので、 こいつは dpmi もいらないし、いいんじゃないかな。 サイズ的には 6kB で LSI-C よりでかいけど、sleep も使っているし、 どうせ手でアセンブラで書くのよりはどっちもめちゃめちゃ効率悪いから、 気にしない気にしない。

って事で今日の成果。

自分が INTERTop なのかどうか、なんてチェックしてないから (どうやってチェックするのかも知らないし) 適当に動かしてマシンを飛ばしても僕は知らないよ。 INTERTop でない elan400 な機械があったら、 そこでの動作報告があるとうれしいな(ってそんなものあるのか!?)