1942 - New Music! (v3.0)

minwah

Active member
Feedback
3 (100%)
Credits
238CR
I love 1942 but I can't stand the 'music'. Usually Capcom did great music so not sure what they were thinking with this one.

I was wondering if it be possible to disassemble the rom and replace the music with something else (eg pinched from another game with the same hardware)? Probably not easy and beyond me but just curious...

EDIT:

So for those who don't want to read through all the technical stuff, thanks to excellent info provided by cmonkey, I've essentially been able to put (a slightly cut down version of) the tune from the C64 version of 1942, into the arcade version.

Recordings...

v3.0: https://www.ukvac.com/forum/data/uploads/1536/1942-633-v3.zip

v2.0: https://www.ukvac.com/forum/data/uploads/1536/1942_v2.zip

v1.0: https://www.ukvac.com/forum/data/uploads/1536/1942_music.zip

To try this out, you will need to patch the sound rom, named sr-01.c11 (current Mame naming), or 1-c11.bin (older naming) with the patch contained in the following zipfile.

I used 'bsdiff' to create the patch and would recommend you use
'bspatch' to apply the patch. You should be able to find that with your
favourite search engine for your desired Windows, Mac OS and (I believe)
DOS.

v3.0: https://www.ukvac.com/forum/data/uploads/1536/sr-01-v3diff.zip

v2.0: https://www.ukvac.com/forum/data/uploads/1536/sr-01-v2diff.zip

v1.0: https://www.ukvac.com/forum/data/uploads/1536/sr-01diff.zip

If you find any problems, or have any comments please let me know.

Disclaimer: I'm not saying this is as good as the C64 sid tune as it's not. I don't know how to do anything more than play notes at different pitches/volumes/durations, and so there's none of the cool vibrato etc effects that the sid version does so wonderfully.
minwah2015-05-26 08:29:29
 

strykr

Active member
vacBacker
Feedback
11 (100%)
Credits
1,342CR
The sounds are so iconic in that game tho!
smiley3.gif
 

Sokurah

Newbie
Credits
72CR
When I bought my arcade cabinet it came with a 1942 board. Very first time I plugged it in I accidentally connected the Jamma connector the wrong way. Cue smoke and crackling sounds. Result: dead board. Very little amount of fun I got from that one.
smiley19.gif

...perhaps I did myself a favour though - with regards to the music anyway.
smiley2.gif
 

cmonkey

Active member
vacBacker
Feedback
4 (100%)
Credits
1,658CR
Many things are possible when you throw enough time and resource at them. However Commando tunes on 1942 wouldn't really be feasible as Commando uses 2 x YM2203 audio chips and 1942 uses 2 x AY-3-8910A audio chips. The YM chips contain 3 channels of FM audio each, whilst the AY chips don't have any FM channels. I believe the Commando tune uses all 6 channels of FM from both audio chips.

You could get an approximation of the Commando tune out of the 2 x AY chips on the 1942 board (after all, that's what they did when they ported Commando to Amstrad CPC, which has only 1 AY chip) but it wouldn't be great.

Best bet would be to pick an arcade board with 2 x AY chips (preferably clocked at the same speed as the 1942 AY chips) and tunes that you enjoy and then start think about the porting process. That way it'd sound roughly similar on 1942 hardware.
 

cosine

Active member
vacBacker
Feedback
14 (100%)
Credits
595CR
cmonkey said:
I'm not even aware of a bug which stops you getting extra lives! Please elaborate!
I'm guessing it's this:
  • An interesting bug : If you win an extra plane from points when
    killing a boss plane, no extra planes will be awarded on the basis of
    points. Extra planes can still be obtained by getting the Black/Red POW,
    but no point-based bonuses will be awarded for the rest of the game.
Found on the AO wiki
smiley1.gif
 

minwah

Active member
Feedback
3 (100%)
Credits
238CR
cmonkey said:
Best bet would be to pick an arcade board with 2 x AY chips (preferably clocked at the same speed as the 1942 AY chips) and tunes that you enjoy and then start think about the porting process. That way it'd sound roughly similar on 1942 hardware.

This is what I had in mind. Just to see what would happen I tried replacing the 1942 sound CPU rom in Mame with the one from Vulgus, and Exed Eyes. There is no music and the sounds don't exactly suit 1942, but the Exed Eyes rom in particular works quite well.

Ideally it would be nice to keep the 1942 sound effects and swap the music for something else. I think it would be possible to use Mame's debugger to find 'where' the music is?
 

shaunholley

Active member
Credits
270CR
@cmonkey look here http://www.twingalaxies.com/archive/index.php/t-128188.html

This is different form the one that cosine mentioned, but I'm not surprised that there is more than one.
 

cmonkey

Active member
vacBacker
Feedback
4 (100%)
Credits
1,658CR
minwah said:
Ideally it would be nice to keep the 1942 sound effects and swap the music for something else. I think it would be possible to use Mame's debugger to find 'where' the music is?

The master lookup table (32 little endian pointers) for all the musics and sound effects of 1942 is at $007a in the sound rom. The CPU passes a sound index value between 0 and $1f to the sound CPU through the latch @ $6000. The sound CPU polls address $6000 every interrupt to see if the main cpu wants it to play a tune/sound effect. If it does then the sound CPU jumps to the correct sound handler via an rst $30 call at $0079.

The addresses of the 32 sound effect/tune handlers are as follows :-

0 - $00ba (seems to be used to kill all 3 channels of the AY chip)

1 - $045b (sound effect)

2 - $0464 (sound effect)

3 - $046c (sound effect)

4 - $0474 (sound effect)

5 - $047c (sound effect)

6 - $0484 (sound effect)

7 - $048c (sound effect/maybe done by the AY?)

8 - $0494 (AY tune)

9 - $049c (sound effect)

A - $04a4 (sound effect)

B - $04ac (seems to be used to kill a single channel of the AY chip)

C - $04b5 (sound effect)

D - $04bd (sound effect)

E - $04c5 (sound effect)

F - $04cd (seems to be used to kill a single channel of the AY chip)

10 - $00d3 (probably used to kill analog sounds)

11 - $1076 (tune)

12 - $1115 (AY tune)

13 - $11c5 (AY tune)

14 - $134d (AY tune)

15 - $14a9 (AY tune)

16 - $140f (AY tune)

17 - $18a6 (AY tune)

18 - $1756 (AY tune)

19 - $1820 (AY tune)

1A - $15f6 (AY tune)

1B - $04d6 (AY tune)

1C - $00d3 (as above)

1D - $00d3 (as above)

1E - $00d3 (as above

1F - $1034 (AY tune)

So, now you know the addresses of the various sound handlers it's simply a case of studying the routines and the AY tune format and you're halfway there.
smiley2.gif


Luckily there's about 2.6Kb of unused rom space in the sound rom, plenty enough to insert a new tune. All you have to do then is adjust a pointer to point to the new tune data and you're done.
 

cmonkey

Active member
vacBacker
Feedback
4 (100%)
Credits
1,658CR
shaunholley said:
@cmonkey look here http://www.twingalaxies.com/archive/index.php/t-128188.html

This is different form the one that cosine mentioned, but I'm not surprised that there is more than one.

Lives are at $e101

Score is the 6 bytes from $e048 to $e04d

Armed with that knowledge it should be simple for someone (not me, too busy!) to reverse the extra lives logic in the game engine and figure out the bug.
 

ben76

Hunts Spies
Feedback
7 (100%)
Credits
1,136CR
cmonkey said:
....SNIP....that's what they did when they ported Commando to Amstrad CPC, which has only 1 AY chip) but it wouldn't be great....SNIP....
That's because the CPC was sh*t... unless you were an Oliver twin
smiley2.gif


- Ben
smiley36.gif
 

david_orton_2000

Green Mario
vacBacker
Feedback
8 (100%)
Credits
341CR
Nice....

Nice debug Cmonkey, indeed, with all that info should be enough for someone with time to hack in a better tune...damn "wistle" track is crap...oddly, love the game and the very first one I got running in Mame early days when I compiled it on Unix (Solaris) around '96-97... ;-)

Cheers,
DaveO.
 

maskeddev

Active member
Feedback
5 (100%)
Credits
88CR
Whenever discussion arises concerning great music from games, I think of so many legendary titles on the Amiga. How could I forget 1942 all those times?!


smiley2.gif
 
Top