SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
OSC 2017 Nagoya
OpenBSD/luna88kのご紹介
LUNA-88KでPSG演奏
〜 I/Oプロセッサの活用 〜
Nagoya *BSD Users' Group
Kenji Aoyama / ⻘⼭ 健治
Twitter: @ao_kenji
2
毎年のおさらい…LUNAとは?
• LUNAシリーズ
– オムロン株式会社が1980年代後半〜90年代
初めに販売していたワークステーション
• LUNA, LUNA-II
– CPU:モトローラ68030/68040(m68k)
– NetBSD/luna68kが動きます
• LUNA-88K, LUNA-88K2
– CPU:モトローラ88100(m88k) MP対応
– OpenBSD/luna88kが動きます
⾒かけたら保護を!
3
LUNA-88K{,2}:こんなマシンです
前面の
液晶パネル
個々のCPU動作
状況が分かる
LEDマルチプロセッサ
対応
比較的
コンパクトな筐体
(ご家庭でもOK)
CPU動作状況が
分かる電源ボタン
Cバススロット
(88K2のみ)
4
製造後25年…いろいろ介護が必要です
• 電源ユニット
– コンデンサ交換してもらいました (Thanks
to 筒井さん)
5
製造後25年…いろいろ介護が必要です
• 電源ユニット
– コンデンサ交換してもらいました (Thanks
to 筒井さん)
• LUNA-88Kのキーが効かない
– スペアのLUNA-88K2用キーボードをLUNA-
88Kに接続する変換器作りました
6
製造後25年…いろいろ介護が必要です
• 電源ユニット
– コンデンサ交換してもらいました (Thanks
to 筒井さん)
• LUNA-88Kのキーが効かない
– スペアのLUNA-88K2用キーボードをLUNA-
88Kに接続する変換器作りました
• 50pin SCSI HDD
– 手持ちのHDDも動かないものが増えています
– 新たに SCSI2SD を導入してみました
7
SCSI2SD V5
速度が最⼤2.6MB/sとのことですが
LUNAはそこまで出ないので問題なし:-)
今回導入の新兵器:SCSI2SD
MicroSD
スロット
50pin SCSI
コネクタ
電源
コネクタ
Windows PCなどからUSB接続し
て設定が必要です
ターミネータ
(不要時は外す)
http://www.codesrc.com/mediawiki/index.php?title=SCSI2SD
MicroUSB
(設定用)
8
OpenBSDとは?
• OpenBSD プロジェクトでは、フリーでマルチ
プラットホーム対応の 4.4BSD ベースの UNIX
系 OS を提供しています。
• プロジェクトで特に⼒を入れているのは、 移植
性、標準化、正当性、積極的なセキュリティ そ
して 暗号機能の統合です。
• 半年に⼀度、定期的にリリースがあります。
• 最新リリース: OpenBSD 6.1 (2017年5月)
http://www.openbsd.org/
9
OpenBSD/luna88kとは?
• OpenBSDのLUNA-88K{,2}への移植
• OpenBSD/mvme88kのコア部分+
NetBSD/luna68kのデバイス部分
• 歴史
– 2002年1月 移植開始
– 2004年4月 公式treeにcommit
– 2007年8月〜2011年8月
電源ユニット故障により4年間放置
– 2011年8月 電源ユニットを移植→復活
– 2013年6月 OSC名古屋で初展示
10
最近のトピック: XP, the final frontier
• I/Oプロセッサ HD647180
– LUNAではXPと呼ばれています
(auXiliary Processor?)
– LUNAシリーズに搭載されている、Z80(上位)
互換のI/Oプロセッサ
– 純正OSのUniOSではファームウェア(Z80
コード)が起動時に読み込まれている
– OpenBSDでもユーザランドからZ80コードを
読み込ませられるのでは?
– …と妄想中に⻑期出張になり手つかず
11
そんなある日…驚きのtweet
PSGってXPの先に接続されてい
たはず…いったいどうやって?
さっそく内容を拝⾒しました
12
LUNAのI/O processor
筒井さん
発表資料より
LUNA-88Kでも
アドレスは同じ
なのでいじれる
はず(^_^)
ここが
MC88100
OpenBSD
に変わるだけ
http://sssslide.com/speakerdeck.com/tsutsui/osc2016-hiroshima-psg-tunes-on-netbsd-luna68k-again
13
まずはCP/Mを動かしてみようか
http://userweb.alles.or.jp/chunichidenko/
~
先達が残した実践的な情報を発⾒!
14
CP/M on XP (トライアル版)の構成
XP
HD647180
CP/M &
Transient
Command
(32KB)
RAM disk
32KB
MC88100
OpenBSD
Console I/O
/dev/xp
共有メモリ64KB
<中日電⼯さん記録からの変更点>
•コンソール入出⼒ → 共有メモリ経由のttyデバイスに
•メモリ配置 → 主記憶とRAMディスクそれぞれ32KBに
LUNA本体
cu(1)から接続できるttyデバイスとRAMディスクで構成
/dev/xptty0
CP/M binary
/dev/xp
Disk image
15
RAMディスク版CP/M⼀応動きました
実はCP/Mを実際に使ったことがないので、この先どうするか思案中(^_^)
16
ところで…
初代LUNAにはYM2149(SSG)がついていてうらやましいなあ
筒井さん
発表資料より
http://sssslide.com/speakerdeck.com/tsutsui/osc2016-hiroshima-psg-tunes-on-netbsd-luna68k-again
17
そんなある日
ふと眺めたMiodさん(元OpenBSDの偉い方)の
” Omron Luna-88k prototype”ページより
... and sound chip, …
え!?
http://www.prumpleffer.de/~miod/machineroom/machines/omron/luna88k/index.html
プロトタイプだから載ってるのか?
18
さっそく手元マシンを確認
88K本体にPSGの出⼒端⼦はない。PSG内
蔵のI/Oポートだけ使用?
→ もったいない!
→ 出⼒つなげば⾳出るのでは?
←上中下3段の真ん中の基板に載って
いたため気づきませんでした。
19
早速テキトー配線 & テスト
筒井さんから初代LUNA用のサンプル
プログラムをいただきました。
20
回路といっても抵抗2個とコンデンサ
1個とコネクタだけ
気をよくして出⼒回路⼯作
21
⼀応仕上げ
今回このマシンを展示しています。
レトロサウンドをお楽しみください。
22
おまけ︓man page
ドライバは筒井さんに書いて
いただいたので、man page を
書きました。
23
まとめ(1) 今回は考古学&冒険!?
<考古学>
• 時をさかのぼり、(c)1979 なCP/Mを動かした
• Z80アセンブラに郷愁
– DEC HLでHL==0になってもZフラグは⽴たないので
すね…すっかり忘れてました
<冒険>
• 封印された石(YM2149)を発⾒!
• 手を動かして、その⼒を解き放った
– ⼯作があるとより楽しい
• 気分はインディー・ジョーンズ!?
24
まとめ(2) 何が面白いのか?
• メーカが想定していないことを実現する
– 別のOSを動作させる
– 非純正ハードを接続して動かす
– 元の設計を超えた動作をさせる
– そのために試⾏錯誤しながらソフトを書く
– これが、もどかしい時もあるけれど楽しい
• 最後は「愛」と「執着心」:-)
25
謝辞
• 荒尾さん・蛯原さん・江富さん
– LUNA-88Kを送付いただきました
• 筒井さん
– 何回もの電源修理 & サンプル提供 & いつも
アドバイスありがとうございます
• Twitterでfavしていただける方
– 励みになります
• 家族
– 怪しげな趣味に対する理解に感謝!
26
あとはNBUGブースで…
Nagoya *BSD Users' Group
Kenji Aoyama / ⻘⼭ 健治
Twitter: @ao_kenji
お待ちしてま〜す︕
Tower of LUNA

Mais conteúdo relacionado

Mais procurados

OpenBSD/luna88k on LUNA-88K2, at OSC 2013 Nagoya
OpenBSD/luna88k on LUNA-88K2, at OSC 2013 NagoyaOpenBSD/luna88k on LUNA-88K2, at OSC 2013 Nagoya
OpenBSD/luna88k on LUNA-88K2, at OSC 2013 NagoyaKenji Aoyama
 
A story of porting OpenBSD/luna88k
A story of porting OpenBSD/luna88kA story of porting OpenBSD/luna88k
A story of porting 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
 
WWDC.NEXT 2016: Digital Crown
WWDC.NEXT 2016: Digital CrownWWDC.NEXT 2016: Digital Crown
WWDC.NEXT 2016: Digital CrownYuta Hoshino
 
Droonga - 分散Groongaで快適レプリケーション生活
Droonga - 分散Groongaで快適レプリケーション生活Droonga - 分散Groongaで快適レプリケーション生活
Droonga - 分散Groongaで快適レプリケーション生活Hiroshi Yuki
 
アロマディフューザーIoTシステム
アロマディフューザーIoTシステムアロマディフューザーIoTシステム
アロマディフューザーIoTシステムTomomiKondo
 
Traffic Management with Istio ( with Demo )
Traffic Management with Istio ( with Demo )Traffic Management with Istio ( with Demo )
Traffic Management with Istio ( with Demo )ロフト くん
 
ちょっと古いマシンにLinuxを
ちょっと古いマシンにLinuxをちょっと古いマシンにLinuxを
ちょっと古いマシンにLinuxをKenichiro MATOHARA
 
The Overall Architecture of ROMA
The Overall Architecture of ROMAThe Overall Architecture of ROMA
The Overall Architecture of ROMAMuga Nishizawa
 
"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
 
衛星をインターバル撮影して合成
衛星をインターバル撮影して合成衛星をインターバル撮影して合成
衛星をインターバル撮影して合成Kenichiro MATOHARA
 
小ゼミ進捗 0601
小ゼミ進捗 0601小ゼミ進捗 0601
小ゼミ進捗 0601robo_lab
 
OpenIndiana+KVMによる仮想マシン
OpenIndiana+KVMによる仮想マシンOpenIndiana+KVMによる仮想マシン
OpenIndiana+KVMによる仮想マシン悟 宮崎
 
あるキャッシュメモリの話
あるキャッシュメモリの話あるキャッシュメモリの話
あるキャッシュメモリの話nullnilaki
 
小ネタ:Android上でroscoreを走らせてみた
小ネタ:Android上でroscoreを走らせてみた小ネタ:Android上でroscoreを走らせてみた
小ネタ:Android上でroscoreを走らせてみたRyodo Tanaka
 
FreeBSD jail+vnetと戯れた話
FreeBSD jail+vnetと戯れた話FreeBSD jail+vnetと戯れた話
FreeBSD jail+vnetと戯れた話Masaru Oki
 
モーターを低速で定速で動かしてみる
モーターを低速で定速で動かしてみるモーターを低速で定速で動かしてみる
モーターを低速で定速で動かしてみるKeiichi Sakai
 

Mais procurados (20)

OpenBSD/luna88k on LUNA-88K2, at OSC 2013 Nagoya
OpenBSD/luna88k on LUNA-88K2, at OSC 2013 NagoyaOpenBSD/luna88k on LUNA-88K2, at OSC 2013 Nagoya
OpenBSD/luna88k on LUNA-88K2, at OSC 2013 Nagoya
 
A story of porting OpenBSD/luna88k
A story of porting OpenBSD/luna88kA story of porting OpenBSD/luna88k
A story of porting 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
 
WWDC.NEXT 2016: Digital Crown
WWDC.NEXT 2016: Digital CrownWWDC.NEXT 2016: Digital Crown
WWDC.NEXT 2016: Digital Crown
 
Droonga - 分散Groongaで快適レプリケーション生活
Droonga - 分散Groongaで快適レプリケーション生活Droonga - 分散Groongaで快適レプリケーション生活
Droonga - 分散Groongaで快適レプリケーション生活
 
アロマディフューザーIoTシステム
アロマディフューザーIoTシステムアロマディフューザーIoTシステム
アロマディフューザーIoTシステム
 
Traffic Management with Istio ( with Demo )
Traffic Management with Istio ( with Demo )Traffic Management with Istio ( with Demo )
Traffic Management with Istio ( with Demo )
 
ちょっと古いマシンにLinuxを
ちょっと古いマシンにLinuxをちょっと古いマシンにLinuxを
ちょっと古いマシンにLinuxを
 
The Overall Architecture of ROMA
The Overall Architecture of ROMAThe Overall Architecture of ROMA
The Overall Architecture of ROMA
 
Mbed gps logger_20101105
Mbed gps logger_20101105Mbed gps logger_20101105
Mbed gps logger_20101105
 
"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
 
衛星をインターバル撮影して合成
衛星をインターバル撮影して合成衛星をインターバル撮影して合成
衛星をインターバル撮影して合成
 
Nbug201503
Nbug201503Nbug201503
Nbug201503
 
小ゼミ進捗 0601
小ゼミ進捗 0601小ゼミ進捗 0601
小ゼミ進捗 0601
 
OpenIndiana+KVMによる仮想マシン
OpenIndiana+KVMによる仮想マシンOpenIndiana+KVMによる仮想マシン
OpenIndiana+KVMによる仮想マシン
 
あるキャッシュメモリの話
あるキャッシュメモリの話あるキャッシュメモリの話
あるキャッシュメモリの話
 
小ネタ:Android上でroscoreを走らせてみた
小ネタ:Android上でroscoreを走らせてみた小ネタ:Android上でroscoreを走らせてみた
小ネタ:Android上でroscoreを走らせてみた
 
171116 nishimoto-mruby
171116 nishimoto-mruby171116 nishimoto-mruby
171116 nishimoto-mruby
 
FreeBSD jail+vnetと戯れた話
FreeBSD jail+vnetと戯れた話FreeBSD jail+vnetと戯れた話
FreeBSD jail+vnetと戯れた話
 
モーターを低速で定速で動かしてみる
モーターを低速で定速で動かしてみるモーターを低速で定速で動かしてみる
モーターを低速で定速で動かしてみる
 

Mais de Kenji Aoyama

OpenBSD/luna88k development & hack in 2017
OpenBSD/luna88k development & hack in 2017OpenBSD/luna88k development & hack in 2017
OpenBSD/luna88k development & hack in 2017Kenji 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
 
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
 
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
 
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
 

Mais de Kenji Aoyama (6)

OpenBSD/luna88k development & hack in 2017
OpenBSD/luna88k development & hack in 2017OpenBSD/luna88k development & hack in 2017
OpenBSD/luna88k development & hack in 2017
 
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
 
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
 
"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
 
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
 
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
 

Play PSG music on LUNA-88K - Utilization of I/O prosessor