Для начала нам потребуется:
-Прямые руки,
-Звуковой драйвер.Скачать!
-И самое главное,исходник.
Приступим!
Качаем звуковой движок,The Sega Data Compressor и разжимаем драйвер в Kosinski.Разжали?Кидаем его в папку ...sound/dac.В эту же папку будем сохранять сэмплы...
Приступаем к редактированию кода:
Ищем суброутину SoundDriverLoad.Заменяем в ней это:
lea (Kos_Z80).l,a0 ; load sound driver
lea ($A00000).l,a1
bsr.w KosDec ; decompressна это:
moveq #0,d0
lea (Z80_Driver).l,a0 ; load the sound driver
lea ($A00000).l,a1 ; load the destiny offset
move.w (Z80_Size).l,d0 ; load the weight of the sound driver
sub.w #1,d0
SoundDriver_Z80:
move.b (a0)+,(a1)+
dbf d0,SoundDriver_Z80Далее ищем
Kos_Z80: incbin sound\z80_1.bin
dc.w ((SegaPCM&$FF)<<8)+((SegaPCM&$FF00)>>8)
dc.b $21
dc.w (((EndOfRom-SegaPCM)&$FF)<<8)+(((EndOfRom-SegaPCM)&$FF00)>>8)
incbin sound\z80_2.bin
evenна это:
Z80_Driver: incbin sound\dac\z80_new.bin
even
; ===========================================================================
; Definitions
; ===========================================================================
DacDef0:
dc.w ((($8000+(DacPCM0-(DacPCM0&$FFFF8000)))&$FF)<<8)+((($8000+(DacPCM0-(DacPCM0&$FFFF8000)))&$FF00)>>8)
dc.w $5203
dc.b $80
dc.w (((DacPCM0/$100)&$FF)<<8)+(((DacPCM0/$100)&$FF00)>>8)
dc.b $00
DacDef1:
dc.w ((($8000+(DacPCM1-(DacPCM1&$FFFF8000)))&$FF)<<8)+((($8000+(DacPCM1-(DacPCM1&$FFFF8000)))&$FF00)>>8)
dc.w $7007
dc.b $88
dc.w (((DacPCM1/$100)&$FF)<<8)+(((DacPCM1/$100)&$FF00)>>8)
dc.b $00
DacDef2:
dc.w ((($8000+(DacPCM2-(DacPCM2&$FFFF8000)))&$FF)<<8)+((($8000+(DacPCM2-(DacPCM2&$FFFF8000)))&$FF00)>>8)
dc.w $1610
dc.b $81
dc.w (((DacPCM2/$100)&$FF)<<8)+(((DacPCM2/$100)&$FF00)>>8)
dc.b $00
DacDef3:
dc.w 0
dc.w 0
dc.b 0
dc.w 0
dc.b 0
DacDef4:
dc.w 0
dc.w 0
dc.b 0
dc.w 0
dc.b 0
DacDef5:
dc.w 0
dc.w 0
dc.b 0
dc.w 0
dc.b 0
DacDef6:
dc.w 0
dc.w 0
dc.b 0
dc.w 0
dc.b 0
DacDef7:
dc.w 0
dc.w 0
dc.b 0
dc.w 0
dc.b 0
DacDef8:
dc.w 0
dc.w 0
dc.b 0
dc.w 0
dc.b 0
DacDef9:
dc.w 0
dc.w 0
dc.b 0
dc.w 0
dc.b 0
DacDefA:
dc.w 0
dc.w 0
dc.b 0
dc.w 0
dc.b 0
DacDefB:
dc.w 0
dc.w 0
dc.b 0
dc.w 0
dc.b 0
DacDefC:
dc.w 0
dc.w 0
dc.b 0
dc.w 0
dc.b 0
DacDefD:
dc.w 0
dc.w 0
dc.b 0
dc.w 0
dc.b 0
DacDefE:
dc.w 0
dc.w 0
dc.b 0
dc.w 0
dc.b 0
; =============================================================
; Samples
; =============================================================
DacPCM0:
incbin sound\dac\dac1d.bin
even
DacPCM1:
incbin sound\dac\dac2d.bin
even
DacPCM2:
incbin sound\dac\dac3d.bin
even
Z80_Size:
dc.w DacPCM0-Z80_DriverЭта таблица на 14 слотов для сэмплов.Занято всего 3 слота.Если вам нужно больше слотов.Заполнять можно до тех пор,пока не дойдёте до 14 слота.Гдето на ретро есть гид по увеличению количества слотов.
Для каждого сэмпла конвертим семпл в Waw 8bin 24khz Mono *помоему так*.Когда наконвертируете и добавите в игру сэмплов,настройте в этой таблице Pitch для каждого сэмпла.Потом компилируем и радуемся.
Гид будет редактироваться и возможно дополняться ресурсами.