日々

link permalink

謎の DEL キー

他の端末エミュレータの動きも気になったので、普段お世話になっている PuTTY の動きを見ていたのですが、DEL キーを押すと CSI 3 07/14 が飛ぶんですね。

DEL キー以外にも F1〜F12 とか Insert, Home, End, PgUp/Dn 辺りのキーを押しても 07/14 が飛ぶんですが、何か規格があるのかなあ。

ECMA-048 だと 07/14 は Private Use となっていて、何も書いていないのですが…。

メモ: 技術系の話は Facebook から転記しておくことにした。

[編集者: すずき]
[更新: 2015年 11月 1日 02:15]
link 編集する

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link permalink

遅延 0.05 フレーム

表示遅延0.05フレームの液晶モニタ2機種をアイ・オーが発売、三菱モニタ技術を使った第二世代機 - Engadget Japanese を読んで。

IO-DATA のサイト見たら HDMI で受けられる Full HD モニタのようです。

個人的に気になるのは、パネルの画素数と合わない解像度(720p とか)を入力して、低遅延モードに切り替えたらどんな表示になるのでしょう?

この遅延時間が本当なら、最大でも 1125 ライン中 56 ラインくらいしか保持していないはずで、画面全体の情報を使うような処理(縦方向の拡縮)は不可能に思えるんですが…?

メモ: 技術系の話は Facebook から転記しておくことにした。

[編集者: すずき]
[更新: 2015年 11月 9日 22:57]
link 編集する

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link permalink

Thumb 命令を実装

自作 ARM エミュレータ(リンクはこちら)に Thumb 命令を実装しました。

これにより CodeSourcery (今は Mentor Graphics Sourcery Tools) のコンパイラにて -mthumb オプションを付けてビルドしたコードが実行できるようになりました。

Linaro のコンパイラが出すコードを実行するには Thumb-2 命令も必要なのですが、Thumb-2 は全然仕様が違うので実装が大変そうです。うーん…。

メモ: 技術系の話は Facebook から転記しておくことにした。

[編集者: すずき]
[更新: 2015年 11月 9日 23:02]
link 編集する

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link permalink

Facebook

Facebook のプロフィールをトリコロールにする機能も、その機能を使った人も、さらに安否確認機能まで叩かれてますね…。

本人の思いはどうであれ、レバノン(11/12ベイルートのテロ)は無視して、フランスだけ特別扱いしているようにしか見えませんね。

善意から来た行動でも、傷付く人は居るから慎重に行動すべき、ってのは分かってたつもりですが、いざ自分がやると気付かないもんだ…。

メモ: 技術系の話は Facebook から転記しておくことにした。

[編集者: すずき]
[更新: 2015年 11月 21日 14:28]
link 編集する

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link permalink

FTO の思い出

古いコンテンツサルベージ計画です。今回の記事は、書いたのは大学生時代、車を買ったときくらい(2003〜2004年あたりか?)です。

昔の日記もそうですけど、照れ隠しなのか何なのか、どうでも良いことを書いて間延びしすぎです。読みづらいので、ざっくり削りました…。

FTO GPX '95

私が乗っていた平成 7年(1995年)式の FTO という車を紹介したいと思います。

おそらく 50代くらいの方は FTO と聞くと、ギャランクーペ FTO(1971年〜75年)が思い浮かぶと思います。同じ名前を冠していますが違う車です。

FTO は三菱のスポーツタイプ車です。1994年から発売開始、1996年にマイナーモデルチェンジ、2000年に生産中止となりました。できるならまた作って欲しい車です。

私の FTO はマイナーチェンジ前のいわゆる前期型です。1997年以降は AT が 4速から 5速へと変わり、フォグランプが丸型になりました。派手なスポイラーを付けた FTO GP ver.R グレードも追加された他、いくつか特別仕様車や限定車もあるようです。

排気量は 1800cc 〜 2000cc、駆動方式は FF です。ざっくり言うとトヨタ セリカやホンダ インテグラと同じくらいの車格です。日本車初のシーケンシャルシフト AT(三菱は INVECS II と呼んでいる)を搭載した挑戦的な設計となっています。

自分の車は INVECS-II のシフトアップ/ダウンの方向を入れ替えています(この話も後日サルベージ予定)。


筑波パープルラインにて

筑波パープルラインに行ったときに撮った写真です。車が汚いです…洗車してから行けば良かった。

インプレッション

個人的に車は見た目命なので、その点は非常に満足しています。パワステは重めですが、重くても軽くても車の持ち味だと思うので気にしません。駆動系はノーマルで 200馬力です。普通に走っていてこれ以上のパワーが必要になる機会はないでしょう。

足回りは前のオーナーさんがスプリングをいじったためか、非常に硬いです。元の足回りはわかりませんが、元々乗り心地なんて気にする車ではないです。アグレッシブなデザインの犠牲か、窓の位置が高くて横が見えません。バックミラーも全然見えないです。1m くらいのポールだとほぼ見えません。

居住性ですが、見た目のとおり狭いです。後部座席は身長 150cm くらいの人でないと、頭が上にぶつかります。トランクだけは意外と広いですが、深さが無く、開口部が上向き(=ハッチバック式ではない)で引越しでは役に立ちません。車幅は 1.7m をわずかに超える程度で、3ナンバーです。

燃費は 9〜10km/L 程度。街乗りのストップ&ゴーでは 9km/L を切ることもしばしばで、ハイオク指定なので財布に優しくないです。フロントヘビーで、前タイヤがやたらと減ります。FTO に限らず FF 車は同じ傾向がありますけどね。定期的なタイヤのローテーションをお忘れなく。

FTO GPX '95 諸元表

メモ代わりに性能の一覧を載せておきます。純正じゃない部品も付いているので、純正の諸元とは異なります。

三菱 FTO GPX '95
型式 DE3A
駆動方式 FF
トランスミッション/変速比 4AT 2.842/1.529/1.000/0.712 ファイナル 4.626
タイヤ/サイズ ハンコック VENTUS K102 205/50R 16 87V
全長x全幅x全高 4320x1735x1300 (mm)
形態/乗車定員 2ドアクーペ 4名
原動機/種類、機能 6A12 MIVEC V型 6気筒 DOHC 24バルブ 可変バルブタイミング機構(MIVEC)付
排気量/出力 1998cc 200ps/7500rpm 20.4kgm/6000rpm
室外装備/追加 フォグランプ、リアスポイラー、アルミホイール
室内装備/追加 キーレスエントリ、フルオートエアコン、パワーウインドウ&ステアリング
音響/追加 ラジカセ
その他装備/追加 ABS(アンチロックブレーキシステム)、サス スプリング(RS R 製、詳細不明)

純正の諸元が知りたい方は、中古車サイトなどでカタログを検索してみてください。

[編集者: すずき]
[更新: 2015年 11月 21日 23:02]
link 編集する

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link permalink

FTO INVECS-II の+/−を入れ替える

古いコンテンツサルベージ計画その 2 です。今回の記事は、書いたのは大学生時代、車を買ってしばらくしてから(2004〜2006年あたりか?)です。

この記事もどうでも良いことを書いて間延びしすぎです。読みづらいので、ざっくり削りました…。

入れ替えの目的

三菱 FTO の AT モデルには、日本初のシーケンシャルシフト機構 INVECS-II が搭載されました。ちなみに FTO は Fresh Touring Origination の頭文字だそうです。へぇー。

INVECS-II は車が自動的にシフトチェンジを行う通常の AT モードと、運転者がシフトアップ&ダウンを指示するシーケンシャルモードがあり、モードはいつでも切り替え可能で、運転している気分がより高まること間違いなしです。

シーケンシャルモードは、シフトノブを前に押すとシフトアップ、手前に引くとシフトダウンします。このままでも充分ですが、アップとダウンの向きを逆にした方がレースカー気分がさらに増して良いのでは?と思い、このたび+/−の向きを入れ替えました。

当内容は FTO のオーナーズサイト Tension を参考にさせていただきました(2015年現在、残念ながらサイトが無くなってしまったようです…)。

注意

最初に結論だけ言えば INVECS-II はシフトパネル側にシーケンシャルシフトを検知するスイッチがあります。スイッチに繋がっている信号線を入れ替えれば、+と−が逆になります。そこに辿り着くまでには、いくつかの部品を分解しなければなりません。

私のクルマ(GPX 95年式)は電装系はほぼノーマルのはずですなので、基本的には今からご紹介する手順でどの FTO でも上手くいくと思いますが、マイナーチェンジ後、カーナビ搭載車などでは、部品の分解手順が異なる部分等があるかもしれません。ご了承ください。

分解、センターパネル

灰皿や小物入れに物が入っていると衝撃で飛び散るので、シガーソケットとともに最初に外します。CD やカセットなども取り除きましょう。


シフトパネルを上から見た図

オーディオ等がついているセンターパネルを分解します。パネルの周りにあるゴムパッキンの下 1/3 くらいのところから左右にツメ(図の赤丸部分)に向けて、ドライバーを差し込み、テコで内側のツメを押し込む感じで外します。ちょっと嫌な音がしますが折れなければ問題なし。

次に灰皿の横あたりのツメを外します。センターパネルを少し引っ張るとわかりやすいはず。パネルの最上部も外します。最上部はツメではなくエアコンの下部に差し込まれているだけなので、引っ張れば抜けます。

もしセンターパネルを引き抜く際にシフトノブに干渉する場合は、車のキーを回して、シフトノブを P レンジから N レンジに入れれば干渉しなくなります。

電飾用とシガーソケット用のコードを全て外し、後付けオーディオなどがセンターパネルに固定されている場合はそれも外します。するとパネルだけになるので、後部席にでも置いときましょう。

分解、小物入れ

これは簡単です。カップホルダーを力任せに引っこ抜き、見えたネジ 2本を緩めます。次に小物入れ(真中の黒くて開閉できる箱です)を開け、中のネジ 2本を緩めます。そしてフタを閉めた後、後部座席の向きにグイグイ揺らすと一気に取れます。こんなでかいのにネジ 4本…。

分解、センターカバー

助手席の右から運転席の左の部分まで広く覆っているカバーです。大きいだけあって手ごわいです。エアコン下の 2箇所のネジ、運転席側の 3つのネジ、助手席側の 3つのネジ、これら全て外します。

純正オーディオにひっかかってセンターカバーが取れない場合があるので、オーディオも外します。左右の銀色の板の 2つずつあるネジ(計 4つ)を緩め、オーディオを引っこ抜きます。で L 字の金属板とオーディオをつないでいるネジ 4つを外し金属板を外します。ただし、オーディオのコードは一部取れない(電源コードかな?)ので完全には外れません。仕方ないので落ちて壊れないような位置に押し込んで置きましょう。

センターカバーを助手席側に押すようにして上に持ち上げる(こうしないとサイドブレーキにひっかかる)とガバっと全部取れます。できれば、純正オーディオが落ちないように、手で抑えながら外してください。

分解、シフトノブ

シフトノブを外します。上のプラスチックボタンは左右 2個所のツメで止まっています。パネルと同様の仕組みですが、ツメがけっこう長いです。おそらく 2箇所同時に外さないとボタンが取れません。私は右上と左下にドライバーを差し込んで外しましたが、無理な力が掛かってる感じがしますね。何かいい方法があるのでしょうか…。

ボタンを外すとバネと白い土台(これらは変な粘着物でくっついている)が見えるので回して外します。その下には 12mm ナットがあるのでディープソケットを使って(ソケットじゃ届かないのでここだけは工具が必要)外し、シフトノブを上に持ち上げて外しましょう。

改造、シフトパネル

シフトパネルは 4つのネジで固定されているので、全部外せば持ち上げて外せます。パネルは 2つの板が上下にあるツメで噛み合ってるだけなので外してやると、+と−の印字された青ボタンが見えると思います。青いボタンは黒いプラスチックを取り除き、表から押せば取れます。

しかし+と−の位置を入れ替えてはめ直しても入りません。−の方は土台が湾曲しており、ボタンもよく見ると同じ形ではありません。どうやらシフトパネルの湾曲に合わせているようです。細かいなー。

仕方ないので黒い柱はニッパーで切り、青いボタンの土台も削って適度な大きさにした後、アロンアルファを流し込み(表まで垂れないように)固定します。青いボタンが取れるとまた全部分解しなければならないので、しっかり着けましょう。

改造、コネクタ

+と−のボタンの下に目的のスイッチがあります。スイッチに繋がっている線を見ると同じ色の線があります。これが回路駆動用の電源コードで、違う色のコードが信号用のコードです。

コードを追うと、助手席側に固定されたオスコネクタに辿り着くと思います。このコネクタからさきほど確かめた色の信号線を引き抜いて交換します。が…オスコネクタががっちり固定されていまして、固すぎて取れません。

私はクルマ側から来ているメスコネクタのコードを入れ替えました。コネクタ内はストレート結線っぽいので問題ないはずです。どのコードが信号線か入念に確かめた上で、コネクタの裏からマイクロドライバのマイナスを突っ込んでツメを押します。情けは無用です(すごく固い)で線がうまく抜けたら差し替えて、コネクタを元に戻します。ドライバーを折って怪我しないように。

ちなみにコネクタを破損してしまうと、まったく変速できなくなるので注意してください。コネクタを抜いた状態で D に入れて、家の周りでも走ってみたらわかりますが、自動変速モードにならず、シーケンシャルシフトも効きません。ずっと 1速のままです。

復元

うまく+と−を逆出来たら、勘と記憶を頼りに全てを元通りに組み立ててください。私は形が同じで色だけ違うネジを間違えて組み付けてしまいました…。あーあ…。

これから作業する人は勘と経験ではなく、分解しながら写真を撮っておくことを強くお勧めします。

使用工具一覧

使用した工具の一覧です。

ドライバー
プラス、マイナス両方とも
マイクロドライバー
なければマイナスのみで OK
ピンセット
ネジを落とさないようにする
懐中電灯
FTO の室内灯は暗い
ラチェットハンドル
単なるハンドルでもいい
ディープソケット
シフトノブの 12mm ナット回しに必須
マイクロプライヤー
なくても平気かな
ニッパー
爪切りで代用可能
アロンアルファ
ボタンの加工時に使用
ヤスリ
角を落としたほうがいいものがあります
[編集者: すずき]
[更新: 2015年 11月 21日 22:25]
link 編集する

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link permalink

外の世界

自作エミュレータに外部とのアクセス手段を足そうと思い、ARM Versatile に載っており、かつ Linux のドライバが存在するハードを調べてみたら、

  • NOR フラッシュ
  • MMC(SD カードみたいなもん)
  • Ethernet

NOR フラッシュなら簡単かなーと思って調べ始めたら、ちょっと甘かったです。

Versatile のメモリコントローラの仕様書には 16bit フラッシュの型番が載っていて「対応してる」と書いてあります。つまり 16bit フラッシュをエミュレーションすれば良いはずです。

NOR フラッシュにはコマンドという概念があって、特殊なアドレス+特殊なデータを write すると、コマンドとして解釈されます。コマンドによって、容量とか 8bit なのか 16bit なのか調べたり、ブロックを Erase したりできるわけです。

試しに Linux のドライバを動かして、CFI という JEDEC の規格に載っている Query コマンド(CPU から Flash へ、容量やらビット幅を尋ねるコマンド)を送るとき、どんな動きをしているか見ると、

  • CPU からは 32bit 幅でアクセスされる
  • コマンドのアドレスは 32bit 品か、16bit 品のものを 2倍した値(0x000154 = 0xaa << 1)
  • コマンドのデータは 16bit 品のものだが、上位 16bit と下位 16bit に同じデータが入る(0x00980098)
    32bit 用であれば 0x00000098 でなければならない

このように一見 32bit に見えて、コマンドのデータが全然違う値なので、最初はさっぱり意味がわかりませんでした。

もしデータ幅と同じ 32bit フラッシュが接続されているのであれば、下記の図のように接続されていて、使用するコマンドは 32bit フラッシュ用のデータになるはずです。


32bit NOR フラッシュの接続例

しかし仕様書にはどう見ても 16bit フラッシュの品番が書いてありますし、実際に発行しているコマンドも 16bit フラッシュ用のデータです。

ハードに詳しい方はお気づきかもしれませんが、おそらく CPU と NOR フラッシュの間にいるメモリコントローラが一枚噛んでいて、下記の図のように 16bit フラッシュに 2発同時アクセスして、32bit データを扱えるようにしていると思われます。


16bit + 16bit NOR フラッシュの接続例

アドレス線は共通(ただし下位 1bit は捨てる)で、データはコントローラ側で分割(Write 時)、結合(Read 時)される仕様です。

CPU から見ると 1度に 32bit のデータを扱えるように見えますが、あくまでも接続されているのは 16bit フラッシュですので、アドレスとデータは 16bit フラッシュ用のものにしなければなりません。1つ目のフラッシュと 2つ目のフラッシュ双方にデータを送る必要があるため、上位 bit と下位 bit の両方にデータを入れていた訳です。

とまあ、こんな具合で read は簡単(?)に出来ましたが、write を調べたら erase, write のパターンが多くて、ちょいと大変そうです…。

余談

Flash ROM のハードウェア仕様上のアドレスは、ワードアドレス(つまり 2バイトでアドレスが 1増える)ですが、仕様書のコマンドの説明はバイトオフセットで書いてありました。少なくとも Intel と Micron の仕様書は。

従ってエミュレーションする際はバイトアドレスを使った方が、仕様書と数字が一致して読みやすいです。ハードウェアのアドレス線がどうなっていようが、ほとんど気にする必要はありません…。

[編集者: すずき]
[更新: 2015年 12月 10日 01:46]
link 編集する

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link permalink

日記の Permanent Link 先

このサイトの日記には「permalink」というリンクを出していて、リンク先はあらかじめ保存しておいた HTML ファイルへのリンクとなっています。

内容は同じですが、動的に生成するトップページに比べ、permalink 先は単なる HTML ファイルですので表示が速いはずです。実はきちんと測ったことないので、どれくらい速いかまでは知らないですけど…。

で、permalink のリンク先である HTML ファイルは、今まで記事を書くごとに手動で更新していたわけです。しかし面倒だし良く忘れてリンク切れになるし、ロクなことがないので、自動更新するように変えました。

現状は自宅サーバから更新を掛けており、昼と夜の 1日 2回更新です。たしか Sakura のサーバでも crontab を設定できたはずですが、書き方が悪いのか動かなかったので放棄しました。

[編集者: すずき]
[更新: 2015年 11月 26日 01:15]
link 編集する

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link permalink

クロスコンパイラを自分でビルド

自作 ARM エミュレータで Linaro のクロスコンパイラで作ったバイナリを動かすまでは道が遠すぎて(ARMv6, Thumb-2, ARMv7 の実装が要る)、すぐに出来そうにないので、

ARM9 用の gcc と glibc をビルドすれば良いんじゃねー?と軽い気持ちで始めたのですが、エラー大量発生&何を変えたら直るかさっぱりわからず、悪戦苦闘でした。

一応 libc 付き&スタンドアローンで動作する ARM 用クロスコンパイラが作れましたが、疲れましたね…。

Linaro は crosstool-NG を使っているようです。次はこれも試してみようと思います。自前でやって苦戦した今だからこそ、ビルド自動化ツールのありがたさが理解できるはずです。

GitHub に怒られた

適当に gcc と linux のソース tarball を Github に叩き込んだら、Github に「デカいファイル置くな」って怒られた…。

GitHub に push した時の警告
remote: warning: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com/
remote: warning: See http://git.io/iEPt8g for more information.
remote: warning: File gcc-shared/gcc-4.9.2.tar.bz2 is 85.77 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB
remote: warning: File linux-headers/linux-3.18.11.tar.xz is 77.21 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB
remote: warning: File gcc-shared/gcc-4.8.4.tar.bz2 is 82.23 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB

メモ: 技術系の話は Facebook から転記しておくことにした。

[編集者: すずき]
[更新: 2015年 11月 27日 00:38]
link 編集する

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link permalink

さようなら nottv

ドコモ、NOTTV/モバキャスを 2016年 6月に終了 周波数は返還 - ITmedia Mobileを読んで。

ニュース見て nottv の開始時期いつだっけ?と思って調べたら 2011年でしたから、約 5年で終わってしまったんですね。

テレビ放送は放送局の都合で番組が流れるだけですが、VoD なら見たい番組をすぐに見ることができるわけで。どちらも有料なら、テレビ放送は選ばないですよね…。

メモ: 技術系の話は Facebook から転記しておくことにした。

[編集者: すずき]
[更新: 2015年 12月 27日 19:44]
link 編集する

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link permalink

Facebook にも意外と書いていた

Facebook での 2013〜2014年辺りの書き込みを、この日記にも転記しておきました。

大した数ではないだろうと甘く見ていたら意外と数が多くて、結局 50個近くのエントリを作る羽目になりました。うーん、疲れた……。

[編集者: すずき]
[更新: 2015年 12月 1日 01:09]
link 編集する

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



こんてんつ

open/close wiki
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報