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

S-SMP: Difference between revisions

From SnesLab
Jump to: navigation, search
(→‎Reference: added official dev manual link)
(→‎Reference: subparagraph on sound cpu)
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
The '''S-SMP''' is a Sony SPC700 series 8-bit 65x-based MPU which serves as the SNES' sound chip.  It talks to the [[Ricoh 5A22]] over four ports via the [[SNES Bus]].  It is clocked by [[CPUK]].
The '''S-SMP''' is a Sony SPC700 series 8-bit 65x-based MPU which serves as the SNES' sound chip.  It talks to the [[Ricoh 5A22]] over four ports via the [[SNES Bus]] and [[CPU Data Bus]].  It is clocked by [[CPUK]]. The minimum command execution time is 1.953 microseconds.<sup>[2]</sup>


The following registers are 8-bit:
The following registers are 8-bit:
Line 10: Line 10:
The following registers are 16-bit:
The following registers are 16-bit:
* [[Program Counter]]
* [[Program Counter]]
* [[YA]]
* [[YA]] (which is virtually just the Y index reg concatenated to A)


Instructions that try to access memory straddling past the end of [[ARAM]] (the last byte of which is at $FFFF) will wrap around and end up accessing the zeropage (which is at $0000).  Accesses that use [[direct page addressing]] will wrap within the [[direct page]].
Instructions that try to access memory straddling past the end of [[ARAM]] (the last byte of which is at $FFFF) will wrap around and end up accessing the zeropage (which is at $0000).  Accesses that use [[direct page addressing]] will wrap within the [[direct page]].
Line 17: Line 17:


Operands that use [[absolute addressing]] are prefixed with an exclamation point (!).
Operands that use [[absolute addressing]] are prefixed with an exclamation point (!).
The S-SMP has no hardware interrupt sources, but it does have [[BRK (SPC700)|BRK]].


=== See Also ===
=== See Also ===
* [[SPC700 Opcode Matrix]]
* [[SPC700 Opcode Matrix]]


=== Reference ===
=== References ===
# [https://www.romhacking.net/documents/197 anomie's SPC700 doc]
# [https://www.romhacking.net/documents/197 anomie's SPC700 doc]
# [https://archive.org/details/SNESDevManual/book1/page/n152 page 3-1-1 of Book I] of the official Super Nintendo development manual
# SNES Sound Source Outline on [https://archive.org/details/SNESDevManual/book1/page/n152 page 3-1-1 of Book I] of the official Super Nintendo development manual
* subparagraph 22.5.1 on [https://archive.org/details/SNESDevManual/book1/page/n97 page 2-22-1 of Book I], lbid.


[[Category:SNES Hardware]]
[[Category:SNES Hardware]]

Latest revision as of 19:37, 11 August 2024

The S-SMP is a Sony SPC700 series 8-bit 65x-based MPU which serves as the SNES' sound chip. It talks to the Ricoh 5A22 over four ports via the SNES Bus and CPU Data Bus. It is clocked by CPUK. The minimum command execution time is 1.953 microseconds.[2]

The following registers are 8-bit:

The following registers are 16-bit:

Instructions that try to access memory straddling past the end of ARAM (the last byte of which is at $FFFF) will wrap around and end up accessing the zeropage (which is at $0000). Accesses that use direct page addressing will wrap within the direct page.

The stack is always located in page one (at $0100). Memory accesses that straddle the end of the stack will wrap to the beginning of the stack.

Operands that use absolute addressing are prefixed with an exclamation point (!).

The S-SMP has no hardware interrupt sources, but it does have BRK.

See Also

References

  1. anomie's SPC700 doc
  2. SNES Sound Source Outline on page 3-1-1 of Book I of the official Super Nintendo development manual