X1のEMM

2018年12月10日

X1にもEMMにも詳しくないのですが、どういうものなのか、どのように使うのかを知りたかったので調べてみました。間違いがありそうなので、気が付いたら随時修正していきます。

純正品は、こちらの「X1用EMMボード」を参考にさせていただきました。つまり・・・

・純正品の320Kbyteメモリボードの事をEMMボードと呼ぶ。320Kbyteの領域がある。
・320KByte以外のボードは非純正品。(互換性はある)

ということですね。
あと、I/O誌の1986年3,4,5月号にもEMMボードの製作記事が掲載されているようです。

320KByteということは、000000h – 04FFFFhのメモリ空間を持つということになって、Hu-BASICでは、この領域をEMM0:というデバイス名で表記するようです。
また、EMM:はEMM0:と同じデバイスになります。

アドレスの最大が04FFFFhなので、アドレス指定に3バイト必要になるということですね。

上位 00h ~ 04h
中位 00h ~ FFh
下位 00h ~ FFh

上位バイトには余裕があるので、その気になれば、000000h – FFFFFFhまで使えることになると。
FFFFFFh Byte => 1677216Byte => 約16.384MByteということでしょうかね。

ハードウェアレベルでは、3バイトのアドレス指定用のI/Oポートと、指定アドレスの読み書き用1バイトのI/Oポートを通してアクセスするようです。わかりやすいですね。また、読み書きをすると、自動的にアドレスが+1されるようです、便利ですね。

0D00h アドレス下位指定(00h-FFh) OUT
0D01h アドレス中位指定(00h-FFh) OUT
0D02h アドレス上位指定(00h-04h) OUT
0D03h データ リード/ライト IN/OUT

Hu-BASICでは、EMM0:以外に、EMM1:、EMM2:…といった指定ができるようですが、これはボードを複数枚挿し込んだ時のデバイス名として識別されるようです。
この場合、EMM1:は0D04H, EMM2:は0D08h・・・のように、I/Oポートのアドレスをずらしてアクセスすることが出来ます。

Hu-BASICでは、EMM0:のデバイスをフロッピーディスクのように扱えるので、FILES,LOAD,SAVEといった命令を使って、EMM上にファイルを保存できます。ただし、X1本体の電源を切ったら消えると思います。
これらの命令を使う前に、INIT “EMM:”命令でデバイスを初期化しておく必要があるようです。こうすることで78クラスタ分の領域が確保されるようです。(1クラスタって4KBbyteくらい???)

ここまでは320KByteメモリボードの話です。

非純正品の1MByteメモリボードは、BIOS/Hu-BASICのアドレスチェックにより、320KByte以上の領域は扱うことが出来ません。そこでボード側で1MByteのメモリを3つの320KByteの領域に分割してアクセス出来るようにDIPスイッチで切り替えが出来るようになっているようです。

※上記の記事を書くにあたり、Oh!石さんからご助言をいただきました。ありがとうございます。

BUBCOM80のDSUBコネクタ

2018年4月16日

BUBCOM80の正面には2つのDSUB端子があります。

BUBCOM80JOYSTICK

過去の書籍・雑誌情報によると、ジョイスティックが接続できるということはわかっていたのですが、接続可能なジョイスティックの種類や端子の信号が不明でしたので調べてみました。

結果的には「いわゆるATARI規格」でした。

※国産マイコンのATARI規格については、こちらのページに詳しく書かれています。
いわゆる「ATARIジョイスティックポート」の変遷についてまとめてみる

手持ちのPC-6001用ジョイスティックを接続してみたところ、そのまま使えました。BASICから見た端子の用途は以下のようになります。

1 UP
2 DOWN
3 LEFT
4 RIGHT
5 不明
6 TRIGGER 1
7 不明
8 COMMON
9 不明

正面からみて左がJOYSTICK1,右がJOYSTICK2です。1と2はBASICでの指定番号です(0がキーボードのカーソルキー)。
5,7,9番ピンが不明で、基板裏面を様子では未接続に思えます。もしかすると本家ATARI規格のようにアナログ信号の入力に対応している可能性があるのかもしれませんが未調査です。
PC-6001やX1のように汎用的なI/O端子としての利用もできる可能性もありますが未調査です。

BASICからは、STRICK命令を使うことで8方向の入力を1-8の数値で読み取れます。STRIG命令でトリガーボタンの状態が0か1かで読み取れます。PC-6001と同じですね・・・って、同じMicrosoft系のBASICだからでしょうか。それとも、海外のATARI規格のコネクタを搭載したマイコンのBASICと揃えたのでしょうか。その辺の経緯はマイコン史研究家にお任せしたいと思います。
下のキャプチャ画像だとBASIC起動時のメッセージが1982年になっていますが、後に発売されたROM版BASICで年表記も改定されたのかもしれません。

一応、補足しておきますが、ATARI規格という言葉はBUBCOM80の書籍・雑誌資料には出てきていません。もしかするとBUBCOMのマニュアルには記載があるかもしれませんが、未所有なので不明です。
また、PC-6001のマニュアルやカタログでもATARI規格という言葉が使われていません。私が知っている範囲では、X1のカタログでATARI規格という言葉が登場しています。

BUBCOM80の解析

2018年4月8日

BUBCOM80の実機をお借りする機会を得ましたので、とことん調べてみました。

本体キーボード写真

実機の写真はこちらにUpしてあります。
Googleフォト – BUBCOM80

本体内の主要なICは以下の通りです。

名称 用途
SHARP Z80A CPU
NEC D8257C-5 DMA
MB471 8bitラッチ付き3ステート出力バッファ
M8008A LX11
MB8863H 通信用?RS-232C?
NEC D3301D-2 CRTC
SHARP Z80-CTC タイマ

お借りしたBUBCOM80は、電源投入ですぐにBASICが起動するようになっていました。本体基板の左上隅にBASIC用ROMが搭載されていると思われるボードがありましたが、ROMが基板に直付けされていて、その基板自体も取り外しが難しく、詳細は不明です。

BUBCOM80起動直後画面

本体起動直後は、起動用ROM(MB8516)のプログラムが各種初期化処理を行ってから、起動デバイスの検索と起動処理を実行しています。ROM BASICの起動シーケンスは、ROM BASICの有無確認、I/O空間経由でROM BASICをRAMへ転送、RAM上のBASICを起動という流れになっています。
MB8516は2716互換のEPROM(2KByte)でしたので、手持ちのROMライタで吸出しが可能でした。また、別途用意したMB8516を使って自作プログラムの書き込みと起動確認もできました。

ROM BASICはハード的な吸出しは出来ませんでしたが、BASIC上からアクセスする方法が判明したので、吸出しをしました。(吸出しプログラム自体は簡単なものですが、その後のコンバートが面倒なので非公開です)
ROM BASIC自体のサイズは0x9C00byteのようです。

ROMダンプ

BASICの解析はしていません。国会図書館にあったBUBCOM80のBASICの解析本によると、0000-F1FFがBASIC本体とプログラムエリア、F200からがVRAM、FDB8からFFFFがBASICのワークエリアのようです。

いくつかのBASICの命令を実機で実行してみた結果を録画してYOUTUBEにUpしました。

Z80周りの信号線の様子も見てみました。

CPUには4MHzが供給されています。NMIとWAIT信号は変化がありませんでした。

BUSREQが約500us毎に発生しています。下のキャプチャでは500us毎の塊になっていますが、拡大すると細かなパルスで構成されています。用途は不明です。
BUBCOM BUSREQ

INT信号は約10004us(10.004ms)毎に発生しています。タイマ割り込みかもしれませんが、こちらも用途は不明です。

Eyoyo 8インチ ディスプレイ

2017年11月26日

小型で4:3比率の液晶モニタが欲しかったのでAmazonで検索していたら気になる商品がありました。

Eyoyoというメーカーの「8インチ ディスプレイ 小型LCDカラービデオモニター」です。背面に書かれている型番は「S801C」です。

最初に結果だけ書いておくとちょっと残念な感じです。

付属品は盛沢山でケーブル一式が入っています。入力端子には、VGA、HDMIだけでなく、ビデオ入力(黄色い端子)があるので利便性は良いのです。なんとなくお得感が高そうに思えます。

問題は画質と表示領域です。

まず、この液晶自体の視野角がかなり狭く、ほぼ正面からしかまともに見ることができません。旧3DSの立体視がちょっとずれたらツライ、みたいな感覚を思い起こさせます。

ビデオ入力の信号は素直に映像変換して表示しているだけという感じで滲みやズレがひどく出ています。それと、正しいNTSC信号であればまだいいのですが、旧来のゲーム機のようななんちゃってNTSC(ノンインターレス240LINE)の映像信号だとフリッカーが起きて、常に上下に1ラインだけ振動して表示されてしまいます。目がチカチカします。

HDMIはというと、表示がオーバースキャン状態になります。パネルの仕様なのかフレームが覆いすぎなのかはわかりませんが、Windows10のタスクバーに並んでいるアイコンの下半分くらいがはみ出ます。上下左右がはみでるので実表示領域は狭めですね。
視野角が狭いことを除けば、画質自体はクッキリしています。

スペックだけみたら悪くなさそうだったのですが、ちょっとした映像確認程度くらいにしか使い道がなさそうです。

ちなみにX68000とかにつないでも、15KHzは映りませんし、31KHzは下側が見切れてしまいますので、素直にココパーを買いましょう。

PocketCHIPを有線LANで使う

2016年10月16日

PocketCHIPとPC(mac)の間でファイルのやり取りをするにはUSBメモリがお手軽ですが、いちいち抜き差しするのも面倒なものです。かといって、諸事情でWi-Fiは使えないので、頻繁にファイルのやり取りをするのであれば有線LANにつなぐとよいです。そうすることで、PocketCHIP(C.H.I.P.)がネットワークに接続されたLinuxマシンとしても使えるようになります。

PocketCHIPを有線LANにつなぐには、USBタイプのLANアダプタが必要になります。私は、バッファローのBUFFALO 10/100M USB2.0用 LANアダプタ (Wii、Wii U、MacBookAir動作確認済み) LUA3-U2-ATXを使ってみました。安いですし。

ワンランク上のギガビット対応機が数百円差で買えますが、PocketCHIPくらいの性能なら100Mでも充分かなと。(ギガビット対応機が使えるかは未確認です)

PocketCHIPのUSBに差し込むだけでOKです。このUSB LANは軽いのでPocketCHIPを縦置きにしても本体がぐらつくことはないと思いますが、LANケーブルに引っ張られてUSBコネクタがモゲる可能性があるので横置きのまま使った方がよさそうです。

USB LAN接続

ちゃんと認識できていれば、lsusbコマンドで確認できます。一行目がUSB LAN未接続、2回目の実行結果が接続後です。

lsusb

デフォストでDHCPクライアント機能が動いているので、IPアドレスが割り当てられていればif -f net addrコマンドで確認できます(ifconfigは入ってません)

addr

192.168.17.8が割り当てられたIPアドレスですね。
あとはLinuxっぽい操作をしてファイルのやり取りをしてください。

ところで、PocketCHIPのタッチパネルはズレがあるのでキャリブレーションをした方がいいです。ファームウェアのバージョンによってはキャリブレーション用のソフトが入っていないようなので、ネットからダウンロードする必要があります。手順は、このへんのページが参考になります。PocketCHIPのキャブレーション設定とブラウザとメディアプレイヤーをインストールしてみる

ちなみに初期のrootパスワードはchipです。本体同梱の電子マニュアルに書いてあります。

X1 BASIC ROM(CZ-8RB)

2016年8月1日

X1用のBASIC ROMボード(CZ-8RB)についてあれこれと調べてみましたので、以下のリンクからどうぞ。

X1 BASIC-ROM(CZ-8RB)

X1 BASIC-ROM(CZ-8RB)

YAMAHA YISの実機写真

2016年1月12日

ある方から、YAMAHA YISの本体とキーボードをお借りできましたので、とことん写真に収めてみました。

YIS本体

YAMAHA YIS写真集

以前、「ヤマハYIS」というタイトルでYISについて調べたことをまとめましたので、記事内容と比べながら写真を見ると、ハードの理解が深まると思います。

お借りした本体は4枚のボードがささっていたので、PU-1-20です。
以前調べたとおり、外部の映像出力は映像処理用のカードではなく、DDAカードから出力されていましたが、映像処理用のカードにも2つの外部出力端子がありました。(用途不明)

キーボードにはスピーカーとボリュームらしきものがありました。

起動用のOSがないのと、不用意に通電したくなかったので動作は未確認です。

FX-9000P分解写真

2015年12月5日

FX-9000Pを分解する機会を得られたので写真を撮ってみました。

Googleフォト:FX-9000P分解写真

内部の基板が破損しているため起動しません。2つのROM(4Kbyte+8KByte)は直付けなので、剥がしてから吸い出ししてみようと思います。

FX-9000P

ArduinoでMSXカートリッジを読み出してみる

2015年11月8日

最初に書いておきますが、ArduinoでIOエキスパンダICを使うのが主な目的で、読み込むカートリッジはメガロムとかではなくて32KByteのものです。

MSXのカートリッジは16bitのアドレス線と8bitのデータ線と何本かの制御線を使って読み込むことができます。一方、ArduinoのI/Oポートはボードサイズの割には本数が多いのですが、アナログ/デジタル兼用だったりデジタル14本で16bitまとめて扱えなかったりと、直結するには少しだけ面倒です。

そこで、MCP23017というICを使って、ArduinoのI/Oポートを増やします。

この投稿の続きを読む »

MSXのゲーム ガイアとはなんだったのか

2015年10月6日

ガイア(GAIA)はMSXで動くゲームです。数あるMSXゲームの一つなのですが、出回りが少なかったからか、昔から入手しにいゲームだったようです。もちろん私も遊んだ事がありません。

広告やパッケージデザインの面白さもあってか、ガイアを求める(一部の)熱狂的な方々が現れ、その方々の声が面白くもあり、またそれに便乗する人も現れ(ボクもそうですネ)、「はたしてガイアは本当に実在するのか?!」みたいな、ちょっとした悪のり感があったりもします。

無い無い騒いでいたら、むしろ世間評価での希少性が高まって、それほど貴重なら手放すまいと思うコレクターさんや、金ならいくらでも出すコレクターさんが現れてくるので、より入手できなくなると思うのですが(笑)

このあたり、実際のゲーム自体の評価ではなく、後の騒がれ方で(一部で)価値が高まり(一部で)伝説と化してしまったというのが面白い話だと思います。個人的には、プレステ2のびっくりマウスを思い起こさせます。2chのスレ、まだ続いてて、毎日書き込みされてるんですよ。

それはともかく、ガイアが実在するのかどうかといったら、それはまぁ、これまでネットに上がっている情報だけでもあると断言できるのです。

例えば広告ですが、「往訪、サムソンSOFT。」に広告の画像があります。

しかし、広告を出したはいいけど、ゲームが完成せずに発売に至らなかった、そんな話はゲーム業界にいくらでもあるので、実在するとは限らないのです。

まだ情報はあります。同サイトでは、MSXマガジンの紹介記事が掲載されていました→「奇しくも、同じページに。

この画面、まさにMSXですね!画面制御ICにTMS9918を使ってたらMSXじゃなくても同じような画面になりますが。

しかし、ゲーム画面が雑誌に紹介されたけど、ゲームが完成せずに発売に至らなかった、そんな話はゲーム業界にいくらでもあるので、実在するとは限らないのです。

そこで次の資料を。MSX MAGAZINE 1986年9月号INFORMATIONコーナーではガイアの遊び方が説明されているどころか、ページ隅にはガイア開発・販売元のサムスンSOFTの方が直々にコメントされているのです。

この記事にちりばめられた数々のキーワードから、このゲームの内容をうかがい知ることができます。パズルでありシューティングでありPRGでもあるこのゲームは、ヘルメット、盾、鍵、タイマー、オイル、爆弾といった6つのアイテムを駆使し、落下物と動く壁に注意しながら、画面右下にあるエネルギーバルブから充電して右上のドアに向かう、そんなゲームのようです。「うらガイア」とはいったい・・・!?

もう、これだけの情報があったら、想像だけでガイアを移植できそうですし、かつて私も妄想だけでガイアを移植しようと思ったりもしましたが、作っているうちに『ガイア、これは人類が手を出してはいけない領域なのでは・・・』と恐ろしくなり手を引きました。まぁ、ドット絵を描くのが面倒になっただけなのですが。誰かドット絵を描いてください。あとBGMも。いやそもそもMSXのガイアってBGMあるんですかね?Mマガのレビューには「しみじみと静かなアクションゲームでーす」って書いてあるのでBGMは無いかもですね。

それはともかく、当時、ガイアはどのような評価を受けたゲームだったのでしょうか?その答えの一つがログイン1988年5月号にありましたので、引用します。

おぉなるほど、当時から幻扱いだったことが読み取れますね、って、発売から2年後の記事なんですけどね。

肝心の評価は手厳しいというか、私がこのレビューから読み取ったガイアの感想は「退屈ゲーム」だったんではなかろうかと。たまにありますね、つまらないとかわかんないじゃなくて、退屈なゲーム。途中でもういいですー・・・って思っちゃうゲームありますね。
2015年の今、面白いとか面白くないとかいう観点でレトロゲームを評価すると、各方面から大人気ないとか、遊んでもいないゲームを想像で評価するなとかおしかりを受けそうですが、この先、このガイアを実際に遊べる機会は無さそうなので、想像で自己レビューするくらいはお許しください。

ここまできたらもうガイアは実在すると言えるでしょう。

こうなると、むしろ実在しない方がネタとして面白いわけでし、実際にガイアの動画がネットにでもアップされでもした日には「へーこういうゲームだったんだー」の一言で30年来の幻が一瞬で終わってしまうでしょうから、幻のゲームであるガイアの伝説を守るためにも「ガイアがどのようなゲームなのかはいまだ謎である」といった記録だけをゲーム史に刻んで頂きたいものであります。

そのほか参考資料:春のガイア祭2012

検索向けキーワード:ガイアの紋章、ガイア幻想記、ガイアが俺にもっと輝けと囁いて以下略

タイニーゼビウス 完全解析&解説

2015年9月15日

PC-6001同人誌「PC6000NOTE No.5」に寄稿した記事をWeb用に再編集してアップロードしました。

タイニーゼビウス 完全解析&解説

PC-6001mkII版ハイドライドをSMC-777に移植

2015年7月7日

移植しようとしたきっかけとか、まるで無くて、なんとなーく移植してみたくなったので移植しました。オモチャ(SMC-777)が手元にあったから、という以外の理由が思い当たらず、趣味のプログラミングとして楽しんだというところです。かかる費用は自分の時間だけですし。

この投稿の続きを読む »

ギャラクシアンにおけるタスクシステムの検証

2015年3月2日

古典的タスクシステムとギャラクシアンという2つのキーワードがテーマです。

この投稿の続きを読む »

X68000とRaspberry Piをシリアル接続してX68000にネット環境を構築する

2015年2月28日

X68000のRS-232C端子とRaspberry Piをシリアル接続して、X68000からRaspberry PiのLANを利用することができます。ハード工作が必要なく、必要な機材も比較的安価に済ませることができます。速度は38400bps程度なのですが、X68000でファイルのやり取りをするのであればお手軽な方法だと思います。

続き >> X68000とRaspberry Piをシリアル接続してX68000にネット環境を構築する

X68KandRasPi

プチコン ドット絵入力装置の制作

2015年1月15日

プチコン ドット絵入力装置

DMM.makeのモノづくりログに、人の手の代わりにプチコン三号へとドット絵を入力する装置の記事を投稿しました。
プチコン ドット絵入力装置の制作

PC-6601SR 赤外線キーボードをWindowsパソコンで代用してみる

2014年11月30日

PC-6601SRの赤外線キーボードを、Windowsパソコン+USB赤外線キットで代用してみました。

WindowsでPC-6601SRをコントロール

記事の詳細は別サイトで。

X1のデジタルRGBをFRAMEMEISTERにつなぐ

2014年10月31日

X1のデジタルRGB出力を今時のテレビで観たい・遊びたい人向けの回路です。

X1のデジタルRGBをFRAMEMEISTERにつないでみる

PC-6001 SCREEN MODE4 の色滲みを調べる

2014年10月31日

別サイトへのリンクですが、PC-6001の色のにじみ現象とはなんなのか、とことん調べてみました。NTSCで色が出る仕組みや、AppleIIの発色方法などの参考にも。

PC-6001 SCREEN MODE4 の色滲みを調べる

色滲み

X1 JODAN-DOS

2014年7月23日

JODAN-DOSという、SHARP X1のユーティリティがあります。当時のX1ユーザの方ならご存じなのでしょうけど、私のように最近になってX1を(ちゃんと)使い始めたユーザだと存在すら知らなかったりします。雑誌掲載のプログラムなので、その雑誌さえあればなんとかなりますから、図書館で調べてきました。
当時のOh!MZ(X)の編集理念を思い出してみると(私はOh!Xからの読者でした)、プログラムリストをここにUpしてもいいんじゃないかな・・・と思うのですが、著者や関係者の方々の許可無くしては出来ませんので、手がかりだけでも。

この投稿の続きを読む »

初代パソピアの音楽機能

2014年7月18日

初代パソピアの音まわりの機能について図書館にある本から調べてみました。実機もマニュアルも持っていないので、書籍からの情報の寄せ集めです。一番最後に結論が簡潔に書いてあります。

この投稿の続きを読む »