CALENDAR
S M T W T F S
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31       
<<  2024 - 03  >>

PROFILE
同人誌 電子書籍版
Re:ゼロから始める
ゲームシナリオ


ライトニング伝説


さよならハドソン


ドラクエとFFと
ToHeart


誰得ゲームライフ


ときめきメモリアル
の時代

イースI・II製作メモ

頒布ページ
LINKS
NEW ENTRIES
CATEGORIES
COMMENTS
    イースⅠ・Ⅱ通史(3):『リグラス』から『ロマンシア』
  • タムロ (02/03)
    イースⅠ・Ⅱ通史(1):PC88MkⅡSRの発売
  • tamuro (01/05)
  • おお! (01/03)
TRACBACKS
OTHERS
SEARCH BOX
POWERED BY
POWERED BY
ぶろぐん
DESIGN BY
ブログンサポート

ハドソンがファミコンに参入するまで(4)
これは1983年春に始まり、1984年7月に終わる、ハドソンが史上初のファミコンのサードパーティに参入するときの物語だ。たくさんの当時の(がつくのが残念だが)ハドソンの方の協力を得て、ほぼ正しい歴史として記述できていると思いたい。
ただし、残念なことに、かなりの方から「自分の名前が文の中に出てくるのは歴史的なことだからいいけれど、誰が言ったかは分かるのはいやだ」といわれてしまったので、最初に名前を出してしまった野沢さん以外はハドソン関係者、ということで伏せておきたい。

ところで、何人かから質問されたけれど、今回の話がハドソンの解散に重なったのは全くの偶然だ。
どうしてこんなことを調べだしたのかといえば、たまたまTwitterでM2のほりいさんたちとハドソン参入前後の話になり、自分が雑に当時聞いた話をしゃべったところで「待てよ、これは本当なんだろうか?」と思ったのが最初だ。
ハドソンの連中が昔はなんでも解析してたのもICEぶっさしてたのも知ってたし、確かファミリーベーシックを書いたのも知ってたし、だいたいどんな風に参入したのかの話も聞いたことはあったけれど、そこらへんの知識が自分の中で入り混じって、どこまで正しいか自信がなくて、ちょっと当時のハドソンの中核メンバーにお気楽に聞きはじめたのが最初だ。
いざ調べだすと、当時のPC事情や、実はハドソン東京が本格的な開発拠点を持っていたこと、参入の流れが自分が思っていたのとゼンゼン違うことなどなど、いろいろわかってきて、これは残しておかないとダメだろうと思って、このシリーズが書かれたわけだ。
マジメな話として、たまたま自分が当時のハドソンの中核メンバーと一緒に仕事をしていた、そして当時のメンバーとfacebook、linkedin、Twitterなどのソーシャルメディアを経由して連絡を取れるようになった、この2つの条件がうまく整っていたおかげで、このシリーズは書けている。ソーシャルメディアさまさまだ。


以下、本文。

さて、ハドソンは1983年秋にファミコンへの参入を決断する、というところまで話が来たわけだけど、ここで注意して欲しいのは、いまでいうサードパーティは存在していないことだ。

そのためファミコンに参入する、すなわちソフトを作るというとき、今の常識的な手続きが全く存在しない。
ちなみに今のサードパーティへの新規参入の流れを大雑把に説明すると(ハードメーカーの立ち上げ時ではなく、新規参入の場合)

1)サードパーティ参入したいと、ハードメーカーに連絡をする。
2)ハードメーカー側で審査がある。
3)サードパーティ契約する。この段階で生産委託契約・NDA・サポートなど一通りの契約が行われる。
4)開発機など貸与されたり・購入したりする。
5)実際に開発する。
6)開発したソフトをメーカー側に提出。
7)内容のチェック(主にハードウェア絡みのいろいろな制限や仕様を満たしているか)
8)実際にソフトが生産される。

と、だいたいはこのような流れだけど、この時代にはサードパーティ自体がない
つまり、任天堂側にはサードパーティに貸し出すような開発ハードウェアはもちろんないし、サポート体制も全く存在しない。だいたい参入の名乗りを正式にあげる方法もないし、もちろんハドソン側もそんなものは期待してない。

ハードメーカー側もサードパーティにソフトを作ってもらう発想は「ほぼ」ない。だから、当時のゲームマシン、例えばカセットビジョンには「ナムコから許諾されて、エポックが作ったギャラクシアン」なんてものが売っている。
ちなみに「ほぼ」というのは、第一にパソコンでは最初からサードパーティ…といっていいかは微妙だが、ともかくハードメーカーとは別にソフトを作るソフトハウスが独立してあったこと。
そして次に、1982-83年あたりから、パソコンではそろそろ他のソフトメーカーに、自分のところでもソフトを作ってもらうために機種を貸し出す・お願いしに行くといったソフトハウスをサポートする、今で言うサードパーティの発想が出始めているからだ。
いわば、サードパーティの黎明期でもあったわけだ。
ここでもうひとつ書いておくと、ATARI VCS(2600/日本では2800)はオープンだったので、アメリカではサードパーティが形成されたという説は伝説。つまりそれをもって任天堂が知らなかったとかそういうこともない。アタリショックに関しては間違いなく日本で正しい記述が掲載されているloderunさんの アタリショック前後のサードパーティの事情 参照。

しかもだ。
竹部さんがファミリーベーシックを書いたことでファミコンの開発機はとても使いにくいのがハドソンのみんなには分かっていた。つまり、仮に任天堂から開発機を借りられたところで、使いにくい少数の開発機で四苦八苦しながら作ることになる。これでは話にならない。

そこでハドソンの連中が何をやり始めたのか?
1983年の秋からファミコンの開発機、それ自体を作り始めた
つまり、まず、ファミコン開発機を作り、その開発機でソフトを作って参入しようというわけだ。
いかにも黎明期からあるハードもソフトも出来るパソコンソフトハウスの発想だ。
開発・設計の中心になったのは、当時のハドソンのハードの設計をほぼすべてやっていた岡田節男氏、ソフトを作ったのが中本伸一氏。

ハドソン関係者
ファミコンの市販が開始されて、これはイケるという事になって、オリジナルのまともなツールを作んなきゃという事になって、岡田さんと中本さんが1983年の秋頃から本腰を入れて作り出したって覚えてる。岡田さんが設計して中本さんがハンダ付けをして、ソフト作ってたよ。
北海道では同じものを野沢さんがハンダ付けしていたらしいよ。


野沢さん
開発機については、最初は任天堂から借りたんだけど、あまりにもダサいので、ファミコンにROMエミュを作って開発してたっけ。
SRAMベースのROMエミュなんだけど、書き込みは8255ボードにパラレルでつないでROM流し込んで実行していたっけ。
しかも、ほとんど手製で半田付けも自分でやったよ。
ROMエミュの設計者は岡田さんだよ~。


今ではこの野沢さんの証言は良く分かる。記憶が古すぎて若干混ざっていて、任天堂から借りたハードウェアはダサかった、というのと、実際にファミコンを開発した時期が混ざってしまっていたわけだ。
ちなみに8255というのはインテルの最初期のI/Oチップ。分からない人が多いと思うので書いておく。8255ボードがX1に刺さっていて
X1=>(拡張バス)8255ボード=パラレルケーブル=ROMシミュレータ=>ファミコン
となっていたわけだ。

そして、1983年秋から設計を始め、冬ぐらいには一通りの開発ツールが出揃うことになった。
作ったモノとしては、以下のものになる。

ROMシミュレータ
ファミコンのカートリッジ部分に刺すファミコンROMカートリッジシミュレータハードウェアと、シミュレータに置かれているシステムソフトウェア、PC側からそれをコントロールするホストプログラム。この3つで、開発するための必須ツール。
実際に開発するときは、想像だけどこんな感じ(後のもっと改良されたものは知っているが、初期のものは想像しか出来ない)。
1)X1でソフトを作る。
2)ローダーを起動し、作ったソフトをロード。
3)ソフトが起動する。
たぶん初期版はデバッグは出来なかったと思われるけれど、メモリーセーブ機能があったようなので、全くデバッグできなかった、ということではないと思われる。
ちなみにここで、ハドソンお得意だったICE(In Circuit Emulator)を使っていないのは、はっきりと理由がある。ファミコンはCPUに一緒にサウンドなどが入ってるSoCの走りみたいなチップなのでCPUを抜くと、他に動かなくなってしまう部分が出てくるからだ。

アーティストツール
なんとこの当時ハドソンはグラフィックエディタは実機動作で作っている。ROMシミュレータ側にアーティストプログラムを組み込んで、実際のテレビにファミコンの画面に映し出して編集&テストできる環境だ。グラフィッククオリティに大きな寄与をしたのは間違いない。
ただし、当時はパソコンと通信できなかったために、パッド操作で全て編集などまで行わなければならず、恐ろしく面倒くさかったと想像されるのだけど、ファミコンは最大でも(当時は)キャラクタROMなのでバックグラウンド256、スプライト256が最大だったのでなんとか使えたのだろう。
そして、このプレビュー機能はきわめて有効だったので、後のあらゆるハドソンのアーティストツールには実機でのプレビュー機能がつくことになる。

ハドソン関係者
中本さんが、ツール製作と同時にキャラツールも作ってたんだよ。キャラエディタはファミコンのセルフ動作。パッドを操作してドットを編集して、終わったらエミュレータのメモリーセーブ機能でキャラROMデータをインテルHEXで保存する形だった。このキャラツールはこの後2年ほど現役で利用したね。
本体でTVに直接絵を出すので色味が見たままなので便利だったよ。

さて、これらを開発するのにもファミコン用、つまり6502用のアセンブラが必要になるわけだけど、これはACT65という市販されていたアブソリュートアセンブラを使ったらしい。
これはアメリカはsoricimの作ったアセンブラで1982年のusenetのログから、どんなアセンブラだったか知ることが出来る。だいたい、このポスト自体が歴史だけど。


このusenetへのポストから察するにアブソリュートアセンブラで、文字列の扱いの出来がイマイチで微妙だ、みたいな評価がされている。ただ"アブソリュート"の問題を回避するためにソースファイルをつないで読み込むことが出来る、という話が書かれている。

アブソリュートというのは今の人には絶対にわからないだろうが、リロケータブルバイナリが出力されず、2パスで直接絶対アドレスのバイナリが生成されるアセンブラ。つまりリンカの存在しないアセンブラだ。
…と書いても、このブログを呼んでいる人の99.9%には「( ゚Д゚)ハァ?」で、なんのことやら、だろうが、まあ分かる人だけは分かって欲しい。
act65はアブソリュートな代わりにソースファイルをinlucdeすることが出来たので、org命令の後でソースをincludeすることで擬似的にアドレスを移動させることが、不可能ではなかった。


野沢さん
アセンブラーは最初CP/M80でACT65を使って行っていたっけ。
高いCP/Mマシーンを使いつつ、フロッピーを使っていたが、岡田さんがSASIインターフェースのHDDをつなげて、中本がBIOSをパッチして使えるようにしてたね。

第一回でも紹介した言葉だが、もう一度載せると、野沢さんの記憶がアヤフヤだったのだけど、何人かの話を統合すると、1983-85年はX1+CP/M-80で作っていたのは間違いない。ちなみにもう一度書いておくけれど、「パッチする」は、主にバイナリプログラムの一部を書き換える時に使われる言葉。
CP/M-80は8080用に書かれたデジタルリサーチのOS。MS-DOS以前の『デファクトスタンダード』で、MS-DOSはこのデジタルリサーチのCP/Mの互換のQDOS(8086用)を買い取って作られたもの。

これは歴史的な経緯からも確認することが出来る。
PC-9801の発売が1982年の10月。そして、その後継で大ヒットハードになるPC-9801E/Fシリーズが1983年10月。
またMS-DOS1.25の発売が1983年の夏。
さらに初期のPC-9801にはCP/M-86しかなく、なおかつACT65(ハドソンが使っていたアブソリュートアセンブラ)はCP/M-80版しか存在しない。つまりPC-9801が開発に使えたはずがない。

というわけで、X1+ハードディスクで開発していたハドソンだが、1985年にPC-9801VMが発売される。
VMというハードはV30というNECの8086互換CPUを使っており、しかも8080のエミュレーション機能があった。
だからCP/M-80をエミュレーションで動かすことが出来たので、下のようなことになってた。

野沢さん
その後、PC9801でも開発してたけど、PC9801VMシリーズにCPM80のACT65をVM8086の8080エミュレーションを使って動作するようにしたのを野沢が作って使っていた時代もある。
その後、飛田がオリジナルでアセンブラーとリンカーを作ってその後はそれを使用していた。


ハドソン関係者
FCの開発していた頃の開発マシンはPC9801でMS-DOS上でCP/M80を動かすようなシステムで開発していたように思う
act65がアブソリュートアセンブラでリンクが出来ないもんだから遅くて苦労した
フルアセンブルすると10分以上かかっていたと思う

つまりX1から開発環境を移行するために、VMの8080のエミュレーション機能を生かして、CP/M-80を動かしながら開発していたわけだ。
だが、こんなことをやっていては遅くでしょうがない。しかもACT65というアセンブラはともかく古臭くて遅い。そこで登場するのが飛田さん。

ハドソン関係者
それで飛田が6502用のアセンブラを作ったんだよ。
8086のアセンブラで書いたASとLK。
高速にアセンブル出来るようになって30秒以内に終わるような状態でタバコを吸う暇も無くなった。

このファミコン用のASとLKはPCエンジン用に若干命令を拡張して、僕も使うことになる。
と、1985年ごろまで話がジャンプしてしまったが、こうして1983年の冬にファミコンゲームの開発環境がついに出来上がる。
だが、実際にゲームを作る前にハドソンにはもうひとつやっておくことがあった。

それは、実際に任天堂から許可を取っておくことだ。
当たり前だが、正式な許可がなければたちまちのうちの訴訟の渦に巻き込まれかねない。
その交渉は開発機がほぼ完成して実際にソフトが作れるめどが立った1983年の冬に行われた。

(続)
|| 19:20 | comments (3) | trackback (0) | ||

このエントリーをはてなブックマークに追加

コメント
87年ごろになると約4年たってますからICEの世代的にもジャンプしてますし、当時のICE業界にとってファミコンの開発機はビッグビジネスだったはずで、当然エミュレーションできるようになっていたんでしょうねw

ただ、ハドソンではずっとこの自作のROMシムを使っていたみたいです。さすがに自分たちでハンダじゃなくて、基板は起こしてましたけどw
| 岩崎 | EMAIL | URL | 12/02/15 04:39 | b4CyEt/2 |
我々の世代は楽をしてたんだなあと実感。87年くらいになると音も出せる状態でICEを使った環境を作ることが普通にできていて(そういえば開発ツール決める時にいろいろ揉めてたけどw)あまりにも普通に音を出せていたので、CPUに音源が乗ってたなんて今まで知りませんでした。これ本当ですww
| 綾部和 | EMAIL | URL | 12/02/14 21:48 | GisDtTnY |
>1982-83年あたりから、パソコンではそろそろ他のソフトメーカーに、自分のところでもソフトを作ってもらうために機種を貸し出す・お願いしに行く
以前どこかで、ゲームアーツがソフトを開発するために
NECからパソコンの貸与を受けた話を読んだ気がするのですが
これもそういった類のことなのでしょうか?

それにしても契約する前に開発環境だけ作ってしまう辺り
当時のハドソンのノリが垣間見えて楽しいですね。
絶対に断られないという勝算があったのですか?
| も | EMAIL | URL | 12/02/12 14:03 | 8JnsR7G2 |
この記事のトラックバックURL :
トラックバック