I'll give it a go again later.
EDIT: Also, an idea I've had: What about moving SoundPriorites and such to the external file where sounds are included as well?

Posted 14 August 2014 - 05:30 PM
Posted 14 August 2014 - 10:42 PM
Posted 11 September 2014 - 04:07 PM
jsr (UpdateMusic).l ; update Sonic 2 Clone Driver VintRet_NoMusic:
addq.l #4,sp bra.w VintRet_NoMusic
bsr.w Do_Updates
jsr (UpdateMusic).l
Posted 13 September 2014 - 07:47 AM
Clownacy, on 11 September 2014 - 04:07 PM, said:
Posted 13 September 2014 - 09:05 AM
Posted 25 September 2014 - 09:48 AM
Quote
ds.b $500 ; $FFFFF100-$FFFFF5FF ; unused, leftover from the Sonic 1 sound driver (and used by it when you port it to Sonic 2)
Quote
Posted 25 September 2014 - 12:05 PM
Posted 28 September 2014 - 09:10 AM
FadeIn_FadedDone: ; Modified version of MJ's original DAC fade-in fix bclr #2,v_dac_playback_control(a6) ; Clear SFX overriding bit bclr #f_fadein_flag,misc_flags(a6) ; Stop fadein ; Clownacy | Changed to use a bit instead of a byte tst.b v_dac_playback_control(a6) ; is the DAC channel running? bpl.s FadeIn_FM6 ; if not, branch ; FadeIn_DAC: move.b #$B6,d0 ; AMS/FMS/panning of FM6 move.b v_dac_amsfmspan(a6),d1 ; MJ: load DAC channel's L/R/AMS/FMS value bra.w WriteFMII ; MJ: write to FM 6 FadeIn_FM6: moveq #$2B,d0 ; DAC enable/disable register moveq #0,d1 ; Disable DAC bra.w WriteFMI ; End of function DoFadeIn
addq.w #8,sp ; Tamper return value so we don't return to caller? btst #f_updating_dac,misc_flags(a6) ; Clownacy | Is this running on the DAC channel bne.s .dactrack ; If so, branch addq.w #4,sp ; Tamper return value so we don't return to caller ; Clownacy | FM/PSG requires three addresses be stripped off .dactrack:
Posted 28 September 2014 - 07:55 PM
Posted 29 September 2014 - 11:50 AM
Posted 30 September 2014 - 07:35 AM
movea.l a3,a5
movea.l a3,a5 tst.b v_dac_playback_control(a6) ; is the DAC channel running? bmi.s .DAC ; if it is, branch moveq #$2B,d0 ; DAC enable/disable register moveq #0,d1 ; Disable DAC bsr.w WriteFMI .DAC bset #f_fadein_flag,misc_flags(a6) ; Trigger fade-in ; Clownacy | Changed to use a bit instead of a byte move.b #$28,v_fadein_counter(a6) ; Fade-in delay clr.b f_1up_playing(a6) addq.w #8,sp ; Tamper return value so we don't return to caller rts
Posted 03 October 2014 - 08:37 AM
PlaySega: stopZ80 lea (SegaPCM).l,a2 ; 12(3/0) move.l #(SegaPCM_End-SegaPCM),d3 ; 12(3/0) move.b #$2A,(ym2612_a0).l ; 20(4/1) .loop: move.b (a2)+,(ym2612_d0).l ; 20(4/1) moveq #$13,d0 ; 4(1/0) .idle: dbf d0,.idle ; 10(2/0) (loop), 14(3/0) (not looped) subq.l #1,d3 ; 8(1/0) beq.s .endloop ; 10(2/0) (taken), 8(1/0) (not taken) lea (Ctrl_1).w,a0 ; 8(2/0) lea (HW_Port_1_Data).l,a1 ; 12(3/0) jsr (Joypad_Read).w ; 18(2/2) btst #7,(Ctrl_1).w ; 4(1/0) + 8(2/0)/8(2/0) + 8(2/0) (?) beq.s .loop ; 10(2/0) (taken), 8(1/0) (not taken) startZ80 .endloop: addq.w #4,sp rts
PlaySega: stopZ80 lea (SegaPCM).l,a2 ; 12(3/0) lea (ym2612_d0).l,a3 ; 12(3/0) lea (Ctrl_1).w,a4 ; 8(2/0) lea (HW_Port_1_Data).l,a5 ; 12(3/0) move.l #(SegaPCM_End-SegaPCM)-1,d3 ; 12(3/0) move.b #$2A,(ym2612_a0).l ; 20(4/1) .loop: move.b (a2)+,(a3) ; 12(2/1) moveq #$18,d0 ; 4(1/0) .idle: dbf d0,.idle ; 10(2/0) (loop), 14(3/0) (not looped) movea.l a4,a0 ; 4(1/0) movea.l a5,a1 ; 4(1/0) jsr (Joypad_Read).w ; 18(2/2) btst #7,(a4) ; 4(1/0) + 4(1/0)/8(2/0) + 4(1/0) (?) bne.s .endloop ; 10(2/0) (taken), 8(1/0) (not taken) dbf d3,.loop ; 10(2/0) (loop), 14(3/0) (not looped) .endloop: startZ80 addq.w #4,sp rts
Posted 03 October 2014 - 05:21 PM
move.l #(SegaPCM_End-SegaPCM)-1,d3
move.b #$2A,(ym2612_a0).l .loop: move.b (a2)+,(a3)
movea.l a4,a0
btst #7,(a4) bne.s .endloop
Posted 04 October 2014 - 09:41 AM
MarkeyJester, on 03 October 2014 - 05:21 PM, said:
movea.l a4,a0