Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Using "C-bus" extension boards on LUNA-88K2 (at OSC 2015 Nagoya)

1,560 views

Published on

Published in: Software
  • Be the first to comment

  • Be the first to like this

Using "C-bus" extension boards on LUNA-88K2 (at OSC 2015 Nagoya)

  1. 1. OSC 2015 Nagoya 謎マシンにも翼をください C-bus拡張ボード on LUNA-88K2 Nagoya *BSD Users' Group Kenji Aoyama / ⻘⼭ 健治 Twitter: @ao_kenji
  2. 2. 2 自己紹介 • ⻘⼭ 健治 / あおやま けんじ • パソコン歴 – MZ-2000 → X68000XVI → PC-AT • UNIX歴 – Sun3 / SunOS 4.0.x ぐらいから? – FreeBSD → NetBSD → OpenBSD • OpenBSD/luna88k port maintainer – 2004年〜
  3. 3. 3 LUNA-88K,LUNA-88K2とは? • LUNAシリーズ – オムロン株式会社が1980年代後半〜90年代 初めに販売していたワークステーション • LUNA, LUNA-II – CPU:モトローラ68030/68040(m68k) – NetBSD/luna68kが動きます • LUNA-88K, LUNA-88K2 – CPU:モトローラ88100(m88k) MP対応 – OpenBSD/luna88kが動きます ⾒かけたら保護を!
  4. 4. 4 C-bus: LUNA’s final frontier :-) • OpenBSD/luna88kのデバイスサポート •フレームバッファ •キーボード・マウス・シリアル •ネットワークインタフェース •SCSIコントローラ •フロントパネルLCD •PC-98拡張バス(C-bus) •シリアル×2 •プリンタポート I/Oプロセッサ (HD647180)の先にある ファームウェアを読み込ませる必要がある がその情報がない メインCPUから⾒えるところにある ○ × メインCPUからアクセスできるので オムロン純正ではない色々な機能の C-busボードが使える(かも?) ただしDMAは対応していません (LUNA-88K2にはDMACがない)
  5. 5. 5 C-bus: How to access on LUNA • 物理アドレス – 0x90000000〜 (16MB) • C-busメモリ領域…24bit分 – 0x91000000〜 (64KB) • C-bus I/Oポート領域…memory mapped – 0x91100000 • 割り込みステータスレジスタ(仮称) 【注意】 i386: Little Endian m88k: Big Endian なにか処理が必要かも? 詳しくは https://gist.github.com/ao-kenji/7843096 参照
  6. 6. 6 これまでに作ったデバイスドライバ cbus 86音源ボード PCカードスロット necsb pcmcia INTx INTy mainbus interrupt level = 4 その他C-busボード pcexmem pcexio INTz OpenBSD 5.7(最新リリース)にも含まれています
  7. 7. 7 cbus(4) • mainbusとC-busボードの間の中間層 – C-bus割り込みの管理 – 将来的にはメモリ・I/Oポート領域の重複管 理も必要かも?
  8. 8. 8 pcexmem(4), pxexio(4) • C-bus用genericドライバ – C-busメモリ領域・I/Oポート領域専用 mmap – 簡単な割り込みハンドリング • 各種C-busボードをユーザランドから触れ るので、実験が楽になりました(自画自賛)
  9. 9. 9 necsb(4) • 86音源ボードドライバ – PCM部分のみ • 古のNetBSD/pc98のドライバをcbus(4) に持ってきたもの – 詳細は2014年12月のNBUG例会報告 http://www.slideshare.net/ao_kenji/nbug201412 参照 • LUNAでも/dev/audioが(一応)使えます – 11.025kHzサンプリングのPCMファイルなら LUNAでも再生できました
  10. 10. 10 pcmcia(4) • PCMCIAスロット 増設ユニットドライバ • OpenBSDのpcmcia(4)をcbus(4)経由で 使えるようにしたもの – 詳細は2015年2月のNBUG例会報告 http://www.slideshare.net/ao_kenji/nbug201502 参照 • 本日展示の無線LANカードはこのドライ バ経由で動いています
  11. 11. 11 Now playing with • ターゲット – PC-9801-96 グラフィックアクセラレータボード(GAB)B3 • Cirrus Logic GD5428 • 1MB VRAM • マルチヘッドもどきにして本日展示して いるものです • 1024x768x8bpp, 800x600x16bpp対応 • 今はpcexmem(4)/pcexio(4)を使って 1ドットずつ描画しています 右:純正フレームバッファ左:GAB-B3
  12. 12. 12 GAB-B3を試してみて • 「VGA」由来なのでちょっと使いにくい – VRAMをLinear Addressingできるチップだ が、ボードとしては対応していない様子 • 64Kごとのページアクセスしかできない – どうドライバ化したらいいか検討中 • 他のC-bus GABの情報求む!! – 1280×1024×8bpp以上→ VRAM 2MB希望 – 過去XFree98等でサポートされていたもの – VRAMがLinear Addressing対応できるもの
  13. 13. 13 まとめ • LUNA-88K2で各種C-busボードを動かし てみました • ドライバを用意したら、DMAを使わない ボードがいくつか動きました – CPUパワーが貧弱なので、timeoutになるも のもあります • 高サンプリングレートでのPCM再生 • PCMCIAのWireless LAN • 今後遊ぶためにも、早めの現物確保を!
  14. 14. 14 謝辞 • 荒尾さん・蛯原さん・江富さん – LUNA-88Kを送付いただきました • 大島さん – GAB-B3を寄贈いただきました • 筒井さん – 電源修理 & アドバイスありがとうございます • Twitterでfavしていただける方 – 励みになります • 家族 – 怪しげな趣味に対する理解に感謝!
  15. 15. 15 あとはNBUGブースで お待ちしております!!

×