Magic Cap 関連リンク 2009年版

General Magic(wikipedia)のMagic Cap(wikipedia)に関連するページを紹介します。

Magic Cap端末を買ったので、なんかアプリをひとつ作ってみたいなぁと、調査しています。


Magic Cap for Windowsスクリーンショット


  • ftp://fnu.iranger.com/pub/
    • Magic Cap 3.0用の開発環境がダウンロードできる。要VC6
    • ライセンス的にどうなのかは不明です。
  • 佐藤一郎: Web日記 (2014年)
    • 2009年2月9日の項目にGeneral Magicの特許についての記述があります。
    • モバイルエージェント技術が商用化できなかったのは、General Magicの特許が原因

Magic Cap 3.0端末であるData Rover 840などを買ったので、紹介記事を書く予定。

オフ会@吉祥寺

http://igc.seesaa.net/の人を交えて、10年前のイベント事情などについて10時間トークしてきた。書ける範囲で... (敬称略です)

  • PRECOCI関連
  • 2009/3/17 でデビュー10週年だけど、イベントないの?
  • YA-KYIMは売れてるの? YURIEは
  • 沼澤智之はモテモテだった。
  • 奥田綾乃サイバーエージェントに… via 本人のブログ
  • 当時のヲタ事情
  • 中田あすみ オスカー移籍
  • 白石あやの ニューヨーク留学中 via wikipeida
  • 小笠原茉莉が金髪 via 安藤聖のブログ 2008/08/25
  • 佐々木会長について
  • 芳賀優里亜について
  • horosue-mlはすごかった。
  • HotDog Pressの広末ファン特集について

で、その後、家に帰って調べた事

  • 小笠原茉莉が予備校のページに載ってた。サッカー部マネージャは適任だなぁ。
  • 関口洋美ブログは本人なんだなぁ。ブログを読破してみた、青春してる感が出ていて良いですね。今度ライブに行ってみます。

802.11bフレーム長の計算方法

802.11bのフレームサイズの計算方法についてのメモ。
たまに必要になるのだけど、その度に調べなおしてる気がする。

beacon frame 40バイト 1Mbps

  • 1Mbpsなのでプリアンブルはlongです。 long preambleの長さは 192usec です。
  • 1Mbpsで40バイトなので、(40*8)/1 で360usec
  • 計:192+360=552usec がフレーム長です。

data frame 1200バイト 11Mbps short preambile

  • short preambleはの長さは 96usec です。
  • 11Mbpsで1200バイトなので、 (1200*8)/11 = 873usec
  • 計 96+873=969usec がフレーム長です。

このフレーム長の値は、スペアナのゼロスパンモードやオシロなどで確認できます。


ゼロスパンモードの例
http://13.media.tumblr.com/FJeRSVI5tfxmu0houiy3F0Pho1_400.jpg
見にくいですね。

11a,11g,11nについてもいつか書く。

スカイリー・ネットワークスさんオフィスツアー

effyさん主催のスカイリー・ネットワークスさんのオフィスツアーへ参加してきた。
自分的には、Decentraの説明とZigbeeのデモが見れて、とても面白かったです。

Decentraの説明

  • L2レイヤでメッシュネットを実現している。UDP/IPとWLANドライバの間に位置している。
  • WLANのチップセットには依存しない。←データフレームだけを使っている。ビーコンやマネージメントフレームはつかっていない。
  • メッシュネット用のアドレスは48ビットで、IPアドレスを含めている。
  • 上位からはTCP/IPで同一サブネットに繋がっているように見える。
  • 愛地球博の実験では100台ぐらいの端末を1つのチャンネルでメッシュネットを作った。

メッシュネットの実装って楽しそうだな。やってみたいことリストに追加しとこう。

Zigbeeのデモ

  • Zigbeeの本を1冊読んだけど、今回デモを1回見た方が良く分かった。
  • スループットは200kbpsぐらい出る。
  • 最新のZigbee規格ほどスループットが遅くなる。
  • Zigbeeのアドレスはランダムに決まる。
  • Zibgeeアライアンスでテストするようになって、互換性があがった。
  • ZigbeeのチップはNECのものを使用して、Zigbeeのソフトをスカイリーさんが書いている。
  • ボリュームがでれば、Zigbee $2 + マイコン $2 ぐらいになる。


あとは、AndoridとかP2Pのあれこれな話をしてきました。

Applying Microprocesseors

McGraw-Hills の Applying Microprocessors(amazon.com)という本を買ってみた。
この本は、Electonicsという雑誌(wikipedia)の総集編で、Z80が出たての1976年頃のマイコン関係の記事がまとめられています。
去年末に、マイクロコンピュータの誕生―わが青春の4004を再読して、参考文献に載っていた"Z-80 Chip Set Heralds Third Microprocessor Generation"が読んでみたくて買いました。 この記事が載っている事はebayをチェックしていたら偶然に分かったのでした。


目次がどこにも電子化されていないようなので、目次をスキャンしときました。
original size
Z80以外にも、8255とかTMS9900などの記事も載っています。


同シリーズのMicroprocessors (amazon.com) も注文してみた。こちらには、4004について書かれた「In switch to n-MOS microprocessor gets a 2-us cycle time」が載っているらしいです。英語の本だと、古本の在庫が豊富なので、気楽に紹介できる気がします。

DSC-G3のカーネルソースを見た。

ソニーが2009年1月に発売したWi-Fi機能付デジタルカメラ DSC-G3(製品ページ)用のLinuxカーネルソースコードを見てみた。
ソースコードは、http://www.sony.net/Products/Linux/Download/search.htmlからダウンロードできます。

.config

.configを見ると、いろいろ分かります。

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.11-alp20080305
# Tue Jul 15 10:03:47 2008
#
CONFIG_ARM=y
#
# System Type
#
# CONFIG_ARCH_CXD4105 is not set
CONFIG_ARCH_CXD4108=y
CONFIG_ARCH_CXD4105BASED=y
  • メインのチップはソニー製のCXD4108
  • CXD4108はCXD4105の派生品
#
# Processor Type
#
CONFIG_CPU_32=y
CONFIG_CPU_ARM926T=y
CONFIG_CPU_32v5=y
CONFIG_CPU_ABRT_EV5TJ=y
CONFIG_CPU_CACHE_VIVT=y
CONFIG_CPU_COPY_V4WB=y
CONFIG_CPU_TLB_V4WBI=y
  • ARMのコアはARM926
CONFIG_CMDLINE="console=ttyAM0,115200n8 ip=on mem=60M memmap=0x02c8a000@0x21376000 initrd=0x2062e000,0x002ff000 root=/dev/ram0 init=/linuxrc rw"
CONFIG_ALIGNMENT_TRAP=y
#
# PARTNER Debugging
#
CONFIG_DEBINFO_NONE=y
# CONFIG_DEBINFO_STAB is not set
# CONFIG_DEBINFO_STABP is not set
# CONFIG_DEBINFO_DWARF is not set
# CONFIG_DEBINFO_DWARFP is not set
# CONFIG_DEBINFO_DWARF2 is not set
# CONFIG_KMC_PATCH is not set

USB OTGドライバ

/*
 * usb_otgcore.c
 * 
 * Copyright 2005,2006,2008 Sony Corporation
 * 
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*
 * get_config_desc_from_config_num
 *━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*
 * 概要:    現在のBusSpeedで、引数で指定されたConfig番号を持つConfigDesc
 *          を取得する
 * 入力:    g_core     : GadgetCoreへのポインタ
 *          config_num : Config番号
 * 出力:    !0   : 成功(ConfigDescへのポインタ)
 *          NULL : 失敗
 * 
 * <EOS>                                *
 *━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
usb_gadget_config_desc*
get_config_desc_from_config_num(struct g_core_drv *g_core, u8 config_num)
{
    usb_gadget_speed_desc *sp_desc;
    u8 i;
    
    /* 現在のspeedからSpeedDescを取得 */
    if(g_core->gadget->speed == USB_SPEED_HIGH){
        sp_desc = &g_core->desc_tbl->hs;
    }else{
        sp_desc = &g_core->desc_tbl->lsfs;
    }
    
    /* 指定のconfig値を持つConfigDescriptorを探す */
    for(i = 0; i < sp_desc->uc_num_config; i++){
        if(sp_desc->configurations[i].uc_configuration_value == config_num){
            return &sp_desc->configurations[i];
        }
    }
    
    /* 見つからなかった */
    return NULL;
}
  • 日本語でコメントが書いてある。

USB Controller Driver

/*--------------------------------------------------------------------------*
 * drivers/usb/mcd/usb_mcd_plat_uds.c
 * 
 * USB controller driver
 * 
 * Copyright 2005,2006 Sony Corporation
 * 
 * This code is based on plat_uds.c,
 * Copyright 2005 Mentor Graphics Corporation
  • driver/usb/mcd にあるUSB Controllerのドライバはソニー製。
  • USBのIPはMentor製(製品ページ)のようです。