
2026年、令和の今。
生成AIを使ってコードを書くのが当たり前になってきているらしいです。
人が一から実装するのではなく、「こういうものを作りたい」と伝えるだけでコードが生成される時代になってきているとか。
そんな流れもあるので、PC-98のプログラム経験がない管理人(C言語の経験もありません)がこの流れに乗ったら、「PC-98の開発もできるのでは?」と思い立ってしまいました。
しかも最近では「バイブコーディング」なる、ノリでコードを書くスタイルも流行っているとネットで見かけます。
なので今回は、自分で一から書くのではなく、AI(Codex)に丸投げしてみます。
環境はWSL上のUbuntu。
コンパイラはia16-elf-gcc。
そして完成したのは、PC-98実機で動く「Hello PC-98 World」。
本記事では、ChatGPT先生とCodexさんにお願いしながら、現代のPCからPC-98開発環境を構築し、実機でHello Worldを表示するまでの流れをまとめます。
環境の概要
今回の構成は以下の通り。
Windows 11(25H2)上に WSLで Ubuntu 環境を構築し、その中で Codex および ia16-elf-gcc というコンパイラを使用して PC-98 向けのプログラムを作成します。
その後、生成した実行ファイル(.exe)は、PC-98 実機またはエミュレーターに何とかして持っていき実行します。
Windows 11
└─ WSL(Ubuntu)
├─ Codex(AIでコード生成)
├─ ia16-elf-gcc(コンパイル)
└─ .exe生成
↓ (何とかして持っていく)
PC-98実機 / エミュレーターで実行
用意するもの
今回の環境構築で使用するものは以下の通り。
WSL
Windows上でLinuxを動かすための仕組みです。
これを使うことで、Windowsの中にLinux環境をそのまま作ることができます。
WSLはWindows 11の機能として標準で用意されており、追加費用なしで利用できます。
Ubuntu
WSL上で動かすLinuxディストリビューションです。
今回の作業は、このUbuntu環境の中で進めていきます。
こちらも追加費用なしで利用できます。
ia16-elf-gcc
16bit向けのコードを生成できるC言語のコンパイラです。
Linux上からMS-DOS用の実行ファイル(.exeや.com)を作成できるのが特徴です。
PC-98はMS-DOS環境のため、このコンパイラを使って実機で動作するプログラムを生成します。
本記事では、以下のページを参考に導入しています。
Unofficial port of GCC toolchain to 16-bit Intel x86 target : TK Chia
Codex
AIにコードを書かせるためのCLIツールです。
「こういうプログラムを作りたい」と指示することで、
コード生成・修正・ビルド手順の提案まで行ってくれます。
今回はこのCodexにほぼ丸投げして、Hello Worldのプログラムを作成します。
利用には、ChatGPTの有料プラン(Plusなど)への加入が必要です。
環境構築
WSLとUbuntuのインストール
以下コマンドを実行します。
WSLはWindows 11に標準機能として含まれていますが、初期状態では有効化されていない状態です。
以下のコマンドを実行することで、WSLの有効化とUbuntuのインストールをまとめて行うことができます。
wsl --install -d Ubuntu-24.04
その後、Ubuntuが起動し、ユーザー名とパスワードを設定すれば利用できるようになります。

今回は pi という管理者ユーザーを作成しています。
上記コマンドを実行後、下の画像もでます。
こちらは×ボタンで消しておきます。

nvmおよびNode.jsのインストール
ここで「nvm」と「Node.js」が出てきますが、Codexを動かすためにはNode.jsをインストールする必要があります。
今回は、Node.jsのバージョン管理ツールであるnvm(Node Version Manager)を使用して、Node.jsをインストールします。
nvmのインストール
以下のコマンドを実行します。
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.2/install.sh | bash

Node.jsのインストール
以下のコマンドを実行します。
source ~/.bashrc nvm install 22
"source ~/.bashrc" は、nvmのインストール後に設定を反映させるためのコマンドです。
これを実行しないと、nvmコマンドが使用できない場合があります。
"nvm install 22" でNode.jsをインストールします。

Codexのインストール
以下のコマンドを実行します。
npm install -g @openai/codex

Codexを実行する
Codex

Codexの認証
Codexを使うためのログイン方法です。
以下の意味みたいです。(よくわかってない)
1.ChatGPTアカウントでログイン
2.企業環境用
3.OpenAI APIキーを使う

ChatGPT Plus、Pro、Businessを使っている人は "1" を選んでおけばいいみたいです。
認証
Codexの認証で "1" を選ぶとブラウザが起動するので、ChatGPTのアカウントを入れ認証します。

ログイン成功
ログイン成功画面です。
"Enter" キーを押します。

安全なフォルダなのかの確認
"/mnt/c/Users/vaio/Desctop" フォルダが安全なのか聞いてきています。
Windowsのデスクトップ画面のフォルダなので、多分安全だと思いますので、1を選択したまま ”Enter” を押します。

仮に、デスクトップに "悪意あるコードが入ってる"もしくは "変なスクリプトがある" 場合は 2です!
Codexがそれを読んで危険な操作を提案する可能性があります。
Codexの画面
Codexのメイン画面です。

Codexの終了
以下のコマンドを実行し、Codexを終了します。
/q

ia16-elf-gcc のインストール
ia16-elf-gcc を WSL の Ubuntu にインストールします。
よって、WSL(Ubuntu)にログインした状態で以下のコマンドを実行します。
ソフトの配布元(リポジトリ)を追加
今回使用するUbuntuは決まった場所からしかソフトを入れられないので、 ia16-elf-gccの作者さんの配布場所(PPA)を追加します。
以下のコマンドを実行します。
sudo add-apt-repository ppa:tkchia/build-ia16

ソフト一覧の更新
以下のコマンドを実行します。
sudo apt-get update

コンパイラのインストール
gcc-ia16-elf を実際にインストールします。
以下のコマンドを実行します。
sudo apt-get install gcc-ia16-elf

Codexの作業用フォルダの作成
Codexの開発用フォルダを作成します。
今回はホームディレクトリ配下に「PC98」フォルダを作成します。
cd /home/pi/ mkdir ~/PC98 cd ~/PC98

環境構築は以上になります。
Hello Worldを作成する
実際にcodexを起動し、Hello Worldを作成してもらいます。
現在開いているターミナルは閉じた状態から始めようと思います。
WSLを実行する
ターミナルを起動し、以下コマンドでWSLを起動します。
wsl

Codexの作業用フォルダへ移動する
Codexの作業用フォルダへ移動します。
cd /home/pi/pc98

codexを実行する
codexを起動します。
codex

安全なフォルダなのかの確認
"/home/pi/pc98" フォルダが安全なのか聞いてきています。
”Enter” を押します。

確認後、codexが起動します。

codexにHello Worldを作成してもらう
以下文章をcodexに入力します。
"Hello PC-98 World"のプログラムを作成してください 環境は: - PC-98 MS-DOSで動く - gcc-ia16-elfを使用する - コンパイルまでして実行ファイルも作って

※お願いするコンパイラは gcc-ia16-elf でなく ia16-elf-gcc ですね
Codexさんが間違っていても意図をくみ取ってくれたようです
結果の確認
Windowsのエクスプローラーの左の "Linux" を選択し、Codexの作業フォルダ(/home/pi/pc98)に移動すると、"hello98.exe" を含む以下画像のファイルが作成されています。

ちなみに"hello_pc98.c" の中身はこんな感じでした。
#include <stdio.h>
int main(void)
{
puts("Hello PC-98 World");
return 0;
}
実機確認
家にある、PC-9821Ra43 で "hello98.exe" を実行したところ正常に動きました。

おわり
今回、Codexにほぼ丸投げという形で、PC-98実機で「Hello PC-98 World」を表示するところまで確認できました。
シンプルでお決まりのプログラムですが、まずは動かすことができたのは大きな一歩ではないでしょうか?
こういった進め方ができるのも、生成AI時代ならではだと感じます。
ちなみにChatGPT先生は
PC-98らしいこと、ここからが本番です。 ・640×400 グラフィック ・VRAM書き込み ・BIOS呼び出し どれをしますか?
みたいなことを "次のステップ" として提案してきました。
この子まじなの?本当にできるの?
気になります。
追記
PC-98とC言語の開発経験のない管理人(VB6とJavaをちょっとかじった程度)がChatGPT先生とCodexさんに頼んで "次のステップ" を頼んでみました。
成果
youtu.be
「PC-98でアドベンチャーゲームっぽいものを作ってほしい」と依頼したところ、漢字ROMから文字データを取得し、VRAMに書き込むところまで実装しれくれました。
機能としては、「外部テキスト文章でセリフ入力」、「選択」「分岐」「フラグ」「ジャンプ」の機能ありです。
「セーブ」と「FM音源」機能はついていません。
頼んだ感想ですが、少しでもコードを変更しようとすると、生成されたコードの動作をChatGPT先生に確認しながらでないと手を入れられない状況でした。
そのため、「言語を知らなくても作れる」というほど単純な話ではないと感じています。
おそらくC言語(とインラインアセンブラ?)は、バイブコーディングとの相性がよろしくないと思った次第です。
3回以上コードの戻しがありました。