SOUND FX GENERATOR by Simon Owen So this is where Simon Owen (he of Sprite Designer fame) steps in. With his FX Generator you can reduce the complexities and numbers involved into more palatable and readable graphs and wave-forms. And further more, you can use any sound you design in your own programs. Method The same old routine. Using the Hex Loader program, type in the first program (the massive one) entitled "Effects" which is 2143 bytes long and begins at 55000. Afterwards, quit the Hex Loader by pressing the 's' key, and then save the precious code with SAVE "Effects" CODE 55000, 2143. The second program, called "PLAY", is not essential but should you wish to use it follow the same method as above and then use: SAVE "PLAY" CODE 65000,222. Then when you feel a surge of inspiration type RANDOMIZE USR 55000 to enter ... The Generator This is the main part of the program where your vociferations and noisy desires can have free reign. The screen shot in this section [Which was missing. JimG] will indicate to you the what-means-what and the that-means-that. Use the following keys to create your cacophony: Key Effect Q Pitch value down [by 1] A Pitch value up [by 1] O Down one note P Up one note N Volume down one M Volume up one Space Play all 256 notes CapSh Auto play ON SymSh Auto play OFF T Change to white noise Y Change to tone 8 Reset all values V Reset all volumes to 15 B Set volume to 0 1 Exit to Basic L Load saved file K Save file: move cursor to end of effect then press 'K' C Repeat copy: move cursor to last note in unit then press 'C' [These next four command keys were missed out. JimG] W Pitch value down [by 10] S Pitch value up [by 10] E Pitch value down [by 100] D Pitch value up [by 100] Here are a few pointers from the programmer for you to note: - Type in the program. - Concentrate your design on patterns. If it looks smooth and streamlined then it'll probably sound that way. - For a "rest" or pause use pitch 0 - it's too high to be heard. WARNING: take all dogs out of the room. - Experiment with the "repeat copy" option for excellent effects. And once you've designed your zappy noise, SAVE it, and then load in ... The Play Program [The first eight bytes of the hex dump were missing. As 65004-65007 are data] [and the routine has two start points at 65000 and 65002 and there are two ] [routines in the remaining code which are not accessed from anywhere else, I] [deduced that the first four bytes must be two JR instructions to jump to ] [these two routines. This seems to work OK. JimG] Assuming that you've entered this program and have it on tape, then load it with CLEAR 64999: LOAD "" CODE. Once you've done that, load in your saved sound data with LOAD "" CODE a, where 'a' equals the address you want the data at. Say, for arguments sake, you want the data at 32768, you would type: LOAD "" CODE 32768 [Of course, without a CLEAR 32767 first, the Spectrum might well crash after this, depending on the location of RAMTOP. JimG] and then use: POKE 65004, 32768-256*INT (32768/256) POKE 65005, INT (32768/256) RANDOMIZE USR 65000 If you want to play the effect note by note, do the above and then use: POKE 65006,255 POKE 65007,0 RANDOMIZE USR 65002 Now every time you call the routine it will play the next note in the sequence. This is especially useful when you want to do other things like scan the keyboard or have a cup of tea while you're playing the sound. [Text typed by Jim Grimwood for The Type Fantastic]