TinySol: 3KBのクロンダイク・ソリティア、あらゆるDOSマシンで動作
TinySolは、x86アセンブリで書かれた小さなクロンダイク・ソリティアで、3KBに収まり、IBM 5150からPentiumまであらゆるマシンで動作します。レトロ最適化の教科書であり、ソフトウェアは小さくても機能的であり得ることを思い出させてくれます。
TinySol(旧MonoSol)は、ビンテージコンピュータ、特にモノクロディスプレイ向けに設計された無料のクロンダイク・ソリティアゲームです。x86アセンブリで書かれ、NASMでアセンブルされ、わずか3KBに収まり、8086以上のあらゆるPCで動作します。開発者の目標は、GRiDガスプラズマディスプレイの640×400×2モードでシャープに見え、ROMに問題なく組み込めるほど小さいゲームを作ることでした。
このゲームは、キーボードとマウス入力、ゲーム内の状態保存/復元(アンドゥ)、ディスクへの保存/読み込み、可能な場合の自動完了、タイマーなしのMicrosoft式スコアリングをサポートしています。F1〜F4キーでビデオモードをその場で切り替え、AT&T 6300モードを除いてディスプレイを自動検出します。AT&T 6300モードは特定のGRiDコンピュータでのみ自動選択されます。
互換性とテスト
TinySolは、IBM 5150(8088、640KB、CGA、MS-DOS 3.30)、GRiDCase 1520(286、CGA/ATT)、Pentium 233 with VGAなどの実機でテストされています。また、DOSBoxを含むエミュレーション環境でも動作し、64KB RAMとMS-DOS 2.0のエミュレートされた8086でも動作します。
特筆すべき点として、人気のDOSマウスドライバであるCuteMouseはAT&T 6300ビデオモードをサポートしていません—マウスは動作しますがカーソルが表示されません。開発者は代わりにMicrosoft Mouseドライバv6でテストしました。DOSBoxはマウスドライバが統合されているため不要です。
バージョン履歴とコミュニティ
バージョン1.0は2022年3月にリリースされました。v1.1ではエンディング画面と最適化が追加されました。v1.2ではスコアリング、ファイルへの保存、自動完了が導入されました。2026年5月にリリースされたv1.3では、複数のビルド(フル、メッド、タイニー、マイクロ)が提供され、最初にVintage Computer Festival Southwest 2026でハードコピーとして配布されました。
このゲームには小さくても熱心なファンがいます。ユーザーの一人、Josephは、キーボードだけで動作し、一度に3枚のカードを引くDOSクロンダイクゲームを探していたとメールで伝えました。開発者はまた、Óscar Toledo G.(nanochess.org)から支援を受け、彼がInt 10hを呼び出す前に方向フラグをクリアすることで解決されたVirtualBox for Macでのスプライト描画問題を特定しました。
TinySolは、タイトなアセンブリコードと互換性への明確な焦点で可能になることを証明しています。これは単なるゲームではなく、ターゲットとするハードウェアの制約を尊重するソフトウェアエンジニアリングの一例です。
TinySolは、タイトなアセンブリコードと互換性への明確な焦点で可能になることを証明しています。
| 名前 | INT 10hモード | 解像度 | キー |
|---|---|---|---|
| CGA | 06h | 640x200x2 | F1 |
| AT&T 6300 | 40h | 640x400x2 | F2 |
| EGA | 10h | 640x350x16 | F3 |
| VGA | 12h | 640x480x16 | F4 |