Jump to content
Schmutzpuppe

Pokey note table

Recommended Posts

I only found tables with Pokey notes for 64KHz but not for 15KHz, 1.79MHz or joined Channels so I made my own.

It was interesting to see that the result for PAL 64KHz differ from all values I read.

It looks as if all calculations are based on NTSC clock.

However it's only a small variation and I wasn't able hear the difference.

For the calculation I used 1.7734470MHz for PAL and 1.7897725MHz for NTSC.

The table is attached because I don't found a way to create a proper formatting.

pokeynotes.zip

  • Like 1

Share this post


Link to post
Share on other sites

Interesting.

 

Now we need a comparision for the RMT notation values. IF RMT only has one, I would appreciate a correction for the 15kHz, because it's the only setting at 8 bit resolution to have the usual octaves for music.

Btw. SID has the same problems with the pitch when changing between Pal an NTSC... no one cared.

Share this post


Link to post
Share on other sites

Btw. SID has the same problems with the pitch when changing between Pal an NTSC... no one cared.

 

That's not really true, the first generation of drivers were based on the note table in the C64 Programmer's Reference Guide (which, regardless of issue, is always the NTSC values) but very soon after that there were new tables created and i've seen the work source for one big name C64 musician where the NTSC timings were included in the code and commented out with a note to enable them for the US release of the product.

Edited by TMR

Share this post


Link to post
Share on other sites

Interesting.

 

Now we need a comparision for the RMT notation values. IF RMT only has one, I would appreciate a correction for the 15kHz, because it's the only setting at 8 bit resolution to have the usual octaves for music.

Btw. SID has the same problems with the pitch when changing between Pal an NTSC... no one cared.

I really can't imagin that Raster used wrong values.

And even if the RMT has differend values than someone should verify my values first ;)

Share this post


Link to post
Share on other sites

Btw. SID has the same problems with the pitch when changing between Pal an NTSC... no one cared.

 

That's not really true, the first generation of drivers were based on the note table in the C64 Programmer's Reference Guide (which, regardless of issue, is always the NTSC values) but very soon after that there were new tables created and i've seen the work source for one big name C64 musician where the NTSC timings were included in the code and commented out with a note to enable them for the US release of the product.

The Monty on the Run source code floating around the net has PAL values.

But it's only disassembled code so maybe the original has commented out values for NTSC.

However I don't know if the sid produce very differnd results with slightly differnd values.

Share this post


Link to post
Share on other sites

C-64 differences would be less noticible since SID uses a more linear formula to define it's tones, and the clock differences between PAL and NTSC aren't so great as on the Atari (as a ratio).

Share this post


Link to post
Share on other sites

The Monty on the Run source code floating around the net has PAL values.

But it's only disassembled code so maybe the original has commented out values for NTSC.

 

MOTR was only meant for release in PAL territories when it was put out so it's possible there's no alternative version of the driver.

 

However I don't know if the sid produce very differnd results with slightly differnd values.

 

There's not much difference between PAL and NTSC and the notes stay in tune relative to each other if the wrong table is used; a C won't quite be a C, but it'll sound right if played alone or as part of a chord or arpeggio to the majority of people.

Share this post


Link to post
Share on other sites
I really can't imagin that Raster used wrong values.

And even if the RMT has differend values than someone should verify my values first ;)

In RMT there are the same note-frq-tables as in TMC 1.x.

(8bit pure tones, 8bit bass table 1, 8bit bass table 2, 16bit bass table)

Share this post


Link to post
Share on other sites

 

In RMT there are the same note-frq-tables as in TMC 1.x.

(8bit pure tones, 8bit bass table 1, 8bit bass table 2, 16bit bass table)

 

 

The 8 bit tones are only related to 64kHz. Perhaps there is a "rounding" difference when using 15kHz, as you can see the values E3 / E4 for note c#1 (15kHz) /c#3 /(64kHz) ....

Which one is closer?

Share this post


Link to post
Share on other sites

have a look here (a Compute-article I remember)

 

http://www.atariarchives.org/c2ba/page213.php

 

the ratio between the base frequencies is thus: 4.0714 (not precisely the ratio needed for a 2-octave jump)

 

(a 64khz cycle lasts 28 cycles, a 15khz cycle lasts 114 cycles: remember you cannot synchronize pokey's timers to the display correctly in 64khz mode....this is the same for both PAL and NTSC)

 

...but with a known base frequency, the formula for the pitch values (when you have a desired frequency) is the same both in standard 64khz and 15khz mode.

 

so there is no such thing as rounding difference...just an overall pitch difference....but still you'd need a new table if you want pitch-correct music....otherwise it doesn't really matter that much, because a mixed 64/15 khz mode isn't possible anyway

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