//www.旧型、PSP開発幼稚園.game.jp/(本館) -32ページ目

picodriveA11 アナログ実装。(04/15)

■■picodriveA11 アナログ実装。(04/15)
管理人のHDDのpicodriveA11。チョビット遅くなって、チョビット速くなった。まあ結果的にチョビット速くなったな。
そんな事は、どーでもいい。

それよかヘッディー。

PSPの方向キーは、斜めに入らない。(100%確実に入らない)からそのままで、ヘッディーは無理だ。
PSPの方向キーを確実に斜めに入れる為には、親指をいったんジャンプさせながら力をいれ、離れた位置を押し付ける。
この操作をしなければ、確実に斜めに入らない。
が、そんな操作をしていたら、タイミングを逃してしまう。
(このゲームは垂直ジャンプをしてから、斜めにいれて攻撃ボタンを押す必要がある)
つまり、ゲームにならない。普通に親指を入れて押し込んでも、斜めに入る場合と
(いくら強く力をいれても)入らん場合のムラがありすぎる。
つまり結論として、使えない。

メガドラ実機のゴツイパッドは、少し修行が必要だか、慣れれば斜めに確実に入力できるパッド。(へこんでる所を押す。) その為「ランドストーカー」というゲームがあるくらいだ。 (注:終盤は絶対に斜め必須。もちろんちゃんと解いたよ5~6回ぐらいは(実機+エミュ)、 Genecystでは、中盤のミルの塔でゲームが死ぬから、万一知らなかったなら続きはGensで遊ぼう。StateLoad受け付ける筈だ。)
■で、実装してみた。そーすは、
/src/main.c
static void pad_read(void) { static char ccc; //counter unsigned char ttt; // work ccc++; //count up ccc&=1; // masked on/off //key = Read_Key(); sceCtrlRead(&ctl,1); // 0123456789abcdef // Uuuu--------dddD /* pached the analog stick to digitily sense. */ ttt=ctl.analog[CTRL_ANALOG_Y]; if(ttt < 0x10) { ctl.buttons |= CTRL_UP; /* UP HIGH */ } else if(ttt < 0x40) { if(ccc) ctl.buttons |= CTRL_UP; /* UP LOW */ } else if(ttt < 0xc0) { ; /* NONE */ } else if(ttt < 0xf0) { if(ccc) ctl.buttons |= CTRL_DOWN; /* DOWN LOW */ } else { ctl.buttons |= CTRL_DOWN; /* DOWN HIGH */ } ttt=ctl.analog[CTRL_ANALOG_X]; if(ttt < 0x10) { ctl.buttons |= CTRL_LEFT; /* LEFT HIGH */ } else if(ttt < 0x40) { if(ccc) ctl.buttons |= CTRL_LEFT; /* LEFT LOW */ } else if(ttt < 0xc0) { ; /* NONE */ } else if(ttt < 0xf0) { if(ccc) ctl.buttons |= CTRL_RIGHT; /* RIGHT LOW */ } else { ctl.buttons |= CTRL_RIGHT; /* RIGHT HIGH */ } <以下略> 注:アナログ取ったら、すかさずデジタルにしてるから、付け加えても他には影響しない。
■アナログ特性は、山勘。 // 0123456789abcdef // Uuuu--------dddD こんなん。ええと5段階だね。(デジタルパッドは3段階だろ)(注:本当は「段階」とは言わない) でも、うまくいったよ。お徳なのは「シューティングゲーム」。 「レイクライシス」みたいな操作が可能。 なんだあ、ちゃんと作ればPSPのアナログキー。使えるじゃん。 ちゃんと作ったエミュが今まで一つもないから、てっきり使えないのかと信じ込んでた。 冷静に考えて見りゃ、入力処理もあの程度だもん。ちゃんと作ってある訳ないか。
■それからファイラーの操作も変えた。デジタルでもオートリピートもかかるし、 アナログ操作で細かい移動も可能になったから、全然使いやすくなった。
現状そんなん。(04/15、13:26、おなかへった。そろそろお昼にしよ)
■■5段階ちゅーのはつまり「ACのジョイスティック」と同等って事だ。 「ジョイスティック」がデジタル3段階だと思ってるのは、ゲームの素人もいい所。 まあ、世間の「ゲーマー」と呼ばれる人達が、何故パッドでは駄目で、「ジョイスティック」を要求するのかと言えば、 詰まる所、パッドは3段階で、しかもNTDの奴でさえ、斜めに入りにくい。 (NTDのパッドは、元祖FC>64=SFC>その他>GBCの順で、 元祖FCが一番斜めに入る。理由は構造が違うから。改造すれば斜めに入るパッドに出来る) 「ジョイスティック」は「カンカン移動」があるから、実質5段階だな。 PSシリーズで言えば、「アナログ」入力と呼んでもほぼ差し支えない。 (だってあんなに小さい長さじゃアナログの旨味を活用出来ないよ。あれが16段階でも256段階でも区別して操作出来る奴は居ないだろ) 「ジョイスティック」は一瞬で確実に斜めに入る。確実ってのは、一万回トライして、一万回入るって事。 (但し、きちんと調整された物に限る。「センサー」、「クリック」、「クリックなし」どのタイプでも可能。個人的には「クリック」が好き) PSPのアナログパッドは幾ら人間が慣れたとしても、そのレベルには無理だな。 ■■NTDのパッド改造。 NTDのパッドは、新品で買って始めは良いんだが、三日ぐらい。連続使用で、もうヘタッテ、少し斜めに入りにくくなる。 そのまま使い込むと、どんどん斜めに入りにくくなる。 RPGなどや思考ゲーム系は、斜めに入らなくても、対した影響は無いが(場合による)、 「シューティング」や「アクション」は大問題だ。 元祖FCのパッドもへたるが、そんなに早くへたらなかった。 疑問に思ったわたしは、分解してみた。 成る程。構造が違うんだ。 まず「プラスチック」の種類が変わった。「黒」から「灰色」に変わった。 この変更で「剛性が落ちた」 さらに、成型の形も変わった。「プラスチック」の量は節約出来るが、より一層剛性が落ちる構造に変更された。 これはSFC時代のパッドは「既に駄目」という事。(駄目==直ぐへたる)
方向キーは、「プラスチック」ではなく、材質を代えて、試作してみた。 「硬い木」と「アルミの削りだし」 アルミは手で削るんだよ。マニアだからな。まあNC所有のぶるじょあ君は好きにしたらええ。 結果。これらは「プラスチック」より良い。木材は柔らかいのでも、なんとか大丈夫だったが程度によるからなんとも言えん。 「アルミの削りだし」は、機能よりも、「ひんやりした感触」がいいよな。 でも、一般人は、ここまで手間をかけるのは、非現実的だろ。抜けがけ策を用意した。(じゃなきゃ黙ってて、ここには書かん)
■今日の料理。 料理難度:★★★★☆ 材料: ◎ヘタッテ斜めに入りにくいNTDパッド。但し元祖FCは除く。(元祖FCは構造が違うから出来ない) ◎小箱 ◎タオル ◎洗面所(洗面器) ◎石鹸 ◎コタツ ◎新聞広告の裏が白い紙 ◎はんだごて ◎はんだ まず掃除。 ホウコウキー。裏返すと、「プラスチック」を節約した隙間があるから、はんだで埋める。難度ちと高いかも。