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
(official dev manual link) |
(more info) |
||
Line 1: | Line 1: | ||
Little is known | Little is known about why the '''CPU revision 1 DMA crash''' happens. In 2015, Ramsis wrote a test rom to trigger it. | ||
=== | === Trigger === | ||
* https://archive.org/details/SNESDevManual/book1/page/n111 | * 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 | |||
=== External Links === | |||
* [https://archive.org/details/SNESDevManual/book1/page/n111 page 2-25-1 of Book I] of the official Super Nintendo development manual | |||
=== References === | === References === |
Revision as of 02:29, 4 July 2023
Little is known about why the CPU revision 1 DMA crash happens. In 2015, Ramsis wrote a test rom to trigger it.
Trigger
- kicking of an HDMA at about the same time that a General Purpose DMA finishes
Symptoms
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
External Links
- page 2-25-1 of Book I of the official Super Nintendo development manual