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

Revision 1 CPU DMA crash: Difference between revisions

From SnesLab
Jump to: navigation, search
(official dev manual link)
(→‎References: linkify ICE)
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
Little is known and the '''CPU revision 1 DMA crash'''.  In 2015, Ramsis wrote a test rom to trigger it.
Little is known about why the '''CPU revision 1 DMA crash''' happens.  In 2015, Ramsis wrote a test rom to trigger it. <sup>[2]</sup>
 
=== Trigger ===
* kicking of an HDMA at about the same time that a [[General Purpose DMA]] finishes
 
=== Symptoms ===
* Sometimes the [[5A22]] will crash
* Sometimes the [[HDMA]] will not happen correctly
 
=== Workarounds ===
* Use GPDMA only during [[vblank]]
* Make sure HDMA starts in the middle of a GPDMA data transfer
* Avoid HDMA
* Adjust the time at which GPDMA begins
* Decrease the number of bytes transferred during GPDMA


=== See Also ===
=== See Also ===
* https://archive.org/details/SNESDevManual/book1/page/n111
* [[Revision 1 PPU1 Time Over Bug]]


=== References ===
=== References ===
* https://forums.nesdev.org/viewtopic.php?t=13280
# [https://archive.org/details/SNESDevManual/book1/page/n111 page 2-25-1 of Book I] of the official Super Nintendo development manual, the ICE mentioned likely stands for "[https://www.microcontrollertips.com/faq-what-is-ice/# In-Circuit Emulator]"
# https://forums.nesdev.org/viewtopic.php?t=13280


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

Latest revision as of 19:40, 9 August 2023

Little is known about why the CPU revision 1 DMA crash happens. In 2015, Ramsis wrote a test rom to trigger it. [2]

Trigger

Symptoms

  • Sometimes the 5A22 will crash
  • Sometimes the HDMA will not happen correctly

Workarounds

  • Use GPDMA only during vblank
  • Make sure HDMA starts in the middle of a GPDMA data transfer
  • Avoid HDMA
  • Adjust the time at which GPDMA begins
  • Decrease the number of bytes transferred during GPDMA

See Also

References

  1. page 2-25-1 of Book I of the official Super Nintendo development manual, the ICE mentioned likely stands for "In-Circuit Emulator"
  2. https://forums.nesdev.org/viewtopic.php?t=13280