FrontPage 新規 編集 検索 一覧 ヘルプ

Diarys2007

2007年の日記

2006年以前 2007年 2008年 2009年 2010年 2011年 2012-16年


2007-12-14

オープンソースが好きっ!

隊長っ、ラジャー!

ドヂでノロマなカメの私で良ければ、ソース・メンテしまーす。バイナリパッチするのも好きですけど、ソース直した方がきっと後々の為になりますしね。

#とは言え、自分のむか〜し作ったソフトのソースは恥ずかしくて出せない…(^^;

2007-12-9

PS/2マウス変換アダプタを作ってみた

随分と前からですが、今使っている68のマウス・トラックボールの動きが、かなり怪しげになってきてました。

もちろん、Nereid で USBマウスを使う方が快適なマウス環境になるのですが、標準マウスポートにもそれなりに利用価値があるので、Kum's Page さんとこのPS/2 MOUSE Adapterを作ってみました(Delux版でなくシンプル版で)。

ソフトは今のMPASMで通るように、ヘッダ部の書式変更、定数10進表記を 16 -> D'16' のように変更、EEPROM 用データの定義のorg 位置を 0 -> 0x2100, 0x30 -> 0x2120 と変更、edata -> de と変更しただけで、あとはほぼそのままです。

※2009/6/30補足: MPLAB8.33で通した際のソース修正点

  1. レジスタ名の変更 (OPTIO → OPTION_REG)
  2. ソース末尾への end 行の追加
  3. 即値の書式変更 (10進数: 255 → D'255' , 2進数: 0bxxxxxxxx → B'xxxxxxxx')
 list	P=PIC16F84A
 include "P16F84A.inc"
 __CONFIG	_HS_OSC & _PWRTE_ON & _WDT_ON & _CP_OFF
 org	0x2100
 
 E_SPEED:	de	D'0'	;スピードの初期値
 
     ・・・(以下、省略)・・・

かくして、こちらが完成した PS/2 mouse to X68 mouse 変換アダプタ

miniDin6pinメスをケースに留めるナットが結構大きいので、ケースはオリジナルより一回り大きい物を使いましたが、これでもあんまり余裕なかったかも・・・。回路は小さいんですけどね。

ほとんどコネクタだけのようなスリムな変換アダプタもあったそうですが、私の物理加工はこのくらいが関の山かも(^^;。小さく収めて作るのって難しいですねぇ・・・。

#でも、動いてるから良いことにしよう。

[カテゴリ:x68]

2007-11-20

windry.sys 経由で AVIファイルが開けなかった理由

実機じゃないから放置・・・と書きましたが、やっぱり気になったので調べてました(^^;

泥臭い方法ですが、こんな感じです。

 C>DB.X AVI2ISD.X h:test.avi h:test.isd
 ps _read      --- _read のアドレスを調べる
 $000FAB5E:_read
 b1 fab5e      --- ブレークポイントの設定
 g             --- _read の位置まで実行
 l             --- この位置からリスト表示
 b2 xxxxx      --- read から戻る位置にブレークポイント設定
 d xxxxx       --- SP位置からダンプして、スタックに詰まれた引数を得る
 d yyyyy       --- 引数の読み込み領域のアドレスからダンプ
 g             --- _read から戻る位置まで実行
 d yyyyy       --- 何が読み込まれたかを確認
 ...           --- 繰り返し
 C>DB.X AVI2ISD.X h:test.avi h:test.isd
 ps _read
 $000FAB5E:_read
 b1 fab5e
 ... 
 C>DB.X AVI2ISD.X h:test.avi h:test.isd
 ps _open      --- __open のアドレスを調べる
 $000FA958:__open
 b1 fa958      --- ブレークポイントの設定
 g             --- __open の位置まで実行
 l             --- この位置からリスト表示
 ...
 $000FA984  move.w  d3,-(a7)
 $000FA986  clr.w   -(a7)
 $000FA988  DOS     __IOCTRL
 $000FA98A  addq.w  #4,a7
 $000FA98C  move.l  d0,($0010,a3)
 
  (中略)
 
 $000FA9CC  moveq.l #$00,d1
 
 $000FA9CE  move.l  ($0010,a3),d0
 $000FA9D2  and.l   #$00008004,d0  <-- chk1: bit15 と bit2 が落ちてるか?
 $000FA9D8  beq	    $000FA9E4
 
 $000FA9DA  moveq.l  #$03,d0
 $000FA9DC  and.l  ($0010,a3),d0   <-- chk2: bit0,1 が落ちてるか?
 $000FA9E0  beq     $000FA9E4
 
 $000FA9E2  moveq.l  #$01,d1
 
 $000FA9E4  move.l   d1,($000c,a3)   <-- ここで値を書き込んでいる
 b fa98c    (止まる度に d0の値 をチェック)
        NG例    OK例    内蔵HDD
 1回目  80c1    80c1    80c1
 2回目  80c2    80c2    80c2
 3回目  80c2    80c2    80c2
 4回目  c0c0    c0c0    c0c0
 5回目  80c0    80c0    80c0
 6回目  2027    202a    0002   <--- NG例では、chk1,2 共に流れる値が返ってる
 7回目    -     206a    0042
 bit15   0:ブロックデバイス  1:キャラクタデバイス
 bit14   0:IOCTRL 不可       1:可能
 bit11   0:特殊 IOCTRL 不可  1:可能
 bit 5   0:COOKED MODE       1:RAW MODE
 bit 3   1:CLOCK   デバイス
 bit 2   1:NUL     デバイス
 bit 1   1:標準出力デバイス
 bit 0   1:標準入力デバイス
 
 (bit0〜5 は bit15 が 1 の場合のみ有効)

・・・という事で、どうもドライブのデバイス情報を得た時に、キャラクタデバイスと誤認されてしまう事が問題ではないかと思われるのと、bit0〜5は bit15 が 1 の時のみ有効という事で、$000FA9D2 のand.l #$00008004,d0 を and.l #$00008000,d0 に書き換えてみることにした。

ジャンプする命令じゃないので、そのまま C0BC 0000 8004 を検索して、C0BC 0000 8000 に書き換えてあげます。DB 使って書き換えてみました。

 C>db
 X68k Debugger version 3.00 Copyright 1987-1993 SHARP/Hudson
 Micro Processor Unit:16bit MC68000
 Floating Poing Co Processor:Software emulation.
 -p
 Micro Processor Unit:16bit MC68000
 Floating Poing Co Processor:Software emulation.
 debug program from $000B7A40
 user  program from $000EE4B0
 -r AVI2ISD.X,$100000
 -p
 Micro Processor Unit:16bit MC68000
 Floating Poing Co Processor:Software emulation.
 debug program from $000B7A40
 user  program from $000F0110
               end  $0010D96E
               exec $00100000
 symbol table  from $000EE3C0
 -msw 00100000 0010D96E C0BC 0000 8004 
 0010A902
 -d 0010a902
 -l 0010a902
 -mew 10a906
 0010A906     8004 :8000
 0010A908     670A :.
 -w avi2isdK.x,$100000 $10D96D
 -q
 
 C>fc /b AVI2ISD.X avi2isdK.x
 0000A907: 04 00
 C>

さて、こうして 1byte 書き換えた avi2isdK.x で、先の NG例 のドライブのAVIファイルを試してみたところ・・・Wow! AVIファイルじゃない!なんて言われずにちゃんと走ってくれました(^^)

まぁ、戻ってくるデバイス属性値が変だから仕方ないところではありますが、何はともあれこれで動くようになって良かった良かった。

[カテゴリ:x68]

2007-11-17

失敗、失敗

昨日の、変換できるAVIファイルと変換できないAVIファイルがあった件ですが、とりあえず何とかなりました。

実は、変換時間短縮のために、エミュレータ上で windrv.sys 経由でAVIファイルを読ませていたのですが、あれこれ試してみると、ファイルではなく、置いていたドライブにより成功/失敗となる事がわかりました(要は、E: に置くと失敗するが、I: に置くと成功するという…)。

深く追求はしていませんが、問題のドライブの場合にはRIFFヘッダが読めてないんですよねぇ・・・。

もっとも、実機には関係ないし動くドライブでは変換できているから、まぁいいやと今は放置してます(^^;

[カテゴリ:x68]

2007-11-16

動画に感動

今日はちょっと一息入れて、X68で自然画の動画を見ています。

実のところ、今まで自然画の動画を X68 上で見たことはありませんでした…と言うのは、当時は充分なディスク容量が無かった事と、040turbo も 060turbo も積んでなく、とても無理だろうなぁと思い込んでいたから(^^;;

しかし、x68ch の情報を見ると、128x128 位の ISD形式なら 10MHzマシンでも10fps 位いけるって書かれているじゃぁないですか。030 + Mach-2 なら 30fps も!?

これはやってみなくちゃ!という事で、手元の EXPERT改 17.5MHz でとりあえず音声無しの画像だけで試してみました(AVIファイルは Windows 上で無圧縮にして LAN経由で実機に持ってきました)。

 (数時間後)

・・・うまい、うますぎる・・・

今更、何を言ってるんだ?とお思いでしょうが、実機で自然動画がびしばし動いている様子はまさに圧巻です。未見の方は、ぜひ実機で味わってみてください(^O^)/

 [今日お世話になったソフトご一行様]
  avi2isd.x  --- AVI無圧縮ファイルからISD形式へコンバート
  isdplayr.x --- X68上で ISD ファイルを再生

※ちなみに、まだ手元の動画全てが使えているわけじゃなく、幾つかのファイルはうまくコンバートできない(AVIファイルではありません。と言われる)ので、その辺りもうちょっと試してみたいなと思っています。

[カテゴリ:x68]

2007-11-14

EIZO GAWIN M-10

愛用の CRTディスプレイ CZ-612D も、最近は時々画面が明るくなったり暗くなったりと調子が悪いご様子。そこで今使ってるのが ナナオ(EIZO) の液晶モニタ M-10。アナログTVも見れるし、31kHz 時に画面下部 32dot (512-480=32) が切れないので結構重宝してます。

31kHz ノンインタレースでは、次のように画面いっぱいに 768x512dotで表示されます。

24kHz インタレースだと、小さくはなりますが大体表示されますね(実用じゃないですが)。

15kHzだと、一部しか表示されませんが、画面見てモード変えるくらいなら何とか使えますね。

マイコンソフトの XRGB-3を使ったら、15kHz も綺麗に表示されるのかなぁ。いつか試してみたいなぁ(^^)。

[カテゴリ:x68]

2007-11-12

押入れがさがさ

週末冷え込んだので風邪をひいてしまったかも知れず(汗)。ともあれ、色々と環境を整えつつぼちぼちいこうかと企み中でございまする(やはりロジアナも欲しいなぁ・・・)。

さて、あれこれ資料を探して押入れかきまわしてたら、こんなお宝を発見しちゃいました!せっかくなので、アドエスのカメラで記念撮影(ぱしゃ)。

う・・・ぴかぴか光る物体って周りが映りこんで撮影激難(T-T)。これが精一杯。

てなわけで、写真で見るだけでも楽しめるマグカップの次期生産楽しみにしてまーす!

[カテゴリ:x68]

2007-11-9

魂のマグカップ

ありゃっ、一ヶ月以上も前にマグカップの受け付けをしてたのですねん!?いかん、冬眠(夏眠?)してる間にこうも世の中が進んでいたとは…迂闊ですた(汗)。

オリフェスの時に見たのはちょっと小ぶりのものでしたけど、これは大きめなんですね(^^)。取っ手も持ちやすそうだし、いぃなぁ〜…って既に時祭イヴ遅しですか(^^;;

[カテゴリ:x68]

2007-11-8

ただいま追いかけ中

半年間の流れを追いかけようとしていますが、なかなか進まず(^^;。とりあえず先にバナーだけ貼らせてもらいます〜。

月はでこぼこ

JAXA(http://www.jaxa.jp/)で公開されている、かぐや撮影の月面映像を見ながら。

打ち上げ成功だけでも大変なのに、こうして遙か彼方の月まで行って地球や月を撮影してくるんだから、すごいとしか言いようがないです。素直に感動。

それにしても、どうして TVではあまり かぐやのニュースを流さないんかなぁ。各ポイント、ポイントでの制御は手に汗にぎる・・・というか、ちゃんと動いてくれるかドキドキして見れない(^^;くらいドラマチックなのに。

国も、税金を無駄に使ってないで、基礎的な研究やこうした技術の積み重ねに金をかけて欲しいものです。

2007-11-7

半年間のご無沙汰です

色々とありまして、気づいたら半年近くも過ぎてしまいました。

人生には様々な転機が訪れるものなのでしょうが、あいかわらず道に迷っているばかりの自分に少々嫌気がさしてきたので、なんとか動き出そうかと GPSロガー WBT-201 を買ってみました(オイ)

今更あれですが、自分の歩いた軌跡が後からちゃんと見れるのって面白いですね〜(^^)。

現在地を表示できるように PDA と組み合わせてっと、こりゃいいや。これなら方向音痴の自分でもどこでも迷わずに行けるかも〜。

てなとこで、そろそろ活動開始といきたいもんです。

2007-5-3

オリゲー・フェスタ☆68 第10回前夜

いよいよ明日に迫ったオリフェス68 (^^)/

生の MC68060RC75 も見てみたいし、ごった煮CD、ネレイド全部載せ、ワイヤレスUSB joypad とかFPGA版MZ-700デモ等々、どれも興味をそそられますね〜。

朝から行けるように、今から移動しますです(^^;。

[カテゴリ:オリフェス]

2007-3-26

オリゲー・フェスタ☆68

3月もあと少しで終わり・・・きっとあと少しで平和な日常が戻るはず・・・。

それはさておき、オリゲー・フェスタ☆68 もいよいよあと1ヶ月少々に迫りましたね。

実のところ、こうしたイベントには行ったことがないので、一度行ってみたかったのです(^^ゞ

1人より2人がether、2人より3人がe〜 ってなとこで、『みんなでいこう! オリフェス☆68』

#68本体持ってミアカフェ・・・って、それは違〜う<そっちも行ったことないけど(^^;;

[カテゴリ:オリフェス]

2007-2-13

夢を超えた(ぃ)

少しずつ現世に復帰しようと努力しているトラップです。

060turboXプロジェクト:重要なお知らせを掲載(XPS.JP)

060turboXプロジェクト

そういえば、去年、030用のPGAソケット探してまわったんですが、どこに行っても見つから無くて断念した覚えがあります。060用のPGAソケットもそうなのですね。060 を愛機で動かしたかったのは山々ですが、久々に半田ごて握ったり、オシロ繋いで修理したりと、楽しい時間を過ごせたので良かったと思います。

#でも、いつかは 060 とか思ったり

・・・で、MCF5475のスペック等を見ると・・・あ、面白そ(笑)

や、何もしてない身で何を言う?というのはありますが、FM-7 はサブCPU にグラフィックをまかせていたじゃないですか。MZ-2500 に至っては、CPU より周りの石がよく働いているという、あぁ、管理職になったらこんな風に優秀な部下(石)を使って、自分は楽したいな〜っていうのが夢で(現実は多分違う)、便利な周辺というのは有りだと思うのですよ。

獣を超え、人を超え、そして神となる・・・ってことで、面白そうな Prj. は試してみたいな〜なのです。

つか、私も何かせんとあかんのですが(^^;;

[カテゴリ:x68]

2007-1-8

新年生存表明

何やらどたばたしている内に暮れて明けてしまいましたが、とりあえず生きております(^^;

仕事の環境が変わって早や5ヶ月、私生活まで仕事に侵食されている気が気がするこの頃ですが、ホワイトカラーエグゼンプションとやらが動き出すと、更に劣悪な労働環境になるのでしょうね(--;

とりあえず2007年、皆様過労死しませんように (-人-)

#なんちゅー年始の挨拶なんだか(^^;


2006年以前 2007年 2008年 2009年 2010年 2011年 2012-16年