Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
[WIP] SFC Controller Emulation
Search
naari3
October 08, 2017
0
630
[WIP] SFC Controller Emulation
製作中のコントローラの話
naari3
October 08, 2017
Tweet
Share
Featured
See All Featured
The untapped power of vector embeddings
frankvandijk
1
1.6k
Producing Creativity
orderedlist
PRO
348
40k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.9k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.3k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
73
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Un-Boring Meetings
codingconduct
0
200
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
160
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
92
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
120
Speed Design
sergeychernyshev
33
1.5k
Transcript
[WIP] SFC Controller Emulation ٙࣅεʔϑΝϛίϯτϩʔϥʔͷ࡞ ͳ͋Γ
໊༗Γ • Twitter: @naari_ • Github: @naari3 • Pythonͱ͔Rubyͱ͔ •
Α͘രഁ͞ΕΔຊࣾΛ࣋ͭاۀʹ͍Δ
͋͐͡Μͩ • Ͳ͏͖ • ͭ͘ΔͷͷͤͭΊ͍ • Ή͍ͣ • ͓ΘΓʹ
ಈػ
ͳΜͰεʔϑΝϛʁ
͖͔ͩ͢Β
ͱ͜ΖͰ
TASͬͯͬͯ·͔͢
TASͱ • Tool-Assisted Speedrun • ࠷ΫϦΞΛࢦ͢ • ΤϛϡϨʔλͰ࡞ΒΕΔ • εϩʔͰϓϨΠ
• QS, QL, LuaʹΑΔBot… • ࠶ݱੑ͕͋Γɺཧ্࣮ݱՄೳ
TASͱ • Tool-Assisted Speedrun • ࠷ΫϦΞΛࢦ͢ • ΤϛϡϨʔλͰ࡞ΒΕΔ • εϩʔͰϓϨΠ
• QS, QL, LuaʹΑΔBot… • ࠶ݱੑ͕͋Γɺཧ্࣮ݱՄೳ
ཧ্࣮ݱՄೳ
ΕͰ͖Δ
Ͱ͖Δ
TASBOTͭ͘Γ͍ͨ • TASΛ࣮ػͰಈ͔͢ԿΒ͔ͷஔͷ૯শ • εʔϑΝϛͱͯ͠ • sramͷཧָ͕ͬΆͦ͏ ??????? (ະ֬ೝ) •
ٖࣅཚͷ੍ޚRTAͰߦΘΕ͍ͯΔ
੍࡞ରͷઆ໌
SFCίϯͷઆ໌
SFCίϯͷઆ໌ • Input to Controller • Ϙλϯ × 12 •
3ϐϯ from SFC • VCC 3.3V • LATCH ͍ • CLOCK ܹ͍ ↑LATCH CLOCK VCC↑ ↑
SFCίϯͷઆ໌ • Output from Controller • 1ϐϯ • DATA •
12+αͷೖྗ͕CMOS4021Λհ͠ 1ϐϯͷΈʹΑΓग़ྗ͞ΕΔ DATA↑
SFCίϯͷಈ͖ํ
SFCίϯͷಈ͖ํ 1. LATCH͕1fʹ1ճ RISING (LOW -> HIGH) 2. ࣍ͷLATCH RISING·ͰʹCLOCK͕ͨ͘͞Μ
RISING 3. CLOCK16ճ ϘλϯʹԠͯ͡DATAϐϯ͔Β HIGH or LOW 16ճҎ߱ͣͬͱLOW 4. 1ʹͲΔ
ͳΜͰ16ճͳͷʁ • B Y Se St ↑ ↓ ← →
A X L R 1 2 3 4 • 1, 2, 3, 4ࣝผූ • εʔύʔείʔϓ • Ϛε • ௨ৗίϯৗʹແೖྗ
ܗ ཧ
SFCίϯͱͯ͋͠Δ͖ܗ • SFCͷίϯτϩʔϥʔૠೖޱʹͯ͠ಈ࡞ • ԿΒ͔ͷೖྗʹରͯ͠Ԡ • (ཧ|Ծ)Ϙλϯ • γϦΞϧ௨৴ 2
* 4 (by tap) * 16 (by 1 controller) • 128 bit per frame (7680bps)
Ή͖͍ͣͯͭ͘
None
ଥڠ ʬ໊ɾεࣗʭओு͕ରཱ͍ͯ͠Δ߹ɺޓ͍ͷओுΛز ͔ͣͭৡΓ߹ͬͯɺҰͭͷ݁ɾऔܾΊΛಋ͖ग़͢͜ͱɻɹ ʮݱঢ়ͱʕ͢Δʯ
ࠓճ • ௨ৗίϯτϩʔϥͱͯ͠ಈ࡞͢Δ • 1234ແೖྗ • ݻఆͷΛग़ྗ͢Δ • LνΧͷSFC൛ •
ྫ) ελϯόΠঢ়ଶ, શԡ͠, ϑϨʔϜຖʹೖྗ͕ΓସΘΔ ↑1Pࣦഊঢ়ଶ
࡞ͬͨॴͷઆ໌
SFCͱܨ͛Δ෦
SFCͱܨ͛Δ෦ • ຊͷίϯτϩʔϥΛόϥ͢ • ϚϧνλοϓΛόϥ͢ • ԆέʔϒϧΛΔ
ຊͷίϯτϩʔϥʔΛόϥ͢ • Pros • ຊͷίϯτϩʔϥ έʔϒϧ৭͓ͳͬ͡Ά͍ • ͔Θ͍͍ • Cons
• ࢮ͵΄ͲԚ͍ • ωδͷαϏ͕͍
ϚϧνλοϓΛόϥ͢ • Pros • ܨ͛Δ෦1ͭ, ૠೖ෦4ͭʂʂʂʂʂ • ͔Θ͍͍ • Cons
• ߴ͍
ԆέʔϒϧΛΔ • Pros • ͍҆ • ೖग़ྗͲͬͪखʹೖΔ • Cons •
ِ
4021Λ͢
4021Λ͢ • Arduino uno • ͖ͯͱ͏ʹͬͦ͡͏ • attachInterrupt ʹґଘ͍ͯ͠Δ •
͖͍ͭ
Ͱ͖ͯΔͷ
None
None
None
ͬͯΉΓͦ͏ͩͬͨͷ
Raspberry pi • తʹͪΐͬͱ… • Python͕͓͍ͦ • C++Ͱͭͬͨ͘όΠφϦ͓͍ͦ • ͍ͯͳͦ͞͏
ͷ͍ͬͯ͜Δ
֤छϐϯͷଓ͕ෆ҆ఆ • ϓϦϯτج൘ͭ͘Γ͍ͨ • ͖ͪ͠ͳ͍ • ॳظࢿͦ͏ • ͪΌΜͱͨ͠ࢠΛ͚͍ͭͨͰ͢Ͷ
USBܨ͙ͱෆ҆ఆ • Կނ͔Θ͔͍ͬͯͳ͍ • όεύϫʔ͕ࡶڕʁ • SFC͔Βͷిݯͩͱ҆ఆ͢Δ • γϦΞϧ௨৴͕͍ͨ͠ͷͰ͕͢ʂʂʂʂ
૯ׅ
SFCArduinoܹ͍ • ेφϊඵͷੈք͜Θ͍ • ΫϩοΫઅΛҙࣝ͢Δίʔυ
ॿ͚स͕ग़ͤΔ૬ख͕ډͳ͍ • ք۾(?)ͷҧ͍ • ͻͱΓͰΈଓ͚Δͷͩ… • ͦͦجૅ͕͔ࣝͬ͠Γ͍ͯ͠ͳ͍͔Β? • ॿ͚ͯ
͓ΘΓ