Jump to content
PacManPlus

Re-visiting Defender...

Recommended Posts

2 hours ago, DrVenkman said:

Holy crap. I was wearing headphones when I listened to those - instant nostalgia! Right back to 1980-something and playing a real Defender cab as a teenager. 😮

This👍

 giphy.gif

  • Like 3

Share this post


Link to post
Share on other sites
12 minutes ago, RevEng said:

:lol: Yep, it's arcade perfect.

I really need to get with my buddy who has all the woodworking tools and build myself a MAME cab - he's also an audio nerd (shocker!) so if I do it, it'll end up with a big honking subwoofer and set of mid-ranges and tweeters, all powered by a dedicated audio amp. Defender will sound gut-rumbling.

  • Like 4

Share this post


Link to post
Share on other sites

Hey Guys!  Thank you for the comments:

 

On 12/31/2021 at 11:04 AM, Goochman said:

Yak visits here sometimes - wonder if he has some ideas or could pass a question to Jarvis for you?

@Yak was on last week; hopefully he'll be able to help.  Thank you.

On 1/1/2022 at 1:11 AM, Inky said:

Let me see if I can drum up his contact info.  I used to have it.

Awesome!  I would really appreciate it!

Thank you both, @Goochman and @Inky!

 

19 hours ago, ZylonBane said:

Ahem...

https://github.com/mwenge/defender/tree/master/src

 

So are you planning on replicating the original's monophonic sound? Going monophonic might allow richer sound effects by using both TIA channels to construct each sound.

@ZylonBane, I plan on trying to get this as close to the Arcade version as possible, as I always do. They have a good system of what sounds 'override' a currently playing sound...  I think the Pokey is almost mandatory for this one.

 

15 hours ago, RevEng said:

Speaking of Defender sound, I'll just leave this here...

 

http://www.dl.unospace.net/defender_sound/

@RevEng Hoy Crap!  That sounds identical to the arcade!  What chip was that done with?

 

On 12/31/2021 at 2:25 PM, Synthpopalooza said:

Out of curiosity, will sounds be done using POKEY or TIA?  Got a few ideas on how to get that opening rumble filter sweep in POKEY

@Synthpopalooza I have a feeling this one is going to Require a Pokey...  Depending on the answer just above this one. :)

 

Thanks guys!

Bob

  • Like 1

Share this post


Link to post
Share on other sites
20 minutes ago, PacManPlus said:

@RevEng Hoy Crap!  That sounds identical to the arcade!  What chip was that done with?

Pretty sure it's just a high level simulation of the Williams sound code.

 

Defender, Robotron, and Joust all use the same sound hardware, which is pretty much just a 6800 CPU connected to an 8-bit DAC. (more details here) Their sound algorithm (which is in the repo ZylonBane linked) is called with certain parameters to create all of the sounds. If you take a look at that interactive sound simulation I linked earlier, you can import/export, which I believe just lists the same parameters.

 

It would be a bigger lift, but technically the same algorithm could be made to run directly on hokey.

 

Not sure how accurate it is, but there's a higher level reimplementation of the sound code here. (he's called it out as Robotron, but I'm pretty sure it's the same algorithm in Defender, just the sounds are using different parameters.)

  • Like 2

Share this post


Link to post
Share on other sites
7 minutes ago, Synthpopalooza said:

Well if needed, give me a holler.  I have the opening bass sweep finished already.

Maybe send some test files to @batari too, once you're happy with them. It would be *great* if this could be a HOKEY cart from the Store. :)

  • Like 7

Share this post


Link to post
Share on other sites
57 minutes ago, DrVenkman said:

It would be *great* if this could be a HOKEY cart from the Store. :)

Yes!!!

  • Like 3

Share this post


Link to post
Share on other sites
5 hours ago, RevEng said:

Pretty sure it's just a high level simulation of the Williams sound code.

 

Defender, Robotron, and Joust all use the same sound hardware, which is pretty much just a 6800 CPU connected to an 8-bit DAC. (more details here) Their sound algorithm (which is in the repo ZylonBane linked) is called with certain parameters to create all of the sounds. If you take a look at that interactive sound simulation I linked earlier, you can import/export, which I believe just lists the same parameters.

 

It would be a bigger lift, but technically the same algorithm could be made to run directly on hokey.

 

Not sure how accurate it is, but there's a higher level reimplementation of the sound code here. (he's called it out as Robotron, but I'm pretty sure it's the same algorithm in Defender, just the sounds are using different parameters.)

I think the same sound hardware was also used for some Williams pinball machines. 

  • Like 2

Share this post


Link to post
Share on other sites
5 hours ago, PacManPlus said:

I think the Pokey is almost mandatory for this one.

Why do you say that? Since Defender only ever plays literally one sound at a time, and the sounds are all just various white noise effects and abstract bleeps, I'd think TIA would be up to it. The 2600 version of Defender II sounded pretty decent, though certainly with room for improvement.

  • Like 4

Share this post


Link to post
Share on other sites

or add a mini Defender sound board.🙂

  • Like 1

Share this post


Link to post
Share on other sites
23 hours ago, DrVenkman said:

Holy crap. I was wearing headphones when I listened to those - instant nostalgia! Right back to 1980-something and playing a real Defender cab as a teenager. 😮

Must have to use a "computer" to listen

 Never worked on my phone.. 

Share this post


Link to post
Share on other sites
37 minutes ago, Jinks said:

Must have to use a "computer" to listen

 Never worked on my phone.. 

Maybe you need to upgrade your “phone” … worked fine on mine. :) 

 

 

7CFC6FD7-06D1-40B1-A53E-3B7BD8E06092.png

  • Like 1

Share this post


Link to post
Share on other sites
11 hours ago, ZylonBane said:

Why do you say that? Since Defender only ever plays literally one sound at a time, and the sounds are all just various white noise effects and abstract bleeps, I'd think TIA would be up to it. The 2600 version of Defender II sounded pretty decent, though certainly with room for improvement.

 

Some of the sounds almost have a 'speaking' tone to them; like the 'beginning game' sound, or the 'humanoid abduction' sound, something I would think would be difficult with the TIA.

 

However, it is true that I thought we would never get close to sounds from Pac-Man/Ms. Pac-Man with the TIA...  But I found that doing the sounds one frame at a time in the "Pac-Man Collection 40th" edition, we got closer than we could ever imagined.  (Thanks to @DINTAR816 in his 2600 Pac-Man for providing proof that it was possible)

 

Also, I trust your instincts.  If you believe that we can get as close with TIA for Defender as I did with PMC-40th, it's definitely worth a try.

  • Like 5

Share this post


Link to post
Share on other sites

I'd say the biggest challenge with authentic-sounding Defender FX is that many of the effects use fast pitch glides. When you try to reproduce those at only 60Hz, they come across very "bloopy". The Atari 8-bit and 7800 versions of Robotron demonstrate this problem. But even updating every scan line, the crap frequency resolution of TIA might mean that it's impossible for those glides to sound right. So... maybe a need for POKEY after all, just for the frequency resolution? Or maybe not. If you dedicated both audio channels to each sound effect, and updated multiple times per frame, you could probably get some novel sounds out of TIA. Maybe use some tremolo to fake the missing frequency res.

  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, ZylonBane said:

I'd say the biggest challenge with authentic-sounding Defender FX is that many of the effects use fast pitch glides. When you try to reproduce those at only 60Hz, they come across very "bloopy". The Atari 8-bit and 7800 versions of Robotron demonstrate this problem. But even updating every scan line, the crap frequency resolution of TIA might mean that it's impossible for those glides to sound right. So... maybe a need for POKEY after all, just for the frequency resolution? Or maybe not. If you dedicated both audio channels to each sound effect, and updated multiple times per frame, you could probably get some novel sounds out of TIA. Maybe use some tremolo to fake the missing frequency res.

Updating every scan line would be way too fast for a frequency sweep (and is tough to do on the 7800 since you don't know when MARIA is doing DMA). With 20 lines of VBLANK and 8-line zones, 600 Hz seems like the upper limit.

 

But I'm pretty sure TIA at 60 Hz can at least most of Defender's sweeps. I have something very similar to the Defender shot sound in 7ix for the spawn sound. I use distortion 8, update at 30 Hz initially, gradually slowing down.

 

In general, Defender's sounds have some similarity to Qix's (which not surprisingly uses similar hardware in the arcade version).

 

Robotron, if you're talking about the new-level sounds, I'm pretty sure that's much less than 60 Hz. Sounds more like 10 Hz to me.

 

The "speaking" tones Bob mentioned are a different matter. I doubt POKEY can do those completely accurately either, though I am eager to hear what Synthpopalooza comes up with. Maybe AtariVox could do something interesting here. I've considered that for 7ix too, but not really investigated it yet.

  • Like 2

Share this post


Link to post
Share on other sites

For the opening bass buzz, all 4 channels of POKEY in a mega filter.  The filter will also come in handy for the humanoid kidnap sound.

  • Like 2

Share this post


Link to post
Share on other sites

Opening buzz done.

 

Settings:

 

AUDCTL=$7A

00 - silent

01 - $Ax square

02 and 03 - silent

 

This makes a huge 4 channel mega 64-bit filter to get that attenuated sweep.  If you want, set channel 3 to an $Ax value and you can add some low end to it.

 

Emulation issues:  Plays perfectly with A7800 so use that please.

defender-sweep1.A78 defender-sweep1.asm defender-sweep1.bin defender-sweep1-450.A78 defender-sweep1-450.asm defender-sweep1-450.bin

  • Like 5

Share this post


Link to post
Share on other sites

Second sweep, after you press start.

 

Same settings as above.

 

This might need a bit of tweaking to get that vocal timbre to it, maybe.

 

defender-sweep2-450.A78 defender-sweep2-450.asm defender-sweep2-450.bin defender-sweep2-4000.A78 defender-sweep2-4000.asm defender-sweep2-4000.bin

Edited by Synthpopalooza
  • Like 3

Share this post


Link to post
Share on other sites

Can someone point me to wav recordings of the arcade sound fx please?  I also noticed that all sounds seem to share one channel.  This is good, as we can stack POKEY filters in as many different ways as needed, even using all 4 channels for one sound if we so choose. :)

  • Like 1

Share this post


Link to post
Share on other sites
21 hours ago, DrVenkman said:

Maybe you need to upgrade your “phone” … worked fine on mine. :) 

 

 

7CFC6FD7-06D1-40B1-A53E-3B7BD8E06092.png

I probably do not know what to click on. I am sure any phone can play a simple sound file. You think I am using a flip phone? I get the latest and greatest every 2 to 3 years like everyone else I know for the last 15 years.  

 

Edited by Jinks

Share this post


Link to post
Share on other sites
3 hours ago, Pat Brady said:

Updating every scan line would be way too fast for a frequency sweep

Yeah, I know. I was using that as an extreme example.

Quote

Robotron, if you're talking about the new-level sounds, I'm pretty sure that's much less than 60 Hz. Sounds more like 10 Hz to me.

I'm talking about how often the sound changes, not the pitch frequency. Robotron's sound hardware/software generates 894750 samples per second, which means it can, and does, produce extremely smooth and fast pitch glides that an Atari game, only updating the sound registers 60 times per second in the VBLANK, simply can't match.

  • Like 1

Share this post


Link to post
Share on other sites

The key to this:

 

Set up two 16-bit channels in POKEY.  AUDCTL=$7A.  Silence all but 2nd channel.   First two are the actual 16-bit frequency.  Second two are the filter frequency.  Use my 16-bit note tables in either $Ax or $Cx distortion, then in the second 16-bit channel, play with the filter frequency.  Certain settings will get you that ramping pulse effect of the arcade version.  The vocal fx are possible here too 

Edited by Synthpopalooza
  • Like 2

Share this post


Link to post
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...