| |
Higgie
Registered: Apr 2002 Posts: 127 |
How to deal with multispeed tunes?
hello you coders!
i'm currently doing my first (except for some bullshit from back in the late 80s/early 90s) steps in coding and while checking out some tunes from HVSC as background music i stumbled across some 'multispeed' tunes. some questions came up my mind...
1. am i right saying that multispeed means calling the playroutine multiple times per frame?
2. is it just calling the routine at any time, just calling it often enough in every frame?
3. or does replaying multispeed tunes require a special timing?
4. would loose $d012 polling be sufficient? (no stable interrupt)
i have to admit that i haven't tried out yet and wanted to get the theoretical background before i started off into the (possibly) wrong direction.
thanx in advance! |
|
... 31 posts hidden. Click here to view all posts.... |
| |
Hate Bush
Registered: Jul 2002 Posts: 465 |
i could be wrong, but judging from my amateurish experience - multis made in goattracker are all rather timing-sensitive. one scanline too early/late and the note triggering will suffer. so beware. |
| |
SIDWAVE Account closed
Registered: Apr 2002 Posts: 2238 |
Quote: @Rambones: Multispeed is multispeed, no matter where your jsr goes :).
Btw. i also experienced that some multispeed .sid-tunes sound different when i ran them in Vice, so i believe there is some difference to sidplay anyways. ..and yes, i know how to play a multispeed tune in Vice :).
HCL, if you have interpolation turned on in VICE, it will sound different. i guess thats it. |
| |
SIDWAVE Account closed
Registered: Apr 2002 Posts: 2238 |
Quote: i could be wrong, but judging from my amateurish experience - multis made in goattracker are all rather timing-sensitive. one scanline too early/late and the note triggering will suffer. so beware.
Because goat dont have seperate speed call that only update specific d4xx.. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
are you trying to say that it would be less criticial when a different method of updating the sid would be used?
*slap* |
| |
cadaver
Registered: Feb 2002 Posts: 1160 |
In GT multispeed, tempo should be a multiple of the multispeed-factor, and same with the gateoff timers. If that's ensured, theoretically the sensitive playcalls containing triggering related stuff should happen on the same rasterline (same as singlespeed). |
| |
HCL
Registered: Feb 2003 Posts: 728 |
For the record.. I'm always using sid settings "reSID" and sample method "fast", and that's when i have encountered these differences in sound.
..and btw. there are far too many sound settings in Vice. We don't have Pentium90MHz anymore so just throw away all those low-end emulation settings plz!!
I second Randall there also, especially GoatTracker multispeeds seems to have these problems. I didn't really dig too deep into this, but i think i found out that when turning off the screen (d011=0) i got somewhat better sound. If that's the case, it must be the badlines that cause the timing problem, and i haven't experienced such sensitiveness with other players. My 5 cents. |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Quote: For the record.. I'm always using sid settings "reSID" and sample method "fast", and that's when i have encountered these differences in sound.
..and btw. there are far too many sound settings in Vice. We don't have Pentium90MHz anymore so just throw away all those low-end emulation settings plz!!
I second Randall there also, especially GoatTracker multispeeds seems to have these problems. I didn't really dig too deep into this, but i think i found out that when turning off the screen (d011=0) i got somewhat better sound. If that's the case, it must be the badlines that cause the timing problem, and i haven't experienced such sensitiveness with other players. My 5 cents.
I agree with both Randall and HCL regarding GoatTracker sounds. The 4x tune used in the intro for The Wild Bunch had much better snare drums in the original from Linus than in the final production. It was very sensitive to where we STA'd the SID-registers. |
| |
cadaver
Registered: Feb 2002 Posts: 1160 |
The problem in GT playroutine in both multi & singlespeed is that it does (buffered mode):
- exec channel 1
- write regs 1
- exec channel 2
- write regs 2
- exec channel 3
- write regs 3
while better would be to write all regs in succession. Bad lines indeed make a difference - it takes a varying amount of time to execute the channel code. If you don't mind losing some zeropage, use the zeropage ghostregs-mode, and you can then write the ghost registers to SID yourself.
|
| |
dalezy
Registered: Apr 2002 Posts: 476 |
i never really understood the multispeed-player-example that came with goattracker, at least not to the extend that the output made sense the way it was intended to sound like .. my tune plattenbauknecht for example was a hard beast to get played right using that one code-example, is there a surefire way to make tunes that were done in gt to sound like they should once they're loaded in a player routine? iirc, i had to multiply that one call-routine, that's all i understood, but maybe i was doing it all wrong. =) |
| |
HCL
Registered: Feb 2003 Posts: 728 |
I'd say: rewrite the player. It's a bug that should be corrected. |
Previous - 1 | 2 | 3 | 4 | 5 - Next |