[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]
[OSASK 2089] Re: OSASK/TOWNS を直接起動させるには
- Subject: [OSASK 2089] Re: OSASK/TOWNS を直接起動させるには
- From: Koyanagi Masaaki <Koyanagi.Masaaki !Atmark! nifty.ne.jp>
- Date: Sun, 09 Sep 2001 17:24:17 -0000
- References: <200108271311.AA00999 !Atmark! kawai-ATX02.imasy.org>
小柳です。
川合さんの返事からかなり時間がたってしまいましたが、試してみました。
まだうまく行っていません。
作業したファイルを
http://homepage1.nifty.com/dreaming/osask/tboot.lzh
に置きました。
bootsect.S : Linux のブートセクタファイルを OSASK に合わせて変更したもの
bootsect : 生成されたブートセクタ
conv.c : Linux 生成されたカーネルからブートセクタを読み込み、また
OSASK.EXE を読み込んで加工して 1.2MBのFDイメージを生成する
コンパイル/実行は Linux で行った
osask.exe : OSASK/TOWNS ver.1.6
tbootimg : conv.c が生成したブートイメージ
Hidemi KAWAI wrote:
>
> こんばんは、川合です。
>
> プログラムの変更のしやすさから言えば、FD:0x01800以降にOSASK.EX
> Eを加工したものをおいて、FD:0x01400を0x00にすればやりやすいと思
> います。その他のFD:0x00200〜FD:0x017ffは、何を書いておいてもいい
> ですし、どこにロードしてもかまいません(ロードしなくてもいいです
> が)。このOSASK.EXEの加工についてですが、
conv.c ではまず bootsect.S が生成したカーネルのブートセクタを読み込み、
さらに 0x1600 から osask.exe を読み込んで加工しています。
> 1.0xb0000からの512バイトを0x90000へ転送
> 2.FD:0x00000からの1024バイトを0x90000へ転送("It's very Dangero
> us"・・・笑)
> 3.FD:0x00400からの2048バイトを0x90400へ転送
> 4.0x90a00からの512バイトを0x10000へ転送
> 5.FD:0x00c00からの5120バイトを0x10200へ転送
> 6.FD:0x02000から[img_size]に書かれた分が終わるまで0x11600へ転
> 送
> 7.0x90200にジャンプ
これから、Linux のカーネルイメージの読み込む場所である 0x10000
を 0x7200 にすれば丁度 FD:0x01800 が 0x8000 に来ると考えました。
またブートセクタのイメージ読み込みサイズを 128KB にしています。
tbootimg を FD に書き込んで、ブートしたところ
8回ディスクアクセスした後、ブザーが鳴りっぱなし状態になってしまいまし
た。
128KB = 16KB * 8 なので、OSASK.EXE の読み込みは行っていると思いますが、
何が間違っているのか私には分かりません。
--
小柳 雅明(Koyanagi.Masaaki !Atmark! nifty.ne.jp)
「人の足を止めるのは"絶望"ではなく"諦観"
人の足を進めるのは"希望"ではなく"意志"」
-- ARMS