Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OSC2016 Tokyo fall NetBSD dreamcast IDE HDD

OSC2016 Tokyo fall NetBSD dreamcast IDE HDD

OSC2016東京秋のNetBSDセミナーで発表した『NetBSD/dreamcast IDE HDD接続 ふたたび』のスライドです。

7fe50ce1ac047336d7804e47aec56391?s=128

Izumi Tsutsui

November 06, 2016
Tweet

Transcript

  1. NetBSD/dreamcast IDE HDD接続 ふたたび オープンソース カンファレンス2016東京秋 実は半年放置してるネタなんです Izumi Tsutsui tsutsui@NetBSD.org

  2. NetBSD/dreamcast  2000年 12月に本家ツリーにマージ http://mail-index.netbsd.org/source-changes/2000/12/11/0081.html

  3. DC IDE HDD Interface http://homepages.compuserve.de/bITmASTER32/dc/dc-ide.html  2000年にはすでにトライしている人が

  4. 2001年 3月 4日  「NetBSD/dreamcast を入れた」  というとある後輩に向かってメール (前ページのURLを示して) 「IDE-HDDのインターフェースを作って NetBSDのドライバを書くとかどう?」

  5. 2001年 3月 24日  後輩からの返信メール 「というわけで、作ってみました」 「DEVICE IDENTIFY の結果です」

  6. ( ゚д゚)

  7. 2001年 3月 27日  後輩からの返信メール 「READに成功しました」

  8. 2001年 5月 1日  後輩からの返信メール 「WRITEも動きました」

  9. 2001年 6月 某 名大祭  元祖(?) 謎マシン展示

  10. 2001年 NeBSD BoF http://www.jp.netbsd.org/ja/JP/JNUG/event/20010630BOF/dcwdc/mgp00001.html

  11. 2001年 12月  ISA NE2000と謎マシンの関係

  12. 2002年 6月  CPLDバージョン登場

  13. 「俺も遊ぶから  もう一台作って」 と横暴な先輩モードを発動

  14. 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)
  15. 2002年当時は OSC も KOF も無くて 「謎マシンの展示」 という概念自体が 無かったんですよね…

  16. 時は流れて 2005年10月

  17. KOF2005 @大阪産業創造館 https://k-of.jp/2005/

  18. 謎マシン展示@Kansai http://www.soum.co.jp/~jun/KOF2010.pdf EWS4800/360AD NetBSD/ews4800mips マージ直前展示 ドリキャス キーボードとマウス ドリキャス 本体はこのへん ドリキャス接続

    IDE-HDD と NE2000 画面は NetBSD/dreamcast のXサーバー
  19. NetBSD/dreamcast で Xサーバーを動かして NetBSD/ews4800mips のシリアルコンソール端末 にしてました 誰にもわからなさ過ぎる展示でしたね……

  20. さらに時は過ぎ KOF2009

  21. MPlayer on dreamcast http://www.soum.co.jp/~jun/KOF2010.pdf

  22. 謎マシン展示でも マニアックすぎるネタは 気づいてもらえない という反省 (´・ω・`)

  23. 2010年に入って https://twitter.com/tsutsuii/status/16513319813

  24. 8年も経つと 自作の基板は いろいろ劣化が… ISAスロット抜き差しがきつかった模様

  25. デバッグを試みるも……  NetBSD/dreamcast カーネル起動方法 • CD-Rにカーネルを焼いて起動 ⇒カーネル作るたびに焼くとかやっとれん • NetBSDカーネルが起動した状態で  NFS等のファイルシステムから

     カーネルを読み込み ⇒NE2000もダメ、BbAもつなげられない
  26. SDカード接続等を試みるも、 結局挫折したまま5年 https://twitter.com/tsutsuii/status/669927653701390336

  27. 2016年2月

  28. 検索でこんなページが http://www.dc-swat.ru/blog/hardware/874.html

  29.  衝撃の事実 • ドリキャスの GD-ROMは 実は IDE/ATAPI • IDE が接続可能なランドが基板上にある

    • GD-ROM が master で、配線だけすれば slave 設定の HDD が直接つながる!? ATA on Dreamcast http://www.dc-swat.ru/blog/hardware/874.html
  30. 本当に ATA なら、 NetBSDだったら ちょっとドライバ書けば 一瞬で動くんじゃ……

  31. とりあえず 工作してみる

  32.  シールドその他でガードが固い どこから配線するか

  33.  わりと豪快な解決策 実施例を見てみる https://fnhack.wordpress.com/2014/10/16/soldering-to-the-motherboard/

  34. 板金加工は 大変なので 手抜きを 考える

  35. このへんに すきまがある?

  36. 電源コネクタ横も 一応すきまがある

  37. とりあえずボード取り外し

  38. IDEケーブル準備

  39. はんだめっき

  40. ランド確認

  41. 黙々と配線

  42. さらに配線

  43. 配線整頓

  44. すきまから引き出し

  45. さらに引き出し

  46. エッジ注意

  47. 電源基板取り付け

  48. で、ドライバ作成開始

  49. https://twitter.com/tsutsuii/status/706303710536728577

  50. https://twitter.com/tsutsuii/status/706305209673211904

  51. https://twitter.com/tsutsuii/status/706317376434757632

  52. https://twitter.com/tsutsuii/status/706322812412100608

  53. https://twitter.com/tsutsuii/status/706323002904850434

  54. https://twitter.com/tsutsuii/status/706323584365436928

  55. https://twitter.com/tsutsuii/status/706339280436596736

  56. https://twitter.com/tsutsuii/status/706350693385252864

  57. https://twitter.com/tsutsuii/status/706388037987487744

  58. https://twitter.com/tsutsuii/status/706396799968215040

  59. https://twitter.com/tsutsuii/status/706397480439533568

  60. https://twitter.com/tsutsuii/status/706398442801623040

  61. https://twitter.com/tsutsuii/status/706411492216705024 https://gist.github.com/tsutsui/713a2cb010435effad08

  62. 配線工作:2時間 デバッグ:6時間 やっぱり一瞬でした

  63. CFスレーブ動作テスト

  64. OSC展示用 適当加工 (一昨日)

  65. カッターナイフ工作

  66. でろーん

  67. というわけで展示物完成

  68.  GD-ROMドライバ • HDD用に MI ATA ドライバを使ったので GD-ROM も MI

    ATAPI ドライバを使って 書き直す必要がある • が、GD-ROMは微妙に ATAPI 準拠してない ⇒データ転送時には割り込みかかるが  ATAPIコマンド転送時は割り込み入らない    ……本題ではないせいで気合い入らず保留中 今後の課題
  69. • HDDがあると結構使える感じです • 標準ハードだと一瞬で動きます • 規格から外れたハードを作ると ドライバ書く人が泣きます • ハード工作してドライバ書いての 自作自演楽しいです

    まとめ