JP2692361C - - Google Patents

Info

Publication number
JP2692361C
JP2692361C JP2692361C JP 2692361 C JP2692361 C JP 2692361C JP 2692361 C JP2692361 C JP 2692361C
Authority
JP
Japan
Prior art keywords
data
switch
pointer
mode
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
Other languages
English (en)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Publication date

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は電子楽器に関し、特にコンピユータを使用した電子楽器に適用して
好適なものである。 〔発明の概要〕 この発明は、コンピユータにより演奏情報を演算処理するようになされた電子
楽器において、当該オリジナルメモリを構成する第1の記憶手段のデータに代わ
るデータを格納する別付の第2の記憶手段を装着できるようにしたことにより、
第1の記憶手段のデータの変更を容易かつ簡易になし得るようにした電子楽器を
実現できる。 〔従来の技術〕 従来電子楽器として、演奏操作子を構成する鍵盤を演奏者が演奏操作したとき
、当該演奏操作したキーに対応する楽音を、音色、リズム、演奏モード等を指定
する演奏条件データを手動操作スイツチやコマンド入力型デイスプレイなどによ
つて予め入力してなる演奏データに基づいて、演算処理することにより、楽音を
発生するようにしたものが用いられている。 〔発明が解決しようとする課題〕 ところでこの種の電子楽器においては、演算処理プログラム及び又はデータに
コンピユータプログラム上の誤り(すなわちバグ)が発生した場合、当該バグを
取除く作業(すなわちデバツグ作業)をできるだけ簡便になし得るようにするこ
とが、製造工程の簡略化、製造時間の短縮、製造原価の低廉化等の点から重要で
あると考えられており、従来次の手法が用いられている。 第1の方法はバグが軽微な場合に適用し得るもので、演算処理プログラムを格
納しているマスクROM(マスク技術を用いて製造されたリードオンリメモリ)
に予めバグ対策用の冗長なメモリエリアを設けておき、当該バグ対策用のメモリ
エリアを用いてバグをデバツグする。 しかしながらこの方法によると、実際上極端に冗長なメモリエリアを設けるこ
とはできないので、大規模なバグが発生した場合にはこれに対応できない問題が
ある。 この問題を解決する方法として第2に、ワンタイムプログラマブルROM(on
e time programmable read only memory)を用いたバグ対策済みのプログラムメ
モリを製造する方法がある。 しかしながらこの方法はワンタイムプログラマブルROMが比較的構成が複雑
かつ高価なために、実際上採用でない問題がある。 本発明は以上の点を考慮してなされたもので、比較的簡易な構成によつて廉価
にバグ対策済みのデータメモリを実現できるようにした電子楽器を提案しようと
するものである。 〔課題を解決するための手段〕 かかる課題を解決するため本発明においては、複数の第1のデータを記憶する
第1の記憶手段6と、第1の記憶手段6に記憶されている複数の第1のデータの
うち少なくとも1つの差換えを指示する差換指示手段16X2〜16Cを有する
第2の記憶手段16と、第2の記憶手段16を装着し得る装着手段15と、装着
手段15に第2の記憶手段16が装着されたか否かを検出する装着検出手段(4
、SP2)と、第1の記憶手段6に記憶されている第1のデータを読み出すもの
で、装着検出手段(4、SP2)の検出結果に基づいて第2の記憶手段16が装
着されている場合であつて、読み出そうとする第1のデータが差換指示手段16
X2〜16Cによつて差換えを指示された第1のデータである場合には、当該第
1のデータを読出す代りに、当該第のデータに対応する第2のデータを第2の記
憶手段16から自動的に読み出す読出手段(4、SP3)とを設けると共に、第
1の発明において、第1の記憶手段6は、複数の第1のデータとして、複数種類
のデータを記憶し、第2の記憶手段16の差換指示手段16X2〜16Cは、複
数種類ごとに、データの差換えを指示し、第2の発明において、読み出すべきデ
ータを番号によつて指定する入力手段(4、9)を設け、差換指示手段16X2
〜16Cは番号を第1及び第2の記憶手段6、16に記憶された第1及び第2の
データに対応づけるテーブル6X2、16X2によつて構成され、読出手段(4
、SP3)は入力手段(4、9)によつて入力された番号に対応するデータを読
み出すようにする。 〔作用〕 装着手段15に第2の記憶手段16が装着されたとき、差換え指示を複数種類
のデータごとに指定し、又は第1及び第2の記憶データを番号によつて対応づけ
て指定するようにすると共に、当該第2の記憶手段16に記憶されている第2の
データを用いて楽音情報を演算処理することができるようにしたことにより、第
1の記憶手段6に記憶されている第1のデータに不都合なデータがある場合に、
これを簡易な構成によつて新しいデータに容易に変更することができる。 〔実施例〕 以下図面について、本発明の一実施例を詳述する。 (1) 電子楽器の全体構成 第1図において、1は全体として電子楽器を示し、演奏者が鍵盤2のキーを演
奏操作したとき鍵盤2から発生するキー情報S1がバス3を介してコンピユータ
でなる中央処理ユニツト(CPU)4に取り込まれ、ランダムアクセスメモリ(
RAM)によつて構成されたRAMメモリ部5のワークメモリ5Aに取り込まれ
る。 CPU4はマスク技術を用いて製造されたリードオンリメモリ(すなわちマス
クROM)でなるオリジナルROMメモリ部6のプログラムメモリ6Aに予め記
憶格納されているプログラムに従つてワークメモリ5Aに取り込まれたキー情報
をデータメモリ5Bを利用しながらテーブルメモリ6B及びデータメモリ6Cに
固定記憶されているデータを参照して演算処理し、当該演算処理結果をバス3を
介して楽音信号発生部7に転送させ、これにより楽音信号発生部7からサウンド
システム8に楽音信号S2を供給させ、その結果演奏者の鍵盤2に対する演奏操
作に対応する楽音をサウンドシステム8から送出させるようになされている。 実際上かかるCPU4の演算処理は、スイツチ入力部9から入力されるスイツ
チ入力信号S3と、表示/入力部10から入力されるクリツク入力信号S4と、
オリジナルROMメモリ部6のテーブルメモリ6Bのテーブルデータとに基づい
て、ワークメモリ5A及びデータメモリ5Bを用いて実行される。 さらにCPU4はタイマ11からインタラプト信号S5が与えられたときその
都度リズム演奏処理を実行するようになされている。 かかる構成に加えて電子楽器1は、バス3に接続されたメモリ別付装置部14
を有し、メモリ別付装置部14はメモリ別付用ソケツト15に対して別付ROM
メモリ部16を必要に応じて装着できるようになされている。 メモリ別付装置部14は第2図に示すように、配線基板15Aのスルーホール
15Bに接続ピン15Cを差し込むと共に配線基板15Aに形成された配線パタ
ーンに半田付けすることによりメモリ別付用ソケツト15Dをバス3に接続し、
そのコネクタ15Eに集積回路構成の別付ROMメモリ部16の接続ピン16A を差込み接続することができるようになされている。 かくしてメモリ別付用ソケツト15Dに別付ROMメモリ部16が装着された
ときCPU4は、バス3、配線基板15A、接続ピン15C、コネクタ15Eを
介して別付ROMメモリ部16の接続ピン16Aに電気的に接続され、これによ
り別付ROMメモリ部16に格納されているプログラム及びデータを読み取るこ
とができるようになされている。 別付ROMメモリ部16(第1図)はオリジナルROMメモリ部6のプログラ
ムメモリ6A、テーブルメモリ6B及びデータメモリ6Cに対応するメモリとし
て、プログラムメモリ16A、テーブルメモリ16B及びデータメモリ16Cを
必要に応じて設けることができるようになされ、かくしてプログラムメモリ6A
、テーブルメモリ6B及びデータメモリ6Cの一部のデータを変更又は削除する
必要がある場合、又は部分的に新たなデータを付加する必要がある場合に、当該
入れ換えるデータ又は付加するデータを、プログラムメモリ16A、テーブルメ
モリ16B及びデータメモリ16Cからバス3及びソケツト15を介して読み出
すことができるようになされている。 この実施例の場合オリジナルROMメモリ部6、別付ROMメモリ部16及び
RAMメモリ部5のメモリエリアには、第3図のアドレスマツプに示すような一
連のアドレスが付され、これによりCPU4がオリジナルROMメモリ部6、別
付ROMメモリ部16、RAMメモリ部5にそれぞれ格納されているデータを、
スタートアドレスAD0、AD1及びAD2を基準にして各メモリエリア部に割
り当てられたアドレスを指定することにより必要に応じて読み出したり、書き込
んだりすることができる。 ここで別付ROMメモリ部16には、スタートアドレスAD1からRAMメモ
リ部5のスタートアドレスAD2までの間に実用上十分大きなアドレス空間を割
り当てるようになされ、これにより第4図(A)、(B)及び(C)に示すよう
に、別付ROMメモリ部16としてメモリ容量が異なるROMが装着された場合
に、当該異なるメモリ容量のデータに割り当てられたアドレスAD1〜AD11
、又はAD1〜AD12、又はAD1〜AD13を指定するだけで、そのデータ
量の差の影響を受けることなく各データのアドレスをアクセスできるようになさ
れ ている。 (2) オリジナルROMメモリ部の構成 オリジナルROMメモリ部6は、第3図及び第5図に示すように、メインルー
チンメモリ6X1、グローバルポインタデータメモリ6X2、プログラムメモリ
6A、テーブルメモリ6B及びデータメモリ6Cのメモリエリアに一連のアドレ
スを付してなり、これによりCPU4が必要に応じて所定のデータを読み出す際
に、当該データに割り当てられている領域を指定することにより所定の演算機能
を実行できるようになされている。 まずメインルーチンメモリ6X1はメインルーチンを記憶し、またグローバル
ポインタデータメモリ6X2はテーブルメモリ6Bに含まれる各種テーブルのう
ち所定のテーブルのアドレスを表すグローバルポインタGLOBPを記憶し、メ
インルーチンを実行する際にグローバルポインタGLOBPにより示されるテー
ブルが参照され、該テーブルに記憶されたアドレス情報に基づきROM中の各種
プログラム又はデータがアクセスされるようになつている。 ここでグローバルポインタGLOBPは、第6図に示すように、オリジナルR
OMメモリ部6のアドレス空間における一群のテーブルの先頭アドレスを表すア
ドレスデータ(これをグローバルポインタと呼ぶ)によつて構成され、かくして
グローバルポインタGLOBPの中のアクセスしたいテーブルに対応するポイン
タアドレスデータを用いて当該指定されたアドレスデータが割り当てられた一群
のテーブルを記憶するエリアをアクセスできる。 第6図において、オリジナルROM中のイニシヤライズルーチンポインタIR
OUTPOはプログラムメモリ6Aのメモリエリアの先頭部分に格納されている
イニシヤライズルーチンデータINITRT(第5図)をアクセスする。 また第6図において、残るグローバルポインタによつて表されるアドレスデー
タはテーブルメモリ6Bを構成する各テーブルデータの先頭アドレスを指定する
。 すなわちテーブルメモリ6Bは、第5図に示すように、キーモードテーブルK
MTBL、スイツチモードテーブルSMTBL、キー処理ルーチンアドレステー
ブル群KPTBLG、スイツチ処理ルーチンアドレステーブル群SWTBLG、 サブルーチンアドレステーブルSRTBL、音色テーブルTCTBL、リズムパ
ターンテーブルRPTBL及び伴奏パターンテーブルAPTBLを順次一連のア
ドレスを付して格納している。 グローバルポインタデータメモリ6X2には、キーモードテーブルKMTBL
、スイツチモードテーブルSMTBL、サブルーチンアドレステーブルSRTB
L、音色テーブルTCTBL、リズムパターンテーブルRPTBL及び伴奏パタ
ーンテーブルAPTBLの先頭アドレスKMTBLPO、SMTBLPO、SU
BRTBLPO、TCTBLPO、RPTBLPO及びAPTBLPOが、グロ
ーバルポインタGLOBPを構成するポインタとして格納され、該各種ポインタ
はメインルーチンの起動時、CPUの中又はRAM上に用意された各種テーブル
ポインタレジスタに読み込まれ、以後のメインルーチンによる動作の中で対応す
るテーブルが使用されるように設定される。 CPU4はメインルーチンの起動時に各グローバルポインタIROUTPO、
KMTBLPO、SMTBLPO、SRTBLPO、TCTBLPO、RPTB
LPO及びAPTBLPO(第6図)を読み出し、これを第7図に示すように、
ワークメモリ5Aに設けられているイニシヤライズルーチンポインタレジスタI
ROUTPR、キーモードテーブルポインタレジスタKMTBLPR、スイツチ
モードテーブルポインタレジスタSMTBLPR、サブルーチンテーブルポイン
タレジスタSRTBLPR、音色テーブルポインタレジスタTCTBLPR、リ
ズムパターンテーブルポインタレジスタRPTBLPR及び伴奏パターンテーブ
ルポインタレジスタAPTBLPRに格納し、当該ワークメモリ5Aに格納した
アドレスデータに基づいて、ROM中のイニシヤライズルーチンや各種テーブル
をアクセスする。 テーブルメモリ6BのキーモードテーブルKMTBLはキーモードテーブルポ
インタレジスタKMTBLPRに読み出されたキーモードテーブルポインタKM
TBLPOによつて示され、かつキー処理ルーチンアドレステーブ群KPTBL
Gのアドレスを記憶する。また、キー処理ルーチンアドレステーブル群KPTB
LGは鍵盤の演奏モードデータKPMDごとに各キーオンイベント、キーオフイ
ベント、ABC(自動ベースコード演奏)等の処理サブルーチンの呼出アドレス を記憶する。 ここで、鍵盤2の演奏モードは鍵盤動作モードデータKPMDの値によつて、
例えば、KPMD=0のとき通常演奏モードが指定され、KPMD=1のときキ
ーボードパーカツシヨンモードが指定され、KPMD=2のときABC自動伴奏
モードが指定され、KPMD=3のときシーケンサ録音モードが指定される。 各鍵盤動作モードデータKPMDに対応するキー処理ルーチンアドレステーブ
ル群KPTBLGの呼出アドレスは、鍵盤2の演奏モード従つて鍵盤動作モード
データKPMDが切り換わるごとにキーモードテーブルKMTBLから読み出さ
れてキー処理ルーチンアドレステーブルポインタレジスタKPTPRに設定され
る。 こうして、演奏時には、例えば鍵盤が押鍵された時(すなわちキーオンイベン
ト時)に、各鍵盤動作モードデータKPMDごとにキーモードテーブルKPTB
Lに記憶させたキーオンイベントルーチンの呼出アドレスが読みだされ、当該呼
出アドレスを用いてキーオンイベントルーチンがコールされるようになされてい
る。 一方、テーブルメモリ6BのスイツチモードテーブルSMTBLは、読み出さ
れたグローバルポインタすなわちスイツチモードテーブルポインタSMTBLP
Oを収納するスイツチモードテーブルポインタレジスタSMTBLPRによつて
示される。 また、各機能スイツチは電子楽器の表示器の表示等に応じて異なる動作モード
すなわちスイツチ機能モードデータSWMDごとに用意されている。上述のスイ
ツチモードテーブルSMTBLには各スイツチのオンイベントルーチンの呼出ア
ドレスを記憶したスイツチ処理ルーチンアドレステーブル群SWTBLGのアド
レスが記憶されている。従つて、このスイツチモードテーブルSMTBLをスイ
ツチ機能モードデータSWMDによつて参照することによりスイツチ処理ルーチ
ンアドレステーブル群の各テーブルSWTBLがアクセス可能な状態に設定され
る。 ここで、機能スイツチの動作モードは、スイツチ機能モードデータSWMDの
値によつて、例えばSWMD=1のとき音色選択モードが指定され、SWMD= 2のとき音色エデイツト1モードが指定され、SWMD=10のときボイススイ
アモードが指定され、SWMD=11のときシーケンサエデイツト1モードが指
定される。アクセス可能な状態に設定されたスイツチ処理ルーチンアドレステー
ブルSWTBLは機能スイツチのオンイベント時に参照されて、各機能スイツチ
に対応した処理ルーチンの呼出アドレスが読み出され、当該呼出アドレスに基づ
いて処理ルーチンがコールされる。 因に、各動作モードデータSWMDの中で個々のスイツチのオンイベントで読
み出されるルーチンには、音色選択、リズム選択、伴奏選択、各パラメータのエ
デイツト動作モードの設定等がある。 サブルーチンアドレステーブルSRTBLは、読み出されたグローバルポイン
タの中のサブルーチンテーブルポインタSRTBLPOが収納されるサブルーチ
ンテーブルポインタレジスタSRTBLPRにより指定される。このサブルーチ
ンアドレステーブルSRTBLには、動作モードすなわちスイツチ機能モードデ
ータSWMD、演奏モードすなわち鍵盤動作モードデータKPMDのモードに関
係のないスイツチのオンイベント処理ルーチン(例えば、リズムスタートストツ
プなど)や、リズム処理、シーケンサ処理のためのサブルーチンの呼出アドレス
が所定の順番に格納されている。 そして、動作中のプログラムのうち上述のサブルーチンが必要になつたとき、
サブルーチンアドレステーブルSRTBLを参照して、目的のサブルーチンを実
行する。 音色テーブルTCTBLは、読み出されたグローバルポインタ中の音色テーブ
ルポインタTCTBLPOを収納する音色テーブルを収納する音色テーブルポイ
ンタレジスタTCTBLPRにより示される。また、音色テーブルTCTBLは
各音色番号TCNごとの音色データの存在するメモリ上のアドレスを記憶してい
る。 この音色テーブルTCTBLは音色選択のルーチンの中で音色番号TCNによ
り参照され、得られたアドレスを用いて音色番号TCNに対応した音色データを
読み出して演奏に使用する。 リズムパターンテーブルRPTBLは、グローバルポインタ中のリズムパター ンテーブルポインタRPTBLPOを収納するリズムパターンテーブルポインタ
レジスタRPTBLPRにより示される。 また、リズムパターンテーブルRPTBLには、各リズムナンバRNごとのリ
ズムパターンデータの存在するアドレスを記憶している。音色選択の場合と同時
に、リズムパターンテーブルRPTBLには、リズム選択ルーチンの中でリズム
ナンバRNにより参照され、得られたアドレスを用いて、リズムナンバRNに対
応したリズムパターンが読み出し可能な状態に設定される。 同様にして、伴奏パターンテーブルAPTBLは、グローバルポインタ中の伴
奏パターンテーブルポインタAPTBPOを収納する伴奏パターンテーブルポイ
ンタレジスタAPTBLPRにより示される。 また、伴奏パターンテーブルAPTBLには、伴奏パターン番号ごとの伴奏パ
ターンデータのアドレスを記憶している。伴奏パターンテーブルAPTBLは、
伴奏パターン番号ANによつて対応した伴奏パターンが読み出されて自動伴奏が
行われるように設定される。 かくして電子楽器1において、音色番号TCNによつて指定した音色、リズム
ナンバRNによつて指定したリズム、伴奏パターン番号ANによつて指定した伴
奏パターンによる演奏が行えるようになされている。 (3) 別付ROMメモリ部 別付ROMメモリ部16は、オリジナルROMメモリ部6のうち、必要に応じ
て変更するデータを格納しており、CPU4はオリジナルROMメモリ部6のデ
ータのうちの一部のデータについて、別付ROMメモリ部16に格納されている
データをオリジナルROMメモリ部6の対応するデータに換えて使用する。 すなわち別付ROMメモリ部16は、第8図に示すように、オリジナルROM
メモリ部6(第5図)のグローバルポインタデータメモリ6X2、プログラムメ
モリ6A、テーブルメモリ6B及びデータメモリ6Cに対応する別付グローバル
ポインタデータメモリ16X2、別付プログラムメモリ16A、別付テーブルメ
モリ16B及び別付データメモリ16Cを必要に応じて設けることができるよう
に構成されている。 ここで別付プログラムメモリ16A、別付テーブルメモリ16B及び別付デー
タメモリ16Cは、オリジナルROMメモリ部6の対応するプログラム及び又は
データを変更することが必要な場合に、当該変更したプログラム又は及びデータ
を格納するような構造の小容量ROMとして構成され、各メモリ16A、16B
及び16Cの先頭アドレスが別付グローバルポインタデータメモリ16X2に同
様にして小容量ROM中に形成された別付グローバルポインタデータによつて指
定できるようになされている。 別付グローバルポインタデータメモリ16X2は、別付グローバルポインタデ
ータGLOBPNとして、第9図に示すように、別付イニシヤライズルーチンポ
インタIROUTPN、別付キーモードテーブルポインタKMTBLPN、別付
スイツチモードテーブルポインタSMTBLPN、別付サブルーチンテーブルポ
インタSRTBLPN、別付音色テーブルポインタTCTBLPN、別付リズム
パターンテーブルポインタRPTBLPN及び別付伴奏パターンテーブルポイン
タAPTBLPNを有する。 これらのデータのうち、オリジナルROMメモリ部6に格納されているグロー
バルポインタデータGLOBP(第6図)を変更しないデータについては、同じ
データを別付グローバルポインタデータメモリ16X2に格納することにより、
その別付グローバルポインタデータGLOBPNによつてもともと使われていた
オリジナルROM部6中のテーブルを指定し、オリジナルROMメモリ部6に格
納されているプログラム及び又はデータをアクセスできるようになされているの
に対して、変更する必要があるプログラム及び又はデータのグローバルポインタ
については、別付ROMメモリ部16(第8図)のメモリエリアを指定するアド
レスを別付グローバルポインタデータGLOBPNの中に格納する。かくして別
付グローバルポインタデータGLOBPNのうちオリジナルROMメモリ部6の
グローバルポインタデータGLOBPのアドレスデータとは異なるアドレスデー
タを有するポインタについてオリジナルROMメモリ部6のテーブル(又はデー
タ)を使用せずに別付ROMメモリ部16のテーブル(又はデータ)を使用でき
るようになされている。 例えば第10図に示すように、音色番号TCN=5の音色データと、スイツチ モード番号SWMDがSWMD=3においてスイツチ番号SWN=10のイベン
ト時に実行されるサブルーチンをオリジナルROMメモリ部6に格納されている
サブルーチンと入れ換えたい場合には、第10図に示す構成の別付ROMメモリ
部16をメモリ別付用ソケツト15に装着する。 そのため、別付ROMメモリ16には、第3番目の別付スイツチモードテーブ
ルポインタSMTBLPNと5番目の別付音色データアドレステーブルポインタ
TCTBLPNがオリジナルと異なる別付グローバルポインタとして用意されて
いる。 別付スイツチモードテーブルポインタSMTBLPNによつて示される新たな
スイツチモードテーブルSMTBLNは、SWMD=3に対応する部分のみがオ
リジナルのスイツチモードテーブルSMTBLと異なつており、他の部分はオリ
ジナルと同じであるようなアドレスデータを記憶している。 従つて、プログラム動作時には、SWMD≠3の場合はオリジナルROM6中
のスイツチ処理ルーチンアドレステーブルSWTBLが使用され、SWMD=3
の場合のみ、別付ROM16中のスイツチ処理ルーチンアドレステーブルSWT
BLNが使用される。当該新たなスイツチモードテーブルSMTBLNを用いて
、SWMD=3の時に呼び出される別付ROM16中のスイツチ処理ルーチンア
ドレステーブルSWTBLNは、スイツチ番号SWN=10の部分のみがオリジ
ナルROM6中のSWMD=3に対応するSWTBLと異なつており、他のSW
N≠10の部分はオリジナルと変わらない。 以上のような構成により、SWMD=3のときSWN=10のスイツチの処理
ルーチンのみをオリジナルROM6の処理ルーチンと差し換えることができる。 一方、別付ROM部16中の音色データアドレステーブルTCTBLNは、新
たな別付音色データアドレステーブルポインタTCTBLPNによつて示される
。 当該音色データアドレステーブルTCTBLNは音色番号TCN=5の部分が
オリジナルROM部6の音色データアドレステーブルTCTBLと異なつており
、TCT=5の音色が指定された時に別付ROM部16の新音色データがオリジ
ナルROM部6中のTCN=5の音色データの代わりに呼び出される。 音色データアドレステーブルTCTBLNの残りの部分(すなわち、TCN≠ 5に対応する部分)は、オリジナルのTCTBLと全く同じであり、別付ROM
部16を装着する前後で指定される音色データは変化しない。 以上のような構成により、複数の音色の中の例えば1音色のみを別付ROM部
16の中の新音色に差し換えることができる。 その他の別付グローバルポインタ、すなわち第1、第2、第4、第6及び第7
番目の別付グローバルポインタデータIROUTPN、KMTBLPN、SRT
BLPN、RPTBLPN及びAPTBLPNについては、オリジナルROMメ
モリ部6に格納されているデータを指定すれば良いので、オリジナルROMメモ
リ部6のアドレス空間のアドレスを表すグローバルポインタIROUTPO、K
MTBLPO、SRTBLPO、RPTBLPO、APTBLPOをそのまま別
付グローバルポインタデータメモリ16X2に格納する。 第10図の実施例の場合、別付ROMメモリ部16のスイツチモードテーブル
SMTBLNは、SWMD=3の位置に当該別付ROMメモリ部16のアドレス
空間にあるスイツチ処理ルーチンアドレステーブルSWTBLNのアドレスを表
すアドレスデータSWTPNを記憶しており、SWMD≠3のものについてはオ
リジナルROM部6中のもともとのスイツチ処理ルーチンアドレステーブルSW
TBLを指すアドレスを記憶する。 このようにして別付ROMメモリ部16において指定されたスイツチ処理ルー
チンアドレステーブルSWTBLNから得られる処理ルーチンのポインタは、オ
リジナルROMメモリ部6の対応するポインタ(すなわちSWTBL)と比較し
て、スイツチ番号SWN=10のスイツチの処理ルーチンについてのポインタデ
ータだけが異なるようなデータとして格納されている。かくしてこのポインタに
よつて指定されたスイツチモードSWMD=3におけるスイツチ番号SWN=1
0のスイツチ処理ルーチンとしてオリジナルROMメモリ部6において設定され
ていたサブルーチンとは異なるアドレスをもつサブルーチンを指定できることに
なる。 また第10図の実施例の場合、音色データアドレステーブルTCTBLNは、
オリジナルROMメモリ部6の音色データアドレステーブルTCTBLと比較し
て音色番号TCN=5のポインタだけが異なるポインタに置き換えられたと同様 のアドレスデータを格納している。 別付ROMメモリ部16は音色番号TCN=5の音色データを入れ換えるため
に、第5の別付グローバルポインタでなる別付音色テーブルポインタTCTBL
PNによつて指定される音色データアドレステーブルTCTBLNを有する。 この音色データアドレステーブルTCTBLNは、オリジナルROMメモリ部
6の音色データアドレステーブルTCTBL(第5図)と比較して、音色番号T
CN=5のポインタだけが異なるようなテーブルとして構成され、これにより当
該音色番号TCN=5のポインタによつて別付データメモリ16Cのメモリエリ
アに音色番号TCN=5の音色データを指定できるようになされ、かくして別付
ROMメモリ部16からオリジナルROMメモリ部6の場合と比較して、音色番
号TCN=5の音色を別付ROMメモリ部16を装着したことにより変更できる
ことになる。 (4) 演算処理動作 電子楽器1のCPU4は上述のような構成のメモリのデータを用いながら、第
11図に示すメインルーチンRT0を実行することにより演奏者の押鍵演奏操作
に応じた楽音を発生し、又はエデイツト演算処理等のように操作されたスイツチ
に対応する演算処理を実行する。 CPU4は電子楽器1に電源が投入されたとき第11図に示すメインルーチン
RT0の処理を開始し、先ずステツプSP1においてメモリ別付用ソケツト15
に別付ROMメモリ部16が装着されているか否かを検出した後、ステツプSP
2において別付ROMメモリ部16の有無を判断する。 実際上ステツプSP1の検出方法として、メモリ別付用ソケツト15の検出用
のポートに装着フラグが立つたか否かを検出する方法や、メモリ別付用ソケツト
15に別付ROMメモリ部16を装着したとき予め設けられた装着確認スイツチ
をオン操作する方法や、メモリ別付用ソケツト15に関連して検出器を設ける方
法や、別付ROMメモリ部16から装着フラグを発生する方法などを用いること
ができる。 ステツプSP2において別付ROMメモリ部16が装着されていると判断した とき、CPU4はステツプSP3において別付ROMメモリ部16の別付グロー
バルポインタデータメモリ16X2(第8図)から全ての別付グローバルポイン
タGLOBPNを読み出してワークメモリ5Aに設けた各々対応するレジスタに
読み込んだ後、次のステツプSP4に移る。 これに対してステツプSP2において別付ROMメモリ部16が装着されてい
ないことを確認したとき、CPU4はステツプSP5においてオリジナルROM
メモリ部6のグローバルポインタデータメモリ6X2(第5図)から全てのグロ
ーバルポインタデータGLOBPを読み出して各々対応するレジスタに読み込ん
だ後、ステツプSP4に移る。 かくしてCPU4はメモリ別付用ソケツト15に別付ROMメモリ部16が装
着されていないときには予めオリジナルROMメモリ部6にマクスROM製造時
に格納したグローバルポインタGLOBPを用いて鍵盤2において押鍵されたキ
ーの押鍵処理や、表示/入力部10又はスイツチ入力部9において入力されたス
イツチデータの演算処理を実行する。 これに対してメモリ別付用ソケツト15に別付ROMメモリ部16が装着され
ているときには当該別付ROMメモリ部16を製造する際に格納された別付グロ
ーバルポインタGLOBPNを用いて押鍵処理及びスイツチ処理を実行する。 ここで別付グローバルポインタGLOBPN(第8図)において、オリジナル
ROMメモリ部6に格納されているグローバルポインタGLOBPを変更する必
要がない場合には、当該同じデータを別付グローバルポインタGLOBPNとし
て格納していることによりオリジナルROMメモリ部6に格納されているデータ
を用いて演算処理を実行するのに対して、オリジナルROMメモリ部6に格納さ
れているデータのうち変更したいデータについては対応するグローバルポインタ
GLOBPとは異なるアドレスを指定するデータを別付グローバルポインタGL
OBPNとして格納していることにより、別付ROMメモリ部16に格納してい
るこの新たなデータを指定する。 この結果CPU4は、メモリ別付用ソケツト15に別付ROMメモリ部16が
装着されたときその別付グローバルポインタGLOBPNを用いて演算処理を実
行することにより、変更する必要がないデータについてはオリジナルROMメモ リ部6のデータを使用し、かつ変更が必要なデータについて別付ROMメモリ部
16のデータを使用することができ、かくして実効的にオリジナルROMメモリ
部6の記録内容を別付ROMメモリ部16のデータによつて書き換えたと同様の
機能を実行する結果になる。 ステツプSP4においてCPU4は、オリジナルROMメモリ部6のイニシヤ
ライズルーチンポインタIROUTPO(第6図)、又は別付イニシヤライズル
ーチンポインタIROUTPN(第9図)を前記ステツプSP5又はステツプS
P3で読み込んだイニシヤライズルーチンポインタレジスタIROUTPRによ
りイニシヤライズルーチンをオリジナルROMメモリ部6のプログラムメモリ6
A又は別付プログラムメモリ16Aに格納されているイニシヤライズルーチンデ
ータINITRTをコールし、これにより電子楽器1を全体として初期状態にセ
ツトする。 その後CPU4は、ステツプSP6において演奏者が鍵盤2を演奏操作するこ
とによつてキーのオンイベント又はオフイベントを発生させたとき、当該押鍵処
理を実行する。 続いてCPU4はステツプSP7においてスイツチ入力部9又は表示/入力部
10からモード別機能スイツチ(指定されたモードSWMDによつて異なる機能
を実行するスイツチ)からスイツチオンイベントのとき又はSW操作のあつたと
き対応する処理を実行する。 続いてCPU4はステツプSP8においてその他のスイツチ(すなわちモード
別機能をもたないスイツチ)からスイツチオンイベントのときその対応する処理
を実行し、続くステツプSP9においてその他の処理(例えばデイスプレイの処
理、ペダル等の他の演奏操作子の処理、エラーの起つたときの復帰処理等)を実
行して上述のステツプSP6に戻る。 CPU4はステツプSP6における押鍵処理として鍵盤2においてキーオン操
作又はキーオフ操作がされたとき、第12図に示すキーオンイベントルーチンR
T1又は第13図に示すキーオフイベントルーチンRT2を実行し、またスイツ
チ入力部9又は表示/入力部10においてモード別機能スイツチが操作されたと
きステツプSP7におけるモード別機能スイツチ処理として第14図に示すスイ ツチオンイベントルーチンRT3を実行し、さらにスイツチ入力部9又は表示/
入力部10においてモード別機能スイツチ以外のスイツチとして例えばリズムス
タートストツプスイツチがオン操作されたときステツプSP8における非モード
別機能スイツチ処理として第15図に示すリズムスタートストツプスイツチオン
イベントルーチンRT4を実行する。 キーオンイベントルーチンRT1(第12図)に入ると、CPU4はステツプ
SP11において鍵盤2から送出されるキー情報S1に基づいてキーコードデー
タKCD及びタツチデータTDを形成する。続くステツプSP12においては、
現在の鍵盤演奏モードKPMDに対応して設定されているキー処理ルーチンアド
レステーブルポインタKPTPを用いて、現在の鍵盤演奏モードに合つたキー処
理ルーチンアドレステーブルポインタKPTBLをアクセスし、そのキー処理ル
ーチンアドレステーブルポインタKPTBLの第1番目に登録されているキーオ
ンルーチンの呼出アドレスデータを読み出して、ルーチンポインタレジスタRO
UTPRに格納する。 鍵盤2の演奏モードは予めスイツチ入力部9又は表示/入力部10のスイツチ
操作によつて指定されており、指定された演奏モードは鍵盤演奏モードデータK
PMDとしてワークメモリ5Aの鍵盤演奏モードレジスタKPMDR(第7図)
に格納されている。 ここで、鍵盤動作モードデータKPMDがKPMD=0のときノーマル動作が
指定されていることを表し、またKPMD=1のときキーボードパーカツシヨン
が指定されていることを表し、またKPMD=2のときABC(自動ベースコー
ド)モードが指定されていることを表し、KPMD=3のときシーケンサ録音モ
ードが指定されていることを表し、以下同様にしてKPMD=4、5……のとき
それぞれ他の動作モードが指定されていることを表している。 以上のようにしてCPU4はキー処理ルーチンアドレスデータポインタレジス
タKPTPRに書き込まれているキー処理ルーチンアドレスデータポインタKP
TPによつて指定されたキー処理ルーチンアドレステーブルKPTBLをオリジ
ナルROMメモリ部6及び別付ROMメモリ部16のキー処理ルーチンアドレス
テーブル群KPTBLG又はKPTBLGNから選択し、これにより当該キーオ ン操作にかかるキーオン処理のルーチンポインタROUTPを読み出してワーク
メモリ5AのルーチンポインタレジスタROUTPR(第7図)に書き込む。 続いてCPU4はステツプSP13においてルーチンポインタROUTPによ
つて指定されたアドレスを有するサブルーチンのプログラムデータがオリジナル
ROMメモリ部6又は別付ROMメモリ部16のプログラムメモリ6C又は16
Cにあるか否かを判断し、肯定結果が得られたときステツプSP14においてル
ーチンポインタROUTPによつて指定されたサブルーチンをコールすることに
より当該キーオン処理演算を実行し、その後ステツプSP15において当該キー
オンイベントルーチンRT1を終了する。 ここでステツプSP14において、ルーチンポインタROUTPを用いてコー
ルされたキーオンルーチンは、通常の電子楽器と同様、例えば、発音チヤンネル
の割当て、発音音色の制御、キースケーリング、効果の制御などの処理を行う。 これに対してステツプSP13において否定結果が得られることによりルーチ
ンポインタROUTPによつて指定されたアドレスのサブルーチンがないことを
確認した場合には、CPU4はステツプSP14をジヤンプして当該キーオンイ
ベントルーチンRT1を終了する。 この実施例の場合オリジナルROMメモリ部6(及び別付ROMメモリ部16
)のキー処理ルーチンアドレステーブル群KPTBLG(及びKPTBLGN)
は、第16図に示すように、必要に応じて複数のキー処理ルーチンアドレステー
ブルKPTBL(0)、KPTBL(1)……KPTBL(END)を有し、各
キー処理ルーチンアドレステーブルはキーオンルーチンポインタPTR0、キー
オフルーチンポインタPTR1、ABCルーチンポインタPTR2、シーケンサ
録音ルーチンポインタPTR3……のように、各機能動作モードに対応するサブ
ルーチンを指定するアドレスデータを含んでいる。かくしてCPU4は各キーが
指定された鍵盤動作モードにおいてキーオン又はキーオフ操作されたとき、当該
動作条件に適合するアドレスデータをルーチンポインタROUTPとしてルーチ
ンポインタレジスタROUTPRに送出できるようになされている。 鍵盤2において何れかのキーがキーオフ操作されると、CPU4は第13図の
キーオフイベントルーチンRT2に入り、ステツプSP21において鍵盤2から 送出されるキー情報S1に基づいてキーオフ操作されたキーのキーコードデータ
KCDを形成する。 CPU4は次のステツプSP22においてキー処理ルーチンテーブルポインタ
レジスタKPTPRによつて指定されたキー処理ルーチンアドレステーブルKP
TBLをオリジナルROMメモリ部6又は別付ROMメモリ部16のキー処理ル
ーチンテーブル群KPTBLG又はKPTBLGN(第16図)から選択し、そ
の中のキーオフルーチンの呼出しアドレスを読み出して当該アドレスデータをル
ーチンポインタROUTPとしてルーチンポインタレジスタROUTPRに格納
する。 続いてCPU4はステツプSP23において当該ルーチンポインタROUTP
によつて指定されたアドレスを有するサブルーチンがプログラムメモリ6A又は
16Aにあるか否かを判断し、肯定結果が得られたときステツプSP24におい
て当該ルーチンポインタROUTPによつて指定されたサブルーチンをコールす
ることによりキーオフイベント処理を実行し、その後ステツプSP25において
当該キーオフイベントルーチンRT2を終了する。 これに対してステツプSP23において当該否定結果が得られたときCPU4
はステツプSP24をジヤンプして当該キーオフイベントルーチンRT2を終了
する。 またスイツチオンイベントルーチンRT3(第14図)において、CPU4は
スイツチ入力部9のスイツチ入力信号S3又は表示/入力部10のクリツク入力
信号S4に基づいて入力されるスイツチ情報の処理を実行する。 CPU4は第17図に示すような構成のスイツチ入力部9及び表示/入力部1
0から入力されるスイツチ入力信号S3及びクリツク入力信号S4に基づいて鍵
盤モードやスイツチモードの選択もできるようになされ、鍵盤モードが指定され
たときワークメモリ5A(第7図)の鍵盤演奏モードレジスタKPMDRに鍵盤
演奏モードデータKPMDを格納すると共に、スイツチモードが選択されたとき
ワークメモリ5A(第7図)のスイツチ機能モードルジスタSWMDRにスイツ
チ機能モードデータSWMDを格納するようになされている。 この実施例の場合CPU4はスイツチ機能モードSWMDとして、音色選択機 能、リズムパターン選択機能、伴奏種類選択機能、各種パラメータのエデイツト
機能、効果選択機能等が指定できるようになされ、これらのスイツチ機能モード
がスイツチ機能モードデータSWMDとして割り当てられており、各スイツチ機
能モードごとにスイツチ入力部9及び表示/入力部10の各スイツチに対して所
定のスイツチ機能を実行できるようにする。 例えばスイツチ機能モードデータSWMDがSWMD=0のときスイツチ操作
子は音色選択モードについてのスイツチ機能を実行する。 同様にしてSWMD=1のときボイスエデイツト1のスイツチ機能が割り当て
られ、SWMD=2のときボイスエデイツト2のスイツチ機能が割り当てられ…
…SWMD=K−2のときボイススコアモードのスイツチ機能が割り当てられ、
SWMD=K−1のときシーケンサエデイツトモードのスイツチ機能が割り当て
られ、SWMD=Kのときその他のスイツチ機能が割り当てられる。 スイツチ入力部9は第17図に示すように、リズムスタートストツプスイツチ
機能についてスイツチ機能表示部9ID1及びスイツチ操作子9SW1を有する
と共に、その他のスイツチ機能について、複数のスイツチ操作子9SW2と、当
該各スイツチ操作子9SW2に対して各モードにおいて割り当てられるスイツチ
機能をモード別スイツチ機能表示子9ID2によつて表示するように構成されて
いる。 また表示/入力部10は、表示画面10DIS及び表示画面10DISの下側
縁部に沿つて配列された複数のスイツチ操作子10SWを有し、表示画面10D
ISの画面モード表示エリアDIS1に当該表示画面の表示モードを表示する(
例えば「画面名」、「音色名」……などの表示をする)と共に、表示画面10D
ISの中央部に表示するパラメータ表示エリアDIS2に必要に応じてパラメー
タを表示し、さらに表示画面10DISの下側部に各スイツチ操作子10SWに
対応して表示される複数のスイツチ機能表示エリアDIS3に現在スイツチ操作
子10SWに対して割り当てられているスイツチ機能を表示するようになされて
いる。 CPU4は、いずれかのスイツチ操作子9SW1、9SW2、10SWが操作
されることによりスイツチオンイベントルーチンRT3に入つたとき、当該操作 されたスイツチ操作子に割り当てられたスイツチ番号をスイツチバツフアレジス
タSWBUFRに収納する。 CPU4は続くステツプSP32においてスイツチ処理ルーチンアドレステー
ブルポインタSWTPによつて指定されたスイツチ処理ルーチンアドレステーブ
ルSWTBLをスイツチ処理ルーチンアドレステーブル群SWTBLG又はSW
TBLGNから選択して当該オン操作されたスイツチのスイツチ番号に対応した
スイツチオンイベントルーチンポインタROUTPを読み出し、これをワークメ
モリ5AのルーチンポインタレジスタROUTPRに書き込む。 ここに、スイツチ処理ルーチンアドレステーブルポインタSWTPは、上述し
たスイツチ機能モードデータSWMDに対応しており、スイツチの操作等によつ
てスイツチ機能モードが切換えられる時に同時にスイツチ処理ルーチンアドレス
テーブルポインタレジスタSWTPRに設定される。従つて当該レジスタSWT
PRは、現在のスイツチ機能モードに対応したスイツチ処理ルーチンアドレステ
ーブルSWTBLを指定している。こうして、各スイツチ処理ルーチンアドレス
SWTBLには対応するスイツチ機能モードにおける各スイツチの機能を実現す
るための処理ルーチンの呼出アドレスがスイツチ番号SWNの順に並べられてお
り、各スイツチのオンイベント時にスイツチ処理ルーチンアドレステーブルポイ
ンタレジスタSWTPRで示されるスイツチ処理テーブルを、イベントのあつた
スイツチ番号SWNで参照することにより各スイツチ機能モードデータSWMD
における各スイツチの機能を実現するためのルーチンの呼出アドレスが得られる
ようになつている。 続いてCPU4はステツプSP33においてルーチンポインタROUTPによ
つて指定されたアドレスを有するサブルーチンのプログラムデータがプログラム
メモリ6A又は16Aにあるか否かを判断し、肯定結果が得られたときステツプ
SP34においてルーチンポインタROUTPによつて指定されたサブルーチン
をコールすることにより当該スイツチオン処理演算を実行し、その後ステツプS
P35において当該スイツチオンイベントルーチンRT3を終了する。 これに対してステツプSP33において否定結果が得られることによりルーチ
ンポインタROUTPによつて指定されたアドレスのサブルーチンがプログラム メモリ6A又は16Aにないことが確認できた場合には、CPU4はステツプS
P34をジヤンプして当該スイツチオンイベントルーチンRT3を終了する。 この実施例の場合オリジナルROMメモリ部6(及び別付ROMメモリ部16
)のスイツチ処理ルーチンアドレステーブル群SWTBLG(及びSWTBLG
N)は、第18図に示すように、指定できるスイツチ機能モードSWMDに対応
する複数のスイツチ処理ルーチンアドレステーブルSWTBL(0)、SWTB
L(1)、SWTBL(2)……SWTBL(END)を有し、各SWMDに対
応するスイツチ処理ルーチンアドレステーブルはスイツチ入力部9及び表示/入
力部10のスイツチ操作子SW0、SW1、SW2……に対応するスイツチ別処
理ルーチンポインタPTR10、PTR11、PTR12……を含んでいる。か
くして当該スイツチ別ルーチンポインタPTR10、PTR11、PTR12…
…によつてスイツチオン操作されたスイツチについて現在のスイツチモードにお
いて割り当てられた機能を実行するサブルーチンを格納しているメモリエリアの
アドレスを指定することができる。 CPU4はスイツチオンイベントルーチンRT3(第14図)のステツプSP
34において指定されたサブルーチンをコールしたとき、例えば第19図又は第
20図に示すようなサブルーチンRT11又はRT12を実行する。 第19図のサブルーチンRT11は音色選択サブルーチンで、スイツチ機能モ
ードデータSWMDがSWMD=0のときにコールされる。 CPU4は音色選択サブルーチンRT11に入ると、ステツプSP41におい
てスイツチバツフアレジスタSWBUFR(第7図)に書き込まれているスイツ
チ番号SWNの値に応じて音色番号TCNを設定する。 続いてCPU4はステツプSP42において音色テーブルポインタレジスタT
CTBLPR(第7図)の音色テーブルポインタTCTBLPOによつて指定さ
れた音色テーブルTCTBL(第5図)又はTCTBLN(第10図)を音色番
号TCNを用いて参照することにより音色データの呼出しアドレスTCPを発生
する。 ここで音色テーブルポインタレジスタTCTBLPRには第11図について上
述したようにオリジナルROMメモリ部6(第5図)のグローバルポインタデー タメモリ6X2に音色テーブルポインタTCTBLPO(第6図)として格納さ
れているもの、あるいはこれを変更する場合には当該変更する情報に対応するグ
ローバルポインタデータが別付ROMメモリ部16(第9図)の別付グローバル
ポインタデータメモリ16X2に別付音色テーブルポインタTCTBLPNとし
て格納されているものが、ステツプSP5又はステツプSP3において収納され
ている。 そこでCPU4は、変更がない場合音色番号TCNによつてオリジナルROM
メモリ部6(第5図)の音色テーブルTCTBLを指定することにより当該オリ
ジナルROMメモリ部6のデータメモリ6Cから音色データを読み出すことによ
り楽音信号発生部7において当該音色の楽音を発生させる。 これに対してオリジナル機能の一部を変更した場合(第10図の場合第5番目
の音色、すなわちTCN=5の別付音色テーブルポインタTCTBLPNが音色
テーブルポインタTCTBLPOに代えて変更されている)には、CPU4は、
別付ROMメモリ部16の音色データアドレステーブルTCTBLNを音色番号
TCNによつて指定することにより、別付ROMメモリ部16のデータメモリ1
6C(第10図)の音色データを用いて当該指定された音色を楽音信号発生部7
において発生させる。 かくしてCPU4はステツプSP42において別付ROMメモリ部16によつ
て各音色番号TCNの音色データが変更されているか否かに基づいて、変更され
ている場合にはオリジナルROMメモリ部6の音色データを用いずに別付ROM
メモリ部16の音色データを用いて楽音を発生するような処理を実行し、その後
続いてステツプSP43において当該発音した音色の楽音に対応する音色番号T
CNを表示/入力部10において表示した後、ステツプSP44からスイツチオ
ンイベントルーチンRT3(第14図)のステツプSP35に戻る。 次に、このように第14図のスイツチオンイベントルーチンRT3によつてス
イツチ機能モードデータSWMDがSWMD=0に指定された状態にあるとき、
当該スイツチ機能モードを、例えばSWMD=0からSWMD=2(すなわちボ
イスエデイツト2モード)へ移行させるような機能の割当てられたスイツチが操
作された場合に実行されるサブルーチンRT12を第20図に示す。 サブルーチンRT12においてCPU4は、ステツプSP51でワークメモリ
5Aのスイツチ機能モードレジスタSWMDR(第7図)にスイツチ機能モード
データとしてSWMD=2を書き込む。 続いてCPU4は、ステツプSP52においてスイツチモードテーブルポイン
タレジスタSMTBLPR(第7図)によつて指定されているスイツチモードテ
ーブルSMTBL(又はSMTBLN)を、スイツチ機能モードデータSWMD
(=2)で参照してスイツチ処理ルーチンアドレステーブル群SWTBLG(又
はSWTBLGN)のうちから対応するスイツチ処理ルーチンアドレステーブル
を表すスイツチ処理ルーチンアドレステーブルポインタSWTPを得る。 ここでスイツチ処理ルーチンアドレステーブルポインタSWTPは現在指定さ
れているスイツチ機能モードデータSWMD=2のサブルーチンに変更がない場
合にはオリジナルROMメモリ部6(第5図)のスイツチ処理ルーチンアドレス
テーブル(第18図)を選択指定するのに対して、現在指定されているスイツチ
機能モードデータSWMD=2のサブルーチンの一部に変更がある場合には別付
ROMメモリ部16(第10図)のスイツチ処理ルーチンアドレステーブルSW
TBLNを指定する。 その後CPU4は続くステツプSP53において当該スイツチ機能モードデー
タSWMD=2に対応するエデイツト画面を表示した後、ステツプSP54から
スイツチオンイベントルーチンRT3(第14図)のステツプSP35に戻る。 かくしてCPU4はスイツチ機能モードをSWMD=0からSWMD=2の状
態に切り換えることができる。 以上は第14図に示すように、電子楽器のモードに従つて各スイツチの機能を
切り換えるようにしたスイツチの処理機能を述べたが、CPU4は第15図にお
いてリズムスタートストツプスイツチオンイベントルーチンRT4として示すよ
うな非モード別機能スイツチ処理を実行するようなスイツチ機能をもつ。 第15図においては、モード別に分類されない機能をもつスイツチ(すなわち
非モード別機能スイツチ)としてリズムスタートストツプスイツチの場合が例示
されており、スイツチ入力部9のリズムスタートストツプスイツチ9SW1が操
作されたときCPU4はステツプSP61においてリズムスタートをすべきか否 かを判断する。 この実施例の場合リズム演奏が3つの演奏モードにおいて実行できるようにな
されている。 第1の演奏モードは演奏者がリズム発音モードを指定した場合で、この場合C
PU4はリズム発音フラグRONをRON=1に設定することにより当該リズム
発音モードが指定されていることを表す。 また第2の演奏モードは演奏者が自動ベースコード演奏モード(ABCモード
)を指定した場合で、この場合CPU4は鍵盤操作モードデータKPMDをKP
MD=2に設定することにより当該自動ベースコード演奏モードが指定されたこ
とを表す。 第3の演奏モードはシーケンサリズム演奏モードで、演奏者がシーケンサによ
るリズム演奏を指定したときCPU4はシーケンサオンフラグSONをSON=
1に設定することよつて当該シーケンサリズム演奏モードが指定された状態にあ
ることを表す。 CPU4はステツプSP61においてリズム発音フラグRONがRON=1で
はなく、かつ鍵盤動作モードデータKPMDがKPMD=2ではなく、かつシー
ケンサオンフラグSONがSON=1ではないか否かを判断する。 ここで否定結果が得られたときには、電子楽器はリズム発音モード、又は自動
ベースコード演奏モード、又はシーケンサリズム演奏モードの何れかが指定され
ていることを意味しており、このときCPU4はステツプ$P62に移つてリズ
ム発音フラグRUNを反転させることによりリズムラン状態を変更設定した後、
ステツプSP63においてオリジナルROMメモリ部6(第5図)又は別付RO
Mメモリ部16(第8図)のサブルーチンアドレステーブルSRTBL又はSR
TBLN(第21図)に格納されているリズムスタートストツプスイツチオンル
ーチンポインタRSWROUTPによつて指定されたサブルーチンをコールする
ことにより電子楽器1を全体としてリズム演奏状態に設定する。 この実施例の場合CPU4はステツプSP63のサブルーチンにおいて例えば
クロツクの初期設定等を実行することによりリズム演奏状況を指定する。 かくしてCPU4は当該リズムスタートストツプスイツチオンイベントルーチ ンRT4をステツプSP64において終了する。 これに対してステツプSP61において肯定結果が得られたとき、このことは
リズム演奏条件が指定されていないことを意味し、このときCPU4はステツプ
SP65においてリズム発音フラグRUNをリセツトした後、ステツプSP66
において当該リズムスタートストツプスイツチオンイベントルーチンを終了する
。 この実施例の場合サブルーチンポインタテーブルSRTBL又はSRTBLN
(第21図)はリズム発音に関するサブルーチンを指定し得るサブルーチンポイ
ンタとして、リズムスタートストツプスイツチオンルーチンポインタRSWRO
UTP、リズム発音処理ルーチンポインタRROUTP、シーケンサプレイ処理
ルーチンポインタSROUTP、アカンパニメント発音処理ルーチンポインタA
ROUTP及びその他のルーチンポインタを格納しており、オリジナルROMメ
モリ部6及び別付ROMメモリ部16のテーブルメモリ6B及び16Bに設けら
れている。 次に、CPU4はタイマ11(第1図)からインタラプト信号S5を受けたと
き、第22図に示すタイマ割込ルーチンRT5に従つてリズム発音動作を実行す
る。 すなわちCPU4はステツプSP71、SP72において順次リズム発音フラ
グRUN及びリズム演奏フラグRONが論理「1」であるか否かを判断し、肯定
結果が得られたときステツプSP73においてサブルーチンアドレステーブルS
RTBL又はSRTBLN(第21図)のリズム発音処理ルーチンポインタRR
OUTPによつて指定されたリズム発音処理ルーチンをコールする。 このルーチンの中でCPU4はオリジナルROMメモリ部6又は別付ROMメ
モリ部16のリズムパターンテーブルRPTBLによつて指定されたリズムパタ
ーンでリズム演奏を実行する状態になる。 これに対してステツプSP72において否定結果が得られると、このことはリ
ズム演奏モードが指定されていないことを表しており、このときCPU4はステ
ツプSP73をジヤンプして次のステツプSP74に移る。 ステツプSP74においてCPU4は、鍵盤動作モードデータKPMDがKP
MD=2(ABCモードを指定している状態)であるか否かを判断し、肯定結果 が得られたときステツプSP75においてサブルーチンアドレステーブルSRT
BL又はSRTBLN(第21図)のアカンパニメント発音処理ルーチンポイン
タAROUTPによつて指定されたアカンパニメント処理ルーチンをコールする
。 このアカンパニメント処理ルーチンにおいてCPU4はオリジナルROMメモ
リ部6又は別付ROMメモリ部16の伴奏パターンアドレステーブルAPTBL
(第5図)又はAPTBLN(第8図)に格納されている伴奏パターンポインタ
APPによつて指定された自動伴奏パターン(アカンパニメントパターン)に従
つてリズム演奏をする状態になる。 これに対してステツプSP74において否定結果が得られると、このことは自
動ベースコード演奏モードが指定されていないことを表しており、このときCP
U4はステツプSP75の処理をジヤンプして次のステツプSP76に移る。 ステツプSP76においてCPU4はシーケンサオンフラグSONがSON=
1であるか否かを判断し、肯定結果が得られたときステツプSP77においてサ
ブルーチンアドレステーブルSRTBL又はSRTBLN(第21図)のシーケ
ンサプレイ処理ルーチンポインタSROUTPによつて指定されたシーケンサプ
レイ処理ルーチンをコールする。 このときCPU4はシーケンサプレイ処理ルーチンポインタSROUTPに対
応するアドレスで格納されているプログラムを用いてデータメモリ5B(第1図
)及び6C(第5図)及び16C(第8図)に格納されているシーケンサデータ
に基づいてシーケンサリズム演奏を実行する。 これに対してステツプSP76において否定結果が得られると、このことはシ
ーケンサリズム演奏モードが選定されていないことを意味し、このときCPU4
はステツプSP77の処理をジヤンプして次のステツプSP78に移る。 ステツプSP78においてCPU4はリズム音の小節位置を表すクロツクカウ
ント数CLKを「+1」インクリメント処理した後、ステツプSP79において
当該クロツクカウント数が最大値を超えたか否かを判断し、超えた場合ステツプ
SP80においてクロツクカウント数CLKを数値0にクリアしてステツプSP
81からメインルーチンに戻る。 これに対してクロツクカウント数CLKが最大値を超えていない場合CPU4 は、ステツプSP80の処理をせずに直ちにメインルーチンに戻る。 このようにしてCPU4はタイマ11からインタラプト信号S5が発生される
ごとに指定されているリズム音発生モードに応じてリズム演奏モード、又は自動
ベースコード演奏モード、又はシーケンサリズム演奏モードに応じたリズム演奏
音を発生する。 (5) 実施例の動作、効果 以上の構成において、電源投入時CPU4はメインルーチンRT0(第11図
)を実行する際に、ステツプSP2、SP3及びSP5における処理を実行する
ことにより、メモリ別付用ソケツト15に別付ROMメモリ部16が装着されて
いるか否かを判断し、装着されていないときオリジナルROMメモリ部6(第5
図)のグローバルポインタGLOBPを各々対応するポインタレジスタに読み込
むことにより以後当該オリジナルROMメモリ部6に格納されていたグローバル
ポインタGLOBPに基づいてオリジナルROMメモリ部6に格納されているア
ドレステーブルを介してプログラムメモリ6A、テーブルメモリ6B及びデータ
メモリ6Cに格納されているプログラム及びデータを用いて鍵盤の演奏処理、エ
デイツト処理等を実行する。 これに対してメモリ別付用ソケツト15に別付ROMメモリ部16(第8図)
が装着されている場合には別付ROMメモリ部16に格納されている別付グロー
バルポインタGLOBPNを各々対応するポインタレジスタに読み込むことによ
り(第11図のステツプSP3)、当該別付グローバルポインタGLOBPNを
用いて鍵盤の発音処理、エデイツト処理等を実行する。 ここで別付グローバルポインタGLOBPNは、オリジナルROMメモリ部6
に格納されているデータのうち、必要に応じて変更したデータに対応するグロー
バルポインタだけをオリジナルROMメモリ部6のグローバルポインタGLOB
Pとは異なるデータに変更されているのに対して、変更を必要としないデータに
ついてはオリジナルROMメモリ部6のグローバルポインタGLOBPと同じデ
ータが別付ROMメモリ部16の別付グローバルポインタデータGLOBPNと
して格納されている。 かくして別付ROMメモリ部16が装着されているときCPU4は、演奏者の
操作指令に対応する演算を実行する際に、別付ROMメモリ部16の別付グロー
バルポインタデータGLOBPNを用いることにより変更がされないプログラム
又はデータについてはオリジナルROMメモリ部6に格納されているデータを用
いて当該指定された演算処理を実行する。 これに対してオリジナルROMメモリ部6に格納されているデータのうち変更
を必要とするデータについては別付グローバルポインタGLOBPNがオリジナ
ルROMメモリ部6のアドレスを指定せず、これに代えて別付ROMメモリ部1
6のデータアドレスを指定することにより、別付ROMメモリ部16に格納され
ているデータを用いて演奏者の指定操作に対応する演算処理を実行する。 かくして上述の実施例によれば、オリジナルROMメモリ部6に例えばバグが
発生したことにより当該バグが発生したプログラムを交換したい場合や、すでに
オリジナルROMメモリ部6にマスクROMの構造として格納されているプログ
ラムを変更したい場合等のような場合には、オリジナルROMメモリ部6の変更
したいデータが格納されているアドレスを表すグローバルポインタだけを変更し
てなる別付グローバルポインタデータGLOBPNと、変更したいデータとを格
納してなる別付ROMメモリ部16を用意してメモリ別付用ソケツト15に装着
するだけの簡易な構成によつてプログラムの変更等を容易になし得る。 かくするにつき、オリジナルROMメモリ部6を全体として交換するのではな
く、その一部を別付ROMメモリ部16に置き換えるだけの簡易な変更で済む。 〔発明の効果〕 上述のように本発明によれば、データを固定記憶する第1の記憶手段とは別体
に第2の記憶手段を必要に応じて装着できるようにすると共に、差換え指示を複
数種類のデータごとに指定し、又は第1及び第2の記憶データを番号によつて対
応づけて指定するようにしたことにより、第1の記憶手段のデータのうち一部の
データを必要に応じて簡易に変更することができるようにした電子楽器を容易に
実現できる。
【図面の簡単な説明】 第1図はこの発明による電子楽器の全体構成を示すブロツク図、第2図はその
メモリ別付装置部を示す分解斜視図、第3図は第1図のメモリに割り当てられる
アドレスマツプを示す略線図、第4図は別付ROMメモリ部へのアドレスの割当
て方法を示す略線図、第5図は第1図のオリジナルROMメモリ部の構成を示す
略線図、第6図はオリジナルROMメモリ部のグローバルポインタを示す図表、
第7図は第1図のワークメモリの構成を示す図表、第8図は第1図の別付ROM
メモリ部の構成を示す図表、第9図は第8図の別付グローバルポインタを示す図
表、第10図は別付ROMメモリ部の一例を示す図表、第11図は第1図のCP
U4のメインルーチンを示すフローチヤート、第12図、第13図、第14図及
び第15図はそれぞれキーオンイベントルーチン、キーオフイベントルーチン、
スイツチオンイベントルーチン及びリズムスタートストツプスイツチオンイベン
トルーチンを示すフローチヤート、第16図はキー処理ルーチンアドレステーブ
ル群を示す略線図、第17図は第1図のスイツチ入力部9及び表示/入力部10
の詳細構成を示す略線的平面図、第18図はスイツチ処理ルーチンアドレステー
ブル群の構成を示す略線図、第19図及び第20図は音色選択サブルーチン及び
エデイツトモード選択サブルーチンを示すフローチヤート、第21図はサブルー
チンアドレステーブルを示す図表、第22図はタイマ割込ルーチンを示すフロー
チヤートである。 1……電子楽器、2……鍵盤、3……バス、4……CPU、5……RAMメモ
リ部、6……オリジナルROMメモリ部、9……スイツチ入力部、10……表示
/入力部、14……メモリ別付装置部、15……メモリ別付用ソケツト、16…
…別付ROMメモリ部。

Claims (1)

  1. 【特許請求の範囲】(1) 複数の第1のデータを記憶する第1の記憶手段と、 第2のデータを記憶すると共に、上記第1の記憶手段に記憶されている上記複
    数の第1のデータのうちの少くとも1つの差換えを指示する差換指示手段を有す
    る第2の記憶手段と、 上記第2の記憶手段を装着し得る装着手段と、 上記装着手段に上記第2の記憶手段が装着されたか否かを検出する装着検出手
    段と、 上記第1の記憶手段に記憶されている上記第1のデータを読み出すもので、上
    記装着検出手段の検出結果に基づいて上記第2の記憶手段が装着されている場合
    であつて、読み出そうとする上記第1のデータが上記差換指示手段によつて差換
    えを指示されたものである場合には、当該第1のデータを読み出す代りに、当該
    第1のデータに対応する第2のデータを上記第2の記憶手段から自動的に読み出
    す読出手段と を具え、 上記第1の記憶手段は、上記複数の第1のデータとして、複数種類のデータを
    記憶し、 上記第2の記憶手段の上記差換指示手段は、上記複数種類ごとに、データの差
    換えを指示する ことを特徴とする電子楽器。(2) 複数の第1のデータを記憶する第1の記憶手段と、 第2のデータを記憶すると共に、上記第1の記憶手段に記憶されている上記複
    数の第1のデータのうちの少くとも1つの差換えを指示する差換指示手段を有す
    る第2の記憶手段と、 上記第2の記憶手段を装着し得る装着手段と、 上記装着手段に上記第2の記憶手段が装着されたか否かを検出する装着検出手
    段と、 上記第1の記憶手段に記憶されている上記第1のデータを読み出すもので、上
    記装着検出手段の検出結果に基づいて上記第2の記憶手段が装着されている場合
    であつて、読み出そうとする上記第1のデータが上記差換指示手段によつて差換
    えを指示されたものである場合には、当該第1のデータを読み出す代りに、当該
    第1のデータに対応する第2のデータを上記第2の記憶手段から自動的に読み出
    す読出手段と、 み出すべきデータを番号によつて指定する入力手段 を具え、 上記差換指示手段は上記番号を上記第1及び第2の記憶手段に記憶された上記
    第1及び第2のデータに対応づけるテーブルによつて構成され、 上記読出手段は上記入力手段によつて入力された番号に対応するデータを読み
    出す ことを特徴とする電子楽器。

Family

ID=

Similar Documents

Publication Publication Date Title
JPH0515278B2 (ja)
JP3561953B2 (ja) 電子楽器
JPH04181295A (ja) 電子楽器
JP2692361B2 (ja) 電子楽器
JP2692361C (ja)
JP2692360B2 (ja) 電子楽器
JP2830065B2 (ja) 電子楽器
JP3099630B2 (ja) 楽音信号制御装置
JPS62235989A (ja) 伴奏パタ−ン選択装置
JP3551065B2 (ja) データ設定装置
JP2757711B2 (ja) 電子楽器
JP2746044B2 (ja) 電子機器の選択制御装置
JPH036515B2 (ja)
JP4000986B2 (ja) 表示制御装置及びプログラム
JPH0313994A (ja) 電子楽器
JPH1091160A (ja) 電子楽器の効果付与装置
JPH01177091A (ja) 演奏操作入力装置
JP2778594B2 (ja) 電子楽器
JP4674509B2 (ja) 電子楽器
JPH03208096A (ja) 電子楽器の音色設定装置
JP2660628B2 (ja) シーケンサの表示装置
JPH03192398A (ja) 電子楽器
JPH05281961A (ja) 電子楽器
JP2002116761A (ja) 電子楽器および音量表示方法
JP2006064821A (ja) 楽音発生装置