kg68k / InsideX68000-errata

Unofficial errata for "Inside X68000" series
https://kg68k.github.io/InsideX68000-errata/
17 stars 1 forks source link

YM2151(OPM)のレジスタ$1BのCT1とCT2のビット配置 #2

Open kg68k opened 1 year ago

kg68k commented 1 year ago

何が正しいのかはっきりしないので資料を漁ってみました。 あわせてピンの番号も。

まず大前提として、

となります。これは実際に動作しているIOCS ROMや音源ドライバ等のコードがそうなっています。

YAMAHAの資料

YM2151.pdf (YAMAHA)

p.9の端子配置図より、CT1が9ピン、CT2が8ピン。

yamaha_ym2151_datasheet.pdf (YAMAHA、1991年)

CATALOG NO.:LSI-2121512 / 1991.12

p.2のTERMINAL DIAGRAMより、CT1が8ピン、CT2が9ピン。

yamaha_ym2151_synthesis.pdf

p.6のレジスタビット配置図より、D7(ビット7)がCT2、D6(ビット6)がCT1。

Bits D6 and D7 correspond to output terminals CT1 and CT2 and comprise the External (略)

p.23のPin Wiringより、CT1が8ピン、CT2が9ピン。

X680x0関連の資料

X68000テクニカルデータブック (アスキー、1987年9月1日初版)

p.90より、D7(ビット7)がCT2(FDC強制READYポート)、D6(ビット6)がCT1(音声合成クロック切り替えポート)。

D6、D7ビットは出力端子CT1、CT2に対応し、外部制御ができる出力ポートです。 X68000では、CT1は音声合成用原発振周波数4MHz/8MHzの切り換えを行います。(略) CT2はFDC(フロッピーディスクコントローラ)のREADY端子を強制的にREADY状態にし、(略)

p.115 表3-19より。

| E92003H | | (E90001H | WRITE | CT2 | CT1 | |  = 1BH) |

p.117より、D7(ビット7)がCT2(FDC強制READYポート)、D6(ビット6)がCT1(音声合成クロック切り替えポート)。

p.157より。

YM2151(FM音源)のCT2ポートを利用してFDDの接続を確認します。 CT2ポートは、FDCのREADY端子を強制的にREADY状態にし、(略)

1. YM2151のCT2ポートに"1"を書き込む(強制READY)。

  1. YM2151のCT2ポートに"0"を書き込む(通常動作)。

X68000ベスト・プログラミング入門 (千葉憲昭、技術評論社、1992年3月15日初版第13刷)

p.88 図4.28より、D7(ビット7)が「FD強制レディ」、D6(ビット6)が「音声合成クロック」。

1BH |    CT    |    | FD  | 音声合成 |    | レディ |      |

p.94 表4.6より。

E90003H (1BH) | WRITE | CT2 | CT1 |

p.95より。

このうち,FM 音源のデータ・ポートのうちCT1だけが原発振クロック切り換え用として供給されているので(略)

p.96 図4.32より、D7(ビット7)が「CT2 FDC強制READYポート」、D6(ビット6)が「CT1 音声合成クロック切り換えポート(原発振周波数切り換え)」。

X68000 XVI サービスマニュアル(シャープ、1991年)

p.85 コントロール基本配線図より、CT1が8ピン、CT2が9ピン。 配線を追うとCT2がFDCのREADYに接続されている。

Inside X68000 (桑野雅彦、ソフトバンク、1992年4月23日初版第1刷)

p.268 図7より。

| $1B | CT1 | CT2 |

p.276 図17より。

$1B | CT1 | CT2 |

p.292より。

ADPCMの基本クロックの選択をOPMの汎用出力端子CT2で行えるようにしています。

p.293 図32より。

| $E90003 | W | CT2 | CT1 |

p.297より。

X68000では,ADPCMのクロックの切り替え信号としてOPM(FM音源LSI)の汎用出 力端子CT2を使用しています。このビットはOPM内の番号$1Bのレジスタで行います。レ ジスタのビット配置は298ページの図38のようになっています。このレジスタのビット7が クロック選択用のビットで,(略)

p.298 図39より。

| CT2 | CT1 |

p.388 図1にて、FDCのREADY端子に「OPMのCT2」が接続されている。

p.389より。

これをOPMのCT2で強制的に'1'にする機能は,

p.390 図3より。

| OPM | $E90003 | W | CT1 | CT2 |

p.395より。

OPMのCT2端子の制御を行うレジスタ$1Bのビット配置を,396ページの図10に示し ます。ビット6を'1'にすると,(略)

p.396 図10より。

| CT1 | CT2 |

Oh!X 1994年8月号 (ソフトバンク)

p.91より。

なお,Inside X68000の298ページの図38 はCT2,CT1の表示が逆です。機能はその ままですが。正解は268ページの図7,$1B の項を参照してください。

XEiJ (X68000 Emulator in Java)

ソースコード → YM2151.java

2154: // data CT1<<1|CT2

FM音源レジスタマップX68k - mxdrv @ ウィキ - atwiki(アットウィキ)

$1B CT1 CT2 - - - - W CT1:汎用出力1=ADPCM clk.           0:4MHz,1:8MHz           CT2:汎用出力2=FDC ready           0:normal

"Know How for hoot (japanese version only)"

レジスタ$1BのCT1(bit7)とCT2(bit6)は

X680x0と無関係の資料

試験に出るX1 ハードウェアのフルコース (祝一平、日本ソフトバンク、1988年6月15日初版第4刷)

p.243 図11-2より。

| 1BH | CT2 | CT1 |

Sega Pre-System 16 hardware notes (2004-03-29) - Sega Retro

Pulse bit 7 of YM2151 register $1B (CT1 - /INT) to trigger an interrupt on the N7751.

Teenage Mutant Ninja Turtles「4 player Instruction Manual」(KONAMI、1989年)

Teenage Mutant Ninja Turtles - Videogame by Konami → Teenage_Mutant_Ninja_Turtles1989Konami.pdf

p.13の回路図より、CT1が8ピン、CT2が9ピン。

THE SIMPSONS「Instruction Manual」(KONAMI、1991年)

Simpsons, The - Videogame by Konami → Simpsons.pdf

p.19の回路図より、CT1が9ピン、CT2が8ピン。

SFG-01 SERVECIE MANUAL (YAMAHA)

download.file-hunter.com - The Complete MSX Download Archive → SFG-01 Service Manual.pdf

p.6の回路図より、CT1が9ピン、CT2は未使用と思われ記載なし。

FM Unit programming guide

CT2 CT1 Wave Form

ika-musume/IKAOPM: BSD licensed YM2151 cycle-accurate core based on the die shot from siliconpr0n

CT2 and CT1 port description

Pin number 8 and 9 of the YM2151 are used as GPO ports. They are referred to as CT2 and CT1 respectively, but unfortunately Yamaha doesn't seem to have taken the naming of them seriously. There are datasheets that have CT2 and CT1 reversed in order. Looking at the die shot, bit 7 of the 0x1B register is connected to the pin 8, and bit 6 is connected to the pin 9. I assume that in this core, bit 7 of the 0x1B register = CT2 = pin 8, bit 6 of the same register = CT1 = pin 9. In addition, the pin that the internal data lfo_clk flows out of when test mode is turned on is CT1 = pin 9.

YM2151 - アーケードゲーム基板@ ウィキ - atwiki(アットウィキ)

端子番号 端子名称  I/O  端子機能 8    CT2   O  ConTrol2 9    CT1   O  ConTrol1

ブログ等

FM音源ユニットSFG-01/05の接続『絵夢絶党』

CT1,2‥‥‥音声合成用フィルター特性切り替え信号に使用されている。この回路ではCT1のみしか使用されていないが、実際にはCT2(8番ピン)端子もある。これらは汎用の2ビット出力ポートである。

※このページは「X68000テクニカクデータブック(ASCII出版)」などX68000の資料を参考にしている可能性が高い。

FPGA 版 FM 音源 (31) -- YM2151 (OPM) インターフェース回路 (1) - シンセ・アンプラグド

回路図より、CT2が9ピン、CT1が8ピン。

oykenkyu.blogspot.com: YM2151の使い方

ピン配置はCT1が8ピン、CT2が9ピン。

ピン番号 名称 I/O 機能 8    CT1  O 汎用出力端子です。           $1Bのbit7に割り当てられています。 9    CT2  O 汎用出力端子です。           $1Bのbit6に割り当てられています。

YM2151のレジスタ(書き込み専用)

| CT2 | CT1 |

CT1 = H or L : CT1端子(8pin)にHまたはLを出力します。 CT2 = H or L : CT2端子(9pin)にHまたはLを出力します。

YM2151でMIDI演奏プログラム

define CT2 0x80 // 汎用端子出力ビット・LFO変調波形設定レジスタ_汎用出力ポートCT2への出力値

define CT1 0x40 // 汎用端子出力ビット・LFO変調波形設定レジスタ_汎用出力ポートCT1への出力値

kg68k commented 1 year ago

解決しなかったので、コメント歓迎します。

kg68k commented 1 year ago

資料追加

YAMAHAの資料

CATALOG NO:7610002 / 1994.10

端子配置図より、CT1が9ピン、CT2が8ピン。

thanks to @i386ex