Как исправить звук SEGA в Sonic 1
(Оригинальное руководство написано Puto)
После редактирования исходного кода Первого Соника, звук «SEGA» становится настоящей головной болью из-за посторонних шумов.
Чтобы исправить это и вернуть нормальное звучание звуку, найди лейбел Sound_E1, он выглядит так:
<asm> Sound_E1: ; XREF: Sound_ExIndex move.b #$88,($A01FFF).l move.w #0,($A11100).l ; start the Z80 move.w #$11,d1 loc_71FC0: move.w #-1,d0 loc_71FC4: nop dbf d0,loc_71FC4 dbf d1,loc_71FC0 addq.w #4,sp rts </asm>
Замени его на это:
<asm> Sound_E1: lea (SegaPCM).l,a2 move.l #$6978,d3 move.b #$2A,($A04000).l PlayPCM_Loop: move.b (a2)+,($A04001).l move.w #$14,d0 dbf d0,* sub.l #1,d3 beq.s return_PlayPCM lea ($FFFFF604).w,a0 lea ($A10003).l,a1 jsr (Joypad_Read).w btst #7,($FFFFF604).w ; Check for Start button bne.s return_PlayPCM ; If start is pressed bra.s PlayPCM_Loop ; Otherwise, continue playing return_PlayPCM: addq.w #4,sp rts </asm>