Jump to content
IGNORED

IntyBasic Crowd Sound?


First Spear

Recommended Posts

How about offering an IntyBasic hook that calls the EXEC sound effect?

I think the EXEC uses a significant amount of the Intellivision RAM for it's own internal variables, and IntyBasic uses the a lot of the same RAM for its own internal variables, so running them both at the same time wouldn't work out.

 

Probably the best bet would be to figure out exactly what the Exec code does to make this sound effect, and then recreate it in a separate routine.

 

I did my own crowd sound in Paddle Party, but it was obviously different from the EXEC one...

Edited by catsfolly
Link to comment
Share on other sites

How about offering an IntyBasic hook that calls the EXEC sound effect?

 

EXEC sound effects and music are played by an interpreter internal to the EXEC that's part of the EXEC machinery. And, as catsfolly says above, that comes with a lot of RAM overhead that would interfere with IntyBASIC's use of the same memory.

 

You could, in principle, write your own interpreter and call it from the IntyBASIC ISR if you know how the EXEC's interpreter works. I'm not sure how that'd play with IntyBASIC's native sound generation facilities, or how much RAM it would require.

 

It's probably better just to write your own routine that mimics the original. catsfolly did his own, and I know Carl did his own for his sound engine.

  • Like 1
Link to comment
Share on other sites

I've seen you mention this before, and perhaps this is a topic for a different thread, but what do you mean when you say "interpreter"?

 

It brings to mind either a scripting language (like SCUMM) or a micro-code virtual machine (like the Z-Machine). Could you elaborate, please? I am very curious to know.

Link to comment
Share on other sites

I didn't knew the EXEC has pre-designed sound effects.

 

As said probably there would be a "crash" between EXEC variables and IntyBASIC variables.

 

The easiest solution would be if the emulator could record the values written to the PSG registers and then implement this routine in an IntyBASIC program.

Link to comment
Share on other sites

I'd be highly interested in some analysis/reproduction on the various common sound effects of the Mattel era. I've had little success replicating a lot of them with IntyBASIC, but a lot of that is just my plain unfamiliarity with digital sound generation. I didn't realize some were pre-programmed into the EXEC - it explains why some seem to be used so frequently.

The PSG seems to have a lot of flexibility, it's just hard to work one's way through a billion combinations to find out what makes a particular sound. I'd love to see how accurately it could replicate animal and machinery noises, for one thing.

Link to comment
Share on other sites

I've seen you mention this before, and perhaps this is a topic for a different thread, but what do you mean when you say "interpreter"?

 

It brings to mind either a scripting language (like SCUMM) or a micro-code virtual machine (like the Z-Machine). Could you elaborate, please? I am very curious to know.

 

From what I remember, it's a simple little byte code (decle code?) programming language with variables, test/branch, random numbers, etc. It's more code-dense than the equivalent in assembly language, as it is understood to be programming sound, and you don't need to put in any synchronization with the clock.

 

 

I didn't knew the EXEC has pre-designed sound effects.

 

The three main ones I know of off the top of my head are the keyclick "tink" sound, the RAZZ, and and the crowd cheer.

 

 

The easiest solution would be if the emulator could record the values written to the PSG registers and then implement this routine in an IntyBASIC program.

 

That's easy for static sounds like the 'tink' or the 'razz'. For the crowd cheer, if you really pay attention, no two "cheers" are identical. It's actually a small program.

 

 

I'd be highly interested in some analysis/reproduction on the various common sound effects of the Mattel era. I've had little success replicating a lot of them with IntyBASIC, but a lot of that is just my plain unfamiliarity with digital sound generation. I didn't realize some were pre-programmed into the EXEC - it explains why some seem to be used so frequently.

The PSG seems to have a lot of flexibility, it's just hard to work one's way through a billion combinations to find out what makes a particular sound. I'd love to see how accurately it could replicate animal and machinery noises, for one thing.

 

There's a lot of interesting interaction between tone and noise when you turn both on at the same time, due to the non-linear way in which they're mixed. Also, there are a lot of "ramps" (ie. varying the tone from low to high or vice versa) and arpeggios (quickly varying tones between a few alternatives).

 

Also, have you seen Ryan Kinnen's PSG Tinkerer? http://www.pixelkitchen.com/ryan/intellivision.html

  • Like 1
Link to comment
Share on other sites

Also, have you seen Ryan Kinnen's PSG Tinkerer? http://www.pixelkitchen.com/ryan/intellivision.html

 

I most certainly have not! And once again I have to hand out a big thanks. I've basically created crappy versions of my own but this looks (at first glance anyway) to be a bit more like what I'm wanting to mess with.

 

Man, we really need all these tools in a central place. I wish I still had a website.

Edited by freeweed
Link to comment
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...