2000年11月の記事だよん(^_^)

30.November.2000
TALK : ClassicなモダンOSとClassicなMacOS その4(つづき)
Written by MeNOU

 いや、マジで11月終っちゃうのでバックナンバー欄が欠番にならないように更新するぜ(^_^;)

 ホントはもっと詳しく図解入りとか考えてたんだけど、図とか書き出したら細かい部分とか気になっちゃって時間が足りなくなって結局完成できないので(オイオイ)、今回はあっさり簡単に説明で進めちゃうぜ! < いやスマン、マジで

 ってワケで、前回完結しなかった続き(笑)

 当時の非力なCPUは、画面全体をグラフィカルに扱う現在当たり前のスタイル(ビットマップディスプレイなウィンドウシステム)でさえ死ぬほど遅かったのだ(^_^;)

 当時のパソコン上で動かすにはUNIX系のタイムシェアリングなカーネルは、高速なCPUを遊ばせない為には有効なんだけど、低速なCPUの場合にはカーネルの割込処理とタスクを切り替えると言う作業自体が速度パフォーマンスの低下を招いてしまうことになっちゃうワケね。

 どういうことかって言うと、一般にハイコストな高級コンピュータの場合にはCPU以外にも専用のカスタムチップを多用することでCPUの負荷とそれ以外の周辺機器(ロジックボード上のI/Oチップなんかも含めて)の負荷の差をある程度揃えている。

 簡単に言うと、一人のスーパー社員がいても一人で出来ることには限界があるワケで、周りでお手伝いしてくれる人がいて、その人たちにいろんなことを手伝って貰った方が効率が良いってことだね(笑)

 このCPUだけに負荷が掛かり過ぎないシステムは、タイムシェアリングなプリエンティブマルチタスクと相性が良くて、例えばハードディスクへの読み書きのスレッド※が動いた時、カーネルくん(もちろん、サンダースおじさんではない)は「ハードディスクってCPUより随分遅いから、このスレッドはしばらく動かす必要ないぜ!」なんて風にして、他のスレッドの処理を優先するんだ。

 これがプリエンティブなマルチタスクでは無い場合には、ハードディスクの処理が済むまでCPUが待ってしまうので効率が悪いワケ。

スレッド・・・一般にマルチタスクOSでの最少処理単位。スレッドを高速で切り替えて動かすことで同時に動いている様に見せる。1つのアプリケーションは複数のスレッドで構成されるのが普通


TALK : ClassicなモダンOSとClassicなMacOS その5(だから)
Written by MeNOU

 そんなワケで、当時の「ウィンドウシステムの処理だけでCPUいっぱいいっぱい」なMacintoshでプリエンティブマルチタスクを選択しなかったのは、ある程度許せることじゃないかと思うんだ。

 自分の会社で既にLisaって言うマルチタスクシステムなGUIワークステーションを売っている以上はいくらジョブスでもその違いはある程度(全部とは言わないけど(笑))認識していた筈だと思うよ(笑)

 他にも、例えばプリエンティブマルチタスクを処理するカーネルプログラムでは普通スーパーバイザーモードとユーザモードって言うCPU自体のハードウェアの持っている機能を使って、絶対的な権限を持っているカーネルのプロセスと、カーネルに管理されるアプリケーションなんかのプロセスを切り替えて動かすんだけど、このモードを変更する際にかかるCPUのウェイトは当時のCPUの命令の中では一番長いウェイトのひとつで、CPU負荷が高いシステム程ツライ結果になっていた筈だ。(NTも苦労していた)

 ちなみに、ユーザモードでは例えばあるプログラムが指定された以外のメモリ領域にアクセスしようとするとインターラプト(割込)が発生してメモリ破壊なんかを防ぐってワケ。

 他にも同じように実在しないメモリ領域にユーザモードのプロセスがアクセスしようとした時に割込を発生させてディスクからメモリデータをロードしてあたかもメモリがある様に見せる仮想記憶機構もこういった機能の恩恵なんだけど、分かりにくかったら野村トーイのチクタクバンバンを想像してくれると良い(笑)

 ユーザモードのアプリケーションって言うのは、あの動く時計くんで、レールをばたばたしているのがカーネルだ・・・余計わかんないかも(^_^;)

 まぁ、なにはともあれ(?)Macintoshは結局、シングルタスクのOSを乗せて登場した。

 ただし、計算機や時計と言った便利ツールはデスクアクセサリとしてアプリケーション実行中でも利用出来るように細工をして、最低限のマルチタスク(?)システムとして出荷されたんだ(笑)

 実際アプリケーション複数起動できるメモリもパワーも無かったし、Macintoshのターゲットとしていた当時のユーザにプリエンティブマルチタスクはあんまり重要じゃなかった。


TALK : ClassicなモダンOSとClassicなMacOS その5.5(話題転換)
Written by MeNOU

 さて、そんな風にいっけんダメダメな妥協策に見えるMacintosh、しかし目のつけ所がシャープと言うか「モノゴトのホンシツは技術にアラズ」の精神(今考えたんだけど)で、ユーザにとって必要なものごとについてはいろいろ考えられたシステムになっていた。

 例えば、マウス・・・なんて言うのは長くなるからやめよう(^_^;) この手の考え抜かれたインターフェイスについて話したらキリがないからね(笑)

 と、言うわけで「モダンなOS X」と「クラッシックなMacOS」についてにしよう。 もう決めたから変更は出来ないぜ!


TALK : ClassicなモダンOSとClassicなMacOS その6(OS X戦略?)
Written by MeNOU

 Macintoshは、パソコンに取り残された人の為の道具です。

 と言う文句があったか分からないけれど、MacOSは「わかりやすさ」に一番高いプライオリティを付けて、次に「慣れたらある程度手早く出来る」機能を付けた感じのモノだった。

 今でもまだインターフェイスを機能として考えられないエンジニアは多くて、まぁ実際セールス的に考えたら「今度のマシンはCPUが33%高速、ハードディスクが2倍になりました」の方が「使い易いよ〜、使ってみれば分かるって!」よりも勝れているに決まってるワケだけど、それに甘んじているヤツらや、そもそもインターフェイスを性能として考えられない人が多いのは「目を覚ませ! 寝たら死ぬぞ!」って感じだ。 < 意味不明

 いきなり脱線するけれど、OS Xに関して「AppleはMacOSのアドバンテージが分かっていないのか!?」みたいな意見を聞くけれど(とくにインターフェイスね)、Appleは分かってるよ(笑) さっき書いた「説明の出来ない使いやすさ」を明確に、具体的に説明出来る人をMacintosh戦略の重要なポイントとして配置していたんだから。 エヴァンジェリストって言うポストとしてね。

 OS Xが使い良くならず、MacOSではなくNeXTのスピリットを色濃く残している理由はいくつか考えられる。

 ひとつめはジョブスの好み(笑) 実はこれがいきなり本命だったりするのが悲しいことこの上ないんだけど(^_^;)

 でもって、他にはリリース時期を守る為って言うのもある。 根本的なアーキテクチャ(設計思想)の違うNeXTstepと言うOSをMacOSにするには時間が足りなすぎるからね。

 実際には両方の理由からなんだろうけど、AppleはOS Xが既存のMacOSユーザにとってのリプレイスにならないことは分かっているだろうし、ある程度の既存ユーザは「プリエンティブマルチタスク」「メモリ保護」「アクアインターフェイス」なんかで丸め込めると判断していると思うよ。

 Appleにとっては、多分賢い判断なんだと思う、実際みんなOS X慣れしてきてるし(笑)


TALK : ClassicなモダンOSとClassicなMacOS その7(本質?)
Written by MeNOU

 話しを戻そう(^_^)

 MacOSがモダンだったのは、コンピュータは技術主体・・・と言うよりも技術にユーザが付いていった時代に、本質を考えて設計されたことなんだと思う。

 それまで、コンピュータに対して「本質」なんて考える人はいなかったし、言ってみればまず技術ありきで、それを大型やミニコンなら計算速度、パソコンならゲーム的要素にまとめたものだったと思う。

 ビジカルク(後のLotus 1-2-3)の登場でパソコンのビジネスユースって言う可能性が見えて、パソコンにとって本質や存在価値が急に求められた時期だったって言うのはあるかも知れないけどね(笑)

 技術的なところに戻ろう(^_^)

 Macintoshの最も素敵でOS Xに馴染めない理由は、その箱庭的インターフェイスにあると断言する。 < え? しちゃうの?

 例えば家庭用ゲームのプログラミングでユーザインターフェイスを設計する時には、当たり前のように「分かりやすさ」を考慮する。 その時に、例えばポピュラスの画面で複数の場所を観たいからウィンドウシステムにして複数箇所を同時に(もしくは一ヶ所を同時に(笑))見えるようにするか? いや、しない。(反語)

 デスクトップメタファーもメカメカしくない概観も、人間がWatch出来る(認識出来る)9インチのモニタも、潔くとっぱらったワンボタンマウスも、そういう為のものだ。

 と、言うわけで長くなりそうだから区切って次は「ブラウジング」について書くったら書くぜ!


TALK : ClassicなモダンOSとClassicなMacOS その8(問題定義)
Written by MeNOU

 Macはスクロールが遅いと言われていた(笑)

 憶えている人も多いと思う。 とくにこのページ読んでるような人の場合(笑)

 Macintoshは、ユーザに解放された道具だった。 道具なんだから当たり前なんだけど。それは、ユーザは自分でどこに何を置くか決めることが初めて許されたシステムだったようにも思う、今考えるとね。

 Windowsでハードディスクの中を歩き回るのが異様なストレスだと思う人、何故だろう? それは位置が特定出来ないからだね(笑)

 Macintoshはアイコンを理解して採用していたのは偉いと思う。アイコンは「文字を読んで判別する」するストレスから開放してくれた。

 例えば、キーボードの配列が毎朝変わったら・・・考えるだけでもおぞましいね(笑) 例えば、絵を描くとするね。 パレットに出した絵の具は一見すると全部同じ色で、その下に「Black」だとか「Red」だとかラベルが付いている・・・・それで絵を描こうって言うのがWindowsやMacOS X、諸々のUNIXのシェルなんかのアーキテクチャだ。

 考えただけでも鳥肌だぜ(^_^;)

 目に見えるものに自然に手を伸ばせるって言う当たり前のことを実現したのが、Macintoshのアイコン&ウィンドウシステムだったワケだね。

 未だにWindowsではデスクトップにあるアイコン以外にアプローチする為には、パレットに出された絵の具のラベルを見る必要がある。 これは限りないストレスになるし、OS XでMacユーザもめでたくその世界に引き入れられるってワケだ。 ディファクトスタンダードってすごい。

 おっと、スクロールに関してだった(笑) 取り敢えず、次のアーティクルに移ろう。


TALK : ClassicなモダンOSとClassicなMacOS その9(設計思想)
Written by MeNOU

 Macintoshはユーザが自由に道具(アプリケーションやファイル、フォルダ)を管理出来るシステムだ。

 例えばWindowsユーザも含めて、よく使うアプリケーションはデスクトップにエイリアス(ショートカット)を並べたりしない?

 例えば引き出しの中には道具を整理してしまったりしない?

 勝手に作られた「パス(path)」なんて概念から開放されたら、何も先入観が無ければ普通のユーザなら自分の良く使うアプリケーションは手の届く場所に効率良く並べるし、人間にはそれが出来るだけの能力がある(笑)

 ところが、見た目で判断出来ないもの・・・・つまり、文字を読む必要のあるものや数の多すぎるものに関してはそれをリストにしたりソートしたりする。

 現在のMacOSでは、今言った全てを管理出来る仕組みになっているんだけど、それ以外のOS(MacOS Xなど)は、後者を前提に作られているんだ(^_^;)

 MacOSのデスクトップやファインダは、物理モデルにそって出来ていて「位置」の概念があるんだ。 その中に「リスト表示」と言う形でリストをソートしたりする仕組みがある。

 それに対してOS Xのファインダと言うのは、つまりブラウジングの為のものであって、リストの表示の仕方の1つとして「アイコン表示」があるんだ。

 これは根本的に違う目的で設計されたもので、つまり後者はデータベースみたいな大量な情報を検索するツールで、前者は人間が自分で把握出来る程度の情報を管理するツールとして設計されているってことなんだ。

 ハードディスク上に保存されているデータファイルを処理する為のデータベースクライアントがMacOSの代わりになりそうだと思う?(^_^;)

 あ・・・スクロール(笑) は次に(^_^;)


TALK : ClassicなモダンOSとClassicなMacOS その10(スクロール)
Written by MeNOU

 そんなワケで(笑)、MacOSではもともとスクロールしないことが前提のシステムになっている。 < の割に画面が小さいって言うのは言ってはイケナイ(笑)

 スクロールしなければ見れない程のデータは例外的に設定されているし、実際に当時の個人ツールとしては十分機能していた。

 ゲームソフトのメニュー画面がスクロールしなければならないようなら、普通の開発者ならそれを上手く整理して階層構造にする。 なってるよね?(笑)

 ゲームソフトって言うのはユーザエクスペリエンスこそが本質だから、当然ユーザにとってストレスになるようなことは普通はしない。(だからパソコンソフトのデベロッパーだってきっとユーザインターフェイスは参考になると思う)

 パソコンショップの店頭でNECでも富士通でも良いからWindowsマシンの「スタート」ボタンからアプリケーションを見てごらん。スクロールしなければ見えない程のソフトが登録されている。あれはユーザインターフェイス失格の見本ね(笑)

 長いプログラミング経験から、人間は見えないものを選択するのがストレスになると思ってるんだ。

 表示エリアさえ許せば、選択肢は全て見える場所に並んでいる方が良い。それが出来ないから、ポップアップやプルダウンメニュー、スクロールをさせる必要があるんだ(^_^;)

 本来、スクロールしないように設計されているMacでは、スクロール速度自体は大した問題では無かった。

 スクロール速度が問題になったのは、スクロールしなければならない様な大量なデータが出てきたからだし、Windowsは可哀想に最初位置の概念の存在しないシステムだったのでユーザにとってスクロール速度は命より大切だった(ウソ)

 (で、とって付けたようにProgram Managerって言う名前のアイコンメニューシステムがあったね(笑))

 ちなみに、OS Xも同様にスクロール前提のシステムなのに、にも関らずスクロール速度は遅い。テキスト処理自体はパフォーマンスも良いんだけどね(^_^;)


TALK : FM音源野郎!
Written by MeNOU

 ホントはこの後リソースだとかデスクトップデータベースだとかの話しをしようと思ってたんだけど、読む人(いるのか?(^_^;))も疲れるだろうし、老齢でテンションが続かないこともあって・・・FM音源の話しをするぜっ!

 

 世の中には「大馬鹿野郎」と呼ばれる奴等がいるんだけど、島本先生も島本塾中で仰しゃっているいるように目指すなら大馬鹿野郎だ!

 この一見似ているようで他人からは同じにしか見られない奴等の種類の1つに「FM音源野郎」って言う人種がいる。

 そう、それはオレのことだ!(笑)

 と、言うわけで長くなりそうだから、時間に余裕があって回線トラフィックが遊んでて、心が広くてちょっぴりシャイなアンチクショウな人はダウンロードでもしながら読んでくれ。

DOWNLOAD Laughing Dogs.mp3 

 さて。 FM音源。

 一般的にはYAMAHAのお家芸でDX7で有名(って古いな)なシンセサイザーの仕組みの1つで、サンプリングされたサイン波を変調することで音色(オンショクと発音(笑))を作るんだ。

 実際には、オペレータ(オシレータ)って呼ばれるアキュムレータ(加算機)を使って変調するんだけど、その際にオペレータは使われ方によって「キャリア」とか「モジュレータ」とか呼ばれたりするんだ。

 モジュレータはその名の通り変調を掛けるオペレータで、セルフフィードバックに対してアタックやディレイ、リリースの速度や度合を指定することで音の変化を作るんだ。

 キャリアはモジュレータを通して出力された波形を実際の音量や音程として同じようにアタックやディレイなどをかける。 これで音が出来上がるってワケ(^_^)

 細かいパラメータや機構の違いで、OPL / OPM / OPNなどの種類があって、例えばマイナーどころではEOSシリーズのOPZの様に後期には基本サンプリング波形自体がサイン波ではなくて数種類選択出来るものまであったんだ。

 また、例えば同じOPMでもDX 7に用いられているものは6オペレータあるけれど、セガの体感ゲームやシャープのX68000に採用されていたOPMチップ(YM-2151)は4オペレータなのでDX 7ほど複雑な音や厚い音が作れない・・・などの細かい区別もあるんだ。

 あとはOPMにはディチューンが2種類あってディチューン2によってより強烈な変調を掛けることが出来て、例えばシンバルの音や打楽器の余韻部分の音みたいな非正倍音を作れる・・とかそういう可能性の違いもあった。

 (つづくぞ!)


TALK : FM音源野郎! その2
Written by MeNOU

 FM音源を搭載した機械は最近の携帯電話もそうだけど、国産パソコンではNECのPC-8801mk2SRに搭載されると(いや実は8001mk2SRにも搭載されたんだけど)一気にブレイクしたんだ(^_^)

 海外ではむしろPCM音源化(AMIGAやMacintosh)が進んだワケなんだけど、国内ではFM音源が勢力を伸ばした。

 また、アーケードゲームの筐体でもSSG(PSG)音源からFM音源への移行が進んで、結局のところ日本と言う国でYAMAHAが作って日本のコンピュータメーカーが採用して広まった(アーケードゲームの輸出)って感じなのかな。

 とにかく、だ。

 小学生の頃に単音SSG音源で「音を鳴らす楽しさ」を知ってからは、X1が発売されれば店頭でplay文で3重和音で遊ぶなどしてどっぷりはまっていってた時期だから、当然88mk2SRには飛びついたんだ(笑)

 当時は単純に音が鳴る事自体が楽しかったワケで、ゲーム音楽と言うのは相変わらず「ピコピコサウンド」の世界だったんだ。

 また、仮に著名な作曲家が挑んでも所詮は土俵の違う闘いであって、NHK交響楽団を指揮する有名作曲家の作ったオーケストレーションな曲はPSG3音ではゴミのようなものだった(笑)

 アーケードゲームはインカムなんかの都合から、ドラマチックな音楽と言うよりは短いフレーズの繰り返し(ピコピコサウンド)だったし、かと言って一般の音楽のアレンジでは技術的にちゃちなFM音源サウンドチップでの演奏は無理だった。

 SSG音源に搭載されているビブラートやLFOは単純な上に音量設定の出来ないもので実用的ではなくて、音量を指定して曲を作る場合には音はただまっすぐ「プー」と鳴るだけだったんだ。

 SSG音源時代にかなり優秀なサウンドドライバを作ったのはnamcoだった。namco PSGとか我々が呼んでいる当時のナムコ音楽はSSG音源の限界まで迫っていてまさに名作だと思う(^_^)

 FM音源時代に、現在に続く「ゲームにもドラマチックな音楽」の流れを作ったヤツは、マイコンBasicMagazine(通称ベーマガ<月刊マイコンから派生したので「マイコン」を冠している(笑))にYK-2の名前でアーケードゲーム音楽のコピー譜面(と言っても、耳コピーな上にMMLなる音楽記述言語なんだが)を連載していた古代祐三に他ならない!

 (つづく!)


TALK : FM音源野郎! その3
Written by MeNOU

 古代祐三の登場が衝撃的だったのは、彼に音楽の才能とプログラムの才能の両方があったからだと思う。

 同じ時代にFM音源を使った音楽のゲームで、ENIXの「ガンダーラ」と「Ys」を聴き比べてみれば一目(?)瞭然だけど、プリセットの0番のハープシーコード(笑)の音をただ鳴らしているだけの某NHK交響楽団な方の音楽と、非常に細かい音符配置がされてビブラートやポルタメントまで駆使して作られたYsの音楽では悲しいまでに違う。

 リアルスペースでは同じ譜面でもプレイヤーの演奏で味が違う、その味の部分を綿密に作り込む為には当時は作曲者=アレンジャー=技術者である必要があった。

 いくら曲として素晴らしいったって譜面を単調にシーケンサに打ち込んだロボット音楽じゃ仕方ない(笑)

 しょぼいFM音源の世界では、テクニックが伴わなければ評価されないシビアな中で、だからコアなヤツらがそこに集まっていた。 あの時代にあの世界を体験出来たことを【め】は誇りに思ってる(笑)

(まだ続ける!)


TALK : FM音源野郎! その4
Written by MeNOU

 さて、最初にダウンロードのあったmp3は、実は10年くらい前にPC88で【め】が作った曲だったりするんだな(^_^;) まぁ、もう時効だな(笑)

 FM音源音楽の世界で一番熱かったのはPC-8801mk2SR(YM-2203:FM音源3ch+PSG音源3ch)に後から登場したサウンドボード2(YM-2608:FM音源6ch+PSG音源3ch+Rhythm音源6ch+ADPCM音源1ch)を増設したシステムだったと思う。

 後にそれらのコミニュティはX68000(YM-2151:FM音源8ch+ADPCM音源1ch)のMDXに移行したってところまでが歴史の勉強(笑)

 当時、コミックマーケットの片隅に登場した同人ディスクと言う世界があって、ようは今みたいにネットワークの無い時代だから、自分たちが作ったゲームやら音楽やらを売ったり買ったりしていたんだ。

 先程の曲は100円音楽ディスクってヤツに入れた曲で、確か新しいサウンドドライバ(OS含む)を手に入れて試しに作ってみた曲なんだ(^_^)

 一見するとYM-2608の16chって言う音数は多いように見えるかも知れないけれど、実際にはデジタルパンしか出来ないので、例えばステレオ効果を出す為に微妙に周波数をずらした同じ音を左と右から出して音を広げるとか、音自体がチャチなので複数チャンネルの音を重ねて厚い音にすると言った方法が用いられていて、使える音数は実際には非常に減るのだ(^_^;)

 また、エフェクターみたいな機構は無いので、例えばメロディにエコーを付けようと思ったら、音を小さくしてディレイタイムを設けて1ch使ってならす必要があったりした。

 更にRythm音源の音は使えないドラムセットになっていたりとか、ADPCMはPCMの差分データなので波形が0に近い部分で区切らないと正しく再生出来ない上にフロッピーディスク(320KBの2D)にはサンプリングデータなんてろくに入らなかったりとか、あらゆる障害があったんだ(笑)

(さぁ、終わりが近づいたぞ!)


TALK : FM音源野郎! その5
Written by MeNOU

 じゃあ、例のmp3の曲の解説だ。

 これはVirtualPC上でPC88エミュレータを動かして別のMacで録音したもので、本物の88から録音したものじゃないんだ。 まぁ、ほとんどまんまだけどね(笑)

 ちなみにまだ88持ってて直したいこととか沢山あるんだけど、キーボードが見つからないのだ(笑) 恥ずかしいことこの上ないんだけど、まぁ仕方ないか(^_^;)

 更にこの曲を作った時、Rhythm音源の使い方がよく分からなくてRhythm音源は一切使っていない。初めての開発環境の試しと言うことで(^_^;)

 と、言うわけで使っているチャンネルはこんな感じ。

Ch.用 途
FM 1ベース
FM 2電子オルガン1
FM 3電子オルガン2
FM 4電子オルガン3
FM 5ブラス1グラスシンセ左ギター左ハープシーコード左ギターメイン
FM 6ブラス2グラスシンセ右ギター右ハープシーコード右ギターエコー
PSG 1バッキング1メロディ
PSG 2バッキング1エコーメロディディチューン
PSG 3バッキング2メロディエコー
ADPCMバスドラバス+クラッシュスネアタム

 地味な電子オルガンで和音を作る為に3chも使っていたりとか、とにかく音数がネックなんだよね(^_^;)

 ブラスが鳴ってる時はハープシーコードが鳴っていない理由はそういうことなのだ(笑) 今だとFM音源15chの携帯電話なんてあるけど、あれならもっとがんばれるのになー。

 楽器を弾けない(その上楽譜も読めない)【め】なんかにとっては、魂ごと打ち込んであるような88時代の熱いFM音源サウンドは今でも一番胸踊る音楽の1つなんだ!

 で、誰かThe SchemeのCD譲ってくれない? < 意味不明


MGについて... Macintosh Gardenは【めのう】の独断と偏見で作成されていますのでご了承下さい。
Copyright (C)1995-1999 【MeNOU】All-Rights Reserved.
Requirements browser: NetScape 2.0 or later / VGA(640x480) or larger display
Macintoshは米国アップルコンピュータ社の商標です