MSX Datapack - Translating MSX-Audio, MSX-Music and MSX-MIDI parts

By sd_snatcher

Prophet (3642)

sd_snatcher's picture

20-04-2013, 04:05

Thanks to the efforts os many respectful MSX community members, these days we have a lot more MSX documentation in English at our hands than we ever had back in the 80s/90s.

But there are still some areas of the MSX system that are completely obscure, with only the few documentation available still in japanese. All the music-related BIOS documentation are inside this sea of lost knowledge. This include:

- MSX-Audio BIOS
- MSX-Music BIOS
- MSX-MIDI BIOS

The lack of this important information hindered the MSX-Audio BIOS enhancement project.

Not being able to read Japanese, I tried everything I could do at my reach to try to translate the MSX datapack, even resorting to OCR and and automatic translators. The results were awful, like this first page of the MSX-Music chapter:

Quote:

7th district ffl side device Kou seventh Gil p option seven graphics
& S FM B shame S
SA1 Overview
The MSX-MUS1C, as a mono-bis routine of 7 Bok weblog 7 for application software, and MSX
-MUSICFM B shame S are available thing. Multi-case of <, peripherals MSX the extended another 0S call
Q I, to access the device but, FMB shame S does not take that way, FMB shame S is present
Has decreased to the mechanism to search for a nest mouth Tsu Prefecture, one Le co-direct a particular address.
Your thing, Sakai case that require high-speed processing, and co-direct the rice one bull the slot Bok in advance - that you Le
The Masu written in both.
7 Bok ware application software of commercial and access conducted under, the 0PLL this FMB shame S always
Bok heard. Compatibility when you work directly with the I / 0 port I can not be guaranteed.
I will explain function of FMB shame S, and call method Te chapter of the two. To use the FM BIoS call
The contact and per, knowledge of 0PLL (YM241s) is because it is required, you (oPLLij also together "ゝ 4 YM241s
Hiroshi under \ doctor. However ij4YM241s (0PLL) "is not a discussion of FM sound, work p how to sound
For such, please refer below listening to the manual professional.
&& Size of 2FMB shame S
Size t store address of FM BI0S p is far below.
4DFFH
4C00H
4 d 00H
Tone data area
(0.5k by H
FM Blos
(2.75K by doctor
Size in Figure 71g FM Wo OE
1 byte shame, FM BIoS will use byte stack collar as 7% as a Wakueri 7.
244

And so, that nice window with free time I had to develop was lost. These days I'm terribly busy with RealLife (TM) issues and I'm not being able to focus on MSX development, since it requires a lot of sweat and inspiration. But I refuse to give up that easily. The idea is then to do some kind of work that can be even done on a smartphone while commuting. And translating the needed the docs seems doable.

The process would be similar to the one used to translate Psycho World to English. I will post here a set of some pages that need translation, then the awesome guys that can read Japanese can post the translated text on the forum, without worrying about anything else than the text content. I'll take care to paste it, format and compose a nice document to be published later. Of course the credits will be given to anyone that helps.

Even if I'm never able to return to coding the MSX-Audio BIOS, the resulting document will without any doubt still be useful for those who want to program the already existing versions of the MSX-Audio, MSX-Music and MSX-MIDI BIOSes.

Login or register to post comments

By sd_snatcher

Prophet (3642)

sd_snatcher's picture

20-04-2013, 04:07

So, here there are the first 3 pages:

By Randam

Paragon (1431)

Randam's picture

22-04-2013, 23:06

I recently found this document on the internet recently: http://www.ascat.jp/tg/tg45.pdf

It also has some info about MSX MUSIC and MSX MIDI. The info in it seems to come from various sources so perhaps it also has some interesting info. On the upside the text is regular text. So that might help you too.

Perhaps I can take a look at the pages you posted earlier but a big drawback is that I probably don't understand what it is regardless of the language since I can't code. So perhaps I'll try and have a look when I have some time but I won't make any promises.

By Grauw

Ascended (10699)

Grauw's picture

14-01-2014, 22:12

MSX-MIDI part is translated here (since 2013-01-13):

http://map.grauw.nl/resources/midi/msx-midi.php

By sd_snatcher

Prophet (3642)

sd_snatcher's picture

15-01-2014, 00:49

Thanks for the help, Randam and Grauw!

The translation is advancing, little by little. But there are some parts here and there that the machine translators produce incomprehensible results.

I'll post them here, and hope someone contributes by to post a sensible translation:

In the "3.1 MSX-Music Hardware" chapter, there's this phrase:

Quote:

2.内蔵と外付けの両方の音源に対応する方法

In the "4.1 MSX-Audio MBIOS" chapter there are these phrases:

Quote:

DE 音程(0~32767)
中央Cが15360(3C00H)で、256の変化で半音変化します。

Quote:

Y8950では各チャンネルごとに深さを設定することができません。そのため、どれか音色を設定したときに深さを設定できます。このビットはビット6

7の深さをY8950に対して設定することを指定します。

Quote:

この機能を呼び出した後にRM_PITCH(ピッチの設定)やRM_TSRAN(トランスポーズの設定2)を呼び出すと後からの設定のみが有効になります。

Quote:

インスツルメントは楽器をシミュレートしているので、同じ音程を2度続けてキーオンすると、その音が1度キーオフされて再びキーオンされます。

Quote:

IY マスター・スレーブどちらのチャンネルかをMIDBのアドレスで指定します。

Quote:

ADPCMのトレース時およびPCMへの変換をするときにADPCMの初期量子化幅として用いられます。この値は絶対値で表され、範囲は007EHを設定します。

Quote:

このエントリが呼ばれない限り、MBIOSはすべての割り込みサービスを行うことはできません。ハードウェアの割り込みによりアプリケーションに制御が渡った時点ではY8950のステータスレジスタはCPUに読まれていないので、割り込みのリクエストはかかったままなので、ハードウェア割り込みを許可する命令(EIなど)を実行してはなりません。

Quote:

5. UISVでは次の順に割り込み要求回数を調べ、1番最初にその回数がOでないベクタを見つけるとそのベクタで示されているプログラムをコールし(この際に割り込み要求回数がAレジスタで渡されます)、戻る。

Quote:

MSX-AUDIOの拡張BASICにおいて割り込み処理は次のように設定されます。
1. H.KEYIを設定してすべてのハードウェア割り込みを拡張BASICのプログラムに向けている。そのプログラムの中からMBIOSのSV_IRQをコールする。
2. HK_IRQ38を拡張BASICのプログラムに向けている。そのプログラムはレジスタをすべてセーブした後、MSXのBIOSの0038H番地をインタースロットコールする.
3. ADPCM終了割り込みを拡張BASICに向けている。
4. IRQ_PRIOは初期値で使用。
5. HK_VRAMは初期値で使用。
6. HK_USERIRQは初期値で使用。
7. HK.VDPIRQはキャリーをセットするプログラムを設定。

Quote:

SV_RESETで初期設定されるプログラム

Quote:

SV_RESETで初期設定されるプログラム

Quote:

ここでは以下のように説明します。

Quote:

ここでは以下のように説明します。

Quote:

フィルタの設定

Quote:

 サンプリングキーボードエミュレーションとは、PCMの波形データをADPCMの波形データをADPCMデータに変換して、エンベロープをつけながら音を発生する仕組みです。エンベロープはタイマ0をつかって割り込みをかけ、その割り込み毎にADPCM再生音量(Y8950のレジスタ12H)を書き換えて実現しています。
 表7.80はそれに関するデータの内容です。このデータはMIDBの後半部分です。

Quote:

FM音源チャンネルに対して発音を指示したときにデュレーション(鍵盤で表すと、鍵盤を押している時間を意味する)を設定しますが、その時間経過を記憶しています。この値はSV_TEMPO(自動キーオフ処理)が呼ばれるたびに減ってゆき、Oになるとそのチャンネルに対してキーオフが発生されます。

Quote:

Key Code Numberといい中央Cが60で、1変化することに半音変化します。

Quote:

MSX-AUDIOをサポートするシステムソフトウェアではこのLSIの持つ機能を容易に引き出すための機能を提共しており、MSX、MSX2、MSX2+で動作します。

Quote:

ダンプ
 音声出力をすぐに停止する動作を示します。キーオフとはダンプした瞬閤に音が止まる点が異なります。

Quote:

スレーブチャンネル側にある拡張BASICやMBIOSなどのプログラムはMSX立ち上がり時のみ動作し、それ以外はすべてマスターチャンネル側のプログラムがスレーブチャンネル側のY8950も制御します。

The rest of the phrases on these chapters are mostly translated, lacking only some English polishing.

By Grauw

Ascended (10699)

Grauw's picture

15-01-2014, 03:19

Quote:

DE 音程(0~32767)
中央Cが15360(3C00H)で、256の変化で半音変化します。

DE interval (0~32767)
Middle C is 15360 (3C00H), a change of 256 is a semitone.