Jump to content
IGNORED

Using the Intellivision as a musical instrument


atari2600land

Recommended Posts

  • 3 weeks later...

I have been waiting/drooling over the prospect of a 2014 release of Arnauld's tool. I know he's busy... But here's hoping that something that converts MODs to music, or MODs to IntyBASIC sequences, sees a winter 2015 release. :)

 

 

Are you using Arnauld's tracker, or are you doing this in IntyBASIC, or something else?

 

I recall Arnauld saying he'd written a crude MOD => ASM converter (if I recall correctly), so you could use a MOD editor to author music, constraining yourself to 3 out of the 4 channels, generate an ASM from that, and then use a version of his tracker library. I think he may have used a flow like that for his Spirit demo.

 

I've been meaning to get a hold of him about that flow. I've found myself [snip]

Link to comment
Share on other sites

  • 2 weeks later...

Attached is a link to "Christmas Carols" by John Henry Software for the Commodore 64...

 

VILtgMf.jpg

 

...I stumbled across this on youtube and wondered if it would be possible to do something similar on the Intellivision?

I know nothing about Inty programming myself, I just thought this was pretty fun and that perhaps someone here would be inspired to do

a Intellivision ROM version with one or more songs for next year? ;-)

 

A fun project or :sleep: ? ;)

 

https://www.youtube.com/watch?v=Sw26_8eLU54

 

2tdbo9A.jpg

 

Link to comment
Share on other sites

Although it is certainly possible, it would not have as much detail and the musical pieces would not be as sophisticated as in the C=64. It would be very hard, also. It would be a great project, though.

 

I've been toying with the idea of producing something similar for Christmas since 2010, but haven't had a chance to do anything about it. Hopefully, once I complete my game development framework, it'll help to make these sort of projects easier.

 

All that said, why not pick up IntyBASIC and give it a shot yourself? There's plenty of people who would help you, if you put in some effort. :)

 

-dZ.

Link to comment
Share on other sites

Given sheet music, I've been able to make some pretty good tunes with IntyBASIC. The PSG isn't anywhere near as awful sounding once you get into playing with it - it just takes a lot of ROM space to hold music, which is one big reason why we didn't see much in the early days.

 

The graphics won't hold a candle to the C64, but the lyric stuff is easily doable. Just have to sync it with the music manually.

  • Like 2
Link to comment
Share on other sites

  • 3 weeks later...

I will absolutely try IntyBasic at some point, but my programming skills are limited to some extremely simple programming in BASIC 7.0 on my Commodore 128D back in the day.

 

Sure hope that you can put a little Christmas demo together for X-Mas 2015. That would be nice. :)

 

As for the graphics compared to the C64, I am fully aware that it won´t hold a candle to that, but I think the Intys graphic capabilities are quite good.

For example the start screen from Christmas Carol looks really nice and something like that or that exact screen could be used?

The "Christmas Carols" was of course just intended to be a little inspiration. Here is another one I think is fun. (It´s only a 2 minute demo.)

 

Anyways, I do not have the ECS and Music Synthesizer but could the synth be used when doing music scores or would that require the unreleased Melody Maker and Music Conductor?
I read somewhere that they were on Intellivision Lives! and Rocks! but I have not looked into it. In any case, if those programs are available, could they be of some use here?

 

(I am a complete rookie so sorry if I ask stupid questions, but I do love "8-bit" music and sounds.)

 

It would be fun to see some musician or band use the Inty and/or Music Synthesizer. ;-)

 

It is perhaps not that far fetched:

 

"Europe in 8 bits" is a documentary that explores the world of chip music, a new musical trend that is growing exponentially throughout Europe. The stars of this musical movement reveal to us how to reuse old video games hardware like Nintendo's GameBoy and the Commodore 64 to turn them into a tool capable of creating a new sound, a modern tempo and an innovative musical style. This is a new way of interpreting music performed by a great many artists who show their skills in turning these "limited" machines designed for leisure in the 80s into surprising musical instruments and graphical tools. It will leave nobody indifferent."

I think it would be fun if Intellivision and the Synth could be part of this movement in some way.

Here is another clip and I shoud warn you, this is Europe so there is some nudity involved...

Also check this out with a 2600. I am not sure how much of the 2600 we can actually hear but still, you have to admire the guy. :)

Care to perform in Japan with the Inty like that? :D


Link to comment
Share on other sites

I think it would be fun if Intellivision and the Synth could be part of this movement in some way.

 

 

It should be doable. I have some code implemented already that scans the synth keyboard and allows you to write your own software behind it to generate whatever sounds you like. I released that code sometime back. The demo synth just has flat square wave output, but you could easily add code to compute various effects such as ADSR envelopes, vibrato, arpeggios, etc.

 

(Edited to link back to the code I posted.)

 

I also have some code (that I prototyped on JLP, juiced up with a USB serial cable) that allows you to do all the synth parameter computations on a PC and send the results back to the Intellivision. So, you could either just generate all the music on the PC and send the data over serial, or play the synth keyboard, sending note events to the PC, and then the PC sends back the parameter sets. This would let you create a wide array of sounds beyond what the little CP-1610 can compute in real time. And, you can write in your favorite PC programming language as long as it can read/write a serial port. (Edit: And by 'PC', I don't mean to exclude Mac. It'll work there too.)

 

That was one of the projects I was working on before LTO Flash! took over my life. :) LTO Flash! takes priority. Releasing this software stack as an LTO Flash! program makes the most sense to me now, rather than providing it on modified JLP carts.

Edited by intvnut
Link to comment
Share on other sites

  • 3 weeks later...

What is the output of the program?

 

Thanks.

 

 

I cobbled together a basic tone generator/tester program, that supports the 3 main sound channels if you want to get a sense of what a sound is gonna sound like without compiling and running code. I noticed that I'm constantly tweaking pitch and chords just trying to find the perfect note. Let me know if it'd be useful to you. It's crude, but uses the keypad to control the pitch as well as enable/disable each channel, both independently. I may bake in independent volume support but would need to use controller #2 as I'm running out of buttons. :P

[snip]

Link to comment
Share on other sites

I think I under-asked"about your program/.rom - does it display information that is ready-translatable into IntyBASIC "Sound Command" syntax?

 

 

Yeah I just had it print the SOUND values to the screen. So it was something like channel:value:volume.

 

To be honest I've mucked with it so much for special purpose use that it hardly resembles a general purpose program anymore, but it was simply enough to code up. Just set up some variables (value 0, value1, value2; volume0, volume1,volume2), and then this:

 

loop:

 

PRINT AT 20,<4>value0

PRINT AT 30,<2>volume0

.. etc..

 

IF CONT1.BUTTON THEN SOUND 0,value0,volume0

 

IF CONT1.KEY1 THEN value0=value0+10

 

Or whatever works for you. Put in some IFs to handle turning sound channels on/off, resetting to silence, etc. Maybe a PROC or 2 to handle things.

Link to comment
Share on other sites

  • 6 months later...

I was unable to get that to run with

jzintv --jlp -v1 -z1 -q -e "%jzintv%\exec.bin" -g "%jzintv%\grom.bin" SNDTEST.bin

What did I miss?

 

Thanks.

 

 

[snip]

 

You can see an example of this in Carl Mueller's SNDTEST. He wrote a version of the Intellivision "cheer" sound effect that plays entirely on one channel! (I've attached the bin+cfg to this post. You'll need to rename SNDTEST.txt to SNDTEST.cfg, because AA inexplicably doesn't allow me to upload .CFG files. I hope Carl doesn't mind; he publicly posted this binary on INTVPROG some years back. Follow the link for instructions on how to use it. Sound effect 5 is the "cheer.")

 

I don't know how IntyBASIC handles the PSG, but clearly there's plenty of potential to unlock in that simple little chip.

Link to comment
Share on other sites

I was unable to get that to run with

jzintv --jlp -v1 -z1 -q -e "%jzintv%\exec.bin" -g "%jzintv%\grom.bin" SNDTEST.bin

What did I miss?

 

Thanks.

 

 

Take off the --jlp and -v1 flags. Neither is needed for Carl's sound test, and the --jlp flag actively interferes with it.

 

For the full effect, add the -s1 flag to enable ECS support, as the demo does use both PSGs. You may need to add the flag -E "%jzintv%\ecs.bin" to tell jzIntv where the ECS EXEC is.

Edited by intvnut
Link to comment
Share on other sites

I haven't had a chance to experiment with this, but I've had the idea at some point of "multiplexing" sounds in a channel. I know that technically it is possible, but has someone actually tried and tested to see how it would work in practice?

 

By "multiplexing" I mean cycling through, say, two "virtual sound channels" rending one or the other on each game cycle. Essentially, it's updating the tracker/synthesizer at 30 Hz.

 

I don't even know what is the typical time for "persistence of hearing" (as compared to persistence of vision), and would it make the sound too choppy or weird. I know that to some extent this is what the old-school C=64 "arpeggios" were trying to do, but I don't recall what was the cycling speed then.

 

I do have some additional ideas on how to make this work better, for example, by choosing a frequency that is at least close to a harmonic between both virtual channels on transitions that are much too spread apart, to give the listener's mind a hint on how to process the sound. Likewise, I can think of a few other psychoacoustic tricks that could be played, but I don't even know if any of this would work. I am planning on testing all my ideas someday, but I was wondering if anybody already has.

 

-dZ.

Edited by DZ-Jay
Link to comment
Share on other sites

Yes, the C64 also features multispeed music, which is when the player routine is called multiple times per frame and then allows for more advanced multiplexed sounds than the arpeggio. I suppose you would have to do the same on the Intellivision, somehow space out the player calls over a frame however you do that, in order to get virtual sounds. But then the music also takes much more CPU time than otherwise, which is why most C64 multispeed music is just that, a tune with perhaps a picture or a scroller, not a complex effect or game that needs its own CPU time.

Link to comment
Share on other sites

Yes, the C64 also features multispeed music, which is when the player routine is called multiple times per frame and then allows for more advanced multiplexed sounds than the arpeggio. I suppose you would have to do the same on the Intellivision, somehow space out the player calls over a frame however you do that, in order to get virtual sounds. But then the music also takes much more CPU time than otherwise, which is why most C64 multispeed music is just that, a tune with perhaps a picture or a scroller, not a complex effect or game that needs its own CPU time.

 

Then it's back to clever use of multiple channels to multiplex the sounds and make it sound richer than three voices. I'll have to experiment a bit with this.

 

-dZ.

Link to comment
Share on other sites

  • 2 weeks later...

 

Take off the --jlp and -v1 flags. Neither is needed for Carl's sound test, and the --jlp flag actively interferes with it.

 

(You knew this was coming)

 

Now that IntyBASIC has some JLP support - what can --jlp "interfere" with that one should be on the lookout for? Or was this just l33t programmer tricks that us lowly BASIC types won't ever have to worry about?

Link to comment
Share on other sites

 

(You knew this was coming)

 

Now that IntyBASIC has some JLP support - what can --jlp "interfere" with that one should be on the lookout for? Or was this just l33t programmer tricks that us lowly BASIC types won't ever have to worry about?

 

--jlp adds 8K words of RAM at 0x8040 - 0x9F7F, and accelerators in the range 0x9F80 - 0x9FFF. So anything with ROM mapped there isn't gonna like the --jlp flag.

Link to comment
Share on other sites

  • 2 years later...

I had this idea for a song while trying to go to sleep. So I went to my computer, something made me think about using the Intellivision to do this and this thread, and a few hours later, I made this song. I was originally going to call it "Boogeyman's Boogie," but I saw I already named a song that, so I named this one "Binary Byway". Added a feature, to restart the song, press 1 (or 7 on jzINTV.) What do you think?

b6.rom

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