【プログラマ】 virtual mac 9 を作ろう 【集まれ】
■ このスレッドは過去ログ倉庫に格納されています
0001名称未設定
02/11/20 00:00ID:v+ufKKnMでも、classicではインストールできない物もあったりして、まだまだOS9起動も必要。
ってことで、virtual PCみたいに OS X の上で動くmacマシンのエミュレータを作れないかと。
PC上のmacエミュ http://member.nifty.ne.jp/poseidon/mac/fusion01.html はあるんだし、
可能なんじゃないかと思うんだけど。
ここは新mac板の力を結集してmac on macを作ってみませんか。
00022ぐらい
02/11/20 00:02ID:GtOz8S4E0003名称未設定
02/11/20 00:02ID:yHMz9ml30004名称未設定
02/11/20 00:02ID:Dnq1ItkJ00061
02/11/20 00:27ID:v+ufKKnM68macのエミュレータだね。
ただmacの場合はハードウェアが非公開だから、権利関係の問題はあるね。
これもちゃんと68macを持っていて、そのboot romを使って起動するようです。
まぁ、つまり技術的にはboot romさえあればいいって事だけど。
PowerPCのエミュレーションもそんなに大変な事じゃないと思います。
ただ速度を出せるかどうかと言うと、なかなか難しいと思うけど…
0008デカ長 ◆DEKAiiiQ2.
02/11/20 00:32ID:aS9xixRd0009名称未設定
02/11/20 00:39ID:8TLu690y0010名称未設定
02/11/20 00:41ID:SZjjGO0zこいつらは文系なんでポスターのデザインくらいしかできません
0011名称未設定
02/11/20 00:43ID:J9522XzMemuでもそのうち熟成される頃にはマシン本体の性能あがってる
はずだから、そのうちOS9最後のマシンより速くなると思うし。
00121
02/11/20 00:48ID:v+ufKKnMそうなんですか? でも、プログラマ板だとmacネタはあんまり相手にされないし…
OS9で起動できなくなることを嘆いてる人が多かったので、
作ってみようと言う人はいないかなと思って声をかけてみたわけです。
0013名称未設定
02/11/20 00:51ID:jUFyggBf0014名称未設定
02/11/20 00:54ID:Kirfs2fV68kだから9は動かないのが難点。MoLのMac OS X版に期待か。
00151
02/11/20 01:12ID:v+ufKKnMPPCのVMなんですね。これなら確かに早そうです。
ありがとうございます>>13
カーネルモジュールとして実装されてるんですね。
Darwinにこういった仕組みがあるのかちょっと知らないんですが、
もしあるならmac on darwinも可能って事ですね。
0016名称未設定
02/11/20 01:16ID:ZDqj56Sj00181
02/11/20 01:34ID:v+ufKKnM一応いろいろ検索してみたんですが…。
過去のスレなど、ご存じでしたらよろしくお願いします。
漏れはとりあえずmolのソースを読んでみることにします。
00191
02/11/20 02:29ID:v+ufKKnMmac on darwin(molをdarwinに移植する)という
話は出てるみたいですね。
0020名称未設定
02/11/20 03:33ID:sU6hdyUfそれなりのソフト需要も出てきてOS9のデベロッパが再び活性化。アポーの存在
自体が不要になりあぼ〜ん。となればいいと思う。ジョブスウザ過ぎるので。
0021名称未設定
02/11/20 03:46ID:AhgPXnIEhttp://vinelinux.org/ppc/manual/node32.html
0022名称未設定
02/11/20 04:17ID:DGlbm+Qu0023名称未設定
02/11/20 04:57ID:MTunIlrHそれを日本語化したほうが(゜Д゜)ウマー
00241
02/11/20 15:17ID:58tUuirmサンクスです。
unstableながらdebianも配ってるみたいですね。
>>23
そういう企画があるなら情報希望です。
取りあえず俺が検索した限りにはあまりないようだったので。
それに協力するのも可です。
0025名称未設定
02/11/20 17:27ID:FJm0bRAIcarbonとはどう違うんだ?
わざわざエミュらなくても拡張ライブラリとかでは駄目なの?
そもそも>>1がいってるのとクラシックの違いは?
0026名称未設定
02/11/20 18:50ID:tdXAIs3m0027名称未設定
02/11/20 19:18ID:U0OLOuRXあそこに集まっているのはプルグラマ(w
00281
02/11/20 20:18ID:Bskyg+P+carbonは旧MacOS系のAPIに似たOSX用のAPIセットです。
基本的にはOSXのアプリを作るためのものだけど(ていうかOSXへの移植をしやすくするためのもの)
carbonlibという機能拡張を使えばcarbonで作ったアプリもOS9で動きます。
旧MacOS用にビルドされたアプリはcarbonで作り直さないとダメ。
classicは確かにOSXの上での旧MacOSエミュレーション環境なんだけど
完全に同じというわけではなくて、例えばユーザー権限の中で動くので
フォルダ指定のできないインストーラなんかはドライブの直下にインストールしようとして
書き込み権がなくてこけたりするようです。いろいろと改善はされてるようですけど。
旧MacOS用にビルドされたアプリは動くけど完全に再現しているわけではないということですね。
で、漏れのイメージしているのはvirtual PCのような別ウィンドウで動く仮想マシン(あるいはエミュレータ)です。
仮想的なPowerPC(または68)マシンをOSX(darwin)上のアプリ(プロセス)として動かして、その上でOS9なりの旧MacOSを動かそうと。
だからclassicと違って完全に独立した環境ということになります。
アプリをdockから切替えたりとか強制終了で落したりとかいうことはできなくなると。
仮想マシンとエミュレータの違いはCPUそのものをソフトウェアで再現するかどうかです。
MOLは仮想マシンでPowerPCのマシンで動きCPUはマシンのものをそのまま使って描画とかメモリとかI/O周りをエミュレーションしているようです。
PowerPCのマシン上で68マシンの環境を再現したかったら
CPUも再現しなければならず、エミュレータということになります。
既出のBasiliskやsoftmac(fusion)なんかはエミュレータのようです。
用語の振れなどあるので正確ではないかも知れませんがこんなところかと。
00291 ◆eqUKVzNxEc
02/11/20 20:38ID:Bskyg+P+0030名称未設定
02/11/20 23:16ID:W1hnmQhs00311 ◆eqUKVzNxEc
02/11/21 00:03ID:2GJWFELNで、現実的にはMOLをdarwinに移植するのがいいかなと思うわけです。
これだと68macオンリーのアプリは動かないけど、速度的な事を考えるとこうなるかと。
0032名称未設定
02/11/21 00:15ID:yf1z+O1V結構、本気じゃん。がんがれよ。おら、なにもしてあげれねーけどよ。
0033名称未設定
02/11/21 00:34ID:WJE7vtwsとりあえず気持ちだけでも協力します。
0034名称未設定
02/11/21 00:34ID:FxZiDZEmディスクイメージに MacOS9をいれて、そこからClassicを起動すると快適だぞ。ルートフォルダに
妙なファイルをばらまかれてもディスクイメージの中で閉じているし、使わないときはイメージをアン
マウントしとけばそもそも見なくてすむし。
あと、ディスクイメージならユーザ毎にホームフォルダに置いておけばいいから、自分だけの機能
拡張を入れた特製システムディスクがユーザ毎に作れる。
0035名称未設定 ◆eqUKVzNxEc
02/11/21 01:41ID:/sf8Joug多少スレ違いな気もしますが(w
有益な情報ありがとうございます。
ディスクイメージからもclassicっていけるんですね。
0036名称未設定
02/11/21 02:02ID:5RS8yf/0mac9って何ですか
>>1
mac9って何ですか
>>1
mac9って何ですか
>>1
mac9って何ですか
>>1
mac9って何ですか
>>1
mac9って何ですか
>>1
mac9って何ですか
>>1
mac9って何ですか
>>1
mac9って何ですか
>>1
mac9って何ですか
>>1
mac9って何ですか
>>1
mac9って何ですか
>>1
mac9って何ですか
>>1
mac9って何ですか
>>1
mac9って何ですか
00371 ◆eqUKVzNxEc
02/11/21 02:30ID:/sf8Jougミスってしまったのです(汗
ご容赦ください。
0038名称未設定
02/11/21 02:35ID:Z2VfMryN0039名称未設定
02/11/21 02:38ID:vg8W92Qv旧機種にXをインストールするパッチが出たくらいだから。
0041名称未設定
02/11/21 02:49ID:o3dxc7Wjmacでもそういうのできたらおもしろそう
0042名称未設定
02/11/21 06:41ID:v3cTKdXoドライバがつらいだろうなぁ...。
>>1
来年になってもClassic環境はなくなりません。
virtual mac 9とClassic環境との違いを明確にしてください。
0043名称未設定
02/11/21 08:04ID:+DeTyjyyおまえが理解出来てないだけ。
0044名称未設定
02/11/21 08:04ID:ggOsMwxL0045名称未設定
02/11/21 08:08ID:v3cTKdXoあんたは何者だ?
virtual mac 9 なるものの定義がどこにもないのに、なんで
理解できるんだよ。
004645
02/11/21 08:14ID:v3cTKdXo>>28に実現方法については書いてありましたな。carbonの説明だと
思ってよみとばしていた。
ただやっぱりわからんのは、Classic環境と、できることは
何が違うのかという点だ。独立した環境にすると、「できなくなる」
ことがあるのは明らかだが、エミュレーションの方がClassicよりも
再現性が高いという保証はどこにもない。
0047名称未設定
02/11/21 08:17ID:2678/dz9Basilisk II on MacOSX は音が鳴らないので駄目ぽ。
68k用ゲームも無音だと萎え。
0048名称未設定
02/11/21 08:26ID:ggOsMwxLそのうち出るだろうけど
0049名称未設定
02/11/21 09:32ID:xOsV+Ndv糞。VPCでもあるだけ割り当てられるのに。
0050名称未設定
02/11/21 09:38ID:rmxNR+O2んでさ、どこまで作ってんの?
進捗オセーテ
まさか自分は高みの見物でスキルある奴に作らせようって思ってるんじゃ
ないだろな。
0052名称未設定
02/11/21 10:47ID:aguCLJow0054名称未設定
02/11/21 11:19ID:YkkB/YWeそれが可能ならとっくに誰かが作ってるって。
0055名称未設定
02/11/21 11:35ID:8Y+lVXMOクラシック環境の互換性が向上すればいいんだよね。
0056名称未設定
02/11/21 12:04ID:E1f0OVciBasiriskとかもそうだけど、
なんでPPCのエミュレータが出んの?
むずいのかな。たれか解説きぼん。
0057名称未設定
02/11/21 12:12ID:rmxNR+O2出来ない筈はない。
x86forDarwinでPPCエミュレーターでドライバを動かしてたのを
BSDマガジンで呼んだ事があるぞ。
0058名称未設定
02/11/21 12:19ID:3ejYWIVqどうも殺して欲しいようだな?
受験失敗した挫折者に多いタイプだ。
こういう奴は殺処分するのが社会のためだと思うがどうだろうか?
0059名称未設定
02/11/21 12:33ID:xvBMYY0ihttp://pc.2ch.net/test/read.cgi/mac/1035938842/99-104
ハードウェアのアクセス制限、変わらず?Aquaのアピアランス?
00601 ◆eqUKVzNxEc
02/11/21 15:05ID:hrMoLqzEすんません。まだMOLのソースを読み始めようと言うところです。
漏れもそんなに暇ではないのでなかなか…
もちろんスキルのある方が手伝ってくれると幸いなのですが。
>>57
その噂は漏れも聞いたことがあります。
ってことはあるって事ですよね。
>>55&>>59
やはり、classicからハードウェアにアクセス制限があるのは変わらないでしょうね。
classicからハードウェアいじってOSXの動作がおかしくなったら本末転倒だし。
classicはユーザー権限に抑えておいた方が安全って事でしょう。
aquaが搭載されるのは少しいいかも。
0061名無しさんは14才
02/11/21 15:20ID:KdobmEdWえーと、該当部分をもう少し正確に訳すと、
「9.3ではOS Xのカーネル経由でハードウェアにアクセスできるようなデバイスがいくつか追加される」
ということで若干の改善は見込めそうな雰囲気があります。
制限自体は残りそうですけど。
もっと正確には原文を読んでくださいです。
ほんとは英語苦手なの。テストが憂鬱。
0062名称未設定
02/11/21 21:34ID:YkkB/YWe0063名称未設定
02/11/21 22:40ID:tahg45j1vMacおよびMini vMacにはMac版がある。
http://member.nifty.ne.jp/poseidon/emu/emu01.html#mini
00641 ◆eqUKVzNxEc
02/11/22 01:10ID:+v5W1p74ソースは>>59の言ってるのでいいんですか?
時間があったら読んでみます。
classicの使い勝手が良くなってくれる事自体はとてもうれしいです。
>>63
参考資料、ありがとうございます。
SheepShaverはソースも見れるようですし、参考になりそうですね。
00651 ◆eqUKVzNxEc
02/11/22 03:16ID:+v5W1p74みたいにとりあえず物を作ってみないとあれですね…
先は長いですが、頑張ります。
darwinに詳しい人などいたらよろしく。
ageて寝ます。
00661 ◆eqUKVzNxEc
02/11/22 14:16ID:jTHSnWdfhttp://ppc.linux.or.jp/~konishi/html/faq-j.html#kextdef
0067名称未設定
02/11/23 01:14ID:W9ndYkFvロード・ストア系とかジャンプ系だけ監視するのかね
00681 ◆eqUKVzNxEc
02/11/23 04:59ID:dclIPwCo外側(Darwin)のI/Oと置き換えてやらないといけないし。
ロード・ストア系はページミスをトラップしてやることになるのかなぁ。
とりあえずmolのソース落としてきました。
ただ、darwinとGPLな物は組み合わせられないかもしれないと言う懸念が…
その辺詳しい人いませんかね。
もしそうだといきなり頓挫なんですが(汗
0069カムイ
02/11/23 08:25ID:ZdlOxiU70070カムイ
02/11/23 09:12ID:rZsxxC20007271
02/11/23 15:05ID:GbxJ3ua60073カムイ ◆QOXhwIkXBE
02/11/23 15:25ID:ZdlOxiU70074名無しさんは14才
02/11/23 18:08ID:8H9eJZLnMacOS8とかはPowerPC全部使ってるんだから駄目だよねー。
PowerPCの機能知らないんだけど、ページングとか特権管理とかを
マネッコしてあげないと。
たぶんMacOS9はそういう所に触らずに起動するモードがついてて、
それをClassicとしてるんじゃないのかな。
00751 ◆eqUKVzNxEc
02/11/24 03:00ID:P52bgMkH何とか大丈夫そうなんですが…
>>71
それは確かやってくれますよね。
とりあえずMOLの移植を目指しますです。
0076名称未設定
02/11/25 04:17ID:qtoJVKn5>>49 ん? Classicは最初に仮想メモリを 2Gとるぞ。実メモリをどれだけ明け渡すかは
Classicのあずかり知らぬ、Machカーネルの決めることなのでどうしょうもないだろう。
>> 74 そもそも、MacOS9って特権管理してないし、全てのプロセスが単一のアドレス
空間に存在する。だからOSの領域を読むことも書くこともできる(藁)。
ただし、仮想メモリが有効だとアドレスの変換とページングはやっているので、そこだけ
はどうにかしなきゃいけないが、それとて難しい問題じゃないだろう(もちろん、楽な問題
でもないがな)
>> 75 少なくとも、ユーザ空間で動くプロセスのソースがGPLであるのは問題ない。
問題になるのはカーネルに組み込む部分だが、最悪ここだけ全て書き直せばいいし、
そうでなくても大量に書き直すんじゃないかな?
0077G4iBookでOS9を使いたい者
02/11/25 17:33ID:+r03ZxlN何も出来ませんが応援しています。
がんばってください。
期待しています。
00781 ◆eqUKVzNxEc
02/11/25 22:03ID:Myy3QLx+ありがとうございます。
カーネルエクステンションだけGPLでdarwinには触れてません…
ってのは無理なんでしょうね、やはり。
MOLを参考にしましたって事にすればGPLは逃れられるのでしょうか?
どのへんまで真似するとGPLが感染するのかが微妙です。
まぁ、作ってしまってから考えてもいいんですが。
カーネルエクステンション無しで実現できたら問題無しってことですね。
>>77
ありがとうございます。
今はdarwinのカーネルエクステンションについて調べています。
linuxのkernel moduleに当たるものなので、これが利用できれば良いのですが。
ぼちぼちやっていきますです。
そして保全age
0079名称未設定
02/11/25 22:05ID:d92RBQ5T0080名称未設定
02/11/25 22:15ID:NorTtC+NMOLの作者のsamuel氏には連絡を取った?
公式MLによれば、Mac OS X版の開発にも着手はしているようなので
現在の開発状況や問題点などを聞いておいたほうが二度手間に
ならなくて良いと思うぞ。
0081名称未設定
02/11/25 22:34ID:oFQNf19Xこのスレの目指す方向と差別化されている部分も無いようだし
もうこのスレ終わってもいいんでない?
>MOLを参考にしましたって事にすればGPLは逃れられるのでしょうか?
重要な部分をコピペで済まそうと考えてるなら
素直にMOLのOSXポートとしちゃって
GPLから逃れる必要も無いと思いまつ・・・
商用ソフト開発しようてのならアレだけど。
008280
02/11/25 22:52ID:NorTtC+Nほうがいいんじゃないかと俺は思う。
>>1があくまでも自力での開発にこだわるというのであれば話は別だけどね。
ちなみに公式MLでのSamuel氏の発言によると
>Well... actually, I have spent some time on the OS X port. When I
>get the time, I intend to finish the port (although it is admittedly
>not a top priority).
ということなので、着手はしているようだけど、まだ未完成で、
彼としては優先度の高い作業では無いと考えているようだ。
だから、彼と共同で作業したり、メールでも出して、
日本でこんなに多くの要望があるということを理解してもらって
優先度を上げてもらうとかしたほうが良いと思うんだよね。
00831 ◆eqUKVzNxEc
02/11/25 22:55ID:Myy3QLx+ttp://lists.maconlinux.org/pipermail/mol-general/2002-November/000971.html
かなり有力な情報サンクスです。ソースはこれかな?
top priorityではないと書いてるけど、やってはいるみたいですね。
これに参加してもいいかも。
とりあえずメール書いてみます。
>>81
いや、MOLは問題ないんだけどdarwinのライセンスである
Apple Public Source Licenseとどう抵触するかが微妙で
MOLのソース由来なものを取り込むとdarwinにも
GPLが及ぶ可能性を懸念していたのです。
だから、カーネルエクステンションだとどうなのかなと。
カーネルに取り込んだとみなされるのかが分かんないなぁというわけです。
このスレは情報提供用で残してもいいかもです。
008480
02/11/25 23:09ID:NorTtC+Nカーネルにスタティクリンクするものでなければ問題ないはず。
それから「MOLはカーネルモジュールとして実装されている」(>>15)ではなく、
アプリケーション(仮想マシン)部とカーネルモジュールの2つから構成されてる。
ついでに、>>57-60で話題に出ていたのはココ
http://www.asahi-net.or.jp/~hc3j-tkg/diary/2002-02-2.html
ただし、これはDarwin/x86上でDarwin/PPC用のアプリケーションを
動かそうというもので、今回>>1が目指している種類のものとは違うけどね。
00851 ◆eqUKVzNxEc
02/11/26 04:05ID:8dLFlSw7いろいろありがとうございますm(_ _)m
今日のところは寝ます。数日中には Samuelさんにメールしてみます。
00861 ◆eqUKVzNxEc
02/11/27 17:23ID:7f0r+N9Z00871 ◆eqUKVzNxEc
02/12/01 01:14ID:fm2Vl9akすいません、忙しくてまだSamuelさんにメールかけてません。
とりあえず、保全age。
0089名称未設定
02/12/01 01:32ID:cPUs+fb500901 ◆eqUKVzNxEc
02/12/01 02:39ID:45ZML4ukhttp://pc.2ch.net/test/read.cgi/mac/1035386838/l50
↑これですよね?
まぁ、とりあえず最初は個人的に進めていきます。
このスレは連絡用みたいな感じで残してもいいかなと。
00911 ◆eqUKVzNxEc
02/12/06 00:12ID:JWTn8S9P初対面の人に英語でメール出すのは初めてなので、ドキドキです(汗
返事が来たらまたお知らせします。
00931 ◆eqUKVzNxEc
02/12/06 22:06ID:UyMe80GX移植状況についてかなり詳細に丁寧に答えてくれました。
かなり移植は進んでいて、残りはカーネルモジュール周りだけの様です。
ただ、現在MOLでのOSXやlinuxのサポートを優先しているため
手が回らないと事です。
メールをここに引用しても良いかを返信しましたので
その返事がきたら詳しい移植状況をのせたいと思います。
0094名称未設定
02/12/06 23:50ID:1eM9tCxe00951 ◆eqUKVzNxEc
02/12/07 00:52ID:9bjVXUpA引用のOKが出たのでさっそく報告したいと思います。
>>93でも書いたように現在SamuelさんはMOLでのOSXやlinuxのサポートに
注力しているため、Darwinへの移植に時間が割けない状態だそうです。
コードの大部分はすでに移植済でもうちょっとで動くところまで来ていて、
aquaのビデオドライバなどOSX上の見た目の部分を除けば、
残りはカーネルモジュールに関する部分のみだそうです。
技術的に大きな問題になりそうなのは4つで
(1) VSID (Virtual Segment ID)の割り当て:
MOLはある範囲のVSIDを必要とします。これを解決するためには
カーネルに動的(on-the-fly)パッチをあてる必要があるかもしれないとのこと。
バイナリパッチということなのでしょう。カーネルのリコンパイルも方法の1つだが
なるべくならOSXに付属するカーネルをそのまま使った方がいいでしょう。
VSIDとはPowerPCの仮想メモリアドレスの上位24bitに当たる部分で32bitの
論理アドレスの上位4bitで示されるセグメントレジスタにその値が入っています。
32bitの論理アドレスを52bitの仮想アドレスに変換し、その上位30bitを
ページテーブルで変換して物理アドレスを得ます。
ここの表が分かりやすいかと
http://www.usenix.org/publications/library/proceedings/osdi99/full_papers/dougan/dougan_html/node3.html
00961 ◆eqUKVzNxEc
02/12/07 00:53ID:9bjVXUpA物理ページのスワップアウトのことだと思います。
これをうまくフックして検出したいとのことです。
(3) ページインを要求する方法
スワップアウトしている特定のページを読み込むための手段が必要だそうです。
ページフォールトを起こして新たにページインしたページを検索(lookup)してもいいのだが
この方法では非効率だとのこと。
(4) PTE (ページテーブルエントリ) ハッシュへのアクセス
SamuelさんはMOLがprivateなPTEハッシュを持てばいいのではないかと考えているそうです。
以上の項目を解決するためには PowerPC MMU(メモリマネージメントユニット)と
Darwinカーネルの仮想メモリシステムを全体的に理解する必要があるとのことです。
また、MOLのソースを読んでいるという話をしたところ、
ページフォールト処理の過程を理解するところから始めるのがいいだろうとの
助言をいただきました。移植への協力は歓迎とのことです。
以上です。
まだMOLのソースも読み途中なので俺にも理解できない部分もあるのですが…
0097名称未設定
02/12/07 01:01ID:c0kS0W7E00981 ◆eqUKVzNxEc
02/12/07 01:05ID:9bjVXUpA何か質問などがあったら、MOLの開発者のメーリングリスト、MOL develに投稿して欲しいとのことです。
http://www.maconlinux.org/ こちらから入れます。
これからは上記の問題について調べて
MOL develメーリングリストに報告していくという方向で行こうかなと思っています。
とりあえずこれから俺はMOLのソース、PowerPCのマニュアル、
Darwinのソースをよんで理解を深めようかと思ってます。
とりあえず、上記の問題をしっかり理解しないとどうにもならないので。
一緒にこれらを読んで理解を深めようという人がいたら大歓迎です。
すでに読んだという人も大歓迎です。
手分けして読めば理解も早いと思います。
あと、SamuelさんはとりあえずXwindow上での動作を考えていると思うので
Aquaインターフェイス開発をしてくれる人も必要かと思います。
そういう人も大歓迎です。
このスレはとりあえず今後の展開を報告するために残そうと思います。
以上です。
00991 ◆eqUKVzNxEc
02/12/08 04:36ID:SMUbsqKRSamuelさんによるDarwin版の作りかけのソースも付属していました。
骨格はかなりできあがってるみたいです。
0100UNIX板&プログラム技術板住人
02/12/10 01:06ID:UDy3SqGdキチガイのようにあちこちに長文コピペを貼るのをやめてください。
はっきり言って荒らし行為と何ら変わりはありません。
このプロジェクトに対しても逆効果だとおもいますよ?
■ このスレッドは過去ログ倉庫に格納されています