btcf
- OSASKをCF上にあるFDIMAGE0.BINのOSASK.SYSから直接起動するツール
FDIMAGE0.BINだけじゃいやん
- 引数を指定して他のディスクイメージ(たとえば、T-OSASKとか3.1風とか)を起動させたりできたらおもしろいなぁ…。
- というわけで改造しました。
- ダウンロードはこちらからどうぞ〜。
製作ログ
研究リンク
製作記
- imgtolの引数取得を参考にやってみましたが、撃沈。MSDOSを落とす最強アプリの出来上がり…。 -- 2005-01-07 (金) 08:52:11
- とりあえず前半4バイトだけというのをやってみた(FDIMのところ)。お、なんかいい感じ?でも起動しない…。 -- 2005-01-07 (金) 11:50:29
- 引数を取得
void main()
{
asmout("ORG 0x100");
asmout("[BITS 16]");
SI = 0x0081;
CLD();
LODSD();
skipspace();
ECX = [EAX];
- 判定?部分
if (EAX == [ECX]) { /* FDIM */
if ((unsigned) (int) [DS:BX + 4] == 0x30454741) { /* AGE0 */
EAX = [DS:BX + 8];
EAX &= 0x18ffffff;
if (EAX == 0x004e4942) /* BIN */
goto find;
- Kタンのヒントでなんとかできました!が、OSASK.SYSがないディスクイメージを指定すると落ちてしまいます。これはどうにかしないとねぇ。 -- 2005-01-07 (金) 13:30:27
- あぁ、おちてもいいのかなぁ。 -- 2005-01-07 (金) 13:37:45
Comment
- 実は超簡単なやり方があるんだけど、知りたい?・・・種明かしは嫌だ、苦労して作るのがいいんだ、という可能性もあるので、レスを待ってから書きますね。 -- K 2005-01-07 (金) 12:47:38
- ち、、超カンタン… -- あっきぃ 2005-01-07 (金) 12:52:14
- ちょっと予想してみよう -- あっきぃ 2005-01-07 (金) 12:55:27
- これでどうだ?!(実際に実行してないのにかいてみたり) -- あっきぃ 2005-01-07 (金) 12:58:06
- ヒント:うんとね、まず、取得がいらないのよ。DOSにそういう機能があるんだ(FCB)。あまり知られてないんだけど。 -- K 2005-01-07 (金) 13:11:18
- ヒント:というか、つまり引数が[DS:0x5d]以降に入っているんだな。そこをFDIMAGE0の代わりに使うだけなんだけどね。 -- K 2005-01-07 (金) 13:15:07
- なんかできたっぽいです!!。・゚・(ノ∀`)・゚・。 -- あっきぃ 2005-01-07 (金) 13:28:23
- おめでとん。 -- K 2005-01-07 (金) 15:52:36
|