Jump to content
IGNORED

What's up with the arm chip inside some recent homebrew?


Recommended Posts

I'm working on some homebrew for the 2600 (will probably never finish any tho) and I was interested in the arm chip that comes in some recent homebrew carts. More specifically, its ability to produce better music - I'm not interested in game logic, I just want to give my thing a cool little soundtrack. Is there any documentation on how to do that? Maybe a tracker? I know it's possible because champ games's Mappy has great music and it surely comes from the arm chip. Do I need to code the instructions for every single note in C? And after I've "written the track", can I just write a command in ASM that streams it to the chip's cache and makes it play or is it more complicated than that? (does the chip even have a cache?) Like, I'm pretty lost. 
This is kinda a lot of questions, but I think I made it pretty clear what I want to know.

:)

Link to comment
Share on other sites

In the format of my extra hardware! blog post, which you may find enlightening as well:

 

Long story short, check out the Harmony DPC+ programming topic, specifically Demo 1 - Music Demo.

 

Short story long, the ARM runs drivers to emulate all of the hardware inside a cartridge - this includes emulating the ROM, any extra RAM, and even coprocessors like the one used in Pitfall 2 back in the day. 

 

Mappy uses the driver that emulates a CDF coprocessor. Using CDF requires also using C. Newer projects than Mappy are using the updated CDFJ driver, but they still require the use of C.

 

Before CDF we designed the DPC+ coprocessor driver, for which the use of C is optional.  DPC+ is an updated version of the DPC coprocessor used in Pitfall 2. DPC features 3 voice music using square waves. In DPC+ we updated the music to use custom waveforms, which can be heard in Stay Frosty 2.

 

CDF/CDFJ uses the same music routines as DPC+, in fact the music driver in Mappy is a port of the music driver used in Stay Frosty 2. 

 

You may find the Harmony/Melody Club to be informative as well.

 

 

 

 

  • Like 2
Link to comment
Share on other sites

1 hour ago, SpiceWare said:

In the format of my extra hardware! blog post, which you may find enlightening as well:

 

Long story short, check out the Harmony DPC+ programming topic, specifically Demo 1 - Music Demo.

 

Short story long, the ARM runs drivers to emulate all of the hardware inside a cartridge - this includes emulating the ROM, any extra RAM, and even coprocessors like the one used in Pitfall 2 back in the day. 

 

Mappy uses the driver that emulates a CDF coprocessor. Using CDF requires also using C. Newer projects than Mappy are using the updated CDFJ driver, but they still require the use of C.

 

Before CDF we designed the DPC+ coprocessor driver, for which the use of C is optional.  DPC+ is an updated version of the DPC coprocessor used in Pitfall 2. DPC features 3 voice music using square waves. In DPC+ we updated the music to use custom waveforms, which can be heard in Stay Frosty 2.

 

CDF/CDFJ uses the same music routines as DPC+, in fact the music driver in Mappy is a port of the music driver used in Stay Frosty 2. 

 

You may find the Harmony/Melody Club to be informative as well.

 

 

 

 

This is really informative! Thanks a lot!

But before I continue studying, can you please tell me what the DPC+'s/CDF's/CDFG's limitations are in regards to audio? How many channels can I have? What waves? Why does the audio in mappy sound kinda wonky and out of pace sometimes? Can I make it sound even better if I have no game code running alongside it? (maybe I can even play samples?) And if that isn't possible, is there theoretically the possibility of someone writing a driver solely focused on audio that can produce even better results? 

:)

Link to comment
Share on other sites

5 hours ago, Marcos Moutta said:

This is really informative! Thanks a lot!

 

You're welcome!

 

Quote

But before I continue studying, can you please tell me what the DPC+'s/CDF's/CDFG's limitations are in regards to audio? How many channels can I have? What waves?

 

DPC+, CDF, and CDFJ all support 3 voice audio using just 1 of the Atari's sound channels. You can use the other channel for sound effects, or use it as a 4th voice such as for percussion. The waves can be whatever you want, sawtooth, sine wave, triangle, etc.

 

Quote

Why does the audio in mappy sound kinda wonky and out of pace sometimes?

 

Sounds OK to me. Are you going by real hardware, or emulation? I think the music playback speed can change like it does in Stay Frosty 2.

 

Quote

Can I make it sound even better if I have no game code running alongside it?

 

Yes. You must update AUDV0 once per scanline and it sounds best if the update is done at exactly the same cycle on every scanline, but that's not always possible when running game code.

 

Quote

 

(maybe I can even play samples?)

 

You can with CDFJ, I did that with my port of Bosconian:

 

 

 

 

 

Quote

 

is there theoretically the possibility of someone writing a driver solely focused on audio that can produce even better results? 

:)

 

Sure, anything's possible. Don't even need to use ARM, @supercat did a demo back in 2007 that used both channels to do 4 voice music:

 

 

he used a variation of that for the menu music in Stella's Stocking.

 

 

  • Like 2
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...