2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PC-8001の使い方を勉強してみよう

Last updated at Posted at 2025-12-20

はじめに

この記事は 名工大AdventCalendar2025 19日目の記事です

こんにちは.DASです.
19日目という事でね,張り切っていきましょう.
え?もう20日目だって?それはほんまにすまん

今回取り扱うのはこれ!! PC-8001です!
1000007505.jpg

こちらは以前,心優しい方から譲っていただいたものです.
この使い方について,PC-8001が現役だった当時を生きた偉大なる先人の方々がインターネットの大海に放流してくださった知識をあれやこれやとつまみ食いして勉強してきました.
その備忘録も兼ねまして,こちらにまとめます.

PC-8001とは?

1979年にNECより発売された8bitコンピュータで,「パーソナルコンピュータ」を謳っていました.本体の銘板にも誇らしげに書かれていますね.
1000007506.jpg

今や一人一台コンピュータというのは当たり前の時代ですが,そういった個人が所有できるほどに小型で低価格なコンピュータは1970年代半ばのアメリカでようやく登場したのです.
そういったコンピュータは当時マイコン(マイ・コンピュータ/マイクロコンピュータ)と呼ばれていましたが,PC-8001はアメリカ企業に遅れること数年,ついに発売された国産最初期のマイコンの一つだったのです.
また,PC-8001はPC-9821シリーズまで続くNEC製パーソナルコンピュータの元祖でもあります.

PC-8001の表現能力は当時の水準では高かったと言えます.しかし,コンピュータの進化速度は目覚ましく,数年のうちに陳腐化します.
画面解像度は160×100,音声はビープ音のみ,カラーは8色(黒,青,赤,紫,緑,シアン,黄,白)表示できます.
今から見れば限られた表示能力ですが,これらを駆使してドアドアをはじめとした様々なゲームが制作・移植されました.

周辺機器の下準備

前置きがだいぶ長くなっちゃいましたね.
本題に移っていきましょう.
こちらの章については内藤時浩様のブログが参考になると思います

実機を用いる場合

キーボードは本体と一体ですので,用意する必要はありません.
しかし,出力装置(ディスプレイ)は用意する必要があります.
また,補助記憶装置(ストレージ)を持たないため,プログラムを保存したいなら外部メディアを用意する必要があります.

ここで背面の端子を見てみましょう.
1000007509.jpg

出力端子の構成はこのようになっています.ミニDINではなく,DINであることに注意しましょう.

カセットテープレコーダ 白黒ディスプレイ カラーディスプレイ その他
DIN 8PIN DIN 5PIN DIN 8PIN 独自端子

カセットテープレコーダ?なぜ?という疑問には後でお答えします.

接続用のケーブルは秋葉原だとかの電気街に行けばあるかもしれませんが,基本的には以下の方法で入手することになると思います.

  • オークションサイトに張り付いて落札する
  • 自作
  • 互換性のあるケーブルを購入する

手先の器用さに自信があって,はんだごてを用意できる方は,自作するのもよい手かもしれません.
DINオス端子は千石電商やマルツの通販で購入できます.ピンの配置に注意しましょう.映像用にはVGA端子,カセットテープレコーダ用出力には3.5mmミニプラグを用意してください.

先人の皆様が方法を公開してくださっているので,そちらを参考にするとよいと思います.

(調べてたら16連射で有名なあの高橋名人のブログが出てきた.びっくり.)

ディスプレイ

カラーディスプレイ用に,DIN8PIN->VGAケーブルをクラシックPC研究会様が販売しています.

ケーブルを入手しても安心はできません.
今出回っている普通のPC用ディスプレイやテレビでは正しく表示できないのです.
なぜならば,出力される映像信号は水平同期周波数が15kHzでそういったディスプレイは対応していないからです.

ただ,2010年代初めくらいまでは15kHz信号に対応するディスプレイは普通にありましたし,現在でもこういった需要のために15kHz信号対応のディスプレイが一部で出回っているようです.

また,アップスキャンコンバータといって映像信号の周波数や解像度を変換してくれる機器もあります.

そのほかに,現役だった当時からある手法としてRFスイッチを使ってブラウン管テレビに写すこともできます(ファミコンと同じ手法ですね)

よって,ディスプレイを用意するとき,以下の選択肢を取ることになるでしょう.

  • 15kHzの信号を表示できるディスプレイを用意する
  • アップスキャンコンバーター + 普通のディスプレイ
  • ブラウン管テレビ+RFスイッチ

データ保存機器

さて,データやプログラムの保存ですが,一番簡単な方法は全部紙に書き出す方法です.
ふざけているわけではなく,実際に当時の雑誌を見てみるとマシン語やBASICプログラムがそのまま印刷されています.

そんなのやってらんないよ,という場合にはカセットテープレコーダに接続するのが簡単な方法だと思います.PC-8001はバイナリを音声データに変換してカセットテープに記録する方式を標準としています.
発売当時,フロッピーディスクとそのドライブは高価でしたが,カセットテープは媒体・レコーダともに比較的安価で出回っていたのです.PC-8001含め,同時代のマイコン向けソフトにはカセットテープ媒体のものがたくさんあります.

他にも,改造してSDカードを読ませる,純正周辺機器のFDDやミニディスク(もしくはその互換)を用いるといった方法もありますが,工作技術が必要だったり,入手が困難だったりするので割愛します

先述のように接続は DIN8ピン->3.5mmミニプラグ ケーブルで行います.
CMTケーブルってやつですね.
このプラグをPCのLINE IN/ LINE OUTに接続し,audacityなどで読み書きを行うのが一つの手だと思います.
以前,「普通のテレコでもできるよ」と教えていただきましたがまだ試せてないです.

エミュレータを用いる場合

この場合,お使いの周辺機器を使えます
......ROMデータさえ用意できれば.

エミュレータはあくまでもハードの動作を再現しているだけで,本体のROMに書き込まれたBASICインタープリターやフォントデータといった動作に必要なデータはありません.
従って,実機からROMのデータを吸い出して著作権に触れない範囲で利用するか,頑張って互換性のあるプログラムを書くしかありません.

ROMデータ吸出しが最も現実的であると思われます.(そうすると,結局一旦はディスプレイやCMTケーブルを用意しなければいけませんね)
この方法についてはHAL8999様がまとめてくださっています.

要約すると,メモリの0000番地から5FFF番地に読み込まれている内容を取り込むということです.

起動後の操作

ここまで準備が出来たら本体の背面にあるスイッチをオン!

welcome_pc8001.png
WELCOME!!

さて,画面に表示されている通り,スイッチを入れるとN-BASICというBASICのインタープリターが立ち上がります.
このままBASICのプログラムを入力してすぐ実行できるのです.

背面のリセットボタンを押すと、すべての入力や読み込まれたデータは文字通りリセットされます

なお,私がそれほど熟練していないのもありますが,この記事ではN-BASICとマシン語の文法は解説しません.

キー入力

BASICを打ち込む前にキー入力がどうなっているか知らなければいけませんね.
といっても,英数・かな配列は今と変わりません.
英数字入力についてはそのまま打てばよいです.
シフトを打ちながら打てば大文字・記号が打てるというのも今と変わりません.
少し違うのは入力モードの切替と,特殊キーです.
PC-8001には英数・カナ・グラフキー入力モードがあります.

このあたりは,kzn様がnoteで詳しく解説されておりますので,キーレイアウト等はこちらをご参照ください.

特殊キー

  • ESC, CTRL, SHIFTキー
    言わずもがな.今と変わりません.
    CTRL+Gでビープ音を鳴らせます.

  • STOPキー
    プログラムを中断するキーです.
    ESCキーでの一時停止と異なり,完全にストップします.
    AUTOコマンドによる行番号自動入力やLISTコマンドによる出力をストップする時もこれを使います.
    なお,CTRL+Cでも同じ操作ができます.

  • RETURNキー (テンキーではRET)
    今でいうEnterキーと同じです.

  • DEL/INSキー
    そのまま押せば今のBackSpaceのように左隣の文字が削除(DEL)されます(CTRL+Hでも可).
    SHIFTを押しながらだと,空白を挿入(INS)します(CTRL+Iでも可).
    INS_empty.png
    今のパソコンでInsertキーを押した時のようにカーソルの当たっている部分を入力文字で書き換える挙動をするので,入力文の途中に文字を入れ込みたいときは空白を挿入してから文字を入力する必要があります.

  • CLR/HOMEキー
    そのまま打てば画面上の入力がすべて消えます(CLR).なお,CTRL+Lでも同じ操作ができます.
    SHIFTを押しながらだと,カーソルが画面の左上に戻ります(HOME).なお,CTRL+Kでも同じ操作ができます.

  • 矢印キー
    カーソル移動を行うキーです.
    左右方向と上下方向の移動をそれぞれ一つのキーでまとめて,方向はSHIFTキーで切り替える方式になっています.
    そのまま打つと左右キーなら→,上下キーなら↑,シフトキーを押しながらだとそれぞれ逆方向に動きます.
    今だと4方向それぞれ別々のキーですけどね.

  • F1~F5キー
    よく使うコマンドなどを入力してくれるキーです.
    起動画面下部に白抜きで書かれている5個のコマンドが対応しています.

    • F1: タブを挿入(CTRL+Iでも可)
    • F2: AUTOコマンド自動入力
    • F3: GO TOコマンド自動入力
    • F4: LISTコマンド自動入力
    • F5: RUNコマンド自動入力+改行

    コマンド自動入力としているのは,あくまで文字列が入力されるだけでRETURNキーを押さなければ実行されないからです.
    なお,F5は改行も自動入力されます.

  • カナキー
    カチッと音が鳴るまで押し込むとカナ入力モードに変わります.
    ロッキング機構がついているので,小指が疲れません.
    なお,入力できるのは今でいう半角カタカナのみです

  • GRPHキー
    これを押し込みながら入力するとグラフ(図形)入力モードに変わります.
    ゲームなんか作るときはこれを駆使することになりますね.

print_katakana.png
英数入力,カナ入力とグラフキー(年,月,日)を組み合わせてこんな入力ができます.

BASIC, コマンド入力

いくつかのコマンドを抜粋して紹介します.

より詳細な部分はこちらのXEVI様のサイトを参照ください.

また,fjk様が作成されたドキュメントも参照ください.
Taro-PC8001 N-BASIC リファレンス

先述のように,PC-8001を起動するとN-BASICのインタープリターが起動します.
従って,行番号を挿入せずに入力したBASIC命令文はRETURNキーを押すと即時実行されます.
逆に,行番号を付けると一旦バッファリングされます.

入力文字は文字列でない限り大文字と小文字は区別されないので,コマンドは大文字でも小文字でも動きます.
コマンドにおいては区切りのスペースが無しでもありでも動きます.
BASICインタープリターで16進数を取り扱いたいときは数字の先頭に&H,8進数を取り扱いたいときは&&Oを付けましょう.
それぞれヘキサのH,オクタのOです.

print_Hexadecimal.png
変数aにFF(16進数)を入力してオプションを何もつけずに出力したところ.10進数で表示されているのが分かる.
また,行番号を付けていないため,初期化,print命令それぞれが即座に実行されている.

  • RUN [開始行番号]
    その名の通りプログラムを実行する命令です.
    行番号を指定しないと,すべての行を実行します.

  • AUTO [[開始行], [番号の刻み]]
    AUTOコマンドを実行しておくと,改行時に行番号を自動で入力してくれるようになります.
    行番号をどこから開始するか,刻みをいくつにするかをオプションで与えることができます.
    行番号を挿入することで,何行にもわたる長いプログラムを入力できますが,一々入力してられません.
    そこでこのコマンドです.
    test_auto_command.png
    デフォルトでは,画像のように10始まりの10刻みで入力されます.

  • LIST [開始行][-終了行]
    打ち込んでバッファリングしているプログラムを画面に表示します.
    開始行・終了行は無くてもいいし,片方だけでも大丈夫です.
    何も指定しないと,すべて表示します.

  • PRINT [表示文字列]
    説明不要でしょう.

  • STOP
    ストップキーと同じです.

  • CONT
    ESCキーでプログラムを中断しているとき,これを実行すると再開します.

ここまでのコマンドやステートメントを組み合わせて簡単なプログラムを組んでみましょう.

before_run_BASIC.png
これは"hoge","ホゲ"と表示するプログラムです.
STOPキーを押して行番号自動入力を解除して,runコマンドを実行すると...?

after_run_BASIC.png
ちゃんと表示されましたね.

auto_1000_infinite_roop.png
今度は,グラフキーを織り交ぜてみました.さらにプログラム中にRUNを混ぜてみましょう.
実行すると...
after_infinite_roop.png
無限ループに入っちゃいました.1020行目のrun 1000で1000行目に戻って再度実行を始めるからですね.

stop_execute.png
STOPキーで一時停止しましょう.

before_cont_execute.png
ここでCONTを実行して再開すると...

after_cont_execute.png
また無限ループに入りました.

マシン語入力

BASICも高速ではあるのですが,やはり複雑なプログラムや応答速度を求めるならばマシン語によるプログラミングが必要です.

しかし,これは場合によってはマシンを破壊しうるのでしっかり理解した上で使いましょう.
繰り返します.きちんと理解してから使いましょう

マシン語を入力するには,起動後にMONコマンドを入力してください.するとマシン語モニターに移行します.

immediately_invoked.png
行頭にアスタリスクが表示されたらOK

CTRL+BでBASICインタープリターに戻ります.

enter_return_monitor.png
インタープリターがOkと表示したので,戻ったことが確認できる.

おわりに

ここまで読んでいただきありがとうございます.
あくまでもこれらは先人の皆様の知識があってこそです.
この記事中に掲載したサイトをはじめ,知見や資料を遺してくださった皆様方に敬意と感謝を申し上げます.
何よりも、このコンピュータを譲ってくださった高井様には深く深く感謝いたします

また,私と同世代の皆さんにはこういったレトロなコンピュータに少しでも興味を持っていただければと思います.
最後に,私がこうしたものに興味を持つようになったきっかけを紹介します.

Unix考古学 Truth of the Legend 著: 藤田昭人様

私が20世紀のコンピュータに思いを馳せるきっかけになった本です.

マイコン博物館 様

東京の青梅にある私設博物館です.ここで実物のマイコンたちを見て興味がさらに増しました.

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?