Visor CFアダプタ用ドライバ開発メモ
(P-in Comp@ct)


本プロジェクトは一応完了しました。近いうちに製品化する予定なのでしばらくお待ちください。

11/21
Visor Prism(英語版)での動作を確認しました。Visor PlatinumでもたぶんOKだと思います。

9/21
P-in Cop@ctのドライバを一部修正すればPaldio611Sにも対応できることを確認しました。

9/8
P-in Comp@ct用のドライバを一部修正すれば以下のモデムカードにも対応できることを確認しました。ただし消費電流を測定していないですが、スペック上はSpringboardの最大100mAを越えている(特にXircomは180mA!)なので連続使用するとVisorの電源回路が壊れてしまうかもしれません(^^;
TDKのDF56CF

XircomのCompactCard Modem 56 GlobalACCESS
7/17
ついにVisor+P-in Comp@ctでネット接続成功!!!


HandTermでNifty接続がうまくいかなかったのは、改行をグラフティから入力したときに、向こうが出したプロンプトも送信してしまうという、HandTermの仕様のせいでした。左の通り、Nifty(Road7,PIAFS)に接続できました

左はPalmScapeでAD-Visor.netに接続しているところ。
昨日、PalmScapeでのネット接続(というかPalmOS内蔵のPPP接続)がうまくいかなかったのは、PalmOS内蔵のPPPドライバが、P-in Comp@ctの対応していないATコマンド("L3")を発行していたからでした。ドライバでこの文字を排除するという対処療法により、無事PPPが通るようになりました

j.
7/16
7/12の8ビットアクセスのための回路は間違いでした。68EZ328は8ビットアクセス時は[D15:8]を使わないといけないようです。変更点はデータバスの上位・下位をひっくりかえしたこと、それによって16ビットアクセス時に上位・下位が逆になってしまうことです。7/12の論理式・表は変更してあります。フラッシュカードのドライバはを作成する際に、上位・下位が入れ替わるのが問題になるかもしれません。何とかいい手はないものか...バス幅のモードに応じてデータバスを切り替えればいいんだけれど、回路が大きくなってしまいます...
この変更によりP-in Com@actに対してATコマンドを発行・リザルトの受信ができるようになりました。ドライバソフトは、HandSpringのサンプルをちょっと変更しただけのものです(サンプルのメモリマップに合わせるため、バイトアクセスを可能にしたという経緯があります)。

まずはNiftyのRoad7(PIAFS) に接続したところ。
Welcomeのメッセージは返ってきます。
ただ、この先に進めません。
Login:NIFTY[RETURN]
Password:[RETURN]
でNiftyにログインできるはずなのですが、「Bad Password」と言われてしまいます。
ターミナルソフトの改行コードの問題かなぁ?

32kbpsで接続中。(赤と緑のLED)

次に、PalmscapeによるWebアクセスを試みたのですが、以下のエラーが発生してだめでした。
実はモデムすら使ったことがないので、設定が間違っているのかもしれません。pal-mac.com とかmuchy.comのTRGProの記事を参考にさせていただいて設定しているのですが。 
−>Send,Receiveの文字列をトレースする機構をドライバに加えてデバッグする予定。

->->-> とか 
7/12
I/O空間にアクセスするための変更をしました。HC04とHC00を使ったアドレスデコーダーです。


7/11
P-inのアトリビュートメモリにアクセスできました。原因はVisorModuleとCFでRESETの極性が逆だったこと。こんなことに気がつかなかったなんて恥ずかしい。
ということで、いよいよドライバ開発に取りかかります。あと、I/O空間アクセスのためのアダプタ改造も必要。

 タプル情報を読んだところ。
 「NTT DoCoMo P-in Comp@ct」の文字が読みとれます。

7/7
HandSpringのReference Designとして公開されているDiagnostic Card用のサンプルアプリを使えばSerial Libraryを置き換えて、普通にHotsyncやモデムとして使えるらしい。ソースコードを読んでみると、Visorに搭載されているPalmOSはシリアルライブラリをフックするような機構が組み込まれているらしい。(たぶんVisor用PalmOSだけの機能だと思われる)。Jeff Hawkins偉い!
このソースコードをちょいちょいと変更すればP-in Comp@ct用のドライバは作れてしまうような気がする。
となると、残る問題はP-in Comp@ctのレジスタにアクセスできないということ。カタログによるとCardBusのドライバが導入されているのWindowsでないと使えないらしい。だけどCFバスのCD1#とCD2#はGNDに接続されているので、ハード仕様的にはCardBusではないはず(そもそもCFにCardBus仕様はないはず)。・・・というところから先に進んでいません。
p.s.Pal-Macにて応援バナーキャンペーンなるものを立ち上げて頂いたようです。応援ありがとうございます。
7/6
やっとP-in Comp@ctを購入した。早速、とりあえずCISを読んでみるか、と思ってやってみると、全アドレス空間で0(ゼロ)というデータしか読めない。いろいろやってみたけど結局解決できなかった。どうして???
Palm.comのKnowledgeBaseによると、PalmOS3.3からはNew Serial Managerが実装されていて、モジュール化したシリアルドライバを追加できるようなシステムになっているらしい。VisorはPalmOS3.1Hだから対応していません。しかもマスクROMなのでOSのアップグレードもできない。これが使えれば楽勝だったのに。やはりトリッキーな手段を使ってシリアルライブラリを横取りするしかないのか?
7/4
とよぞうさんとP-in Comp@ct用ドライバ開発について相談。
一旦コンフィグレーションレジスタに値を書き込んでしまえば、あとは普通のPC/ATのシリアルポートと同じになるはず。
デバッグ方法は、(1)Visor上のキャラクタ端末アプリを作成して、NiftyのPIAFS対応アクセスポイントで通信できることを確認する。(2)Visor用シリアルドライバを作成してPPP接続できるようにする。という2段階でいこうと思います。
近いうちにP-in Comp@ctを入手する予定です。

関係ありそうなLinuxのソースファイルをまとめてみました(作成中)。linux/はLinuxカーネルのソース、pcmcia/は最新のPCMCIAモジュールのソースです。
pcmcia/modules/cistpl.c
pcmcia/include/pcmcia/cistpl.h
CISタプル関係
pcmcia/modules/cs.c
pcmcia/include/pcmciai/cs.h
カードサービス
pcmcia/clients/ide_cs.c PCMCIA-IDEクライアント
pcmcia/clients/serial_cs.c PCMCIA-Serialクライアント
linux/drivers/ide/ide.c IDEドライバ

linux/drivers/char/serial.c
linux/include/linux/serial.h
linux/include/linux/serialP.h

シリアルドライバ
inode.c fat関連?
 
7/2
CISの解読を中心にLinuxのソースを読んいる。徐々に理解が深まる。フラッシュカードのCISをある程度は解読できるようになった。
ここで重大な発見! CompactFlashの場合はI/O空間のレジスタがメモリ空間にマップされるモードがあるが、とよぞうさんに送ってもらったDocomo611SのCIS情報によると、そのようなモードはないらしい。つまり、I/O空間もデコードするような回路が必要ということ(今はそうなっていない)。
ところで、最終目標の確認
 1)コンパクトフラッシュ(FATファイルシステム)を読み書きする。
 2)2.5インチハードディスクをVisorに接続して、FATのファイルを読み書きする(これはCFとは関係ないですが、FlashATAが使えればIDEも簡単なはずなのです)。
 3)DocomoのP-in Comp@ctを使ってインターネット接続できるようにする。
1)と2)は大容量ハードディスクを使ったMP3プレーヤーを作るという前からの夢を実現するための布石。
3)はおもしろそうですが、僕はPHSが使える地域に住んでいないので(T_T)、実験できません。Visor用シリアルドライバの開発を手伝ってくれる人募集中。
6/26
LinuxのPCカードサポートの最新ソースコードをダウンロード。これを参考にVisor用のドライバを書くつもり。
pcmcia/include/pcmcia/cistpl.h, cs.h, pcmcia/modules/cs.c, cistpl.cあたりにカードアービスの関係のルーチンがあります。
また、pcmcia/clients/ide_cs.c, serial.cにそれぞれIDE(CompactFlash),シリアル用ドライバが記述されているようです。
6/24
PCカードテクニカルガイド( 翔泳社 )を購入。CISに関する情報が少しはまとまっている。しかし構造の中身の詳細までは書かれていない。PCMCIAの規格書(4万円!)を購入しろってことか?(日本ならhttp://www.pc-card.gr.jp/、海外ならhttp://waww.pcmcia.org/で買えます。)CFの仕様書はhttp://www.compactflash.org/から入手できるけど、CISなどの詳しいことは結局PCMCIA規格書を参照しないといけない。
6/17,18
トランジスタ技術スペシャルNo.63(パソコン周辺インターフェースのすべて),No.67(同II)を参考にPCMCIA,CFの勉強。
電気的特性や概略は分かるが CIS(Card Information Structure)に関する情報が不十分。

著作権・免責事項など

本ページに記載されている論理式・回路図・ソフトウェア等の著作権はTTRMKRが保有します。無断転載・商用利用などは禁止します。個人的な製作に利用することは制限しません。
本ホームページを参考にしたいかなる結果についても、責任は負いません。
自作SpringBoardをVisorに装着した結果Visorが壊れてしまった場合には、メーカー保証が効かない可能性があります。注意してください。

トップページ

Last update:2000-07-03  TTRMKR