| |
MC Account closed
Registered: Jul 2009 Posts: 71 |
music-assembler
Any of you ever used it?
I am partly responsible for its existence.
Together with OPM who lived next door from me at the time (we lost contact) we decided after ripping lots of game tunes by Rob Hubbard and Martin Galway that we could do better technically.
We created a player routine which could play good sounding music based on tracks, sequences and presets (like hubbard's routine) minimizing RAM usage but without having big peaks in rasterline usage. The trick was working around the waiting stuff that had to be done with the SID or otherwise it wouldn't trigger. We accomplished this by having the player think ahead and make decisions for the next time the interrupt would be triggered. This routine would later become the music-assembler player code. The rest is history.
The two of us created the player routine, OPM was responsible for the track editor and I did the sequence and preset editors. We contacted Markt+Technik who also published some magazines in Germany and we had a publishing deal. They sold quite a large number of copies to my surprise at the time. I think I was about 17 years old or something back then.
I've read there were later 'updated' versions of our 1.0 release by Triad. Can anyone tell me what they changed/improved? I haven't seen a C64 in decades.
Cheers,
Marco Swagerman a.k.a. MC/DusaT
|
|
... 43 posts hidden. Click here to view all posts.... |
| |
Stainless Steel
Registered: Mar 2003 Posts: 966 |
Quoting JanJanfailing as in f.ex a lot of ben daglish tunes I strongly disagree on the failing part. It's a matter of taste though :-D |
| |
Frantic
Registered: Mar 2003 Posts: 1661 |
@Jan: While oscillator reset is often included in hardrestart routines for the reason that you mention, it does not itself have anything to do with the ADSR bug (oscillator != ADSR). The ADSR bug is a bug relating to the internal counter of the ADSR generator. In some conditions, this counter will not never hit a certain value which determines when the release is supposed to start, after which is supposed to start counting downwards (the release), but instead continues to count upwards and upwards until the counter eventually wraps around. This takes longer time than hitting the release condition and then counting downwards, as it should, and hence the timing of the ADSR may become unstable once you trig the next attack since the internal counter is somewhere out there in outer space. It is hard to explain in more detail than this, and those who are interested and able to are encouraged to have a look in the source code for resid, which does emulate the ADSR bug.
Also, no delay is required to reset the oscillator as you claim here. Just flip the testbit on and off, and the oscillator will be restarted immediately. The ADSR stuff needs some time to ensure that the internal counter of the ADSR generator will be "normalized" though, something like one or two frames, depending on what ADSR values that are involved.
So, just to conclude.. what people calls "hard restart" is really two different things:
1. Taking measures to stabilize the ADSR counter.
2. Setting the testbit to restart the oscillator.
Number 1 is obligatory for something to be called "hard restart", but number 2 is not implemented by everyone. Good editors allows the user to choose if and how to do these things, since the sound will be different depending on how you do it (i.e. there is no single "right" way to do hard restart) and different ways of doing it will fit different kinds of sounds/instruments in different ways. |
| |
MC Account closed
Registered: Jul 2009 Posts: 71 |
Aha that clears up things for me. Thanks for your replies lads. |
| |
Frantic
Registered: Mar 2003 Posts: 1661 |
I should just add that my account of the internal workings of the ADSR counter is quite likely not completely accurate in all its details. I just wrote from memory, but it was quite a long time since I digged into the resid sourcecode myself. Still it should give a general idea of the nature of the problem that is involved, i.e. the counter not counting in the right way in certain (not that uncommon) conditions. The rest of what I wrote should be accurate.
It could perhaps also be added that a sid tune would be "unstable" (with respect to ADSR) in exactly the same way each time the tune was played if it was called from cycle exact timed code. That is to say, no "indeterminism" is involved of course... I guess that is obvious, but it might not hurt to say it. |
| |
SIDWAVE Account closed
Registered: Apr 2002 Posts: 2238 |
My knowledge is just hearsay.. I havent tried to code it myself yet, so i am not experienced.
I started to make a music player in january, and i had the tracker system ready, and some limited sound, and a data format, and then my harddisk died and i lost it all.
i didnt take a backup for 3 months, and that was a big mistake.. :(
if i should try again, i wont code it on pc like i did, i will use TASS on c64 instead (tass rom v2 by soundemon) - i feel much better touching the c64 a whole night, than a cold soulless pc anyway :D |
| |
Frantic
Registered: Mar 2003 Posts: 1661 |
Didn't mean that as criticism. :) Just wanted to clear things up a bit.
By the way, there is also a text by Cadaver about hard-restart in the following release: 10 Years HVSC
Might be worth checking out for those who are interested to learn a little more about hard-restart. |
| |
MC Account closed
Registered: Jul 2009 Posts: 71 |
It never occured to me there was a bug in the old SID. At least I never noticed it.
I've been listening to some of my own tunes tonight which I had long forgotten. Sure brings back memories people!
Browsing through my old stuff these are the dutch usa-team ones I remembered and like best:
1. Rock Da House, for it's funky bassline near the end of it.
2. Untouched (music-assembler intro music)
3. Ode to Galway (the tune that kinda kickstarted me)
I never was happy with the tracks I did for Rollerboard, they were repetitive and boring but time was short I can remember.
Ofcourse I never felt I could even come close to the quality tunes done by the ones who inspired me: Martin Galway, Rob Hubbard and later on Jeroen Tel.
Thank you people for keeping C64 music alive. I seem to have missed out on so much good stuff... This lad is sure as hell having a blast from the past atm.
|
| |
SIDWAVE Account closed
Registered: Apr 2002 Posts: 2238 |
Still Rolling is a timeless masterpiece. that lead sound with that smooth round soundmon bass; at that time it was some of the best sound design made in that hopeless editor.. :D |
| |
Perplex
Registered: Feb 2009 Posts: 257 |
Quoting Jan HarriesI started to make a music player in january, and i had the tracker system ready, and some limited sound, and a data format, and then my harddisk died and i lost it all.
i didnt take a backup for 3 months, and that was a big mistake.. :(
Your mistake was not using revision control and commiting your work to a repository somewhere where backup is done automatically. Losing months of work to disk crashes is the modern version of "the dog ate my homework", really.
|
| |
chatGPZ
Registered: Dec 2001 Posts: 11523 |
Quote:Losing months of work to disk crashes is the modern version of "the dog ate my homework", really.
cant agree with that :) the later was an excuse for beeing lazy... the first is just a sign of beeing stupid =P |
Previous - 1 | 2 | 3 | 4 | 5 | 6 - Next |