We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS

Rebecca Heineman Engine/RPM Racing: Difference between revisions

From SnesLab
Jump to: navigation, search
(New page for version unique to RPM Racing)
 
(→‎Instrument Format: Document instrument format)
Line 20: Line 20:


==Instrument Format==
==Instrument Format==
''TODO record this down''
Instruments are stored as eight byte entires as following:
<pre>xx yy zz zz aa bb cc dd</pre>
* <tt>xx</tt> is a direct write to the VxVOLL DSP register.
* <tt>yy</tt> is a direct write to the VxVOLR DSP register.
* <tt>zz zz</tt> is a direct write to the VxPITCH DSP registers, stored in [[little endian]].
** For music, these values are only referenced for pitch when <tt>dd</tt> is <tt>$80</tt> (otherwise it uses a pitch table).
** For SFX, these values are always referred to.
* <tt>aa</tt> is a direct write to the VxSRCN DSP register.
* <tt>bb</tt> is a direct write to the VxADSR1 DSP register.
* <tt>cc</tt> is a direct write to the VxADSR2 DSP register.
* <tt>dd</tt>'s purpose depends on whether it's being used for music or sound effects...
** For music, it defines an offset to a tuning table. The tuning table entry itself consists of a single 16-bit value to multiply the pitch by.
** For SFX, the byte is unused, and was either supposed to be gain or priority.


==Voice Command Format==
==Voice Command Format==

Revision as of 02:33, 17 March 2021

Go back to Rebecca Heineman Engine

NOTE: The following page is a stub, and is under construction.

This is the earlier version that was used in one game, where the playback of music is done entirely on the SPC side.

The game in question is this:

Game Name VCMD Code Location ROM Offset
Radical Psycho Machine Racing/RPM Racing 0x0618 0x098000 (all versions)

The build sorting notes can be found here.

Communication with the SNES

TODO record this down

Instrument Format

Instruments are stored as eight byte entires as following:

xx yy zz zz aa bb cc dd
  • xx is a direct write to the VxVOLL DSP register.
  • yy is a direct write to the VxVOLR DSP register.
  • zz zz is a direct write to the VxPITCH DSP registers, stored in little endian.
    • For music, these values are only referenced for pitch when dd is $80 (otherwise it uses a pitch table).
    • For SFX, these values are always referred to.
  • aa is a direct write to the VxSRCN DSP register.
  • bb is a direct write to the VxADSR1 DSP register.
  • cc is a direct write to the VxADSR2 DSP register.
  • dd's purpose depends on whether it's being used for music or sound effects...
    • For music, it defines an offset to a tuning table. The tuning table entry itself consists of a single 16-bit value to multiply the pitch by.
    • For SFX, the byte is unused, and was either supposed to be gain or priority.

Voice Command Format

TODO record this down