SlideShare a Scribd company logo
1 of 13
Download to read offline
NBUG 2014年12⽉例会
OpenBSD/luna88kのこの1年、または
86音源ボード on LUNA
の進捗
Nagoya *BSD Users' Group
Kenji Aoyama / ⻘⼭ 健治
2
ちょうど1年前の12⽉…
7
【作業中】PC-9801-86音源ボード
• PC-98拡張バス遊びのターゲット
• 実はこれも2004年に手をつけ始めた
– LUNA-88K2への移植がmiodさんに見つかり(^_^)、official treeへ
のマージ作業を優先し中断
– その後のディスククラッシュで、いじってたソースが消失(T_T)
• ほぼ10年ぶりに再開
• NetBSD/pc98のドライバで
なにか音は出てるが
• OpenBSDのaudioドライバ
とFIFOの扱いがうまくあって
ないのかな?
謎マシンに装着された
前世紀の拡張ボード→
NBUG
2013年12月例会
3
経過(1)
•pcex(4)をcommit
•NBUG例会で報告 … cbus(4)構想浮上
2014/4
•/dev/mem をいじって無理やりmmap
•テストプログラムnec86playを書く
•pcex(4):汎用PC-98スロットドライバを
作り始める
2014/2
•冬休み自由研究として、コンソールのカ
ラー化に逃避
•「mmap(2)せよ」(by Sさん)との
お告げを聞く@NBUG例会
2013/12
4
cbus(4)構想
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
NBUG
2014年4月例会
5
経過(2)
•OSC終わった反動で一休み
•夏休み自由研究でyaftの移植に逃避
•OSC名古屋でまさかの電源トラブル
•予備機でnec86playによるデモ
2014/7
•OSC名古屋のデモをmikuttermにしよう
と思いrubyのビルドに挑戦
•rubyはビルドできたが、時間切れ
•CバスはLUNA-88K2にしかないので
88Kではpcex(4)のattachをやめる
2014/4
6
忘れたわけじゃないんだよ…
7
経過(3)
•cbus(4)をcommit2014/12
•cbus(4)構想の具現化2014/11
•mikuttermを動かそうとしたらm88kで
はgtk+2がコンパイルできず敗退
•tw-sixelやsayakaちゃんに逃避
•古代技術 raster operation 発掘に逃避
8
Log message:
Add an intermediate layer driver, cbus(4), to manage its own
interrupts of PC-9801 extension board slot bus (so-called 'C-bus') on
LUNA-88K2.
Existing pcex(4) is now attached at cbus(4), i.e.
cbus0 at mainbus0
pcex0 at cbus0
With this driver, some other PC-9801 boards might be supported on
luna88k in the (near?) future:-)
commit logで自分にプレッシャー
http://marc.info/?l=openbsd-cvs&m=141804506513490
9
経過(4)
•necsb(4)をcbus(4)にattach
•いろいろいじりつつ、/dev/audio用の
テストプログラムnecsbplayを動かすと
それっぽい音が出た!
2012/12
※開発中画⾯につき、ブートメッセージは変更となる場合があります:-)
10
次なる課題が…
… /dev/soundでどうやって再生するんだっけ?
11
改めて、OpenBSDのオーディオ周りを調査
• audio(4)
– (昔からある) /dev/audio, /dev/sound
– open/read/write/ioctl/closeで動かす
• sndio(7)
– audio(4)で動く、OpenBSDの標準フレームワーク
– sndiod(1)デーモン、ネットワーク対応
• libao(ports)
– オーディオアプリケーション用ライブラリ
– OpenBSDでは、sndio(7)の上で動いているようだ
http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man7/sndio.7
https://www.xiph.org/ao/
12
色々な構成で試して現状こんな感じ
necsb(4)
/dev/sound
necsb(4)
/dev/sound
necsb(4)
/dev/sound
sndiod(1)
aucat(1)
sndiod(1)
libao(ports)
mpg321(ports)necsbplay
hardware hardware hardware
nec86play
hardware
○ SR=11025Hz ○ SR=11025Hz △ SR=11025Hz
音が途切れる
× SR=???Hz
途切れ途切れ(SR:sampling rate)
Command
WAV fileWAV fileWAV file MP3 file
13
まとめ
• デバイスドライバが大体できた
– Thanks to NetBSD/pc98
– 冬休み中にcommitしたいなあ
• アプリケーション・ライブラリ周りの継続調査
– バッファサイズなど調整したらMP3も動かないか?
• 気楽に続ければいつかできる
– うまく⾏かないときは別の課題に逃避(!?)して充電
– 仕事じゃないのだから
• 次のCバスボードは何にしようか?
– PCMCIAカードアダプタが面白そう?

More Related Content

What's hot

Here come LUNA-88K emulators!
Here come LUNA-88K emulators!Here come LUNA-88K emulators!
Here come LUNA-88K emulators!Kenji 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
 
Play a music on LUNA-88K2
Play a music on LUNA-88K2Play a music on LUNA-88K2
Play a music on LUNA-88K2Kenji Aoyama
 
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたいKenichiro MATOHARA
 
A story of porting OpenBSD/luna88k
A story of porting OpenBSD/luna88kA story of porting OpenBSD/luna88k
A story of porting OpenBSD/luna88kKenji Aoyama
 
SDNソフトウェアスイッチlagopus for FreeBSD
SDNソフトウェアスイッチlagopus for FreeBSDSDNソフトウェアスイッチlagopus for FreeBSD
SDNソフトウェアスイッチlagopus for FreeBSDMasaru Oki
 
PXE で linux インストールな本 -1 スピンドルマシンも Linux 化-
PXE で linux インストールな本 -1 スピンドルマシンも Linux 化-PXE で linux インストールな本 -1 スピンドルマシンも Linux 化-
PXE で linux インストールな本 -1 スピンドルマシンも Linux 化-Kenichiro MATOHARA
 
Xeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdkXeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdkMasaru Oki
 
Debianのstart-stop-daemonがLXC対応じゃないのでいじってたら何故かkFreeBSDも触ることになった話
Debianのstart-stop-daemonがLXC対応じゃないのでいじってたら何故かkFreeBSDも触ることになった話Debianのstart-stop-daemonがLXC対応じゃないのでいじってたら何故かkFreeBSDも触ることになった話
Debianのstart-stop-daemonがLXC対応じゃないのでいじってたら何故かkFreeBSDも触ることになった話Genta Iha
 
N88-BASIC Language
N88-BASIC LanguageN88-BASIC Language
N88-BASIC Languagesunflat
 
BlueZで遊んでみる - BLE大阪勉強会
BlueZで遊んでみる - BLE大阪勉強会BlueZで遊んでみる - BLE大阪勉強会
BlueZで遊んでみる - BLE大阪勉強会Shinji Kobayashi
 
Onieで遊んでみようとした話
Onieで遊んでみようとした話Onieで遊んでみようとした話
Onieで遊んでみようとした話Masaru Oki
 
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2Kenichiro MATOHARA
 

What's hot (13)

Here come LUNA-88K emulators!
Here come LUNA-88K emulators!Here come LUNA-88K emulators!
Here come LUNA-88K emulators!
 
"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
 
Play a music on LUNA-88K2
Play a music on LUNA-88K2Play a music on LUNA-88K2
Play a music on LUNA-88K2
 
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい
 
A story of porting OpenBSD/luna88k
A story of porting OpenBSD/luna88kA story of porting OpenBSD/luna88k
A story of porting OpenBSD/luna88k
 
SDNソフトウェアスイッチlagopus for FreeBSD
SDNソフトウェアスイッチlagopus for FreeBSDSDNソフトウェアスイッチlagopus for FreeBSD
SDNソフトウェアスイッチlagopus for FreeBSD
 
PXE で linux インストールな本 -1 スピンドルマシンも Linux 化-
PXE で linux インストールな本 -1 スピンドルマシンも Linux 化-PXE で linux インストールな本 -1 スピンドルマシンも Linux 化-
PXE で linux インストールな本 -1 スピンドルマシンも Linux 化-
 
Xeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdkXeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdk
 
Debianのstart-stop-daemonがLXC対応じゃないのでいじってたら何故かkFreeBSDも触ることになった話
Debianのstart-stop-daemonがLXC対応じゃないのでいじってたら何故かkFreeBSDも触ることになった話Debianのstart-stop-daemonがLXC対応じゃないのでいじってたら何故かkFreeBSDも触ることになった話
Debianのstart-stop-daemonがLXC対応じゃないのでいじってたら何故かkFreeBSDも触ることになった話
 
N88-BASIC Language
N88-BASIC LanguageN88-BASIC Language
N88-BASIC Language
 
BlueZで遊んでみる - BLE大阪勉強会
BlueZで遊んでみる - BLE大阪勉強会BlueZで遊んでみる - BLE大阪勉強会
BlueZで遊んでみる - BLE大阪勉強会
 
Onieで遊んでみようとした話
Onieで遊んでみようとした話Onieで遊んでみようとした話
Onieで遊んでみようとした話
 
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい2
 

Viewers also liked

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
 
OpenBSD/luna88k news at NBUG meeting 2014-04
OpenBSD/luna88k news at NBUG meeting 2014-04OpenBSD/luna88k news at NBUG meeting 2014-04
OpenBSD/luna88k news at NBUG meeting 2014-04Kenji Aoyama
 
OpenBSD/luna88k news at NBUG Meeting 2013-12
OpenBSD/luna88k news at NBUG Meeting 2013-12OpenBSD/luna88k news at NBUG Meeting 2013-12
OpenBSD/luna88k news at NBUG Meeting 2013-12Kenji Aoyama
 
オープンソース開発と、 あるフレームバッファコンソールの話 ~名古屋応用編~
オープンソース開発と、あるフレームバッファコンソールの話~名古屋応用編~オープンソース開発と、あるフレームバッファコンソールの話~名古屋応用編~
オープンソース開発と、 あるフレームバッファコンソールの話 ~名古屋応用編~nullnilaki
 
"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
 
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
 
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
 
論理と計算のしくみ 5.3 型付きλ計算 (前半)
論理と計算のしくみ 5.3 型付きλ計算 (前半)論理と計算のしくみ 5.3 型付きλ計算 (前半)
論理と計算のしくみ 5.3 型付きλ計算 (前半)Lintaro Ina
 
Magento 2 Code Generation Tools
Magento 2 Code Generation ToolsMagento 2 Code Generation Tools
Magento 2 Code Generation ToolsÓscar Recio Soria
 

Viewers also liked (11)

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
 
OpenBSD/luna88k news at NBUG meeting 2014-04
OpenBSD/luna88k news at NBUG meeting 2014-04OpenBSD/luna88k news at NBUG meeting 2014-04
OpenBSD/luna88k news at NBUG meeting 2014-04
 
OpenBSD/luna88k news at NBUG Meeting 2013-12
OpenBSD/luna88k news at NBUG Meeting 2013-12OpenBSD/luna88k news at NBUG Meeting 2013-12
OpenBSD/luna88k news at NBUG Meeting 2013-12
 
オープンソース開発と、 あるフレームバッファコンソールの話 ~名古屋応用編~
オープンソース開発と、あるフレームバッファコンソールの話~名古屋応用編~オープンソース開発と、あるフレームバッファコンソールの話~名古屋応用編~
オープンソース開発と、 あるフレームバッファコンソールの話 ~名古屋応用編~
 
"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
 
Nbug201503
Nbug201503Nbug201503
Nbug201503
 
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
 
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
 
論理と計算のしくみ 5.3 型付きλ計算 (前半)
論理と計算のしくみ 5.3 型付きλ計算 (前半)論理と計算のしくみ 5.3 型付きλ計算 (前半)
論理と計算のしくみ 5.3 型付きλ計算 (前半)
 
Magento 2 Code Generation Tools
Magento 2 Code Generation ToolsMagento 2 Code Generation Tools
Magento 2 Code Generation Tools
 
Running Effective Board Meetings
Running Effective Board MeetingsRunning Effective Board Meetings
Running Effective Board Meetings
 

"PC-9801-86 sound board on LUNA", at NBUG Meeting 2014-12