インタビュー#3/Interview #3

2000/8/5
富士通FM7エミュレータ「XM7」作者、PI.さんに聞く。

August 5, 2000,
I interviewed PI., the author of XM7, a Fujitsu FM7 emulator.


−エミュレータというプログラムをどのように考えていますか?

XM7のように8bit機を対象としたエミュレータは、そのアーキテクチャの明文化、延命を目的としたものであり、ハード・ソフトとも耐久性や入手性が年々悪くなっていく中でその意義は大きいと思っています。


- What do you think of emulation software?

It is significant to develop an 8 bit emulator such as XM7. Since the purposes are to specify the architecture of an original machine and to keep it valuable while HW/Software has been getting old and hard to be available.


−FM7というコンピュータについて少し教えて下さい。

1982年に富士通より発売されたパーソナルコンピュータです。「究極の8bitMPU」といわれたモトローラ6809プロセッサを2個装備しています。

PC-88、X1と共に「8bit御三家」と呼ばれ、後にFM-77、FM77AV、FM77AV40などの後継・上位機種が登場しました。


- Please tell us a little about this original computer, FM7.

The PC released in 1982 by Fujitsu Co. Installed two MPUs, Motorola 6809. This processor was called "Ultimate 8 bit MPU ever" in those days.

FM7 was introduced as one of big three 8 bit machines with PC-88 and X1. Upgraded versions like FM-77, FM77AV, and FM77AV40 were followed.


−XM7の開発の動機について教えて下さい。

私自身が小学生・中学生の頃FM-7、6809プロセッサでマシン語を本格的に学んだこともあり、技術資料やソフトが比較的多く残っているので集大成を作っておきたい。

もっと言うとこれらの資料・ソフトをきれいさっぱり処分するために、エミュレータを作り始めました。


- What made you develop XM7?

Because I learned a machine language with FM-7, a 6809 processor built machine in my childhood, and the materials and software were left as is. So I decided to make an emulator which can be called as a compilation.

Another reason why I decided to start the development is letting them unnecessary on the completion of the work.


−XM7の開発に使用される機材等を教えて下さい。

開発機材はAT互換機をメインに使っています。

開発開始した時点ではK6(300MHz)でしたが、その後K6-III(450MHz)に移行し、現在もこの環境です。その他細かな作業のために、X68000XVIとPC-9801BX4をサブで使っています。実機確認はFM77AV40EXで行っています。


- For developing XM7, what kind of machines do you use?

Mainly, PC-AT machines.

When I started the development, I used a K6-300Mhz machine, and then K6III-450Mhz so far. In addition, I use X68000XVI and PC-9801BX4 as secondary machines for small operations, and FM77AV40EX for testing.


−XM7の現在の開発状況について教えて下さい。

FM-7対応は全て完了、次に上位機種であるFM77AV対応に着手し、一通りは終わっていますが一部実機との動作違いが残っている状況です。


- Please tell us how the development of XM7 stands.

I completed the support for FM-7 and started to emulate FM77AV. That's almost done, but some functions haven't been implemented yet.


−今後XM7で実装予定の機能を教えて下さい。

まずデバッガの拡充、次に全画面モードの追加や動作設定機能の追加などです。

エミュレータ本体については幾つかのオプションボードの機能を実装することを検討しています。


- Do you have any plan of implementing a new feature with XM7?

First of all, enhancing a function of debugger. Then adding a full screen mode or more configuration.

Speaking of XM7 itself, I'm thinking of emulating optional devices.


−XM7を動作させるための注意点はありますか?

特に注意点はありませんが、メニューで仮想マシンのスタート・ストップが出来るようになっていますのでこれを活用して欲しいですね。

たとえばディスクを他のソフトのものに交換する場合でも、ストップ→交換→リセット→スタートという手順を踏むことで、随分安全になるはずです。実機でソフト動作中に無理矢理交換してはいけないのと同じ事です。


- Is there anything you recommend for getting XM7 to work properly?

Well, nothing special, but I recommend users to take advantage of the starting/stopping function of a virtual machine in menu.

This enables you to exchange disks safely with this function(e.g. Stop - Exchange Disk - Reset - Start). It's not different from the case with an actual machine. You cannot exchange disks while running software.


−エミュレータ開発に当たって苦労する点は何ですか?

デバッグです。実機とエミュレータとの違いをなくすこと、もっと言うとターゲットソフトにとってのINを正確にエミュレーションすること、ターゲットソフトのOUTに確実に反応してINに反映させることです。逆に言えばOUT Onlyの部分は二の次で充分、と考えています。

そのため今回はエミュレータ本体を可能な限り仮想化し移植性を高め、またWin32版では高機能なデバッガを装備しました。

本業の仕事でも時々使っているICE(In Circuit Emulator)の感覚をそのまま持ち込むことを狙っています。


- What is the difficulty of developing an emulator?

Debugging. Making the difference between an actual machine and an emulator as least as possible. I mean, emulating input of targeted software exactly or emulating the input responded with the output precisely. While emulating the output only is not so important, I think.

This is why I made XM7 itself as virtual as possible to be easily ported. And a highly configurable debugging function has been implemented with a Win32 port.

I aimed to make use of a concept of ICE*, which I sometimes use as my professional work.

* In Circuit Emulator


−開発手法について具体的に教えてください。

今回は資料が豊富にあったので、比較的楽に作業を進めることが出来ました。デバッグではデバッガをフル活用しました。

動作不良の箇所をその場で徹底的に解析しターゲットソフトのプログラムから、求められているハードの動作を逆に推定し修正を加えていきます。

またテクニカルマニュアルでもまだ分からない細かな挙動の実装では回路図が大変役に立ちました。

特に集積化の進んでいないFM-8、FM-7の回路図が手元にあったことは大きいです。回路図と74シリーズ(TTL)のハンドブックを見比べながら実装を進めました。


- Please tell us your developing method in detail.

Well, I could easily progress the work because there were plenty of materials available. For debugging, I make the most of the debugger.

First, I made an analysis of bugs thoroughly and tried to fix them by supposing the HW's operation required by a program of the targeted software.

Circuitry was very useful to implement delicate functions not mentioned even by a technical manual.

Especially, it was helpful for me that I had circuitry of FM-8 and FM-7, which is not integrated yet, with me. I proceeded to develop XM7 while comparing the circuitry with a handbook of 74 series(TTL).


−とても多くのプラットフォームでリリースされていますね。

私は今でも多数のマシン・OSを所有し使っていますし、それぞれのマシンで独自の世界があると感じています。またXM7の開発にあたり、移植性が良いことを一つの目標にしました。

この移植性のよさを確認・実証するために、複数プラットフォームへのポーティングを行いました。


- You have ported your emulator to various platforms....

Yes. I use many machines and OS, and I think each platform has its own merit. So I aimed easy portability for developing XM7.

To prove this portability, I ported my emulator to multiple platforms.


−今後開発予定のエミュレータはありますか?

今回XM7を開発したことで、再現性のよい6809エミュレータが出来たのでこれを活用したアイデアはあります。NAMCO SYSTEM I(6809×3)など結構面白いんじゃないかと。

また今までの解析経験・調査結果を生かしてメガドライブのエミュレータなども考えています。ただどちらも実現の可能性はかなり低いのではないでしょうか。

やるなら最低半年、長いと2年を費やす覚悟が必要だからです。犠牲無くして結果出ず、です。


- Do you plan to develop any new emulator?

Well, since I developed XM7 this time, I have an idea of making an emulator applying this 6809 emulation core. For example, NAMCO SYSTEM I, which uses three 6809 MPUs.

Besides, developing a MegaDrive emulator is maybe interesting. But I can't promise the realization of them.

If I start the development, it will take... at least half a year, maybe two years. "Easy come, easy go."


−「与作Millennium」とはどういうゲームですか?

かつてエポック社のカセットビジョンで人気を博した、「木こりの与作」というゲームを復刻させることを狙ったものです。


- What kind of game is "Yosaku Millennium"?

This emulates a popular game, "Kikori No Yosaku" released for Cassette Vision** by Epoch Co.

** A console machine released on 30th June, 1981 by Epoch Co. "Kikori No Yosaku" was their killer game. The machine costs 13500 yen; games, about 4000 yen.


−「与作Millennium」の移植状況を教えて下さい。

PC-88SR版、FM77AV版の開発を計画していますが、現状はPC-88SR主体で進んでいます。下回りのBIOS、サウンドなどをゆっくり進めている状況です。


- Please tell us how the development of Yosaku Millennium stands.

I'm planning to developing PC-88SR and FM77AV ports, I concentrate on the first for now. I take my time emulating its BIOS, sounds.


−現在エミュレータ以外で着手されていることはありますか?

構想している事はいくつかありますが、実際に着手しているプロジェクトはありません。やはり時間の捻出と、上で書いたように思い切りがネックです。


- Do you have any project except an emulator?

Well, I'm thinking of some, but I don't start any plan really. The problem is that I can't find spare time anymore and that I can't determine it, as I said before.


−最後に何か一言お願いします。

私と同じく8bit時代に基礎を学び、X68000で飛躍した世代もそろそろこの世界の第一線から退く時期になっています。

強い意志を持って取り組み、不可能を可能にする次世代プログラマーの登場を心待ちにしています。


- Is there anything else you want to tell users?

It's about time we, programmers, who got the basic skill in an 8 bit age and leaped over the stage by the appearance of X68000, retire from the top of the programming world.

I'm looking forward to a new age programmer with the power to realize something impossible and strong will.


Original translation by navarone, revised by TriMori.


PI. Home page

Home page: http://www.ipc-tokai.or.jp/~ytanaka/
E-mail: ytanaka@ipc-tokai.or.jp


戻る