• INFINITAS用 変換器作ったよ~

    2017-04-28 18:03
    みなたま~こんばんちわ~

    3月の月末からプレイし始めたbeatmania IIDXのPC版「beatmania IIDX INFINTIAS」ですが、私の放送をご覧の方はご存知の通り
    「判定どこ?は?光らなさすぎやろ!ク○ゲーかよ!F@ck!””」
    と楽しそうにビートを刻んでいましたが、この度そういった言動なく紳士的な放送ができる環境が整いました。
    何をもったいぶってわかりにくく書いてるんだよって怒られそうなのでちゃんと書きます。

    今回INFINITAS用にbeatmania IIDX専用コントローラをPCに接続する変換器を自作したお話でございます。

    専コン↓




    結果から言うと、
    めちゃくちゃ光るようになったよ。

    今まではエレコムより販売されいてる
    JC-PS101Uシリーズというものの白色を使用してプレイしていたのですが、これだとどうもあまりいいスコアが出ないのです。
    原因を調べてみると、そもそもINFINTIASはキーボードと専用コントローラプレミアムモデル(現在は発売していません、以下プレコン)が動作の対象でして、家庭用コントローラや海外製コントローラなどは非対応となっているわけです。それをパッドのボタンをキーボードに割り当てることで遊べるのですが、キーボードとプレコンより変換などをする工程がある分遅延を発生させるということです。この場合の遅延とは入力の遅延のことなので発音や映像処理の遅延についてはまた別の話になります。

    そこでキーボードとして認識させる変換器を作っちゃえばいいじゃないかという旨の記事をとあるブログで発見しました。↓
    http://darekasan.net/wordpress/archives/429#comment-9226
    この記事を見てやってみる価値はあるかもしれないと感じた私は、不器用ながら電子工作に挑戦しなんとかハードウェアを完成させることができました。
    それがこちら↓


    配線汚ねぇ…
    とりあえず動くかどうかもわからなかったので空中配線してみたのですが、動作は問題なかったのでボードに配線し直すかもしれません。お次はソフトウェアなんですが、これも必要なソフトも書いてありほとんど何も考えずにできちゃいました。

    作り方は上のブログに書いてありますし、プログラムの知識の全くない私でもできるぐらい丁寧に作り方が書かれていますので判定が何処か別の大陸へ旅立った方はぜひおすすめですよ。



    最後にかんたんに作成の手順をば

    1.PS2コントローラを差し込むための端子が必要なので用意する
     私の場合は新品のエレコムのコンバータを分解してそれを使いました。上の完成写真でいう赤い線がいっぱいついてる左下の透明な部分のことです。

    2.各電子部品を用意する
    抵抗器(1kΩ×2個)とリード線、ヘッダピン(10ピンひとつで足りました)、
    Arduino Leonardo(互換品でも問題なかったです。)私が今回使用したものは

    Arduino互換 Leonardo R3 マイクロコントローラーボード【HP-ABR-LEOR3】



    3.これらをはんだごてを使って工作する
    ブログに書かれているように接続します。

    4.Arduino IDEというフリーソフトをDLしパソコンにインストールする。
    ライブラリと呼ばれるもの2種類ダウンロードしてきてArduino IDE内のLibrariesというフォルダの中に解凍したフォルダを入れておきます。

    5.PCと作った変換機をUSBケーブルで繋いでArduino IDEでプログラムを書き込む
    これはブログにあるソースコードを貼るだけです。
    ちなみにソースを打ち込んでそのまま「マイコンボードへ書き込む」をしてもコンパイルエラーがでます。(私がやったミスです)
    上のメニューのツールでボードとシリアルポートを正しく選択してください。

    以上です。

    わかりにくいことがあれば放送で直接聞いてくれればわかることならお答えします。

    追記(2017/6/29)

     ・この記事一番下のニコニコ市場の欄に今回使ったマイコンボードをリンク付けしてますのでそちらも併せてご参照ください。m(_ _)m

     ・専コンのスタートボタンをEnterキー、セレクトボタンをBACKSPACEキーにアサインすることでプレイ画面を重視したキー配置を目指しました。
    以下Arduinoのソースコードです。ご参照ください。
    #include "HID-Project.h"
    #include <Psx.h>

    #define dataPin 7
    #define cmndPin 6
    #define attPin 5
    #define clockPin 4

    #define SLCT KEY_BACKSPACE
    #define STRT KEY_RETURN

    #define SCR1 KEY_LEFT_CTRL
    #define SCR2 KEY_LEFT_SHIFT

    #define KEY1 'z'
    #define KEY2 's'
    #define KEY3 'x'
    #define KEY4 'd'
    #define KEY5 'c'
    #define KEY6 'f'
    #define KEY7 'v'

    Psx Psx;
    unsigned int data;

    void setup()
    {
    NKROKeyboard.begin();
    Psx.setupPins(dataPin, cmndPin, attPin, clockPin, 1);
    }

    void loop()
    {
    data = Psx.read();
    if (data & psxSlct)NKROKeyboard.add(SLCT); else NKROKeyboard.remove(SLCT);
    if (data & psxStrt)NKROKeyboard.add(STRT); else NKROKeyboard.remove(STRT);
    if (data & psxDown)NKROKeyboard.add(SCR1); else NKROKeyboard.remove(SCR1);
    if (data & psxUp)NKROKeyboard.add(SCR2); else NKROKeyboard.remove(SCR2);
    if (data & psxSqu)NKROKeyboard.add(KEY1); else NKROKeyboard.remove(KEY1);
    if (data & psxL1)NKROKeyboard.add(KEY2); else NKROKeyboard.remove(KEY2);
    if (data & psxX)NKROKeyboard.add(KEY3); else NKROKeyboard.remove(KEY3);
    if (data & psxR1)NKROKeyboard.add(KEY4); else NKROKeyboard.remove(KEY4);
    if (data & psxO)NKROKeyboard.add(KEY5); else NKROKeyboard.remove(KEY5);
    if (data & psxL2)NKROKeyboard.add(KEY6); else NKROKeyboard.remove(KEY6);
    if (data & psxLeft)NKROKeyboard.add(KEY7); else NKROKeyboard.remove(KEY7);

    NKROKeyboard.send();
    }




  • 広告
  • パコレプキンの腕輪に関しての反省と今後について

    2013-02-01 00:14
    この度はゲストに(「・ω・)「がおーさんをお呼びして最果てへの道をプレイしていたところ、70Fにて風来人として、いや人としてやってはいけないことをやってしまいました。




    問題の場面は初期配置がこのような場面でした。

    この時私が持っていたアイテムはこちらです。↓



    画像では1ページ目しか確認できませんが他にも各種杖がいろいろありました。
    普通の風来人ならばのりうつりを使ったりしてこの危機を回避すると思うのですが、この風来人はよりにもよって












    !?

    (「・ω・)「『それはおかしいwんじゃないかな?(驚愕)』




    . .: : : : : : : : :: :::: :: :: : :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::なんでパコレプキンの腕輪(ヒビ)を装備
        . . : : : :: : : :: : ::: :: : :::: :: ::: ::: ::::::::::::::::::::::::::::::::::::::してしもうたんや工藤・・・
       . . .... ..: : :: :: ::: :::::: :::::::::::: : :::::::::::::::::::::::::::::::::::::::::::::
            Λ_Λ . . . .: : : ::: : :: ::::::::: :::::::::::::::::::::::::::::
           /:彡ミ゛ヽ;)ー、 . . .: : : :::::: :::::::::::::::::::::::::::::::::
          / :::/:: ヽ、ヽ、 ::i . .:: :.: ::: . :::::::::::::::::::::::::::::::::::::::
          / :::/;;:   ヽ ヽ ::l . :. :. .:: : :: :: :::::::: : ::::::::::::::::::
     ̄ ̄ ̄(_,ノ  ̄ ̄ ̄ヽ、_ノ ̄ ̄ ̄ ̄



    ☆パコレプキンの腕輪を装備した愚かな風来人の末路はこちら☆




      /⌒ヽ
      ∩ ^ω^) な ん だ
      |   ⊂ノ
     |   _⊃
      し ⌒

      /⌒ヽ
     (^ω^ ∩ 初 心 者 か
      t⊃  |
     ⊂_   |
       ⌒ J

    その後も回数の残っていないのりうつりの杖を振るなど意味不明の行動をした後







    この冒険を終えてまず私に求められていることは応援してくださった皆様と冒険を強くサポートしてくださった(「・ω・)「がおーさんへのへの謝罪と今回の冒険の反省、並びに今後の方針についてを明確にすることであると私は考えています。

    第一の皆様への謝罪ですがこのような文章という形で申し訳ないのですが、リスナーの皆様そして(「・ω・)「がおーさん本当にすみませんでした。
    二度とこのような悲劇が繰り返されないように冒険の体制の見直しと冷静な思考を取ることができるよう生放送主の健康管理の基準を高めるように心がけます。

    最後になりましたが、今後は腕輪に限らずアイテムやシレンの命そのものも丁寧に扱っていこうと思いますのでこれからも応援のほどをよろしくお願いします。




    パコレプキンの腕輪が壊れた時の私の表情が残っていたのでそちらをご覧ください。