2005/11/24(木)UV-EPROM 2708で妄想

UV-EPROM 2708

PROM 2708

私の所には高校生時代に使った古いマイコンパーツがあるが、前々から気になっている物がある。それがこのEP-ROM 2708。

今から20年以上も前にゲームセンター(の卸し)でのアルバイト時代に取って置いた物だ。多分インベーダとかギャラクシアンのアーケイド基板の物だと思う。この頃には既に2708を使っている物は少なくて古いゲーム基板が山積みな部屋で作業をしていた。

2708のROMライター

8080Aを使ったマイコンボードの自作を策略しているけれど、どうせ作るならば、ROMにこの2708を使ってみたいと考えている。古い物には古いデバイスでという事だが、流石に2708を書き込めるライターとなると手元にはない。そこでこのライターを作ろうと妄想だけが膨らんでいく。

妄想的構想

8048/8049(8748/8749)で制御する

5V単一電源(秋月アダプター)で動作する。2708は3電源 -5Vが30mA,+12Vが40mA,+5Vが5mA。書き込みには+25Vが40mA必要。

PCとシリアル通信する(74HC04+ソフト制御)

2708はバイト書き込みできないので必然的に1KBのワークが必要なので外部にSRAMを使う。けど、なんとかSerial-EEPROM(24C64)とかで代用ならないか?

2708の制御にアドレス10本、データ8本、CE,PGM,POWERで最低21本とシリアル用に2本とポートが足りない気がする。データ10本はもったいないから、バイナリカウンター(74HC4040)はどうか

なんとか片面基板で収まらないか。久しぶりにエッチングもしてみたい

ラフ図面からユニバーサル基板にUEW線を張り始めるほどのパワーが欲しい。若返りの特効薬は無いものか

2005/10/23(日)秋葉名物

[雑談]コンビニでおでん缶!

こてんぐ おでん缶

この季節コンビニではおでんが売っている訳だが、家の近くの

サンクスでは、秋葉原の自動販売機でしか売っていないおでん缶が売っていました。

タバコを買いに行っただけだったのですが、瞬間的に購入してしまった。

けれども、googleすると割と売っていますね

大根入り、牛すじ入り、つみれ入りの3種類があるらしいですが、つみれ入りは見当たらず。ちなみに、製造元の天狗缶詰さんのネット通販ページでは品切れ中です。ちなみに、サンクスでの購入価格は250円。ちょっと高め。

2005/06/28(火)PALO ALTO TINY BASIC

Z80

[Z80]TINY BASIC (2KB) 移植

PALO ALTO TINY BASIC

マイコンの歴史はこのBASICから開花したといっても過言ではないだろう。

PALO ALTO TINY BASICこいつに移植してみました。

1977年にLI-CHEN WANG博士がDr. DOBB's Journalに発表した小さなBASICインタープリタです。ROMサイズが2KB、RAMサイズが1KBでも走る優れものです。私がネットで入手した物はV3.0となっており上記雑誌に投稿したV1.0のバグFIXという記載がありました。

しかし、かれこれ30年前のソースが目の前で動作する姿はちょっと感動。

なんか、Z80じゃなくて、8080Aでワンボードマイコン作ろうかなぁ。という気持ちになったりして。


LICENSEについて記載が見つかりません

googleすると割と簡単に当時のソースが見つかりますが、はてさて、これは公開してよい物なのでしょうか?

JavaScriptでTinyBasic

googleしたらJavaScriptでTinyBasicというページを発見。すごいなぁ。

2005/06/16(木)赤外線リモコンを受信してみる

PL-IRM0101-3

少し前に秋月電子にて購入した

赤外線リモコン受信モジュール

で悪戦苦闘したメモ。例のボードでモジュールからの出力をコンソールに表示する簡単なルーチンを書いてみて驚いた。何も信号を受信していないのにHi-Lowをパラパラと出力している。どうやらノイズを拾っているようだ。1KでVCCにプルアップしたりパスコンを入れたりしても減るには減るがやはりパラパラと0出力が現れる。ネガティブ出力なのでリモコン光が来ていない時はHiになるはずだが。

ディカップリングの威力

秋月から購入したときのデータシートは簡単な物であるが、何気なくgoogleでサーチするとデータシートを発見推奨回路では220オームと4.7uFのディカップリング回路が入っている。で、とりあえず手持ちの100オームと10uFをVCCに入れるとこれが嘘のようにピタっと止まった。あーやっとこれからソフトウェア作成に取り掛かれる。電池駆動のPICやAVRならこんなトラブルに巻き込まれる事も無かったろうに。

2005/06/06(月)Z80 MONITOR

Z80

[Z80]超簡単シリアル通信

このZ80ボードとのシリアル接続をどうしようかと思案したが結局、ELMさんのページから拝借して74HC04と抵抗だけでRS-232Cインターフェスを組んでみました。

Z80ですから、いまさらLEDをピカピカさせても面白くありませんからねぇ。カードエッジコネクタが手元にないので8255のI/O側からユニバーサルボードへ接続。接続には手元にあったPC用のIDEケーブルを流用。ユニバーサルボード側から電源を供給。+5の電源は定番の秋月アダプター

PCとのシリアル接続はSUNブレードサーバやCISCOのターミナル変換コネクタを流用です。RJ-45と基板への変換コネクタには、多分、大阪のディジットのジャンクであろうかドンピシャな物で仕上げてみました。

ソフトウェアだけのシリアル通信

マイコンの時代、プログラムはカセットテープに記録しました。今自分がやろうとしている事は既に知識としてあったし、8085には専用の命令と端子があります。しかし、実際アセンブラで組んでみると、送信ルーチンはともかく、受信ルーチンは結構シビアです。高々9600ボーだと何も考えずに1/9600とその半分の1/19200秒をWAITするサブルーチンを用意して8255のポートCから1と0を読み込んでシフトさせてみましたが、ボロボロと取りこぼしが発生。結局、最初のスタートビット後の1/19200やシフトルーチン内での1/9600とストップビット中の2/9600のディレイルーチンはそれぞれWAIT時間が異なるという(至極あたりまえな)結論に達しました。

しかし、1バイトのシリアル入出力ルーチンが出来上がってしまえば(とはいえ、かなりてこづった)あとは、簡単なモニタープログラムを書けば、Z80とはターミナルソフト(もちろんTera Term)で会話が可能となります。まるで、よちよち歩きの赤ちゃんが少しづつ話をする事が出来るかのように・・

簡易モニターがあれば

昔のモニターによくあるRAMへの書き込みコマンド'W'を実装した。W 3C00と入力すればあとはキーボードからプログラムを打ち込める。G 3C00と入力すればプログラムをコールしてまたモニタールーチンに帰ってくる。PC上でZ80のクロスコンパイラでプログラムを書き、最後に出来上がったHEXファイルをこの'W'コマンドに変換するプログラムhex2ttyも書いた。この時点で、この幼いZ80ボードとPCはモニターを通じてプログラムの書き込みと実行を自由自在に行えるのである。

TeraTerm万歳!

ソフトウェアでのループ待ちでシリアルデータを吐き出す訳でこの間はデータが全く受信できないのである。このモニターでは入力された文字をエコーバックするように作ったので、1文字入力後は1文字分(正確には11/9600秒)キー入力を受け付けない。手入力の時は気が付かなかったが、HEXファイルをモニターコマンドに変換して、TeraTermのSendFileコマンドで一気に書き込みを行うと、このエコーバック処理の為にボロボロになってしまった。やっぱりハンドシェイックは必要か?RTS/CTSのハードウェアフローを実装するしかないなぁ。と思いきや、なんとTeraTermのSerialPortのメニューにTransmit delayなる設定メニューを発見。恐る恐る30msec/charなどと設定して実行してみるとなんとこれが大成功。TeraTerm様万歳なのであった。

CでもOK?

Z80のフリーのCクロスコンパイラsdccでも開発は可能だ。試しにスタートアップルーチンを書けば、Cからputchar(),getchar()も使える。本当にオープンソースは素晴らしい。が、いい気になってちょっとprintf()とか使うと、一気にオブジェクトが1.5KBとかなってしまい、このボードのRAMサイズ1KBが恨めしい。

やっぱりZ80は楽しかった

この10日間は会社から帰ってきては、夜な夜なZ80のアセンブラをやった。Cも書いた。sdccのスタートアップルーチンではコンパイル後のリストファイルを見ながら、引数渡しの方法を試みた。楽しかった。モニター開発途中ではEE-PROM 2816がとっても役立った。ライターのTopMaxも大活躍だ。ありがとう昔のチップ達よ。充実した日々が送れた。ハンダテラピーは僅かだったがヤニの香りを楽しませてくれた。

Z80 MONITOR
Z80 MONITOR

  • monitor.lst

  • Intel HEXファイルをターミナルからの書き込みキー入力コマンドへ変換 hex2tty.c

  • sdcc用スタートアップルーチン crt0.s

  • 2005/05/22(日)Z-80 SINGLE BOARD COMPUTERと16KのEEPROMを入手

    Z80

    Z-80 SINGLE BOARD COMPUTER

    Z-80 SINGLE BOARD COMPUTER

    XICOR 2816 (X2816BP)

    長らく 16KのEEPROM(2716の代用品)を探していましが、ひょんな事からXicorのX2816BPをまたまた大量に入手できました。

    これで死蔵していた古いZ80ボードが活用できます。このボードはネットで知り合ったOBさんから頂いたもので、その方は仕事で組み込み関係をやっておられた方です。その方曰く「最近は目がショボショボして自分ではもう使わないから」という事で手持ちのパーツを私に譲っていただきました。私も久しぶりにハンダテラピーしていますが、ユニバーサルボードにウレタン線(UEW)による配線がとてもシンドイのです。私もいつかは大量の在庫を抱えてしまうのでしょうか。

    でも、このボード殆どの部品が「セラミック品」なんですよ。74LS04,7430,74LS02,74LS138,2114 凄いなぁ。TTLのセラミック品なんて高校時代でも使ったことないと思うなぁ。

    Z80ボードは本当に久しぶりです。懐かしいです。Z80,8255,2114・・この辺りのチップって結構電源を食うのですよね。指で触ると暖かいです。Z80にいたっては「熱い」のです。あー懐かしい。昭和の感触だぁ。1980年代だ。あの頃が懐かしい。

    2816も結構「暖かいです」ROMソケットが2個付いているので、用もないのに2個指しています。

    でも、今使うならやっぱりPCとコミュニケーションが取れないとつまらないので8255のポートからソフトウェアでシリアルデータを出力するテスト中。レベル変換はどうしようか。まぁ手を動かそうよ。今日は雨だから、家に引きこもるのには都合がいい。

    2005/05/12(木)MSP430

    MSP430入門セミナー

    TI主催のMSP430入門セミナーでの参加記念品

    これの回路図やサンプルプログラムはここからダウンロード可能。

    MSP430
    MSP430

    TI MSP43F1231(43F1231)

    このMCUはTIがかなり力を入れているらしく、超低消費電力と強力な命令体系が印象でした。しかしセミナーの中で聞いた開発ツールであるCCEがEclipseベースである事に痛く感動した。

    ボタンリチウム電池一個で5年間稼動させるサンプルなど1.8V-3.6Vでのバッテリーオペレーションを強く意識した内容だった。

    要約ははてなを参照して頂いても結構。

    このボードも死蔵させてしまうと単なるコレクターになってしまうなぁ

    2005/04/15(金)NEC 78K0S/KA1+ スタータキット

    NEC 78K0S/KA1+ スタータキット

    数日前に、NECから以下のようなメールがあった。

    ★お客様は本キャンペーンに見事当選されました★

    ななんと、天下のNECが、私目にマイコンを与えてくださるとは。歳がバレてしまいますが、丁度高校生だったころ世間はマイコンブーム。日本ではNECのTK-80が火付け役でした。当時確か8万円くらいだったか。それでも私の手元に来ることはありませんでした。(悲しい思い出の一つ)同級生でMZ-80Cを持っているヤツがいて、それはそれは羨ましかった。その後のPC-8001、PC-8801とNECは日本のマイコン界のトップランナーに思えたのでした。あれから20年、その天下のNECから今になってマイコンをプレゼントして頂けるなどもったいのうございます(応募したからだろ)

    決めた。

    H8なんかやらない。こっちやる。だって僕のマイコン暦はNECで始まったんだ(intelじゃないのぉ?)

    僕のパーツボックスには古いマイコン周辺ICが沢山ある。8080A,8085,2716,2114...全部NECって書いてある。だからNECって書いてあるのが本物でそれ以外はきっとまがい物だ(妄想はもう沢山だ)

    今回の関連するURL

    http://www.necel.com/micro/product/sc/lowpin/index.html 8ビットALL Flashマイコン “小ピン”シリーズ

    http://www.necel.com/micro/campaign/lowpin/index.html 8ビットALL Flashマイコン “小ピン”シリーズ スタータ・キット

    https://www.ndk-m.co.jp/cgi-bin/asmis/shop/goods_detail.cgi?CategoryID=000007&GoodsID=00000013 DIP変換キット