aboutsummaryrefslogtreecommitdiff
path: root/libpcsxcore/ppc/pasm.s
diff options
context:
space:
mode:
Diffstat (limited to 'libpcsxcore/ppc/pasm.s')
-rw-r--r--libpcsxcore/ppc/pasm.s124
1 files changed, 0 insertions, 124 deletions
diff --git a/libpcsxcore/ppc/pasm.s b/libpcsxcore/ppc/pasm.s
deleted file mode 100644
index 96891b4..0000000
--- a/libpcsxcore/ppc/pasm.s
+++ /dev/null
@@ -1,124 +0,0 @@
-
-
-#define OLD_REGISTER_OFFSET (19*4)
-#define SP_SIZE (OLD_REGISTER_OFFSET+4+8)
-
-/*asm void recRun(register void (*func)(), register u32 hw1, register u32 hw2)*/
- .text
- .align 4
- .globl recRun
-recRun:
- /* prologue code */
- mflr r0
- stmw r13, -(32-13)*4(r1)
- stw r0, 4(r1)
- stwu r1, -((32-13)*4+8)(r1)
-
- /* execute code */
- mtctr r3
- mr r31, r4
- mr r30, r5
- bctrl
-/*
-}
-asm void returnPC()
-{*/
- .text
- .align 4
- .globl returnPC
-returnPC:
- // end code
- lwz r0, (32-13)*4+8+4(r1)
- addi r1, r1, (32-13)*4+8
- mtlr r0
- lmw r13, -(32-13)*4(r1)
- blr
-//}*/
-
-// Memory functions that only works with a linear memory
-
- .text
- .align 4
- .globl dynMemRead8
-dynMemRead8:
-// assumes that memory pointer is in r30
- addis r2,r3,-0x1f80
- srwi. r4,r2,16
- bne+ .norm8
- cmplwi r2,0x1000
- blt- .norm8
- b psxHwRead8
-.norm8:
- clrlwi r5,r3,3
- lbzx r3,r5,r30
- blr
-
- .text
- .align 4
- .globl dynMemRead16
-dynMemRead16:
-// assumes that memory pointer is in r30
- addis r2,r3,-0x1f80
- srwi. r4,r2,16
- bne+ .norm16
- cmplwi r2,0x1000
- blt- .norm16
- b psxHwRead16
-.norm16:
- clrlwi r5,r3,3
- lhbrx r3,r5,r30
- blr
-
- .text
- .align 4
- .globl dynMemRead32
-dynMemRead32:
-// assumes that memory pointer is in r30
- addis r2,r3,-0x1f80
- srwi. r4,r2,16
- bne+ .norm32
- cmplwi r2,0x1000
- blt- .norm32
- b psxHwRead32
-.norm32:
- clrlwi r5,r3,3
- lwbrx r3,r5,r30
- blr
-
-/*
- N P Z
- 0 0 0 X
-- 0 0 1 X
- 1 0 0 X
- 1 0 1 X
-
-P | (!N & Z)
-P | !(N | !Z)
-*/
-
- .text
- .align 4
- .globl dynMemWrite32
-dynMemWrite32:
-// assumes that memory pointer is in r30
- addis r2,r3,-0x1f80
- srwi. r5,r2,16
- bne+ .normw32
- cmplwi r2,0x1000
- blt .normw32
- b psxHwWrite32
-.normw32:
- mtcrf 0xFF, r3
- clrlwi r5,r3,3
- crandc 0, 2, 0
- cror 2, 1, 0
- bne+ .okw32
- // write test
- li r2,0x0130
- addis r2,r2,0xfffe
- cmplw r3,r2
- bnelr
-.okw32:
- stwbrx r4,r5,r30
- blr
-