** Generator ** by Hoffman / Focus Design ^ Elude ^ Unstable Label for the Revision 2015 Old School Music Compo for any Amiga with one meg chip ram! ** Built using ** ProTracker 2.3D The Player 6.1 Cinter synth by Blueberry / Loonies Focusillator synth by Hoffman & Booster / Focus Design SEQ2SMP by Hoffman / Focus Design Devpac Shrinkler cruncher by Blueberry / Loonies ** Exe versions ** hoffman_generator_lowmem - for machines with only 1 meg of ram, this one kills off the OS and doesn't exit hoffman_generator_highmem - for machines with more ram, returns to the OS on left mouse click ** What does what? ** Cinter is a tiny FM based synth written by Blueberry. This is mainly used for the bass sounds, some FX and odd synth noises. Thankfully Blueberry produced a newer version of this synth after I started this project which now includes some distortion parameters. This meant that the bass sounds in the second half ended up rather dirty :) Focusillator is a basic multi oscillator synth by me. Each oscillator can have a different waveform and pitch. It also contains two filters created by Booster (although the track only uses the low pass filter) and envelops for amp and fitlers. This chunk of code is responsible for all the chord samples. SEQ2SMP is a 4 channel drum loop generator by me. It is used for creating the large drum loops from small pattern sequences in the code. All the samples are mixed at the same frequency for speed and to ensure the best sound quality. (i'm actually pretty chuffed with how quick it is :). There is also a phase effect routine which uses interpolation for really smooth phasing, a sample reverser, an up sampler, a basic 8-bit delta decompressor and some other small bits and pieces to fit stuff together. ** How does it work? ** For the most part, code had to be put together to generate the samples. The exception to this is Cinter which has a VST Plugin so the sounds can be designed and exported to samples without touching the code. Those samples are then loaded into ProTracker so the tune can actually get written. The final piece of the puzzle is to then convert the module into P61 but discarding all the sample data. As P61 init's a procedure is called and the samples begin to be generated and the sample pointers in P61 start being replaced. As there is only a 30 second pre-calc time the first init only generates the samples needed for the first handful of patterns. Once that is done, the music interupt kicks off while the rest of the samples are generated during playback. During testing I found that leaving the OS running on a stanard 68000 meant the samples didn't generate in time before they were played so the OS and DMA are disabled to ensure as much CPU time as possible. Thankfully it was just enough :) ** I want pointless stats? ** There is a total of 25,500 bytes of actual sample data. This is pretty much all drums apart from one effect sample, everything else is generated by code. The original module, although its not optimised, rolls in at 840,484 bytes. ** I want the module! ** OK, I've included it in the archive but please DONT play it using XMPlay as it simply can't handle the hackery used in this one. Use UADE, ProTracker on Amiga or the amazing ProTracker 2.3D port by 8-Bit Bubsy here ---> http://16-bits.org/pt.php As always.. PLAY IT IN MONO WITH NO INTERPOLATION!!! ** Where are the greetz? ** Blueberry: Thanks for letting me use his Cinter synth. It's a proper little montser. Also thanks for creating shrinkler which allowed me to get a handful of extra drum samples in :) Booster: Thanks to Booster for creating the two filters, real handy ;) Bonefish: Cheers for the help with my fixed point calc on the 68000, seems like thats going to be very handy in the future. Knoeki: Big ups for testing this on your A600!. Greetz to Optima, Corial, Malmix, Cheesy, Teo, Chaser, KBI, Kiero, Substrate, Ubik, Esau, Aceman, Subi, Syphus, RC55, Gasman, Smash, Delafire, Bex, T$, Sunspire, Spot, Qwan, Goto80, Akira, Booger, *DEADGUY*, Wasp, Sixx, Skope, Made, Gaspode, m0d, Silverlance, Puppeh, Megmeg, Tunk, Doz, Gargaj, Mog, Puryx, Dwarf, NE7, DVS, Amiga Junglism, Stingray, Galahad, PMC, lug00ber, Pixtur, Franky, Truck, Gloom, Ferris, Ziphoid, Parsec, Smilodon, Saga Musix all of the Poo-Brain posse and everyone else I forgot. Massive shout to SaVannaH! ** I wanna get in touch ** ianhoffmanuk@gmail.com