南青山アドベンチャー

テーマ:

昨日の表参道アドベンチャーに続いて南青山アドベンチャーです。

「南青山アドベンチャー」は独立なった「AhSKI!」1983年号に掲載されたテキストのアドベンチャーゲームです。やはり機種依存部分が分離された構造で、本体プログラムは共通で PC-6001, PC-8001/8801, MZ-80B/2000, PASOPIA の各機種に対応していました。

これもZ80バイナリなのでZ80コードを実行できる何らかの環境が必要なのも同様です。

プログラムは9000H~0E817Hまでとかなり大きくなっています。グラフィックは無いものの近傍のマップが表示されたりと画面表示も進歩していて、機種依存部分も9000H~91FFHと拡大されています。実行時にRAMに転送して実行しなければならないという状況も同様です。

機種依存部分のアドレスは以下のようになっています。

表参道アドベンチャー

テーマ:

呟いたら意外に反響があったので資料を残しておきます。

「表参道アドベンチャー」は「ASCII」1982年4月号の綴じ込み付録「AhSKI!」に掲載されたテキストのアドベンチャーゲームです。ソフトウェアに互換性の無いパソコンが乱立していた時代ですが、機種依存部分を分離することにより本体共通で PC-8001, MZ-80K/C, MZ-80B の各シリーズで実行可能となっていました。

この機種依存部分が分離されているということはそこだけ作り直せば他のハードウェアでも実行できる可能性があるということです。

ということで自作のボードで動かすために機種依存部分を解析しました。

ボードは翌年の「南青山アドベンチャー」のために製作したものですが問題なく実行できます。

こんなことをする人は少ないかもしれませんがここに記録しておきます。

まずこのゲームはZ80のバイナリなのでZ80か互換のプロセッサが必要です。あるいはZ80をエミュレーションする方法もあります。

先々代の給湯器リモコン(分解編)

カテゴリー:

昨日の給湯器リモコン、例によって早速分解してみました。

基板 裏面
開けると基板の裏面が見えます。

左上にNEC製のマイコンが一ついます。

その下のほうに「S-80054HNM」というのがありますが、これは「S-8054HNM」の間違いではないかなと思います。だとすると電源電圧の監視(いわゆるリセット)ICですね。「G」「OUT」も辻褄が合っています。

右下には大きなチップ抵抗があります。

先々代の給湯器リモコン(外観編)

テーマ:

カテゴリー:

先代の給湯器リモコンの交換工事で外し方がわかったので、先々代の給湯器のリモコンも外してみました。

MC11 リモコン
これは洗面所に取り付けられていたので邪魔にならず、機能を失った後もずっと放置されていました。

PURPOSEというのは知りませんでしたが調べてみると住宅設備のメーカのようです。「給湯燃焼」などとあるようにガス式の給湯器です。

MAA-1を小改造(復活!)

テーマ:

カテゴリー:

いろいろやってMAA-1は復活しました。今回はその経過を書いてみたいと思います。

最初、Z8613を動かす (その3:苦戦中...)のようにアドレスバスの周波数をみようとしたのですが、リフレッシュアドレスやI/Oアクセスなどの命令フェッチ以外のアドレスが混じってしまいます。たとえテスト用に短いループにしてもリフレッシュアドレスは排除できません。

仕方ないのでアドレスは諦めて他から動きを推測することにします。

まずROMの先頭から C3,00,00 とJP nn命令による無限ループを書いてM1の周波数を測ると400kHzでした。M1は一周に1回(C3をフェッチ直後に)出るので、4MHz÷400kHz=10となって一周10クロックとなりJP nn命令のステート数と一致します。

同様に 18, FE とJR e命令にすると333kHz、4MHz÷333kHz≒12となってやはりJR e命令のステート数に一致します。

3.5インチベイのカバー

カテゴリー:

ちょっと懐かしいパーツ、といってもただのカバーですけど。

3.5インチベイカバー
フロッピーディスクドライブのベゼルのように見えますが単なるカバーです。

これ初めて組み立てたPCのケースに付属していたものです。5インチベイのカバーは普通の平らなものだったのですが、なぜか3.5インチのカバーはこんな形状のものが入っていました。

3.5インチの外部ベイは2つありましたが、普通3.5インチのFDDは1台しか積まないので片方はこれで塞ぎます。

それにしても、なんでこんな紛らわしい形状にするのでしょう?

金型のコストも上がるでしょうに。

その後もケースはいくつも買っていますが、こんなのは見ていません。ショップなどでも見かけた記憶は無いですね。

Intel 1702A

テーマ:

カテゴリー:

まさか手に入るとは思っていなかったものですが、少し前に入手しました。

Intel B1702A
IntelのB1702A、最初期のUV-EPROMです。ガラスがすりガラスになっているのと上から貼ってあるのが最近のものとは違いますね。これはCERDIPですが他に白いC1702Aもあって、本当はそっちが欲しかったのですが...

世界で最初に商品化されたUV-EPROMは1971年にIntelが発表した1702でした。容量は256×8bitの2kbitで、初めての消去可能なPROMだったはずです。

この1702Aはその改良版で、書き込み条件が若干緩和されています。

MC68000系のメモリ事情(その3:MC68020以降)

カテゴリー:

MC68020で外部バスがデータ・アドレスともに32ビットとなってメモリは当初計画のフルスペックの4GBとなりました。とはいえ登場した頃はまだ4GBのメモリを必要とする応用など無かったのでアドレスデコードが面倒くさいだけと思った人も多いでしょう。

ここまできてもメモリ管理ユニット(MMU)は内蔵されていません。メモリ空間の拡張のためにもMMUを必要とした80286などと異なり、必要性がそれほど無かったからかもしれません。
それでも仮想記憶には必要なので外付けとして用意されました。一つはMC68000,MC68010用のMC68451を拡張したらしいMC68461ですが、残念ながら詳しい資料が見当たりません。もう一つはMC68851、こちらは一部のパソコンなどにオプションで搭載できましたからそれなりに知られていました。いずれも論理メモリ空間・物理メモリ空間はともに4GBです。

命令フェッチのみですが256バイトのキャッシュも内蔵されました。

MC68000系のメモリ事情(その2:MC68010)

カテゴリー:

MC68010の前にMC68008について書いておきましょう。

Intelの8088に対抗して小規模向けに作られたのがMC68008です。データバスが8ビット、アドレスバスが20ビットに縮小されています。メモリ空間は1MBとなります。

アドレスは内部32ビットのうち必要な分を外部に引き出しているだけなのでメモリ空間のサイズが変わってもソフトウェアでの扱いは変わりません。

これで不足するなら素直にMC68000を使えということです。

それでは本題のMC68010を見ていきましょう。

ハードウェア的にはMC68000と互換でそのまま挿し換えもできます。当然バス幅にも変更はなく、メモリ空間も16MBのままです。ソフトウェア的にはさまざまな改良点がありますが、メモリに関するものには次のようなものがあります。

MC68000系のメモリ事情(その1:MC68000)

カテゴリー:

MAA-1の改造のデバッグ状況は逐一実況してもなんなので大きな進展があったときに書くことにしますね。

今回はパーソナルなコンピュータのメモリ事情 (第8回: 80386以降)で書くと予告してまだ書いていなかったMC68000系のメモリ事情について取り上げてみようと思います。

以前書いたようにIntelは8086で64kBから1MBにメモリ空間を拡張するに際してはアドレスのレジスタ長を8ビット時代の16ビットのままセグメントによって拡張する道を選びました。単独で64kBを超えるメモリを必要とするプログラムが少ないという当時の事情を考慮すれば悪くない選択だったのでしょう。不幸は拡張を繰り返して使われ続けたことです。

一方でMotorolaは大胆にレジスタ長をデータもアドレスも32ビットにするという選択をしました。Intelが必要に応じて少しずつ拡張していくことになったのに対し、最初に考えうる最大限を計画しておいてそのサブセットを実装していくという道です。

ページ