日経ソフトウエア2022年5月号

f:id:nicotakuya:20220324074739j:plain

日経ソフトウエア2022年5月号で「PCエンジンで動くゲームを作ろう」の第三回目を書かせて頂きました。今回で完結です。

 

youtu.be

自作ゲームを実機で動かしている様子。

 

f:id:nicotakuya:20220324093225j:plain

PCエンジンの自作メモリカードの試作版。当初はこんな感じにピンソケットが付いてました。

 

f:id:nicotakuya:20220324093529j:plain

写真右がフラッシュメモリライターの試作版です。この時はメモリカードとピンヘッダ/ソケットで接続してました。手作業で配線してたので、めちゃくちゃです。

写真左が雑誌掲載版です。PCエンジン用コネクタを搭載することで、外見がスッキリしました。性能は試作版と同じです。PCエンジン用コネクタは雑誌に載った時にはもう売り切れてしまいました。

 

(2022/3/28追記)

f:id:nicotakuya:20220328090521p:plain

日経BP SHOPを使えば、バックナンバーの記事を部分的に読む事も可能です。価格は440円です。

 

アルカディアのソフト開発

f:id:nicotakuya:20220310032951j:plain

バンダイの「アルカディア(1983年)」。その昔、自分が小学生だった頃に買ってしまったゲーム機です。

 

f:id:nicotakuya:20220311135324j:plain

当時、遊んだソフト。「ホッピーバグ」は簡単すぎ、「エスケープマン」は意味不明すぎでした。買った直後にファミコンが発売されてしまい、自分の心に深い傷を残しました。

 

ググった感じでは、Emerson Radio社が「Arcadia 2001(1982年)」というゲーム機を出していて、これをライセンス供給したのがアルカディアだそうです。その約4年前にInterton社が「VC 4000(1978年)」というゲーム機を出していて、これがArcadia 2001と搭載CPUが同じで、外観も似ています。なにかつながりがあるのか?

 

アルカディアエミュレータは「WinArcadia」がおすすめです。開発元のWebサイトはこちら。

amigan.yatho.com

すごい熱意にあふれるサイト。しかし、ファイルによっては注意が必要。「Games(games.rar)」というROMイメージの詰め合わせは、どう考えても違法なので、ダウンロードしないようにお願いします。

 

f:id:nicotakuya:20220414220336p:plain

エマーソンのサービスマニュアルより。勝手に色を付けました。

これが読めるのはありがたいです。抵抗の一本一本まで仕様が載っています。

 

f:id:nicotakuya:20220310133817p:plain

アルカディアエミュレータ「WinArcadia」の起動画面。「VC 4000」にも対応しています。

メニューから「Help→Coding Guide」を選択すると、ソフト開発用の資料が表示されます。これによると、開発には「VACS」というアセンブラを使うとのこと。

ググったら出てきました。

github.com

VACSの正式名は「Verschueren Assembler Construction Set」。最初の作者はA.C. Verschuerenさんという方で、その後、Dennis D. Spreenさんという方が移植しています。

「Dist¥Examples」フォルダにサンプルのソースが3つほど入っています。

たとえば、「helloworld.asm」をビルドしたいという場合は次のコマンドを実行します。(カレントディレクトリがExamplesの場合)

..¥asm32 helloworld.asm

そのままだと「Line Too Long(行が長すぎる)」というエラーが出てしまうのですが、改行コードに問題があるようです。テキストエディタで「helloworld.asm」「arcadia.h」を開いて、改行コードを「LF」→「CR+LF」に変換します。

なお、asm32.exeはそのままだとWindowsの保護が働いて「不明な発行元」となり、実行できません。実行できるように設定します。

ビルドに成功すると「helloworld.bin」というROMイメージが生成されます。

 

f:id:nicotakuya:20220310191649p:plain

「helloworld.bin」の実行結果。「HELLO WORLD」と表示されました。

文字がめりこんでいるのが気になるので、次のコードを追加します。

      lodi,r0      0EFh         ;;;Screen Start
      stra,r0      CRTCVPR      ;;;Vertical Offset

 

f:id:nicotakuya:20220311141052p:plain

ビルドをやり直して、再実行。

文字の位置が直りました。「0EFh」が水平方向のオフセットです。どの値が正しいのかよくわかりません。

 

f:id:nicotakuya:20220310191842p:plain

アルカディアはROMの領域が0x0000~0x0FFF番地と0x2000~0x2FFF番地に分かれているという特殊な仕様になっています。両方を合わせて、容量は8KB。

RAM容量は1KBってことになっていますが、CPUやUVI(Universal Video Interface)に使われる分を差し引くと、ほとんど残っていません。

アドレスバスがA0〜A14までなので、0x0000~0x7FFFのメモリ空間をアクセス可能ですが、そこまで使ったソフトって存在するのでしょうか。

 

f:id:nicotakuya:20220310133534p:plain

Amigan Softwareで公開しているサンプル「examples.rar」の「arcadia¥Trauner」フォルダの中に「Tetris.bin」というROMイメージがありました。

アルカディア版の「テトリス」です。作者はPeter Traunerさんという方。2003年の作品です。容量はわずか4KB。

ドキュメントが付属していませんが、起動時に「プライベートまたは利益なしの使用を許可」と表示されるので、フリーソフトだと思われます。合法的に遊べます。

 

f:id:nicotakuya:20220310133604p:plain

プレイ中の様子。2プレイのゲームのようです。

 

f:id:nicotakuya:20220414220255j:plain

(2020/04/14追記)

実機を分解してみると、中身がジャンパ線だらけでした。赤色のリード線でGNDにつないでいたり、アバウトな作りに感じます。

緑のリード線は「A14」です。これによって、カートリッジ内の0x4000~0x7FFF番地にアクセスできるという重要な端子。この配線はサービスマニュアル内の「WIRING DIAGRAM」には載ってない謎です。

 

(2020/04/17追記)

arcadia 2001 teardown」で検索して出る画像を見ると、A14が配線されていません。バンダイアルカディアを販売したのは、Arcadia 2001よりも後になります。アルカディアはより大きなROMを搭載できるように仕様変更したと考えられます。

 

nicotakuya.hatenablog.com

プチコン11周年

あと2日で初代「(DSi Ware)プチコン」の発売から11周年です。

f:id:nicotakuya:20220307140307j:plain

ついでにプチコンシリーズの発売日を一望できるプチコン4用のプログラムを作ってみました。公開キーは4AENE8V3V。

実行するとこんな感じに発売からの年数が表示されます。1~2年おきに何らかのソフトを出しているところがエライです。

今、気が付きましたが「Pasocom Mini MZ-80C」を忘れてました。あとで入れておきます。

 

f:id:nicotakuya:20220307172354j:plain

久々に初代「プチコン」を触ってみましたが、使いにくすぎてビックリです。ファイルの転送がローカル通信だけ(SENDFILEとRECVFILEコマンド)。コマンドのサジェストもなし。メニュー画面もファイルセレクタもありません。LOAD/SAVE時はファイル名をいちいち打ち込む必要があります。それでも楽しく遊んでいましたが。

 

プチコンmkII」は前作から劇的にパワーアップして、処理速度が上がりました。QRコードにも対応しました。

プチコン3号」はサーバーにファイルをアップできるようになったり、さらに使い勝手が向上しました。立体視に対応したのも面白かったです。「高度サウンドユニット」とか超マニアックな追加コンテンツも発売されました。ナムコのIPは一部が発売されずに終わってしまったような気が。

プチコンBIG」は念願の物理キーボードに対応したり、3号とファイルを交換できたり、優秀なソフトでした。「プチコンBIG」のためにWii Uを買いましたが、原稿の依頼は来なかった。

「Pi STARTER」や「プチコン4」までくると、進化しすぎて不満点はありません。手軽にプログラミングができて、幸せな時代になったなと思います。

来年には「プチコン3号」と「プチコンBIG」がショップで購入できなくなります。

 

f:id:nicotakuya:20220308082600j:plain

(2022/3/8追記)

配信終了までの残り日数を追加。配信終了の日時が不明ですが、3/31と仮定してみました。

セガマーク3用ゲームをメガドライブで動かす

www.youtube.com

セガマーク3用カートリッジをメガドライブで動かしてみました。

「メガアダプタ(1989年)」を買えば同じことができるのですが、メガアダプタはプレミア価格になっています。なので、作ってみました。

今回の回路はオリジナル要素は全くなくて、Webサイト「raphnet」で公開しているRaphael Assenatさんの「SMS to Megadrive/Genesis cartridge adaptor」を参考にさせて頂きました。

こちらです。

www.raphnet.net

 

f:id:nicotakuya:20220301020820j:plain

動作原理を説明します。

メガドライブには「68000」と「Z80」という2種類のCPUが搭載されています。通常はメインCPUが68000、サブCPUがZ80として機能します。

ただし、カードエッジコネクタの「M3」端子がLowの場合、Mark3モードで起動します。このMark3モードではメインCPUがZ80に切り替わって、データバスが8ビットになります。68000側の動作は止まっているのでしょうか? どうなっているのかは不明です。

このモードはメガアダプタでも使われています。メガドラは旧機種との互換性を保てるように設計されていたわけです。

 

f:id:nicotakuya:20220228001026j:plain

動作確認用にセガマーク3用のカートリッジを用意します。

自分の場合は、「ザ・プロ野球ペナントレース」を400円で購入しました。

 

f:id:nicotakuya:20220217131707j:plain

最も厄介なのが、3.175mmピッチのカードエッジコネクタ(44pin)の入手。自分はAliExpressで購入しました。

 

f:id:nicotakuya:20220228001245j:plain

アダプタの組み立て。

以前作ったメガドラ用のカートリッジ基板の使いまわしです。

 

f:id:nicotakuya:20220228001115j:plain

アダプタを挿し込んで電源オン。

問題なくセガマーク3のゲームが動きました。

これでもうメガアダプタは必要ありません。

 

f:id:nicotakuya:20220301014357p:plain

回路図を書いてみましたが、raphnetで公開されているものと大体同じです。

この回路、ADR21とADR23をプルアップして、ADR22をプルダウンしている部分。どういう働きをしているのか謎のままです。もし、68000が生きていたら、バスが衝突してしまって危険なのでは? と思って、最初はプルアップ/プルダウンを省略していたのですが、それだと起動してくれませんでした。

raphnetによると、この回路だと不完全で、Z80のスタックポインタを初期化したほうがいいみたいです。そのため、マイコンを追加する方法が紹介されています。

 

f:id:nicotakuya:20220301020038p:plain

MasterSystemとMark3のカードエッジコネクタのピンアサインはEnriさんのWebサイトの情報を参考にさせて頂きました。

Enri's Home PAGE

これによると、MasterSystemとMark3とで「MREQ」の端子番号が1つズレています。

海外版MasterSystemは実質的にはMark3ですが、ピンアサインが違いします。

そして、日本版MasterSystemと仕様が違っているという、複雑なことになっています。

 

f:id:nicotakuya:20220301073956j:plain

(追記) 全然安くないのが難点ですが、商品説明にメガドライブ本体で遊べると書いてありますので、同じことができるかも。

「獣神ローガス」のサウンドテストモード

「獣神ローガス(1988年)」というゲームのサウンドテストモードを紹介します。

ベーマガ1988年4月号に載っていた裏ワザです。

 

f:id:nicotakuya:20220126153725p:plain

プロジェクトEGGで配信している「獣神ローガス for PC9801」を使用します。

まず、ゲームを起動したら、Ctrl+Cキーを連打して、バッチファイルを停止させます。

 

f:id:nicotakuya:20220206130551p:plain

「DIR」コマンドでファイル一覧が表示されます。

TTL.EXE」はタイトル表示の実行プログラム。

「INTRO.DOC」はタイトル表示中のテキスト。

「ENDING.DOC」にはエンディングのテキスト。

「SPT.HLP」は操作説明のテキスト。「TYPE SPT.HLP」で表示できます。「蒼き流星SPTレイズナー」を意識したネーミングでしょうか。

「SPT.EXE」は本編の実行ファイル。

タイムスタンプを見ると、1987年12月11日あたりにゲームが完成したものと思われます。

「PLAY.EXE」はサウンド再生の実行ファイル。「PLAY VOICE SPT.MSC」を実行するとサウンドテストモードに入ります。1~12番がBGM、13番以降が効果音です。最近になって知りましたが、C.MOSさんが作った曲も多数含まれています。

 

f:id:nicotakuya:20220126153802p:plain

サウンドテストモードがもう一つあります。「PLAY VOICE ANIME.MSC」を実行すると、ラピュタレイズナーガンダムなどのBGMを聴くことができます。見事なアニメオタクぶり。Memolっていうのは、とんがり帽子のメモルでしょうか。Yuukiの元ネタが不明。

 

「獣神ローガス」の作者、C.MOS(兵藤嘉彦)さんとは一体、、、

と思ったら、My History - c.mosに、知りたいことがほぼ全て載っていました。

以下、補足的な情報です。

 

f:id:nicotakuya:20220214183534j:plain

雑誌「ASCII」1982年5月号より。

C.MOSさんが投稿した「中日-巨人戦」という野球のシミュレーションゲームです。2人の対戦も可能。本ソフトはTAPE ASCIIでも販売されました(3500円)。ゲームの対応機種は日立のベーシックマスターLEVEL3(MB-6890)。「LEVEL3」や「L3」と呼ばれていました。

記事にはC.MOSさんの近況が載っています。日立製のアセンブラが使いにくいから自作しているとか、LEVEL3用の「ギャラクシアン」を作りたいとか、などなど。

当時、「ギャラクシアン」はプログラマにとって目標となる作品でした。著作権の意識が薄かったので、雑誌には様々な「ギャラクシアン」が投稿されました。

(参考資料:http://io40th.kohgakusha.co.jp/2017/09/3440io40.html

・「I/O」 1980年9月号:芸夢狂人さん作、PC-8001用「ギャラクシアン」。

・「I/O」 1981年1月号:芸夢狂人さん作、PC-8001+PCG用「PCGギャラクシアン」。これはHAL研とは別モノですよね。

・「I/O」 1982年5月号 :COMPAC O.Hさん作、FM-8用「ギャラクシアンYAMAUCHIの秘密」。YAMAUCHIというのは、FM-8の開発者が仕込んだ隠しコマンド。

・「I/O」 1982年9月号:速水 祐(柏木隆良)さん作、LEVEL3用「GALAXY FLY」。C.MOSさんが野望を抱いていた「LEVEL3用ギャラクシアン」で先を越されてしまいました。C.MOSさんは速水さんと同じマイコンクラブの出身。「蘇るPC-9801伝説(2004年)」によると、C.MOSさんがPC-9801に目覚めたのは、速水さんの家で見た98用ゲームがきっかけだそうです。

 

f:id:nicotakuya:20220214183517j:plain

「ASCII」1982年8月号より。

C.MOSさんが投稿したLEVEL3用の統合開発環境「MIGHTY-3」です。

プログラムの入力、アセンブル、ダンプ、実行、逆アセンブル、ロード、セーブ、ブレークポイントの設定、印刷まで1本のソフトでできます。なぜこんな凄いのが作れてしまうのか。

 

f:id:nicotakuya:20220217174150j:plain

書籍「だからいまマイコン(1981年)」より。

1981年始めの御三家マイコンというと「MZ-80」「PC-8001」「LEVEL3」でした。LEVEL3は美麗グラフィックが売りでしたが、おそらく3番人気。そこに、富士通の「FM-8(FUJITSU MICRO 8)」が衝撃的にデビューします。1981年の末にはNECPC-8801を発売しますが、ブレイクするのは先の話になります。

 

f:id:nicotakuya:20220218042335j:plain

漫画「こんにちはマイコン(1982年)」より。

1981年11月にNECは「PC-6001」を発売。1981年12月に日立は「ベーシックマスターJr.」を発売。

この他、「こんにちはマイコン」には「JR-100」「ZX81」「ぴゅう太」「VIC-1001」「MZ-1200」「PHC-25」「HC-20」「FP-1000」「TRS-80 model1」が紹介されています。

混沌とした1982年のパソコン業界。ハードの高機能化・低価格化が止まりません。この年の始め、LEVEL3は価格を29万8000円→19万8000円に値下げしました。

こうした状況の中、I/O編集部主催(後援は日立家電販売)による「ベーシックマスター・プログラム・コンテスト」が開催されました。ユーザーで盛り上げようという発想がX68000芸術祭(1991~1992年)を彷彿とさせます。

コンテストの告知は「I/O」1982年9月号に掲載されました。カラーページで気合が入っています。参加対象はLEVEL3とJr.ユーザー。応募の締め切りは1982年9月25日。

コンテストの結果は「I/O」1982年11月号(10月25日発売)に掲載されました。大まかな賞は以下の通りです。

・ベーシックマスターLEVEL3部門(特選5名+審査員特別賞6名):賞品は「16ビットカード」。
・ベーシックマスターJr.部門(特選10名):賞品は「拡張RAM64K」。
・入選(100名):賞品は「ベーシックマスターJr.トレーナー」。

このコンテストは「最優秀賞」がありません。「入選」のワクが多くて、日立の気前の良さがうかがえます。賞品は自社製の周辺機器やグッズでした。「トレーナー(服)」って、一体、どんな図柄だったのか?

コンテストの応募総数は不明です。最低でも121作品。約1カ月で審査員がこれ全部を見るのは大変だったと思います。当初、LEVEL3部門は5名ぶんしか特選が無かったのですが、特別賞扱いで6名追加しています。

受賞者の一覧に、Jr.部門にベーマガでおなじみの森巧尚さんのお名前がありました。あと、I/Oに掲載済みの「GALAXY FLY」がLEVEL3部門の特別賞に入っていたりします。

 

f:id:nicotakuya:20220214183550j:plain

書籍「I/O別冊 ベーシックマスターLEVEL3,Jr. 活用研究(1982年12月発行)」より。

略して「ベーシックマスター活用研究」。この本には、コンテストの入選作品が30作品以上掲載されています。記念碑的な豪華本です(2500円)。

LEVEL3部門の特選の一つとして、C.MOSさんの「デストロイ・エイリアン」が載っています。本作は見た目が完全に「ギャラクシアン」ですが、自機のダメージ回復機能があったり、シールド機能があったり、独自のアレンジが加えられています。最優秀賞と言っていい出来栄え。

記事によると、開発期間は約1か月。開発には「MIGHTY-3」を使用。効率化を図るため、データレコーダーを1200ボーに改造したそうです。

 

f:id:nicotakuya:20220219194917j:plain

雑誌「PiO」1985年5月号より。

My History - c.mosによると、1984年4月、C.MOSさんは日立に就職して、最新モデル「S1(MB-S1)」の開発チームに参加します。ベーシックマスターが好きすぎて、その会社に入ってしまうという、C.MOSさんの本気ぶり。

S1はLEVEL3の互換モードを搭載した、ベーシックマスターの直系です。発売直後は実行速度と1MBのメモリ空間をアピールしてました。1985年当時、S1はパソコン通信に力を入れていて、ユーザー用のBBSを提供していました。1200bpsのモデムが79800円でした。

日立に在籍中、C.MOSさんは「EZ(イーズィーと読むらしい)」というPC-9801用のエディタを開発しました。「EDLIN」のようなラインエディタと区別するため、スクリーンエディタと呼んだりします。

C.MOSさんは1986年3月に日立を退社。

 

f:id:nicotakuya:20220308082851j:plain

季刊「98ワールド No.1(1987年3月31日発行)」より。

1987年には、EZを「EZ Editor」として販売します。

 

f:id:nicotakuya:20220220020220j:plain

ちなみにベーマガにおけるS1の広告は1986年10月号が最後。H50の広告(工藤夕貴さん)は1987年2月号が最後です。

しばらくして、1987年7月号にMSX2機の「H70」の広告が載っています。日立家電販売製パソコンの歴史はこのあたりで終わったと思います。

 

f:id:nicotakuya:20220126154318j:plain

雑誌「コンプティーク」1987年4月号より。

ここにプロトタイプ版「獣神ローガス」が載っていました。かなりレアな記事。これを書いたのが、山下章さんです。当時の山下さんはパソコンサンデーに出演したり、チャレアベ本を執筆したり、サイン会で全国を駆け回ったり、同人誌作ったり、ベーマガの連載を抱えていたと思うのですが、まさか、コンプティークでもお仕事していたとは。

開発途中なので、ストーリーとドット絵しか誌面に載っていません。その内容を引用します、、、

宇宙歴00521---それまで銀河系の3分の2を統合していた連盟は今、存亡の危機に立たされていた。

(中略)

小さな反乱軍が、なぜに連盟をここまで追い詰められたのか? その背後には、銀河系中心部の道の空域より太古の昔から全宇宙を支配せんとするいにしえの古き神々”リグル”とその大神”ローガス”があった。反乱軍は永き眠りについていた彼らを呼びさまし味方につけたのであった。

(中略)

そこには、リグルがつくり上げた最新型多目的機動メカ「ザガード」がある。それさえ、手に入れば……そして、彼はたどりついた。それは彼の永く困難な旅の幕開けだった。

、、、製品版と全く違います。「反乱軍」と「ザガード」だけ同じ。

プロトタイプ版だと神様の名前が「ローガス」でした。そういうラスボスが出る予定だったのでは?

 

f:id:nicotakuya:20220215173322j:plain

コンプティーク」1987年4月号より。製品版と全く違い、「リグラス」っぽいです。この段階で森田和郎さんはどこまで関わっていたのでしょうか?

ゲーム内容は「横スクロール型のスーパーマリオっぽい感じのアクションゲーム」とのこと。この絵柄でスーパーマリオ風って画面が想像できません。

My History - c.mosによると、C.MOSさんがアーテックへ入社したのが1987年4月。なので、この記事の約1か月後、プロトタイプ版を捨てて、ゼロから作り直したということになります。完成するのは、それから約7か月後。「ミネルバトンサーガ(1987年10月)」のエンディングにC.MOSさんのお名前があるので、並行して作業されていたと思います。

 

f:id:nicotakuya:20220214233612j:plain

ベーマガ1988年6月号より。

画面写真ありバージョンの「獣神ローガス」の広告です。広告はベーマガで1年ほど掲載されたのですが(1986年12月号~1987年11月号)、6か月ほどのブランクがあり、このバージョンが1回だけ掲載されました。

広告には「X1シリーズ、PC-8801FM-7/77/AV、MSX移植中」と書かれていますが、これは実現しません。

 

f:id:nicotakuya:20220216141119p:plain

この空白期間中、ローガスの広告は雑誌「ログイン」に載っていました。最後となった1988年6月号はベーマガだけに広告が載っていて、ログインには載っていません。想像ですが、予算の都合で、片方にしか広告を出せなかったのではないでしょうか。

ベーマガの巻末にはランダムハウス(森田和郎さんの会社)の「RANDOM POST」というコーナーが連載してました。1988年1月号で森田さんからアーテックの山口祐平さんにバトンタッチします。1988年3月号から「RANDOM POST」のお便りの宛先がアーテックの住所となります。以後は「ディガンの魔石」に全力投球です。察するに、1988年2月ごろから、アーテックが完全に独立したと思います。ベーマガ1988年6月号で「RANDOM POST」が最終回。7月号から「Artec Trend(初回だけTrend Space)」が始まります。

C.MOSさんは1988年3月にアーテックを辞めていました。辞めた後も「ディガンの魔石」を手伝ったみたいです。

 

f:id:nicotakuya:20220218153229j:plain

ちなみに「蘇るPC-8801伝説(2006年)」に森田和郎さんのインタビューが載っています。「ミネルバトンサーガ」では、かなりの部分のプログラムを森田さんが組んだと語っています。記事内では「リグラス」のシナリオ担当として山口祐平さんのお名前が一回だけ登場します。「獣神ローガス」がどういう存在なのか、結局わかりませんでした。

ランダムハウスの昭和の業績 を見ると、「獣神ローガス」はランダムハウスが開発したという認識のようです。

 

f:id:nicotakuya:20220219194311j:plain

ベーマガ1990年4月号より。

ベーマガだと「VZ Editor」がどこにも載っていなくて、やっと見つけたのがコレ(NOVA情報機器の広告)です。

1989年に「VZ Editor」が発売されました。本ソフトは「EZ Editor」の改良版です。DOSの普及によって、エディタの需要が高まっていきました。まさに時代が追い付いたという感じです。

VZ Editor」はパソコン通信からユーザーの意見を集めることで、性能を高めていました。そして、1万円弱で買えるという強みがあります(「MIFES」が4万円近くする)。わざわざお金を出してエディタを買うというのは、今だとカルチャーショックかもしれません。

長くなりましたが、天才プログラマが「獣神ローガス」を作ったということがわかったかと思います。

 

nicotakuya.hatenablog.com

nicotakuya.hatenablog.com