HyperZebraでできること
HyperZebraには、HyperCardのスタックを扱う機能と、クラシックMacintoshのアプリを動かす互換環境があります。既存のスタックを読み込んで内容を見たり、カードやスクリプトを編集したり、対応するMacアプリを動かしたりできます。
HyperZebraはHyperCardの扱いやすさを引き継ぎつつ、カラーや図形、配列などを扱う機能を加えています。
スタックとアプリを、ランチャーから
起動すると、スタックやアプリを開くためのランチャーが表示されます。「Open File…」ボタンでファイルを選ぶか、ウインドウにファイルをドロップして開きます。
下部のドックにはよく使うアプリやスタックを登録できます。
設定からは日本語・英語の表示言語や拡大表示を変更できます。Macアプリについては、画面サイズ、色数、実行速度などをアプリごとに調整できます。
HyperCardスタックを読み込み、使う
HyperCardのスタックを開くと、HyperZebra用スタックに変換されます。
下の画面は、読み込んだ「Train Set」のスタックです。
変換されたデータは、元のスタックの隣に作られる .hzb ファイルに保存されます。次回からはこのファイルを開いて作業できます。
カードを編集する — カラーと図形
HyperZebraでは、既存のスタックを編集することも、新しいスタックを作ることもできます。ツールパレットでボタンやフィールドを配置し、ペイントの道具で絵を描きます。
編集例の「Neon Rift」では、ゲーム画面を開いたままツールパレット、カラーパレット、カード情報を表示しています。
ペイントに加えて、長方形、楕円、多角形、曲線、文字などを編集可能な図形として扱えます。図形には色やグラデーション、透明度、回転などを設定できます。Neon Riftは、こうした図形とHyperTalkを使って作られたゲームのサンプルです。
部品やデータをまとめる機能
複数の部品を「パネル」にまとめると、グループとして移動・表示を切り替えられます。パネルにはデータやスクリプトも持たせられます。また、フィールドの内容を表や階層のあるアウトラインとして表示したり、対応するSVGの要素を図形として読み込んだりできます。
HyperTalkで、カードに動作をつける
スクリプトエディタには、コマンドや関数を調べるリファレンスと、処理を途中で止めて変数を確認するデバッガがあります。一行ずつ処理を進めながら、画面の変化とコードの関係を確かめられます。
HyperZebraの拡張として、配列・辞書、Web上のテキストの取得、JSON、正規表現も扱えます。カード上の操作からデータ処理まで、同じスクリプトで記述できます。
クラシックMacアプリを動かす
HyperZebraには、クラシックMacintoshの68K・PowerPCコードを実行する互換環境も組み込まれています。
アプリが使うCPUの命令をエミュレートし、ウインドウ、メニュー、描画、音、ファイル操作などのMac Toolboxの機能をHyperZebraが提供します。クラシックMac OSを丸ごと起動する方式とは異なり、アプリを動かすための機能を実装しています。
通常のMacエミュレータとは異なり、ROMやOSなどは不要です。
3Dゲームも実行できます。
ホストOSとの間では、テキストや画像をクリップボードで受け渡せます。アプリごとの画面サイズ、色数、拡大表示、速度の設定もあり、それぞれのアプリに合わせて調整できます。
よくある質問
スタックの制作、Macアプリの実行、開発の経緯についてまとめました。質問を選ぶと回答が開きます。
HyperCardについて
これは何ですか?
HyperCardスタックを実行・編集する環境です。スタックのカードや画像を表示し、内容やスクリプトを編集できます。
どんなものを作れますか?
絵本、クイズ、簡単なゲームなどを作れます。作成したスタックを単独で動くアプリに変換する機能や、Webへ書き出す機能はありません。
昔作ったHyperCardのスタックを開けますか?
HyperCard形式のスタックを読み込み、カードや画像を表示し、編集できます。HyperTalkや外部コマンドにも対応していますが、互換性は完全ではなく、スタックが使う機能によって動作が異なります。
HyperCardにはなかった機能もありますか?
カラーのペイント、編集できる図形、グラデーション、SVGの読み込みなどに対応しています。部品をまとめる「パネル」、表や階層でデータを表示するフィールド、JSONや正規表現なども使えます。
編集したスタックは、どの形式で保存されますか?
HyperZebraでは、スタックを1つの .hzb ファイルとして保存します。ダブルクリックで開け、ほかの書類と同じようにコピーしたり送ったりできます。以前のバージョンで作った .hzb ファイルもそのまま開けます。HyperCard形式への書き出しもできますが、カラーなどHyperZebra独自の機能は引き継げません。元のスタックと作業用の .hzb ファイルを残しておいてください。
古いファイルを移すときに気をつけることはありますか?
クラシックMacのファイルには、通常のデータとは別に、画像や音などを持つ「リソースフォーク」が含まれることがあります。移す際は、この情報も一緒に保管してください。欠けていると、正しく開けなかったり、一部の内容が表示されなかったりします。
どのOSで使えますか?
macOS・Windows・Linux向けのJava製アプリです。Java実行環境を同梱したアプリ版では、Javaを別途インストールする必要はありません。
無料で使えますか?
HyperZebra本体は無料で利用できます。本体のライセンスはMITです。利用するスタックやクラシックMacアプリには、それぞれの利用・配布条件があります。
Mac互換レイヤーについて
Mac互換レイヤーでは何ができますか?
クラシックMac OS向けに作られた対応アプリを、今のパソコン上で実行できます。ウインドウ、メニュー、描画、音声、ファイル操作など、当時のアプリが利用するMacの機能をHyperZebraが今のOS上で提供します。
動いているOSのバージョンは?
クラシックMac OSそのものが動いているわけではありません。OSのバージョン判定によって起動できないソフトを減らすため、アプリからの問い合わせにはMac OS 9の最終バージョンである「9.2.2」と返します。これは互換性のための応答であり、Mac OS 9.2.2を起動しているという意味ではありません。
どのようなアプリが動きますか?
Mac OS 9や、それ以前のMac OS向けに作られた68K・PowerPCアプリが対象です。実際に動く範囲は、アプリのバージョンや利用する機能によって異なります。
どのようなアプリが動きませんか?
Mac OS Xを必要とするアプリは動きません。また、機能拡張の類は、仕組み上動かないものが多くあります。
どのような仕組みで動かしているのですか?
68K・PowerPCのCPU命令をエミュレーションし、アプリが呼び出すMac Toolboxやシステムライブラリの機能をHyperZebra側で処理します。CPUのエミュレーションと、アプリに必要なMacの機能を組み合わせた互換環境です。
MacのROMやクラシックMac OSのインストールは必要ですか?
必要ありません。HyperZebraがMacの機能を提供するため、クラシックMac OS全体を起動せずにアプリを実行できます。ただし、アプリによっては追加の機能拡張やライブラリが必要です。
アプリはどうやって起動しますか?
ランチャーからアプリのファイルを開くか、ランチャーにドラッグ&ドロップします。開いたアプリは履歴から再び起動でき、ドックに登録することもできます。
すべてのクラシックMacアプリが動きますか?
動作する範囲は、アプリやバージョン、使う機能によって異なります。未対応のシステム機能や、ハードウェアへの直接アクセスを必要とするアプリでは、起動や表示、操作に問題が出る場合があります。起動できるアプリでも、編集・保存などの機能は個別に確認が必要です。
今のパソコンと文字や画像をコピー&ペーストできますか?
テキストと画像を、ホストOSのクリップボードと受け渡せます。対応するテキスト・画像ファイルは変換して扱え、設定によりUTF-8のテキストやPNG画像として保存できます。アプリ独自の文書形式は、それぞれのアプリに依存します。
古いアプリのファイルを、そのままコピーして使えますか?
クラシックMacのファイルには、プログラムや画像などを収めたリソースフォークが必要なものがあります。WindowsやLinuxへ移す場合も、これを含めてコピーしてください。HyperZebraはMacBinaryや、リソース情報を保存した ._ファイル名 形式のファイルにも対応しています。
昔のフロッピーやCDのディスクイメージを開けますか?
Disk Copy形式や、HFS・HFS Plus・MFSなどの対応するディスクイメージを開けます。中身は読み取り専用のディスクとしてアプリから利用できます。内容を変更したい場合は、フォルダへ展開して使います。
機能拡張やコントロールパネルは使えますか?
一部の対応するものは利用できます。HyperZebraには仮想の「System Folder」があり、機能拡張や設定ファイルを置けます。必要とするシステム機能によって、動作するものと未対応のものがあります。
フォントを追加できますか?
はい。仮想の「System Folder」内にある「Fonts」フォルダに、対応するクラシックMac用のフォントスーツケースを入れると利用できます。ビットマップフォントと、スーツケースに含まれるTrueTypeフォントに対応しています。古いフォントをコピーする際は、リソースフォークも一緒に保管してください。
表示が小さい、色がおかしい、動作が速すぎる場合は?
「アプリ個別設定」で、画面サイズ、色数、表示倍率、実行速度などを調整できます。アプリごとに設定を保存できるため、ゲームや業務用ソフトなど、それぞれに合った環境で使えます。起動時に反映される設定を変えた場合は、アプリを起動し直してください。
3Dのゲームに対応していますか?
QuickDraw 3D、RAVE、OpenGL 1.2.1の互換機能を備え、これらを使うクラシックMacの3Dゲームにも対応しています。3D描画はHyperZebra内のソフトウェア処理で行います。動作する範囲や速度は、ゲームが使う機能とパソコンの性能によって異なります。
見た目を変更できますか?
ウインドウやスクロールバーやボタンの見た目はKaleidoscopeで変更できます。
ムービーの再生方法は形式によって異なります。標準のデコーダで再生できるもののほか、ホストOS側のFFmpegや、互換環境内のQuickTime(バージョン4以下)を利用するものもあります。詳しくはアプリ内ヘルプを参照してください。
開発について
どのようにして開発しましたか?
2012年頃に開発していたHyperCardクローンをもとにして、AIに続きを開発してもらいました。この続きの部分は、100% AIが開発しています。
使ったAIは何ですか?
最初はGPT-5.6 Solで、途中からは主にOpus5やOpus5.5を使用しました。利用したプランはChatGPTのPlusプランと、ClaudeのMax5です。
どのように開発を進めましたか?
思いついた機能を次々に実装してもらいました。大きすぎる機能は、AIが実装できる大きさに分割して、順番に進めてもらう程度です。また、互換性を高めるため、大量のHyperCardスタックやクラシックMacアプリをAIに実行してもらいました。
プロジェクトと関連資料
HyperZebraはJavaで実装され、macOS・Windows・Linux等のJavaが動く環境で動かすことができます。
アプリ内の「HyperZebra Help」では、スタックの読み込み、編集機能、HyperTalkの拡張、Macアプリの互換環境を日本語・英語で説明しています。ランチャーのHelpメニューから開けます。
- HyperZebraのリポジトリ ↗ソースコードとプロジェクトの資料。
掲載したスタックやアプリには、それぞれの作者による利用・配布条件があります。HyperZebra本体のライセンスとは別に扱われます。