Upgrade to Pro — share decks privately, control downloads, hide ads and more …

コンシューマーゲームを操作するプログラマブルコントローラーの作成

yuki-yano
May 25, 2018
140

 コンシューマーゲームを操作するプログラマブルコントローラーの作成

yuki-yano

May 25, 2018
Tweet

Transcript

  1. 4MBDL͔ΒήʔϜػ 14
    Λૢ࡞͢Δ
    ϓϩάϥϚϒϧίϯτϩʔϥʔΛ࡞ͬͨ
    ZVLJZDJOP

    View full-size slide

  2. ΍Γ͍ͨ͜ͱ
    w 14ͷϓϩάϥϚϒϧίϯτϩʔϥʔ

    ʢίϚίϯʣ͕ཉ͍͠
    w 1$͔Β੍ޚ͍ͨ͠
    w ؾܰʹૢ࡞Λॻ͖׵͍͑ͨ
    "SEVJOPܦ༝Ͱૢ࡞͢ΔΑ͏ʹͨ͠

    View full-size slide

  3. ίϚίϯ
    w ϑϨʔϜ୯ҐͰͷૢ࡞Λ͢ΔϚΫϩΛొ࿥Մೳͳίϯτϩʔϥʔ
    ʢඵϑϨʔϜʣ
    w 14Ҏ߱·ͱ΋ͳ੡඼Λ͋·Γݟͨ͜ͱ͕ͳ͍
    w 6*͕ਏ͍
    w ม׵ثΛט·ͨ͠14ͰϑϨʔϜϨʔτ͕όάΔ

    View full-size slide

  4. ͜Ε·ͰͷਪҠ
    w ೥684$ͰΩʔϘʔυϚΫϩʢ1$ήʔϜʣ
    w ೥ࢢൢίϚίϯΛߪೖʢ1414ʣ
    w ೥$Ͱ%JSFDU*OQVUΛ༻͍࣮ͯ૷ʢ1$ήʔ
    Ϝʣ
    w ೥"SEVJOPͰ࣮૷ʢ14ʣˡ/FX

    View full-size slide

  5. "SVDPO
    "SEVJOP$POUSPMMFS

    w طଘͷίϯτϩʔϥʔΛ৐ͬऔͬͨ
    w ࢖ͬͨ΋ͷ
    w ७ਖ਼ίϯτϩʔϥʔʢࢮ๢ɾԁڧʣ
    w վ଄͠΍͍͢Β͍͠)03*ͷίϯτϩʔϥʔʢԁڧʣ
    w "SEVJOPʢԁڧʣ
    w ిࢠ޻࡞༻ͷ৭ʑʢԁ͘Β͍ʁʣ
    1$
    ʢ3VCZʣ
    "SEVJOP
    ৐ͬऔͬͨ
    ίϯτϩʔϥʔ
    γϦΞϧϙʔτ௨৴
    14
    ϑΥτΧϓϥ

    View full-size slide

  6. 3VCZ"SEVJOP
    w 3VCZͰ$47ΛಡΜͰม׵
    w ϏοτྻͬΆ͍จࣈྻʹม׵ͯ͠

    ߦͣͭ"SEVJOPʹૹΔ
    w "SEVJOPͰಡΈࠐΜͰߏ଄ମͷ

    Ϗοτྻʹ
    frame, lever, button
    2, 2,
    2, 3,
    2, 6, P
    2,000001000000000
    2,000011000000000
    2,000110000000000
    struct Step {
    short frame;
    byte mainButton;
    byte subButton;
    byte last;
    };

    View full-size slide

  7. 3VCZ"SEVJOP
    w "SEVJOPͷγϦΞϧϙʔτͷόοϑΝ͕

    όΠτͷͨΊҰؾʹड͚औΔͷ͸ແཧ
    w վߦ·ͰಡΜͩΒ࣍ͷೖྗΛૹͬͯ໯͏
    w ϝϞϦ͕LCͳͷͰϏοτྻʹม׵ͯ֨͠ೲ
    w ਺ඦεςοϓఔ౓อଘͰ͖ΔΑ͏ʹ͔ͨͬͨ͠

    View full-size slide

  8. 4MBDL#PU
    w 3VCZ͔Β$47͕ಡΊͨΒ*0͸ͳΜͰ΋͍͍
    w 4JOBUSBͰ1045ͨ͠಺༰Λ࢖͏Α͏ʹͨ͠
    w )VCPU͔Β)551ϦΫΤετඈ͹͢Α͏ʹ
    )VCPU 4JOBUSB
    3FTRVF
    ʢ3FEJTʣ
    8PSLFS
    ʢ3VCZʣ
    "SEVJOP

    View full-size slide

  9. 4MBDL#PU
    w 3VCZ͔Β$47͕ಡΊͨΒ*0͸ͳΜͰ΋͍͍
    w 4JOBUSBͰ1045ͨ͠಺༰Λ࢖͏Α͏ʹͨ͠
    w )VCPU͔Β)551ϦΫΤετඈ͹͢Α͏ʹ
    )VCPU 4JOBUSB
    3FTRVF
    ʢ3FEJTʣ
    8PSLFS
    ʢ3VCZʣ
    "SEVJOP

    View full-size slide

  10. 4MBDL#PU
    w ਖ਼نදݱͰઌ಄͔Β࠶ؼతʹૢ࡞ͬΆ͍΋ͷΛ

    ൈ͖ग़ͯ͠$47ʹม׵
    w "SEVJOPͷଆͷ࣮૷ͷ౎߹Ͱεςοϓ·Ͱ

    ͔͠ड͚෇͚ΒΕͳ͍ͷͰॏෳΛҰԠѹॖͨ͠
    @arucon_bot 22336655
    frame, lever, button
    4, 2,
    4, 3,
    4, 6,
    4, 5,
    @arucon_bot 236P6P
    frame, lever, button
    2, 2,
    2, 3,
    4, 6, P

    View full-size slide

  11. "SEVJOPͷਏΈ
    w QSJOUMO͕γϦΞϧϙʔτ௨৴ͯ͠Δ3VCZʹ৯ΘΕΔ
    w ෋߽తʹ࢖ͬͨΒଈࢮͨ͠
    w ܨ͍Ͱ͔Β਺ඵ଴ͭΈ͍ͨͳײ͡ͷ͜ͱ

    ͠ͳ͍ͱ͍͚ͳͯ͘ϋϚͬͨ
    w λΠϚʔͷਫ਼౓͕௿͍ͬΆͯ݁͘ߏͳස౓ͰͣΕΔ

    View full-size slide

  12. ·ͱΊ
    w 1$͔Β14Λૢ࡞Ͱ͖ΔΠϯλʔϑΣΠεΛ࡞ͬͨ
    w ਫ਼౓͕ଟগ௿͍Ҏ֎͸େମ্ख͘ಈ͍ͯΔ
    w ๭ॴͰฉ͍ͨͱ͜ΖWTZODΛ࢖͑ͱͷճ౴͕
    w 4MBDL#PUܦ༝Ͱૢ࡞Ͱ͖ΔΑ͏ʹͨ͠
    w ిࢠ޻࡞෦෼͕ਏ͔ͬͨͷͰϋϯμ෇͚͘Β͍

    ΋͏গ͠Ͱ͖ΔΑ͏ʹͳΓ͍ͨ

    View full-size slide