daldude Posted September 17, 2014 Share Posted September 17, 2014 Why do all official non home brew Intellivision games except Bump 'n' Jump have that problem where any time a sound effect plays it will interrupt any music that is playing? I always hated it when a sound effect would intrupt the music in Thunder Castle especially the power up music that was real cool and showed off how awesome Intellivision's music was. DK Arcade doe not have this problem, you can get the hammer and still hear all the sound effects and on the elevators board it would play all the sound effect of Mario Walking the springs bouncing and falling and Mario jumping and even getting a bonus item without interrupting any of the other sounds. Even sound effects would interrupt each other, in He Man every time you fire the laser or drop a bomb you did not hear the sound of the of the Wind Raider engine.In Astrosmash every time you hit a rock it interrupts the sound of you gun firing but the spinners don't do this and their sounds are not even interrupted by the sound of a rock exploding. Skiing when you hit a flag it interrupts the sound of your guy sliding down the mountain for a quarter second,.Burger Time every time you walk over a bun it interrupts the music, Space Armada did not have the problem either it would play all sound effects without one interrupting another Space Patrol did not have this problem and it is another Home Brew and it even had 3 part musical harmony and was able to play all sound effects without interrupting any other sounds or the music. Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted September 17, 2014 Share Posted September 17, 2014 I'm no INTV expert (far from one!) but I think it comes down to there being too few a number of channels to play music with. Quote Link to comment Share on other sites More sharing options...
+nurmix Posted September 17, 2014 Share Posted September 17, 2014 It all comes down to voice usage and voice priority. The Intellivision can do 3 voices + noise. If you do more, one of the voices will drop out, and the new sound will take its place. Voices can be prioritized so you choose which will remain and which will go. Space Patrol took advantage of the ECS computer expansion module, which gave you 3 more voices + noise (because it had its own sound chip). Not sure without checking on DK, but most likely each sound used was only a single channel (like the hammer music), so nothing canceled out. Quote Link to comment Share on other sites More sharing options...
+DZ-Jay Posted September 17, 2014 Share Posted September 17, 2014 I believe part of the issue with the earlier Intellivision games is that the music sub-system of the EXEC, and the programming techniques to exploit it, weren't as sophisticated as in later games. Although you could program each channel individually, it was also possible to play music with a single "instrument" that used all three voices to shape the sound. I would imagine that the latter would be easier, and in most cases, more effective, since it sounded richer and more "musical" than the beeps and blips of playing a single square wave tone without modulation. Eventually, better techniques were developed to re-use and mix channels in complex ways. Keep in mind that home-brews now can take advantage of 30 years of collective experience in making not only Intellivision Games, but all video games in general. We know what works and what doesn't, and we know how to add that extra "polish" that makes a game shine. I can imagine that somewhere along those 30 years, it was recognised that cutting a sound so abruptly when another one played, wasn't acceptable any more. -dZ. 2 Quote Link to comment Share on other sites More sharing options...
intvnut Posted September 17, 2014 Share Posted September 17, 2014 (edited) It all comes down to voice usage and voice priority. The Intellivision can do 3 voices + noise. If you do more, one of the voices will drop out, and the new sound will take its place. Voices can be prioritized so you choose which will remain and which will go. Space Patrol took advantage of the ECS computer expansion module, which gave you 3 more voices + noise (because it had its own sound chip). Well, it also comes down to programming model more generally. dZ gives a pretty reasonable description of the EXEC-based games up above. Space Patrol has simultaneous SFX and music with or without the ECS attached. It uses a hybrid dynamic/static allocation scheme to ensure the music keeps playing and SFX sound reasonable in both configurations. During the main game, music gets channel A on the main PSG, drum track gets channel A on the ECS, and sound effects duke it out for the other channels. Certain sound effects (such as the 'slide whistle' alien sound, and the bass note of the tank's jump effect) are only allowed to play if the ECS is present, just so they don't swamp everything. Occasionally, SFX are allowed to take over the entire PSG (the tank dying sound effect, for example), and other times music is allowed to take over the entire PSG (the intro, interstitial and game over music bits, for example). There's more detail and the occasional funny comment in the source: http://spacepatrol.info/src/engine/sfxeng.asm http://spacepatrol.info/src/snd/sfx.asm My other game is a little more crude. All of the music and sound in that game were effectively "samples", stored as a sequence of PSG register values vs. time. Because I didn't need more than one sound effect at a time, but that sound effect could take 1 to 3 channels, I had a very simple priority scheme. I developed a MIDI to PSG tool to convert the music, allocating sound channels from A to C. I tried in software to identify what was melody vs. what was accompaniment to shift melody toward channel A. I wrote the sound effects manually, and used channels starting from C. I tried to keep the music down to 2 channels most of the time and sound effects down to 1 channel, with a few SFX taking over 2 or 3 channels. A simple priority scheme favored SFX over music on each channel, but, importantly, always kept time for the music. So, SFX could borrow channels, but it didn't otherwise disrupt the music. If you have a copy of that game, go to the sound test screen, start the title-screen music and mash various sound effects into it. The channel-borrowing behavior is much more noticeable than with the in-game music, as I didn't limit the title screen music's channel allocation. Expanding on what dZ said above: EXEC based music and sound effects is "single threaded.". You can play music, or you can play a single sound effect. You can't do both at the same time. The result is pretty awful when games try to make it work by 'pausing' the music to play sound effects. For example, I usually have to turn the volume down when playing Buzz Bombers because sound effects keep messing with the rhythm of the music, and a fast, even rhythm is what defines Flight of the Bumblebee. (If it muted the music and still kept time, it wouldn't be so bad.) I hated it so much, I made sure my games didn't have that issue. :-) Edited September 17, 2014 by intvnut 5 Quote Link to comment Share on other sites More sharing options...
catsfolly Posted September 17, 2014 Share Posted September 17, 2014 When we did Bump and Jump for the Atari 2600, we only had 2 sound channels available, and we wanted to play two channels of music and have sound effects. So we (we means Jeff Ratcliff, who actually wrote the sound routines) pretended that we had the two channels available for music all the time, and updated all the music position variables accordingly. When we had to make a sound effect, we would grab a sound channel and set a flag saying "Sorry this channel is in use". The music driver would compute all the values to send to the sound chip, but when it got time to write to the sound chip, it would check for the availability flag, and if the channel was in use it wouldn't write any values. The result was that the music always advanced properly, but if one or two sound effects were happening, you couldn't hear the music track. Most of the time, this created the illusion that the music was always playing, but the sound effects sometimes drowned it out. (We kept the sound effects loud and short to enhance this effect...) 10 Quote Link to comment Share on other sites More sharing options...
+DZ-Jay Posted September 18, 2014 Share Posted September 18, 2014 When we did Bump and Jump... [insert fantastic war story from the good old days here] I'm sorry, but this always gets to me. I find it extremely cool to have a BSR amongst our ranks. -dZ. 1 Quote Link to comment Share on other sites More sharing options...
+Lathe26 Posted September 18, 2014 Share Posted September 18, 2014 It is definitely cool. They are writing new software, reminiscing about the old games, and helping the new folks add to the Intellivision. Quote Link to comment Share on other sites More sharing options...
Muzz73 Posted September 20, 2014 Share Posted September 20, 2014 Bump 'n Jump... man, that takes me back! I also love seeing BSR posts on forums. It gets to me, too... when I first went to the BSR website and heard "Hello, Commander. Computer reporting.", I almost cried! Quote Link to comment Share on other sites More sharing options...
daldude Posted September 25, 2014 Author Share Posted September 25, 2014 (edited) Well, it also comes down to programming model more generally. dZ gives a pretty reasonable description of the EXEC-based games up above. Space Patrol has simultaneous SFX and music with or without the ECS attached. It uses a hybrid dynamic/static allocation scheme to ensure the music keeps playing and SFX sound reasonable in both configurations. During the main game, music gets channel A on the main PSG, drum track gets channel A on the ECS, and sound effects duke it out for the other channels. Certain sound effects (such as the 'slide whistle' alien sound, and the bass note of the tank's jump effect) are only allowed to play if the ECS is present, just so they don't swamp everything. Occasionally, SFX are allowed to take over the entire PSG (the tank dying sound effect, for example), and other times music is allowed to take over the entire PSG (the intro, interstitial and game over music bits, for example). There's more detail and the occasional funny comment in the source: http://spacepatrol.info/src/engine/sfxeng.asm http://spacepatrol.info/src/snd/sfx.asm My other game is a little more crude. All of the music and sound in that game were effectively "samples", stored as a sequence of PSG register values vs. time. Because I didn't need more than one sound effect at a time, but that sound effect could take 1 to 3 channels, I had a very simple priority scheme. I developed a MIDI to PSG tool to convert the music, allocating sound channels from A to C. I tried in software to identify what was melody vs. what was accompaniment to shift melody toward channel A. I wrote the sound effects manually, and used channels starting from C. I tried to keep the music down to 2 channels most of the time and sound effects down to 1 channel, with a few SFX taking over 2 or 3 channels. A simple priority scheme favored SFX over music on each channel, but, importantly, always kept time for the music. So, SFX could borrow channels, but it didn't otherwise disrupt the music. If you have a copy of that game, go to the sound test screen, start the title-screen music and mash various sound effects into it. The channel-borrowing behavior is much more noticeable than with the in-game music, as I didn't limit the title screen music's channel allocation. Expanding on what dZ said above: EXEC based music and sound effects is "single threaded.". You can play music, or you can play a single sound effect. You can't do both at the same time. The result is pretty awful when games try to make it work by 'pausing' the music to play sound effects. For example, I usually have to turn the volume down when playing Buzz Bombers because sound effects keep messing with the rhythm of the music, and a fast, even rhythm is what defines Flight of the Bumblebee. (If it muted the music and still kept time, it wouldn't be so bad.) I hated it so much, I made sure my games didn't have that issue. :-) What games have you made ? What game are you referring to when you say "My other game is a little more crude. All of the music and sound in that game" were effectively "samples", stored as a sequence of PSG register values vs. time."? and what game are you referring to when you say "If you have a copy of that game, go to the sound test screen, start the title-screen music and mash various sound effects into it."? Edited September 25, 2014 by daldude Quote Link to comment Share on other sites More sharing options...
pimpmaul69 Posted September 25, 2014 Share Posted September 25, 2014 What games have you made ? What game are you referring to when you say My other game is a little more crude. All of the music and sound in that game" were effectively "samples", stored as a sequence of PSG register values vs. time."? and what game are you referring to when you say :If you have a copy of that game, go to the sound test screen, start the title-screen music and mash various sound effects into it."? 4-tris Quote Link to comment Share on other sites More sharing options...
daldude Posted September 25, 2014 Author Share Posted September 25, 2014 What games have you made ? What game are you referring to when you say "My other game is a little more crude. All of the music and sound in that game" were effectively "samples", stored as a sequence of PSG register values vs. time."? and what game are you referring to when you say "If you have a copy of that game, go to the sound test screen, start the title-screen music and mash various sound effects into it."? Another Sound effect that only plays when the ECS is attached is the Buzz sound when you jump which is cool because that is what Moon Patrol does in the arcade I thought that was so cool that the game had such a detail to being as close to the game it was inspired to as it could get to even include what most people do not even notice about the game. By "Drum Track" I assume you mean the Percussion or Hi-Hat Cymbal part of the music? Quote Link to comment Share on other sites More sharing options...
intvnut Posted September 25, 2014 Share Posted September 25, 2014 Another Sound effect that only plays when the ECS is attached is the Buzz sound when you jump which is cool because that is what Moon Patrol does in the arcade I thought that was so cool that the game had such a detail to being as close to the game it was inspired to as it could get to even include what most people do not even notice about the game. By "Drum Track" I assume you mean the Percussion or Hi-Hat Cymbal part of the music? That's what I meant by the "bass note" portion of the the jump sound effect. And yes, by drum track, I mean the cymbal-like steady percussion track. The arcade machine has 2 PSGs and an ADPCM sound chip for the explosion sound effects. The Intellivision just has 2 PSGs. So, you can get pretty close sound-effect wise until the explosions show up. If you listen closely to the arcade machine, the explosions sound an awful lot like a sample of someone making an explosion sound with their mouth, distorted a bit. What games have you made ? I only have two cartridge releases of my own, but my work has been in several others to varying degrees. What game are you referring to when you say "My other game is a little more crude. All of the music and sound in that game" were effectively "samples", stored as a sequence of PSG register values vs. time."? My other game? I've developed a peculiar amnesia to it. It was so long ago, after all. Quote Link to comment Share on other sites More sharing options...
pimpmaul69 Posted September 25, 2014 Share Posted September 25, 2014 That's what I meant by the "bass note" portion of the the jump sound effect. And yes, by drum track, I mean the cymbal-like steady percussion track. The arcade machine has 2 PSGs and an ADPCM sound chip for the explosion sound effects. The Intellivision just has 2 PSGs. So, you can get pretty close sound-effect wise until the explosions show up. If you listen closely to the arcade machine, the explosions sound an awful lot like a sample of someone making an explosion sound with their mouth, distorted a bit. I only have two cartridge releases of my own, but my work has been in several others to varying degrees. My other game? I've developed a peculiar amnesia to it. It was so long ago, after all. the two things that i notice a difference in from the arcade is first the explosion as you stated. the second difference i notice in the game is jumping and shooting. When you jump you can only shoot up not forward. Not sure if the arcade even had stuff you could hit when you jumped and shot forward? I am assuming it is a system limitation. No complaints here as it is the only game i play every single day. One day i will finish beating one of these stupid planets. you did a great job on implementing the sounds and music. Love the music with the ecs enabled. Quote Link to comment Share on other sites More sharing options...
intvnut Posted September 25, 2014 Share Posted September 25, 2014 (edited) the two things that i notice a difference in from the arcade is first the explosion as you stated. the second difference i notice in the game is jumping and shooting. When you jump you can only shoot up not forward. Not sure if the arcade even had stuff you could hit when you jumped and shot forward? I am assuming it is a system limitation. No complaints here as it is the only game i play every single day. One day i will finish beating one of these stupid planets. you did a great job on implementing the sounds and music. Love the music with the ecs enabled. Yes, it's a system limitation. I don't have a way to display the bullet further off the ground, as the bullet is made from background cards, not sprites. Still, I made sure it didn't affect game play. You can actually shoot forward when you're off the ground by 1px, 2px or 3px, but not more than that. So, you can still fire forward when you're near enough to the ground to actually hit one of the rocks or space plants, even if your wheels aren't quite on the ground. This makes certain maneuvers a bit easier (such as firing as you jump over a crater, to clear a rock from the other side). Without that, you'd need to be 100% certain to launch the bullet off before you jumped, and that's maybe a bit much to ask. The relevant code for the curious. 32*4 means "more than 4px off the ground". Full function here: http://spacepatrol.info/src/engine/tank.asm MVI JHGT, R2 ; Are we jumping? CMPI #32*4, R2 ; BGE @@leave ; Yes: Don't fire. And I forgot I'd put a Wil Wheaton joke in the code... (Never mind that I botched the spelling.) MVO R0, HBDATA ; \ MVO R1, HBCNT ; |__ "Ensign, fire at Will!" MVO R2, HBROW ; | MVO R3, HBCOL1 ; / MVII #28, R1 MVO R1, HBCNT2 ; CLRR R0 MVO R0, HBKOS Edited September 25, 2014 by intvnut Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.