- str\pf r1, [r0]
- mov pc, lr
-.endm
-
-ari_write_ram8:
- ari_write_ram 0, byte, b
-
-ari_write_ram16:
- ari_write_ram 1, hword, h
-
-ari_write_ram32:
- ari_write_ram 3, word,
-
-.macro ari_write_ram_mirror mvn_const var pf
- ldr r0, [fp, #address-dynarec_local]
- mvn r3, #\mvn_const
- ldr\pf r1, [fp, #\var-dynarec_local]
- and r0, r3, lsr #11
- ldr r2, [fp, #invc_ptr-dynarec_local]
- orr r0, r0, #1<<31
- ldrb r2, [r2, r0, lsr #12]
- str\pf r1, [r0]
- tst r2, r2
- movne pc, lr
- ldr r1, [fp, #inv_code_start-dynarec_local]
- ldr r2, [fp, #inv_code_end-dynarec_local]
- cmp r0, r1
- cmpcs r2, r0
- movcs pc, lr
- nop
- b invalidate_addr
-.endm
-
-ari_write_ram_mirror8:
- ari_write_ram_mirror 0, byte, b
-
-ari_write_ram_mirror16:
- ari_write_ram_mirror (1<<11), hword, h
-
-ari_write_ram_mirror32:
- ari_write_ram_mirror (3<<11), word,
-
-ari_write_ram_mirror_ro32:
- load_var_adr r0, pcsx_ram_is_ro
- ldr r0, [r0]
- tst r0, r0
- movne pc, lr
- nop
- b ari_write_ram_mirror32
-
+ movcc pc, lr
+ ldr r12, [fp, #last_count-dynarec_local]
+ mov r0, r1
+ add r2, r2, r12
+ push {r2, lr}
+ str r2, [fp, #cycle-dynarec_local]
+ blx r3