matosimi Posted April 7, 2020 Share Posted April 7, 2020 Hi all, I usually modify rmt player routine to create my own stereomode, but I'm a bit confused about existing alternate stereo modes built in rmt player... for instance: ELI STEREOMODE==2 ;* L1 R2 R3 L4 ldy #$ff v_audctl equ *-1 lda trackn_audf+0 ldx trackn_audc+0 sta $d200 stx $d201 sta $d210 ;???? lda trackn_audf+1 ldx trackn_audc+1 sta $d210+2 stx $d211+2 lda trackn_audf+2 ldx trackn_audc+2 sta $d210+4 stx $d211+4 sta $d200+4 ;???? lda trackn_audf+3 ldx trackn_audc+3 sta $d200+6 stx $d201+6 sta $d210+6 ;???? sty $d218 sty $d208 I have marked confusing lines with ";????". What is the purpose of those lines? If there is some purpose, why there is no such line under lda trackn_audf+1 block? -is it a bug? Quote Link to comment Share on other sites More sharing options...
MaPa Posted April 7, 2020 Share Posted April 7, 2020 (edited) I suppose it's for playing "filtered" voices 1+3 etc. Then you need both AUDF1 and AUDF3 set in the same pokey and not one in "left" Pokey and the other in "right" Pokey. Edited April 7, 2020 by MaPa Quote Link to comment Share on other sites More sharing options...
matosimi Posted April 7, 2020 Author Share Posted April 7, 2020 50 minutes ago, MaPa said: I suppose it's for playing "filtered" voices 1+3 etc. Then you need both AUDF1 and AUDF3 set in the same pokey and not one in "left" Pokey and the other in "right" Pokey. I just tried small test and you are right. However I tried several variations of code and presence of first ;???? line did not make a difference... Maybe there is some hidden function there as well, but maybe it's just a bug. Unfortunately there is no option to enable these modes directly in RMT editor... I believe that is also the reason why they are rarely used. I had also discussion with guys behind ASMA that tunes of some of my games are not correctly replayed in ASMA because their respective SAP files are compiled as MONO (Skyscraper and Castle Defender). I had to build correct SAP files on my own to fix this. Quote Link to comment Share on other sites More sharing options...
Rybags Posted April 8, 2020 Share Posted April 8, 2020 I'm not sure. It makes no sense to zero AUDF but do nothing to AUDC as it's not a guaranteed muting method. Filtering on one Pokey is totally independent of the other. As is the overall config of what voices use which clocks etc. Quote Link to comment Share on other sites More sharing options...
MaPa Posted April 8, 2020 Share Posted April 8, 2020 In the pasted part of code there is no zeroing AUDF without AUDC. This part plays mono (4 channel) music on stereo POKEY that voices 1, 4 plays on left POKEY and voices 2, 3 on right POKEY. So when in RMT you use "filtered" voice 1+3, you NEED set AUDF1 and AUDF3 on the SAME pokey to have filter effect. Normally AUDF1 would be set only on left POKEY and AUDF3 only on right. Quote Link to comment Share on other sites More sharing options...
emkay Posted April 8, 2020 Share Posted April 8, 2020 11 minutes ago, MaPa said: In the pasted part of code there is no zeroing AUDF without AUDC. This part plays mono (4 channel) music on stereo POKEY that voices 1, 4 plays on left POKEY and voices 2, 3 on right POKEY. So when in RMT you use "filtered" voice 1+3, you NEED set AUDF1 and AUDF3 on the SAME pokey to have filter effect. Normally AUDF1 would be set only on left POKEY and AUDF3 only on right. That's the explanation. In that case, you could do a real 4 channel POKEY tune that works fine on a stock machine, and the player gives some Stereo to it on 2 POKEYs, if there is a second one detected. Quote Link to comment Share on other sites More sharing options...
MaPa Posted April 8, 2020 Share Posted April 8, 2020 Sure.. in fact I think we used exactly this STEREO mode in Millionaire (yes, just checked it). It has standard 4 channel music, but on stereo POKEY Ataris, it should play somehow stereo. 1 Quote Link to comment Share on other sites More sharing options...
matosimi Posted April 8, 2020 Author Share Posted April 8, 2020 1 hour ago, MaPa said: Sure.. in fact I think we used exactly this STEREO mode in Millionaire (yes, just checked it). It has standard 4 channel music, but on stereo POKEY Ataris, it should play somehow stereo. In Castle Defender I'm using custom mode LBBR (B = both), which sounds stereo but not that divided. This of course (based on our new knowledge) is possible for "simple" (single channel) instruments only. Quote Link to comment Share on other sites More sharing options...
matosimi Posted April 8, 2020 Author Share Posted April 8, 2020 I have just done some tests with pseudo stereo hack.. where you have 4 channel song, where you play all channels on left and all channels on right with some delay. stereohack_music.xex you can control the delay by pressing "1" (+) and "2" (-) keys - it starts with no delay and goes up to 16 cycles. What do you think? I suppose delay 1,2 or 3 could be used, more than 6 is quite disturbing. 2 Quote Link to comment Share on other sites More sharing options...
MaPa Posted April 8, 2020 Share Posted April 8, 2020 (edited) Quote In Castle Defender I'm using custom mode LBBR (B = both), which sounds stereo but not that divided. This of course (based on our new knowledge) is possible for "simple" (single channel) instruments only. IMHO it should play combined voices too if I understand it correclty. Edited April 8, 2020 by MaPa Quote Link to comment Share on other sites More sharing options...
matosimi Posted April 8, 2020 Author Share Posted April 8, 2020 ELI STEREOMODE==4 ;* L1 L2 L3 L4 + reverb in R1 R2 R3 R4 ldy #$ff v_audctl equ *-1 sty yyy lda ptr add shift ;play up to 16 cycles old sounds and #$0f sta tmpptr :3 asl @ add tmpptr ;multiply by 9 (buffer size of 1 set) tax .rept 9,# mva storage+:1,x $d210+:1 .endr lda ptr :3 asl @ add ptr ;multiply by 9 (buffer size of 1 set) tay .rept 4,# lda trackn_audf+:1 ldx trackn_audc+:1 sta $d200+:1*2 sta storage+:1*2,y stx $d201+:1*2 txa sta storage+1+:1*2,y .endr ldx yyy stx $d208 txa sta storage+8,y inc ptr lda ptr and #$0f sta ptr rts storage .rept 16 ;sound buffer size :9 dta 0 ;one set of sound params .endr ptr dta 0 ;actual buffer index yyy dta 0 shift dta 15 ;amout of delay (0-15) tmpptr dta 0 ;delayed buffer index EIF Here is the code if you are curious. Maybe it could be coded more effectively, but I'm ok with it. Quote Link to comment Share on other sites More sharing options...
matosimi Posted April 8, 2020 Author Share Posted April 8, 2020 One more experiment, just out of curiosity: stereoexperiment.xex Quote Link to comment Share on other sites More sharing options...
tane Posted April 8, 2020 Share Posted April 8, 2020 @matosimi Templates for building Title Screens with music: Currently the following examples in the .zip compile a xex that is for the NTSC speed (60Hz). The music plays slower (50Hz) with a PAL machine. However, when exporting a xex from the RMT, that issues has been solved, because in both NTSC and PAL systems, the music plays at the same speed (60Hz). Raster Music Tracker: exporting a .rmt to a xex Is it possible to edit the following codes in order to compile a PAL version playing at 60Hz (the same speed it's heard with a NTSC machine)? Examples add music to image.zip 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.