ivop Posted November 9, 2020 Share Posted November 9, 2020 (edited) Previous thread Here's the release of Pokey Explorer v1.1. It's a tool to explore all possible combinations of Pokey registers that have an effect on the sound you hear. New: - 16-bit intervals - hold START to STOP a running sweep1 - batch processing Batch processing is for advanced users. I have included an example sweeps.s file. You can change that, or include your own source file with multiple sweeps and rebuild the batch binaries. TODO: Do a really long sweep with e.g. 20 different settings and long play times. After that, import the file in Audacity and cut-off the noise before the first countdown and everything after The Final Countdown With the correction factors mentioned in the previous thread, you can calculate exactly where each sweep starts and stops. Write a Bash script to do the calculations automatically. Cut-up the file in pieces, then run them through aubiopitch, and Bob's your uncle. Hopefully Full source is here. And the manual. 1 That's like old Windows, where you have to go to the START menu, to stop/shutdown your machine pokeyexp-batch-v1.1-ntsc.xex pokeyexp-batch-v1.1-pal.xex pokeyexp-v1.1-ntsc.xex pokeyexp-v1.1-pal.xex Edited November 9, 2020 by ivop forgot to attach binaries, some clarifaction and spellin errors ;) 7 3 Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted December 2, 2020 Share Posted December 2, 2020 Ok ... Small update on that mode we were documenting: Notes below about $B000, regardless of interval, have those nasty sound artifacts. Going to have to redo the table a bit. Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted December 2, 2020 Share Posted December 2, 2020 Also: Going to attempt to use this in an upcoming game project ... ? 1 Quote Link to comment Share on other sites More sharing options...
ivop Posted December 2, 2020 Author Share Posted December 2, 2020 I did not have the motivation yet to work more on the automation of generating tables, and replaying the tables only, and run that through aubiopitch. Lately I did some RMT music in emkay's thread and not much more. But I have not forgotten about it. Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted December 3, 2020 Share Posted December 3, 2020 Well it is a daunting project. Huge ... so much unexplored territory. Quote Link to comment Share on other sites More sharing options...
Probabilitydragon Posted December 17, 2020 Share Posted December 17, 2020 Hey, nice tool! Since I rediscovered my 600XL a few weeks back, I've been doing exactly what this program is written for - digging into what the POKEY has to offer - by writing little BASIC routines. But now stumbled on this program, thanks for coding! 2 1 Quote Link to comment Share on other sites More sharing options...
ivop Posted December 17, 2020 Author Share Posted December 17, 2020 2 hours ago, Probabilitydragon said: Hey, nice tool! Since I rediscovered my 600XL a few weeks back, I've been doing exactly what this program is written for - digging into what the POKEY has to offer - by writing little BASIC routines. But now stumbled on this program, thanks for coding! So my efforts to make it work on a 16kB machine were actually useful? Did you run it on real hardware? I tested with Altirra in 600XL mode, but not on real hardware. Both my 600XLs are 64kB. And the keyboards are broken. Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted December 17, 2020 Share Posted December 17, 2020 By the way ivop: Had another setting I wantrd to get your thoughts on. $2x on first channel ... 1.79 on 1 and 3 just like on the $Ax ones. Here's what I have discovered: First channel gets the $2x frequency value from my 1.79 note table. Third channel will generate tones which are modulated, either on the frequency, up or down an octave, or up or down a 4th interval. Mod 32 frequencies on the third channel make solid tones. Will send a preliminary note table soon 1 Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted December 17, 2020 Share Posted December 17, 2020 Standard $2x @1.79 AUDCTL=$64 (AUDF1) table AUDF3 values A - 255 255, 251, 247, 243, 239, 232, 222, 219, 216, 213, 202, 192, 187, 185, 165, 160, 155, 142, 106, 97, 69, 58, 51, 27 A# - 240 248, 244, 242, 240, 236, 225, 212, 209, 206, 195, 190, 185, 176, 175, 174, 172, 168, 166, 165, 164, 157, 152, 136, 131, 121, 120, 119, 93, 85, 81, 74, 58, 57, 27 B - 227 254, 252, 243, 227, 213, 195, 187, 182, 175, 156, 150, 128, 125, 107, 89, 81, 76, 73, 62, 58, 36, 29, 27, 18, 17 C - 216 251, 244, 240, 231, 216, 209, 191, 172, 171, 151, 138, 131, 120, 106, 84, 59, 58, 51, 40, 36, 27, 18 c#- 205 255, 250, 245, 236, 212, 205, 181, 176, 171, 162, 160, 159, 158, 156, 155, 154, 145, 140, 131, 123, 120, 116, 104, 86, 78, 77, 76, 75, 72, 68, 58, 56, 50, 49, 44, 41, 37, 36, 27, 18 D - 193 251, 250, 240, 231, 222, 218, 216, 214, 203, 193, 187, 181, 173, 168, 161, 145, 138, 134, 126, 107, 82, 67, 65, 58, 32, 29, 27, 18 D# - 181 251, 240, 235, 230, 221, 201, 199, 184, 181, 178, 151, 147, 145, 143, 118, 113, 90, 87, 59, 58, 57, 43, 33, 27 E - 171 250, 244, 239, 231, 219, 217, 199, 182, 179, 176, 165, 160, 151, 140, 139, 120, 116, 97, 89, 86, 68, 58, 56, 41, 36, 32, 27, 26, 20, 16 F - 161 255, 252, 234, 209, 189, 182, 161, 151, 120, 115, 106, 89, 62, 58, 51, 29, 27, 26, 18 f# - 152 254, 244, 238, 232, 226, 221, 216, 211, 204, 182, 175, 152, 120, 114, 100, 89, 74, 58, 48, 35, 27, 22, 20 G - 143 249, 244, 239, 236, 224, 221, 213, 208, 203, 194, 190, 186, 182, 173, 168, 148, 143, 134, 130, 120, 102, 94, 89, 82, 80, 64, 63, 58, 49, 45, 38, 27, 17 g# - 135 250, 249, 229, 223, 217, 201, 192, 165, 150, 135, 58, 47, 27 A - 127 250, 246, 242, 235, 228, 210, 207, 199, 194, 167, 145, 141, 136, 127, 119, 112 91, 66, 58, 54, 27 a# - 121 254, 246, 244, 242, 238, 231, 224, 219, 211, 200, 185, 172, 151, 148, 145, 122, 121, 120, 119, 110, 98, 72, 64, 58, 47, 46, 37, 27, 21 B - 113 255, 246, 238, 230, 223, 216, 192, 187, 182, 174, 159, 147, 144, 141, 121, 113, 94, 89, 85, 74, 70, 58, 35, 27, 22, 14 C- 106 244, 231, 223, 216, 209, 171, 151, 138, 120, 106, 84, 58, 51, 40, 27, 18 C# - 100 254, 244, 226, 211, 204, 175, 146, 125, 120, 100, 71, 58, 48, 39, 27, 22 D - 94 249, 244, 239, 230, 221, 213, 202, 192, 186, 158, 156, 148, 146, 139, 134, 131, 128, 120, 99, 94, 77, 71, 58, 45, 27, 24 D# - 88 255, 244, 224, 200, 186, 183, 180, 165, 159, 146, 120, 88, 58, 42, 27, 19 E - 83 241, 182, 170, 162, 157, 138, 120, 112, 89, 83, 67, 58, 54, 27, 25 F - 79 253, 247, 241, 230, 215, 206, 194, 162, 152, 143, 139, 137, 120, 113, 101, 79, 58, 27 f# - 74 238, 216, 204, 182, 152, 120, 114, 100, 89, 74, 58, 48, 35, 27, 22 g - 70 251, 244, 187, 166, 160, 157, 149, 144, 135, 131, 129, 120, 81, 70, 58, 33, 27 G# - 65 244, 237, 234, 210, 195, 182, 180, 178, 141, 120, 103, 89, 88, 87, 65, 58, 42, 27, 19 A - 62 252, 244, 223, 191, 182, 174, 163, 142, 128, 120, 89, 85, 62, 58, 40, 29, 27, 18 A# - 57 248, 232, 206, 195, 185, 168, 131, 122, 120, 118, 101, 93, 85, 82, 58, 57, 27 B - 55 244, 240, 232, 225, 205, 199, 179, 155, 129, 120, 118, 114, 58, 55, 27 C - 51 244, 240, 216, 209, 151, 138, 120, 106, 67, 58, 27, 18 c# - 47 249, 244, 222, 214, 207, 200, 182, 154, 120, 111, 109, 105, 98, 89, 75, 64, 58, 47, 30,27 D - 45 249, 244, 239, 221, 213, 202, 192, 186, 165, 156, 148, 134, 131, 120, 99, 94, 91, 58, 45, 27, 24 D# - 43 255, 244, 239, 220, 204, 197, 184, 178, 158, 120, 108, 107, 100, 90, 83, 58, 43 27 E - 40 244, 223, 206, 198, 191, 178, 172, 120, 103, 101, 97, 87, 84, 58, 40, 27, 18 F - 38 250, 244, 213, 182, 164, 159, 141, 133, 126, 123, 120, 89, 80, 58, 52, 38, 27, 24, 20, 17 F# - 35 244, 238, 216, 182, 169, 152, 147, 120, 117, 106, 100, 89, 74, 58, 48, 27, 22 G - 33 251, 244, 187, 149, 144, 135, 131, 120, 70, 58, 33, 27 Solid note table: AUDF1 taken from $2x 1.79 table AUDF3 where (freq+4) mod 31=0 Solid note table 2: AUDF1=AUDF3, from $2x 1.79 table Here is that note table. AUDF1 is taken from my POKEY note table, $2x @1.79 mhz clock. It's a good starting point anyway. 1 Quote Link to comment Share on other sites More sharing options...
Probabilitydragon Posted December 18, 2020 Share Posted December 18, 2020 Yes, running on real hardware, but my 600XL is basically like an 800XL, the 1064 has been attached as long as I can remember. I have been samplng POKEY sounds & I love the way they sound with acoustic instruments. I've mostly been fiddling around with distortion / noise value 12 in my basic programs. Uncharted territory with high pass filters, for instance, and I will dig into some things mentioned on this thread as well! Quote Link to comment Share on other sites More sharing options...
ivop Posted December 19, 2020 Author Share Posted December 19, 2020 (edited) On 12/18/2020 at 12:23 AM, Synthpopalooza said: Here is that note table. AUDF1 is taken from my POKEY note table, $2x @1.79 mhz clock. It's a good starting point anyway. Sounds good! Obviously I have not checked all combinations by hand/ear, but especially with high values on the third channel, you get nice stable notes and even sort of chords with that 4th you mentioned, like C+E. And AUDF1==AUDF3 always works I noticed that the volume decreases a lot if you lower AUDF3 to less than half of AUDF1. Edited December 19, 2020 by ivop Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted December 21, 2020 Share Posted December 21, 2020 This setting is already being used in an upcoming game project. I managed to get enough frequency settings to do some music. It's very Yamaha sounding. Quote Link to comment Share on other sites More sharing options...
Probabilitydragon Posted February 3, 2021 Share Posted February 3, 2021 A question regarding PE 1.1 - when I join channels one and three and am using the "pure tone" square waves $Ax at 1,79MHz, the output of the sound behaves very differently than I'm expecting. When I do a basic routine with POKEing the AUDCTL to 80 (joining the channels and clocking channel 1 to 1,79MHz) and controlling the frequencies with the frequency bytes of channel 1 and 2, I get what I am expecting - I get 16 bit frequencies with one of the channels acting as the high byte / coarse control and the other one as low byte / fine tuning. But, while using Pokey Explorer, something very different happens. I don't really understand what's going on, but certainly not just square waves at 16 bit frequency resolution. Am I getting something wrong? Quote Link to comment Share on other sites More sharing options...
Probabilitydragon Posted February 3, 2021 Share Posted February 3, 2021 (edited) Another note, I don't know if this is a bug or a keyboard layout related issue - when I press shift+6 (& on my keyboard), supposed to increase AUDC3 by $10, AUDF4 increases instead by $10. when I press shift+7 (' on my keyboard), nothing happens when I press shift+8 (@ on my keyboard), supposed to increase AUDC4 by $10, AUDC1 increases instead by $10. Pressing shift+2 also increases AUDC1 by $10. Edited February 3, 2021 by Probabilitydragon Quote Link to comment Share on other sites More sharing options...
Probabilitydragon Posted February 3, 2021 Share Posted February 3, 2021 ...lots of questions today, another question: what exactly is two-tone mode? Quote Link to comment Share on other sites More sharing options...
ilmenit Posted February 3, 2021 Share Posted February 3, 2021 Sorry for maybe a silly question but I don't have much experience with Pokey programming. One question about the UI, I understand that some values in the UI are the Pokey registers. What is the one marked with question marks? Quote Link to comment Share on other sites More sharing options...
VinsCool Posted February 3, 2021 Share Posted February 3, 2021 3 hours ago, Probabilitydragon said: A question regarding PE 1.1 - when I join channels one and three and am using the "pure tone" square waves $Ax at 1,79MHz, the output of the sound behaves very differently than I'm expecting. When I do a basic routine with POKEing the AUDCTL to 80 (joining the channels and clocking channel 1 to 1,79MHz) and controlling the frequencies with the frequency bytes of channel 1 and 2, I get what I am expecting - I get 16 bit frequencies with one of the channels acting as the high byte / coarse control and the other one as low byte / fine tuning. But, while using Pokey Explorer, something very different happens. I don't really understand what's going on, but certainly not just square waves at 16 bit frequency resolution. Am I getting something wrong? You need join channel 1 and 2 or 3 and 4 and have one of them run at 1.79mhz to achieve 16 bit. What you did was joining 1 and 3, which corresponds to high pass filter. 3 hours ago, Probabilitydragon said: Another note, I don't know if this is a bug or a keyboard layout related issue - when I press shift+6 (& on my keyboard), supposed to increase AUDC3 by $10, AUDF4 increases instead by $10. when I press shift+7 (' on my keyboard), nothing happens when I press shift+8 (@ on my keyboard), supposed to increase AUDC4 by $10, AUDC1 increases instead by $10. Pressing shift+2 also increases AUDC1 by $10. Sounds like a keyboard mapping issue on your setup, it behaved like expected for me. 3 hours ago, Probabilitydragon said: ...lots of questions today, another question: what exactly is two-tone mode? Okay this one is currently unknown stuff for me , but I believe it's related to SKCTL bits to enable it, generating tones for the cassette interface if I am not mistaken. 3 hours ago, ilmenit said: Sorry for maybe a silly question but I don't have much experience with Pokey programming. One question about the UI, I understand that some values in the UI are the Pokey registers. What is the one marked with question marks? SKCTL I believe. 1 1 Quote Link to comment Share on other sites More sharing options...
Probabilitydragon Posted February 3, 2021 Share Posted February 3, 2021 17 minutes ago, VinsCool said: You need join channel 1 and 2 or 3 and 4 and have one of them run at 1.79mhz to achieve 16 bit. What you did was joining 1 and 3, which corresponds to high pass filter. Yes, the filter is another thing, and I’ve experimented with it a bit, mostly in Pokey Explorer. Also I’ve played around with 16 bit frequencies in both BASIC and PE, and there is either a bug in the program or I don’t understand how it’s supposed to work. A value of 80 / $50 in AUDCTL corresponds to channel 2 joined to 1 and channel 1 clocked @1,79MHz AFAIK ? Quote Link to comment Share on other sites More sharing options...
Probabilitydragon Posted February 3, 2021 Share Posted February 3, 2021 26 minutes ago, VinsCool said: Sounds like a keyboard mapping issue on your setup, it behaved like expected for me. Yeah, it’s probably my scandinavian keyboard Quote Link to comment Share on other sites More sharing options...
ivop Posted February 3, 2021 Author Share Posted February 3, 2021 13 minutes ago, Probabilitydragon said: A value of 80 / $50 in AUDCTL corresponds to channel 2 joined to 1 and channel 1 clocked @1,79MHz AFAIK ? Yes. Press J and A. Then set AUDF1/AUDC1/AUDF2/AUDC2 to 00 A0 28 AA. There's your tone. 28 is the MSB, 00 is the LSB. channel 1 is silent, channel 2 has volume. 2 Quote Link to comment Share on other sites More sharing options...
Probabilitydragon Posted February 3, 2021 Share Posted February 3, 2021 Ok - will try that. I thought channel 1 should have the volume, channel 2 muted. Created interesting results that way though ?? Quote Link to comment Share on other sites More sharing options...
Probabilitydragon Posted February 3, 2021 Share Posted February 3, 2021 ...and my POKEing around in BASIC was based on chapter 7 at de re atari, and yeah, there it says channel one muted and channel 2 on - so my BASIC routines were correct Quote Link to comment Share on other sites More sharing options...
Probabilitydragon Posted February 3, 2021 Share Posted February 3, 2021 I just tested it - yeah, now I get the sounds that I wanted. Thanks a lot for the help! Just did a very quick test with filter modulated 16 bit $Ax bass frequencies - sounds awesome, opens up again a new world of sounds! 2 Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted February 3, 2021 Share Posted February 3, 2021 6 hours ago, Probabilitydragon said: ...lots of questions today, another question: what exactly is two-tone mode? By writing $8B to SKCTL, two tone mode is engaged. You play notes in the 2nd channel and the modulation in the first, set volume of second channel to 0 ... sometimes both channels can be played. It's used for cassette I/O but I've found some musical uses for it too. I've documented the $Ax modes, and working through one using $4x. 3 Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted February 10, 2021 Share Posted February 10, 2021 @ivop: I'd like to enlist your help ... The idea is, I need a sweep ran using these settings: AUDCTL=$64, AUDC1=$2x, AUDC3=$00, NTSC For AUDF3, start at $1B (decimal 27) and step it up by 31 For AUDF1, sweep from $00 to $FF. Do this for each 31 step of AUDF3 These settings produce solid tones ... where AUDF3 is smaller the volume is lower. Thanks. 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.