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
OSC2016 Tokyo fall NetBSD dreamcast IDE HDD
Search
Izumi Tsutsui
November 06, 2016
Programming
2
820
OSC2016 Tokyo fall NetBSD dreamcast IDE HDD
OSC2016東京秋のNetBSDセミナーで発表した『NetBSD/dreamcast IDE HDD接続 ふたたび』のスライドです。
Izumi Tsutsui
November 06, 2016
Tweet
Share
More Decks by Izumi Tsutsui
See All by Izumi Tsutsui
PC-6001のPSG演奏デモを機会にNetBSDを真面目に説明してみる / OSC2024Ehime
tsutsui
0
56
PC-6001のPSG演奏デモをなるべくNetBSD環境を使って作った話 / KOF2024
tsutsui
1
53
OSC展示とLUNAとNetBSD / OSC2024Kyoto
tsutsui
1
81
digital VAX, NetBSD/vaxの歴史と VAXstation 3100/m30 展示 / OSC2024Osaka
tsutsui
0
470
SONY NEWS NetBSD移植作業とNWS-3260展示 / KOF2023
tsutsui
0
1.3k
37年前の Sun 3/60 のために最新のNetBSDと最新のX.orgをメンテする話 / KOF2022
tsutsui
1
480
お歳暮で Sun3 が送られてきたので NetBSD/sun3 を展示デモしました / OSC2020Osaka
tsutsui
5
2.8k
NetBSD/zaurus 8.1 を直したあと ブース展示デモ内容を作った話 / OSC2019Tokyo-Fall
tsutsui
0
700
NetBSD/zaurus 8.1 をテストしたら動かなかったので動くまで直した話 / KOF2019-NetBSD
tsutsui
1
1.1k
Other Decks in Programming
See All in Programming
fs2-io を試してたらバグを見つけて直した話
chencmd
0
230
バグを見つけた?それAppleに直してもらおう!
uetyo
0
180
生成AIでGitHubソースコード取得して仕様書を作成
shukob
0
310
StarlingMonkeyを触ってみた話 - 2024冬
syumai
3
270
暇に任せてProxmoxコンソール 作ってみました
karugamo
1
720
これでLambdaが不要に?!Step FunctionsのJSONata対応について
iwatatomoya
2
3.6k
テスト自動化失敗から再挑戦しチームにオーナーシップを委譲した話/STAC2024 macho
ma_cho29
1
1.3k
第5回日本眼科AI学会総会_AIコンテスト_3位解法
neilsaw
0
170
CSC305 Lecture 25
javiergs
PRO
0
130
PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~ / WebSocket Server in PHP - To know reactive applications
seike460
PRO
2
110
ブラウザ単体でmp4書き出すまで - muddy-web - 2024-12
yue4u
2
460
命名をリントする
chiroruxx
1
390
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
65
11k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
Automating Front-end Workflow
addyosmani
1366
200k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.3k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
Unsuck your backbone
ammeep
669
57k
Designing for Performance
lara
604
68k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Transcript
NetBSD/dreamcast IDE HDD接続 ふたたび オープンソース カンファレンス2016東京秋 実は半年放置してるネタなんです Izumi Tsutsui
[email protected]
NetBSD/dreamcast 2000年 12月に本家ツリーにマージ http://mail-index.netbsd.org/source-changes/2000/12/11/0081.html
DC IDE HDD Interface http://homepages.compuserve.de/bITmASTER32/dc/dc-ide.html 2000年にはすでにトライしている人が
2001年 3月 4日 「NetBSD/dreamcast を入れた」 というとある後輩に向かってメール (前ページのURLを示して) 「IDE-HDDのインターフェースを作って NetBSDのドライバを書くとかどう?」
2001年 3月 24日 後輩からの返信メール 「というわけで、作ってみました」 「DEVICE IDENTIFY の結果です」
( ゚д゚)
2001年 3月 27日 後輩からの返信メール 「READに成功しました」
2001年 5月 1日 後輩からの返信メール 「WRITEも動きました」
2001年 6月 某 名大祭 元祖(?) 謎マシン展示
2001年 NeBSD BoF http://www.jp.netbsd.org/ja/JP/JNUG/event/20010630BOF/dcwdc/mgp00001.html
2001年 12月 ISA NE2000と謎マシンの関係
2002年 6月 CPLDバージョン登場
「俺も遊ぶから もう一台作って」 と横暴な先輩モードを発動
2002年 7月 割り込み駆動で動作 NetBSD 1.6B (DIGNITY) #30: Sat Jul
13 19:43:13 JST 2002 tsutsui@mirage:/home/spool/src/sys/arch/dreamcast/compile/DIGNITY SEGA Dreamcast : dppbus0 at shb0 ne0 at dppbus0 port 0x0a00 irq 0x0008 ne0: NE2000 (RTL8019) Ethernet ne0: Ethernet address 00:00:f4:69:34:49 ne0: 10base2, 10baseT, 10baseT-FDX, auto, default [0x00 0x10] auto wdc0 at dppbus0 port 0x1000 irq 0x0010 wd0 at wdc0 channel 0 drive 0: <QUANTUM FIREBALL1280A> wd0: drive supports 8-sector PIO transfers, LBA addressing wd0: 1222 MB, 2484 cyl, 16 head, 63 sec, 512 bytes/sect x 2503872 sectors wd0: drive supports PIO mode 4, DMA mode 2 : # dd if=/dev/rwd0a of=/dev/null bs=64k 1031+1 records in 1031+1 records out 67576320 bytes transferred in 61.470 secs (1099338 bytes/sec)
2002年当時は OSC も KOF も無くて 「謎マシンの展示」 という概念自体が 無かったんですよね…
時は流れて 2005年10月
KOF2005 @大阪産業創造館 https://k-of.jp/2005/
謎マシン展示@Kansai http://www.soum.co.jp/~jun/KOF2010.pdf EWS4800/360AD NetBSD/ews4800mips マージ直前展示 ドリキャス キーボードとマウス ドリキャス 本体はこのへん ドリキャス接続
IDE-HDD と NE2000 画面は NetBSD/dreamcast のXサーバー
NetBSD/dreamcast で Xサーバーを動かして NetBSD/ews4800mips のシリアルコンソール端末 にしてました 誰にもわからなさ過ぎる展示でしたね……
さらに時は過ぎ KOF2009
MPlayer on dreamcast http://www.soum.co.jp/~jun/KOF2010.pdf
謎マシン展示でも マニアックすぎるネタは 気づいてもらえない という反省 (´・ω・`)
2010年に入って https://twitter.com/tsutsuii/status/16513319813
8年も経つと 自作の基板は いろいろ劣化が… ISAスロット抜き差しがきつかった模様
デバッグを試みるも…… NetBSD/dreamcast カーネル起動方法 • CD-Rにカーネルを焼いて起動 ⇒カーネル作るたびに焼くとかやっとれん • NetBSDカーネルが起動した状態で NFS等のファイルシステムから
カーネルを読み込み ⇒NE2000もダメ、BbAもつなげられない
SDカード接続等を試みるも、 結局挫折したまま5年 https://twitter.com/tsutsuii/status/669927653701390336
2016年2月
検索でこんなページが http://www.dc-swat.ru/blog/hardware/874.html
衝撃の事実 • ドリキャスの GD-ROMは 実は IDE/ATAPI • IDE が接続可能なランドが基板上にある
• GD-ROM が master で、配線だけすれば slave 設定の HDD が直接つながる!? ATA on Dreamcast http://www.dc-swat.ru/blog/hardware/874.html
本当に ATA なら、 NetBSDだったら ちょっとドライバ書けば 一瞬で動くんじゃ……
とりあえず 工作してみる
シールドその他でガードが固い どこから配線するか
わりと豪快な解決策 実施例を見てみる https://fnhack.wordpress.com/2014/10/16/soldering-to-the-motherboard/
板金加工は 大変なので 手抜きを 考える
このへんに すきまがある?
電源コネクタ横も 一応すきまがある
とりあえずボード取り外し
IDEケーブル準備
はんだめっき
ランド確認
黙々と配線
さらに配線
配線整頓
すきまから引き出し
さらに引き出し
エッジ注意
電源基板取り付け
で、ドライバ作成開始
https://twitter.com/tsutsuii/status/706303710536728577
https://twitter.com/tsutsuii/status/706305209673211904
https://twitter.com/tsutsuii/status/706317376434757632
https://twitter.com/tsutsuii/status/706322812412100608
https://twitter.com/tsutsuii/status/706323002904850434
https://twitter.com/tsutsuii/status/706323584365436928
https://twitter.com/tsutsuii/status/706339280436596736
https://twitter.com/tsutsuii/status/706350693385252864
https://twitter.com/tsutsuii/status/706388037987487744
https://twitter.com/tsutsuii/status/706396799968215040
https://twitter.com/tsutsuii/status/706397480439533568
https://twitter.com/tsutsuii/status/706398442801623040
https://twitter.com/tsutsuii/status/706411492216705024 https://gist.github.com/tsutsui/713a2cb010435effad08
配線工作:2時間 デバッグ:6時間 やっぱり一瞬でした
CFスレーブ動作テスト
OSC展示用 適当加工 (一昨日)
カッターナイフ工作
でろーん
というわけで展示物完成
GD-ROMドライバ • HDD用に MI ATA ドライバを使ったので GD-ROM も MI
ATAPI ドライバを使って 書き直す必要がある • が、GD-ROMは微妙に ATAPI 準拠してない ⇒データ転送時には割り込みかかるが ATAPIコマンド転送時は割り込み入らない ……本題ではないせいで気合い入らず保留中 今後の課題
• HDDがあると結構使える感じです • 標準ハードだと一瞬で動きます • 規格から外れたハードを作ると ドライバ書く人が泣きます • ハード工作してドライバ書いての 自作自演楽しいです
まとめ