newcoleco #1 Posted March 7, 2010 After a weekend of coding, I've done this little application written only in ActionScript 3.0 and compiled with Flex 4 ( beta? ). This application can be only played with FlashPlayer 9 ( or maybe also with AIR 1.0 ? ) Software used to code this application : - FlashDevelop 3.0.6 for Microsoft.Net 2.0 - Flex 4 SDK B1 The application is in the "bin" folder. Enjoy! Flash ColecoVision Player Demo by Daniel Bienvenu 2010/03/07 FlashCVPlayerDemo.zip FAQ Q.1 : Is it an emulator? R.1 : It's a sound generator based on the SN76489 sound chip you can find inside a ColecoVision game system, and based on the sounds format used by the ColecoVision BIOS sound routines. Q.2 : Can it be used to do a Flash ColecoVision emulator with sounds ? R.2 : Well, I did try to make a Flash ColecoVision emulator and now I did try to generate sounds almost like the ColecoVision game system. Well, I suppose it will be possible eventually, but I'm not working on this project. Q.3 : Can I use your source code for my own project? R.3 : Depending if you'll credit me for my work. Q.4 : Can I use your application for my web site? R.4 : If you keep it "as is", no problem. Q.5 : Will you make a Coleco music composer in Flash? R.5 : I would like to make something like a music composer. It's more complex than a sound generator. Q.6 : Why it doesn't work under Flash 8 or less? R.6 : It's because of the sound library included in Flex that can be interpreted only FlashPlayer 9 or later. Q.7 : I want other musics, will you make another version? R.7 : I'm not going to make personalized versions for everyone, because it needs time and I have other projects to do. But, you've the source code, you can try to make your own version. Q.8 : What is this date 2010/03/07 ? ( For those who may complains about the date format I'm using all the time ) R.8 : It's March 7th 2010. The date in YYYY/MM/DD format is pure logic : like digits in a number with hundreds before tens and tens before units, a year is greater than a month, and a month is greater than a day. Even if you want to argu with me about the date format, I prefer the logic way to write it instead of the popular way you write it. Quote Share this post Link to post Share on other sites
+evg2000 #2 Posted March 7, 2010 I just tried it on my mac with safari and it work good. the only question I had is the NTSC/PAL toggle, I didn't notice any differences, is it a minor difference and I just didn't notice? thanks, charles After a weekend of coding, I've done this little application written only in ActionScript 3.0 and compiled with Flex 4 ( beta? ). This application can be only played with FlashPlayer 9 ( or maybe also with AIR 1.0 ? ) Software used to code this application : - FlashDevelop 3.0.6 for Microsoft.Net 2.0 - Flex 4 SDK B1 The application is in the "bin" folder. Enjoy! Flash ColecoVision Player Demo by Daniel Bienvenu 2010/03/07 FlashCVPlayerDemo.zip FAQ Q.1 : Is it an emulator? R.1 : It's a sound generator based on the SN76489 sound chip you can find inside a ColecoVision game system, and based on the sounds format used by the ColecoVision BIOS sound routines. Q.2 : Can it be used to do a Flash ColecoVision emulator with sounds ? R.2 : Well, I did try to make a Flash ColecoVision emulator and now I did try to generate sounds almost like the ColecoVision game system. Well, I suppose it will be possible eventually, but I'm not working on this project. Q.3 : Can I use your source code for my own project? R.3 : Depending if you'll credit me for my work. Q.4 : Can I use your application for my web site? R.4 : If you keep it "as is", no problem. Q.5 : Will you make a Coleco music composer in Flash? R.5 : I would like to make something like a music composer. It's more complex than a sound generator. Q.6 : Why it doesn't work under Flash 8 or less? R.6 : It's because of the sound library included in Flex that can be interpreted only FlashPlayer 9 or later. Q.7 : I want other musics, will you make another version? R.7 : I'm not going to make personalized versions for everyone, because it needs time and I have other projects to do. But, you've the source code, you can try to make your own version. Q.8 : What is this date 2010/03/07 ? ( For those who may complains about the date format I'm using all the time ) R.8 : It's March 7th 2010. The date in YYYY/MM/DD format is pure logic : like digits in a number with hundreds before tens and tens before units, a year is greater than a month, and a month is greater than a day. Even if you want to argu with me about the date format, I prefer the logic way to write it instead of the popular way you write it. Quote Share this post Link to post Share on other sites
newcoleco #3 Posted March 8, 2010 I just tried it on my mac with safari and it work good. the only question I had is the NTSC/PAL toggle, I didn't notice any differences, is it a minor difference and I just didn't notice? Try changing the "PAL - NTSC" setting while listening to one of the musics, you may remark the difference in speed. Quote Share this post Link to post Share on other sites
Mark_Coleco #4 Posted March 8, 2010 I believe there is already a CV flashplayer where you can play CV games online/on a web page. http://www.consoleclassix.com/ I think thats it. Quote Share this post Link to post Share on other sites
newcoleco #5 Posted March 14, 2010 (edited) I've done another version, with a giant text box where you can try whatever Coleco format sounds you want... you can even compose music with it if you know what you're doing. I did notice some issues like difficulties to handle high-pitched notes and to decode properly what you write. The parser is written in a way that all values are decoded as hexadecimal values, so if you want to write the decimal value 32, you need to write the equivalent hexadecimal value 20. ColecoVision Player Demo 2010-03-14 : CVSoundGen20100314.zip If you want to test by yourself a few things : ; cannon shot snd_cannon: .db 0x02,0x06,0x30,0x10,0x31,0x10 ; splash in water snd_splash: .db 0x02,0x54,0x20,0x1b,0x32,0x10 ; explosion snd_explosion: .db 0x02,0x05,0x47,0x1f,0x4f ; classic colecovision big explosion snd_bigexplosion_tone3: .db 0xc0,0xcb,0xf0,0xa5,0xd0 snd_bigexplosion_noise: .db 0x02,0x07,0xa5,0x1f,0xaf,0x10 ; classic colecovision zaxxon shot snd_zaxxon_shot: .db 0x43,0x97,0x20,0x08,0x11,0x2d,0x18,0x11,0x50 ; Smooth Criminal Intro - NTSC version (Daniel Bienvenu) mus_smoothc_tone3: .db 0xc0,0x88,0xf0,0x2d .db 0xc0,0x22,0xf0,0x0f .db 0xc0,0x98,0xf0,0x07 .db 0xc0,0x88,0xf0,0x08 .db 0xc0,0x79,0xf0,0x1e .db 0xc0,0x22,0xf0,0x0f .db 0xc0,0x88,0xf0,0x07 .db 0xc0,0x79,0xf0,0x08 .db 0xc0,0x72,0xf0,0x1e .db 0xc0,0x22,0xf0,0x0f .db 0xc0,0x79,0xf0,0x07 .db 0xc0,0x72,0xf0,0x08 .db 0xc0,0x79,0xf0,0x0f .db 0xc0,0x98,0xf0,0x0f .db 0xc0,0x22,0xf0,0x0f .db 0xd8 mus_smoothc_noise: .db 0x02,0x03,0x0f,0x1f,0x12 .db 0x2f .db 0x02,0x03,0x0f,0x1f,0x12 .db 0x02,0x07,0x0f,0x1f,0x12 .db 0x02,0x03,0x07,0x1f,0x12 .db 0x02,0x03,0x08,0x1f,0x12 .db 0x02,0x03,0x0f,0x1f,0x12 .db 0x02,0x03,0x0f,0x1f,0x12 .db 0x02,0x07,0x0f,0x1f,0x12 .db 0x02,0x03,0x07,0x1f,0x12 .db 0x02,0x03,0x08,0x1f,0x12 .db 0x02,0x03,0x0f,0x1f,0x12 .db 0x02,0x03,0x0f,0x1f,0x12 .db 0x02,0x07,0x0f,0x1f,0x12 .db 0x02,0x03,0x07,0x1f,0x12 .db 0x02,0x03,0x08,0x1f,0x12 .db 0x02,0x03,0x0f,0x1f,0x12 .db 0x02,0x03,0x0f,0x1f,0x12 .db 0x02,0x07,0x0f,0x1f,0x12 .db 0x18 mus_smoothc_tone1: .db 0x40,0x00,0xf0,0xff .db 0x40,0x00,0xf0,0xff .db 0x40,0x00,0xf0,0xf0 .db 0x40,0x00,0xf0,0xf0 .db 0x42,0xfc,0x11,0x07,0x18,0x11 .db 0x42,0xfc,0x11,0x08,0x18,0x11 .db 0x42,0xfc,0x11,0x07,0x18,0x11 .db 0x42,0xfc,0x11,0x08,0x18,0x11 .db 0x42,0x3b,0x12,0x07,0x18,0x11 .db 0x42,0xfc,0x11,0x08,0x18,0x11 .db 0x42,0xc5,0x11,0x0f,0x1e,0x11 .db 0x42,0xc5,0x11,0x1e,0x1e,0x11 .db 0x42,0xfc,0x11,0x07,0x18,0x11 .db 0x42,0xc5,0x11,0x08,0x18,0x11 .db 0x42,0xab,0x11,0x0f,0x1e,0x11 .db 0x42,0xab,0x11,0x1e,0x1e,0x11 .db 0x42,0xc5,0x11,0x07,0x18,0x11 .db 0x42,0xab,0x11,0x08,0x18,0x11 .db 0x42,0xc5,0x11,0x0f,0x1e,0x11 .db 0x42,0x3b,0x12,0x0f,0x1e,0x11 .db 0x6f .db 0x7e .db 0x42,0xfc,0x11,0x07,0x18,0x11 .db 0x42,0xfc,0x11,0x08,0x18,0x11 .db 0x42,0xfc,0x11,0x07,0x18,0x11 .db 0x42,0xfc,0x11,0x08,0x18,0x11 .db 0x42,0x3b,0x12,0x07,0x18,0x11 .db 0x42,0xfc,0x11,0x08,0x18,0x11 .db 0x42,0xc5,0x11,0x0f,0x1e,0x11 .db 0x42,0xc5,0x11,0x1e,0x1e,0x11 .db 0x42,0xfc,0x11,0x07,0x18,0x11 .db 0x42,0xc5,0x11,0x08,0x18,0x11 .db 0x42,0xab,0x11,0x0f,0x1e,0x11 .db 0x42,0xab,0x11,0x1e,0x1e,0x11 .db 0x42,0xc5,0x11,0x07,0x18,0x11 .db 0x42,0xab,0x11,0x08,0x18,0x11 .db 0x42,0xc5,0x11,0x0f,0x1e,0x11 .db 0x42,0x3b,0x12,0x0f,0x1e,0x11 .db 0x6f .db 0x7e .db 0x42,0xfc,0x11,0x07,0x18,0x11 .db 0x42,0xfc,0x11,0x08,0x18,0x11 .db 0x42,0xfc,0x11,0x07,0x18,0x11 .db 0x42,0xfc,0x11,0x08,0x18,0x11 .db 0x42,0x3b,0x12,0x07,0x18,0x11 .db 0x42,0xfc,0x11,0x08,0x18,0x11 .db 0x42,0xc5,0x11,0x0f,0x1e,0x11 .db 0x42,0xc5,0x11,0x1e,0x1e,0x11 .db 0x42,0xfc,0x11,0x07,0x18,0x11 .db 0x42,0xc5,0x11,0x08,0x18,0x11 .db 0x42,0xab,0x11,0x0f,0x1e,0x11 .db 0x42,0xab,0x11,0x1e,0x1e,0x11 .db 0x42,0xc5,0x11,0x07,0x18,0x11 .db 0x42,0xab,0x11,0x08,0x18,0x11 .db 0x42,0xc5,0x11,0x0f,0x1e,0x11 .db 0x42,0x3b,0x12,0x0f,0x1e,0x11 .db 0x6f .db 0x7e .db 0x42,0xfc,0x11,0x07,0x18,0x11 .db 0x42,0xfc,0x11,0x08,0x18,0x11 .db 0x42,0xfc,0x11,0x07,0x18,0x11 .db 0x42,0xfc,0x11,0x08,0x18,0x11 .db 0x42,0x3b,0x12,0x07,0x18,0x11 .db 0x42,0xfc,0x11,0x08,0x18,0x11 .db 0x42,0xc5,0x11,0x0f,0x1e,0x11 .db 0x42,0xc5,0x11,0x1e,0x1e,0x11 .db 0x42,0xfc,0x11,0x07,0x18,0x11 .db 0x42,0xc5,0x11,0x08,0x18,0x11 .db 0x42,0xab,0x11,0x0f,0x1e,0x11 .db 0x42,0xab,0x11,0x1e,0x1e,0x11 .db 0x42,0xc5,0x11,0x07,0x18,0x11 .db 0x42,0xab,0x11,0x08,0x18,0x11 .db 0x42,0xc5,0x11,0x0f,0x1e,0x11 .db 0x42,0x3b,0x12,0x0f,0x1e,0x11 .db 0x6f .db 0x58 ; Smooth Criminal Intro - PAL version (Daniel Bienvenu) mus_smoothc_tone3_PAL: .db 0xc0,0x88,0xf0,0x25 .db 0xc0,0x22,0xf0,0x0d .db 0xc0,0x98,0xf0,0x06 .db 0xc0,0x88,0xf0,0x06 .db 0xc0,0x79,0xf0,0x19 .db 0xc0,0x22,0xf0,0x0d .db 0xc0,0x88,0xf0,0x06 .db 0xc0,0x79,0xf0,0x06 .db 0xc0,0x72,0xf0,0x19 .db 0xc0,0x22,0xf0,0x0d .db 0xc0,0x79,0xf0,0x06 .db 0xc0,0x72,0xf0,0x06 .db 0xc0,0x79,0xf0,0x0d .db 0xc0,0x98,0xf0,0x0c .db 0xc0,0x22,0xf0,0x0d .db 0xd8 mus_smoothc_noise_PAL: .db 0x02,0x03,0x0c,0x1f,0x11 .db 0x2d .db 0x02,0x03,0x0c,0x1f,0x11 .db 0x02,0x07,0x0d,0x1f,0x11 .db 0x02,0x03,0x06,0x1f,0x11 .db 0x02,0x03,0x06,0x1f,0x11 .db 0x02,0x03,0x0d,0x1f,0x11 .db 0x02,0x03,0x0c,0x1f,0x11 .db 0x02,0x07,0x0d,0x1f,0x11 .db 0x02,0x03,0x06,0x1f,0x11 .db 0x02,0x03,0x06,0x1f,0x11 .db 0x02,0x03,0x0d,0x1f,0x11 .db 0x02,0x03,0x0c,0x1f,0x11 .db 0x02,0x07,0x0d,0x1f,0x11 .db 0x02,0x03,0x06,0x1f,0x11 .db 0x02,0x03,0x06,0x1f,0x11 .db 0x02,0x03,0x0d,0x1f,0x11 .db 0x02,0x03,0x0c,0x1f,0x11 .db 0x02,0x07,0x0d,0x1f,0x11 .db 0x18 mus_smoothc_tone1_PAL: .db 0x40,0x00,0xf0,0xff .db 0x40,0x00,0xf0,0xff .db 0x40,0x00,0xf0,0xff .db 0x40,0x00,0xf0,0x3c .db 0x42,0xfc,0x21,0x06,0x18,0x11 .db 0x42,0xfc,0x21,0x06,0x18,0x11 .db 0x42,0xfc,0x21,0x06,0x18,0x11 .db 0x42,0xfc,0x21,0x07,0x18,0x11 .db 0x42,0x3b,0x22,0x06,0x18,0x11 .db 0x42,0xfc,0x21,0x06,0x18,0x11 .db 0x42,0xc5,0x21,0x0d,0x1e,0x11 .db 0x42,0xc5,0x21,0x19,0x1e,0x11 .db 0x42,0xfc,0x21,0x06,0x18,0x11 .db 0x42,0xc5,0x21,0x06,0x18,0x11 .db 0x42,0xab,0x21,0x0d,0x1e,0x11 .db 0x42,0xab,0x21,0x19,0x1e,0x11 .db 0x42,0xc5,0x21,0x06,0x18,0x11 .db 0x42,0xab,0x21,0x06,0x18,0x11 .db 0x42,0xc5,0x21,0x0d,0x1e,0x11 .db 0x42,0x3b,0x22,0x0c,0x1e,0x11 .db 0x6d .db 0x79 .db 0x42,0xfc,0x21,0x06,0x18,0x11 .db 0x42,0xfc,0x21,0x06,0x18,0x11 .db 0x42,0xfc,0x21,0x06,0x18,0x11 .db 0x42,0xfc,0x21,0x07,0x18,0x11 .db 0x42,0x3b,0x22,0x06,0x18,0x11 .db 0x42,0xfc,0x21,0x06,0x18,0x11 .db 0x42,0xc5,0x21,0x0d,0x1e,0x11 .db 0x42,0xc5,0x21,0x19,0x1e,0x11 .db 0x42,0xfc,0x21,0x06,0x18,0x11 .db 0x42,0xc5,0x21,0x06,0x18,0x11 .db 0x42,0xab,0x21,0x0d,0x1e,0x11 .db 0x42,0xab,0x21,0x19,0x1e,0x11 .db 0x42,0xc5,0x21,0x06,0x18,0x11 .db 0x42,0xab,0x21,0x06,0x18,0x11 .db 0x42,0xc5,0x21,0x0d,0x1e,0x11 .db 0x42,0x3b,0x22,0x0c,0x1e,0x11 .db 0x6d .db 0x79 .db 0x42,0xfc,0x21,0x06,0x18,0x11 .db 0x42,0xfc,0x21,0x06,0x18,0x11 .db 0x42,0xfc,0x21,0x06,0x18,0x11 .db 0x42,0xfc,0x21,0x07,0x18,0x11 .db 0x42,0x3b,0x22,0x06,0x18,0x11 .db 0x42,0xfc,0x21,0x06,0x18,0x11 .db 0x42,0xc5,0x21,0x0d,0x1e,0x11 .db 0x42,0xc5,0x21,0x19,0x1e,0x11 .db 0x42,0xfc,0x21,0x06,0x18,0x11 .db 0x42,0xc5,0x21,0x06,0x18,0x11 .db 0x42,0xab,0x21,0x0d,0x1e,0x11 .db 0x42,0xab,0x21,0x19,0x1e,0x11 .db 0x42,0xc5,0x21,0x06,0x18,0x11 .db 0x42,0xab,0x21,0x06,0x18,0x11 .db 0x42,0xc5,0x21,0x0d,0x1e,0x11 .db 0x42,0x3b,0x22,0x0c,0x1e,0x11 .db 0x6d .db 0x79 .db 0x42,0xfc,0x21,0x06,0x18,0x11 .db 0x42,0xfc,0x21,0x06,0x18,0x11 .db 0x42,0xfc,0x21,0x06,0x18,0x11 .db 0x42,0xfc,0x21,0x07,0x18,0x11 .db 0x42,0x3b,0x22,0x06,0x18,0x11 .db 0x42,0xfc,0x21,0x06,0x18,0x11 .db 0x42,0xc5,0x21,0x0d,0x1e,0x11 .db 0x42,0xc5,0x21,0x19,0x1e,0x11 .db 0x42,0xfc,0x21,0x06,0x18,0x11 .db 0x42,0xc5,0x21,0x06,0x18,0x11 .db 0x42,0xab,0x21,0x0d,0x1e,0x11 .db 0x42,0xab,0x21,0x19,0x1e,0x11 .db 0x42,0xc5,0x21,0x06,0x18,0x11 .db 0x42,0xab,0x21,0x06,0x18,0x11 .db 0x42,0xc5,0x21,0x0d,0x1e,0x11 .db 0x42,0x3b,0x22,0x0c,0x1e,0x11 .db 0x6d .db 0x58 Edited March 14, 2010 by newcoleco Quote Share this post Link to post Share on other sites
newcoleco #6 Posted March 15, 2010 (edited) This new version is not optimized (not for slow PC). It gives an high quality sound rendering. No issue with high frequencies. Flash CV HiFi Demo by Daniel Bienvenu (2010-03-15) : With this sound rendering quality, playing & composing sounds in ColecoVision format is more than possible. Edited March 15, 2010 by newcoleco Quote Share this post Link to post Share on other sites
newcoleco #7 Posted March 15, 2010 (edited) It looks like I can't EDIT my own message after a few minutes or hours. Because of that, I can't simply modify a previous POST with an updated version. The modification I've done between today and last night prevents a big CPU usage for the output calculation. This was possible by reducing a looping execution into a few lines of number manipulations instead. The result is near to perfect considering a possible lack of precision this modification generates. However, it's fine enough for me to consider this sound rendering as good as using the real hardware. Again, the ZIP archive contains the Flash CV Player version 2010-03-15, high quality sound rendering, with the source code. Flash CV HighQuality Rendering Demo by Daniel Bienvenu (2010-03-15) : CVSoundGen20100315.zip For future versions of this project (if any) please visit my blog at http://newcoleco.dev-fr.org/ Edited March 15, 2010 by newcoleco Quote Share this post Link to post Share on other sites