Difference between revisions of "Sound Routine (NES Driver)"

From Video Game Music Preservation Foundation Wiki
Jump to: navigation, search
m
m (Games)
Line 54: Line 54:
 
| 1989-01-24
 
| 1989-01-24
 
| [[Kidou Keisatsu Patlabor (FDS)]]
 
| [[Kidou Keisatsu Patlabor (FDS)]]
| ?
+
|  
 
| 2
 
| 2
 
|-
 
|-

Revision as of 06:40, 20 April 2021

Sound Routine
Released 1988-08-06
Programmers Yoshiaki Inose
Language 6502 Assembly
Formats Unknown

Sound Routine (サウンドルーチン) is the name of the sound driver used by several composers at Advance Communication Company. It was used to create music and sound effects for the NES for at least 13 games. It was also used in one Famicom Disk System game, but the FDS expansion channel was not implemented. The name of the driver was revealed in Moeru! Oniisan (FC), in which it is listed in the Special Thanks list.

The code for the sound driver appears to be based on Yoshiaki Inose's sound driver. It is possible Osamu Kasai and Masaaki Harada, two of the main composers at ACC, also helped in programming the driver, as they have been credited for programming in some games.

Based on the code of the driver, it appears that users wrote music and sound effects in 6502 assembly machine code.

Release History

The first game believed to be developed by Advance Communication to use the driver was Patlabor The Mobile Police for the Famicom Disk System (though it isn't confirmed they developed it). From the sounds of it, the driver was Hasuya's engine that he used at Tecmo and Vic Tokai. In the later games from around 1988+, the instruments became more unique, as they had tremolo and vibrato added to them. Besides that, the most notable difference is that the triangle channel usually plays in octaves, the lower octave being played one frame before the square and noise channels play a note.

There are two known versions of the sound driver; one tuned at approximately 449.2 Hz and the other tuned at approximately 440.4 Hz.

Games

Note: Games with a "?" have not been confirmed to use this driver.

Released Title Sample Driver Version
1987-08-28 Hikari no Senshi Photon: The Ultimate Game on Planet Earth (FC) (光の戦士フォトン 惑星ゾルディアスの戦い) 1
1988-03-17 Tsuri Kichi Sanpei: Blue Marlin Hen (FC) (釣りキチ三平 ブルーマーリン編) 1
1988-04-08 Dr. Jekyll and Mr. Hyde (NES) (彷魔が刻)
1
1988-08-26 Ys (FC) (イース)
2
1988-12-17 Cycle Race Road Man (FC) (サイクルレース ロードマン) 2
1989-01-24 Kidou Keisatsu Patlabor (FDS) 2
1989-02-23 Tama & Friends: 3 Choume Daibouken (FDS)
2
1989-07-25 Oishinbo: Kyukyoku no Menu 3bon Syoubu (FC) (美味しんぼ 究極のメニュー三本勝負) 2
1989-08-08 Circus Caper (NES)
2
1989-12-08 Seirei Gari (FC) (聖霊狩り) 2
1990-03-23 Sansara Naga (FC) (サンサーラ・ナーガ) 2
1990-04-?? Dynowarz: The Destruction of Spondylus (NES)
3
1990-05-25 Ys II (FC) (イースⅡ)
2
1990-11-10 Last Armageddon (FC) (ラストハルマゲドン) 3
1991-02-22 Niji no Silk Road: Zigzag Boukenki (FC) (虹のシルクロード 〜ジグザグ冒険記〜) 2
1991-03-15 Fushigi no Umi no Nadia (FC) (ふしぎ海のナディア) 3
1991-07-31 Otaku no Seiza: An Adventure in the Otaku Galaxy (FC) (おたくの星座) 3
1991-09-27 Ys III: Wanderers from Ys (FC) (イースⅢ)
3
1991-11-15 Shounen Ashibe: Nepal Daibouken no Maki (FC) (少年アシベ ネパール大冒険の巻) 3

Technical

It is unknown what native formats were used to store the music, but, like all NES games, the machine code can be logged to NSF. The driver doesn't appear to have the ability to use the DPCM channel of the RP2A03.

Frequency Registers

(Note: While most of the engine's games use these frequency registers, there are a few games such as Ys III which have a different frequency set.)

Version 1

B-7 = 0E
A#7 = 0F
A-7 = 10
G#7 = 11
G-7 = 12
F#7 = 13
F-7 = 14
E-7 = 15
D#7 = 16
D-7 = 18
C#7 = 19
C-7 = 1A
B-6 = 1C
A#6 = 1D
A-6 = 1F
G#6 = 21
G-6 = 23
F#6 = 25
F-6 = 27
E-6 = 29
D#6 = 2C
D-6 = 2F
C#6 = 31
C-6 = 34
B-5 = 37
A#5 = 3B
A-5 = 3E
G#5 = 42
G-5 = 46
F#5 = 4A
F-5 = 4E
E-5 = 53
D#5 = 58
D-5 = 5D
C#5 = 63
C-5 = 69
B-4 = 6F
A#4 = 75
A-4 = 7C
G#4 = 84
G-4 = 8C
F#4 = 94
F-4 = 9D
E-4 = A6
D#4 = B0
D-4 = BA
C#4 = C5
C-4 = D1
B-3 = DD
A#3 = EB
A-3 = F9
G#3 = 107
G-3 = 117
F#3 = 128
F-3 = 139
E-3 = 14C
D#3 = 160
D-3 = 174
C#3 = 18B
C-3 = 1A2
B-2 = 1BB
A#2 = 1D5
A-2 = 1F1
G#2 = 20F
G-2 = 22E
F#2 = 24F
F-2 = 272
E-2 = 298
D#2 = 2BF
D-2 = 2E9
C#2 = 315
C-2 = 344
B-1 = 376
A#1 = 3AB
A-1 = 3E2
G#1 = 41D
G-1 = 45C
F#1 = 49E
F-1 = 4E5
E-1 = 52F
D#1 = 57E
D-1 = 5D2
C#1 = 62A
C-1 = 688
B-0 = 6EC
A#0 = 755
A-0 = 7C5
G#0 = 83B
G-0 = 8B8
F#0 = 93D
F-0 = 9CA
E-0 = A5E
D#0 = AFC
D-0 = BA4
C#0 = C55
C-0 = D10

Version 2

B-7 = 0E
A#7 = 0F
A-7 = 10
G#7 = 11
G-7 = 12
F#7 = 13
F-7 = 14
E-7 = 15
D#7 = 16
D-7 = 18
C#7 = 19
C-7 = 1A
B-6 = 1C
A#6 = 1D
A-6 = 1F
G#6 = 21
G-6 = 23
F#6 = 25
F-6 = 27
E-6 = 2A
D#6 = 2C
D-6 = 2F
C#6 = 32
C-6 = 35
B-5 = 38
A#5 = 3B
A-5 = 3F
G#5 = 43
G-5 = 47
F#5 = 4B
F-5 = 4F
E-5 = 54
D#5 = 59
D-5 = 5F
C#5 = 64
C-5 = 6A
B-4 = 71
A#4 = 78
A-4 = 7F
G#4 = 86
G-4 = 8E
F#4 = 97
F-4 = A0
E-4 = A9
D#4 = B3
D-4 = BE
C#4 = CA
C-4 = D6
B-3 = E2
A#3 = F0
A-3 = FE
G#3 = 10D
G-3 = 11E
F#3 = 12F
F-3 = 141
E-3 = 154
D#3 = 168
D-3 = 17E
C#3 = 194
C-3 = 1AC
B-2 = 1C6
A#2 = 1E1
A-2 = 1FD
G#2 = 21C
G-2 = 23C
F#2 = 25E
F-2 = 282
E-2 = 2A9
D#2 = 2D1
D-2 = 2FC
C#2 = 329
C-2 = 359
B-1 = 38C
A#1 = 3C2
A-1 = 3FB
G#1 = 439
G-1 = 479
F#1 = 4BC
F-1 = 504
E-1 = 54E
D#1 = 59E
D-1 = 5F5
C#1 = 64E
C-1 = 6AF
B-0 = 6EC
A#0 = 755
A-0 = 7C5
G#0 = 83B
G-0 = 8B8
F#0 = 93D
F-0 = 9CA
E-0 = A5E
D#0 = AFC
D-0 = BA4
C#0 = C55
C-0 = D10

Cycle Race Road Man

B-0 = 714
A#0 = 780
A-0 = 7F2
G#0 = 86B
G-0 = 8EB
F#0 = 973
F-0 = A02
E-0 = A9B
D#0 = B3C
D-0 = BE7
C#0 = C9C
C-0 = D5D

Links