HyperZebra
クラシックMacアプリ環境とHyperCardクローン
HyperCardのスタックを読み込んで、眺めたり、作ったり、動かしたりできるソフトです。あの頃のクラシックMacの68K・PowerPCアプリも、特別なROMやOSのインストールなしでそのまま動かせます。
macOS・Windows・Linux対応/無料。GitHub Releasesの配布ページが開きます。
HyperZebraは非公式の互換環境です。Apple Inc.とは一切関係がなく、同社による開発・承認・支援を受けたものではありません。
主な機能
-
HyperCardスタックを開く
昔のスタックをそのまま読み込み、カードをめくって眺めたり、HyperTalkのスクリプトや外部コマンドを動かして遊ぶことができます。
-
カラーと図形でもっと自由に
カラーペイントや自由度の高い図形ツール、パネル機能など、本家HyperCardにはなかった新しいアプローチでスタックを制作できます(画像は図形とHyperTalkで組んだゲーム「Neon Rift」)。
-
クラシックMacアプリを動かす
Mac OS 9以前の時代に親しまれた68K・PowerPCアプリを手元のパソコンで実行。面倒なOSのセットアップは一切いりません。
-
3Dゲームにも対応
QuickDraw 3DやOpenGLを用いた当時の3Dゲームも動作します。ウィンドウサイズや色数、動作速度はアプリごとに細かく調整可能です。
使いかた
- ダウンロードするGitHub Releasesからお使いのOS向けのファイルをダウンロードし、展開します。
- ファイルを開くアプリを起動してランチャーを表示させたら、使いたいスタックやアプリのファイルをウィンドウにドロップするだけです。圧縮ファイルやイメージファイルもそのままドロップするだけ。
よくある質問
機能の仕組みや気になる注意点をまとめました。項目を選ぶと回答が開きます。
はじめに
HyperZebraとは何ですか?
HyperCardのスタックを読み込んで閲覧・編集・実行できる環境と、クラシックMacのアプリケーションをモダンな環境で動かす互換レイヤーを一つにまとめたソフトウェアです。
対応しているOSを教えてください
Javaが動作する環境(macOS、Windows 64ビット、Linuxなど)に対応しています。macOS版とWindows版にはあらかじめJava実行環境が同梱されているため、別途インストールしなくてもそのままお使いいただけます。LinuxなどではJava 17以降の環境でjar版をご利用ください。
料金はかかりますか?
完全無料でお使いいただけます。ソースコードはMITライセンスのもと、GitHubで公開しています。なお、動かすスタックやクラシックMacアプリ自体の著作権や利用条件については、それぞれの作者様の規定に従ってください。
どうやってファイルを開けばいいですか?
起動後のランチャーにある「Open File…」から選ぶか、ウィンドウへ直接ファイルをドラッグ&ドロップしてください。一度開いたファイルは履歴からすぐに呼び出せるほか、よく使うものは下部のドックに登録しておくと便利です。
表示言語や画面のサイズは変えられますか?
設定からお好みの言語に切り替えられます。日本語・英語のほか、ドイツ語、フランス語、スペイン語、イタリア語、ポルトガル語、韓国語、中国語(簡体字・繁体字)に対応しています。また、カードやアプリの画面を拡大して表示することも可能です。
詳しいマニュアルはありますか?
アプリ内の「HyperZebra Help」にて、スタックの読み込み方法、各種編集機能、HyperTalkの拡張、Macアプリの互換性について日本語と英語で詳しく解説しています。ランチャーのHelpメニューからいつでもご覧いただけます。
古いMacのファイルを移行するときの注意点は?
クラシックMacのファイルには、データ本体のほかにプログラムや画像などを格納する「リソースフォーク」を持つものが多くあります。WindowsやLinuxへ移す際もこの情報が失われないようご注意ください。情報が欠けると、ファイルが正しく開けなかったり表示が崩れたりする原因になります。
HyperZebraでは、MacBinary形式、BinHex形式、あるいはリソース情報を保持した ._ファイル名 形式のファイルに対応しています。
HyperCardスタック
昔のHyperCardスタックはそのまま開けますか?
はい、当時のHyperCardスタックを読み込んで、カードや画像の表示、編集が行えます。日本語環境で作成されたスタックも文字コードを自動判別して正しく読み込みます。HyperTalkや外部コマンド(XCMD・XFCN)にも対応していますが、複雑なスクリプトや特殊な機能を使用している場合、スタックのつくりによっては完全に動作しないこともあります。
編集したスタックはどのように保存されますか?
HyperCardスタックを開くと、HyperZebra用の形式に変換され、元のファイルのすぐ隣にひとつの .hzb ファイルとして保存されます。次回からはこの .hzb ファイルを開く仕組みです。通常のファイルと同じようにダブルクリックで起動でき、ほかの人への共有やコピーも簡単に行えます(旧バージョンで作った .hzb もそのまま開けます)。
HyperCard形式への書き戻しも可能ですが、カラー表示などHyperZebra独自の機能は引き継がれませんので、元のスタックファイルと作業用の .hzb ファイルは大切に保管してください。
HyperCardにはない独自の機能はありますか?
- レイヤーをサポートしたカラーペイント機能
- カラー、グラデーション、透明度、回転などを設定でき、SVGの読み込みにも対応した編集可能な図形オブジェクト
- 複数の部品をまとめてデータやスクリプトを持たせられる「パネル」機能
- 内容を表や階層付きのアウトラインとして視覚化できるフィールド
- 配列・辞書型データを扱えるHyperTalk拡張、Webからのテキスト取得、JSON解析、正規表現のサポート
- アイコン、カーソル、サウンドなどを視覚的に編集できるリソースエディタ
スクリプトの記述やデバッグはできますか?
スクリプトエディタには、入力時のアシスト機能や豊富なリファレンス、処理を一時停止して変数の状態を追いかけられるデバッガを搭載しています。一行ずつステップ実行しながら、コードと画面の動きを丁寧に確認できます。
新しくどんなものを作れますか?
インタラクティブな絵本やクイズ、ちょっとしたゲームなどを自由に作ることができます。なお、作成したスタックを単体の実行ファイルに変換したり、Web用に書き出したりする機能は現在のところ備えていません。
クラシックMacアプリ
どのような仕組みでクラシックMacアプリを動かしているのですか?
68KおよびPowerPCのCPU命令をエミュレートしつつ、アプリが要求するMac Toolboxやシステムライブラリ(ウィンドウ描画、メニュー、サウンド、ファイル入出力など)の呼び出しを、HyperZebraが今のホストOS上で直接処理しています。いわゆる「OSごと丸ごと立ち上げる従来のMacエミュレータ」とは異なるアプローチをとっています。
MacのROMファイルやクラシックMac OSは必要ですか?
一切不要です。HyperZebra側で必要なシステム機能のエミュレーションを提供するため、OSのインストールディスクやROMイメージを用意しなくてもアプリケーションを単体ですぐ動かせます(※アプリの内容や仕様によっては、追加の機能拡張やライブラリが求められる場合があります)。
どんなアプリが動きますか?
Mac OS 9やそれ以前の時期にリリースされた、68K・PowerPC向けの各種アプリケーションが対象です。動作の精度や安定性はアプリのバージョンや依存する機能によって異なります。ハードウェアを直接叩くような低レイヤーの処理や、未対応のシステムコールを使うソフトではうまく動かない場合があります。起動できた場合でも、データの編集や保存周りは事前にテストしていただくことをおすすめします。
逆に動かないアプリはありますか?
Mac OS X(Carbon/Cocoa)以降を必須とするアプリは動作しません。また、システム機能の深い部分を書き換えるような古い機能拡張(Extensions)の多くも、仕組み上サポート対象外となります。
OSのバージョンは何と認識されますか?
実物のクラシックMac OSが稼働しているわけではありませんが、古いソフトにありがちな「OSのバージョン古すぎエラー」で起動が弾かれてしまうのを防ぐため、アプリからの問い合わせに対してはMac OS 9の最終バージョンである「9.2.2」と返答する仕様にしています。あくまで互換のための応答であり、OS 9の環境を完全再現しているわけではありません。
表示が小さすぎたり、色味やスピードがおかしいときは?
「アプリ個別設定」から、画面サイズ、カラーの階調、表示倍率、エミュレーションの実行速度などを柔軟に変更できます。設定はアプリごとに保存されるため、ゲームや実用ソフトなど、それぞれの性質にぴったりの環境にカスタマイズ可能です。設定を変更したときは、一度アプリを再起動してください。
当時の3Dゲームも遊べますか?
QuickDraw 3D、RAVE、OpenGL 1.2.1の互換機能を内蔵しているため、これらを利用したクラシックMac向けの3Dゲームにも対応しています。3D描画はすべてHyperZebra内のソフトウェア処理で行われるため、動作スピードはパソコンの性能やゲーム側の負荷に左右されます。
ムービーの再生はできますか?
動画の形式や仕組みによって挙動が異なります。標準デコーダでそのまま再生できるもののほか、ホストOS側のFFmpegや、互換環境内のQuickTime(Ver 4以下)の仕組みを借りて再生するものもあります。詳しくはアプリ内ヘルプをご参照ください。
今のパソコンとの間でコピペはできますか?
テキストや画像をホストOSのクリップボードと相互に行き来させることができます。対応する形式であれば自動変換され、設定によりUTF-8テキストやPNG画像として扱うことも可能です(アプリ独自フォーマットの扱いについては、それぞれのソフトの仕様に依存します)。
古いフロッピーやCDのディスクイメージは開けますか?
Disk Copy形式をはじめ、HFS、HFS Plus、MFS、ISOといった各種ディスクイメージに対応しています。読み取り専用のボリュームとしてマウントし、アプリから中身にアクセスできます。中のファイルを書き換えたい場合は、あらかじめ通常のフォルダに展開してからご利用ください。
StuffItなどの圧縮ファイルも扱えますか?
StuffIt、Compact Pro、LHAといった形式の圧縮ファイルは、ランチャーにドロップするだけで、HyperZebraのダウンロードパッケージ内に用意された当時の展開ツールが自動で働き、スムーズに解凍されます。
機能拡張やコントロールパネルは使えますか?
一部の互換性があるものについては利用可能です。HyperZebra内に仮想的な「System Folder」が用意されており、お好みの機能拡張や設定ファイルを配置できます。ただし、ソフトが内部で依存するAPIの実装状況によって、正常に動くものと動かないものがあります。
フォントを追加することはできますか?
はい。仮想「System Folder」の中にある「Fonts」フォルダに、対応するクラシックMac用のフォントスーツケースを入れることで認識されます。ビットマップフォントおよびTrueTypeフォントが利用可能です。古いフォントファイルを移行する際は、リソースフォークが失われていないことをご確認ください。
画面の見た目をカスタマイズできますか?
ウィンドウの装飾やスクロールバー、ボタンのデザインなどは、Kaleidoscopeのテーマを使ってお好みの見た目に変更することができます。
開発について
どのように開発されたのですか?
2012年頃に自身で書いていた古いHyperCardクローンのコードベースをベースに、AIにその後の実装を引き継いでもらいました。現在のコアな機能のほとんどは、AIによって開発されたものです。
どんなAIモデルが使われていますか?
開発の初期段階ではGPT-5.6 Solを、途中からは主にOpus 5やOpus 5.5をメインに使用しています。
開発はどのように進められましたか?
アイデアが浮かぶたびに機能をどんどん実装してもらうスタイルで進めました。大きな機能のときは、AIが無理なく実装できるサイズに細かくタスクを分割して順番にお願いしています。また、互換性を高めるためのストレステストとして、大量の古いHyperCardスタックやクラシックMacアプリを実際にAI自身に動かしてもらい、不具合を検証・修正させました。
ソースコードは公開されていますか?
GitHubのリポジトリにて、MITライセンスで全コードを公開しています。純粋なJavaで書かれているため、JDK環境さえあれば手元ですぐにビルド可能です。