23:53:15asm.batは、CDの内容をコピーした物を使ったのかな?コピーの際に、ファイルが壊れたのかな?それとも、Vista固有の問題なのかな?色々と可能性は考えられるわけですけれど、あくまで、僕の推測に過ぎません。23:53:27この辺で、僕は、気持ちが折れてしまい、それ以上、再現の努力をする気力がなくなってしまいました。23:53:51このように、答えようと思っても、逆に、不確かな返答しか出来なさそうなので、結局、答えるのをやめてしまう場合もあると思います。23:54:25そこで、Kさんが、答えを得易い質問の仕方を、ページの冒頭に用意したのだと思います。これらのポイントは、回答者の為と言うよりは、むしろ、質問者が答えを得られるますようにと、まとめられた物だと思うのです。23:55:03HillBardさんの問題が解決出来るよう、僕もお手伝いしたいと思いますので、もう少し詳細な情報を教えて頂けますと幸いに思います。23:55:17うーん、もしかしたら、エクスプローラの設定が「拡張子を表示しない」になっていて、それで「asm.bat.txt」が「asm.bat」と表示されている・・・なんてことかな?違ったらごめんなさい。・・・とりあえず、CD-ROMの中にもasm.batは用意しておいたと思うので、それをコピーして使ってもうまく行かないのかどうかを確認するところから始めてみるといいかもしれません。00:48:31らすかるさんKさんありがとうございます。簡潔にまとめたつもりだったのですが思っていたよりも言葉足らずだったようで申し訳ありませんでした。helloos.img"をコンソールに直接打ちましたが"有効なWin32アプリケーションではありません"と出ました。テキスト通り"プロンプト>"の部分は除いた部分を入力しました。そこで自分は各ファイルの中身を確認し、こう解釈しました。10:35:48バッチファイルはそれ自体を開くとコンソールを呼び出してファイルの中身のテキストデータ(ソース)を自動で流し込むことができる。コンソールでバッチファイル名を入力(拡張子は省略可能)すると同じレベルのディレクトリにあるバッチファイルを開いてソースを流し込むことができるものである。p.25の第2段落は、命令入力の代行者=バッチファイル。"asm.bat"をコンソール上に流し込むことでアセンブラを呼び出し、".img"ファイルを作らせている。その後はrun.batを動かす作業になる(p.18〜p.19と同じ作業)ということになりますよね。Vistaだからといってコンソールへの入力を行うだけなのに動作しないとかおかしい!と思ったので自分なりにこのコードを解読してみました。解釈:ひとつ上のディレクトリの"z_tools"ディレクトリにある"nask.exe"という実行ファイルを起動。10:46:59だから"z_tools"ディレクトリにある"nask.exe"をダブルクリックしてみました。そこでも"有効なWin32アプリケーションではありません"と出てきたので「これは詰んだな」と思ったのです。10:53:42あ、すいません忘れてました。全部手で書いたものを使っていたのですが、詰んだと思ったのでCDに入っていたファイルを試させていただきました。拡張子の件も問題なしです。11:13:39どうもありがとうございます。状況はよく分かりました。バッチファイルというよりも、naskがうまく行かないようなのですね。こちらでは検証できないので分かりませんが、もしかしたらVistaでは動かないのかもしれません。Vistaでもうまくいったよ!という報告が出るまで、とりあえず諦めるしかなさそうです。機会があれば、WindowsXP以前で試すとか、もしくはLinuxなどでやるしかなそうです。力になれず、どうもすみません。13:07:03なるほど...やっぱりそうだったんですね。ありがとうございます。あと、僕の解釈(イメージ)はあっていたでしょうか。動かないだけにそこが不安です。XPのPCを借りることに成功したので動かしてみたんですが、やはり同じ結果になりました。17:21:04HillBardさん。詳細な説明で随分と状況が掴めてきました。20:08:41ごめんなさい。20:10:19HillBardさん。詳細な説明で随分と状況が掴めてきました。解釈については、間違っていないと思います。20:18:55解釈について、もっと詳しく話をしたいと考えているようでしたら、掲示板などに書いて頂けたら嬉しいと思います。僭越ながら、僕で良ければ、分かる範囲で、ご説明します。20:19:14さて、本題の方ですが、XPでも同じ現象となると、確かに、頭がこんがらがってきます。当方、XP環境で、問題なく動作しております。20:19:31こうなると、疑うわけではありませんが、一連の手順のどこかに問題があるような気がしてきます。20:58:06となりました。21:10:45およそありえないことなんですが、CD-ROMに傷が付いていて、nask.exeが壊れているのかなあ(普通はそういうことがあればCD-ROMを読むときにエラーになるのですが、非常に低い確率で壊れ方によっては見逃してしまいます)。ダウンロードコーナーのWindows版開発セットのtolsetをダウンロードして解凍して、代わりに使ってみてください。Vista上で試していただいてかまいません。21:11:20ちなみに、(8)の実験がとても参考になっています。�の実験ですが、とにかく原因が知りたくて「実行ファイルなんだからダブルクリックで動くよね!?」っていう単純な考えでやってました。解決してとにかくうれしいです。ダウンロードコーナーから頂いたデータを使用しました。ちなみに"z_tools"ディレクトリのみをコピーしました。21:24:37うまく行ってくれてほっとしています。おめでとうございます。ところで、参考までに聞きたいので、もしよかったら教えてください。書いてある部分があると思うのですが、それを調べていただけないでしょうか。したら出版社の手抜かりで、その刷ではCD-ROMの不良率が高いのかもしれません。21:25:59HillBardさん。Kさん、ご協力、ありがとうございました。お手間を取らせて申し訳ないです。21:32:41今実験したところ、p.17の第4段落で行う"tolset"ディレクトリのコピーの時点でデータが壊れたみたいです。いうのも、CDから再度"Z_tools"ディレクトリだけを持ってきたところ、これも問題なく動いたからです。コピーで問題が起こったのは初めての体験なので本当にびっくりしました。XP環境に持っていったのも壊れたデータが入ったままのフォルダを持っていったからだったんですね。21:33:18つまりCD-ROMには異常がなかったのですね。らすかるさん、今回も適切なアドバイスをありがとうございました。21:35:35らすかるさんKさんありがとうございます。Kさん一応ですが、13版とありました。p.44の「Makefile導入」でつまずきました。指定されたファイルが見つかりません。23:41:49"Makefile"では"helloos.img"を作りたい時は"ipl.bin"と"Makefile"が必要であると書いてあるんですが、↑からエラーの原因は「"helloos.img"が見つからないから」と読んんでしまいます。ここで頭がこんがらがります。先の教訓から"make.exe"を直接ダブルクリックしてちゃんと動くことは実験済みです。既存のQ&Aも拝見いたしましたが、"Cygwin"が分からなくて......それにエラー内容も"CreateProcess(null):copy"ではないことからまた質問させていただいた次第です。23:50:08らすかるです。�で手入力したMakefileとCDに用意されているMakefileとを入れ替えてみて、もし、正しく動くようであれば、完璧だと思った入力に、ちょっとしたミスがある可能性が高いです。23:53:20CDの中に"Makefile"は"tolset"ディレクトリの"z_new_w"ディレクトリに入っていたのを見つけたのですが、これの内容が本に書いてあるデータと全く異質のものだったので困惑しています。他に本に書いてあるような"Makefile"をCDから探しているのですが、見当たりません。23:59:55"z_new_o"ディレクトリの中にも発見しましたが"z_new_w"ディレクトリの"Makefile"と似ているもののためこれも本に書いてある内容とは異質です。00:02:47"z_new_o"や"z_new_w"で発見した"Makefile"で"ipl.bin"の作成からやってみましたが、やはりこれではないようです。あと試したのは、"Makefile"の後半("helloos.img"の部分から)の空白に見える部分を"Tab"にしてみました。これもだめみたいでした。(行の最初の空白はもとから"Tab"にしてました。01:31:34現在p.45の一番下まで全部消化しました。本の通り動くには動くのですが、「しこり」というかすごく引っかかる部分がいくつかあります。重複してると思うんです。ipl.bin"になってます。実際にはどっちを欠いてもちゃんと動いてくれませんし、どっちかがずれてても動かないです。実験してコンソール画面とずいぶんにらめっこしていたので「しこり」がひとつになりましたが、これだけがどうしても無くなりません。04:03:33HillBardさんへ。質問することはとてもいいことですが、そう早まらずに、まずはよく分からないところをメモしておいて、3章くらいは先を読んでみてはいかがでしょうか。3章読みすすめても分からないときは是非聞いてください。そのほうが力が付くと思うのです。この本は、少し後で説明したほうが分かりやすいときは、初出時に十分な説明がない場合もあるのです(ページ数節約のため)。先のnask.exeの件のように「これができないと全く前進できない」ような場合は、遠慮なくすぐに質問してくださいね。・・・ちなみに分からないことを分かるためにいろいろと実験するのは非常によいことです。自己解決も最高にいいことです。それについては是非今後も実践してください。04:29:35ありがとうございます。読んでみるといいかもしれません。10:45:16その質問は、q_and_a向きなのでしょうか?impressions向きではありませんか?(内容が見えないのでよく分かりません)。誘導してもいいですが、誘導した場合は、その方がここで質問してよかったと思えるように、名無しさんが応対してくださいね。・・・そもそも、名無しさんが誘導していいかどうかを聞くことも、ここではなくimpressionsでやるべきですね。12:15:24らすかるです。今日は、質問する側として書き込み致します。内容は、最終章で改良された、ipl09.nasのreadfastについてです。00:44:39この中で、ESレジスタに指定されたアドレスから直後の64K境界までの間に読み込める最大セクタ数を求める処理がありますが、ここで64K境界を基準にする理由が分かりません。試してみたところ、こちらの環境では、問題なく動いているように見えます。ソース等を眺めてみたりもしたのですが、どうしても、64K境界を基準にする根拠が見付かりませんでした。00:45:38こちらの知識不足で、大事な何かを見落としているかもしれませんので、お分かりの方が居りましたら、ご教示の程、よろしくお願い致します。00:45:58お答えします。BIOSは内部では、FDC(フロッピーディスクコントローラ)と呼ばれるハードウェアと、DMA(ダイレクトメモリアクセス)というハードウェアの両方を制御して、FDにアクセスしています。このDMAのほうに、64KB境界を超えられない場合があるという問題があるのです。らすかるさんのケースでうまくいったのは、実機ではない(=エミュレータの再現度が甘い)か、USB接続のFDDか、そのへんが理由ではないかと想像します。ちなみに、USB接続であれば、FDCもDMAも使わないので(DMAの代わりにPCIバスマスターDMAを使う)、この問題はエラー原因にはならないと思います。ちなみに実機でしかもUSBではないFDDでも、BIOSがエラーを返さない場合がありえますが、その場合、なんとデータが途中で切れて、残りのデータがメモリの全然違う場所に現れていたりします。64KB境界に差し掛かってもエラーを返さない上に、正しく処理をしてくれる優秀なBIOSも存在はするようです。03:05:20Kさん、ご回答の程、ありがとうございました。これで、すっきりしました。こちらの実機環境は、CD-ROMのFDエミュレーションモードになります。レガシーDMAの制約まではエミュレーションしていないといったところでしょうか。06:37:01j突然すいません。03:05:09すいません。勝手に編集中のものがのってしまいました。はりぼてOSは何Gまで認識できるのでしょうか、どこかに書いてあったような気もするのですがどなたか教えてくださいお願いします。03:08:57P.180に書いてあります。「このプログラムだと最大で3GBまで認識できます。」(質問の「何G」というのを、勝手に「メモリは何ギガバイト」と解釈して回答しました。08:14:01uchanさんへ書き方が悪くてすいませんでした。HDDで何Gという意味でした。18:57:54らすかるです。納得いく答えかどうか心配ですが、はりぼてOSに関して言えば、そもそもHDDは使えません。05:25:43らすかるさんへ、TorilOS(http://www5a.biglobe.ne.jp/~torilon/torilos/)ではHDD使えるらしいですよ。11:04:37らすかるさんへ回答ありがとうございます。へんな質問をすることがあるかもしれませんがよろしくお願いします。16:33:40出版社経由の質問です。わかる人がいたらここで教えてください。「私のパソコンは64ビットパソコンなので、コンソールでインストールなどをしようとすると32ビットじゃないですよー。みたいなエラーが出て何もできない状態なのです。13:00:00imgtolが16bitプログラムなので64bitのWindowsでは実効できません。13:25:36imgtol→imgtol.comの間違いです。FD」<検索↓>で可。15:44:11みなさんありがとうござます。11:40:08はじめまして。SP3/メモリ512MBです。../z_tools/haribote/harilibc.lib”というエラーになり、bootpack.bimが生成できません。以前も似たような質問があり、メモリ不足を疑いましたが、全く改善されませんでした。次のharib00jとharib01aでも同じエラーが発生しました。初歩的な質問で申し訳ありませんが、考えられる対処方法をご教示願います。hariboteにそのファイルが存在しないか、破損しているように見えます。ROMから再度コピーしていただき、それでも問題がある場合は、もう一度投稿してください。12:33:47Kor_Lee_Hee_Rakさんへ。教えて頂いた方法を試してみましたが、改善されませんでした。"(以下imgファイルがありませんというエラーとなり、コンパイル終了)、となっています。file:”となり、先ほどの「Error6」が「Error2」となります。質問が長くなり大変申し訳ありません。19:10:36上記の問題が解決致しました。原因は、libファイルを呼び出すディレクトリの指定が違っていた為でした。実は、昨日質問する前にもそのことを疑い、「haribote.rul」内の記述をいじっていたのですが、昨日は上書き後「haribote.rul」を開いたままコンパイルしていたのですが、先ほど上書き後閉じてコンパイルした結果、無事真っ黒な画面が出ました^o^大変お騒がせ致しました。質問させて頂いた際は、何卒宜しくお願い致します。22:37:43大丈夫です。私のような場合は、VBを使用してWindowsアプリケーションを作成していますが時々、無限ループのために困難な仕事を一度か二度ではありません。その仕事が初期化され...そのようなことが多いということは、すでに、すべての開発者たちが経験したことですからね。本の内容のように無理せず、ゆっくり、ゆっくりと(もしかしたら1月1日分の方のはないシゲトジョ?)と、かなり良いOSになるだろう。15:45:15はじめまして。初版第13刷P189にある、サイズの小さなあきメモリを忘れた場合、そのメモリは2度と使われないとありますが、これは再起動か何かしても復活しないのでしょうか?OS作成過程で何かやらかしてこんな状態になったら使えるメモリがどんどん減るんじゃないかと心配になってしまいました。変な質問ですみません。23:57:32はじめまして。メモリを忘れた場合は、1回終了したり再起動すればもとに戻りますよ。08:56:02↑に追記します。再起動するのはWindowsじゃなくてはりぼてOSです。09:16:01ケーボさんありがとうございます。22:09:01すみません、p169の真ん中よりやや下にある「サイズはダブルワード単位なので、バイト数を4で割って指定」とあるのですがなぜサイズはダブルワードなんでしょうか。どなたか教えていただけるとありがたいです。17:14:01memcpyという関数は、ある番地から、EAXレジスタにデータを読み込んで、それを他のある番地に移す、という作業をやっています(MOV命令は、メモリ同士を指定できないから)。この一時的にデータを保存しておくEAXは、ダブルワード(4バイト)の大きさなので、サイズから1ずつ引いていけば、0になったときに転送し終わります。1024バイトを転送したいとき、4で割ってダブルワード単位で256回EAXレジスタで転送すれば、EAXレジスタは4バイトなので、結果的に256*4=1024バイト転送できることになります。ALなどの1バイトの大きさのレジスタを使えば、バイト単位でもできますが、それだと約四倍の回数分やらなければならないので、EAXレジスタが使われているのです。10:43:00申し訳ございません、advance/hddbootの内容をここで質問してしまっていました。19:36:07第3章についての質問です。12:15:48第3章についての質問です。12:48:38何度もすみません。p58で「ディスクイメージに保存」についての説明が書かれていますが、イマイチわかりません。14:29:54>一つ目の質問まあ簡単にいえば何度もやり直す...というか、これの一つ前に書かれていたと思います(エラーになったらやり直そう)。>二つ目の質問そういうことですね。自分的にはedimgが自分でイメージファイルの原型を作ってくれるとありがたいとか思うわけですが(自作EasyFat.exe(未公開)にはその機能が含まれているし、わざわざ外部に空のディスクイメージを用意する必要がなくなるから)。15:01:02間違いを発見しました。harib02dのputfont8関数です。引数にbinfo->scrnyが抜けています。13:14:14(修正)間違いを発見しました。harib02dのHarimainにおけるputfont8関数の呼び出しです。引数にbinfo->scrnyが抜けています。argumentsで怒られます。14:30:18(訂正)上のコメントはmistakesに入れるべきだと思うのですが。runを実行するとharibote.imgがないというエラーになります。haribote.imgが作られないのです。どなたかharibote.imgを作る方法を教えてください。ちなみに、edimgコマンドを使って実行してもコマンドは正常に終了しますが、やはりharibote.imgが作られません。12:28:29sakenです。NOD32というウイルス検索ソフトが悪さをしていました。15:19:39131ページの_asm_inthandlerですが、色々なレジスタをPUSHしていますが、フラグレジスタは保存しなくてもよいのでしょうか。12:43:52IRETD命令がフラグレジスタのPOPを行ってくれるようです。19:18:55yossieさんへ。advance/CPUに、Kさんがその説明を書かれています。Intelの資料にも載っているので、参照してみてください。20:07:28↑の者です。すみません、P678に書いてありました。20:12:44たびたびすみません。ブート可能なDVDについては、CDと同じ容量で作成できるらしいので多分出来ます。13:29:18正誤表(http://hrb.osask.jp/bugfix.html)の誤植を見つけました。上の「p.401(リスト内)」で、「fifo」となっていますが、「finfo」の間違いかと思います。17:15:45初投稿です。一日目のinstall.batを実行すると、「NTVDM.exeは動作を停止しました」と出ます。付属CDからコピーしても同じ動作です。run.batの方はちゃんと本の通りにウィンドウが出ます。18:53:35すみません、上の「名無しさん」です。どなたか教えてください。18:56:27【宛Kazu氏】install.batの中身を調べて、この頁を検索すると幸せになれます。10:17:21imgtolが16bitプログラムなので64bitのWindowsでは実効できません。これどのように解決ですか?助けてください。00:44:16imgtolが16bitプログラムなので64bitのWindowsでは実効できません。これどのように解決ですか?助けてください。Win32-x64」という代物があるそうです。16:43:23helloos.nasファイルが開けません。読み返してみたのですが・・・ヒントだけでも教えてください。07:13:59初めての質問です。task_b_esp;」です。task_aが使用するスタックとtask_bのスタックは、領域が異なっているのです。マルチタスクの要ですね、297頁あたり1に書かれています。あの書籍の場合、疑問点は少し先に進むと解決するようになっていますので、読み飛ばすのも一つの手です。゙・・NameLinkを間違えました。「297頁あたり1」は、「297頁あたり」の誤りです。06:12:57GDT1004番のセグメントはLimit値が64*1024-1(0xffff)なので、その中の0x01202600にアクセスするとリミットチェックに引っかかってエラーになります。12:55:31helloos3のhelloos.nasには、ORGコマンドがあります。helloos2のhelloos.nasにはORG命令がないですね。それにもかかわらず、run.batを実行したときに両方動作します。してhelloos3のhelloos.nasのORG命令をコメントアウトして実行してみると、エラーが発生しますね。12:55:05helloos3のhelloos.nasには、ORGコマンドがあります。helloos2のhelloos.nasにはORG命令がないですね。それにもかかわらず、run.batを実行したときに両方動作します。してhelloos3のhelloos.nasのORG命令をコメントアウトして実行してみると、エラーが発生しますね。13:30:19harib01fのbootpack.cのset_palette()関数を見ると、"rgb[0]/4"という表現がありますが、ここでは"/4"の意味は何なのかよくわかりません。23:16:08初心者です。質問なのですが、harib01hを作り、そろそろ実機で起動させてみようと思い、本で紹介されていたfdtoiso.exeを使ってISOファイルを作り、CD-RWに焼いたのですが、起動しても真っ暗な画面が表示されるだけです。