Guest User

Untitled

a guest
Nov 15th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. Manatee is a SEGA Dreamcast sound program (for the ARM7) that seems to be present in many Dreamcast games.
  2. These notes are based on the version of manatee included in Hanagumi Taisen Columns 2.
  3.  
  4. The SH4 communicates with manatee by transferring commands over DMA to the driver.
  5. Each command packet is 16 bytes long, and there can be up to 32 of them.
  6. The first packet is located at 0x12200.
  7.  
  8. The SH4 does not have to use all 32 packets. A packet is only considered valid if the first byte is nonzero.
  9. When the ARM7 has processed a packet, the first byte will be cleared so that it is not processed again.
  10.  
  11. This code loops through all 32 DMA packets and conditionally processes each packet if the first byte is non-zero.
  12.  
  13. 0x00007234: ldr sl, [pc, #0x2b4]
  14. 0x00007238: mov fp, #0x20
  15. 0x0000723c: ldrb r0, [sl]
  16. 0x00007240: cmp r0, #0
  17. 0x00007244: push {sl, fp, lr}
  18. 0x00007248: blne #0x72bc
  19. 0x0000724c: pop {sl, fp, lr}
  20. 0x00007250: ldr r1, [pc, #0x60]
  21. 0x00007254: strb r0, [r1, #1]
  22. 0x00007258: mov r0, #0
  23. 0x0000725c: strb r0, [sl]
  24. 0x00007260: add sl, sl, #0x10
  25. 0x00007264: subs fp, fp, #1
  26. 0x00007268: bne #0x723c
Add Comment
Please, Sign In to add comment