SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
OpenBSD/luna88k
- 2014/4 近況報告 -
Nagoya *BSD Users' Group
Kenji Aoyama / ⻘⼭ 健治
aoyama@nk-home.net
http://www.nk-home.net/~aoyama/
NBUG 2014年4⽉例会
2
2013年12⽉以降のluna88k
• wscons 8bpp support
& mlterb-fb 8bpp
• モノクロXserverとの共存
• 86音源ボード
• pcex(4):PC-98スロットドライバ
3
wscons 8bpp support
• 4bpp版をを単純に倍にして8bpp化
–原作は@tsutsuiiさんのluna68k版
–Bt458の初期化が違ってた
4
mlterm-fb 8bpp
• mlterm-fb作者も想定外だったLUNA
のハード構成:-)
5
mlterm-fb 8bpp
• Bt458の初期化を直したらOK
6
Commit log
Log message:
Add primary support for LUNA-88K 4bpp/8bpp frame buffer.
This brings color support on LUNA's wscons. And, with the help of recent
development version of 'mlterm-fb' (frame buffer version of ports/x11/mlterm),
graphic images can be displayed in 16/256 colors on the screen. Thanks to
arakiken, the original developer of mlterm!
This diff is based on NetBSD/luna68k work:
http://mail-index.netbsd.org/source-changes/2013/12/28/msg050266.html
Need more work to coexist with the monochrome X.Org server.
"go ahead!" miod@
7
モノクロXserverとの共存
8
モノクロXserverとの共存
• wscons/mlterm-fb使用時はカラー、
Xserver使用時はモノクロにしたい
mlterm-fb(4/8bpp対応)
kernel
Xorg server(1bpp)
kernel
4/8bpp frame buffer 4/8bpp frame buffer
1bpp
決め打ち処理
4/8bppを
想定した処理
残りのplaneは
表示されたまま
Xserverを4/8bpp対応すれば? → planeタイプの高い壁が…
正しく表示
9
モノクロXserverとの共存
• 案1:前面DIP SWで切り替え…△
–実装は簡単だが、切り替え時は再起動?
• 案2:ioctl(2)で変更…○
–デバイスドライバ側でdepth(bpp)を変
えられるようにする
–アプリケーションから使用するdepthを
通知する
(……勝手に追加していいのかな?)
10
モノクロXserverとの共存
• 秘密(?)のWSDISPLAYIO_SETGFXMODE
– vga_pci.cに実装されているioctl
– マニュアルには記載されてない
– グラフィックモードの切り替えに使ってるよ
うだ
– (NetBSDにはないらしい)
• このAPIを借用してluna88kで実装
– 擬似depth切り替え、colormap設定など
• Xserver側にもluna88k固有処理追加
– console/mlterm-fb/Xserverを⾏ったりきた
りしても大丈夫になりました
11
86音源ボード
• デバイスドライバは?
–NetBSD/pc98のソースを流用
–うまく音が出ない
–「まずはmmapして試したら?」
@2013年12⽉NBUG例会
–/dev/memを改造してmmapしてみる
* NEC PC-9801-86 SoundBoard PCM driver for NetBSD/pc98.
* Written by NAGAO Tadaaki, Feb 10, 1996.
*
* Modified by N. Honda, Mar 7, 1998
12
86音源ボード
• nec86play
– https://github.com/ao-kenji/nec86play
– mmapした86音源ボードのテストプログラム
– NetBSD/pc98のドライバ+ドライバ初期化ルーチン
– 16bit, little endian, stereoのWAVEファイルを再生
13
86音源ボード
• 実験結果 (88100@33Mhz)
–22050Hzなら安定して再生できる
–44100Hz(CD品質)では、割り込みが間
に合わないことがある
–調整したらもう少しいけるかも?
•バッファサイズ
•割り込みを発生させる閾値
• 次の課題:ドライバ化
14
pcex(4):PC-98スロットドライバ
• 割り込みを扱うために必要
• 機能1:専用のmmap
–/dev/pcexmem
•mmapすると、 Cbusボードのメモリ領域
にアクセスできる
–/dev/pcexio
•mmapすると、CbusボードのI/Oポートに
アクセスできる
15
pcex(4):PC-98スロットドライバ
• 機能2:割り込みハンドリング
–ioctlで実現
• UniOS-Machに準拠(のつもり)
–PCEXSETINTLEVEL
•このドライバで扱うINTレベルを登録
–PCEXRESETINTLEVEL
•上記を解除
–PCEXWAITINT
•割り込みが起きるまで待つ(タイムアウト
つき)
16
pcex(4):PC-98スロットドライバ
• 将来的には、cbus(4)が必要か?
<現状>
pcex0 at mainbus0
<将来>
cbus0 at mainbus0
necsb0 at cbus0
audio0 at necsb0
pcex0 at cbus0 cbus(4)レベルでINTx割り込みを登録/判断
cbus
86音源ボード
他Cbusボード
necsb
pcex
INTx
INTy
mainbus Cbusボードpcex
INTx
mainbus
interrupt
level = 4
interrupt
level = 4
17
今後の予定
• 86音源ボードのドライバ作成
– 仮名:necsb(4)
• テキスト版twitter+カラーアイコン表示
– mikutterデーモンモードなら、ふぁぼられる
と音が鳴る?
• マルチプロセッサでの時間遅れ対応
– マルチプロセッサで定常運用したい
– 多少は負荷低減になるのでは?
• これらで「マルチメディア」対応して
OSC名古屋へ持っていけたらいいな♪

Contenu connexe

Tendances

OpenBSD/luna88k yearly progress report (from May 2017 to May 2018)
OpenBSD/luna88k yearly progress report (from May 2017 to May 2018)OpenBSD/luna88k yearly progress report (from May 2017 to May 2018)
OpenBSD/luna88k yearly progress report (from May 2017 to May 2018)Kenji Aoyama
 
Introduction of OpenBSD/luna88k at OSC 2014 Nagoya
Introduction of OpenBSD/luna88k at OSC 2014 NagoyaIntroduction of OpenBSD/luna88k at OSC 2014 Nagoya
Introduction of OpenBSD/luna88k at OSC 2014 NagoyaKenji Aoyama
 
Lagopus performance
Lagopus performanceLagopus performance
Lagopus performanceMasaru Oki
 
FreeBSD jail+vnetと戯れた話
FreeBSD jail+vnetと戯れた話FreeBSD jail+vnetと戯れた話
FreeBSD jail+vnetと戯れた話Masaru Oki
 
Open stack+lagopus できるかな
Open stack+lagopus できるかなOpen stack+lagopus できるかな
Open stack+lagopus できるかなMasaru Oki
 
圧縮・伸張・アーカイブサポートの現状と課題
圧縮・伸張・アーカイブサポートの現状と課題圧縮・伸張・アーカイブサポートの現状と課題
圧縮・伸張・アーカイブサポートの現状と課題Hiroshi Miura
 
Raspberry pi 用 toppers ssp シュリンク版(海賊版)の紹介
Raspberry pi 用 toppers ssp シュリンク版(海賊版)の紹介Raspberry pi 用 toppers ssp シュリンク版(海賊版)の紹介
Raspberry pi 用 toppers ssp シュリンク版(海賊版)の紹介Kazuhiro Takahashi
 
Hadoop HDFS: The Ultimate Storage
Hadoop HDFS: The Ultimate StorageHadoop HDFS: The Ultimate Storage
Hadoop HDFS: The Ultimate StorageSATOSHI TAGOMORI
 
Lagopus as open flow hybrid switch 実践編
Lagopus as open flow hybrid switch 実践編Lagopus as open flow hybrid switch 実践編
Lagopus as open flow hybrid switch 実践編Masaru Oki
 
Infrastructure of Pathtraq
Infrastructure of PathtraqInfrastructure of Pathtraq
Infrastructure of PathtraqKazuho Oku
 
Ryu+Lagopusで OpenFlowの動きを見てみよう
Ryu+Lagopusで OpenFlowの動きを見てみようRyu+Lagopusで OpenFlowの動きを見てみよう
Ryu+Lagopusで OpenFlowの動きを見てみようMasaru Oki
 
Play PSG music on LUNA-88K - Utilization of I/O prosessor
Play PSG music on LUNA-88K - Utilization of I/O prosessorPlay PSG music on LUNA-88K - Utilization of I/O prosessor
Play PSG music on LUNA-88K - Utilization of I/O prosessorKenji Aoyama
 
Traffic Management with Istio ( with Demo )
Traffic Management with Istio ( with Demo )Traffic Management with Istio ( with Demo )
Traffic Management with Istio ( with Demo )ロフト くん
 
Xeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdkXeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdkMasaru Oki
 
The Overall Architecture of ROMA
The Overall Architecture of ROMAThe Overall Architecture of ROMA
The Overall Architecture of ROMAMuga Nishizawa
 
OpenBSD/luna88k yearly progress report 2019 (from May 2018 to July 2019)
OpenBSD/luna88k yearly progress report 2019 (from May 2018 to July 2019)OpenBSD/luna88k yearly progress report 2019 (from May 2018 to July 2019)
OpenBSD/luna88k yearly progress report 2019 (from May 2018 to July 2019)Kenji Aoyama
 
Unix32 v 20100508
Unix32 v 20100508Unix32 v 20100508
Unix32 v 20100508xylnao
 
Open flow tunnel extension on lagopus vswitch
Open flow tunnel extension on lagopus vswitchOpen flow tunnel extension on lagopus vswitch
Open flow tunnel extension on lagopus vswitchMasaru Oki
 

Tendances (20)

OpenBSD/luna88k yearly progress report (from May 2017 to May 2018)
OpenBSD/luna88k yearly progress report (from May 2017 to May 2018)OpenBSD/luna88k yearly progress report (from May 2017 to May 2018)
OpenBSD/luna88k yearly progress report (from May 2017 to May 2018)
 
Introduction of OpenBSD/luna88k at OSC 2014 Nagoya
Introduction of OpenBSD/luna88k at OSC 2014 NagoyaIntroduction of OpenBSD/luna88k at OSC 2014 Nagoya
Introduction of OpenBSD/luna88k at OSC 2014 Nagoya
 
Lagopus performance
Lagopus performanceLagopus performance
Lagopus performance
 
FreeBSD jail+vnetと戯れた話
FreeBSD jail+vnetと戯れた話FreeBSD jail+vnetと戯れた話
FreeBSD jail+vnetと戯れた話
 
Open stack+lagopus できるかな
Open stack+lagopus できるかなOpen stack+lagopus できるかな
Open stack+lagopus できるかな
 
圧縮・伸張・アーカイブサポートの現状と課題
圧縮・伸張・アーカイブサポートの現状と課題圧縮・伸張・アーカイブサポートの現状と課題
圧縮・伸張・アーカイブサポートの現状と課題
 
Raspberry pi 用 toppers ssp シュリンク版(海賊版)の紹介
Raspberry pi 用 toppers ssp シュリンク版(海賊版)の紹介Raspberry pi 用 toppers ssp シュリンク版(海賊版)の紹介
Raspberry pi 用 toppers ssp シュリンク版(海賊版)の紹介
 
Hadoop HDFS: The Ultimate Storage
Hadoop HDFS: The Ultimate StorageHadoop HDFS: The Ultimate Storage
Hadoop HDFS: The Ultimate Storage
 
about Tcpreplay
about Tcpreplayabout Tcpreplay
about Tcpreplay
 
Lagopus as open flow hybrid switch 実践編
Lagopus as open flow hybrid switch 実践編Lagopus as open flow hybrid switch 実践編
Lagopus as open flow hybrid switch 実践編
 
Infrastructure of Pathtraq
Infrastructure of PathtraqInfrastructure of Pathtraq
Infrastructure of Pathtraq
 
Ryu+Lagopusで OpenFlowの動きを見てみよう
Ryu+Lagopusで OpenFlowの動きを見てみようRyu+Lagopusで OpenFlowの動きを見てみよう
Ryu+Lagopusで OpenFlowの動きを見てみよう
 
Play PSG music on LUNA-88K - Utilization of I/O prosessor
Play PSG music on LUNA-88K - Utilization of I/O prosessorPlay PSG music on LUNA-88K - Utilization of I/O prosessor
Play PSG music on LUNA-88K - Utilization of I/O prosessor
 
Traffic Management with Istio ( with Demo )
Traffic Management with Istio ( with Demo )Traffic Management with Istio ( with Demo )
Traffic Management with Istio ( with Demo )
 
Xeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdkXeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdk
 
Ras piでrt linux
Ras piでrt linuxRas piでrt linux
Ras piでrt linux
 
The Overall Architecture of ROMA
The Overall Architecture of ROMAThe Overall Architecture of ROMA
The Overall Architecture of ROMA
 
OpenBSD/luna88k yearly progress report 2019 (from May 2018 to July 2019)
OpenBSD/luna88k yearly progress report 2019 (from May 2018 to July 2019)OpenBSD/luna88k yearly progress report 2019 (from May 2018 to July 2019)
OpenBSD/luna88k yearly progress report 2019 (from May 2018 to July 2019)
 
Unix32 v 20100508
Unix32 v 20100508Unix32 v 20100508
Unix32 v 20100508
 
Open flow tunnel extension on lagopus vswitch
Open flow tunnel extension on lagopus vswitchOpen flow tunnel extension on lagopus vswitch
Open flow tunnel extension on lagopus vswitch
 

En vedette

Does LUNA-88K2 dream of PC Card? / Using PC Card on OpenBSD/luna88k
Does LUNA-88K2 dream of PC Card? / Using PC Card on OpenBSD/luna88kDoes LUNA-88K2 dream of PC Card? / Using PC Card on OpenBSD/luna88k
Does LUNA-88K2 dream of PC Card? / Using PC Card on OpenBSD/luna88kKenji Aoyama
 
"yaft on LUNA" at NBUG Meeting 2014-11
"yaft on LUNA" at NBUG Meeting 2014-11"yaft on LUNA" at NBUG Meeting 2014-11
"yaft on LUNA" at NBUG Meeting 2014-11Kenji Aoyama
 
オープンソース開発と、 あるフレームバッファコンソールの話 ~名古屋応用編~
オープンソース開発と、あるフレームバッファコンソールの話~名古屋応用編~オープンソース開発と、あるフレームバッファコンソールの話~名古屋応用編~
オープンソース開発と、 あるフレームバッファコンソールの話 ~名古屋応用編~nullnilaki
 
Play a music on LUNA-88K2
Play a music on LUNA-88K2Play a music on LUNA-88K2
Play a music on LUNA-88K2Kenji Aoyama
 
Using FM-synth chip on LUNA-88K2, at NBUG meeting 2015-10
Using FM-synth chip on LUNA-88K2, at NBUG meeting 2015-10Using FM-synth chip on LUNA-88K2, at NBUG meeting 2015-10
Using FM-synth chip on LUNA-88K2, at NBUG meeting 2015-10Kenji Aoyama
 
"PC-9801-86 sound board on LUNA", at NBUG Meeting 2014-12
"PC-9801-86 sound board on LUNA", at NBUG Meeting 2014-12"PC-9801-86 sound board on LUNA", at NBUG Meeting 2014-12
"PC-9801-86 sound board on LUNA", at NBUG Meeting 2014-12Kenji Aoyama
 
"Archaeology and RPG" hack: LUNA's development progress, at NBUG meeting 2017-02
"Archaeology and RPG" hack: LUNA's development progress, at NBUG meeting 2017-02"Archaeology and RPG" hack: LUNA's development progress, at NBUG meeting 2017-02
"Archaeology and RPG" hack: LUNA's development progress, at NBUG meeting 2017-02Kenji Aoyama
 

En vedette (8)

Does LUNA-88K2 dream of PC Card? / Using PC Card on OpenBSD/luna88k
Does LUNA-88K2 dream of PC Card? / Using PC Card on OpenBSD/luna88kDoes LUNA-88K2 dream of PC Card? / Using PC Card on OpenBSD/luna88k
Does LUNA-88K2 dream of PC Card? / Using PC Card on OpenBSD/luna88k
 
Nbug201503
Nbug201503Nbug201503
Nbug201503
 
"yaft on LUNA" at NBUG Meeting 2014-11
"yaft on LUNA" at NBUG Meeting 2014-11"yaft on LUNA" at NBUG Meeting 2014-11
"yaft on LUNA" at NBUG Meeting 2014-11
 
オープンソース開発と、 あるフレームバッファコンソールの話 ~名古屋応用編~
オープンソース開発と、あるフレームバッファコンソールの話~名古屋応用編~オープンソース開発と、あるフレームバッファコンソールの話~名古屋応用編~
オープンソース開発と、 あるフレームバッファコンソールの話 ~名古屋応用編~
 
Play a music on LUNA-88K2
Play a music on LUNA-88K2Play a music on LUNA-88K2
Play a music on LUNA-88K2
 
Using FM-synth chip on LUNA-88K2, at NBUG meeting 2015-10
Using FM-synth chip on LUNA-88K2, at NBUG meeting 2015-10Using FM-synth chip on LUNA-88K2, at NBUG meeting 2015-10
Using FM-synth chip on LUNA-88K2, at NBUG meeting 2015-10
 
"PC-9801-86 sound board on LUNA", at NBUG Meeting 2014-12
"PC-9801-86 sound board on LUNA", at NBUG Meeting 2014-12"PC-9801-86 sound board on LUNA", at NBUG Meeting 2014-12
"PC-9801-86 sound board on LUNA", at NBUG Meeting 2014-12
 
"Archaeology and RPG" hack: LUNA's development progress, at NBUG meeting 2017-02
"Archaeology and RPG" hack: LUNA's development progress, at NBUG meeting 2017-02"Archaeology and RPG" hack: LUNA's development progress, at NBUG meeting 2017-02
"Archaeology and RPG" hack: LUNA's development progress, at NBUG meeting 2017-02
 

OpenBSD/luna88k news at NBUG meeting 2014-04