Changes
From Final Fantasy Inside
no edit summary
* Opcode: '''0xF2'''
* Short name: '''AKAO'''
* Long name: Sound Operation (byte param1)
==== Memory layout ====
{| border="1" cellspacing="1" cellpadding="3" style="border: 1px solid black; border-collapse: collapse;"
! width="40" | 0xF2
! width="50" | ''B1 / B2''
! width="50" | ''B3 / B4''
! width="50" | ''0 / B6''
! width="40" | ''Op''
! width="40" | ''Param1''
! width="40" | ''Param2''
! width="40" | ''Param3''
! width="40" | ''Param4''
! width="40" | ''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 UByte''' ''Param2'': Parameter 2.
* '''const UByte''' ''Param3'': Parameter 3.
* '''const UByte''' ''Param4'': Parameter 4.
* '''const UByte''' ''Param5'': Parameter 5.
==== Description ====
Perform an operation described by ''Op'', and uses the parameters depending on the operation.
===== Operation list =====
<ul>
<li>'''20''' ''Unknown''</li>
<li>'''21''' ''Unknown''</li>
<li>'''22''' ''Unknown''</li>
<li>'''23''' ''Unknown''</li>
----
<li>'''28''' Play a sound effect on channel #1</li>
<li>'''29''' Play a sound effect on channel #2</li>
<li>'''2A''' Play a sound effect on channel #3</li>
<li>'''2B''' Play a sound effect on channel #4</li>
----
<li>'''98''' Resumes music and sound effects</li>
<li>'''99''' Pauses music and sound effects</li>
<li>'''9A''' Resumes only the music</li>
<li>'''9B''' Pauses only the music</li>
<li>'''9C''' Resumes only sound effects</li>
<li>'''9D''' Pauses only sound effects</li>
----
<li>'''A0''' Volume control (channel #1)</li>
<li>'''A1''' Volume control (channel #2)</li>
<li>'''A2''' Volume control (channel #3)</li>
<li>'''A3''' Volume control (channel #4)</li>
<li>'''A4''' Volume transitions (channel #1)</li>
<li>'''A5''' Volume transitions (channel #2)</li>
<li>'''A6''' Volume transitions (channel #3)</li>
<li>'''A7''' Volume transitions (channel #4)</li>
<li>'''A8''' Pan control (channel #1)</li>
<li>'''A9''' Pan control (channel #2)</li>
<li>'''AA''' Pan control (channel #3)</li>
<li>'''AB''' Pan control (channel #4)</li>
<li>'''AC''' Pan transitions (channel #1)</li>
<li>'''AD''' Pan transitions (channel #2)</li>
<li>'''AE''' Pan transitions (channel #3)</li>
<li>'''AF''' Pan transitions (channel #4)</li>
<li>'''B0''' Tempo control (channel #1)</li>
<li>'''B1''' Tempo control (channel #2)</li>
<li>'''B2''' Tempo control (channel #3)</li>
<li>'''B3''' Tempo control (channel #4)</li>
<li>'''B4''' Tempo transitions (channel #1)</li>
<li>'''B5''' Tempo transitions (channel #2)</li>
<li>'''B6''' Tempo transitions (channel #3)</li>
<li>'''B7''' Tempo transitions (channel #4)</li>
<li>'''B8''' Volume control for all channels</li>
<li>'''B9''' Volume transitions for all channels</li>
<li>'''BA''' Pan control for all channels</li>
<li>'''BB''' Pan transitions for all channels</li>
<li>'''BC''' Tempo control for all channels</li>
<li>'''BD''' Tempo transitions for all channels</li>
----
<li>'''C0''' Set volume [param1=Volume level]</li>
<li>'''C1''' Volume transition</li>
<li>'''C2''' Volume fade</li>
----
<li>'''C8''' ''Unknown''</li>
<li>'''C9''' ''Unknown''</li>
<li>'''CA''' ''Unknown''</li>
----
<li>'''D0''' Set tempo</li>
<li>'''D1''' Tempo transition</li>
<li>'''D2''' Tempo fade</li>
----
<li>'''DA''' ''Unknown''</li>
----
<li>'''E4''' ''Unknown''</li>
----
<li>'''F0''' Stop music</li>
<li>'''F1''' Stop sound effects</li>
</ul>
* Short name: '''AKAO'''
* Long name: Sound Operation (byte param1)
==== Memory layout ====
{| border="1" cellspacing="1" cellpadding="3" style="border: 1px solid black; border-collapse: collapse;"
! width="40" | 0xF2
! width="50" | ''B1 / B2''
! width="50" | ''B3 / B4''
! width="50" | ''0 / B6''
! width="40" | ''Op''
! width="40" | ''Param1''
! width="40" | ''Param2''
! width="40" | ''Param3''
! width="40" | ''Param4''
! width="40" | ''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 UByte''' ''Param2'': Parameter 2.
* '''const UByte''' ''Param3'': Parameter 3.
* '''const UByte''' ''Param4'': Parameter 4.
* '''const UByte''' ''Param5'': Parameter 5.
==== Description ====
Perform an operation described by ''Op'', and uses the parameters depending on the operation.
===== Operation list =====
<ul>
<li>'''20''' ''Unknown''</li>
<li>'''21''' ''Unknown''</li>
<li>'''22''' ''Unknown''</li>
<li>'''23''' ''Unknown''</li>
----
<li>'''28''' Play a sound effect on channel #1</li>
<li>'''29''' Play a sound effect on channel #2</li>
<li>'''2A''' Play a sound effect on channel #3</li>
<li>'''2B''' Play a sound effect on channel #4</li>
----
<li>'''98''' Resumes music and sound effects</li>
<li>'''99''' Pauses music and sound effects</li>
<li>'''9A''' Resumes only the music</li>
<li>'''9B''' Pauses only the music</li>
<li>'''9C''' Resumes only sound effects</li>
<li>'''9D''' Pauses only sound effects</li>
----
<li>'''A0''' Volume control (channel #1)</li>
<li>'''A1''' Volume control (channel #2)</li>
<li>'''A2''' Volume control (channel #3)</li>
<li>'''A3''' Volume control (channel #4)</li>
<li>'''A4''' Volume transitions (channel #1)</li>
<li>'''A5''' Volume transitions (channel #2)</li>
<li>'''A6''' Volume transitions (channel #3)</li>
<li>'''A7''' Volume transitions (channel #4)</li>
<li>'''A8''' Pan control (channel #1)</li>
<li>'''A9''' Pan control (channel #2)</li>
<li>'''AA''' Pan control (channel #3)</li>
<li>'''AB''' Pan control (channel #4)</li>
<li>'''AC''' Pan transitions (channel #1)</li>
<li>'''AD''' Pan transitions (channel #2)</li>
<li>'''AE''' Pan transitions (channel #3)</li>
<li>'''AF''' Pan transitions (channel #4)</li>
<li>'''B0''' Tempo control (channel #1)</li>
<li>'''B1''' Tempo control (channel #2)</li>
<li>'''B2''' Tempo control (channel #3)</li>
<li>'''B3''' Tempo control (channel #4)</li>
<li>'''B4''' Tempo transitions (channel #1)</li>
<li>'''B5''' Tempo transitions (channel #2)</li>
<li>'''B6''' Tempo transitions (channel #3)</li>
<li>'''B7''' Tempo transitions (channel #4)</li>
<li>'''B8''' Volume control for all channels</li>
<li>'''B9''' Volume transitions for all channels</li>
<li>'''BA''' Pan control for all channels</li>
<li>'''BB''' Pan transitions for all channels</li>
<li>'''BC''' Tempo control for all channels</li>
<li>'''BD''' Tempo transitions for all channels</li>
----
<li>'''C0''' Set volume [param1=Volume level]</li>
<li>'''C1''' Volume transition</li>
<li>'''C2''' Volume fade</li>
----
<li>'''C8''' ''Unknown''</li>
<li>'''C9''' ''Unknown''</li>
<li>'''CA''' ''Unknown''</li>
----
<li>'''D0''' Set tempo</li>
<li>'''D1''' Tempo transition</li>
<li>'''D2''' Tempo fade</li>
----
<li>'''DA''' ''Unknown''</li>
----
<li>'''E4''' ''Unknown''</li>
----
<li>'''F0''' Stop music</li>
<li>'''F1''' Stop sound effects</li>
</ul>