Heaven/TQA Posted December 31, 2012 Share Posted December 31, 2012 I run into following issue... got brilliant music track by 505 these days and while trying to hack everything together I run into following issue. the song plays and sounds different on RMT 1.28. SAP and XEX sound nearly exactly like RMT but when using in my intro some instruments sound differently or seem at least to do so. so question. when using a double speed RMT track...what do I have to consider? I have called the replay routine twice per VBL. ... jsr RMTPLAYER+3 jsr RMTPLAYER+3 ... but is that the right way to do it or do I need to spread the calls? is there anything I need to setup manually in the RMTPLAYER.A65 or config file? I copied the config file from RMT but did not altered the player source. any ideas welcome. Quote Link to comment Share on other sites More sharing options...
pps Posted December 31, 2012 Share Posted December 31, 2012 (edited) Is it really a must to call the player 2 times in a vbl? RMT has its own timers and speed settings. Did you copy the features right? Edited December 31, 2012 by pps Quote Link to comment Share on other sites More sharing options...
Rybags Posted December 31, 2012 Share Posted December 31, 2012 Calling twice in VBlank means the sound registers get updated too close together - ie just several scanlines apart. You could do the second call halfway down the screen in a DLI - or change the source of the RMT player so it does the sound register stores to some shadow registers instead. On the first call, copy the shadows to Pokey registers straight afterwards. Use a DLI halfway down the screen and copy the shadows to Pokey then. Second method handy if you're pressed for CPU time during active display which is often the case. Quote Link to comment Share on other sites More sharing options...
MaPa Posted December 31, 2012 Share Posted December 31, 2012 (edited) When using double speed, you need to call the rmt_play soubroutine twice per frame, 156 scanlines apart. ie at scanline 0 and 156. When you call it in VBI twice in a row, you "degraded it to 50Hz ". Or you can call it twice in VBI, but remove SetPokey call in rmt_play routine and do: jsr rmt_play jsr SetPokey jsr rmt_play and in middle of screen some interrupt to call SetPokey. Correctly you should call Setpokey first as the audio registers should be updated at exact time (just adding some copying of registers from here there and back) but as I'm musically deaf, I think I would not recognize the "jitter" caused by variable rmt_play routine time. Edited December 31, 2012 by MaPa Quote Link to comment Share on other sites More sharing options...
pps Posted December 31, 2012 Share Posted December 31, 2012 Ah, seems that you never get out of scholl for learning The net is so cool - people all over the world can help you in a few minutes Quote Link to comment Share on other sites More sharing options...
sack-c0s Posted December 31, 2012 Share Posted December 31, 2012 When using double speed, you need to call the rmt_play soubroutine twice per frame, 156 scanlines apart. ie at scanline 0 and 156. When you call it in VBI twice in a row, you "degraded it to 50Hz ". Or you can call it twice in VBI, but remove SetPokey call in rmt_play routine and do: jsr rmt_play jsr SetPokey jsr rmt_play and in middle of screen some interrupt to call SetPokey. Correctly you should call Setpokey first as the audio registers should be updated at exact time (just adding some copying of registers from here there and back) but as I'm musically deaf, I think I would not recognize the "jitter" caused by variable rmt_play routine time. People put a load of effort into adding that jitter and calling it 'humanising' anyway, so I wouldn't worry about it Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted December 31, 2012 Author Share Posted December 31, 2012 thx. Strange that there is no example in the docs or in rmt archive. Quote Link to comment Share on other sites More sharing options...
MaPa Posted December 31, 2012 Share Posted December 31, 2012 In asm_src\music.a65 is example of "universal" player of different speed musics with lots of comments. Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted December 31, 2012 Author Share Posted December 31, 2012 Ah... Need to check that because I am using the optimized version... Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.