- .align 2
- .global write_rdram_new
- .type write_rdram_new, %function
-write_rdram_new:
- ldr r2, [fp, #address-dynarec_local]
- ldr r0, [fp, #word-dynarec_local]
- str r0, [r2]
- b .E12
- .size write_rdram_new, .-write_rdram_new
- .align 2
- .global write_rdramb_new
- .type write_rdramb_new, %function
-write_rdramb_new:
- ldr r2, [fp, #address-dynarec_local]
- ldrb r0, [fp, #byte-dynarec_local]
- eor r2, r2, #3
- strb r0, [r2]
- b .E12
- .size write_rdramb_new, .-write_rdramb_new
- .align 2
- .global write_rdramh_new
- .type write_rdramh_new, %function
-write_rdramh_new:
- ldr r2, [fp, #address-dynarec_local]
- ldrh r0, [fp, #hword-dynarec_local]
- eor r2, r2, #2
- strh r0, [r2]
- b .E12
- .size write_rdramh_new, .-write_rdramh_new
- .align 2
- .global write_rdramd_new
- .type write_rdramd_new, %function
-write_rdramd_new:
- ldr r2, [fp, #address-dynarec_local]
-/* ldrd r0, [fp, #dword-dynarec_local]*/
- ldr r0, [fp, #dword-dynarec_local]
- ldr r1, [fp, #dword+4-dynarec_local]
- str r0, [r2, #4]
- str r1, [r2]
- b .E12
- .size write_rdramd_new, .-write_rdramd_new
- .align 2
- .global do_invalidate
- .type do_invalidate, %function
-do_invalidate:
- ldr r2, [fp, #address-dynarec_local]
-.E12:
- ldr r1, [fp, #invc_ptr-dynarec_local]
- lsr r0, r2, #12
- ldrb r2, [r1, r0]
- tst r2, r2
- beq invalidate_block
- mov pc, lr
- .size do_invalidate, .-do_invalidate
- .align 2
- .global read_nomem_new
- .type read_nomem_new, %function
-read_nomem_new:
- ldr r2, [fp, #address-dynarec_local]
- add r12, fp, #memory_map-dynarec_local
- lsr r0, r2, #12
- ldr r12, [r12, r0, lsl #2]
- mov r1, #8
- tst r12, r12
- bmi tlb_exception
- ldr r0, [r2, r12, lsl #2]
- str r0, [fp, #readmem_dword-dynarec_local]
- mov pc, lr
- .size read_nomem_new, .-read_nomem_new
- .align 2
- .global read_nomemb_new
- .type read_nomemb_new, %function
-read_nomemb_new:
- ldr r2, [fp, #address-dynarec_local]
- add r12, fp, #memory_map-dynarec_local
- lsr r0, r2, #12
- ldr r12, [r12, r0, lsl #2]
- mov r1, #8
- tst r12, r12
- bmi tlb_exception
- eor r2, r2, #3
- ldrb r0, [r2, r12, lsl #2]
+
+/* --------------------------------------- */
+
+.align 2
+.global ari_read_ram8
+.global ari_read_ram16
+.global ari_read_ram32
+.global ari_read_ram_mirror8
+.global ari_read_ram_mirror16
+.global ari_read_ram_mirror32
+.global ari_write_ram8
+.global ari_write_ram16
+.global ari_write_ram32
+.global ari_write_ram_mirror8
+.global ari_write_ram_mirror16
+.global ari_write_ram_mirror32
+.global ari_read_bios8
+.global ari_read_bios16
+.global ari_read_bios32
+.global ari_read_io8
+.global ari_read_io16
+.global ari_read_io32
+.global ari_write_io8
+.global ari_write_io16
+.global ari_write_io32
+
+.macro ari_read_ram bic_const op
+ ldr r0, [fp, #address-dynarec_local]
+.if \bic_const
+ bic r0, r0, #\bic_const
+.endif
+ \op r0, [r0]