エントリー

カテゴリー「make:」の検索結果は以下のとおりです。

甦るwristPDA

  • 2009/01/21 12:25
  • カテゴリー:make:

 スケジュール帳やアドレス帳をPDAに任せるようになって随分になります。電子手帳に始まり,ザウルス,そしてPalmと移行してきましたが,残念ながらPalmの次がなかなか現れず,レガシーなシステムに私の記録と予定をゆだねていることに,ちょっとした焦りを感じるようになっています。

 よく言われることですが,Palmは非常に良くできたシステムで,情報が欲しいときにさっと開いてアクセス出来ることが最大の利点だと思っています。また,紙に匹敵するくらい入力が楽に出来ることも特筆すべき点でしょう。

 今さらPDA論をぶつのもお笑いぐさなのですが,PDAは紙の手帳と列ぶことが最低必要で,そこからどれくらい便利になるかが勝負です。Palmは紙かPDAかを議論するに値する,唯一の存在だったと今でも思います。

 スマートフォンがPDAに取って代わるといわれて久しいですが,かつては普及を待ち遠しく思った私も,冷静に考えてみると携帯電話のビジネスモデルにPDAが適するとは考えにくく,やっぱり別々に持つしかないなあという結論に至っています。

 しかし,PDAを持ち歩くのもやや煩わしく,アドレス帳とスケジュール帳とメモくらいの,薄くて軽い入力が楽ちんなPDAが出てくれればいいのになあと思っていたりします。

 一時,これが現実になりそうな時がありました。

 2005年に,FossilがWristPDAというPalmOSベースの腕時計PDAが登場しました。随分話題になったので覚えている方も多いと思いますが,このWristPDA,PalmOS4で動いており,世代はやや古いとはいえPalmが持っていた機能はなにも妥協せずすべて搭載してあったという,なかなかに意欲的なマシンでした。

 私はFossilのものとブランド違いのABACUSのものの2つを所有していて,特に荷物の多い帰省の時などに使っていましたが,最大の欠点は電池があっという間になくなることです。

 USBから充電をするのですが,最長でも3日ほど,普通なら2日ほどで切れてしまいます。Palmは電池が切れるとメモリの内容が完全に消えてしまうので,スケジュールやアドレスのデータはもちろん,追加したアプリケーションや設定なども全部消えてしまいます。これを再度インストールするにはPC(加えて別にもう一台のPalm)が必要で,出先では絶望です。

 さらに,その電池も購入から3年以上が経過し,いよいよ充電すら出来ないほどに劣化してしまいました。電池の切れたポータブル機器はゴミです。

 そこで電池の交換をしないといけないのですが,少し前までは小型の二次電池の入手が難しく,交換は絶望的でもありました。しかし,最近はiPodShuffleなどの小型機器が数多く出ており,これに使われる電池も特別なものではなくなっています。

 我々素人でも,これらの製品を購入し,ばらして電池だけ使うことができますから,どうにか手段はあるという感じでしょうか。

 私の場合も,ある機器から外したリチウムポリマー電池を使って,電池の交換を行ってみました。

ファイル 256-1.jpg

 元々の電池はコイン型のリチウム2次電池です。直径30mmですので,縦横30mm以内の電池ならおさまります。厚さはざっと5mm以内なら大丈夫ですね。

 ということで,交換して電池の寿命を測ってみたのですが,1日半ほどしか持ちませんでした。うーん,オリジナルが3日ほど持ったことを考えると,かなり物足りない結果です。

 もう少し容量の大きな電池を手に入れる機会があれば逃さないようにし,出来れば3つほど確保して入れ替えて見ようと思います。

 ところで,実は最後のPalmとして,TungstenTXを,個人輸入代行業者に依頼中なのですが,現在入荷待ちです。随分時間がかかりそうで心配しているのですが,他の業者なら在庫があって即納だったりしたので,失敗したなあと悔やんでいます。円高ですし,今ならちょっとお買い得かなあと思って買うことにしたのですが,やっぱりよく調べて行動しないとダメですね。

スピーカーのエッジを交換する

  • 2008/11/27 00:51
  • カテゴリー:make:

ファイル 236-1.jpg
 私が社会人になった翌年だったと思いますが,小型のブックシェルフスピーカーが欲しくて,夏休みに帰省した際に買ったのがJ520MというJBLのスピーカーでした。

 2本セットで2万円か3万円かそんなもんで,JBLでもこんな値段で買えるんだなあと思って買ったのですが,音はやっぱり値段相応で,特に満足も不満もなく使っていました。

 今から7年ほど前,KT88シングルのアンプとこのスピーカ,そしてマランツのCD8000というこれまた安物のCDプレイヤーをセットにして,当時新築したばかりの実家にプレゼント(迷惑だったかも知れませんが)したのですが,母に聞くと時々は使っているようです。

 ところが,先日私が音を出してみると,どうも低音が細く,バスドラムにタイトさがありません。10cmのウーファーじゃなあ,と思っていたのですが,もしやと思ってよく見てみると,ウレタンでできたエッジがボロボロになっていました。

 いやはや,噂には聞いていましたが,これがウレタンエッジの加水分解ですか・・・

 音を出すとボロボロと崩れるような状態ではありませんが,指で押せば押したところがへっこんだままになりますし,ひっかけばめくれたようになって穴が空きました。

 考えてみれば購入して12年以上が経過しているわけで,そりゃダメになるわなあと考えた次第です。

 大したものでもないからこの際捨ててしまおうかと思ったのですが,このころのJBLって廉価版でも「Made In USA」なんですね。エンクロージャも結構しっかりと作られていて,10cmウーファーの2Wayにしては無理をしてないゆとりのある大きさです。

 ちょっともったいないなあと思って調べて見ると,やはりありました。交換用のウレタンエッジを売っているお店が。

 多くの機種に対応できており,その中からJ520Mに合致するものを選ぶのは大変そうです。サイズが少し違うんですがJ520Mに対応と書かれたものがいくつかあって迷います。

 しかしそもそもエッジを交換するということが特殊な事ですから,多少のサイズの違いくらいは気にしないのが醍醐味です。(といいつつ,実はこれがのちのち足を引っ張ることになるのですが・・・)

 外周の直径が112mmと124mmの2種類が用意されており,どちらにすべきか迷いましたが,112mmが1500円,124mmが1900円ということなので,112mmを買いました。1本400円の差ですから,2つで800円ですよ。この差は大きい。外周のサイズは小さくてもokと書いてあったので,大丈夫でしょう。

 専用の接着剤も一緒に買い,この週末,高校時代の仲の良い友人の結婚式に出席するのにあわせ,実家で作業にかかりました。

 まず,劣化したエッジを除去します。指でボロボロと剥がしていくのですが,思う存分スピーカーを壊せるという夢がかなった瞬間である一方で,案外やってみるとつまらない上,溶けたウレタンと接着剤でドロドロになったカスが指にこびりつき,気持ち悪いです。

ファイル 236-2.jpg

 フレームに残ったウレタンを彫刻刀で削ぎ,コーンの裏側に残ったウレタンと接着剤を丁寧に剥がしていきます。はっきり言ってここが一番苦痛です。

 コーンは基本的には紙製なのですが,表面は樹脂でコーティングされています。エッジを貼り付ける裏側は紙がそのままになっていますので,注意して剥がさないと破れます。

ファイル 236-3.jpg

 結局1時間以上かけて古いエッジを剥がし,いよいよ新しいエッジを取り付けます。ここまで来れば楽勝と思っていたのですが,接着剤を塗る前に試しにはめ込んで見たところ,どうもエッジがやや小さい上に,コーンの傾斜角度とエッジの角度が違っていて,密着してくれません。これはかなり難易度が高そうです。試しにオリジナルと違う,コーンの表面にエッジを貼り付けるようにしてみると,あつらえたようにぴったりです。しかし,オリジナルと違うことをしてしまうとろくな事はありません。

 なんとかなると見切り発車をしたのですが,やはり作業は難航。先にコーンとエッジを接着剤で貼り付けるのですが,エッジの内径がやや小さいため,コーンがかなり窮屈そうなのです。エッジを少し引っ張りながら接着すると,エッジが元の大きさに戻るときにコーンを歪ませたり,しわを寄せたりします。

 なにせ水性の接着剤ですので,コーンの裏面の紙から染みこみ,ふにゃふにゃになります。これも想定外でした。

 接着剤の乾きが遅く,くっつけてもすぐに浮いて隙間ができるのを指で押さえて,どうにかこうにか接着ができたのは,さらに1時間が経過してからでした。

 コーンにあたった光の反射を見てみると,明らかにコーンが歪んでいるのが分かります。きっとコーンへの応力も部分部分で違っているでしょうから,明らかにおかしな振動をしそうな感じです。

 しかしやり直せばさらにドツボにはまるものです。ここは涙を飲んで,フレームへの接着に進みます。

 もともとダンパーがしっかりしているので,センター出しの作業にはそんなに手間はかからないだろうと思っていましたので,軽く触ってボイスコイルが触っていないことだけを確認して,さっさと接着をしました。

 うまくいっていないと思っていたのですが,エッジとフレームは接着剤がなくても密着してくれているので一安心です。

 1つ目が苦労の末にそこそこのレベルになったのに気をよくしつつ,もう1つのユニットも交換を始めます。

ファイル 236-4.jpg

 ところが油断しました。劣化したエッジの除去まではよかったのですが,新しいエッジをコーンに接着するのに失敗し,ぱっと見るだけでコーンが変形しているのが分かるほどです。かなりの応力がかかっていることが手に取るようです。

 なんとか修正をしようと思いましたが,コーンがふやけてしまい,いじるほどコーンに歪みが出ます。そうこうしているうちに接着剤が乾いてしまい,びくともしなくなりました。

 まあ仕方がない。気を落とさずフレームに接着しよう。

 しかし,1つ1つの作業は丁寧にしないといけないですね。1つ目はエッジをフレームがぴたっと密着していましたが,2つ目は一部で浮いて隙間ができています。明らかにエッジが,ある方向に無理に引っ張られて変形しているようです。

 かなり失敗の空気が漂う中,作業を進めます。同じようにセンター出しをさくっと済ませて接着剤を塗り固定します。隙間が空くと空気が漏れるので,接着剤であなを埋めていきます。

 そして1時間ほど経過して,コーンを押してみます。ところが,ある部分を押したときだけ,「ガサゴソ」と嫌な手触りが伝わってきます。そう,ボイスコイルが触っているようです。

 つまり,エッジが変形しているのをそのままくっつけたものだから,ボイスコイルが斜めにストロークするようになったんでしょう。

 こりゃまずい。これは妥協できません。

 エッジとフレームを接着している接着剤を慎重に剥がし,さらに余計な接着剤を針で除去して,もう一度やり直しをします。こういう場合,私は大概コーンを破るとかしわを作るか,復旧不可能な致命傷を負い,再帰できなくなります。

 絶望的な,しかし失うものは何もない,という心意気でザクザク作業を進めたところ,奇跡的に成功。

 しかし,やり直しが可能になっただけのことです。次にうまく接着できるとは限りません。

 接着剤を塗り,慎重にセンター出しをしながら固定を試みます。やはりエッジが変形しているのがわかります。

 しかし,エッジを少し引っ張りながら,センターを出していきます。接着剤が乾き始める20分ほど格闘し,ようやく固定されました。

 乾いてから隙間を埋めて,さらに乾くのを一晩待ちました。

 翌日,幸いなことにしっかりと固定されており,センターも出ているようで,ボイスコイルの接触も見られません。ただ,2つ目はコーンの歪みが目立ち,どう考えてもオリジナルと同じ音が出そうにありません。しかも,左右で全然違う音が出てくることでしょう。

ファイル 236-5.jpg

 元のエンクロージャに取り付け,音を出してみます。

 まず,ビビリが出たり,歪みが出たりと,スピーカーとして動かないという状況はありません。音は普通にでます。

 エッジを交換すると,さすがに低音にタイトさが戻ってきますね。相変わらずナローレンジなスピーカーですが,以前のような「だらーん」とした音はしなくなっています。

 ただ,やはり左右で特性が違うんでしょうね,定位感が薄くなり,ちょっと散らばる印象です。まあ,リスニングポジションも良くないし,最初から期待する方が無理ではあるのですが,もうちょっとうまくできたはずと,残念でなりません。

 元々そんなに定位感のあるスピーカーではありませんでしたし,BGMとして鳴らす音楽なら,辛抱できなくないレベルですので,もういいです。3000円でこれだけの手間をかけて(都合5時間かかりました),それであまり良い結果が得られなかったので,大体最後にはどうにかしてきた私としても,今回ばかりは敗北を認めざるを得ません。

 真鍮の鉄道模型を作る私がこれだけ苦労するんですから,客観的にみてかなり難易度は高かったと思うのですが,そういうこともあって,これは他の人にお勧めできないと思いました。というか,これ,みんな成功してるんですか?うまくいったように見えて,実は結構無理をしてるとか,そういうことはないんでしょうか。

 元々安いスピーカーですし,特別音が気に入っていたわけではないので,そういう意味ではあまり悔しいわけではありません。だけど,はっきりいって,もう二度とやりたいとは思わない,そんな作業でした。

 まあいいや,とりあえず音がそこそこ出ていますし,もう5年くらいはもつでしょう。次ダメになったら,別の10cmのユニットと交換しますよ。

中国のトランジスタ

  • 2008/11/07 20:39
  • カテゴリー:make:

 川崎にあるサトー電気で,怪しげな中国製のゲルマニウムトランジスタが168円というそこそこの値段で売られています。

 私も,物珍しさも手伝って,なにかのついでに2本ほど買ったのですが,いかんせん素性が分かりません。使うあてもないので別に構わないのですが,やはり電子部品はその仕様が分かってなんぼ,のものですから,少し調べてみることにしました。

 さて,このトランジスタ,型名を3BX31Cと言います。2Nでも2Sなく,3Bです。サトー電気のホームページには,NPNのゲルマニウムと書かれています。中国では割に標準的なもののようで,かの国では教科書にも出てくるほどメジャーなものらしいです。

 お待ちかね,その仕様ですが,複数のデータを統合すると,こんな感じです。

Ge-NPN(アロイなのかグローンなのか構造は不明)
用途              : 低周波増幅用
コレクタ損失(Pc)       : 125mW
コレクタ電流(Ic)       : 125mA
コレクタ遮断電流(ICBO)    : 最大6uA
コレクタ-ベース間電圧(VCBO) : 40V
コレクタ-エミッタ間電圧(VCEO): 24V
エミッタ-ベース間電圧(VEBO) : 10V
直流電流増幅率(hFE)     : 40~180
ベース接地での遮断周波数(fb) : 最小8MHz

 VCBO,VCEO,VEBOについては,厳密にはブレークダウン電圧が記されていたのですが,おおむねそのトランジスタの耐圧と見て良いですから,ここでは最大定格としました。

 こうしてみると,ごく普通の2SDxxというゲルマニウムトランジスタという感じですね。ぱっとみると,2SB172クラスのトランジスタで,2SB172のコンプリである2SD31なんかとよく似た感じでしょうか。

 ところで,この見慣れない中国製トランジスタの命名ルールを見つけました。

 最初の数字の3はトランジスタであることを示しています。電極数を書いているような感じですね。

 次のBは構造を示しています。AがゲルマニウムでPNP,BがゲルマニウムでNPN,CがシリコンでPNP,DがシリコンでNPN,Eが化合物半導体です。

 次のXは用途です。Xは低周波小信号用(3MHz未満で1W未満),Dが低周波電力増幅用(3MHz未満で1W以上),Gが高周波小信号用(3MHz以上で1W未満),Aが高周波電力用(3MHz以上で1W以上),Kがスイッチング用,です。それとどうやらCSがFETのようです。

 次の数字,31は通し番号です。番号そのものには意味はないようで,このあたりは日本のトランジスタなんかと同じでしょう。

 最後のCは,これは同じ品種で規格が変わった改良品などを示しています。これも日本のトランジスタと同じですね。

 よって,3BX31Cは,ゲルマニウムNPN低周波小信号用トランジスタ,となります。

 他にも用途の記号はいろいろあるようなのですが,さっぱりわかりませんでした。(たぶんサイリスタとかトンネルダイオードとかPINフォトダイオードとか)
 
 最後にお約束です。ここに書かれたことには誤りがある可能性も高く,内容を保証するものではありません。この情報によって発生したいかなる直接的,間接的な損害についても,著者は一切責任を負いません。
 

 

甦ったPC-E500

  • 2008/10/27 17:06
  • カテゴリー:make:

 もう1回だけPC-E500のネタにお付き合い下さい。

 今回のメモリ増設をもって,PC-E500の改造は本当に終了しました。あとは日本語環境やファイラー,ゲームなどをインストールして終わりという感じなのですが,1年前に書きましたように,このPC-E500は私にとって2台目なのです。

 1台目は10年ほど前に入手したのですが,昨年久々の動作確認時に壊れていることがわかり,2台目を同じようにオークションで手に入れることにしました。

 その時,PC-E200,PC-2001,X-07,PX-1246やPC-1401など,何かに取り憑かれたように,目に付いたポケコンを片っ端から落札しては,宅急便のおじさんがポケコンを我が家に運び込む度に我に返るという生活を,年明けくらいまで繰り返していたわけです。

 PC-E500の故障というのは,そういう破滅的な生活のきっかけになった事件だったのですが,その故障したPC-E500は,何度か修理を試みつつも失敗に終わり,部品取りとしてジャンク箱に投げ入れられていました。

 修理の過程で部品も一部なくなっていますが,基本的に程度は良い方です。

 それは突然のことで,なぜかそのPC-E500が修理出来ると,根拠もなく確信したのです。

 当然,X-07という大物を修理した後にも修理を試みていますので,この1年で経験値が上がっているわけでも,なにか閃いたわけでもありません。ただ,なんとなく今回は修理出来ると思ったのです。

 果たして,土曜日にジャンク箱から取り出した,壊れたPC-E500を目の前にしていました。

 まずは不足している部品を戻すことから始めます。コンデンサもいくつかなくなっているので,これは回路図を調べて,同じものを取り付けます。SRAMもとりあえず256kbitのものを取り付けて元通りにしておきましょう。

 この段階で電源を入れても,やはりなんの表示も行われません。表示が行われないだけではなく,LCDに電源が入っていないような感じです。つまり,全く動作していません。

 どんなときでも,マイコン関係のトラブル対策は,電源,クロック,リセットの3つの神の手を調べることです。

 電源は・・・CPUにもメモリにも5Vがかかっていますね。これは問題なし。LCDの電源も一応供給されているようです。LCD電源用のDC-DCコンバータが動いていない可能性もあると思いましたが,なんとく動いているようなので,とりあえずそれは後回しです。

 リセットは・・・PC-E500の場合,パワーオンリセットは「ない」のです。恐ろしいといえば恐ろしい設計ですが,CPUのリセットはリセットボタンのみに繋がっており,電源ONキーが割り込みに繋がっています。

 ですから,PC-E500は電池を入れたら必ずリセットボタンを押さないといけません。電源ONキーと同時にリセットボタンを押すとメモリのオールクリアになり,初期状態になります。

 PC-E500は完全スタティックか回路ですので,電源OFFはスタンバイに入れることになりますし,電源ONも割り込みでスタンバイからの復帰をすれば良いだけです。電池交換でも,動作用電池とは別のリチウム電池が,メモリやCPUをバックアップしているので,動作用電池の交換後でも,元のようにレジュームがききます。

 そう考えると,確かにパワーオンリセットなんて必要がない,ということになるかも知れません。

 ということで,リセットは手動のみ,きちんと解除されているので,CPUは動いているはずです。

 クロックは・・・PC-E500はCR発振のスロークロック(約200kHz)が常時発振し,電源ONで2.3MHzのセラロックが発振をします。見てみるとどちらも問題なく発振しているようです。

 ということで,この3つがきちんと揃っているのに,動かないというのはちょっと厄介です。つまり,部品の不良かハンダ付けなど配線の不良のいずれかということになります。

 配線の不良ならまだ良いのですが,部品の不良ならお手上げになる可能性が高くなります。CPUも汎用品ではありませんし,ましてROMなど壊れていたら,もう本当に入手は無理です。(もちろん,ROMを自分で焼けばよいのですが)

 しばらく考えて,次のチェックです。3つの神の手が正常であるなら,CPUは少なくとも動こうとしているはずです。アドレスバスやデータバスを確認すると,なにやら必死になって波形を出しています。ちゃんと5Vと0Vを行き来しており,中途半端な電位は見あたりませんので,バスのショートはとりあえずなさそうです。

 次にチップセレクトを見てみます。リセットをかけてからチップセレクトの動きを見てみると,ROMへの信号は動いても,RAMへの信号は全く動きません。ということは,CPUはROMのアクセスをしようとして,失敗しているということでしょう。

 こうなると,CPUとROMの間の配線を見ていくのが良さそうです。データバスのD0からD7,続いてアドレスバスのA0から順に見ていきます。すると,A4で導通がありません。A3もA5も大丈夫なのに,A4だけ導通がないというのは,やっぱりおかしいです。

 そこで,とりあえずCPUとROMのA4をジャンパ線で直結してみました。

 電源を入れてみると,メモリ初期化のメッセージが画面に出ています。おお,修理が出来ました。とりあえず,どの部品も壊れていないようです。

 配線については,全部のICのハンダ付けをやり直しているので大丈夫と思っていたのですが,基板が壊れて,配線が切れていたようです。

 さて,こうして修理出来たことはうれしいのですが,あくまでこいつは予備機です。どこまで改造するべきか悩みましたが,もう1台のPC-E500がRAMをフル実装してあり,メモリカードまで潰していますので,こちらはメモリカードを使える機種として温存しておきましょう。

 ということで,RAMはS1:エリアをフル実装の256kByteとし,S2:やそれ以外のエリアには一切手を付けません。RAMは秋月で買った1MbitのSRAMを2つ使って改造します。

 SRAMを2段重ねにし,256kbitのSRAMを外して,交換します。A16まではそのままCPUから引っ張ってきて,CPUのA17を下の段のRAMのCS2に,上の段のRAMのCS2にはインバータで反転したA17を入れます。こうするとA17によってどちらかのRAMが選択されるという仕組みです。全メモリエリアをきっちり半分ずつ2つのチップで分け合う場合に,もっとも簡単な方法です。

 作業が終わって電源を入れると,ちゃんと256kByte認識しています。問題なしです。

 むしろ困ったのは,バックアップ電池のフタを固定するためにある,金属製のナットをなくした事でしょう。仕方がないので,0.5mm程の真鍮の板を重ねて,これをナットに加工して作ることにしました。

 ということで,PC-E500が2台になりました。それぞれのROMバージョンを調べると,2と3ということがわかりましたが,私にはどちらのバージョンの方が良いのか,わかりません。

 今度こそ,PC-E500のネタは終わりのはず・・・

PC-E500のメモリが1Mbyteに迫る勢い

  • 2008/10/24 19:21
  • カテゴリー:make:

 PC-E500関連の資料を眺めていて思ったのですが,S1:というエリアとS2:というエリアにそれぞれ256kByteのメモリを搭載したことで,もうメモリを追加する方法はない,と思い込んでいた私は,どうも間違っていたようです。

 もちろん,バンクメモリという荒技や,NANDフラッシュを内蔵するという方法で大きなメモリを搭載する方法は知っていましたが,これらはいずれもアマチュアが考えついた独自の方法であり,デバイスドライバがなければアクセスできません。

 私個人は,そこまでやってしまうことはオリジナルシステムを無視したように感じてしまい,どうも美学に反するように感じてしまうので,そうした方法を使ってまでメモリを増やそうとは思いません。

 PC-E500に搭載されたSC62015という8ビットCPUは,後にPIザウルスにも搭載された高性能なCPUです。先日も書きましたが,ユーザーが我慢できないコンピュータの弱点は処理速度よりもメモリの小ささだと思っていまして,PC-E500シリーズがマニアに指示された理由は,やはりこのメモリを搭載できる力に長けていたことにあると考えています。

 SC62015は,アキュムレータや汎用レジスタが8ビットなので8ビットCPUの範疇に入れてよいと思うのですが,スタックポインタやインデックスレジスタは20ビットの長さがあります。そのくせプログラムカウンタは16ビットだったりするので,なにやらアクの強さを感じますね。

 プログラムカウンタは確かに16ビットですが,4ビットのセグメントレジスタも持っていて,この2つで20ビットのアドレッシングを可能にしています。ただし,プログラムカウンタがオーバーフローしてもセグメントレジスタはインクリメントされないので,その点では8086なんかと同じように,64kByteの壁が存在しています。

 そんな話はよいとして,このCPUはとにかくアドレスを20ビット生成する力があるということですから,最大1MByteのメモリをアクセス可能なわけです。もともと32kByteしかRAMを持たないPC-E500にとって,1MByteというのは無限に広がる荒野に近いといえます。

 8ビットCPUでも64kByte以上のメモリをアクセスできるCPUは多いのですが,残念なことに多くはアドレスを生成するレジスタが16ビットだったりするので,実際に使ってみると非常に面倒な制約がついてしまうのです。SC62015についても,セグメントの境界による制約がないわけではありませんが,少なくともコードではなくデータについてはリニアアドレスと見て良いだけの自由度があります。

 もう1つ,20ビットのアドレスが生成できるからといって,CPUの信号線としてアドレスバスを20本も出しておく事は,普通はない話です。半導体の価格は,一般にチップ面積だといわれていますが,それは高価な半導体の場合のお話で,安い半導体の場合,チップそのものよりもパッケージの価格が大きく見えるようになることも多いのです。

 そしてそのパッケージの価格は,ピンの数と関係があります。使わないピンは出さないでおいて,ピンの数を減らした方が安くて小さいICになることは言うまでもないでしょう。

 SC62015の場合,アドレスバスが18本外に出ています。256kByteのメモリまでをサポートしているわけですね。上位の2ビットのアドレスは外には出てこないので,一見すると1Mbyteのメモリはサポートされないように思うのですが,実は上位のアドレスをデコードしたチップセレクト信号を8本出してあります。

 そうなんですよね。確かに20本のアドレスバスを全部外に出しておいてくれれば,どんなアドレスにも好きなサイズのメモリを繋ぐことが出来るのですが,一方でそのメモリチップを割り当てたアドレスの範囲でアサートされるチップセレクト信号を作ること(これをアドレスデコードといいます)は,メモリのサイズが大きくなればなるほど規模も大きくなり,煩わしいのです。

 そこで汎用性の低い組み込み向けのCPUではアドレスデコードを済ませたチップセレクト信号をアドレスバスの代わりに出しておくことが一般的です。気の利いたCPUでは,デコードするアドレスをレジスタで可変出来るようになっていて,これはこれでなかなか便利なのですが,弱点がないわけではなく,プログラムが走り出して,レジスタの設定が終わるまで外のメモリにアクセスが出来ません。

 SC62015の場合,チップイネーブルのアドレスデコードは固定されているため,言い換えると8本出ているチップセレクトにデコードされたアドレスが,即メモリマップになるというわけですね。

 これによると,

CE0 80000h - BFFFFh 256kByte 内蔵RAM(S1:)
CE1 40000h - 7FFFFh 256kByte RAMカード(S2:)
CE2 C0000h - FFFFFh 256kByte 内蔵ROM(S3:)
CE3 20000h - 3FFFFh 128kByte 未使用
CE4 0C000h - 0FFFFh 16kByte  未使用
CE5               LCDコントローラ
CE6 10000h - 1FFFFh 64kByte  ROMカード
CE7 BC000h - BFFFFh 16kByte  システム

 ということで,実は1Mbyte全部のエリアをアクセス出来るようにはなっていません。

 アドレスバスは18本しか出ていませんから,チップセレクト1つあたりに接続できるメモリは最大256kByteまでとなります。すでにCE2は256kByteのROMが接続済みですので,内蔵RAMとRAMカードのエリアをそれぞれ256kByteにした合計512kByteが,PC-E500の限界だと私は思っていたわけです。他のアドレスにRAMをただ繋いでも,システムレベルでサポートされなければ使い道がありませんからね。

 ところが,CE3にしてもCE6にしても,別にGPIOを併用したバンク切り替えで作り出されたアドレスとは違って,CPU自身が生成するアドレスであるところがミソでして,ここにRAMを繋ぐと,確かにシステムレベルでのサポートはなくても,CPUからは特別な工夫無しに自由にアクセス出来る事には違いないのです。

 もし,内蔵ROMのアドレスに割り当てられているS3エリアを,CE3に増設したRAMのアドレスに割り当てることが出来れば,CE3のRAMが直ちにシステムレベルでのサポート対象となりますね。(あ,ここでいうシステムレベルというのは,PC-E500のIOCSが持つファイルシステムでアクセスが可能になる,という意味でして,S3でROMがアクセス出来なくなっても,そもそもその必要性が薄いため支障がないのです。)

 それで調べて見ると,この割り当てというのは,IOCSのワークエリアの5バイトに,開始アドレスとサイズの2つを書き込むことで行われているらしく,要するにここをCE3のアドレスにしてやれば,めでたくS3エリアをRAMにすることが出来そうです。

 そこで先程のメモリマップを眺めてみますと,CE3の128kByteとCE6の64kByteが連続したエリアとして合計192kByteを割り当てることも可能です。

 ただ,256kByteで1チップのRAMなどを使うわけにはいかない(チップセレクトを2本使わないといけませんからね)ので,どうしたって2チップが必要になります。

 ここまで考えて,思いついたのは先日秋月電子で買っておいた1MbitのSRAMです。こんな事もあるかと買っておいたのですが,CE3に繋がる分はいいとして,CE6に繋がる分は半分余らせてしまうことになります。

 もったいないと思いましたが,よく考えると1つ100円です。100円をけちるのに256KbitのSRAMを2つ使うようにアドレスデコーダを組む手間や,あるいは256KbitのSRAMを1つだけ使って32kByte足りないままで使うよりは,ずっとお得と考えて,1MbitのSRAMを2つ使う事に決めました。

 回路図をささっとかいて,PC-E500を分解します。

 私のPC-E500は,S1やS2エリアのSRAMに,2Mbit品というちょっと変わったものを手持ちの関係で使っています。実は3.3V品なのですが,ダイオードで電圧を落としてごまかしてつかっています。(やばいんですけどね,こういうことをするのは。)

 ですからトータル512kByteになっているPC-E500としては配線数も少なく,またSRAM自身もTSOPという小型パッケージですので,スペースは十分にあると思っていたのですが,今回の1MbitのSRAMは通常のSOPです。分厚い上に大きいので場所がありません。

 そこで,RAMカードを入れる部分をこわして,ここに配置することにしました。どうせカードをはめ込めば暴走するわけですし,これでいいです。

 しかし,SOPのSRAMは分厚いです。1つあたり2.7mmほどあるので,重ねると5.5mm程にもなります。やはり少し削って,高さを抑えないといけないと判断し,ベルトサンダーを持ち出して削りました。

 あまり削りすぎると壊れるので慎重に削っていきますが,結局2つで5mm弱程度にしました。見た目には随分薄くなったように見えるのですが,シャーペンの芯1本文くらいしか薄くなってないのかと思うと,結構がっかりです。

 配線をどこから確保するかも悩んだのですが,元のRAMが付いていたランドはすでに2MbitのSRAMへの配線で使われていて,ここを使うのはトラブルの原因になるように思いました。そこで,RAMカードのコネクタを潰して,ここから信号を取り出すことにしました。どうせカードは使えないのですし,別にいいです。

 後は40本程度の配線を根気よく繰り返すだけです。私は単純作業が好きな人ですので,こういう配線は全然苦になりません。時間の経つのも忘れてしまうほど没頭できます。もしかすると,写経なんかもやってみたらどっぷりはまるかも知れないです。

 配線が終わってテスターでひと通りの確認をして電源を入れると,問題なく起動はします。追加したアドレスに値を書いて読み出すと同じ値になっているので,まずは動作しているようです。

 S3のアドレスをワークエリアを書き換えてみると,ちゃんとS3として増設したRAMが読み書きできます。一応動いていそうです。

 でも心配なので,増設したエリア全域を,AAhと55hで埋め尽くし,正しく読み出せるかを行ってみましたが,エラーも出ずにすんなり終了。もう大丈夫でしょうね。

 これで,私のPC-E500は,256+256+192の704kByteのRAMを実装したポケコンになりました。おお,往年のPC-9801を越えましたよ。(FM-RやPC-100,ハイレゾの98には勝てないのですが)

 これに内蔵ROMの256kByteを加えると,実に960kByteとなり,SC62015の限界である1Mbyteも目前というところまできます。調べて見るとさらにCE4まで使ってしまう人までいるようですが,私はもうそこまではやる気はしません。

 で,これだけメモリを増やしてどうするのか,とお思いでしょうが,日本語化するとメモリがたくさん必要なので,とてもありがたいのです。日本語フォントが50kByteちょっと,変換辞書が70kByteちょっとですので,合計ですでに130kByteほど。これにユーティリティ類やゲーム数本,ヘルプファイルをいれておくと,あっという間に256kByteなんか使い切ってしまいます。

 S1エリアはメインメモリですから,ここをストレージにするのはあまりにもったいないです。そこでS2にファイルのたぐいを集めるのですが,私の場合残り2kByte程まで使い切っていたのです。そこに192kByteも増えるのですから,これはもう盆と正月が一度に来たくらいありがたい話です。

 設定をすませ,広いメモリ空間をゆるゆると漂う感覚は,いつ味わってもいいものです。

 仮想メモリという「偽物」を当たり前の存在にしたモダンなOSに,飼い慣らされて牙を抜かれた現代人は,目の前にあるアドレス以外は信じない,という原始の我々が一様に備えていた野生の感覚を取り戻し,あの時のように星を頼りに粗末な小舟で果敢にこぎ出すことの喜びを,もう一度知ることが出来るのでしょうか。
 

ページ移動

ユーティリティ

2020年06月

- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 - - - -

検索

エントリー検索フォーム
キーワード

ユーザー

新着画像

新着エントリー

過去ログ

Feed