Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Geek Bar #2
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
KOYAMA Hiroshi
October 31, 2017
Programming
440
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Geek Bar #2
WebMSX(JavaScript版MSXエミュレータ)
KOYAMA Hiroshi
October 31, 2017
More Decks by KOYAMA Hiroshi
See All by KOYAMA Hiroshi
Geek Bar #3
koyama0612
0
400
産業技術大学院大学 情報アーキテクチャ専攻 2016-06-25
koyama0612
1
1.1k
Swift code in Swift
koyama0612
0
370
昔のLinuxの話 Our Memories of Linux
koyama0612
2
2.1k
iOS EDC 2013-11-07
koyama0612
1
1.9k
JTF2013: LT
koyama0612
0
230
Other Decks in Programming
See All in Programming
「AI時代、配布するPythonコードをどう守るか: 難読化の実験と判断軸」 #PyconJP2026
pkshadeck
PRO
2
190
Press start. Python's next generation.
willingc
PRO
3
330
ALB ログから Trace を気合で繋げる技術
fohte
7
880
Swift愛好会100回記念 第1回を振り返る
jollyjoester
0
120
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
5.7k
AIの中の人になってみる
htkym
0
170
一参加者から『中の人』へ 〜全通PHPerがブースに立って学んだ、カンファレンスを100倍楽しむコツ〜
wp_daisuke
0
140
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
650
Swift愛好会と私(ウホーイ) / Swift Fan Club and Uhooi
uhooi
0
150
Deep dive into the select statement (GopherCon UK)
jespino
0
170
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
230
[DroidKaigi 2026] Bring your own phones to Gradle Managed Devices
f2lk
0
110
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Raft: Consensus for Rubyists
vanstee
141
7.7k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
680
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
730
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.2k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
A Soul's Torment
seathinner
7
3.6k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
500
Typedesign – Prime Four
hannesfritz
42
3.2k
Chasing Engaging Ingredients in Design
codingconduct
0
300
Technical Leadership for Architectural Decision Making
baasie
3
560
Transcript
WEBMSXを改造して遊ぼう 株式会社あくしゅ 代表取締役 山崎泰宏
MSXとは • 1983年に米マイクロソフトとアスキーによって提唱された 8ビット・16ビットのパソコンの共通規格の名称 • MSXとその後継規格であるMSX2(1985年)、MSX2+(1988年)、MSXturboR(1990年)の総称でもある。
私とMSX • ファミコンは買ってもらわなかったが、MSXは家にあった • それで小学校3年生の時に何気なくBASICを始めた • 以来、ファミコンに勝ちたくてゲームを作り続け、友達に遊んでもらうも、
毎度クソゲーと呼ばれる結果に • どうしても面白い!すごい!と言われたくて、 ソースコードを印刷して小学校の休憩時間に読みながら改善ポイントなど書き込む • 先生に没収され、親に連絡が行き、「息子さんが意味不明な暗号を眺めているのだが」と心配される
MSX・FAN最終号に投稿したプログラム クソゲーも数打てば当たる
WEBMSXとは • JavaScriptで書かれたMSXのエミュレータ • MSX2+相当の機能セットを持っている • CPUであるZ80MPUだけでなく、VDPや周辺装置との入出力も実装している
そもそもMSXってどうやって動いているのか (図解Z80って本がとても参考になります)
Z80MPUの構造 当日専用スライドなので割愛
動作例 LD A, (HL) ADD A, B
0100H 7E 0101H 80 0102H
初期状態 当日専用スライドなので割愛
”7E”実行後 当日専用スライドなので割愛
MPUから周辺チップへのアクセス切り替え例 当日専用スライドなので割愛
メモリ読み出しを例にしたタイミングチャートの見方 次に変化するまではアドレスが 保持されていることを示している データが出力されていることを示す。 水平線はハイインピーダンス 当日専用スライドなので割愛
データ準備が出来ていないことを MPUへ知らせる信号 当日専用スライドなので割愛
当日専用スライドなので割愛
メモリとアクセス 当日専用スライドなので割愛
そんなこんなで動作する LD A, (HL) ADD A, B
0100H 7E 0101H 80 0102H IN A, (8E) 0100H DB 0101H 8E 0102H メモリへのアクセス I/Oデバイスへのアクセス
抽象的に書くと Z80 MPU RAM I/O Device
BUS ここにHTTPアクセスモジュールを接続してみたい ハードウェアでやろうとすると大変だが エミュレータなら簡単