Jump to content
IGNORED

My POKEY experiments using nonstandard settings


Recommended Posts

This tune is from the forthcoming L'Abbaye Des Morts port ... the boss tune

 

AUDCTL=$60 (1.79 mhz on channels 0 and 2)

SKCTL=$8B (Two tone mode)

 

0 - $4x (guitar timbre - two tone modulation frequency)

1 - $Cx (carrier frequency for 1)

2 - $2x (1.79 bell waveform)

3 - $0x (percussion)

 

This is a two-tone setting I call the $4x/$Cx mode.  You play the carrier frequency in channel 1 from the standard $Cx mod 3 (RMT C) bass table, and then use certain frequencies in the $4x distortion in channel 0 to modulate this sound, which creates some really fierce guitar timbres!  Channel 1 can be silent if desired, but playing the $Cx frequency here lends a nice harmonic to the sound.

 

Channel 2 plays a nice sonorous bell lead, while 3 adds a bit of percussion.

 

 

abbayes-boss.asm abbayes-boss.s abbayes-boss.xex

Edited by Synthpopalooza
  • Like 4
  • Thanks 1
Link to comment
Share on other sites

Then this ... Donkey Kong NES title music

 

AUDCTL=$28 (1.79 plus 16-bit on 2 and 3)

SKCTL=$8B (Two tone)

 

0 - $Ax (two tone modulation)

1 - silent (frequency carrier)

2  - silent (for standard 16-bit mode)

3 - $Ax at standard 16-bit, bass and accompaniment.

 

In this case, the two tone modulation is played at the bare minimum interval, which has the effect of simulating that scratchy NES triangle wave.

dk-title.asm dk-title.s dk-title.xex

Edited by Synthpopalooza
  • Like 3
  • Thanks 1
Link to comment
Share on other sites

  • 1 month later...

Some updates...

 

First, I've partially documented another POKEY setting:  $Cx distortion, double 1.79 hi-pass.  This uses my 1.79 $Cx table for the first channel, while the third modulates the sound into swirling guitars.  There will be two tables, the second one is for frequency mod 3 values.

 

Partial note table attached.

AUDCTL64_AUDC0CX.txt

  • Like 4
  • Thanks 1
Link to comment
Share on other sites

The other setting of interest is a reverse 16 setting involving setting 1.79 mode, 16-bit, playing C distortion on the first channel and A distortion on the second.  When this happens,  certain frequencies in the first channel will form a harmonic with the square wave playing in the second.  The result is a clarinet type timbre.  This mode was discovered by Analmux (RIP) long ago.  Thanks to @VinsCool i have a note table to play with.  Demo song soon.

 

I have also discovered this trick works in $2x distortion as well.  The resonant frequencies occur every 31 steps.  There are also some frequencies that make the standard $2x bell tones but with a white/pink noise artifact on top.  Working up note tables now.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

  • 3 weeks later...

So, I put another set of frequencies in $4x SKCTL 1.79+64 to bed today.  Another few days work, then organizing, then I think we will have this setting fully documented.  About 9 or 10 categories of settings, and likely hundreds of note tables possible here.

 

$4x SKCTL 1.79+15 is slow going at the moment.  There will be fewer categories of settings but it is still very useful!

  • Like 3
Link to comment
Share on other sites

  • 3 weeks later...

I took a little sidetrack today, did some experimenting with $2x distortion,  SKCTL=$8B, AUDCTL=$40 (1.79 + standard 64khz clock).  I discovered that there are some frequencies that make a sort of square wave sound, but with a white noise artifact added.  I've attempted a start on a note table, but there appears to be no discernible pattern to these.  Once I have a note table, maybe someone can analyze it and see what's what.   What I do know so far is, the range goes from f#2 up to maybe the 5th octave, and it has the tonal quality of the 2 distortion wave, but a lot less sharpness.

 

 

  • Thanks 1
Link to comment
Share on other sites

This note table is also mostly finished:  Reverse 16 $2x/$Ax, AUDCTL=$50.  Its like the clarinet $Cx/$Ax setting, except that in this case, the resonant frequencies occur every 31 steps.  Three timbres are generated randomly, possibly controlled through polycounter settings.

 

 

2x_reverse_16_1.79.txt

Edited by Synthpopalooza
Link to comment
Share on other sites

So I have finally documented two settings from the $2x distortion two-tone 1.79+64 clock setting.

 

The first one, makes a fuzzy version of the $2x waveform, and ranges from F#2 up to A5.  Some notes have a noise artifact, others have a trilling effect.  The first channel value is approximate to the $2x 1.79 8-bit note table but there is some tuning drift.

 

The second one involves using values in the second channel that correspond to mod 31 steps.  This makes several waveforms in the sequence of C3, D3, F3, G#3, C4, F4, C5, and C6, and also correspond to standard 8-bit $Ax distortion.  Playing $Ax in channel 2 makes a harmonic.  The waveform pattern is partially unstable, and will alter if a note from outside this setting is played just before.  I think it's due to the poly4 sampling.

 

The third one, involves mod 31 steps on channel 1 and frequencies beginning at $3C on channel 2.  Some bass sounds reminiscent of $Cx distortion are present.  Not documented yet.

 

Table attached, plus an experimental tune I'm not happy with.  The downfall of this setting is it requires the standard 64khz clock, so the $Cx distortion must be used in ither channels to make the bass track.

 

If anyone can suss out a pattern for this pan flute setting, I'd be interested.  Its probably some interplay with the poly4 sampling.

 

EDIT:  Good news ... early tests indicate that the pan flute setting is also usable in 15khz mode, so we can have the superior A and C basses to use with it.  Time to compile another note table ...

 

 

arti-area1.xex AUDCTL40_SKCTL8B_AUDC12x.txt

Edited by Synthpopalooza
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

OK, an improvement ...

 

I added some more fluttery notes to this, and also cleaned up the bass and accompaniment.  This is meant to be an underground mayan jungle temple theme so I wanted something eerie sounding.  The fluttery artifact added to the note really suits this!

 

This setting has an identical range in the 15 khz mode too, but I need to map it out.  One limitation of this tune is, I was forced to use G# key for this, because the RMT C bass I used here has a low end of G#1.  If we could use 15 khz mode, the bass could go lower, have better tuning, and be stable.  Or one could use the A bass as well.

 

Thoughts?  I like where this is going, myself ...

 

This will ultimately end up on a 7800 port of the Activision game H.E.R.O., but it's called A.R.T.I.  (Archaeological Rescue Team International)

arti-area1.asm arti-area1.s arti-area1.xex

  • Like 3
  • Thanks 1
Link to comment
Share on other sites

So, a techie question ... I don't really understand 100% the concept of two-tone mode, especially in the above usage.  The patterns of the notes in the above table seem to be irregular.  Best I can figure out is that the polycounter periods from the second channel cancel out the ones from the first,  leaving a $2x wave and some noise.  The first channel's frequency seems to correspond with the $2x distortion 1.79 note table.   Does anybody have any ideas what's going on and how to predict it?  It might help me alot when cataloging the 15khz version of this setting.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

I have now documented the pan flute in 15 khz mode (AUDCTL=$41, 1.79 + 15khz, $2x distortion)

 

Differences from 64 khz table:

 

1.  The low end is still F#2 like the other one, but is slightly out of tune

2.  F#5 is unavailable here and completely dropped from the note table

3.  G#5 is the upper limit here, as opposed to A5 from the 64khz version.

 

Otherwise this table is functionally the same as the 64khz table posted above, and therefore usable with the superior $Cx and $Ax basses in 15 khz mode.  :)  Yaay.  Now to redo my ARTI music for 15khz, and compare the two. 

 

 

AUDCTL=$41 SKCTL=$8B AUDC1=$2x.txt

  • Like 3
  • Thanks 1
Link to comment
Share on other sites

OK, a comparison.

 

I have side by side, a 64khz and a 15khz version of the same tune, using the two-tone pan flute setting.

 

My thoughts are:

 

The 15 khz version has the stable C bass, which goes lower, but there don't seem to be as many good fluttery notes as there are in the 64khz version.  But in 64 khz, the bass has only range down to G#1.  So I am torn which one I like better.  What is everyone else's thoughts?

 

I also tried a 15 khz version using the other timbre in $Cx, the smooth one ... but the selection of frequencies is severely restricted. :(  so not an option it seems.

arti-area1.asm arti-area1.s arti-area1.xex arti-area1-15a.asm arti-area1-15a.s arti-area1-15a.xex

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

My latest piece of music:  The Egyptian level music for A.R.T.I.

 

Settings are:

 

AUDCTL=$51 (16-bit on first two channels, 15khz base clock)

SKCTL=$03 (no two tone mode)

 

01 - $Cx (clarinet style lead)

02 - $Ax (harmonic for 01)

03 - $Cx (15 khz stable bass)

04 - $Ax (low square wave accompaniment)

 

A few notes:

 

This is a setting which was originally discovered by @analmux (RIP) back in 2009 and used in his Instrumentarium RMT module.  @VinsCool was kind enough to get me a note table to play with.  You set 16-bit with 1.79 mhz, and play distortion C on the first channel, using carefully selected frequencies, this makes a clarinet style timbre.  Channel 2 can be left silent, or an $Ax distortion square wave can be played, which adds a harmonic that transposes the note down an octave.  One disadvantage is that this setting suffers from the same drawback as the RMT C (mod 3) basses:  Three timbres are output at random, depending on polycounter settings.  The polycounter reset code developed by @pavros may mitigate this, especially if the 16-bit channel is played on channel 3. 

 

This setting also got used in the theme music for the recent Prince of Persia port.

 

The $Cx bass is on channel 3.  This allows for a stable bass of all the same waveform, unlike other channels which switch between two waveforms.  This is possible since I am not using 1.79 on this channel.

 

Sources, plus two binaries.  The second one silences the harmonic, and I have included it as a comparison.  I think the harmonic improves the sound.

 

 

arti-area2.asm arti-area2.s arti-area2.xex arti-area2-a0.xex

  • Like 4
  • Thanks 1
Link to comment
Share on other sites

  • 2 weeks later...

So a radical new discovery on two tone mode:

 

If you don't set bit 8 ... SKCTL=$0B, the reset from channel 2 to channel 1 does not happen.  This makes interesting effects

 

The key here is to use a standard AUDCTL=$00, and play the same frequency in both channels, and set either A or C distortion in both channels.  If you do ... the first channel gets set down an octave, while the second one stays normal, this makes an additive saw wave bass!  In C distortion this is useful in the mod 3 or mod 5 frequencies.  In addition, mod 3's in the first channel remain stable regardless of polycounters, and the waveform returned depends on even or odd frequency.

 

If you bring the 1.79 clock into the mix, lots of wackiness ensues, especially in the 8 and 0 poly 9's.  More experimentation is needed, but for now we instantly have two new useful settings with the double A and double C basses.

 

The good news is both these settings will use the standard 8-bit A or C distortion tables (including a custom one I made for mod 5 frequencies).

 

Will post a demo soon.

Edited by Synthpopalooza
  • Like 3
  • Thanks 1
Link to comment
Share on other sites

Meanwhile, my latest, A.R.T.I. level 3

 

Settings

 

AUDCTL=$64 (double hi-pass)

 

00 - $2x (swirly guitars)

01 - $Cx (gritty non mod bass aka RMT E)

02 - silent (modulation for 00)

03 - $Ax (accompaniment, standard square wave)

 

This is a majestic Roman motif, with two distinct settings in the guitars.  Swirling, and the tinny acoustic guitar which is created from using mod 31 frequencies in the third channel. 

 

 

arti-area3.asm arti-area3.s arti-area3.xex

  • Like 4
  • Thanks 1
Link to comment
Share on other sites

8 hours ago, Synthpopalooza said:

This is a majestic Roman motif, with two distinct settings in the guitars.  Swirling, and the tinny acoustic guitar which is created from using mod 31 frequencies in the third channel. 

Interesting sounds.

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