Jump to content
IGNORED

Tips for advanced POKEY programming?


Recommended Posts

If doing nothing else Basic could actually outperform Assembler as in do more than the frame rate in updates per second.

But that's simple sound like an escalating frequency.  In the real world and with other stuff to do as well, Basic is usually fairly slow.

 

RMT can be done in Basic by having a VBlank routine that calls it.  You could do a custom VBlank routine fairly easily, e.g. an ADSR processor or sound effects engine that has simple scripted techniques.

  • Thanks 1
Link to comment
Share on other sites

You'll also want a look at the POKEY note table:

note             distortion 10          distortion 2     distortion 12b  distortion 12a
                 16 bit  8 bit          16 bit 8 bit     16bit   8 bit   16 bit  8 bit
c             46                                    Octave 10
b              50    
a#                   53
a                    57
g#                   60
g                    64
f#                   69
f                    73
e                    78
d#                   83
d                    88
c#                   94
c            100                                      Octave 9
b            106
a#                  113
a                   120
g#                  128
g                   136
f#                  144                                      56             56
f                   153                                      59             59
e                   163                                      62             62
d#                  173                                      65             65
d                   183                                      71             71
c#                  195                                      74         74                     
c                   207                     0                77             21         Octave 8
b                   219                     -                80             23
a#                  233                     -                89             25
a                   247                     1                95             27
g#                  262                     -               101             30
g                   278                     2               107             31
f#                  295                     3               110             34
f                   313                     -               122             36
e                   332                     4               131             39
d#                  353                     5               137             42
d                   374                     -               146             45
c#                  397                     6               155             46  
c                   421  14                 7   0           164             49             Octave 7
b                   446     15            -               176             54
a#                  473  16                 8               185             57
a                   501     17            9               197             61
g#                  532     18           10               209             64 
g                   564     19           11               221             69
f#                  598  21                12               236             72
f                   634  22                14               251             79
e                   672  23                15               266             84
d#                  712     25           16               281             90
d                   755  26                18               296             94
c#                  800  28                19               314            100
c                   848  29                21               335            106        octave 6
b                   899  31                22               356               114
a#                  953  33                25               377            121
a                  1010  35                26               401            129
g#                 1070     37               28               422            135
g                  1134     40           30               449            145
f#                 1202     42               32               476            154
f                  1274  45                34               506            162
e                  1350  47                37               536            174   
d#                 1431  50                39               569            184
d                  1517  53                42               602            196
c#                 1607  57                45               641            207
c                  1703  60                48   1           677            220         Octave 5
b           1805     64           51               716  --        235
a#                 1913  68                54               761  26        249  
a            2027     72           58               806            264
g#           2148     76           62               854            280  
g                  2276     81           67               905  32        297  10
f#           2412     85               71               959  --        315  --
f           2555     91           76   2          1019  35        334  35             
e                  2708     96           81              1079  38        355  12
d#             2869    102            85              1145  41        376  41
d                  3040 108                91              1211  --        399  --
c#           3222    114           97              1286  --        424  --
c                  3414    121          103   3          1361  47        450    15    Octave 4
b           3617    128          110              1442  50        475  16
a#                 3832    136          116              1529  53        505  53
a            4061    144          124              1619  56        535  18
g#                 4303    153          132   4          1715  62        567  62
g                  4559    162          140              1820  65        601  21
f#                 4830    172          149              1931  68        637  22
f                  5118    182          158   5          2042  71        676  71
e                  5423 193               167              2165  77        717  25
d#                 5746 204               178              2294  80        760  27
d                  6088 217               190   6          2432  86        807  28
c#                 6450 230               201              2576  92        855  30
c                  6834 243               214   7          2729     98       906    31    Octave 3
b                  7241 255               227              2894 101        960  33
a#                 7672                   240   8          3065 184       1017  36
a                  8128                   256              3245 116       1077  37
g#                 8612                   271   9          3440 122       1141  40
g                  9125                   288              3647 131       1212  43
f#                 9668                   306  10          3869 137       1284  45
f                 10243                   324  11          4091 146       1360  48
e                 10852                   343              4337 155       1441  51
d#                11498                   364  12          4595 167       1527  55
d                 12182                   386  13          4871 173       1617  57
c#                12907                   410  14          5159 182       1714  61
c                 13765                   437  15          5501    197       1830    63     octave 2
b                 14489                   461  16          5792 206       1926  67
a#                15351                   488  17          6137 218       2041  72
a                 16264                   518  18          6500 233       2161  76
g#                17231                   549  19          6887 245       2292  82
g                 18256                   583  20          7301           2442  85
f#                19342                   617  21          7736           2575  93
f                 20493                   654  23       8195           2727  97
e                 21712                   694  24          8681           2889 103
d#                23003                   735  26          9212           3061 108
d                 24372                   779  27          9746           3244 117 
c#                25821                   826  29         10325           3436 123
c                 27357                   876  31       10940          3642 130    octave 1

Distortion #10 is for square wave ... pure tones.
Distortion #2 is for triangle wave ... bell type sounds.
Distortion #12a is for sawtooth/buzzy bass.  Use only frequencies where (freq+1) mod 3 > 0  and (freq+1) mod 5 > 0
Distortion #12b is for sawtooth/smooth bass.  Use only frequencies where (freq+1) mod 3 = 0 and (freq+1) mod 15 > 0
For note rests, use value 14 in distortion 12.

8-bit values are for AUDCTL=$00
16-bit values are for AUDCTL=$20 (channels 1 and 2 at 1.79 mhz and joined) 
                   or AUDCTL=$40 (channels 3 and 4 at 1.79 mhz and joined)


                       (Wow! That copied to Atariage really badly. Go find the actual text file!)

Edited by Ecernosoft
  • Haha 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...