FF7/Field/Script/Opcodes/F2 AKAO

From Final Fantasy Inside
< FF7‎ | Field‎ | Script‎ | Opcodes
Revision as of 10:16, 8 July 2017 by my_wiki>DLPB2 (Operation list (by Aali and DLPB))
  • Opcode: 0xF2
  • Short name: AKAO
  • Long name: Sound Operation (byte param1)

Contents

Memory layout

0xF2 B1 / B2 B3 / B4 0 / B6 Op Param1 Param2 Param3 Param4 Param5

Arguments

  • const Bit[4] B1: Bank to retrieve Param1, or zero if Param1 is specified as a literal value.
  • const Bit[4] B2: Bank to retrieve Param2, or zero if Param2 is specified as a literal value.
  • const Bit[4] B3: Bank to retrieve Param3, or zero if Param3 is specified as a literal value.
  • const Bit[4] B4: Bank to retrieve Param4, or zero if Param4 is specified as a literal value.
  • const Bit[4] 0: Zero.
  • const Bit[4] B6: Bank to retrieve Param5, or zero if Param5 is specified as a literal value.
  • const UByte Op: Operation to perform.
  • const UByte Param1: Parameter 1.
  • const UShort Param2: Parameter 2.
  • const UShort Param3: Parameter 3.
  • const UShort Param4: Parameter 4.
  • const UShort Param5: Parameter 5.

Description

Perform an operation described by Op, and uses the parameters depending on the operation.

Operation list (by Aali and DLPB)
  • 10 Play music [param1=Music ID]
  • 14 Same as 10
  • 15 Unknown Serves no significant function
  • 18 Play music and resume from last position [param1=Music ID]
  • 19 Same as 18

  • 20 Play one sound effect [param1=Panning, param2=Effect ID on channel #1]
  • 21 Play two sound effects [param1=Panning, param2=Effect ID on channel #1, param3=Effect ID on channel #2]
  • 22 Play three sound effects [param1=Panning, param2=Effect ID on channel #1, param3=Effect ID on channel #2, param4=Effect ID on channel #3]
  • 23 Play four sound effects [param1=Panning, param2=Effect ID on channel #1, param3=Effect ID on channel #2, param4=Effect ID on channel #3, param5=Effect ID on channel #4]
  • 24 Same as 20
  • 25 Same as 21
  • 26 Same as 22
  • 27 Same as 23
  • 28 Play a sound effect on channel #1 [param1=Panning, param2=Effect ID]
  • 29 Play a sound effect on channel #2 [param1=Panning, param2=Effect ID]
  • 2A Play a sound effect on channel #3 [param1=Panning, param2=Effect ID]
  • 2B Play a sound effect on channel #4 [param1=Panning, param2=Effect ID]
  • 30 Play a sound effect on channel #5 with centre panning

  • 98 Resumes music and sound effects
  • 99 Pauses music and sound effects
  • 9A Resumes only the music
  • 9B Pauses only the music
  • 9C Resumes only sound effects
  • 9D Pauses only sound effects

  • A0 Volume control (channel #1) [param1=Volume]
  • A1 Volume control (channel #2) [param1=Volume]
  • A2 Volume control (channel #3) [param1=Volume]
  • A3 Volume control (channel #4) [param1=Volume]
  • A4 Volume transition (channel #1) [param1=Transition time, param2=Target volume]
  • A5 Volume transition (channel #2) [param1=Transition time, param2=Target volume]
  • A6 Volume transition (channel #3) [param1=Transition time, param2=Target volume]
  • A7 Volume transition (channel #4) [param1=Transition time, param2=Target volume]
  • A8 Pan control (channel #1) [param1=Panning]
  • A9 Pan control (channel #2) [param1=Panning]
  • AA Pan control (channel #3) [param1=Panning]
  • AB Pan control (channel #4) [param1=Panning]
  • AC Pan transition (channel #1) [param1=Transition time, param2=Target panning]
  • AD Pan transition (channel #2) [param1=Transition time, param2=Target panning]
  • AE Pan transition (channel #3) [param1=Transition time, param2=Target panning]
  • AF Pan transition (channel #4) [param1=Transition time, param2=Target panning]

  • B0 Tempo control (channel #1) [param1=Tempo]
  • B1 Tempo control (channel #2) [param1=Tempo]
  • B2 Tempo control (channel #3) [param1=Tempo]
  • B3 Tempo control (channel #4) [param1=Tempo]
  • B4 Tempo transition (channel #1) [param1=Transition time, param2=Target tempo]
  • B5 Tempo transition (channel #2) [param1=Transition time, param2=Target tempo]
  • B6 Tempo transition (channel #3) [param1=Transition time, param2=Target tempo]
  • B7 Tempo transition (channel #4) [param1=Transition time, param2=Target tempo]
  • B8 Volume control for channel #1 to #4 [param1=Volume]
  • B9 Volume transition for channel #1 to #4 [param1=Transition time, param2=Target volume]
  • BA Pan control for channel #1 to #4 [param1=Panning]
  • BB Pan transition for channel #1 to #4 [param1=Transition time, param2=Target panning]
  • BC Tempo control for channel #1 to #4 [param1=Tempo]
  • BD Tempo transition for channel #1 to #4 [param1=Transition time, param2=Target tempo]

  • C0 Music volume [param1=Volume]
  • C1 Music volume transition [param1=Transition time, param2=Target volume]
  • C2 Music From-To volume transition [param1=Transition time, param2=Starting volume, param3=Ending volume]

  • C8 Music balance [param1=balance]
  • C9 Music balance transition [param1=Transition time, param2=Target balance]
  • CA Music From-To balance transition [param1=Transition time, param2=Starting balance, param3=Ending balance]

  • D0 Music tempo [param1=Tempo]
  • D1 Music tempo transition [param1=Transition time, param2=Target tempo]
  • D2 Music From-To tempo transition [param1=Transition time, param2=Starting tempo, param3=Ending tempo]

  • E4 Reset music channel to default values (pan 0x40, volume 0x7f, tempo 0x00)

  • F0 Stop music
  • F1 Stop sound effects (channel #1 to #4)

Please Note

Channel #5 (used from operation 0x30) is dedicated to the menu and should not be used for anything else.
All transitions use the formula Transition_time (in seconds) = param1 / 60.
The pan (audio L/R balance) value range is 0 to 127, where 0 is fully left, 64 is centre, and 127 is fully right.
The maximum volume is 127.
The tempo value range is 0 to 127. The normal tempo is 0.
Operations 0x10/14/18/19 do not work on the PSX game from field script [CURRENTLY CHECKING THIS].
Operations 0xC8/C9/CA are not implemented in the PSX version or PC version despite the field script calling them. Operation 0xE4 does not work in the PC version, as it has not been implemented.