summaryrefslogtreecommitdiff
path: root/libpcsxcore/ppc/pasm.s
diff options
context:
space:
mode:
authorSND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-09-07 00:55:05 +0000
committerSND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-09-07 00:55:05 +0000
commit28bd1fcb797ea86e92eea358c124eede6bdf62c0 (patch)
tree34cc2ddd5672b5d8db850837fcc5880cee5cb4bd /libpcsxcore/ppc/pasm.s
parent01f9db90eab920aa6ce7a51266c49b54ea01b1dd (diff)
downloadpcsxr-28bd1fcb797ea86e92eea358c124eede6bdf62c0.tar.gz
ported the change in r56828 to dynarec (is the check in psxBASIC() really necessary?), removed powerpc dynarec (cannot test and likely broken).
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@56896 e17a0e51-4ae3-4d35-97c3-1a29b211df97
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 96891b42..00000000
--- 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
-