Coder Social home page Coder Social logo

mucom77's Introduction

MUCOM77

MUCOM77 は PC88 シリーズ用音源ドライバである MUCOM88 を富士通 FM-7 シリーズ向けに移植したものです。
OPN が搭載されている環境であれば FM 音源 3 音+PSG 音源 3 音の演奏が可能です。
WHG 環境(OPN*2)であれば OPNA(FM6+PSG3) を使用した曲を無理やり演奏することもできます。

MUCOM88 公式サイトはこちら

https://www.ancient.co.jp/~mucom88

移植には派生版である mucom88em を参考にさせていただきました。

https://github.com/MUCOM88/mucom88

使い方

PC88 版は MML の記述から演奏、音色の編集まで行える統合環境ですが、FM-7 版は演奏機能に特化した、音源ドライバのみの構成となっています。
ドライバの実行やファイルのロードを簡易なものとするため、F-BASIC から扱えるようにしてあります。
以下、エミュレータ環境での使用法について説明します。

  • 用意するもの
    • F-BASIC フォーマット済みディスクイメージ
      ここでは MUCOM.D77 とします。

    • d77fileutil (http://ysflight.in.coocan.jp/)
      D77 ファイルを読み書きするためのツールです。以下で公開されています。

      http://ysflight.in.coocan.jp/FM/realutil_j.html

    • music
      本プロジェクトの bin フォルダの中に入っています。

    • 演奏したい曲オブジェクトファイル
      mucom88win で作成された .mub ファイルにあたります。
      または、本家 PC88 版 MUCOM88 でコンパイル済みの曲データを抜き出しても OK です。

      .mub ファイルの場合は冒頭に 80byte のヘッダが付くのですがドライバ側で細工してそのまま使えるようにしています。
      ただし、ADPCM を使用した.mub ファイルはサイズが大きくなりがちなので、ADPCM データ部を削るなり工夫が必要です。

      mucom88em でコンパイル済みの曲データから取り出す場合は alpha-dos の拡張メモリ bsave 機能を使い、ホストマシン上では先頭の bsave バイナリヘッダ 4byte を除去するようにしてください。

      とりあえず、公式サンプルである sampl3.muc のオブジェクトファイル形式である sampl3.mub が手元にあることとします。

  • ディスクイメージへの書き込み
    d77fileutil MUCOM.D77 -savem music music 0x1000 0x1000
    d77fileutil MUCOM.D77 -savem sampl3.mub sampl3 0x2800 0x2800
    
    これでディスクイメージにドライバと曲データが書き込まれます。
    エミュレータで files を取るか、以下でもチェックができます。
    d77fileutil MUCOM.D77 -files
    
  • ロードと演奏

    F-BASICを立ち上げ、MUCOM.D77 からロードする準備をします。
    loadm"music"
    
    ドライバがロードできたら(ロードアドレス &H1000 を明示してもかまいません)
    loadm"sampl3"
    
    曲データもロードします。同、ロードアドレス &H2800。
    演奏開始の指示は EXEC で行います。
    exec &H1000
    
    無事に演奏が開始されたでしょうか。
    演奏を停止するには BREAK キーを押します。
    停止後は BASIC に戻ってくるはずですが、現状では不具合があり戻ってこない場合もあります。
    停止後は先程と同じ要領で別の曲データをロードして演奏することもできます。

本家との違い

  • CPU が違います。本家に無いバグを仕込んでしまっているかも。
  • 音源チップへの入力クロックの違いにより、音程・LFO・テンポなどが若干違います。
    なるべく互換性を保つようにはしています。
  • OPNA の機能(HW-LFO やステレオ、リズム音源、ADPCM 音源)は使えません。
  • FM/PSG の音量バランスも若干違うと思います。

謝辞

オリジナル開発者ならびに派生版の開発者の方々、
各種エミュレータや有用なツールの作者の方々に謝辞を捧げます。

mucom77's People

Contributors

meltycode avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.