2005/03/11(金)ラジオデパート

トラ技2005年4月号

トラ技2005年4月号

久しぶりに聖地、秋葉原に出かけてきました。やっぱり東京だなぁ。日本橋なんかは足元にも及ばないという事を実感。さて、H8のデパイスは使った事がなかったので、トラ技の付録になるという事でこれを購入。評価を行うにはドータボードを用意しなければならないので、コネクタ類を調達に秋月に向かおうとした矢先、ラジオデパートの1Fで既に完成品が登場していた。個別にパーツ集めるより安いよね。

2700円で完成品

購入方法が特殊で、トラ技付録のボードを渡すと、2700円で完成品(もちろんテストコード書き込み済み)を渡してくれた。これが全て込みの一式です。ピンヘッダーもハンダ付け済み。電池ボックス、シリアルケーブルと簡単な説明書も付属。家に帰ってから、単三乾電池3本を用意してスイッチを入れるとLEDがピカピカと光りだすありさま・・。恐るべしラジオデパート。

でも、ここまで用意されてしまうと、何もする気が起きないなぁ。という訳でしばらくは部屋の片隅でビニール袋のまま眠るのでしょう。

2005/03/04(金)念ずれば通づる-その2

Z80

VDPがやってきた!

TMS9918ANL

まさか、まさかの出会いがありました。今日は大阪の日本橋へ何気なく出かけたのでした。休みだった事と、家でくすぶっていても仕方ないし・・

さてさて、黒門市場でラーメンを食し、デジットでパーツ類を見て回った。最近のロボット人気を博してか、サーボモータとかメカ物、そしてマイコン(PICやらH8やら)のコーナーが充実。液晶キャラクタディスプレイ(よくあるやつ)の出物が600円でGET

TMS9918ANLを発見

さて、次は共立電子であるが、3F入り口にてレール物で古いDIPのチップが投売り。よせばいいのに座り込んで物色。すっすると・・・

でたぁー大当たりぃTMS9918が9 本でたったの200円!

まさか、まさかのVDP。usbid.comで何度発注しようかと思っていた物が目の前に。

あまりの衝撃に、これだけを持ってレジに並んでしまったのであった。帰りの電車の中で、あれ?VRAMの4416は?と思い出したが、そんな物はまた、念ずれば通づるのである。8748といい9918といい、2005年を迎えた現代では既にマイコンでなく、過去の遺産ではないか?

一体何を作ればいいんだ。

データシートはGoogleで直ぐに見つかりますね。

2005/03/01(火)焦電型センサーライト

私の部屋は3階にあるために、夜などは、一回の部屋へ降りるためには、まず3階と2階の階段の電灯のスイッチを入れ、2階まで降りたらそのスイッチを切る。そして、2階から一階の階段を下りるために同じ事をもう一度繰り返す。つまりスイッチを4回も押すことになる。ちょっとした用事で一階と3階を往復するには計8回のスイッチを押すことになる。

続きを読む

2005/02/14(月)オシャマな義理チョコ

バレンタインデーですから。

オシャマな義理チョコ

何年ぶりかでバレンタインデーにチョコレートを貰った。

お相手は6歳の幼稚園児(娘の同園生)である。あまりにも可笑しかったので記念に写真を撮っておこう。しかし、当家族は嫁と3人の娘が居るのだがなぜ、他人がチョコレートをくれて、当家の女どもは義理もないのだ?

[8048]天命か?それとも転生か?

世の中PICやAVRを始め、多種多様のマイコンが進化を続けているが、私といったら、8748/8749を収集中である。海外のサイトではまだ幾らでも在庫があるらしいが、国内ではあまり見かけない。聖地、秋葉原ではまだ見かけるのだろうか?

しかし、ひょんな事で、中古ではあるが8748/8749を20個程入手。「捨てる神あらば拾う神あり」。念ずれば通づるのである。しかし、神様はなぜにこの私に大量の8748/8749与えて下さったのか?僕にはAVR/PICはおろか8051すらまだ早いと仰るのでしょうか。

2004/10/30(土)マシン更新

ホスティング先のサーバを更新

約4年間無事故(ハードウェアは)で働いて頂いた旧マシンに見切りをつけて、今日から新しいマシンに切り替えました。なんせ古いマシンのスペックといったら、AMD 200MHzにMemory 32MBという状態だったので、rubyやらphpやらで作られたページへ同時アクセスが増えると、sshでの作業もままならい状態だったのです。 といっても新しいマシンも大した事はなく、Celeronの533MHと128MBのメモリーなんですが。

2000年の9月から旧サーバでprotom.orgのホスティングを始め、OSは当時人気のあったVineLinuxでした。その後、クラックされるという事件にも遭遇した事もありました。ssl,bindと大きなセキュリティホールが発見された4年間でもあったのです。今回はOSにDebian(WOODY)を選択したのですが、aptで入っているrubyのバージョンが古く,tDiaryが動かず。ソースからコンパイルしてrubyの1.8.1をインストール、muttも使いたいがja-patchが当っている物がaptで見当たらずとやはり、全てをaptだけで済まそうなんて虫が良過ぎた考えだったようで・・

2004/10/05(火)AY-3-8500 1chip Game LSI

日本にテレビゲームブームを起こした立役者 GI AY-3-8500

AY-3-8500-1X

AY-3-8500 GIMINI DataSheet

ページの更新も大分おざなりになってしまったので、何かネタは無いものかと、パーツボックスを漁っていると、ムムッ、これはこれは懐かしいものが目にとまった。1975年(昭和50年)にGI社で開発された1ChipテレビゲームのLSIではないか。型番に-1が付いているのはNTSC仕様。けれども私の手元にあるのは-1Xとなっていて意味不明。

まだ、ファミコンなんかが誕生する前の時代で、日本ではテニスゲームと呼ばれたPong 以下のページに詳しい

PONG-Story(英文) AY-3-8500の資料(英文)

国内発売・家庭用ビデオゲーム機究極年表

この頃はまだ、マイコンとソフトウェアではなく、完全なロジック回路で構成されているもので、一般にアーケードゲーム機としてボーリング場や喫茶店に置いてあった初期のブロック崩しなどは、A3の用紙サイズを二周り程大きな両面基板にぎっしりとTTLロジックICが実装された基板が入っていたのを知っている。

このアーケードのブロック崩しゲームはアタリ社が「ブレークアウト」という名前で開発し、日本にも輸入され大ブレークしたというのは昭和51年のお話ですね。尚、ブロック崩しが良く判らないという方は、もう少し新しいゲームでリバイバルのアルカノイドというゲームもありましたね。(これも既にかなり古いですが・・・)

今は、PICやAVRでオールソフトウェアによるゲームが可能なのとは正反対なのが面白い所ですが、最近はPC上でVHDL等で記述しロジック合成してCPLDやFPGAに書きこむのが流行り?ですので、時代は繰り返されるという事でしょうか。

Pong

2004/08/16(月)2004年製の MitsubishiのPPI 8255

Z80

8255ってまだ生産しているのですか? M5L8255AP-5

M5L8255AP-5

驚きました、マイコン時代のヒーロー8255を入手しました。

ごらんの通り、生産コードが040103...そう2004年製です。とっくにディスコンのハズなんですが、製造コードの見間違いでしょうか。でも新品の様子なんです。みた感じが。

8255をご存知ない?そりゃモグリでしょ。1974年にintelが8080を発表、この周辺チップとして8Bitx3CHのパラレルポート(PPI)のとっても簡単なチップ。ん?1974年って昭和49年ですか。

詳細はgoogleで簡単に調べられます。でも、BeOS用周辺機器を自作しよう(WebArchive)のページにあるCPUメータは面白そうですね。

2004/07/10(土)8048マイコンを使った単音オルゴール

mmlplay

古くはTK-80でもオルゴールのプログラムがあったように8048版のオルゴール演奏プログラムを書いてみた。I/Oポートの1つから圧電スピーカへ接続しただけの簡単な回路で始めてみた。これでメロディーを奏でるには音程と音の長さを決めたデータを用意するだけで簡単に実現する筈である。

続きを読む

2004/06/27(日)DM2020 uPD7228 LCD DISPLAY

upd7228

uPD7228

2月に、古いLCD(DM2020)を使った時計の事について書きました。その時は、何度やっても表示が上手くいかず、これはLCDが壊れていると結論付けましたが、「ヤマカン」さんから8分割モードではなく16分割モードで使うであろうというアドバイスを頂きました。そこで、再度挑戦してみた。

久しぶりにというか、やっぱりというか、何度も、テストプログラムを書いては、信号を送り、よく判らないuPD7228のデータシートと格闘する事やく半日。ごらんの通り、無事、20桁を綺麗に表示させることに成功しました。

要点は、

左側uPD7228を16分割SYNC出力、右側uPD7228を16分割SYNC入力と設定すること。

左側から上位アドレスが始まる

LCDの上8ドットがバンク1、下4ドットがバンク0であることです。LCDに写真のような簡単な表示をさせるだけでも一苦労。でも、ここまでくれば、あとは応用しだいですね。

uPD7228 キャラクターセット

uPD7228 Character Set

lcd.lst

コンパイルリスト lcd.lst

2004/02/19(木)8048と古いLCDディスプレイ(DM2020)との格闘

DM2020

8748のテストランもそろそろ終盤。約15年前に多分秋月電子だと思うが古いLCDディスプレイが見つかったので、これと悪戦苦闘していた。

一緒に見つかったのはLCDドライバNECのuPD7228のマニュアルとLCDディスプレイ基板から伸びている14本のピンコネクションだけだ。

こんな時、PICやAVRみたいにリアルタイムにプログラムが書き込めたらと痛感。やはり古いチップで開発するにはそれなりに根性がいる。2本しかない8748をイレーサーで消しながら、LCDディスプレイにタイミングを送っては表示を確認するを20回ほど繰り返した。

どうやら20桁x1行の製品のようだが、裏にはuPD7228が2つ載っている。スペックを確認するとuPD7228単体では8x50ドット(8分割モード)又は16x42(16分割モード)ドットを駆動できるらしい。が、LCDは5x12が20桁分となっている。

悪戦苦闘の結果、8分割モードで左10桁、右10桁を駆動しているらしいという事までは実験の結果から判った。でも、右10桁はドット落ちしていて、満足に表示できない。その上、写真からも判るように1桁12ドットのうち、下4桁が上4桁のドットパターンを表示してしまう。

もう、思いつく限りの組み合わせを行ったが力尽きる。という訳で、とりあえず、積算カウンターを作ってみた。現在3分2秒後の写真。幾つかスイッチを付けて時計に仕上げたいなぁ

21日追記:

丸一日動かしてみると、24時間で約30秒ほど時間が進んでいる事が判明。使っている水晶がキッチリ6MHzでは無いのだろうと推測。では、どの位かを計算すると、一日は86400秒、それが30秒多い86430となる。

つまり 86430/86400*6MHz=6.002083MHz, 誤差0.035%である。これは無調整にしては上等。これを平均的な時計の様に1ヶ月で誤差15秒とするならば、

86430*30 / 86430*30+15 * 6MHz, 誤差0.00058%の精度が必要。つまり6MHzの水晶に6,000,034.7Hzの精度が必要となる。これは無理だ。水晶発振モジュールに頼った方が良さそうだ。

lcdclock.lst

一応アセンブルリスト lcdclock.lst

この古いLCDディスプレイ(DM202)のピン配置(欲しいという方へ)

20040219_2.gif