If you are still using the old URL (datacrystal.romhacking.net), please update your bookmarks! The old URL may stop working at any time.
The current URL is datacrystal.tcrf.net.
The current URL is datacrystal.tcrf.net.
EarthBound/ASM/VRAM DMA Transfer Routines: Difference between revisions
Jump to navigation
Jump to search
m (Remove extra space.) |
(→$C085B7-$C08615: Transfer memory to VRAM in batches: Document batched transfer routine) |
||
Line 1: | Line 1: | ||
{{subpage|game=EarthBound}} | {{subpage|game=EarthBound}} | ||
==<tt>$C085B7-$C08615</tt>: | ==<tt>$C085B7-$C08615</tt>: Batched memory/VRAM transfer== | ||
Batched transfers between main memory (ROM/WRAM) and VRAM. Makes the transfers using multiple calls to [[#$C08643|<tt>$C08643</tt>]] for batches of 0x1200 bytes, with a final transfer of the remainder up to 0x1201 bytes. Before each batch, spins on [[EarthBound:$7E0099|<tt>$7E0099</tt>]], waiting for the value to become <code>#$0000</code>. | |||
===Inputs=== | |||
* <tt>a</tt>: Transfer style. Pointer into [[EarthBound:VRAM_DMA_Transfer_Style_Table|VRAM DMA Transfer Style Table]] | |||
* <tt>x</tt>: Transfer size (bytes) | |||
* <tt>y</tt>: VRAM address (word) | |||
* <tt>$0e..$10</tt>: Memory address long pointer | |||
==<tt>$C08616-$C0865A</tt>: Transfer memory to VRAM== | ==<tt>$C08616-$C0865A</tt>: Transfer memory to VRAM== |
Revision as of 20:17, 14 June 2023
This is a sub-page of EarthBound/ASM.
$C085B7-$C08615: Batched memory/VRAM transfer
Batched transfers between main memory (ROM/WRAM) and VRAM. Makes the transfers using multiple calls to $C08643 for batches of 0x1200 bytes, with a final transfer of the remainder up to 0x1201 bytes. Before each batch, spins on $7E0099, waiting for the value to become #$0000
.
Inputs
- a: Transfer style. Pointer into VRAM DMA Transfer Style Table
- x: Transfer size (bytes)
- y: VRAM address (word)
- $0e..$10: Memory address long pointer
$C08616-$C0865A: Transfer memory to VRAM
$C0865B-$C0865E: Perform DMA transfer (JSL)
Trivial JSL
wrapper around a call to $C0865F.
$C0865F-$C086DD: Perform DMA transfer (JSR)
Internal Data for EarthBound
| |
---|---|
This page is rather stubbly and could use some expansion. Are you a bad enough dude to rescue this article? |