Jump to content
Milli Vee

NES and CV Sequencer

Recommended Posts

Hi all I came across the program mentioned in the title above via google written by parkfun101 and have downloaded it and it seems to be what I am looking for just there is no documentation that explains how to use the sound code that it generates. Here is a very rough snippet below. Does anyone have any ASM source that shows this being used? Is it just raw data for the sound chip or is it data to be used by CV's PLAY routine? I need ASM source but a description of the format may be enough or even a well commented C code showing how to use it. Any help is welcome.
 

.db 0x40,0xFE,0x30,6
.db 0x40,0x01,0x30,6 ;BLANK Note
.db 0x40,0x0D,0x31,6
.db 0x40,0x40,0x31,6
.db 0x40,0x40,0x31,6
.db 0x40,0x01,0x30,6 ;BLANK Note
.db 0x40,0x01,0x30,6 ;BLANK Note
.db 0x40,0x2E,0x31,6
.db 0x40,0x01,0x30,6 ;BLANK Note
.db 0x40,0x01,0x30,6 ;BLANK Note
.db 0x40,0x1D,0x31,6
.db 0x40,0x0D,0x31,6
.db 0x40,0x01,0x30,6 ;BLANK Note
.db 0x40,0x01,0x30,6 ;BLANK Note
.db 0x40,0x01,0x30,6 ;BLANK Note
.db 0x40,0x01,0x30,6 ;BLANK Note
.db 0x40,0x40,0x31,6
.db 0x40,0x94,0x31,6
.db 0x40,0x01,0x30,6 ;BLANK Note
.db 0x40,0x01,0x30,6 ;BLANK Note
.db 0x40,0x94,0x31,6
.db 0x40,0x01,0x30,6 ;BLANK Note
.db 0x40,0x67,0x31,6
.db 0x40,0x01,0x30,6 ;BLANK Note
.db 0x40,0x40,0x31,6
.db 0x40,0x01,0x30,6 ;BLANK Note
.db 0x40,0x1D,0x31,6
.db 0x90

 

Share this post


Link to post
Share on other sites

Should be use with cv play sound routine.  Keep in mind the .db 0x90(Stops sound channel 2), should be .db 0x50(Stops sound channel 1), so it terminate the sound on that channel. Or the sound routine will go off to the weed wreak havoc on your game.  What I learn later in my Colecovision programming years, That a blank note for "0x40,0x01,0x30,6" is a single 0x66(no sound for 6 frames on channel 1.). Blank note on channel 1 can be 0x60-0x7F. Channel 2 would be 0xb0-0xcf. etc.  So 3 bytes saved. 

Share this post


Link to post
Share on other sites

Yep I agree looks to be in the native format for the BIOS sound routines.  They work quite well, for the amount of memory and cycles it uses. I manage to squeeze Cavern Fighter into stock Colecovision by reducing the buffers the sound routines use.

Share this post


Link to post
Share on other sites

Hi Milli Vee,

Here's a short demo video of the Midi Sequencer being used.  You'll probably need to pause the video to see the C coding portion.

 

NES and CV Sequencer demo:

https://youtu.be/1ofV3y2DSUE

 

Parkun101  😃

 

P.S. I haven't forgotten about the Colecovision GameCodeHelper program, just a lot of bad life events have slowed things down.  Here's a video of an early version of that as well. In the 2min, 33sec video, I create 3 different playable Colecovision games real time.  The goal of this application is to give developers a huge start on games rather than having to start from scratch each time.  The CV code is template based.  No downloadable program yet, still in progress.

 

GameCodeHelper demo:

https://youtu.be/kdZ8JbOCLIk

 

Share this post


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

Hi Milli Vee,

Here's a short demo video of the Midi Sequencer being used.  You'll probably need to pause the video to see the C coding portion.

 

NES and CV Sequencer demo:

https://youtu.be/1ofV3y2DSUE

 

Parkun101  😃

 

P.S. I haven't forgotten about the Colecovision GameCodeHelper program, just a lot of bad life events have slowed things down.  Here's a video of an early version of that as well. In the 2min, 33sec video, I create 3 different playable Colecovision games real time.  The goal of this application is to give developers a huge start on games rather than having to start from scratch each time.  The CV code is template based.  No downloadable program yet, still in progress.

 

GameCodeHelper demo:

https://youtu.be/kdZ8JbOCLIk

 

Thanks - didn't see any actual code that uses the sounds made but I have been figuring things out and rolling my own sound player for CCR. You may ask why, well cause it has to handle SGM also so instead of using CV routines AND a SGM routine its better to have one that does both :)

 

Share this post


Link to post
Share on other sites
Posted (edited)
13 hours ago, Milli Vee said:

Thanks - didn't see any actual code that uses the sounds made but I have been figuring things out and rolling my own sound player for CCR. You may ask why, well cause it has to handle SGM also so instead of using CV routines AND a SGM routine its better to have one that does both :)

 

My compression/playback routines can also handle both, but there's a lot to take in. Mine is mostly aimed at conversion of audio rather than creation, though any tracker that outputs VGM can be used. https://github.com/tursilion/vgmcomp2

 

There's a sample in this folder using both chips at once: https://github.com/tursilion/vgmcomp2/tree/master/Players/Samples/ColecoSNAY

 

(Direct link to the ROM file: https://github.com/tursilion/vgmcomp2/blob/master/Players/Samples/ColecoSNAY/playerSNAY.rom?raw=true )

 

(I should probably add that my routines treat the AY as just another SN with extended audio, and don't use the envelope feature.)

 

 

Edited by Tursi
  • Like 1

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