In Milkytracker if you've got a square wave you can make the other Gameboy/NES waves from it. Say it's 64 bytes long, make the loop 32 bytes big within it (moving the start and end points in so there's an equal amount of wave above and below the middle point), now drop the instrument by an octave to get the pitch back where it was if you want. (keep the rest of the sample, don't minimise yet)
To get the other tone timbres just move the the start loop point back so you have unequal amounts of wave above & below the middle line. That's the principals of pulsewidth modulation and how the Gameboy/NES timbres are generated. (it's been a few years since I wrote Gameboy games but I think they were 12.5%, 25%, 50%, 75% "duty" for the waveforms) The Gameboy's third channel uses the same method, you can have your own (32-byte?) waveforms on it.
For "SID" (c64/Amiga) emulation:
Generate a saw-tooth wave, duplicate it to another instrument and reverse the new sample. Now change the finetune of the second insturment to +8 or above. Play the same pitched note on two channels and you'll get some automatic pulsewidth modulation. For more on that you might want to read this tutorial.