Jump to content

Recommended Posts

Does anyone have the source code for these 2 ROMS:
 

Sound FX - Vol. 1 (2000) (Daniel Bienvenu-NewColeco) (Demo).rom

Sound FX - Vol. 2 (2000) (Daniel Bienvenu-NewColeco) (Demo).rom

 

Available in the archive at: http://adamarchive.org/archive/Unsorted/Roms/

 

I am looking at the sound effects and want to tinker with them and it would be nice to have the original data for the effects to start with instead of trying to figure it out from scratch. If not the source code for these then maybe some data for similar effects on the CV?

 

Share this post


Link to post
Share on other sites

You have a tool from Amy Bienvenu  called  CVBanks.  It regroups lot of sound effects extracted from varios CV Games and you can see the sound data and re-use them.

 

If you search for CVBanks on that forums i think you will find it.

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
On 8/13/2021 at 1:43 PM, youki said:

You have a tool from Amy Bienvenu  called  CVBanks.  It regroups lot of sound effects extracted from varios CV Games and you can see the sound data and re-use them.

 

If you search for CVBanks on that forums i think you will find it.

Thanks I downloaded and looked at them. Without instructions on how they are used they are just a bunch of numbers unfortunately. I know somewhere someone has written down instructions on how to do sounds on the CV but I have not been able to find that - all the suggestions I have been given just point to a dead end or some code that is not commented. Anywho I will have to figure these out for myself :)

 

 

Share this post


Link to post
Share on other sites

It uses the format of colecovision Sound routine in the BIOS.   All is documented here:

http://adamarchive.org/archive/ColecoVision/Programming/ColecoVision Coding Guide.pdf

 

Here an exemple of how sound work.  you need to define a sound table that references your sound effect in Coleco BIOS format. (the one you see in CVBank for instance)

 

; sounds.s

    .module sounds
    
    ; global from this code
    .globl  _snd_table

    
    .area _CODE

; ATTACK!
attack:
.db 0x00,0x00,0x85,0x02
.db 0x00,0x00,0x36,0x03
.db 0x00,0x00,0x75,0x03
.db 0x00,0x00,0x54,0x02
.db 0x00,0x00,0xA5,0x03
.db 0x10

; HIT!
hit:
.db 0x02,0x75,0x03,0xd3,0x21
.db 0x00,0x00,0x06,0x02
.db 0x02,0x25,0x04,0x14,0x11
.db 0x02,0x74,0x05,0x15,0x11
.db 0x10
    
_snd_table:
    .dw    #attack,0x702b   ; = 1
    .dw    #hit,0x702b+10      ; = 2

 

 

then you have to init the sndtable in your program  and call the BIOS routine  PLAY_IT  (address : 0x1ff1)  passing the sound fx number 0x1 or 0x2 in my example above.

I use mainly C , i don't have example to give you in ASM.

 

Share this post


Link to post
Share on other sites
10 minutes ago, youki said:

It uses the format of colecovision Sound routine in the BIOS.   All is documented here:

http://adamarchive.org/archive/ColecoVision/Programming/ColecoVision Coding Guide.pdf

 

Here an exemple of how sound work.  you need to define a sound table that references your sound effect in Coleco BIOS format. (the one you see in CVBank for instance)

 

; sounds.s

    .module sounds
    
    ; global from this code
    .globl  _snd_table

    
    .area _CODE

; ATTACK!
attack:
.db 0x00,0x00,0x85,0x02
.db 0x00,0x00,0x36,0x03
.db 0x00,0x00,0x75,0x03
.db 0x00,0x00,0x54,0x02
.db 0x00,0x00,0xA5,0x03
.db 0x10

; HIT!
hit:
.db 0x02,0x75,0x03,0xd3,0x21
.db 0x00,0x00,0x06,0x02
.db 0x02,0x25,0x04,0x14,0x11
.db 0x02,0x74,0x05,0x15,0x11
.db 0x10
    
_snd_table:
    .dw    #attack,0x702b   ; = 1
    .dw    #hit,0x702b+10      ; = 2

 

 

then you have to init the sndtable in your program  and call the BIOS routine  PLAY_IT  (address : 0x1ff1)  passing the sound fx number 0x1 or 0x2 in my example above.

I use mainly C , i don't have example to give you in ASM.

 

I have the manual - but what you just did there explains it much more than any manual does - I can follow the code a lot easier than I can when a manual or a write up just uses the technical terms with out an explanation. For a simple example - the manual and other text I have read never seem to tell me what the sound table looks like and you did it in 3 lines. Thank you!

Share this post


Link to post
Share on other sites

This is what the sound table looks like in C. I assume 0x702b = SOUNDAREA1, 0x702b+10 is SOUNDAREA2
 

const sound_t snd_table[] = {
{snd_drumbeat1,SOUNDAREA1},
{snd_explodedeath,SOUNDAREA4},
{snd_hurt2,SOUNDAREA5},
{snd_smash,SOUNDAREA4},
{snd_smash2,SOUNDAREA5},//5
{snd_explodedeathnoise,SOUNDAREA5},
{snd_pointcnt,SOUNDAREA4},
{snd_cannon,SOUNDAREA4},//8
{snd_cutterpu,SOUNDAREA4},
{snd_music1,SOUNDAREA2},//10
{snd_drumbeat2,SOUNDAREA1},
{snd_blockmove,SOUNDAREA4},//12
{snd_blockmovenoise,SOUNDAREA5},
{snd_cutterhit,SOUNDAREA4},
{snd_cutterhitnoise,SOUNDAREA5},//15
{snd_cuttertoss,SOUNDAREA4},//16
{snd_hitceiling,SOUNDAREA4},
{snd_hitceilingnoise,SOUNDAREA5},//18
{snd_music2,SOUNDAREA2},//19
{snd_bossbeat,SOUNDAREA1},//20
{snd_bossmusic,SOUNDAREA2},//21
{snd_music3b,SOUNDAREA1},//22
{snd_music3,SOUNDAREA2},//23
{snd_music4b,SOUNDAREA1},//24
{snd_music4,SOUNDAREA2}//25
};

SOUNDAREA1 is the lowest priority.  I usually reserve SOUNDAREA1-SOUNDAREA4 for the music, SOUNDAREA5 and SOUNDAREA6 for the sound effect.  Noise and tone 3 are paired, so 2 play_sound(); command is needed to play together.  It will play to the end of the sound effect, unless you invoke stop_sound() command. So something like machine gun would need stop_sound();play_sound(); will give it a rapid shot instead of having it play to the end of the sound data table. The very first sound effect entry has to be SOUNDAREA1.  There is a maximum of 60 sound effect in the table. 

I initialize the sound table in the very first line of my C code, set_snd_table(snd_table);

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