**Quake(1997年版)をコンパイルする手順**

1. **ソースの取得**  
   * アーカイブやミラーサイトから元の `quake-1.32` タールボールをダウンロードします。  
   * 端末で次のコマンドを実行して解凍します。  
     ```bash
     tar xzf quake-1.32.tar.gz
     ```

2. **環境構築**  
   * C コンパイラ(gcc、clang)と標準ライブラリをインストールしてください。  
   * 現代のシステムで 32‑bit ビルドを行う場合は `gcc-multilib` 等が必要になることがあります。

3. **ビルド設定**  
   ```bash
   cd quake-1.32/src
   make -f makefile.q2 linux
   ```
   * `makefile.q2` は元々の Makefile です。Unix ライクな環境を想定しています。  
   * ターゲット `linux` を指定するとエンジンとクライアントがコンパイルされます。

4. **コンパイル**  
   ```bash
   make
   ```
   * すべてのオブジェクトファイルが `quake`, `qcommon` 等に結合されます。  
   * 警告は古いコード由来であることが多いため、通常は無視して構いません。

5. **インストール(任意)**  
   ```bash
   sudo cp quake /usr/local/bin/
   sudo mkdir -p /usr/share/games/quake
   sudo cp *.pk3 /usr/share/games/quake/
   ```
   * 元の `pak0.pk4` とカスタムマップを同じディレクトリに置いてください。

6. **起動**  
   ```bash
   quake +set fs_basepath /usr/share/games/quake
   ```

---

### 補足

* 64‑bit システムを使用している場合は、Makefile の `CFLAGS` に `-m32` を追加し 32‑bit コンパイルを強制してください。  
* 元のコードでは非推奨関数が使われているため、現代コンパイラでビルドする際には厳格な警告を無効化(例:`CFLAGS += -Wno-deprecated`)する必要があります。  
* マルチプレイヤーを行う場合は、専用サーバを起動し `quake +set sv_hostname "MyServer"` でホスト名を設定してください。

2026/02/09 2:11

**Quake(1997年版)をコンパイルする手順** 1. **ソースの取得** * アーカイブやミラーサイトから元の `quake-1.32` タールボールをダウンロードします。 * 端末で次のコマンドを実行して解凍します。 ```bash tar xzf quake-1.32.tar.gz ``` 2. **環境構築** * C コンパイラ(gcc、clang)と標準ライブラリをインストールしてください。 * 現代のシステムで 32‑bit ビルドを行う場合は `gcc-multilib` 等が必要になることがあります。 3. **ビルド設定** ```bash cd quake-1.32/src make -f makefile.q2 linux ``` * `makefile.q2` は元々の Makefile です。Unix ライクな環境を想定しています。 * ターゲット `linux` を指定するとエンジンとクライアントがコンパイルされます。 4. **コンパイル** ```bash make ``` * すべてのオブジェクトファイルが `quake`, `qcommon` 等に結合されます。 * 警告は古いコード由来であることが多いため、通常は無視して構いません。 5. **インストール(任意)** ```bash sudo cp quake /usr/local/bin/ sudo mkdir -p /usr/share/games/quake sudo cp *.pk3 /usr/share/games/quake/ ``` * 元の `pak0.pk4` とカスタムマップを同じディレクトリに置いてください。 6. **起動** ```bash quake +set fs_basepath /usr/share/games/quake ``` --- ### 補足 * 64‑bit システムを使用している場合は、Makefile の `CFLAGS` に `-m32` を追加し 32‑bit コンパイルを強制してください。 * 元のコードでは非推奨関数が使われているため、現代コンパイラでビルドする際には厳格な警告を無効化(例:`CFLAGS += -Wno-deprecated`)する必要があります。 * マルチプレイヤーを行う場合は、専用サーバを起動し `quake +set sv_hostname "MyServer"` でホスト名を設定してください。

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

記事では、歴史的なビルド環境を再現することで、元の1997年版 Windows‑32 Quake バイナリを最新のコンピュータ上で再構築する方法について説明しています。最初に、開発当時のハードウェアを紹介します:HP 712‑60 上で NeXT を動かし、DEC Alpha 2100A で DJGPP によってクロスコンパイルしたものから始まり、1996年6月に Intergraph RealizM Dual P6‑200MHz ワークステーションへ切り替わり Windows NT が実行されるようになりました。その後のバイナリ(winquake.exe, glquake.exe, qwcl.exe, qwsv.exe)は、Windows NT 上で Visual C++ 4.x を使ってコンパイルされています。

ガイドでは、再構築に適した四つの実用的な環境を列挙しています:オリジナルの Intergraph ハードウェア、デュアル・ペンチューム Pro ワークステーション(W6‑LI)、1990年代後半の「Quake PC」、または Oracle VirtualBox の仮想マシンです。手順としては、Windows NT 4 をインストールするところから始めます(約30分で完了し、起動時に CPU/RAM が表示されるが SMP には再インストールが必要)。その後、Visual C++ 6 を CD/Internet Archive から入手します(Windows 9X テーマ、解像度は ≤800×600 がベストで IntelliSense は無い)。

ソースコードは

q1source.zip
として Quake Official Archive からダウンロードし、WinRar v2.50 で展開します。「WinQuake.dsw」を VC++ 6 で開き、すべてのプロジェクトを再ビルドします。

初期のビルドではアセンブラ(

vcpp5.exe
)が見つからないため失敗します。解決策は
acmsetup.exe
を使って MDAC 2.5 をインストールし、その後に Processor Pack 用の
setupsp5.exe
を実行することです。この手順を踏めば再ビルドが成功します。再構築後は QuakeWorld をコンパイルして QSpy で実行でき、VC++ 6 のデバッグツール(ブレークポイント、スタックトレース、変数検査)を利用できますが、IntelliSense はありません。

この詳細なプロセスにより、愛好家や研究者は古いゲームビルドを保存し、互換性をテストし、モッド開発を行うことができ、元のハードウェアを必要とせずに最新プラットフォーム上で作業できます。

本文

2026年2月5日 – 1997年版クエイクのビルド体験を再現する


背景

  • 最初にリリースされたクエイク実行ファイル(
    quake.exe
    vquake.exe
    )は、NeXT 上で動作する HP 712‑60 でプログラムされ、DEC Alpha 2100A で DJGPP を使ってクロスコンパイルされました。
  • 1996年6月にタイトルをリリースした後、NeXT の開発環境が停滞していることを懸念し、id Software は開発スタックを Intergraph ハードウェア(Windows NT 上)へ切り替えました。 – ジョン・カーマック

その後のビルド(

winquake.exe
glquake.exe
、および QuakeWorld ―
qwcl.exe
/
qwsv.exe
)はすべて Windows NT で Visual C++ 4.X を使って開発・コンパイルされました。


再現対象の環境

選択肢説明
1Intergraph RealizM Dual P6‑200 MHz ワークステーション(手に入れるのは大変)
2デュアル Pentium Pro マシン(同様に手に入れづらい;W6‑LI なら可能)
3当時の典型的なラスト90年代 PC(元のクエイク PC とほぼ同じ)
4Windows 98 SE または Windows NT 4.0 を動作させる VirtualBox VM

上記4つを物理ハードウェアと VirtualBox の両方でテストしました。


Windows NT 4 のインストール

  • CD はブート可能です。インストールには約30分かかります。
  • NT のミニマル起動画面では検出された CPU(Windows 95/98 互換は1CPUのみ)と RAM が表示され、アニメーションはありません。
  • 2つ目の CPU を追加するには SMP システムをハンドリングできる HAL を取得するために再インストールが必要です。デュアル CPU マザーボードでも同様です。W6‑LI ではレギュレーターも必要になります。

Visual C++ 6 のインストール

  1. ダウンロード:通常は Internet Archive や winworldpc.com から取得します。
  2. UI は 640×480 / 800×600 を想定して設計されているため、1280×1024 では見づらくなります。
  3. Windows NT 4 が動作するマシンにインストールしてください。

ソースコードの入手

  • GitHub から取得したり FTP 経由で転送すると
    .dsw
    ワークスペースファイルが壊れます。
  • Quake Official Archive(Jason Brownless)から
    q1source.zip
    をダウンロードします。
  • WinRar v2.50 で解凍してください。

Visual C++ 6 への設定

  1. VC++6 を起動し、Open Workspace
    WinQuake.dsw
    を選択。
    • .dsp
      は単一プロジェクト、
      .dsw
      はワークスペースです。
  2. Rebuild All を実行してビルドします。
  3. アセンブリファイルが組み立てられない場合は VC++6 Processor Pack
    setupsp5.exe
    )をインストールします。
    • まず同フォルダ内の
      acmsetup.exe
      を実行。
  4. 再度
    setupsp5.exe
    を実行すると成功します。
  5. 再びビルドし、すべてがコンパイルできるはずです。

結果

  • QuakeWorld(QSpy 付き)もビルドして実行できます。
  • VC++6 は「定義へジャンプ」「ブレークポイント」「スタックトレース」「変数の検査」など、強力なデバッグ機能を提供します(IntelliSense は未搭載)。

参考文献

  1. ジョン・カーマックによる開発切替に関する声明。
  2. Jason Brownless の Quake Official Archive。

同じ日のほかのニュース

一覧に戻る →

2026/02/08 12:09

ご協力いただけるとのこと、ありがとうございます! 整えたいテキストをお送りください。すぐに丁寧に仕上げさせていただきます。

## Japanese Translation: ``` ## Summary Vouch は、貢献者がコードベースの設定可能な部分と対話する前に「証明(vouch)」される必要がある軽量なコミュニティトラスト管理システムです。また、明示的に「非承認(denounce)」を行うことでそのような対話をブロックできます。信頼関係は単一のフラット `.td` ファイル(Trustdown フォーマット)に保存されます。このファイルでは各行が1つのハンドルを保持し、オプションでプラットフォーム接頭辞(`platform:username`)と先頭マイナス記号が付けられたユーザーは非承認者として扱われ、その後に任意の理由が続きます。GitHub Actions は標準搭載の統合を提供します: - `check-pr` は `pull_request_target` で実行され、PR 作成者のステータスを検証し、未承認または非承認のプルリクエストを自動的に閉じることができます。 - `manage-by-discussion` と `manage-by-issue` は協力者がディスカッションやイシューコメントを通じて証明または非承認を行えるようにします。 Nushell CLI モジュールにより手動制御も可能です:`vouch add <user>`、`vouch denounce <user> [--reason] --write`、`vouch gh-check-pr <pr_id> --repo owner/repo`(ドライランまたは自動閉鎖)、および `vouch gh-manage-by-issue <pr_id> <comment_id> --repo owner/repo` などのコマンドがあります。ステータスチェックは終了コードを返します(`0 = vouched`、`1 = denounced`、`2 = unknown`)。 Vouch は任意のコードフォージで動作するよう設計されていますが、GitHub 統合がすぐに使用できる状態で提供されます。現在は実験段階であり、Ghostty プロジェクトによってテスト中です。このプロジェクトはコミュニティからのフィードバックをもとに機能を洗練しています。今後の計画としては、リポジトリ間で信頼リストをリンクし信頼ネットワークを構築すること、プラットフォームサポートの拡張、および自動化機能の強化が挙げられます。 *検証された参加を強制することで、Vouch は悪意ある貢献を減らし、コードレビューのワークフローを合理化し、安全なコラボレーションをオープンソースメンテナ、企業チーム、および広範なソフトウェア開発エコシステムに奨励することを目指します。``` ```

2026/02/09 6:52

米国におけるソーシャルメディア利用の変化 2020–2024:減少・断片化・極化 (2025)

## Japanese Translation: ## Summary: 本研究は、米国におけるソーシャルメディアの利用が縮小し、より断片化していることを示し、残存する活動の中で政治的に極端なユーザーが支配していると結論付けている。2020–2024年の全国代表データを分析した結果、プラットフォーム全体の利用率は減少し、対象者はやや高齢化し教育レベルも上昇しており、投稿活動が共和党ユーザーへと明確にシフトしている—特にTwitter/Xで顕著だ。既存研究では若年層と高齢層の両方で減少傾向が指摘されていたが、本稿は新しいデータを用いてそれらの発見を更新し、TikTokやRedditはわずかに成長しているものの、Facebook、YouTube、Xは市場シェアを失っていることを示唆している。予測される動向として、オンライン公共圏はより小規模で鋭く、極端な意見が支配するようになるとされ、一般ユーザーは離脱しつつも党派的声は依然として高いままである。この結果は、デジタル環境のさらなる分極化を招き、プラットフォームに広範なオーディエンスを維持する課題を投げかけるとともに、広告主や政治戦略家、民主的議論に関心を寄せる政策立案者にも影響を与える可能性がある。 ## Summary Skeleton **What the text is mainly trying to say (main message)** 本研究は、米国におけるソーシャルメディアの利用が縮小し、より断片化していることを示し、残存する活動の中で政治的に極端なユーザーが支配していると結論付けている。 **Evidence / reasoning (why this is said)** 全国代表性のある2020–2024年のANESデータは、全体的なプラットフォーム利用率の低下、やや高齢化し教育レベルが上昇したオーディエンス、および投稿活動が共和党ユーザーへとシフトしている—特にTwitter/Xで顕著だという事実を示している。 **Related cases / background (context, past events, surrounding info)** 以前の分析では若年層と高齢層の両方で利用減少が報告されており、本稿は新しいデータでそれらの発見を更新し、TikTokやRedditはわずかに成長している一方でFacebook、YouTube、Xは市場シェアを失っていることを指摘している。 **What may happen next (future developments / projections written in the text)** オンライン公共圏は小規模で鋭く、よりイデオロギー的に極端になると予測されており、カジュアルユーザーは離脱しつつも党派的声は依然として発言力を保っている。 **What impacts this could have (users / companies / industry)** ユーザーはより分極化したデジタル環境に直面し、プラットフォームは広範なオーディエンスの維持に課題を抱えることになる。トレンドは広告主や政治戦略家、民主的議論に関心を寄せる政策立案者にも影響を与える可能性がある。

2026/02/09 7:25

SGI O2 のプロンプトを逆解析する (原文: “Reverse Engineering the Prompt for the SGI O2”)

## Japanese Translation: > 著者は **`ip32prom-decompiler`** を開発しました。このツールは、SGI O2 マシンで使用されている 512 KiB の IP32 PROM を *ビット単位で同一* な MIPS アセンブリ (.S) ファイルに逆アセンブルし、ラベル、コメント、および関数境界を完全に含みます。 > > 各「SHDR」セクション(長さ・名前・バージョン・タイプフラグ(コード/メタデータ)・任意のメタデータ・2 つのチェックサム)を解析することで、ツールはファームウェアの 3 つのサブセクションを再構築します:`.text` は `0x81000000` に、`.rodata` は `0x81048e70` に、そして `.data` は `0x81054100` に配置されます。チェックサムアルゴリズムは 32‑ビット語全体の 2 の補数和であり、セクションデータと SHDR 自体の両方に適用されます。 > > 到達可能なコードを幅優先探索し、相対/絶対分岐、ジャンプテーブル、および構築されたアドレスに特別な処理を行うことで、バイナリ命令の約 **90 %** を回復します。可視化(XPM 画像)はコード、ヘッダー/チェックサム、ASCII データ、アクセス済みメモリ、nop パディング、および未知のバイトを色分けし、手動解析を支援します。また、コンパイラ遅延スロットによって導入された到達不能またはデッドコードが検出され、注釈付きで記録されます。 > > 逆アセンブルされたアセンブリは同一の ROM イメージに再構成でき、PROM 構造を完全に理解していることを確認します。ファームウェアがこれからゼロから再構築可能になったため、将来の CPU アップグレード(例:新しいプロセッサの導入)は SGI のサポートに依存せずに実行できるようになり、O2 の PROM が変更不可能であるという長年の制約を克服します。この成果は、ホビイストやレトロコンピューティング愛好者に対しても、レガシーファームウェアのリバースエンジニアリング手法として信頼性の高い方法を提供します。 *この改訂版サマリーは、リストからすべての主要ポイントを取り入れつつ、曖昧または推測的な表現を排除して明確に保っています。*

**Quake(1997年版)をコンパイルする手順** 1. **ソースの取得** * アーカイブやミラーサイトから元の `quake-1.32` タールボールをダウンロードします。 * 端末で次のコマンドを実行して解凍します。 ```bash tar xzf quake-1.32.tar.gz ``` 2. **環境構築** * C コンパイラ(gcc、clang)と標準ライブラリをインストールしてください。 * 現代のシステムで 32‑bit ビルドを行う場合は `gcc-multilib` 等が必要になることがあります。 3. **ビルド設定** ```bash cd quake-1.32/src make -f makefile.q2 linux ``` * `makefile.q2` は元々の Makefile です。Unix ライクな環境を想定しています。 * ターゲット `linux` を指定するとエンジンとクライアントがコンパイルされます。 4. **コンパイル** ```bash make ``` * すべてのオブジェクトファイルが `quake`, `qcommon` 等に結合されます。 * 警告は古いコード由来であることが多いため、通常は無視して構いません。 5. **インストール(任意)** ```bash sudo cp quake /usr/local/bin/ sudo mkdir -p /usr/share/games/quake sudo cp *.pk3 /usr/share/games/quake/ ``` * 元の `pak0.pk4` とカスタムマップを同じディレクトリに置いてください。 6. **起動** ```bash quake +set fs_basepath /usr/share/games/quake ``` --- ### 補足 * 64‑bit システムを使用している場合は、Makefile の `CFLAGS` に `-m32` を追加し 32‑bit コンパイルを強制してください。 * 元のコードでは非推奨関数が使われているため、現代コンパイラでビルドする際には厳格な警告を無効化(例:`CFLAGS += -Wno-deprecated`)する必要があります。 * マルチプレイヤーを行う場合は、専用サーバを起動し `quake +set sv_hostname "MyServer"` でホスト名を設定してください。 | そっか~ニュース