RevEng Posted May 21, 2020 Author Share Posted May 21, 2020 If you haven't already, give a try to "-a 1" and "-a 2" for ones that don't work with the default. The different algorithms pan out differently. It could also be that I developed an ear for ones that definitely won't work, as there are some I don't even bother trying, so my success rate is greater. Quote Link to comment Share on other sites More sharing options...
fultonbot Posted May 21, 2020 Share Posted May 21, 2020 ...by the way, if you are going to try this with sounds from SXFR then make sure to have the [Squarewave] option selected or they mostly won't sound even remotely close. Explosions have been the hardest to export from it. Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted May 22, 2020 Share Posted May 22, 2020 On 5/20/2020 at 3:53 PM, RevEng said: Yeah, the devil is in the details. If it's pokey interrupt driven in any way, like I'm thinking, then we can't do it on the 7800. At least not with current cart-based pokey designs. No idea about XM. Sheddy confirms... IRQ interrupts are used on the XE Space harrier. Might work on XM but not on cart POKEY. Source code is in the Space Harrier thread. 2 Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted May 22, 2020 Share Posted May 22, 2020 (edited) Sheddy says Quote Interesting. I don't know much about the 7800, but https://www.google.com/url?sa=t&source=web&rct=j&url=https://sites.google.com/site/atari7800wiki/interrupts&ved=2ahUKEwi47cn1jMjpAhX3WxUIHf2YAwQQFjAAegQIARAC&usg=AOvVaw0527HBuVvspSlKMVWvdh_I&cshid=1590172343633 suggests that there is an interrupt line to the cartridge which could presumably be used by a pokey in there. Hopefully the XM has this in mind too, but I can't remember coming across that detail in my occasional reads on the 7800 forums here. Probably the thing to worry about most with IRQ samples is it needs to be called at fairly precise times for reasonable sound quality. It is lower priority than NMI so display list interrupts take precedence and also you may get Maria DMA stealing cycles at an irregular time. Antic seems to be not too terrible at hogging cycles Make of this what you will ... Edited May 22, 2020 by Synthpopalooza 1 Quote Link to comment Share on other sites More sharing options...
RevEng Posted May 22, 2020 Author Share Posted May 22, 2020 Yep, the interrupt line is there, just no pokey designs use it. If it wasn't there at the cart port, there would be no chance the XM would have it... when I get a chance I'll write up a test, but I have a few other things in the queue first. 1 Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted May 22, 2020 Share Posted May 22, 2020 So it's possible... but MARIA uses more CPU than ANTIC. Still might do for title screen stuff tho. Quote Link to comment Share on other sites More sharing options...
SlidellMan Posted July 6, 2020 Share Posted July 6, 2020 Hmm...maybe I could use these in Heofonfīr? (Yes, I'm still working on it.) 1 Quote Link to comment Share on other sites More sharing options...
+playsoft Posted January 17, 2021 Share Posted January 17, 2021 Thanks for making these available, the sound effects in the library sound excellent and are really useful. 3 Quote Link to comment Share on other sites More sharing options...
RevEng Posted January 17, 2021 Author Share Posted January 17, 2021 You're most welcome! I'm glad if it helps anyone get a leg up on their TIA sound. Your post reminded me that I had a few sounds that I developed for Millie&Molly that didn't wind up being used, so I've added them to the library. ? 4 Quote Link to comment Share on other sites More sharing options...
BydoEmpire Posted February 11, 2021 Share Posted February 11, 2021 I just started hooking up sound to my game, and this is such an great resource to get me going. Thanks so much for putting it together. I'm definitely going to look into wave2tia one of these days. 3 Quote Link to comment Share on other sites More sharing options...
+Karl G Posted April 14, 2022 Share Posted April 14, 2022 Do you have any interest in sound effect submissions to add to the library? I made a quack sound that I'm reasonably happy with. Feel free to add it, tweak it, or ignore it. data sfx_quack $10, $10, $00 $15, $06, $08 $15, $06, $09 $15, $06, $0A $14, $06, $0B $14, $06, $0C $14, $06, $0D $14, $06, $0E $13, $06, $0F $13, $06, $0F $13, $06, $0F $13, $06, $0F $13, $06, $0F $00,$00,$00 end 5 Quote Link to comment Share on other sites More sharing options...
RevEng Posted April 14, 2022 Author Share Posted April 14, 2022 Nice one! I had a few sounds effects that weren't yet published in my local repo, so I added your quack sound effect, and updated the first post. 4 Quote Link to comment Share on other sites More sharing options...
+karri Posted April 15, 2022 Share Posted April 15, 2022 I did a bit automatic conversion to put the sounds in cc65 asm format (for the ca65 assembler). The way I used this in Pirate Cove was to make a library of all sounds and then let the linker pick up the used sounds. Linker: sfxobjects= \ sfx_70stvcomputer.o \ sfx_activate.o \ sfx_advbite.o \ sfx_advdragonslain.o \ sfx_advdrop.o \ sfx_advpickup.o \ ... sfxlib = sfx.lib $(sfxlib) : $(sfxobjects) $(AR) r $(sfxlib) $(sfxobjects) Oh, $(AR) is ar65. And then just add sfx.lib to the cl65 command line. $(target) : $(objects) $(objects160) $(CL) -t atari7800 -o $@ --force-import __EXEHDR__ -m piratecove.map $(objects) $(objects160) $(sfxlib) -l atari7800 sign7800 -w $(target) $(CL) is cl65 I also wrote a cc65 player calles sfx.s. As I don't have a Atari 7800 public repo I wonder if you have interest to keep the cc65 versions of the sfx_sounds somewhere? Or perhaps it is enough that you can download the archive from this post. sfxlib.zip sfx.s extzp.s extzp.inc 3 Quote Link to comment Share on other sites More sharing options...
RevEng Posted April 15, 2022 Author Share Posted April 15, 2022 4 hours ago, karri said: As I don't have a Atari 7800 public repo I wonder if you have interest to keep the cc65 versions of the sfx_sounds somewhere? Or perhaps it is enough that you can download the archive from this post. I've added a link to your post in the first post, for better visibility. For the code I host in my 7800 repo, I try to offer some minimal level of support. My lack of familiarity with cc65 is a problem there. 1 Quote Link to comment Share on other sites More sharing options...
+karri Posted April 15, 2022 Share Posted April 15, 2022 Just now, RevEng said: I've added a link to your post in the first post, for better visibility. For the code I host in my 7800 repo, I try to offer some minimal level of support. My lack of familiarity with cc65 is a problem there. I am a bit selfish in this cc65 porting effort. The goal is really just Wizzy. I want to use the libraries I am used to. So I may not be a "maintainer" of this port for long. But at least there is other guys who are familiar with cc65 so perhaps it attracts some others to try their luck with the 7800. 1 Quote Link to comment Share on other sites More sharing options...
RevEng Posted April 15, 2022 Author Share Posted April 15, 2022 1 hour ago, karri said: I am a bit selfish in this cc65 porting effort. The goal is really just Wizzy. I want to use the libraries I am used to. So I may not be a "maintainer" of this port for long. But at least there is other guys who are familiar with cc65 so perhaps it attracts some others to try their luck with the 7800. Nothing wrong with that at all. Good of you to share! Quote Link to comment Share on other sites More sharing options...
+Karl G Posted March 1, 2023 Share Posted March 1, 2023 In case anyone is interested, I've "ported" this sound collection to bB, using a Python script to do the heavy lifting in terms of converting the data and text to the format I needed. 6 Quote Link to comment Share on other sites More sharing options...
+Karl G Posted May 9, 2023 Share Posted May 9, 2023 Where can I find the updated .bas that corresponds with the version in the js7800 link? The source in the first post as well as in github has 116 sound effects, whereas the version in the js7800 link has 183 different effects. Quote Link to comment Share on other sites More sharing options...
+Muddyfunster Posted May 9, 2023 Share Posted May 9, 2023 13 minutes ago, Karl G said: Where can I find the updated .bas that corresponds with the version in the js7800 link? The source in the first post as well as in github has 116 sound effects, whereas the version in the js7800 link has 183 different effects. 183! I think I missed that too! Quote Link to comment Share on other sites More sharing options...
RevEng Posted May 10, 2023 Author Share Posted May 10, 2023 On 5/9/2023 at 10:00 AM, Karl G said: Where can I find the updated .bas that corresponds with the version in the js7800 link? The source in the first post as well as in github has 116 sound effects, whereas the version in the js7800 link has 183 different effects. I goofed. It's actually just 116 sounds. I've corrected the first post to include the correct tally. I fooled myself that it was a hex tally in the gui, due to the high nibble incrementing past the decimal range. 🤷 2 Quote Link to comment Share on other sites More sharing options...
+bsteux Posted June 15, 2023 Share Posted June 15, 2023 Hi, May I use your soundtest library to make a TIA sound example for cc7800 (keeping your copyright obviously) ? These sounds are very cool... Are they all generated with sound2tia ? The pitfall ones for instance went through your tool or from disassembly of the game ? Quote Link to comment Share on other sites More sharing options...
RevEng Posted June 15, 2023 Author Share Posted June 15, 2023 6 hours ago, bsteux said: Hi, May I use your soundtest library to make a TIA sound example for cc7800 (keeping your copyright obviously) ? These sounds are very cool... Are they all generated with sound2tia ? The pitfall ones for instance went through your tool or from disassembly of the game ? Help yourself! As to the copyright, consider the program and sounds to be public domain, or equivalent in jurisdictions that don't allow new works to be placed into the public domain. Anybody can do anything with them. A few of the sounds were hand-crafted, the Adventure and Pitfall ones were lifted from the games by just watching the audio registers change in Stella (set a trap in the debugger and record what values are written each frame), but the bulk of the sounds come from sound2tia conversions. TBH getting good stuff from sound2tia is much more miss than hit, but often enough I'll get something unexpected and more interesting than the original. The sound2tia ones are generally more organic sounding, which has its ups and downs - I sometimes have to clean them up by hand, as there's often a glitch here and there. It's not featured in any sounds in the library, but i have another technique for copying sounds from arcade games that I've found very effective. I get a WAV capture of the sound, and then using Audacity I time stretch the sample 10x or so while retaining the same pitch. Then I do a spectrum analysis on any unique segment to pick out the fundamental frequency. From there I just use a TIA frequency table to generate the sound, and my own ears as to which distortion would match the original. 7 Quote Link to comment Share on other sites More sharing options...
+bsteux Posted June 17, 2023 Share Posted June 17, 2023 On 6/15/2023 at 5:44 PM, RevEng said: Help yourself! As to the copyright, consider the program and sounds to be public domain, or equivalent in jurisdictions that don't allow new works to be placed into the public domain. Anybody can do anything with them. A few of the sounds were hand-crafted, the Adventure and Pitfall ones were lifted from the games by just watching the audio registers change in Stella (set a trap in the debugger and record what values are written each frame), but the bulk of the sounds come from sound2tia conversions. TBH getting good stuff from sound2tia is much more miss than hit, but often enough I'll get something unexpected and more interesting than the original. The sound2tia ones are generally more organic sounding, which has its ups and downs - I sometimes have to clean them up by hand, as there's often a glitch here and there. It's not featured in any sounds in the library, but i have another technique for copying sounds from arcade games that I've found very effective. I get a WAV capture of the sound, and then using Audacity I time stretch the sample 10x or so while retaining the same pitch. Then I do a spectrum analysis on any unique segment to pick out the fundamental frequency. From there I just use a TIA frequency table to generate the sound, and my own ears as to which distortion would match the original. Thank you for the explanations. I'm learning a lot from that. I've started to make an example playing your sounds in C. Still to be tested on real hardware... 2 Quote Link to comment Share on other sites More sharing options...
+Karl G Posted July 1 Share Posted July 1 So, @Random Terrain noticed that one of the frequency values for "electroswitch" was invalid in my bB version of this sound collection. Looking at the source file, it is also invalid in the 7800basic source file: data sfx_electroswitch $10,$01,$02 ; version, priority, frames per chunk $06,$04,$0F ; first chunk of freq,channel,volume data $0C,$04,$08 ; first chunk of freq,channel,volume data $18,$04,$04 ; first chunk of freq,channel,volume data $31,$04,$02 ; first chunk of freq,channel,volume data $00,$00,$00 end Presumably $31 in the last line should be either 31 or $1F, but what about the other frequency values? Are they correct in hex? Also, does anyone know what the TIA does with frequency values that are too high? Is it treated as $1F if it's over that value? Quote Link to comment Share on other sites More sharing options...
+Bruce-Robert Pocock Posted July 1 Share Posted July 1 5 hours ago, Karl G said: Also, does anyone know what the TIA does with frequency values that are too high? I believe the register is only 5 bits wide, so anything in the upper 3 bits is ignored/lost — so e.g. $31 ⇒ ($31 & $1f) = $11 1 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.