Mini vMac

ソフトウェアのスクリーンショット:
Mini vMac
ソフトウェアの詳細:
バージョン: 3.5.8 更新
日付のアップロード: 2 Oct 17
開発者: Paul C. Pratt
ライセンス: 無料
人気: 28

Rating: nan/5 (Total Votes: 0)

Mini vMacは、Cで実装されたオープンソースのフリーでクロスプラットフォームのグラフィカルソフトウェアで、Apple、Linux、BSD、Microsoft Windowsで動作するMacintosh Plusコンピュータシステム用のエミュレータとして機能するように設計されていますMac OS Xオペレーティングシステムをサポートしています。

Appleが設計した最も初期のMacintoshマシンの1つであるMacintosh Plusは、最近のMacintoshコンピュータでは動作しない古いMacソフトウェアのみを実行します。したがって、ミニvMacソフトウェアは履歴を保存するのに役立ちます。可能な限り使いやすく、持ち運びやすく、シンプルに設計されています。


ミニvMacを使い始める

GNU / LinuxシステムでMini vMacアプリケーションを使用するには、お使いのコンピュータのハードウェアアーキテクチャに対応したバイナリパッケージをダウンロードし、コンピュータのどこかにアーカイブを保存し、アンパックして実行可能ファイルをダブルクリックします。

アプリケーションが開き、Macintosh PlusシステムのROMイメージが見つからないことを通知します。つまり、vMac.ROMファイル(詳細はプロジェクトのホームページにあります)を入手してMini vMac実行可能ファイルと同じフォルダに配置する必要があります。

Macintosh Plus ROMイメージを入手したら、プログラムを閉じてから再度開く必要があります。 ROMファイルが有効な場合、システムは自動的に起動し、他の仮想化オペレーティングシステムと同様に使用することができます。


すべてのメインストリームオペレーティングシステムで動作します

このソフトウェアは、vMacアプリケーションのスピンオフで、長年更新されていません。 64ビット(x86_64)および32ビット(x86)の命令セットアーキテクチャをサポートする前述のオペレーティングシステム向けに、あらかじめビルド済みのバイナリパッケージとして配布されています。

アプリケーションのソースコードは、特定のハードウェアプラットフォームやオペレーティングシステム用にソフトウェアを最適化したい方にもダウンロードできます。

リリース:

今日のMini vMac 3.5.8は、PowerPC OS Xの問題を修正するための安定バージョンをアップデートし、バリエーションサービスに影響を与える問題を修正します。 PowerPC OS X( 'mach')およびx86-32 OS X( 'imch')以外のプラットフォーム上のMini vMac 3.5.8は、バージョン文字列と変更日を除き、Mini vMac 3.5.7と同じである必要があります。
「Mini vMac 3.5.7はPPC G3システム上で動作しない」と報告されている。 GCCフラグ "-mmacosx-version-min"は、プラットフォームに依存するコードだけでなく、コンパイルされたすべてのファイルに指定する必要があります。それは必要なCPUのようなものに影響します。この変更を行っても、x86-64 OS XのミニvMacには何の影響も与えません。x86-32 OS Xにはいくつかの効果があり、最大の効果はPowerPCです。

バージョン3.3.3の新機能:

デフォルトコンパイルの新機能:
Mini vMacでは、より多くのオペレーティングシステムが正式にサポートされています。
x86-32上のFreeBSD(ビルドシステムで "-t fbsd"を使用)
x86-64上のFreeBSD( "-t fb64")
x86-32上のOpenBSD( "-t obsd")
x86-64上のOpenBSD( "-t-ob64")
x86-32上のNetBSD( "-t nbsd")
x86-64上のNetBSD( "-t nb64")
x86-32上のDragonfly BSD( "-t dbsd")
x86-64上のDragonfly BSD( "-t db64")
OpenIndiana on x86-32( "-t oind")
OpenIndiana on x86-64( "-t oi64")
ARM上のLinux(" -tlarm")
Linux on SPARC( "-t lspr")
Minix 3.2(「-t minx」)
これらのポートは、Linuxポートと同じX Windowコードを採用していますが、現時点ではいくつかのものではないという点を除いて、同じ機能を持つ必要があります。 x86-64のバージョンは現在のところ、アセンブリ言語の調整がないために遅く、x86-32のバージョンが動作する場合は使用しないでください。

Xバージョンでは、Open Sound System(OSS)APIを使用してサウンドを再生できるようになりました。 (通常、公式のOSSではなく、各オペレーティングシステムで互換性のある実装を使用しています)。FreeBSDとNetBSDではデフォルトでサウンドが有効になりました。 Dragonfly BSDとOpenIndianaでサウンドは問題なくコンパイルされますが( "-sound 1"を使用)、まだテストできませんでした。 Dragonfly BSDで音を出すには手動で設定する必要があるようです。 OpenIndianaはVMware Fusionではまったく音が出ないようです。サウンドもOpenBSDで問題なくコンパイルされますが、うまくいきません - 希望のサンプルレートを設定できません。ミックスは実際にはまだサウンドをサポートしていないようです。新しい "-snd-api" APIを使用して、Linux上でOSS APIを使用することも可能です。ビルドシステムオプション。
X版では、Macintosh版やWindows版のように、ROMイメージ用のアプリケーションを含むフォルダを見ようとします。 (また、disk1.dskなどのファイルも)アプリケーションディレクトリを特定できない場合、現在のディレクトリは以前と同じように使用されます。これは、Linux、FreeBSD、NetBSD、Dragonfly BSD、OpenIndianaでは実装されていますが、OpenBSDやMinixでは実装されていません。X版には、アプリケーションディレクトリの代わりに[directory_path]が使用され、ROMイメージを検索する新しいコマンドラインオプション "-d [directory_path]"と、disk1.dskなどのファイルが追加されました。
X版にMini-vMacウィンドウのタイトルのアプリケーション名の代わりに[app_name]という新しいコマンドラインオプション "-n [app_name]"が追加されました。
X版では、Macintosh版やWindows版などの中央ROMフォルダがサポートされるようになりました。 「〜/ .gryphel / mnvm_rom」が、ミニvMacはそこにROMイメージを表示します。それがなければ、アプリケーションディレクトリを調べます。 (また、-rコマンドラインオプションは両方を上書きします。)
デフォルトのコンパイルでの動作が変更されました:
エミュレートされた画面を実際の画面に描画する方が効率的です。色深度が4ビット以下の場合、各ピクセルを変換するのではなく、一度に1バイトずつ変換するための256エントリのテーブルがあります。また、画面全体ではなく、変更された領域を囲む四角形内のピクセルのみを変換することには注意が必要です。Linux版ではALSAライブラリが動的にロードされてサウンドが再生されるため、ALSAがインストールされていない場合でもミニvMacはサウンドなしで実行されます。 (このテクニックはSDLに見られました)。デフォルトでは、Linux版はMac版とWindows版のサウンドにコンパイルされています。
Linux版では、ALSAでサウンドを再生すると、snd_pcm_delayは呼び出されなくなりました。サンプルが再生されるまでの遅延は、実際には関係ありません。 Mini vMacが知る必要があることは、アンダーランをバッファリングする時間です。そこで、ミニvMacでは、バッファサイズからバッファ内の空き容量を差し引いた値を調べます。これは、待ち時間を最小限に抑えながらバッファアンダーランを防止する目的で、より便利です。
Xバージョンでは、アドバイザリロックを使用して、Mini vMacの別のコピーで書き込むために開かれたディスクイメージの書き込みを拒否します。以前は、XバージョンのMini vMacがすでに開いているディスクイメージを開く可能性があり、イメージが破損する可能性がありました。 Mini vMacが読み取り専用のディスクイメージを開くことができるのは、ユーザーがファイルをロックしたためなど、アドバイザリロックは使用されず、Mini vMacの複数のコピーで使用できます。X版では、Macintosh版やWindows版のように、アプリケーション名を使ってウィンドウのタイトルを設定しようとしています。 (アプリケーション名を特定できない場合には、以前と同様に "Mini vMac"が使用される)。これはアプリケーションディレクトリと同時に見つけられ、同じオペレーティングシステムに実装される。
disk1.dskなどのファイルを探す前にコマンドライン引数をスキャンするようになりました。これは、新しい "-d"ディスクイメージがコマンドラインで指定されている場合は、最初にオープンされるという副作用があります。コマンドラインにイメージがある場合、Mini vMacはdisk1.dskを探すのに気にしません。
"-l" (またはWindowsの/ l)コマンドラインオプションが削除されます。 「速度z」は、代わりにビルドシステムのオプションを使用する必要があります。コマンドラインオプションは、ビルドシステムが存在する前のオプションで、実行時オプションよりもビルド時間オプションを優先させることを決定しました。
デフォルトのコンパイルでのバグ修正:Windows版では、テンキーパッドのEnterキーがMacintosh Enterキーにマップされるようになりました。これで、そのキーとメインキーボードのEnterキーが区別され、Macintoshのリターンキーにマッピングされます。これまでは、Macintosh Enterキーを入力する方法はありませんでした。 " Alex"のおかげで、この問題を指摘しています。
Windows版のフルスクリーンモードでは、キーダウンイベントが自動反復キーであるかどうかのチェックが間違っています。キーが間違っていてはいけないときに無視されていた可能性があります。私は小切手を削除しました。なぜなら、(「低レベルのキーボードフック」を使用する場合)正しく行う方法が明確ではないからです。これはMacintoshエミュレーションには影響しません。冗長なイベントをチェックするためです。 Control-Mを押したときなど、Controlモードに影響することがあります。
Windows版がWM_QUERYENDSESSIONメッセージに応答するようになりました。そのため、(マウントされたディスクイメージを使用して)ミニvMacを実行しているコンピュータをシャットダウンしようとすると、Mini vMacはシャットダウンを停止して停止します。ALSAを使用してサウンドを再生するLinux版では、サウンドサンプルをALSAバッファに入れる前にsnd_pcm_startが呼び出されました。これは、冒頭で吃音を引き起こす可能性があります。または、1つのレポートによれば、サウンドがまったく機能しないようにすることができます。 Mini vMacはプライベートバッファがいっぱいになるのを待ってから、ALSAバッファに収まるように転送し、サウンド再生を開始します。
Linux版がARM用にコンパイルされている場合は、snd_pcm_avail_updateの結果が妥当であるかどうかをチェックし、そうでない場合はsnd_pcm_status_get_availを呼び出します。これは、RaspbianのRaspberry Piのバグのように見えるものを回避します。
エミュレートされたクロックは、適切に初期化されておらず、最初の「第2の」クロックの後でのみ正しいものであった。割り込み。
エミュレートされた画面が大きすぎて、実際の画面に収まらない場合(自動スクロールが使用可能な場合)、変更されたエミュレートされた画面の領域がエミュレートされた画面の可視領域と交差しない場合、無効な矩形が描画に使用されます。 Vector Linux 7を試してみたところ、これはいくつかの追加のデバッグチェックがあるようだ。ほとんどの場合、フルスクリーンモードでは、自動スクロールがスクロールせず、右端のピクセルの最後の行または最後の列が表示されないことがあります。
ホストコンピュータの速度が不十分でMini vMacが1倍速で動作しない場合、Mini vMacはスムーズに動作せず、数秒間定期的に停止します。この状況のテストは間違っており、1バイトのカウンタがオーバーフローします。 (このようなカウンタをできるだけ小さくしておくと、このようなバグを簡単に検出できます)。
X WindowバージョンのMini vMacでは、MiniFM拡張を使用してExportFlなどのホストシステム上にファイルを作成すると、保存ダイアログは実装されません。以前は、アプリケーションディレクトリに要求された名前でファイルが作成されていました。これは安全ではありませんでした。最悪の場合、ミニvMacで動作するプログラムは、ミニvMacアプリケーションを置き換えることができます。したがって、ファイルは代わりに "出力"という名前のフォルダに作成されます。アプリケーションが格納されているディレクトリに保存します。このフォルダーが存在しない場合は作成されます。
Microsoft Windows版では、ディスクイメージへのパスがコマンドラインでミニvMacに渡され、パスに合法的でない場合、バッファオーバーフローが発生します。Windows CEのバージョンはビット腐った。今コンパイルされ、少なくともWindows Mobile Version 5.0のMicrosoft Device Emulatorで動作します。実際のハードウェアで動作するかどうかはわかりません。誰かが気にしますか? (Windows Mobileは廃止され、Windows Phoneに置き換えられました)このポートはメインのWindowsバージョンの維持を妨げ始めていました。その選択肢は完全に削除したり、保守可能にすることでした。
デフォルトでコンパイルされていない新しい機能:
新しいビルドシステムオプション "-lt"は、 Mike FortのLocalTalkエミュレーションを有効にします。現在、いくつかの制限があります。これは、OS Xのためだけに実装されています。コマンド "sudo chmod ugo + rw / dev / bpf *"を実行する必要があります。 Mini vMac(および他のすべてのユーザー)がすべてのネットワークトラフィックにアクセスできるようにします。 「-lt」は、 Mini vMacが実行されていない場合、Mini vMacは適切なLocalTalkノードになれないため、Mini vMacはデフォルトでバックグラウンドで実行されます。また、チューザーでAppleTalkを手動でオンにする必要があります.PRAMフラグをAppleTalkで起動するように設定できますが、正しく動作しません。
新しいビルドシステムオプション "-lang pol" Przemyslaw Buczkowskiによってユーザーインターフェイスのポーランド語の翻訳を選択します。X版では、色の初期サポート(Mac IIエミュレーション用)があります。これまでのXバージョンは、24ビットの "TrueColor"しかサポートしておらず、フォーマットに関するいくつかの他の制限がある。現代のマシンではTrueColor以外のものは使用されていないので、おそらく他のオプションはサポートされないだろう。 15,16、および32ビットなどの他の深度を使用することができますので、それらをテストする方法を見つけることができればサポートする必要があります。
新しいビルドシステムオプション "-mf"は、倍率をデフォルト値2から変更することができる。例えば、 "-mf 3"倍率を3に設定する。オプション「-mf 1」は、倍率を無効にします(Control-Mコマンドを削除します)。倍率は整数でなければなりません。
デフォルトでは変更されていない動作の変更:
Mac IIエミュレーションのデフォルトの色深度は、「-depth 3」です。 「-depth 0」の代わりに「-depth 0」とする。
Macintosh IIエミュレーションの場合、AutoSlowはデフォルトでは「-as 0」に設定されていません。 AutoSlowは、Mac IIエミュレーションでうまく動作するには、さらに調整が必要な場合があります。
X版では、ディスクイメージ上のfwriteとfreadの結果にエラーがないかチェックされ、最近のUbuntuでのコンパイラの警告が停止します。
デフォルトのコンパイルではないバグ修正:" AP"によって報告されたDIVS.L命令のバグを修正しました。 (Mac IIエミュレーションで使用される68020命令
"AP"によって報告されるように、完全に壊れたBFFFO命令を修正しました。 (Mac IIエミュレーションで使用される別の68020命令)
レジスタ上のビットフィールド操作は、シフトではなく回転を使用するようになりました。選択されたビットは、「AP」によって指摘されているように非連続であり得、文書によって確認される。 (ビット操作フィールドは68020で追加されました。)
メモリ上のビットフィールド演算は、必要なだけ多くのバイトで動作するようになりました。以前は、常に5バイトで動作していました。これは、「AP」によって指摘されているように、メモリマップされたデバイス上で動作する場合に望ましくない影響を及ぼしかねません。
「MoveP.L、Dn」は、命令は、「AP」によって報告されるように、シフトおよびマスキングの順序を混同し、完全に壊れてしまった。CPUエミュレーションのアドレス空間変換に使用される配列が十分に大きく割り当てられていなかったため、Macintosh IIエミュレーションで大量のビデオRAMを使用できるようにするハックは正しく機能しませんでした。これで、ビルドシステムは割り当てサイズを選択します。 (この問題は、数百万色の1024x768で観察されました。)詳細:コンピュータが24ビットモードの場合、各NuBusカードには1Mのアドレス空間しか得られません。そして、Mac IIは、通常、24ビットモードで描くようです。要求されたコンパイル時間オプションのためにさらに多くのビデオRAMが必要な場合、Mini vMacは隣接するNuBusスロットのアドレス空間を使用します。
固定された「-min-extn」は、 Linux版のビルドオプション。
ビルドシステム:
ビルドシステムオプション "-api cco"を追加しました。廃止予定のCarbon APIではなくAppleのOS X用Cocoa APIを使用するしかし、Mini vMacのCocoaポートはまだ公式にサポートされる準備が整っていないと考えられているので、Carbonバージョンはまだ使用されています。ビルドシステムオプション "-api sdl"を追加しました。 Simple DirectMedia Layer 1.2 APIを使用します。これは、Cocoaポートへの足がかりとして追加されました。 - SDLのソースコードとMini vMacのSDLポートのソースコードを組み合わせて、不要なものをすべて削除してから、最初のネイティブのCocoaまでクリーンアップしますポートが現れた。ただし、SDLポートはそのままSDLでサポートされている他のプラットフォームに移植することができます。しかし、これは(まだ)正式にはサポートされていません。
ビルドシステムオプション "-t mx64"を追加しました。 x86-64でのAppleのX11実装(これまではx86-32とPowerPCがサポートされていました)。
ビルドシステムオプション "-t cygw"を追加しました。 Cygwin / X for Microsoft Windows用です。 Cygwinを使用して、 "-t wx86 -e cyg"という正規のMicrosoft Windowsバージョンをコンパイルすることもできます。
ビルドシステムオプション "-t irix"を追加しました。 Silicon Graphics、Inc.のIRIXについては、John Perkinsのおかげです。
MinGWを使用して、ビルドシステムオプション "-t wx86 -e mgw"でミニvMacをコンパイルすることができる。 Bloodshed Dev-C ++はMinGWに基づいているので、 "-t wx86 -e dvc-cl"以前は同様の結果を示していました。Linux版をビルドする際のlinkコマンドの引数の順序を変更しました。 Ubuntu 11.10まで気にしていたリンカに遭遇していなかったので、私が知らなかったライブラリをどのように指定すべきかという従来の順序があります。
SheepShaverのような他のエミュレータでも構築システムが適切に動作するはずです。匿名で、ビルドシステムがエミュレータをクラッシュさせると報告されました。ビルドシステムがミニvMacで動作していたかどうかのテスト(結果としてアーカイブがホストにエクスポートされるように)は十分ではありませんでした。
ビルドシステムは、Microsoft Visual C ++でMacintosh IIエミュレーションをコンパイルする際に生成された警告メッセージを表示しなくなりました。

スクリーンショット

mini-vmac-220691_1_220691.gif
mini-vmac-220691_2_220691.gif

開発者の他のソフトウェア Paul C. Pratt

Mini vMac
Mini vMac

4 May 20

へのコメント Mini vMac

コメントが見つかりません
コメントを追加
画像をオンにする!