このページの内容

Awesome DOS

DOSを扱う資料や関連プロジェクトをまとめたAwesomeリストです。

目次

開発ツール

  • bcc - Bruce’s C Compiler - tiny/small メモリーモデル用の 8086 アセンブラーを生成する、シンプルな C コンパイラー。
  • DJGPP - Intel 80386 向けの DJ Delorie による完全な32ビット C/C++ 開発環境。Quake で使用されました。
  • GCC IA-16 toolchain - DJGPP の16ビット版に相当する GCC ベースのツールチェーン。16ビット(8086〜80286、別名 IA-16)DOS アプリケーションを開発でき、現在は TK Chia が保守しています。
  • Insight - Borland Turbo 風 UI を備えた、リアルモード DOS プログラム向けの非常に小さなデバッガー。i80486 ディスアセンブラーと i8086 アセンブラーを搭載。
  • Open Watcom - 以前は商用だった16・32ビット DOS および Windows 向け C/C++ 開発環境。現在の公式版は1.9で、GitHub フォークもあります。Doom I-II、Warcraft I-II、Duke Nukem 3D、Full Throttle、Dark Forces、Retro City Rampage で使用されました。
  • Open Watcom V2 - 活発に保守され、64ビット Windows と Linux に移植された GitHub フォーク。
  • Turbo C 2.01 - Borland が1987年に初公開した C IDE とコンパイラー。
  • Turbo C++ 1.01 - Borland が1991年に公開した C++ IDE とコンパイラー。
  • Turbo C++ 3.0 - Borland が1992年に公開した C++ IDE とコンパイラー。
  • DIV Games Studio 2 - 2D、Mode 7、3D の DOS ゲームを開発する IDE。1998年公開。
  • T3X - Nils M. Holm による、小型で移植可能な手続き型・ブロック構造・再帰対応・ほぼ型なしで、ある程度オブジェクト指向のプログラミング言語。
  • SmallerC - Alexei A. Frounze による、リアル/プロテクトモード DOS プログラムを含む複数プラットフォーム向け実行ファイルを生成できる、移植可能なセルフホスト C コンパイラー。
  • Small-C Toolkit - K&R C コンパイラー、Make、リンカー、アセンブラーを備えた DOS(8086)向けセルフホスト Small-C Compiler Toolkit。Jim E. Hendrix が1982年に初公開。

メモリーマネージャー

  • 386MAX - 386以上の CPU を搭載した DOS PC 向けメモリーマネージャー。Qualitas が1992年に公開し、2022年6月に GPL-3.0 でソースコードが GitHub 公開されました。

DOS 向けスクリプト言語とインタープリター

  • DOjS - MS-DOS、FreeDOS、または DOS ベースの Windows(95、98、ME)向け JavaScript プログラミング環境。
  • Lua for DOS - Intel 80486 上の MS-DOS 用にコンパイルされた Lua 5.3.5 のオンラインデモ。
  • Micropython for FreeDOS - micropython 向け FreeDOS アドホックモジュール。
  • perldos - DOS 向け Perl。
  • PythonD - マルチスレッド、ネットワーク、OpenGL を含む DOS 向け Python。

チュートリアルとプログラミング資料

歴史

コンパイル

全般

DOS API

  • Digital Mars による bios.h ヘッダードキュメント - BIOS 操作へ直接アクセスするルーチン(ディスク、キーボード、プリンター、時刻、メモリー、シリアル、割り込み)の API ドキュメント。
  • Digital Mars による dos.h ヘッダードキュメント パート1 パート2 - DOS オペレーティングシステム自体と連携する関数の API ドキュメント。

割り込み

メモリー

映像

  • 標準ビデオモードの値 - BIOS 割り込み番号、テキスト/ピクセル解像度、色数、ビデオメモリーアドレスを含む既知のビデオモード一覧。

CGA

  • Color Graphics Adapter: Notes - IBM オリジナル CGA のハードウェア、メモリーマップ、レジスター I/O、互換ハードウェアを説明する文書。

VGA

SVGA

サウンド

PC Speaker

AdLib/OPL2

Sound Blaster/OPL3

その他

書籍

無料

有料

  • Tricks of the Game-Programming Gurus - Andre Lamothe、John Ratcliff、Denise Tyler - DOS ゲーム開発を始めるための包括的な書籍。キーボード、マウス、ジョイスティック入力、2D・3D VGA、レイキャスター、サウンドと音楽、ゲームアルゴリズム、割り込みサービスルーチン(ISR)、タイマー、AI、シリアルポートとヌルモデムによるネットワーク対戦、ツール、視差スクロール、最適化を扱います。
  • More Tricks of the Game Programming Gurus - Greg Anderson - Tricks of the Game Programming Gurus の続編。SVGA、Binary Space Partition(BSP)、UI、ボクセルグラフィックス、リアル/プロテクトモードのメモリー管理、高度なサウンド、デバッグ、最適化を扱います。

動画

ソースコード

オープンソースの DOS オペレーティングシステム

  • MS-DOS - Microsoft がオープンソース化した MS-DOS v1.25、v2.0、v4.0 のオリジナルソースコードリポジトリ。
  • FreeDOS - 古典的 DOS ゲーム、旧式業務ソフト、組み込みシステム開発に使えるオープンソースの DOS 互換 OS。MS-DOS で動くプログラムは FreeDOS でも動作するはずです。

オープンソースの DOS ライブラリ

  • Allegro 4.2 - DOS、Windows、Linux 向けゲーム開発ライブラリ。4.2版は DOS に対応。
  • LoveDOS - Lua で2D DOS ゲームを作るフレームワーク。LÖVE API のサブセットを基盤とします。
  • DOS-VGA-Game - Marco A. Marrero がアセンブリーと Turbo Pascal で実装した DOS VGA/ハードウェアライブラリ。
  • DIGPAK sound drivers source code - John W. Ratcliff が GitHub に公開した DIGPAK サウンドドライバーのオリジナルソース。

オープンソースの DOS ゲーム

ソースコード付き Homebrew ゲーム

Homebrew DOS ゲームの全リスト:http://www.doshaven.eu

  • DOS Defender - Christopher Wellons が Ludum Dare #31 向けに作成した x86 リアルモード DOS の Asteroids クローン。
  • Dungeons of Noudar - プロテクトモードの一人称2.5Dダンジョンクローラー。C++製で、ソフトウェアレンダリング、固定小数点演算、テスト、サウンド(PC Speaker、Adlib、OPL2LPT)を搭載。
  • Emeritus Pong - DOS、Windows、Linux 向け Pong クローン。DOS では PC Speaker を使用。
  • Floppy Bird - 16ビットアセンブリー製 Flappy Bird クローン。DOS プログラムではなく PC-Booter アプリですが、DOS 用 COM 実行ファイルもビルドできます。
  • George M. Tzoumas の MS-DOS ゲーム・ユーティリティ集 - 主に Turbo Pascal、一部 C/C++ 製。Nibbles、Connect Four、Ms Pacman クローン、アーケード/プラットフォームゲーム2作を収録し、ra2 は Allegro 製。ユーティリティは Turbo Pascal 製で、ゲームシステムルーチン、ファイル/ディスク、TSR を含みます。
  • Gold Mine Run! - DJGPP を使って C で書かれたプラットフォーマー。
  • Gridfighter 3D - QuickBasic 製の1980年代風アーケードシューティング。Oculus Rift VR に対応した最初の既知の DOS ゲームでもあります。
  • Hangman - BASIC 製ハングマンクローン。80286以上で動作し EGA を使用。
  • Magenta’s Maze - 代数学を題材にした CGA グラフィックスの3D迷路ゲーム。
  • Mario - Turbo Pascal 製 Super Mario Bros クローン。
  • NetHack - 1987年に初公開され、複数プラットフォームで利用できるオリジナルの NetHack ローグライクの後継。
  • Piskworks - C 製五目並べクローン。DOS、ZX Spectrum、ZX81、ZX80、APPLE1、AS400、Windows で動作。
  • Plutonium Caverns - C 製の見下ろし型パズルゲーム。Web 版は Emscripten 移植の DOSBox を使って HTML5 に埋め込み。オリジナル実行ファイルもダウンロードでき、Open Watcom でビルドできます。
  • Ptakovina - C 製 Tetris クローン。DOS、Unix/Linux、ZX Spectrum、Windows で動作。
  • sudoku86 - C 製 Sudoku クローン。8086/8088 CPU、CGA/MCGA/VGA、マウスに対応。
  • Tetris - アセンブリー製 Tetris クローン。
  • Towers of Hanoi - Turbo Pascal で書かれ、1996年に初公開されたハノイの塔パズルゲーム。
  • x86 pong - C 製テキストモード Pong クローン。PC-Booter と DOS の両方で動作。
  • zmiy - C 製テキストモード Snake クローン。8086 DOS で動作。

ソースコード付き Freeware ゲーム

  • Cyberdogs - 傭兵として資金を稼ぐ見下ろし型2Dシューティング。Turbo Pascal 製で2人プレイ対応。

ソースコードが公開された商用ゲーム

  • Abuse - SF 横スクロールプラットフォームゲーム。革新的なカルトクラシックとされ、最大1280x1024の SVGA に対応。C 製で Lisp スクリプトエンジンを内蔵。
  • Beneath a Steel Sky - ディストピアの未来を舞台にしたポイント&クリック式アドベンチャー。アセンブリー製。
  • Catacomb - Softdisk(後の id Software)が開発した見下ろし型2Dシューティング。EGA/CGA 対応で Turbo Pascal とアセンブリー製。
  • Catacomb 3D - Softdisk(後の id Software)によるファンタジー一人称シューティング。レイキャスティングによる疑似3D、EGA に対応。C とアセンブリー製で Borland C++ 3.1 を使用。
  • Commander Keen in Keen Dreams - id Software 開発の横スクロールプラットフォームゲーム。Keen 3 と Keen 4 の間に作られた(「Keen 3.5」とも呼ばれる)ものの広く公開されなかった作品。C とアセンブリー製。
  • Descent - 完全な真の3Dグラフィックスを初めて採用した SF FPS/宇宙シューティング。C とアセンブリー製。
  • Descent II - Descent の続編。C とアセンブリー製。
  • Doom - 火星で地獄の悪魔と戦う id Software 製 SF FPS。ライセンスされた DMX サウンドライブラリへの依存により DOS 固有コードは公開できず、整理された Linux ソースのみがあります。Heretic と Hexen には DMX 関連コードを除去したオリジナル DOS コードが含まれます。
  • Duke Nukem 3D - 象徴的な Duke Nukem を主役とする Apogee 製 FPS。C 製で Watcom C/C++ 10.0 を使用。
  • Heretic - id Software の Doom エンジンで動くダークファンタジー FPS。
  • Hexen: Beyond Heretic - Heretic の間接的続編。
  • Hovertank 3D - id Software が Catacomb 3D と Wolfenstein 3D より前に開発した FPS。レイキャスティングによる疑似3D。C とアセンブリー製。
  • Quake - 完全な3D世界を舞台にした id Software 製 FPS。C で書かれ、DOS 用には DJGPP でコンパイル。
  • Rise of the Triad: Dark War - Apogee 製 FPS。Wolfenstein 3D の後継として開発された後、独立作品へ変更。大幅に改変した Wolfenstein 3D エンジンを使用し、C 製。
  • Sopwith - David L. Clark が1984年に制作した横スクロールシューティング。Sopwith 複葉機を操縦し、敵機などを避けながら敵の建物を爆撃します。
  • Wolfenstein 3D - ナチス・ドイツの Castle Wolfenstein 刑務所を舞台にした id Software 製 FPS。レイキャスティングによる疑似3D。C とアセンブリー製。

ドライバーとエミュレーター

サウンドカードエミュレーター

  • SBEMU - 現代の PCI ベース(オンボード/増設)サウンドカードを使い、純粋な DOS で Sound Blaster と OPL3 をエミュレートする TSR。リアルモードとプロテクトモードのゲームに対応。
  • VSB - SBEMU のフォーク。現代の PC ハードウェアでリアルモード/プロテクトモード両方の Sound Blaster エミュレーションを提供することを目指します。