【PasocomMini PC-8001使用レビュー】 パソコンミニでプログラムをつくってみた 編

はじめに

以前からサポーター会員の形でゲーム保存協会に協力していましたが、理事長さまからの強い要望により :) 昨年から正会員に加わりました UME-3 と申します。

今回、私の方にもパソコンミニの記事を書くよう仰せつかりまして、筆を取らせていただくことになりました。

 

私が主に興味のあるパソコンミニの技術的な話は、ウルサイ人(笑)がこれ以上ないくらいすばらしく濃い記事を既に書かれています。

他のいろいろな記事では、パソコンミニの紹介や使い方、内蔵ゲームソフトのレビューなどの記事が多いようです。

 

もちろんそれはそれでよいのですが、パソコンであればプログラミングも大きな楽しみ方の一つではないでしょうか。

パソコン黎明期には、ソフトというのは自分で作るものでした。マイコンBASICマガジンなどを参考に、ぽちぽちとBASICプログラムを作った経験のある方も多いことと思います。

内蔵のゲームやカセットテープから変換したゲームで遊ぶのもよいですが、せっかく電源ONですぐに使えるBASICがあることですし、ひとつなんか作って記事にしてみようか、と思い立ちました。

 

なお、私自身はPC-8801のN88-BASICやマシン語は扱っていますが、PC-8001のN-BASICを本格的に使うのは初めてです。

N-BASICでは画面クリアの命令がなくPRINT CHR$(12);で代用が必要とか、N88-BASICにはある便利な編集命令がないとか、変数は最初の2文字しか認識しないとかの制約はありますが、おおむね主要な命令はN-BASICにも実装されていましたので、慣れればそれほど困惑することもありませんでした。

 

 

ネタを考える

作ってみようと思いついても、まずはネタ出しが必要です。

さて何を作ろうか…と考えてみたわけですが、締め切りのある限られた時間内でアイデアをひねり出すというのはなかなか難しいものです。

少し考えた結果思いついたのが、学生の頃、つまらない授業の合間に:) ポケコン(PC-E500)のBASICで作ったワンキーゲームでした。

2000年頃までは定期的にポケコンの電池を交換してプログラムを維持していたのですが、それもやがて失われてしまい、当時のプログラムは現在は残っていません。

PC-E500用のデータレコーダやRS232Cのインターフェースは当時は持っておらず、バックアップも取れなかったのです。

 

しかしながら、当時作ったアイデアと、どうやって作ったかは今でもなんとなく覚えています。

それをベースに、ぽつぽつとプログラムを作り始めたのでした。

 

そのプログラムとはホームラン競争のゲーム。

単純に来たタマを打ち返すだけの単純なものですが、そこそこ丁寧に作ったこともあり、作り始めてから1週間くらいかかりました。

エミュレータやPC-8801実機などのN-BASICで作ってからパソコンミニに持ってくることもできるのですが、それだとパソコンミニの評価にならないので、製作はすべてパソコンミニ上で行いました。

 

 

まずはキャラクタパターン作りから

このゲームの元となったアイデアは、ノーマルキャラクタを連続でアニメーションぽく表示すれば、武骨なデザインでもそれっぽく見えるのではないか? という思いつきからです。

当時流行っていたス○2とかのキャラを、ポケコンの狭い画面で表示して、○どーけん とか ○ょーりゅーけん とか、雰囲気で動かしたりしていました。

 

というわけで最初にとりかかったのは、投球動作とバッティング動作のキャラクタパターン。

6つくらいのパターンを連続で表示するようにして、動きをチェックするところから始めました。

PC-E500の時は表示画面のサイズの関係で2×2で作った記憶がありますが、PC-8001だと画面が広く使えるので、40桁モードの3×3でデザインしています。

どんなもんかな。

 

 

キャラクタのパターンを作るには、できるだけ多くの種類の文字が使えた方がよいですが、ここで SHIFT + @, \, [, ] で入力する ~, |, {, }の各文字が入力できないことに気がつきました。

「バグじゃないのこれ」と思ったのですが、実はPC-8001初代やPC-8801のN-BASIC ver 1.2までは実機でもこれらの文字は入力できないのが仕様だそうで、後のPC-8001mkIIやPC-8801mkIIでは直接入力できるようになったのだそうです。なんと。

こんなところも後継機で地味に改良されたんですね。

 

直接入力できない文字は、

KEY 1,CHR$(&H7E)

などと、ファンクションキーに定義してから、F.1キーを押すことで入力するような小技もいまだになんとなく覚えています。

 

 

パソコンミニの公式のサポートサイトのキーボードレイアウトの説明は、2019/11/3現在では間違いがあるようです。

Insert,Delete,Home,End の各キーは実際にはINS,DEL,HOME,CLRとしては効きませんし、GRPHモード時のテンキー部の割り当てが、実際に入力されるキャラクタがWebの説明と違うようです。

101/106キーボードの説明ではUSBキーボードの刻印が表示されていないので、標準的なキーボード以外を使用している場合はどれがどのキーに相当するものなのか読み取れないのも困るところです。

USBキーボードとPC-8001で割り当てが違う特殊なキーについては、キーボードレイアウトの図に加えて、PC-8001とUSBキーボードのキー割り当ての対応表を掲載しておくと、より利便性が高まるのではないかと思います。

 

 

タマを投げて打つ

 

次に、スペースキーでタマを投げ、来た球を打ち返す部分を作ります。

ピッチャーとバッターを立たせて、ピッチャーがタマを投げ、バッターにスイングさせます。

燃えプ○のように「バントでホームラン」とかは実装として明らかにおかしいので、スイング開始からスペースキーをずっと押しっぱなしにしないと打球が飛ばないような仕組みもこの時に入れています。

ファ○スタでやるような、振り遅れを防ぐためにハーフスイング状態で構えても、やっぱり飛ばないようにしました。

簡単なゲームですし、ズルは許さんぜ。

 

スイングの動作が特定のパターンの時に当たるようにしていますが、このときのタマの位置で飛ぶ角度が変わるように仕込んでいます。

スイングを始めてから当たるまでに少しタイムラグがあることで、ゲームっぽくなった感じです。

 

 

タマを飛ばす

 

当たり判定をつけたら、次はタマを飛ばす動作です。

 

PC-8001のN-BASICにはテキスト画面を代用した160×100ドットのローレゾグラフィックがBASICの命令で手軽に使えます。

これは1つの文字キャラクタを 2×4 ドットのグラフィックパターンとして使うものなので、色をつけるのもこの1文字に相当する 2×4 の単位でしかできず、また色を変える回数も1行あたり最大20回までの制限があります。

後継のPC-8801のN88-BASICでは高精細なグラフィック画面がついたせいか、このようなローレゾグラフィックの命令はサポートされなくなってしまったのはちょっと残念ですね。

 

打ったタマの描画ですが、当時は理系の学生だったのでベクトルやら三角関数やらは普通に理解していたのですが、30年以上経過した昨今では「あれ、どうやって計算するんだっけ」と思い出すまで、頭の中の引き出しをひっかきまわす必要がありました。

結果的には大したことはやっていないんですが…。

 

また、単純に地平線だけで放物線を描くと、ゴルフみたいな感じになってしまうので、外野にフェンスをつけました。

が、このフェンスの当たり判定について、後にデバッグで苦労することになります。

 

 

最初はゲームとして、乱数の要素を入れずに純粋にテクニックだけで遊べるようにしたかったのですが、これだけ単純な動作だとタマを散らす要素が少なく、弾道がいつも決まったようなパターンになってしまいました。

そこで仕方なく乱数の要素を付け加えました。打球の初速と角度に色をつけることで、そこそこ弾道が散るようになったと思います。

 

 

 

その他の飾り

ゲームの本質と関係ありませんが、やっぱり体裁を整えるにはタイトル画面やらリザルト画面はあった方がいいかと思います。

手抜きですが、それっぽく実装しました。

N-BASICには行の色を反転するLINE命令があるのに気がついて、せっかくなので使ってみたり。

リプレイの確認のキーはY,y以外にもいろいろなキーが効くように、INSTR関数の小技を使ったりもしています。

 

 

ひたすら調整

タマを投げて打って、という基本的な動作ができるようになったところで、ここからはひたすら調整とデバッグです。

 

フェンスをつけたものの、フェンスの当たり判定がおかしくてタマがフェンスを突き抜けてしまったり、フェンスを越えたタマがおかしな動きをするようになったりしたので、その辺を地道に修正。

フェンスの位置や高さも変えられるようにして、最終的にフェンスは少し高めにしました。

横○スタジアムくらいの高さにはなったかな。フェンスの色を青にしたのもその影響です。

 

乱数の要素や初速等を調整して、なかなかホームランが出そうで出ない、くらいのいい感じになるようにしたつもりですが、どんなもんでしょうか。

このあたりはひたすらタマを投げて打って調整して、を繰り返していました。

 

キャラクタのパターンはもっといい表現ができないか、何度かいじっています。

なんとなくパターンの枚数も1枚増やして7枚にしてみたり。

 

いいアイデアが浮かばない時は、一晩ゆっくり寝るのがいいですね。

プロ生ちゃんの言うとおり、「プログラミングは心の整理整頓的な何か。」なのかもしれません。

 

ある程度満足したところで、完成とあい成りました。

 

 

 

つくってみて

 

というわけで、パソコンミニで1本プログラムを作ってみたわけですが、もろもろの所感など。

 

  • パソコンミニでの全体的なN-BASICの動作速度は、実機と比べてやや遅く感じました。

これが意図的にそのように調整されたものなのか、エミュレータの動作の都合によるものなのか、ラズパイZEROの能力によるものかはちょっとわかりません。

が、調べたところによると、どうもPC-8001初代とPC-8001mkII以降でも動作速度は異なるようで、処理によってPC-8001初代の方が遅かったり、PC-8001mkII以降の方が遅いケースなどもあるようです。パソコンミニではPC-8001初代に合わせて調整されているのかもしれません。

 

  • キーを押しっぱなしにしたときのキーリピートが効いたり効かなかったりするようです。

パソコンミニではPC-8001には本来存在しない←や↓のキーを押した場合、利便性を考慮してエミュレータが内部的にそれぞれSHIFT+→、↓のキーが押されたように変換しているようです。

このためファンクションキーを表示している状態(CONSOLE ,,1)ではファンクションキー表示が一瞬反転します。ここまではマニュアルにも記載があります。

ですが、キーリピートの不具合(?)か、キーを押しても表示が反転するだけでカーソルが移動しなかったり、SHIFTが判定されずに逆方向へカーソルが動きだすことがしばしばありました。
どうもキーを取りこぼしているような反応に見えます。ファンクションキー表示がされている状態では特に顕著です。
ファンクションキー表示を消す(CONSOLE,,0)ことで軽減できますし、表示のちらつきもなくなりますので、プログラムを行なうにはこちらの方がよいかもしれません。

キーリピート関連ではもう一つ、バッティングの際にSPACEキーの入力に当初INKEY$で検出しようと思って実装したところ、キーリピートが効かず1回分の入力にしかならなかったので、これもエミュレータの不具合かなと思ったのですが…

こちらはまた別で、実はここにもN-BASICの仕様が隠されていました。
(N-BASICはN88-BASICと似ているようでところどころ違うのでつまづきますね…)

実はN-BASICではINKEY$でキーリピートが効かないのは仕様だそうです。なんと。
N88-BASICや、他の機種でもINKEY$はキーリピートの効く機種が多かったので、びっくりしました。

今回のゲームではINKEY$の代わりにINP関数でキーボードI/Oを直接読むようにしましたが、これは正しい対応だったということになります。
なお、INKEY$の代わりにINPUT$(1)を使ってもキーリピートは効くそうです。

 

  • プログラムのセーブはCMTファイルへのセーブのほかにステートセーブが使えるのは非常に便利です。

テープイメージからCLOADしなくても、前回の続きからプログラミングができます。

気をつけるべきは、ロードしようとしたにも関らずうっかりセーブを選択して上書きしてしまったりすること。またその逆もありえます。

これは作成中本当に注意して操作していました。もし実際にやらかした場合、ロードしようとしてセーブした場合はせっかく作ったプログラムがきれいさっぱり空の内容で上書きされてしまいますし、逆にセーブしようと思ってロードした場合はせっかく修正したプログラムが修正前の状態に戻ってしまいます。

プログラム作成中はステートセーブだけに頼らず、バックアップの意味でもCMTイメージへのセーブを併用するようにしていました。

 

不具合については私が使ってみた時点(初期版)ではこのような現象があった、というだけことですので、今後のバージョンアップなどで解消されるかもしれません。

期待したいところですね。

 

パソコンミニは、当時のBASICがメーカーに公式に認められている環境として使用できる点でも貴重なものだと思います。

今更40年前のBASIC? なんて声も聞こえてきそうですが、手軽に扱えますし、アイデア次第で「おおっ」というものも作れるかもしれません。

楽しいゲームのプレイの合間に、たまにはものづくりの楽しさに触れてみるというのはいかがでしょうか。

 

ゲーム保存協会 UME-3

 

【おまけの付録】プログラムリスト

UME-3さんのご厚意により、今回の製作したプログラムリストとCMTファイルを公開いたします。
宜しければこちらのデータを使って皆さんも遊んでみてくださいね。

 

▼ダウンロードはこちら

シフトJISだとグラフィックキャラクタが文字化けしてしまいますので、プログラムは画像形式でも用意しました。

Koei

【PasocomMini PC-8001使用レビュー】理事長ルドンが語る!ゲームの歴史と発展を感じる、光栄ゲーム編

はじめに

みなさん、こんにちは。ゲーム保存協会理事長のルドンです。
実はソフトのデジタル化部分でPasocomMini PC-8001(以下勝手に「8001ミニ」)に協力していたゲーム保存協会。
先日からシリーズでお届けしている8001ミニのレビュー第3弾ということで、今回は私がゲームの歴史にも触れながら、PC-8001作品の魅力などお伝えしたいと思います。

すでにお手元に8001ミニをお持ちの方もいらっしゃることでしょうが、簡単な操作方法などを確認するビギナー向けのレビューはこちら、そしてマニアックな設定など上級者向けのレビューはこちらの記事をご覧ください。

 

8001ミニの見どころはここ!

まずは今回の8001ミニについて、レトロPCを愛するあまり海を渡った理事長の推薦ポイントをご紹介します。

 

①本体のディテールがよくできている!
小さいくせになかなか細かく作り込まれていて、見つめていて飽きませんね。

 

②ほぼ電源を入れるだけでBASICが立ち上がる!
PC-8001のエミュレーターはこれまでも存在していましたが、非公式エミュレーターでは実機からBASICやロムを吸い出さなければならず、ゲームを遊ぶ以前のハードルがとても高いですね。
今回の8001ミニは公式公認、マイクロソフトやNECの協力のもとに生まれたありがたい逸品です。
簡単操作の実現で、誰でも気軽に懐かしのPC-8001のゲームを遊ぶことができます。

 

PC-8001の起動画面が出ると、なぜか気持ちが落ち着く

③テープがあればすぐ遊べる!
副理事長の福田先生が言っていますが、今回の8001ミニはご自宅にPC-8001用のソフトのテープがある人なら、録音をするだけでコンバートしてくれて遊べます…といいつつ、細かな手間が色々あります。
今回のレビューで取り上げる2作品は、パソコンでコンバートしたものを使用しています。

 

ここが残念、アップデートに期待?

とってもかわいい8001ミニですが、あと一歩理想に届かず、という残念ポイントもございます。

①ディスク未対応
カセットテープには対応していますが、残念なことにディスク作品は遊べません。
イカツイ箱ケースに巨大な地図が入ったとっても渋い「珊瑚海海戦」や、Siriの走り「エミー」など、せっかくならば遊びたいソフトたちは今回は出番がありません。
ちなみに言えばPC-8001mkIIやPC-8001mkII SRも未対応、ちょっぴり幅が狭まり残念なポイントでしょう。

 

②ケーブルが入っていない
ゲーム保存協会のラボで使っているケーブルはどれも高品質の新しいものを用意しています。
今回、8001ミニをモニターに繋げようとHDMIケーブルを出したところ、ラボにある新しいケーブル類が軒並みダメで、いろいろ試してもまったく画面が映りませんでした。
急ぎ秋葉原まで走り安物の古臭いケーブルを買ってくる羽目に。
お値段高めの新しい良いケーブルは使えない、そんな縛りがあるのなら、メガドライブミニのようにせめて一本ケーブルを付けてくれても良かったのでは、と思います。

 

③自分で追加したゲームの起動がちょっと面倒
家にあるテープが遊べる、ということで意気揚々と準備した皆さんの中には、少なからず「あれ?どうやって起動するんだ?」となった方もいらっしゃるのでは。
付属のゲームと一緒に一覧に出てきてくれると良いのですが、そこには出てくれないのでちょっと不便。昔のゲームは起動のコマンドなどゲーム毎に違うので、それも確認していると結構手間になります。
セーブステート機能で登録しておく方法がありますが、ちょっぴり手間だなと思います。
もし今後アップデートされたら一回起動したゲームをF12画面に登録出来たらベストです。

 

④ 画面キャプチャ―機能、ポーズ機能がない

通常のエミュレーターならいとも簡単にレビュー用の画像を取ることができますが、このPC-8001miniにはポーズもキャプチャー機能もついていません。今回、レビューのための写真を撮るのに、カメラをセットし画面反射を抑えるための調整を行い、自分が遊んでいる横でシャッターを押して画面をパシャリとしてもらう必要があり、我が家では画面の外で夫婦喧嘩が勃発する騒ぎとなりました。自分は遊んでいるだけで、人の手を借りないと何もできないダメ夫と思われる可能性があり、ここはぜひアップデートで機能を追加して、我が家の平和を守ってもらいたいです(笑

 

セーブステート機能を使いこなそう

自分で読み込んだゲームを快適に遊ぶのに必須の技、セーブステート機能を使ったゲームの起動方法をご紹介しておきます。

無事にコンバートされた名作ゲーム達まずSDカードのコンバートフォルダにCMTファイル(T88)を入れましょう。
8001ミニのOPTIONからコンバートメニューを開き、コンバートします。
変換されたものがメディアメニューに出てくるので、これでセットが来ます。

ゲームのロード方法は各ゲーム毎に違います。
付属の説明書やメディアに書かれた説明を読んで、ロード手順を確認しましょう。

 

ちょっと面倒だが、ゲームを読み込むための入力例

ゲームが起動したら、ステートメニューを開き、F1でSAVE STATEを作成します。
そのまま現在のエミュレーターの状況を保存してしまえば、ここからすぐにゲームをはじめられます。
最後にSAVE STATEの上書をされないよう、F6(プロテクト)でロックをかけます。
今後はこのセーブデータから、一発でゲームが遊べるようになります。

 

起動に成功したら、まずセーブを!

 

 

★いよいよゲームレビュー

さぁ、準備ができたらいよいよゲームを遊んでみましょう。
今回は光栄マイコンシステムからエポックメイキングな2作品をご紹介。
日本のゲームの歴史的発展を感じてください。

■クフ王の秘密(ブランド:光栄マイコンシステム)

 

「クフ王の秘密」当時の豪華なパッケージ

皆さんはRPGというと何を想像しますか?ドラクエやファイナルファンタジーなどの和製RPGは現在海外ではJRPGと呼ばれ、本来のRPGとは別物として区別されていますが、今回ご紹介する「クフ王の秘密」は、日本にまだRPGというジャンルが知られていなかった時代に生まれた“ロールプレイングゲーム“で、日本のRPGの恐竜時代の一本です。

 

紙パッケージの裏側

そもそもRPGといいながら、こちらのゲームROLL PLAYING GAMEと書かれています。
ROLEじゃないらしい。(笑)

 

光栄マイコンシステム時代のタイトル画面

体力や食料などはランダムで決まる

ゲームの内容は、罠や敵のいるダンジョン(ピラミッド)を探検する、アドベンチャー要素満載のパズル系です。
高度に象徴化されたプレイ画面はすべて真上からの図、白い謎の記号がプレイヤー、椅子や机はすべて□です。
置いてあるものを動かすと、鍵やアイテムが現れ、罠や敵をかわしながら進むゲームです。

 

思わずマッピングがしたくなる画面

まず「O」(オープン)を入力して扉を開きましょう

現代ならRPGとは呼ばれないかな、と思う内容ですが、日本は昔からRPGの定義が何なのかよくわからないまま名称だけRPGと取ってゲームを作ってきた歴史があります。

 

ENTERキーで可能なコマンドが表示される

家具をopenすると鍵が出てくる

もともとRPGというのはテーブルトークRPGというテーブルゲームの一種から派生しています。
TRPGなどと呼ばれるジャンルで今でも愛好家がいますが、ゲームの間、プレイヤーはキャラクターを作り込んで、用意された世界観の中で過ごします。テーブルを囲み、紙と鉛筆など限られたものを使って遊ぶため、プレイヤーの想像力が求められる遊びです。

 

最初は攻撃力がないので逃げよー!

武器を発見!罠に注意しよー

ビデオゲームにおいて、用意された世界観の中で何らかの行動を行うという要素は、もちろんスペックの制約など様々な点で想像で補わなければなりませんが、どんなゲームでも必ずついてくる要素です。
画面の中に作られたもう一つの場所で何かをする、というのがビデオゲームですから、当然、何らかの世界観の中にプレイヤーは放り込まれることになります。

 

こまめに色々と動かしてみると貴重なアイテムが出てくる

どうしても開かない扉には、謎の呪文を使おう

ですからビデオゲームにおけるRPGの特異性は、むしろ「キャラクターを作り込む」という部分にこそあります。
特に海外ではここが強調されており、RPGといえば様々なパラメーターを操作して、ある世界観を楽しむための自分だけのキャラクターを作るタイプのゲームのことを指しています。

 

罠!墓から強い蛇が出てきた

剣があればサソリなんてもう怖くない

ですが、なぜか日本ではこの視点が抜け落ちてしまい、現在ではドラクエのような「与えられた物語があって、たまにアクションがあるけど、基本ゲーム内に仕込まれたパズルを解きながら進むゲーム」がRPGと呼ばれていたりします。
見てすぐにわかるパズル的なパズルでなくても、物語を進めるために必要な動きなどがあるものがほとんどでしょう。

 

王の部屋はもしかして…倉庫番?食料がもう限界だ

どうにか墓まで辿り着いた…開けると?

「クフ王の秘密」はそんな日本のRPGの祖と言えるでしょう。海外目線なら「ダンジョンクロウル」(ダンジョン巡り)というジャンルに入ると思います。
「クフ王の秘密」では、ゲームの最初にプレイヤーのパラメーターをランダムに決める仕組みがありますが、それ以外は、ダンジョンのパズルを解きながら進む、なんとなくアドベンチャーっぽいパズルゲームです。
「ROGUE」(ローグ)のようにランダムではないためにマッピングすればクリア出来るゲームです。
忙しい人はSAVE STATEで使いこなせながらぜひクリアしてみましょう。

 

はい、ミイラの一撃をいきなりくらって死んだ(笑

■ジャイラス(ブランド:COMIX)

ジャイラスの当時のジャケット

光栄の新しいコミックスブランドで出されたシューティングゲーム、ジャイラス。
COMIXブランドは気軽に遊べてヤングなイメージのあるゲームシリーズです。他に「ローリングペーパー」や「マイ・ロリータ」などが有名です。
この時代の作品としてはシューティングとしてまともに遊ぶことができる良作ですが、今回はジョイスティックが必須です。
もともと実機にはジョイスティックなんてないのですが、ないとクリアできる気がしません。自信のあるプレイヤーはテンキーで頑張ってみてください。

 

素敵なジャケットの裏側

光栄のネタなのでしょうか、今回も非常に酷いなんちゃって英語が随所に見られます。
家庭でシューティングゲームが遊べるワクワク感、重層的な背景、PC-8001のスペックでは文句ないしなかなかに味わい深い一作。

 

歴史に残りそうな素晴らしい英語

敵の動きがとても個性的

光栄のネタなのでしょうか、今回も非常に酷いなんちゃって英語が随所に見られます。
家庭でシューティングゲームが遊べるワクワク感、重層的な背景、PC-8001のスペックでは文句ないしなかなかに味わい深い一作。

 

時間が経つと敵が自動的に変わる

風景の色も変わって見難いパターンもある!

さて、このゲームの面白いところは「シューティングのくせに、何かやらなきゃいけないらしい」というところ。ところどころ、心の折れそうな敵の襲撃の合間にAIRPORTという表示が出てきます。

 

エアポートが現れたので着陸してみよう(ムリ

倒せない敵が現れたので上手く避けよう

滑走路的な開けた場所が出てきますが、地面に降りようとすると爆発して死に、また、機首をどこかに引っ掛けろと説明書に書いてありますが、どう頑張ってもどこにも引っかかる様子がなく、エネルギー補給が出来ぬまま2度、3度とAIRPORTを通過しました。そのたびに撮影で待ち構えていた妻から舌打ちが聞こえ、非常に気まずかった。

 

この敵は難易度が高いけど点数が稼げるチャンスとなる!

着陸ができる…はずだが一度も成功出来ずぅぅ。誰か教えて!(笑

どなたか、このゲームのAIRPORTでの給油方法を教えてください!
その謎さえ解ければ、シューティングとしては様々な敵の動きが愉快な良作だと思います。
敵のバリエーションは多くて、2周目からは重ねて攻撃してくるので熱い!当時としてはとても充実したゲームだと思います。

 

進むと風景が街に変わる(ときどき鳥居が見える)

そして敵が重ねで出てくるのでプレッシャーがマックス

ちなみにマニュアルによるとゲームの目標は謎の光(シャイア・エンタ)を取ることだそう。成功するとワープして次の作戦に進めます。
2周目の最後に出てきますが、突然出てきて、取れないとまた1周目からやり直しの罰ゲームです。

 

目標の謎の光がやっと出たぁ!と思ったら2秒で消えた(笑

最後に

今回、ゲーム保存協会は8001ミニ発売のために、10本ほどのソフトのデジタル化で協力をしています。
80年代のPCを中心に多くのソフトやハードなどの機器を保存保管したアーカイブを持つゲーム保存協会ですが、ゲームは遊ばれてこそ。
長期保存に向けて最良の保管方法でアーカイブしてきたソフトたちが、8001ミニを通して皆さんのお手元に再び戻っていけたことに、大きな喜びを感じます。
これから第3、第4のミニマイコンプロジェクトが続けば良いなと期待しています。

 

ゲーム作品の歴史を紐解けば、今の日本のゲーム文化を支えるものは、コンシューマーが普及する以前のマイコンゲームであることがわかります。
一般の家庭で気軽に遊べるゲームと、そうした家庭での遊び方に合わせ様々な試行錯誤のもと発展したゲーム文化を俯瞰するなら、この時代のPCソフトを遊んでみることが一番です。

 

80年代PCとそのソフトは、貴重な歴史資料ですが、今回紹介した光栄のソフトだけでも、他にたくさんの歴史的に重要なタイトルが並びます。ぜひ、8001ミニで遊んでみてください。
「ドラゴン&プリンセス」、「ダンジョン」、「ナイトライフ」…
もちろん、光栄といえばこの1本…「信長の野望」!
この名作も、PC-8001から始まりました。

 

ミニマイコンで広がるゲームの歴史研究。
ぜひ、皆さんも色々な作品を遊んで、その歴史的背景や技術的発展の様子、クリエイターの豊かな発想と試行錯誤の数々を体感してみてくださいね。

 

NPO法人ゲーム保存協会
理事長 ルドン・ジョゼフ

※パッケージやゲーム画像などの著作権は著作者に帰属します。

【PasocomMini PC-8001使用レビュー】ウルサイ人が使うとどうなっちゃうのか!?(後編)

ゲーム保存協会の福田です。

「ウルサイ人がこういうものを手に入れてしまうと何を始めるのか?」というレビュー、第二弾、後編。

前回から、PasocomMiniでのエミュレーションのメニューを一通り紹介している。メニューは7つあり、MACHINE、PCG8100、MEDIA、STATE、CONVERT、GAMEPAD、DISPLAY。前回は、「STATE」までだったが、今回は「CONVERT」からだ。

では早速、続きをレビューしていく。

 

CONVERT

ここではPCM(WAV)ファイルやT88形式のCMTイメージをCMT形式に変換することが出来る。

結構な目玉な機能と思ったが、色々と思わぬ問題があった。

 

パーティション1のFAT32のパーティションにある、CONVERTというディレクトリにファイルを置いておく必要があり、他のディレクトリなどは選択できない。

またMEDIAなどとは異なり、サブディレクトリは選択は出来なかった。

更にこちらも先程のMEDIAでの注意と同様に、日本語名や()などの記号が使えない。

 


まず、T88からの変換は問題なく、数秒で完了する。

#まあ、当たり前か?

問題はwavからの変換である。
今回、いくつか実験してみた。

別なレビューやインタビューにもあるが、基本的なフォーマットのN-BASICもしくはマシン語で600ボーのものだけしか変換できない。

しかしそういうものでも変換できないものがいくつかあった。


自分はもともと所有しているCMTは全てSANYOのMR-33DRで再生し、96KHz16ビット1チャンネル(左)という形式でPCM(WAVファイル)として保存している。

保存したWAVファイルは、既存のエミュレータ用ツールでCMT形式などに変換し、エミュレータでの使用を確認するなどしてチェックしていた。

今回、CONVERTの機能をチェックするに辺り、既に保存済みのWAVファイルを用意した。

試してみたソフトはこれら


ツクモのスーパーインベーダー、富士音響のスーパーペンギンとスーパーゴリラ、電波新聞のDigDug、内藤時浩さんのNew CITY HEROだ。

 

まず、これらのテープや作成していたWAVファイルに問題がないか、通常PCでのCMTへの変換を再度チェックした。

具体的なツールはhal_8999さんのj80エミュレータ用ユーティリティであるcmt8001 r6_12 Version6.4.2を使用した。残念なことに現在は配布が見合わせられてしまっている。

またWAVファイルを48KHz、8ビット、1チャンネルに変換した。

この環境で、今回用意したテープとWAVファイルが殆ど一発で変換できた。多少のフィルター調整が必要だった程度で、フォーマットも含めて問題なく変換され、変換に必要だった時間は1ファイルあたり、おおよそ3秒程度。

#ここ重要

作成されたCMTファイルは、PC上のエミュレータj80でも、PasocomMini PC-8001でも動作することを確認した。

 

変換されたCMTファイルと元のWAVファイルはSDカードへコピーしておき、その後CONVERTの機能を使用してみた。

事前のインタビューでは、ある程度のサンプリング周波数、量子化ビット数に対応しているという話であったので、通常のマシン語ブロックのみのNew CITY HEROのWAVファイルを、いくつもの形式に変換した。

その他のソフトについては、cmt8001で変換可能であった全く同じファイルを(

48KHz8Bitモノラル)をSDカードへコピーした。

 

まずどのようなWAVの周波数などに対応しているか確認するため、NCHのWAVファイルを変換してみた。

先程の写真のファイル名を見てもらうとわかるが、22050Hz、441000Hz、48000Hz、96000Hzで8ビット、16ビットの組み合わせであった。

 

いくつかの結果を写真も含めて掲載していく。

96000Hz、16ビットのwavはファイルサイズが181MByteある関係もあるのか、Mermoy Over Errorが出て変換出来なかった。

このため自分が通常保存している96KHz16ビットモノラルのWAVファイルは基本的にそのまま変換できない可能性が高いと考えられた。

#NCHは片面15分のテープでしかない。



そして、96000Hz8ビットとcmt8001では問題なく変換できた44100Hz8bitがいずれもInvalid formatとされ変換できなかった。

ちなみに一度変換ができないファイルとなってしまうと、文字が灰色になり、本体の電源を入れ直すなどしないと、選択することができなくなる。

それ以外のフォーマットは問題なく、同じCMTファイルが生成された。

確かに様々な周波数、ビット数に対応しているようだが、どうやら44100Hz以下の16ビットか8ビット以下のファイルが良いのではないかと考えられた。

 

次に変換に掛かった時間を見てみる。

22050Hz8ビットのもの、10分58秒(10秒じゃない)

 

44100Hz16ビットのもの。21分45秒。実機で読み込むより遅い

 

48000Hz16ビットのもの。23分41秒。当然遅い。因みに8ビットのものとは7秒程度しか変換時間に変わりがない。

 

はっきり言って、ものすごく遅い。

普通にCMTを読み込むよりも時間が掛かっている。ファイルサイズが小さい22050Hzなどのものは、変換時間も短く済んでいるようだがそれでも10分以上とcmt8001と比較した場合100倍以上時間がかかる。

 

次に多少変則的な多段ロードを行うテープはどうなるかやってみた。

結果はこの通り。

Hogehoge.wav.cmtとなっているファイルがCONVERTで変換したファイル。hogehoge.cmtがcmt8001で予め変換したファイル。

同じだったものはスーパーゴリラだけで、生成されたCMTファイルはローダーのみ変換されたものが殆どで、全く使えなかった。

 

またテープが劣化していてcmt8001では多少エラーが見られるテープをエラー補正しながら変換できないかやってみたが、こちらも全く変換出来なかった。変換精度が高いとは言い難いと感じた。

 

このようなことから、そもそも直接wavに録音することが出来ない環境で、更には変換時間、変換精度、対応フォーマットも少ないCONVERTを使う意味は全くないと言わざるを得ない。

 

結局は通常のPC環境下でWAVに録音、サンプリング周波数や量子化ビットを変換、さらにツールでCMT形式とした方が、対応フォーマット、変換時間、精度など、明らかに有利である。

 

GAMEPAD

これはUSB接続されたゲームパッドをキーボードに割り当てるものだ。

パッドなどを使う上で絶対に必要なのがUSBハブである。

キーボードとパッドなどであれば、一般的にはバスパワーのものでも大丈夫かもしれないが、本体への電源供給が心許ないのであれば、セルフパワーのハブを用意しよう。

自分はセルフパワーのものをラズパイでは使っている。ここへゲームパッドとキーボードを接続。

ゲームパッドはデジタル入力のものがあれば十分だろうと思ったが、ここで少しハマった。

デフォルトの設定で上下左右に割り当てられているX軸、Y軸がどうやらアナログのゲームパッドを想定して設定されている。


デジタル入力のゲームパッド(写真のようなサターンパッドなど)を使う場合、このX軸を0、Y軸を1に設定すると、上下左右の入力に割り振られた。

 

ボタンのアサインの変更だが、カーソルで変更したいパッドの方向もしくはボタンを選ぶ。



現在の設定されているキーボードのキーが選択された状態になるので、新しく割り当てたいキーまでカーソルで移動。

そこでEnterで割当を確定後、SAVE PARAMETERSを選んでEnterで確定すると反映される。

今回、アナログのパッドが時間的に用意できなかったので、X軸、Y軸をアナログに設定する方法は検証していない。これは各自試してほしい。

 

DISPLAY

これは表示を変更するモードである。

4つの表示モードがあり、それぞれは写真のようになる。

これがNORMAL

 

DOTbyDOT

 

ZOOM

そしてFULL

またカラーパレットを変更できるようになっており、ボーダーのカラーやそれぞれのカラーを変更可能だが、これは特に変更する必要はないかと思った。

 

と、現状でのPasocomMiniでのメニューを一通り紹介してみた。

んで、

Raspiなんだから、好きにさせてくれ!(ムリ)

 

ただのパソコンミニPC-8001としてだけ使うならこれでもいいが、使いやすくしたいとか折角だし色々やりたいとおもうでしょう?

#自分だけ?

といういわけで色々とイジってみようとしてみた。

結果から書くが、ぶっちゃけ色々とクラックすることになるので、オススメできない。そういうつもりでPascomMiniを使わないほうがいいのではないかと思う。

なので、簡単にできたところだけ紹介する。

 

PC-8001なんだからHDMIじゃなくでブラウン管だろ!という、自分みたいな人。

RaspiZeroには標準でビデオ出力が出ているので、これを使えるようにしてみる。

ラズパイの場合は/boot/config.txtで環境を設定する。BIOSというかデバイスの設定のような感じ。

/bootとなっていないが、FAT32のパーティション1の側が/bootとしてマウントされる。

この中のconfig.txtを編集する。

# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1

のところを書いてあるとおりコメントアウトする。

 

次にsdtv_modeを日本のNTSC出力へ。

# uncomment for composite PAL
sdtv_mode=1

こんな感じ。

 

次に基板にRCA出力を取り付ける

PasocomMiniの筐体からラズパイを取り外し、基板だけにして、はんだ付け。当然、電源やSDカードは外しておく。

右上のTVと書いてあるスルーホールの所が、所謂ビデオ端子の出力だ。

 

この写真の向きで、上がGND、下が信号ね。

 

一応、保存協会へ贈答されたものなのだが、他のメンバーも使うので、ちょっと優しく改造w

 

さて、起動してみる。


ブラウン管で出力された。滲みもいいねw

画面サイズの調整など必要だが、使える感じ。

問題は収録ソフトやリファレンスなどの表示。はみ出てしまう。まあそうか。

 

もう一つ、致命的な問題。音声が出力されない。

RaspberryPi ZEROにはPWM出力を利用して、本体の音声出力が可能なのだが、これを設定するためには、一旦コンソールでログインする必要がある。

で、そのためにはユーザーアカウントのパスワードをクラックする必要があったりする。

さらに辺にいじると、PasocomMiniがクラックされたことを検知してしまい、数秒でシャットダウンしてしまう。

 

そんなわけで、本当は色々できるハズ(BluetoothのキーボードとかWifi接続とか、USBオーディオでの録音とか)のラズパイだが、普通にはそういう使い方ができない。Raspi-configを起動できると、SDカードの容量までパーティションを自動で拡張できるがそれも使用できない。

容量ももったいないし、残念である。

#実はかなり色々やったw

 

ここまで、全くPC-8001と関係ないことばかりしてきたので、そろそろ真面目に遊ぼう。

 

変換したソフトは大抵が良好にエミュレーションされた。しかしエミュレーションに問題があるソフトもあった。

内藤さんから分けてもらったNew CITY HEROがそれだ。

5面終了後のボーナスステージでフリーズする。


今後の参考のために、フリーズしたところを動画にしてみた。

 

#別な方のイメージでも確認済み。j80では同じイメージで問題ない。

まだ微妙に不完全なエミュレーションなのかもしれないが、完璧なエミュレーションというのは難しいだろう。発売後は多くのユーザーから色々なデバッグ情報が寄せられて、優れたエミュレータに改良されていくことを期待したい。

 

結局どうなのか?

最後に自分がどう思っているか、正直に書いてみようと思う。

まず今回PasocomMini PC-8001が世の中に登場できたことは、HAL研の取締役所長・三津原敏氏と、開発担当ディレクターの郡司照幸氏を中心とした非常に多くの方々の情熱によって成し遂げられたことだというのは、皆が感じているだろうと思う。

 

一方で世界にはPC-8001という機種だけを見ても、多くのエミュレータが有志の手によって作成、メンテナンスされながら現在も発展している。

それらエミュレータに携わる個人やチームの努力は計り知れないものにもかかわらず、殆どがボランティアベースで進んでいることは驚愕するばかりだ。

その様な努力にもかかわらず、エミュレーターを取り巻く問題がグレーとみなされることもあり、非常に悔しいと自分は考えている。

 

今回のPasocomMini PC-8001はこの点が大きく違う。

NECやマイクロソフト、当時の開発者、ゲーム制作者、メーカーなどがオフィシャルとして認めたエミュレーター、製品であるという点は非常に大きい。これを実現するための、労力と情熱こそ、本当に計り知れないものだと思う。

 

であるならば、今後はエミュレーターとしての再現性と使いやすさをユーザーとしては切望する。

PC-8001誕生から40周年であることの記念限定品、コレクターの興味をそそるものという点は、これ以上ない出来である。

しかし常用に耐えられるPC-8001のエミュレータとして見た場合は、世界に数多あるエミュレーターと比較した場合、現状では不完全と思わざるを得ない。

 

折角のRaspberryPi ZERO WHを使用しているにもかかわらず、WifiやBluetoothが接続できない。

それにより、CMTイメージやカセットテープからの録音にいちいちSDカードを取り出して、別なマシン上で操作し、戻さなくてはならない。

そしてその変換精度や変換速度も既存のエミュレーター用のツールには全く及ばなかった。

カセットテープもCMT形式だけというのがもったいないと思った。例えば起動方法や操作方法、スクリーンショットなど、収録されているゲームのランチャーのようなメモを自分で作成したり保存できるようにすることは出来ないだろうか?

 

画面のキャプチャーや動画での記録もエミュレーターなら可能なのではと思う。

エミュレータ上で実装が困難でもラズパイであれば、Linuxのコンソールから可能だ。しかし、プロテクトのためでもあると思うが、開放されていないので不可能である。

これまでに発表されている他のレビューを見てもわかるが、表示されたモニターを写真撮影して使っているものが殆どだ。

 

画面もHDMI対応は素晴らしいが、ブラウン管の様なエフェクトはなく、キレイなPC-8001の画面が表示されるだけだ。

ブラウン管での滲みも味があると思うのは自分だけだろうか。

 

他の周辺機器はどうだろう?フロッピーディスク、プリンター、ライトペンなどなど、未対応である。

キー入力もキーバインドの変更ができない。またADVを遊んだりする場合やプログラミングに、当時なら常識だったカナ入力が求められる。これをローマ字入力で対応するようにはできないだろうか。

 

更にオフィシャルであるならば、PC-8001や収録ゲームのマニュアルなどは揃えられないだろうか?実際にプログラミングする環境ではないのかもしれないが、クイックコマンドリファレンスでは全く足りない。PCG-8100のマニュアルやアプリケーション(PCGAIDなど)の提供はないのか?

OLION80などはマニュアルがないと、何をやっていいか全くわからないゲームと思われる。

 

エミュレータの再現性にも問題のあるソフトが見られた。販売方法に不満の声がある中、このままでは昨今のクラッシックミニという復刻商品郡で酷評される商品があったように、不満の声が高まる可能性があると思われる。HAL研からはアップデートを用意するというプレスリリースもあるので、このような不満に対して今後の対応を期待したい。

 

ここまでかなり辛辣なレビューを書いてしまったが、それを補って余りあるほど、マイクロソフトのN-BASICと16本もの当時のゲームが収録されたPC-8001が、発売から40周年という節目にPasocomMiniとしてオフィシャルリリースされたのは本当に素晴らしい。

このレビューを記載している9月初めの時点で、既にNECの「LAVIE Pro Mobile 500台限定 PC 40th Anniversary Edition Premium Packageobile」は在庫がなくなってしまっている。

それほど注目されるPasocomMini PC-8001。

 

今回レビューの機会を頂いて、本当に嬉しかった。
ウルサイ人なりに、きちんとしたレビューをしたかったので、この様な内容になってしまった。
ここまで読んでくださってありがとうございます。

次のメンバーのレビューへ続きます。

 

ゲーム保存協会 副理事長
福田 卓也