Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- timer = (u64)SND_TIMER_CLOCK * 0x8000 / sampleRate / speed;
- if ( timer < SND_CHANNEL_TIMER_MIN ) timer = SND_CHANNEL_TIMER_MIN;
- else if ( timer > SND_CHANNEL_TIMER_MAX ) timer = SND_CHANNEL_TIMER_MAX;
- ------------------------------------------------------------------------------------
- The playback speed specifies the speed used for playback. Played back at speed divided by 32768. The faster playback speed makes the playback time shorter, and the pitch of the played sound becomes higher.
- ------------------------------------------------------------------------------------
- RAM_ARM9:02072AB8 ; =============== S U B R O U T I N E =======================================
- RAM_ARM9:02072AB8
- RAM_ARM9:02072AB8
- RAM_ARM9:02072AB8 ; bool __fastcall NNS_SndWaveOutStart__(struct NNSSndWaveOutHandle *handle, struct NNSSndWaveFormat *format, const void *dataaddr, bool loopFlag, int loopStartSample, int samples, int sampleRate, int volume, int speed, int pan)
- RAM_ARM9:02072AB8 NNS_SndWaveOutStart__ ; CODE XREF: playPKMCry__+5Cp
- RAM_ARM9:02072AB8 ; playPKMCry__+C8p
- RAM_ARM9:02072AB8
- RAM_ARM9:02072AB8 var_30 = -0x30
- RAM_ARM9:02072AB8 var_2C = -0x2C
- RAM_ARM9:02072AB8 var_28 = -0x28
- RAM_ARM9:02072AB8 var_24 = -0x24
- RAM_ARM9:02072AB8 loopStartSample = 0
- RAM_ARM9:02072AB8 samples = 4
- RAM_ARM9:02072AB8 sampleRate = 8
- RAM_ARM9:02072AB8 volume = 0xC
- RAM_ARM9:02072AB8 speed = 0x10
- RAM_ARM9:02072AB8 pan = 0x14
- RAM_ARM9:02072AB8
- RAM_ARM9:02072AB8 F8 43 2D E9 STMFD SP!, {R3-R9,LR}
- RAM_ARM9:02072ABC 18 D0 4D E2 SUB SP, SP, #0x18
- RAM_ARM9:02072AC0 01 80 B0 E1 MOVS R8, R1
- RAM_ARM9:02072AC4 00 90 A0 E1 MOV R9, R0
- RAM_ARM9:02072AC8 02 70 A0 E1 MOV R7, R2
- RAM_ARM9:02072ACC 03 60 A0 E1 MOV R6, R3
- RAM_ARM9:02072AD0 04 00 00 0A BEQ loc_2072AE8
- RAM_ARM9:02072AD4 01 00 58 E3 CMP R8, #1
- RAM_ARM9:02072AD8 07 00 00 0A BEQ loc_2072AFC
- RAM_ARM9:02072ADC 02 00 58 E3 CMP R8, #2
- RAM_ARM9:02072AE0 0A 00 00 0A BEQ loc_2072B10
- RAM_ARM9:02072AE4 0D 00 00 EA B loc_2072B20
- RAM_ARM9:02072AE8 ; ---------------------------------------------------------------------------
- RAM_ARM9:02072AE8
- RAM_ARM9:02072AE8 loc_2072AE8 ; CODE XREF: NNS_SndWaveOutStart__+18j
- RAM_ARM9:02072AE8 38 10 9D E5 LDR R1, [SP,#0x38]
- RAM_ARM9:02072AEC 3C 00 9D E5 LDR R0, [SP,#0x3C]
- RAM_ARM9:02072AF0 41 41 A0 E1 MOV R4, R1,ASR#2
- RAM_ARM9:02072AF4 40 51 64 E0 RSB R5, R4, R0,ASR#2
- RAM_ARM9:02072AF8 08 00 00 EA B loc_2072B20
- RAM_ARM9:02072AFC ; ---------------------------------------------------------------------------
- RAM_ARM9:02072AFC
- RAM_ARM9:02072AFC loc_2072AFC ; CODE XREF: NNS_SndWaveOutStart__+20j
- RAM_ARM9:02072AFC 38 10 9D E5 LDR R1, [SP,#0x38]
- RAM_ARM9:02072B00 3C 00 9D E5 LDR R0, [SP,#0x3C]
- RAM_ARM9:02072B04 C1 40 A0 E1 MOV R4, R1,ASR#1
- RAM_ARM9:02072B08 C0 50 64 E0 RSB R5, R4, R0,ASR#1
- RAM_ARM9:02072B0C 03 00 00 EA B loc_2072B20
- RAM_ARM9:02072B10 ; ---------------------------------------------------------------------------
- RAM_ARM9:02072B10
- RAM_ARM9:02072B10 loc_2072B10 ; CODE XREF: NNS_SndWaveOutStart__+28j
- RAM_ARM9:02072B10 38 10 9D E5 LDR R1, [SP,#0x38]
- RAM_ARM9:02072B14 3C 00 9D E5 LDR R0, [SP,#0x3C]
- RAM_ARM9:02072B18 C1 41 A0 E1 MOV R4, R1,ASR#3
- RAM_ARM9:02072B1C C0 51 64 E0 RSB R5, R4, R0,ASR#3
- RAM_ARM9:02072B20
- RAM_ARM9:02072B20 loc_2072B20 ; CODE XREF: NNS_SndWaveOutStart__+2Cj
- RAM_ARM9:02072B20 ; NNS_SndWaveOutStart__+40j ...
- RAM_ARM9:02072B20 40 20 9D E5 LDR R2, [SP,#0x38+sampleRate] ; num2
- RAM_ARM9:02072B24 C0 00 9F E5 LDR R0, =0xD87F8000 ; num1
- RAM_ARM9:02072B28 C2 3F A0 E1 MOV R3, R2,ASR#31
- RAM_ARM9:02072B2C 7F 10 A0 E3 MOV R1, #0x7F ; ''
- RAM_ARM9:02072B30 3B A5 00 EB BL division64BitUnsigned__
- RAM_ARM9:02072B34 48 20 9D E5 LDR R2, [SP,#0x48] ; num2
- RAM_ARM9:02072B38 C2 3F A0 E1 MOV R3, R2,ASR#31
- RAM_ARM9:02072B3C 38 A5 00 EB BL division64BitUnsigned__
- RAM_ARM9:02072B40 00 00 51 E3 CMP R1, #0
- RAM_ARM9:02072B44 10 20 A0 E3 MOV R2, #0x10
- RAM_ARM9:02072B48 10 00 50 03 CMPEQ R0, #0x10
- RAM_ARM9:02072B4C 00 30 A0 E3 MOV R3, #0
- RAM_ARM9:02072B50 02 00 A0 31 MOVCC R0, R2
- RAM_ARM9:02072B54 03 00 00 3A BCC loc_2072B68
- RAM_ARM9:02072B58 90 20 9F E5 LDR R2, =0xFFFF
- RAM_ARM9:02072B5C 03 00 51 E1 CMP R1, R3
- RAM_ARM9:02072B60 02 00 50 01 CMPEQ R0, R2
- RAM_ARM9:02072B64 02 00 A0 81 MOVHI R0, R2
- RAM_ARM9:02072B68
- RAM_ARM9:02072B68 loc_2072B68 ; CODE XREF: NNS_SndWaveOutStart__+9Cj
- RAM_ARM9:02072B68 44 10 9D E5 LDR R1, [SP,#0x44]
- RAM_ARM9:02072B6C 30 00 8D E8 STMEA SP, {R4,R5}
- RAM_ARM9:02072B70 08 10 8D E5 STR R1, [SP,#8]
- RAM_ARM9:02072B74 00 10 A0 E3 MOV R1, #0
- RAM_ARM9:02072B78 0C 10 8D E5 STR R1, [SP,#0xC]
- RAM_ARM9:02072B7C 00 00 56 E3 CMP R6, #0
- RAM_ARM9:02072B80 01 30 A0 13 MOVNE R3, #1
- RAM_ARM9:02072B84 4C 10 9D E5 LDR R1, [SP,#0x4C]
- RAM_ARM9:02072B88 10 00 8D E5 STR R0, [SP,#0x10]
- RAM_ARM9:02072B8C 14 10 8D E5 STR R1, [SP,#0x14]
- RAM_ARM9:02072B90 00 00 99 E5 LDR R0, [R9]
- RAM_ARM9:02072B94 02 30 A0 03 MOVEQ R3, #2
- RAM_ARM9:02072B98 08 10 A0 E1 MOV R1, R8
- RAM_ARM9:02072B9C 07 20 A0 E1 MOV R2, R7
- RAM_ARM9:02072BA0 B4 5A 00 EB BL SND_SetupChannelPcm__
- RAM_ARM9:02072BA4 00 10 A0 E3 MOV R1, #0
- RAM_ARM9:02072BA8 00 00 99 E5 LDR R0, [R9]
- RAM_ARM9:02072BAC 01 20 A0 E3 MOV R2, #1
- RAM_ARM9:02072BB0 12 00 A0 E1 MOV R0, R2,LSL R0
- RAM_ARM9:02072BB4 01 20 A0 E1 MOV R2, R1
- RAM_ARM9:02072BB8 01 30 A0 E1 MOV R3, R1
- RAM_ARM9:02072BBC 42 5A 00 EB BL SND_StartTimer__
- RAM_ARM9:02072BC0 01 00 A0 E3 MOV R0, #1
- RAM_ARM9:02072BC4 08 00 89 E5 STR R0, [R9,#8]
- RAM_ARM9:02072BC8 00 00 A0 E3 MOV R0, #0
- RAM_ARM9:02072BCC 0C 00 89 E5 STR R0, [R9,#0xC]
- RAM_ARM9:02072BD0 60 5C 00 EB BL SND_GetCurrentCommandTag__
- RAM_ARM9:02072BD4 10 00 89 E5 STR R0, [R9,#0x10]
- RAM_ARM9:02072BD8 40 10 9D E5 LDR R1, [SP,#0x40]
- RAM_ARM9:02072BDC 01 00 A0 E3 MOV R0, #1
- RAM_ARM9:02072BE0 04 10 89 E5 STR R1, [R9,#4]
- RAM_ARM9:02072BE4 18 D0 8D E2 ADD SP, SP, #0x18
- RAM_ARM9:02072BE8 F8 83 BD E8 LDMFD SP!, {R3-R9,PC}
- RAM_ARM9:02072BE8 ; End of function NNS_SndWaveOutStart__
- RAM_ARM9:02072BE8
- RAM_ARM9:02072BE8 ; ---------------------------------------------------------------------------
- RAM_ARM9:02072BEC ; unsigned __int64 dword_2072BEC
- RAM_ARM9:02072BEC 00 80 7F D8 dword_2072BEC DCD 0xD87F8000 ; DATA XREF: NNS_SndWaveOutStart__+6Cr
- RAM_ARM9:02072BF0 FF FF 00 00 dword_2072BF0 DCD 0xFFFF ; DATA XREF: NNS_SndWaveOutStart__+A0r
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement