FF7/Field/Script/Opcodes/F2 AKAO

From Final Fantasy Inside
< FF7‎ | Field‎ | Script‎ | Opcodes
Revision as of 12:54, 18 March 2017 by my_wiki>DLPB2 (Operation list (by Aali, amendments by DLPB))
Jump to navigation Jump to search
  • Opcode: 0xF2
  • Short name: AKAO
  • Long name: Sound Operation (byte param1)

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, amendments by DLPB)
  • 10 Play music [param1=Music ID]
  • 14 Same as 10
  • 15 Unknown
  • 18 Play music and resume from last position [param1=Music ID]
  • 19 Same as 18

  • 20 Play a 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 #4, but ignore Opcode F1 [param1=Panning, param2=Effect ID]

  • 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 Set music volume [param1=Volume level]
  • 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]

  • D0 Set 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]

  • F0 Stop music
  • F1 Stop sound effects (this will not affect operation 0x30)

Please Note

All transitions use the formula Transition_time (in seconds) = param1 / 60
The pan (audio L/R balance) values range from 0 to 127, where 0 is fully left, 64 is centre, and 127 is fully right.
The maximum game volume is 127.
The tempo value ranges from 0 to 64 (0x40). The normal tempo is 0.

It should also be noted that there is very likely no difference between operations 0x20 to 0x27. They all likely have the exact same outcome in FF7.