Jump to content
Sign in to follow this  
emkay

You want better POKEY-music ?

Recommended Posts

I think, you all know Softsynth. The program with synthvoices and free waveforms.

This Tool is very great to create new style musix. The only problem is to fit such musix into Games, while the music already uses much of CPU time.

OK... with a 16Bit CPU the chipset is able to use 4 Channel PCM with more than 44kHz and more than 128 colors in Hires, but that is another thing...

Now let's think about the POKEY and what it is built in an 800XL/XE:

 

1.-It is a 4 voice soundeffect chip

2.-It is a 2 voice "hires" soundeffect chip with two pcm channels

3.-It is a 4 voice PCM soundchip which uses alot of cpu time.

 

The 1. one is used in mostly games.

The 2. one is used in mostly demos

The 3. one is used in Softsynth

 

All that was to do, to create well sounding music is to use two 16Bit channels with timed softwaremanipulations for the main-voice and the attendance. The third and fourth voice can be PCM created for baseline and basedrum channel that needed less updates. Note: To quantize a sine-base of 100 Hz you need 200 updates/second.

Due to the usage of the 16Bit POKEY-channels, even here is 200Hz enough to create Softsynth-routines.

 

Please compare: 4000 update/sec. in Softsynth to 200 u/s with a programmed synth.

Share this post


Link to post
Share on other sites

This sounds interesting. Do you happen to have an example implemention? If not, can you elaborate on how this new format would be implemented? What strengths/limitations does it have?

 

calamari

Share this post


Link to post
Share on other sites

I only have some good ideas... Raster Music Tracker and a very buggy emulation on the PC. By this the RMT is handicaped to go further...

 

RMT:

http://www.infos.cz/raster/atari/rmt/rmt.htm

http://www.infos.cz/raster/atari/sa_librar...a_libraries.htm

 

SLOW song:

http://www.infos.cz/raster/atari/rmt/slow.zip

 

You can check the song. It is made to hear the different distortions in different frequencies. So, if it is possible to create an ATARI XL/XE emulation that does sound correct to the original, there will be real cool music available from POKEY :)

The best, compared to the original pokey is if the song is played in the ATARI 800 win emulator. The SAP player is the worst in playback of the song..

Share this post


Link to post
Share on other sites
Slow doesn't work on NTSC machines.

 

What exactly does that mean? Silence? Distorted sounds?

 

Can you tell me what the grey bars are for/signifying when you play a RMT executable?

 

I remember it's the time spent in VBI playing the music?

Share this post


Link to post
Share on other sites
What exactly does that mean? Silence? Distorted sounds?

 

One little beep and then silence.

 

Can you tell me what the grey bars are for/signifying when you play a RMT executable?

 

I remember it's the time spent in VBI playing the music?

 

How is the time calculated and how is that represented on screen? (I realize that may not know this yourself...)

Share this post


Link to post
Share on other sites
What exactly does that mean? Silence? Distorted sounds?

 

One little beep and then silence.

 

Can you tell me what the grey bars are for/signifying when you play a RMT executable?

 

I remember it's the time spent in VBI playing the music?

 

How is the time calculated and how is that represented on screen? (I realize that may not know this yourself...)

 

You set the colour when you start doing the task you want to time, then set it back again as soon as that task (in this case music playing) is finished.

 

It's quick, it's dirty, but it works well. I've never found a better way of timing code on an 8-bit :)

Share this post


Link to post
Share on other sites

Thanks for the reply.

 

This music routine couldn't be in VBI then, could it? Any color change made during VBI wouldn't necessarily show up on the screen, since that is vertical "blank" interrupt time, isn't it?

 

The music routine is done in a DLI, then?

 

I'm probably way off track here... feel free to educate me, I know nothing about creating sound on the 8-bit!

Share this post


Link to post
Share on other sites

you have several options of showing the "time consumption" of a routine...

 

normally it's done like:

 

DLI

pha

lda #$ff

sta $d01a

jsr play_music

lda #0

sta $d01a

pla

rti

 

for the timing it doesn't matter just the playroutine is called every frame...

 

or you are doing it with a "kernel"

 

loop

lda vcount ($d40b)

bne loop (waiting until rasterbar 0)

and do the same...

 

it's really one of the oldest & most visuable cpu consumption method on 8bit i have ever seen.

 

cheers, karolj

Share this post


Link to post
Share on other sites

you could do it in the VBL - but I personally wouldn't.

 

I'd do it in a DLI during a bit of the screen where you don't need the CPU to tweak any display stuff (like a static bitmap the size of the widest the aforementioned timing bar gets), saving the VBL time for modifying any graphics bits that need doing.

 

...but then again what I currently know about Atari 8-bit code you can write on the back of a postage stamp with a JCB, so your milage may vary....

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.

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...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...