Archive for the ‘Hack?’ Category

XPで(略)1stステップ終了

日曜日, 5月 20th, 2007

根っからのデジタル脳を切り替えて、K氏のレクチャーを参考にトランジスタ用意してアナログ回路を自作、テストで完動確認できたから8方向+4ボタン1系統の自動操作環境完成です。次はゲートIC使って、8方向+8ボタン2系統の操作環境か、それともV-Syncとの同期か?
Perlのプログラムの方は、テンキー表記に準じた操作内容CSVファイル(カンマ区切りテキスト)を読み込んでパラレルポートへ出力をします。

今のところ暫定仕様ですが、自動操作用CSVは
1行=1フレーム(1/60sec)
レバー方向:1232456789 ニュートラルは「5」
ボタン:ABCD(鉄拳的にはLPRPLKRK)
を基本にし、拡張記述として
行頭「.」につづけて「N」(任意の数)=前フレームをNフレーム繰り返す
行頭「_」=全入力なし状態
を用意。編集はExcel使えば楽かな?

ss.png
最風連打再生中のPC画面↑
で、こっちが動画→最風

オマケのきしょいの。63xN

XPで(略)する(3)

木曜日, 5月 17th, 2007

今日は、ジャンク使って工作してると効率悪いのが露呈してきたんでパーツで買ってきた。
でもって結線するピンの対応図をつくってみた、これでいいはず…・・・(・w・;

パラレル→NEOGEO結線

プラグイン入れてみたので確認

水曜日, 5月 16th, 2007
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!perl
 
# PerlParallelPortMacroPlayer
# by MDR mdr@sevenearth.com
 
use strict;
use Device::ParallelPort;
use Time::HiRes;
 
my $port = Device::ParallelPort->new;
# パラレルポートを出力方向にセット
$port->set_bit( 21, 0 );
# データビット2をN
$port->send_data( chr(0x02) );

XPでパラレルポートを使ってコントローラを操作するマクロ実行環境を作成する(2)

水曜日, 5月 16th, 2007

PSパッド改造
まあ、テストで動かしててもウチのPS2壊れてないしかまわないかということで作業を進めます。あ、同じことして壊れたって人いても知らないので、悪しからず。
まず、昨日購入したジャンクの初代PSのパッドをひん剥いて、中の基板を取り出します。基板の回路パターンを眺めて上下左右○△×□のボタンとGNDに対応した基板の箇所にコードを半田でくっつけます。この型番のパッド(SCPH-1080)は圧電素子けずらなくても半田付けできる部分が備わってるので楽チン

コードを9本半田付けできたら、次はそのコードとパラレルポートからの信号線をソフトウェアで制御する内容に合うようつないでいきます。私が作成してるプログラムでは以下のように規定して、上からパラレルポートの2番、3番、4番……9番となっているので、2番を↑、3番を↓、4番を→、5番を←というようになります。

1
2
3
4
5
6
7
8
9
10
11
# キー入力データ
my %code = (
 D_UP         => 0x01,#1 0b 00000001 ↑
 D_DOWN       => 0x02,#2 0b 00000010 ↓
 D_RIGHT      => 0x04,#3 0b 00000100 →
 D_LEFT       => 0x08,#4 0b 00001000 ←
 B_1          => 0x10,#5 0b 00010000 button1
 B_2          => 0x20,#6 0b 00100000 button2
 B_3          => 0x40,#7 0b 01000000 button3
 B_4          => 0x80 #8 0b 10000000 button4
);

上下左右のキーの結線(といっても仮繋ぎ)をして、とりあえずプログラムから動かしてみました。PS2の鉄拳5で風神ステップを20回ほど自動実行。キー入力認識のタイミング調整ができてないのと、プログラム的に詰めれてない部分なんかもあって数回ミスってますがw。

キャプチャ環境がないのでIXYDigitalで録画した動画です。AVIをVLCでASFに変換してみました。
自動操作テスト動画

この動画TVBOXes+PS2コンポーネント接続はこんな風にうつります。という意味もあるかもしれない。

XPでパラレルポートを使ってコントローラを操作するマクロ実行環境を作成する(1)

火曜日, 5月 15th, 2007

今日の買い物。
PSパッドSCPH-1080 2個
プリンタケーブル 2本
21ピンRGB-D-Sub15ピンケーブル 1本
全部ジャンクしめて450円くらい。最後のは使い道が分かんないけどなんとなく買ってしまった。

時代的にはUSBのシリアル/パラレル変換とかして開発するのが流行りかなあとは思うんですが、余分な出費多そうなので流行りを無視してPCのパラレルポート入出力で乗り切ることにします。最終的な対象ハードはコントローラ構造が簡単なMVS(NEOGEO)です。今回作成するものを基礎として、パラレルポート→コントローラへの入力電圧を調整する回路その他を作れば1レバー+4ボタンまでのゲームで1プレイヤー分の操作をすべてきることになる予定。スタートとかセレクトはどうするのかという課題がありますけど(^^;
#PSを開発テストで使おうと思ってたけど電圧3.6Vに落とさないといけないから、信号出力をテストして動いたと思ったのは気のせいみたい。

ハード面は今、電気テスターがみつからなくて進んでなかったりするのですが、ソフト面は案外さくさくいってたりします。
開発言語はActivePerl 5.8.8です。Perlでこんなことやってる人いないしネタっぽくていいです(笑)
パラレルポートをPerlで操作するためにCPANモジュールを追加します。
ActivePerlですのでppmを使ってインストールすればいいので簡単です。
追加するモジュールはDevice::ParallelPort、Device::ParallelPort-drv-win32の2つ。
Device::ParallelPortでは内部的にinpout32を呼ぶため、配布サイトのページ最下部にある「Download Inpout32.dll and source code here」よりZIPファイルを取得し、中からinpout32.dllを取り出します。

使用するパラレルポートはECPプリンタポートI/Oの範囲が0×378から始まる設定にします。(BIOSで設定できる)
作成するPerlスクリプトと同じフォルダにinpout32.dllを置きます。(WindowsやSystemディレクトリあたりでもかまわないですが)
これでソフトの開発に関しては準備完了。

一段落したので次を

火曜日, 5月 8th, 2007

Akiary→MovbleType→mixiと続けていた日記に関して全部WordPressへ移行完了しました。
ラストに残ってたAkiaryのログをPerlでスクリプト書いてMovableTypeのエクスポート形式に変換、えいっとWordPressへぶち込んで完了。time()の値から日時フォーマットの変換する処理で詰まらないミスをしていて、MT形式のデータを作ってインポートしたのに間違い発覚、即効インポートしたデータを削除、改めてインポートというコンボを何回かやりましたけど(・w・;;
しかし、さらっと読み返したけど若いわぁ……あのころの俺。

今回のAkiaryのログ移行でとりあえず作業が終わったから、次はGoogleMapAPIを使ったモノを作りたいなあと妄想中。行ったことのあるゲーセンマップとか、特定ゲームの設置店舗マップとか、GPS付きケータイ使って今ここに来てますよアラームマップとか。

まあ、ぶっちゃけた話、どれもこれも住所を緯度経度変換してマーカー出すだけなんだけど。

さて、有効活用されるのでしょうか。

木曜日, 4月 19th, 2007

GREEN HOUSEの1GBのUSBメモリが\1,480だったのでさくっと注文……でモノが昨日届いてたので。

こいつに入れて持ち運べる系の実用アプリをちょいちょいと導入。ネットの先人達の情報を参考にとりあえず以下を導入してみた。

 「ClamWare Portable(AntiVirus)」
とりあえずいれとけナンバー1。導入したら、ちゃんとウィルスデータベースを更新しましょう。

 「FireFox Portable(ブラウザ)」
マウスジェスチャ拡張とFLASHプラグインは無いと困るので追加。事前に調べてなかったのでコイツ用のJava環境導入は保留中。
(無策にセットアップすると面倒なことになりそうなのを本能で察知)

 「ThunderBird Portable(メーラ)」
いや、入れたけど使うのかというと実際微妙……。ぶっちゃけGmailアカウントとればよくない?って話だもんなあ。

「GIMP Portable(画像編集)」
ちと容量浪費してる感が無きにしも非ず……。一応、咄嗟のときに使えると助かるかな?と思って入れてみた。Script-Fuの資産があれば強力なんですが。

「Putty Portable(SSH telnetクライアント)」
ある意味これさえあれば事足りると言える。

「VLC Player Portable(メディアプレイヤー)」
DVD見たり、YouTube動画を保存したヤツ再生したり。

「Filezilla(FTPクライアント)」
入れては見たものの……という感覚が大きいです。常用してる「FFFTP」に早々に置き換えちゃうのは確実な情勢。FFFTPはデフォルトではレジストリに設定を保存する様になっているんですが、これを.INIファイルに切り替えられるので問題なくUSBメモリ環境で運用可能なため。

「TeraPad(テキストエディタ)」
テキストエディタは結構選択肢が多いので、ぱっと見でうるさくないコレ。メモ帳の上位版って風情なのがいいです。個人的にはVIM党なのもあり、gVIMに行きたいとこですが、バッチファイルとかを駆使してまで導入してやろうとは思いませんでした。

「CLaunch(ランチャ)」
Autorun機能を使って、USBメモリを指したらコイツが立ち上がるように設定してみました。いい感じです。さりげなくクリップボードの履歴管理機能がついてるのもポイント高い。

 

以下は導入候補なアプリ達

「XAMPP」
USBメモリ内にApache+PHP+Mysql+管理ツールをセットで構築。面白い!って思うんですがコイツをいじり始めたら他に何もできなくなるのが目に見えて分かるので悩みどころ。あと、流石に導入に必要なディスク容量が結構多いんだよねえ……。

 「OpenOffice.org Portable(Office suite)」
セットでは要らない気がする。実際、私が使いそうなのは精々Calcかなって感じだし。

「JTrim」or「VIX」or「IrfmanView」
画像の閲覧、形式変換。大抵の場合はGIMP使う必要ないんだよ。

「VNT decorder(.VNTファイルデコーダ)」
携帯電話から赤外線通信で受信した.VNTファイルをMIMEデコードして元ファイルを復元するソフト。日頃から赤外線通信機能のあるPCを使ってる人間にしか用は無いですね。
(余談、昔リナザウSL-700上で強引にPerlでデコードしてた)

 「regnessem(MSNメッセンジャー)」
今はあんまり使わない。MSNメッセだけならMSのWeb版もあるしねぇ。
あと、要りそうなのはCD/DVD焼くソフトくらいかな?

久々にSQLでごりごり

水曜日, 3月 7th, 2007

VIEWを作るのに単にSELECTする命令かいてるだけだけど。複数スキーマにまたがってて列名に一貫性無くてややっこしいなー。ところでOracleは11gなのか11sなのかどっちになるんだろう。

Shibuya Perl Mongers テクニカルトーク #7

金曜日, 10月 20th, 2006
http://shibuya.pm.org/blosxom/techtalks/200610.htmlスラドに今日開催って記事が載ったから、はじめて知ったんですけどね。いやあ、Perl大好きっ子の私としてはこれはもーのすごーくおーもーしーろーそー!!ってヤツですよ。ストリーミングされるってことでウハッと思ったのも束の間、開始時刻がどう考えても会社帰りの車の中だし、あげく帰り道の所要時間は1時間弱、どれだけ頑張っても視聴できるのは19時すぎ辺りから……?これ、録画データで後日ダウンロードできるようになったりしないかなあ。

昔の宿題

水曜日, 10月 4th, 2006

これは……そう切羽詰ってくると部屋の片付けをしたくなるっていうのと似た感覚だろうか。時節柄、仕事が大量に来るとわかっているのだけれど、実際にその仕事へ本腰を入れて手を付けられるのは私のあずかり知らないところの作業が反映されてから。という何ともモドカシイ状態だったりします。そんなわけで中途半端に作業に手をつけたりしつつも、今までの経験からやってることが無駄骨になる確率の高さを感じ取ってしまっているが為に逃避しちゃってます。で、何してるかって言うとw3mのビルド。かなり前に「w3mで投稿すると改行が反映されない」ってのが発覚してから、この件ってシステム側で対応されないのかな?と漠然と過ごしてきてたんですが、どうやら限りなく可能性は低いようなので、今更ながら修正(というのが正しいのかは難しいところ)パッチを適用したのを作ろうと思い立ったのでした、と。makeするのにGC libraryがらみでしばらく足踏みしたけど、w3mのビルド完了。さて、改行が反映するかテストだ(w