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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Izumi Tsutsui
November 06, 2016
Programming
2
1k
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上の Makefile に押し込んでみた / osc2025hiroshima
tsutsui
0
210
今年もNetBSD環境を使って PC-6001のPSG演奏デモを作った話 / KOF2025
tsutsui
0
230
NetBSD/luna68kの歴史解説と、LUNAでアニメGIF再生デモと ついでにPC-6001デモも作った話 / OSC2025Kyoto
tsutsui
0
120
NetBSDの解説と NetBSD/luna68kの歴史と ついでにPC-6001展示 / OSC2025Tokyo-spring
tsutsui
0
190
GitHub Actionsを使ってNetBSDマイナー機種用のビルドテストCIを書いてみた話 / OSC2025Osaka
tsutsui
0
150
PC-6001のPSG演奏デモを機会にNetBSDを真面目に説明してみる / OSC2024Ehime
tsutsui
0
450
PC-6001のPSG演奏デモをなるべくNetBSD環境を使って作った話 / KOF2024
tsutsui
1
670
OSC展示とLUNAとNetBSD / OSC2024Kyoto
tsutsui
1
690
digital VAX, NetBSD/vaxの歴史と VAXstation 3100/m30 展示 / OSC2024Osaka
tsutsui
0
1.4k
Other Decks in Programming
See All in Programming
AtCoder Conference 2025
shindannin
0
980
SQL Server 2025 LT
odashinsuke
0
190
re:Invent 2025 トレンドからみる製品開発への AI Agent 活用
yoskoh
0
680
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
220
高速開発のためのコード整理術
sutetotanuki
1
300
PostgreSQLで手軽にDuckDBを使う!DuckDB&pg_duckdb入門/osc25hi-duckdb
takahashiikki
0
260
Python札幌 LT資料
t3tra
7
1.1k
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
340
組織で育むオブザーバビリティ
ryota_hnk
0
140
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
780
The Art of Re-Architecture - Droidcon India 2025
siddroid
0
170
ゆくKotlin くるRust
exoego
1
210
Featured
See All Featured
Game over? The fight for quality and originality in the time of robots
wayneb77
1
84
4 Signs Your Business is Dying
shpigford
187
22k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Color Theory Basics | Prateek | Gurzu
gurzu
0
180
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
44
ラッコキーワード サービス紹介資料
rakko
1
2.1M
GraphQLとの向き合い方2022年版
quramy
50
14k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.5k
For a Future-Friendly Web
brad_frost
181
10k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
GitHub's CSS Performance
jonrohan
1032
470k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
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があると結構使える感じです • 標準ハードだと一瞬で動きます • 規格から外れたハードを作ると ドライバ書く人が泣きます • ハード工作してドライバ書いての 自作自演楽しいです
まとめ