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
910
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
NetBSDの解説と NetBSD/luna68kの歴史と ついでにPC-6001展示 / OSC2025Tokyo-spring
tsutsui
0
100
GitHub Actionsを使ってNetBSDマイナー機種用のビルドテストCIを書いてみた話 / OSC2025Osaka
tsutsui
0
89
PC-6001のPSG演奏デモを機会にNetBSDを真面目に説明してみる / OSC2024Ehime
tsutsui
0
330
PC-6001のPSG演奏デモをなるべくNetBSD環境を使って作った話 / KOF2024
tsutsui
1
450
OSC展示とLUNAとNetBSD / OSC2024Kyoto
tsutsui
1
580
digital VAX, NetBSD/vaxの歴史と VAXstation 3100/m30 展示 / OSC2024Osaka
tsutsui
0
1.2k
SONY NEWS NetBSD移植作業とNWS-3260展示 / KOF2023
tsutsui
0
1.5k
37年前の Sun 3/60 のために最新のNetBSDと最新のX.orgをメンテする話 / KOF2022
tsutsui
1
560
お歳暮で Sun3 が送られてきたので NetBSD/sun3 を展示デモしました / OSC2020Osaka
tsutsui
5
2.9k
Other Decks in Programming
See All in Programming
RubyKaigiで得られる10の価値 〜Ruby話を聞くことだけが RubyKaigiじゃない〜
tomohiko9090
0
140
Development of an App for Intuitive AI Learning - Blockly Summit 2025
teba_eleven
0
110
[初登壇@jAZUG]アプリ開発者が気になるGoogleCloud/Azure+wasm/wasi
asaringo
0
120
統一感のある Go コードを生成 AI の力で手にいれる
otakakot
0
2.9k
社内での開発コミュニティ活動とモジュラーモノリス標準化事例のご紹介/xPalette and Introduction of Modular monolith standardization
m4maruyama
0
120
レガシーシステムの機能調査・開発におけるAI利活用
takuya_ohtonari
0
580
Devinで実践する!AIエージェントと協働する開発組織の作り方
masahiro_nishimi
6
3k
Go Modules: From Basics to Beyond / Go Modulesの基本とその先へ
kuro_kurorrr
0
110
単体テストの始め方/作り方
toms74209200
0
430
Effect の双対、Coeffect
yukikurage
4
1.3k
C++20 射影変換
faithandbrave
0
170
Datadog RUM 本番導入までの道
shinter61
1
250
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Unsuck your backbone
ammeep
671
58k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
4
130
Git: the NoSQL Database
bkeepers
PRO
430
65k
Stop Working from a Prison Cell
hatefulcrawdad
269
20k
Optimizing for Happiness
mojombo
379
70k
Visualization
eitanlees
146
16k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
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があると結構使える感じです • 標準ハードだと一瞬で動きます • 規格から外れたハードを作ると ドライバ書く人が泣きます • ハード工作してドライバ書いての 自作自演楽しいです
まとめ