+MrFish Posted February 25, 2022 Share Posted February 25, 2022 1 hour ago, emkay said: hmmmm .... [Chin Soft Atari 800 Pokey] Nice! It would be cool if the short section that starts at about 2:30 could either be repeated for a while or expanded upon (with some musical variations). Quote Link to comment Share on other sites More sharing options...
VinsCool Posted February 25, 2022 Author Share Posted February 25, 2022 2 hours ago, emkay said: hmmmm .... oh nice! So you did figure out how to assemble the player after all, and even did some changes into it! 1 Quote Link to comment Share on other sites More sharing options...
Kjmann Posted February 25, 2022 Share Posted February 25, 2022 Magical Sound Shower reworked in stereo with triangle bass on right and 'C' bass on left. had to do this one in 2 separate pieces (left and right) due to the limitations of rmt with the number of tracks available. spliced left and right together using audacity. 3 Quote Link to comment Share on other sites More sharing options...
Kjmann Posted February 26, 2022 Share Posted February 26, 2022 Splash Wave reworked in stereo with triangle bass on right and 'C' bass on left. Splash Wave.xex 6 1 Quote Link to comment Share on other sites More sharing options...
emkay Posted February 26, 2022 Share Posted February 26, 2022 (edited) This tune is the main tune of "Full Contact". It's based on a lot "Tracker commands. In the current state, one has to to place separated instruments for any manipulation. "Note up / down" "Portamento Note up/down" "Tone up/down" "Portamento tone u/down".... I put that to the most relevant parts of the tune Edited February 26, 2022 by emkay 6 Quote Link to comment Share on other sites More sharing options...
VinsCool Posted February 27, 2022 Author Share Posted February 27, 2022 No 6502 Assembly code done tonight but I wanted to make some sort of catchy background music. Thankfully my recent driver changes holds up nicely, timing is excellent, and a lot of effects were done for quickly enabling the Two-Tone Filter, as well as mixing AUDCTL envelopes into the every channels. Also I wanted an excuse to test my VUPlayer so that also looks a bit nicer than a static screen 4 Quote Link to comment Share on other sites More sharing options...
Beeblebrox Posted February 27, 2022 Share Posted February 27, 2022 (edited) @VinsCool Great work with the recent new implementations. Keep up the good work. One really novice question - Having grown up with the Pokey sounds in games but not being well educated in all things chip tune, (I am no musician either) - whilst I see talk of things like sawtooth, square, sine, and triangle waveforms, etc, I don't actually know what that refers to specifically when it comes to Pokey. I can find soundwave info online for example here, but I can really relate this to the sounds I am hearing in Pokey chip tunes: http://www.vgmpf.com/Wiki/index.php/Sound_Wave#Square_Wave It seemed to me the majority of pokey game tunes had what I'd deem the trademark Atari "wobble" waveform, (heh heh please excuse my rather comical ignorance). What type of waveform is the aforementioned "wobble" sound? I'd love to have an audio reference/snipett/example of the most typical (old and new) sounds pokey is capable of and name of the waveform as a reference - so I can finally know what is meant by sawtooth, etc and what a sawtooth waveform sounds like on Pokey. Is there an easy way to do this? I've loaded up your RMT tracker and had a very quick look around, loading up songs, etc. As I've mentioned before I really love the Battle Squadron pokey tune which has a fantastic leading synthesizer sounding waveform. What is the name of that particular waveform? (In your video it is the 2nd channel down, kicking in at 23seconds in): Edited February 27, 2022 by Beeblebrox 1 1 Quote Link to comment Share on other sites More sharing options...
VinsCool Posted February 27, 2022 Author Share Posted February 27, 2022 1 hour ago, Beeblebrox said: One really novice question - Having grown up with the Pokey sounds in games but not being well educated in all things chip tune, (I am no musician either) - whilst I see talk of things like sawtooth, square, sine, and triangle waveforms, etc, I don't actually know what that refers to specifically when it comes to Pokey. I can find soundwave info online for example here, but I can really relate this to the sounds I am hearing in Pokey chip tunes: http://www.vgmpf.com/Wiki/index.php/Sound_Wave#Square_Wave There is a lot of misnomer but you are mostly correct, it's either squarewave or (periodic) noise. There is an actual "sawtooth" waveform that can be generated from the POKEY using the filter and 2 generators at 1.79mhz, however 1 hour ago, Beeblebrox said: It seemed to me the majority of pokey game tunes had what I'd deem the trademark Atari "wobble" waveform, (heh heh please excuse my rather comical ignorance). What type of waveform is the aforementioned "wobble" sound? The Atari bass sound? that would be... a periodic noise. I know some people call it sawtooth but that's not what this looks like under an oscilloscope. 1 hour ago, Beeblebrox said: I'd love to have an audio reference/snipett/example of the most typical (old and new) sounds pokey is capable of and name of the waveform as a reference - so I can finally know what is meant by sawtooth, etc and what a sawtooth waveform sounds like on Pokey. Is there an easy way to do this? I've loaded up your RMT tracker and had a very quick look around, loading up songs, etc. Ohhh good idea, that would help for explaining, thanks for the suggestion! By far the easiest way to test sounds is by using POKEY Explorer by ivop, a really nice tool which has helped me a lot during my tests. 1 hour ago, Beeblebrox said: As I've mentioned before I really love the Battle Squadron pokey tune which has a fantastic leading synthesizer sounding waveform. What is the name of that particular waveform? (In your video it is the 2nd channel down, kicking in at 23seconds in): Thank you! That's a pulse wave! this synth technique is usually called Pulse Wave Modulation, or PWM for short. This waveform is also the most characteristic sound used on the SID chip, but the POKEY has its own twist for generating it using the "high pass filter" 1 Quote Link to comment Share on other sites More sharing options...
patjomki Posted February 27, 2022 Share Posted February 27, 2022 1 hour ago, VinsCool said: That's a pulse wave! this synth technique is usually called Pulse Wave Modulation, or PWM for short. Isn't it called pulse 'width' modulation or is this something different? 1 Quote Link to comment Share on other sites More sharing options...
VinsCool Posted February 27, 2022 Author Share Posted February 27, 2022 3 hours ago, patjomki said: Isn't it called pulse 'width' modulation or is this something different? I had a brainfart, yeah that's what I meant to say there! Thanks for noticing. 1 Quote Link to comment Share on other sites More sharing options...
emkay Posted February 27, 2022 Share Posted February 27, 2022 Timed filter programming is always a little "beta" ... Today I stumbled over this and couldn't resist. 4 Quote Link to comment Share on other sites More sharing options...
patjomki Posted February 27, 2022 Share Posted February 27, 2022 2 hours ago, VinsCool said: Thanks for noticing. And thank you for clarification. ? I am glad you could implement pulse width modulation because that was a feature I was always missing on pokey (or to be exactly in RMT). Can you explain how you achieved it? And is it possible to just switch pwm on or off in your new version of rmt or do I have to use special tricks? 1 Quote Link to comment Share on other sites More sharing options...
VinsCool Posted February 27, 2022 Author Share Posted February 27, 2022 27 minutes ago, patjomki said: And thank you for clarification. ? I am glad you could implement pulse width modulation because that was a feature I was always missing on pokey (or to be exactly in RMT). Can you explain how you achieved it? It was always possible in RMT, using the instrument envelope AUTOFILTER, or the AUDCTL bits to activate the high pass filter in channel 1 or 2, modulated by the channel 3 or 4, respectively. 29 minutes ago, patjomki said: And is it possible to just switch pwm on or off in your new version of rmt or do I have to use special tricks? Much of the same as before, too. Using the AUTOFILTER envelope makes it a lot easier, but it lack some precision only fine manipulation using specially crafted instruments can achieve. There is 1 new feature my RMT patch has however: instrument envelope CMD7 can set the AUDCTL bits directly as an envelope, which makes all of the above much, much, much more precise, at the cost of being a lot more complex to design if you are not familiar with the chip in general. There is another feature that does something very similar to the high pass filter: Two-Tone Filter, activated with CMD7 parameter $FE to enable and $FD to disable. To modulate a PWM waveform, you need to combine frequency of channel 2 into channel 1, and modulate the Pulse wave directly in channel 1 using its frequency, which must be 1 octave +1 offset higher, until the 2nd octave, where it will start to produce all sort of complex sounds too. However, this one is a lot more complex to use, but it's definitely worth experimenting with it 1 Quote Link to comment Share on other sites More sharing options...
+MrFish Posted February 27, 2022 Share Posted February 27, 2022 1 hour ago, emkay said: Timed filter programming is always a little "beta" ... Today I stumbled over this and couldn't resist. [Suburb Atari 800 POKEY] Sounds excellent 2 Quote Link to comment Share on other sites More sharing options...
VinsCool Posted February 27, 2022 Author Share Posted February 27, 2022 (edited) Oh man, FUCK ME, LOL For weeks I have been doing this puzzle of channels priority and AUDCTL bits, and earlier in the shower I had the striking realisation: txa asl @ asl @ sta c_index+1 lda reg1 c_index bcc * jmp check_ch1 nop jmp check_ch2 nop jmp check_ch3 nop jmp check_ch4 Massive code debloat incoming! I can't believe this has been so obvious but I never actually thought about it, arrrgh! And it works perfectly, that's the most insulting part! LOL I'm really not very smart sometime, heheheee... [edit] also for the STEREO code, I simply need to skip an ASL @ instruction, that's even better. This sort of jumptable will also greatly benefit my VUPlayer code... ? Anyway, this should basically SPEED UP everything, and REDUCE the amount of bytes wasted doing all sort of redundant shit just to get the proper tuning table based on several settings. Edited February 27, 2022 by VinsCool 3 Quote Link to comment Share on other sites More sharing options...
xxl Posted February 27, 2022 Share Posted February 27, 2022 little faster, little shorter? txa asl @ sta c_index+1 lda reg1 c_index jmp (tab) org $xx00 tab .word check_ch1 .word check_ch2 .word check_ch3 .word check_ch4 3 1 Quote Link to comment Share on other sites More sharing options...
VinsCool Posted February 27, 2022 Author Share Posted February 27, 2022 11 minutes ago, xxl said: little faster, little shorter? txa asl @ sta c_index+1 lda reg1 c_index jmp (tab) org $xx00 tab .word check_ch1 .word check_ch2 .word check_ch3 .word check_ch4 Thanks for the suggestion! I seem to jump at a very wrong place however... do I need to use the zeropage for the JMP indirect? I saw you did a ORG but I was not sure where this was supposed to be. I'm still way behind in term of code so sorry for the dumb question ? In any case, what I did earlier is still a considerable improvement over my stupid... stack of CPX I had to do to make sure I used the correct channel index ? Quote Link to comment Share on other sites More sharing options...
patjomki Posted February 27, 2022 Share Posted February 27, 2022 1 hour ago, VinsCool said: [...] There is 1 new feature my RMT patch has however: instrument envelope CMD7 can set the AUDCTL bits directly as an envelope, which makes all of the above much, much, much more precise, at the cost of being a lot more complex to design if you are not familiar with the chip in general. [...] To modulate a PWM waveform, you need to combine frequency of channel 2 into channel 1, and modulate the Pulse wave directly in channel 1 using its frequency, which must be 1 octave +1 offset higher, until the 2nd octave, where it will start to produce all sort of complex sounds too. However, this one is a lot more complex to use, but it's definitely worth experimenting with it Thanks for explaining. That's what I meant. A user has to enter several difficult settings to achieve anything like PWM. What I would like to see is something similar like on sid with it's 12-bit PWM register ($d409, low byte and $40a high byte but only bit 0..3). I dream about some kind of a user interface that hides these complex mechanism and gives the user just the opportunity to dynamically change the pulse width during the song. 1 Quote Link to comment Share on other sites More sharing options...
emkay Posted February 27, 2022 Share Posted February 27, 2022 1 minute ago, patjomki said: Thanks for explaining. That's what I meant. A user has to enter several difficult settings to achieve anything like PWM. What I would like to see is something similar like on sid with it's 12-bit PWM register ($d409, low byte and $40a high byte but only bit 0..3). I dream about some kind of a user interface that hides these complex mechanism and gives the user just the opportunity to dynamically change the pulse width during the song. That is what I'm supposing since decades A Tracker that allows full control over POKEY, allows to create dynamic instruments. Turning from passive control to active control. Quote Link to comment Share on other sites More sharing options...
VinsCool Posted February 27, 2022 Author Share Posted February 27, 2022 1 minute ago, patjomki said: What I would like to see is something similar like on sid with it's 12-bit PWM register ($d409, low byte and $40a high byte but only bit 0..3). I dream about some kind of a user interface that hides these complex mechanism and gives the user just the opportunity to dynamically change the pulse width during the song. That would be amazing, but unfortunately the chip does not work like this at all. the PWM effect is done using the frequencies and phases of 2 channels, so it can be manipulated, but not be exact, unless you are timing it at the most absurd level of precision, which is simply going to work well if the music driver can only dedicate so much time for the shifting. The closest result to this would be the Two-Tone Filter, this one at least *does* have a relatively constant Pulse Width with the exact frequencies fed into the channel 1 to modulate the waveform. Quote Link to comment Share on other sites More sharing options...
xxl Posted February 27, 2022 Share Posted February 27, 2022 9 minutes ago, VinsCool said: I seem to jump at a very wrong place however... at address $3600 place the address arrays of your procedures 1 Quote Link to comment Share on other sites More sharing options...
patjomki Posted February 27, 2022 Share Posted February 27, 2022 8 minutes ago, VinsCool said: That would be amazing, but unfortunately the chip does not work like this at all. the PWM effect is done using the frequencies and phases of 2 channels, so it can be manipulated, but not be exact, unless you are timing it at the most absurd level of precision, which is simply going to work well if the music driver can only dedicate so much time for the shifting. The closest result to this would be the Two-Tone Filter, this one at least *does* have a relatively constant Pulse Width with the exact frequencies fed into the channel 1 to modulate the waveform. Understood. Well perhaps you can provide a user interface that gives the opportunity for PWM and hides the Two-Tone Filter in the background? 1 Quote Link to comment Share on other sites More sharing options...
VinsCool Posted February 27, 2022 Author Share Posted February 27, 2022 3 minutes ago, xxl said: at address $3600 place the address arrays of your procedures Ohhh okay, now that makes more sense if I look at this: 35FF A9 0C lda #INSTRPAR 3601 9D 5C 31 sta trackn_tablea,x In this case, I did indeed jump to whatever was in the memory here... I think I will keep using the method I did earlier, it does work great, and it's not a big waste of bytes compared to what was done... before that I mean ? Thanks again for this advice, this will be helpful for another time! Quote Link to comment Share on other sites More sharing options...
VinsCool Posted February 27, 2022 Author Share Posted February 27, 2022 2 minutes ago, patjomki said: Understood. Well perhaps you can provide a user interface that gives the opportunity for PWM and hides the Two-Tone Filter in the background? I have no idea really, but we'll see what happens in the future ? 1 1 Quote Link to comment Share on other sites More sharing options...
emkay Posted February 27, 2022 Share Posted February 27, 2022 3 minutes ago, patjomki said: Understood. Well perhaps you can provide a user interface that gives the opportunity for PWM and hides the Two-Tone Filter in the background? In 1000s of demonstrations I have shown that the filter PWM control can be 100% . The Problem is the software that is not keeping 100% of the original. So the results change from "software" to "software". 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.