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

From Video Game Music Preservation Foundation Wiki
Jump to: navigation, search
m (Release History)
Line 3: Line 3:
 
| Released    = 1988-08-06
 
| Released    = 1988-08-06
 
| Programmers  = [[Michiharu Hasuya]]
 
| Programmers  = [[Michiharu Hasuya]]
| Language    = Unknown
+
| Language    = 6502 Assembly
| Formats      = [[NSF]]
+
| Formats      = Unknown
 
}}
 
}}
  
Line 94: Line 94:
  
 
==Technical==
 
==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]].
 +
 
===Frequency Registers===
 
===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.)
 
(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.)

Revision as of 18:56, 5 February 2015

Sound Routine 4 Gou
Released 1988-08-06
Programmers Michiharu Hasuya
Language 6502 Assembly
Formats Unknown

Sound Routine 4 Gou (サウンドルーチン4ごう) (English: Sound Routine Version 4) is 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 comes from the credits of Circus Caper (NES). The program's source code has not been released, but can probably be reverse engineered from the various games it was used in.

Michiharu Hasuya is assumed to have programmed the sound driver because the similarities the driver has to his earlier sound driver that he used at Tecmo and Vic Tokai. According to Hasuya, he had to write his music in assembly, so it is assumed that is how the driver is used.

Release History

The first known game developed by Advance Communication to use the driver was Patlabor The Mobile Police for the Famicom Disk System. 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 versions of the sound driver; one tuned at approximately 449.2 Hz and the other tuned at approximately 440.4 Hz.

Games

Released

Title

Sample

1988-03-17 Tsuri Kichi Sanpei Blue Marlin Hen (FC) (釣りキチ三平 ブルーマーリン編)
1988-08-26 Ys (FC) (イース)
1988-12-17 Cycle Race Road Man (FC) (サイクルレース ロードマン)
1989-01-24 Kidou Keisatsu Patlabor (FDS)
1989-02-23 Tama & Friends: 3 Choume Daibouken (FDS) (3丁目大冒険)
1989-07-25 Oishinbo: Kyukyoku no Menu 3bon Syoubu (FC) (美味しんぼ 究極のメニュー三本勝負)
1989-08-08 Circus Caper (NES) (燃える!お兄さん)
1989-12-08 Seirei Gari (FC) (聖霊狩り)
1990-03-23 Sansara Naga (FC) (サンサーラ・ナーガ)
1990-04-?? Dynowarz: The Destruction of Spondylus (NES)
1990-05-25 Ys II (FC) (イースⅡ)
1990-11-10 Last Armageddon (FC) (ラストハルマゲドン)
1991-02-22 Niji no Silk Road (FC) (虹のシルクロード)
1991-03-15 Fushigi Umi no Nadia (FC) (ふしぎ海のナディア)
1991-07-31 Otaku no Seiza: An Adventure in the Otaku Galaxy (FC) (おたくの星座)
1991-09-27 Ys III: Wanderers from Ys (FC) (イースⅢ)
1991-11-15 Shounen Ashibe: Nepal Daibouken no Maki (FC) (少年アシベ ネパール大冒険の巻)

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.

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.)

Old Version

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

New Version

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

Addresses

Here are the ROM addresses for each game that uses the sound driver where the frequency registers can be located:

Circus Caper = $0104E3 - $0105DA

Fushigi no Umi no Nadia = $0728 - $081F

Last Armageddon = ???

Niji no Silk Road = $01C4E3 - $1C5DA

Oishinbo = $04E3 - $05DA

Otaku no Seiza = $07A8 - $089F

Sansara Naga = $04E3 - $05DA

Seirei Gari = $0204E3 - $0205DA

Ys = $0184CF - $0185C6

Ys II = $04E3 - $05DA

Ys III = $C7B8 - $C8AF