summaryrefslogtreecommitdiff
path: root/psp/mips_stub.S
diff options
context:
space:
mode:
Diffstat (limited to 'psp/mips_stub.S')
-rw-r--r--psp/mips_stub.S39
1 files changed, 31 insertions, 8 deletions
diff --git a/psp/mips_stub.S b/psp/mips_stub.S
index 2d40bf8..1c4ad4b 100644
--- a/psp/mips_stub.S
+++ b/psp/mips_stub.S
@@ -16,6 +16,8 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+#include "../gpsp_config.h"
+
.set mips32r2
.align 4
@@ -38,19 +40,20 @@
.global reg_check
.global palette_ram
.global palette_ram_converted
+.global oam_ram
.global init_emitter
.global mips_lookup_pc
.global smc_write
.global write_io_epilogue
.global memory_map_read
-.global memory_map_write
.global tmemld
.global tmemst
.global tmemst
.global reg
.global spsr
.global reg_mode
+.global oam_update
# MIPS register layout:
@@ -115,13 +118,15 @@
.equ CPU_HALT_STATE, (30 * 4)
.equ CHANGED_PC_STATUS, (31 * 4)
.equ COMPLETED_FRAME, (32 * 4)
-.equ GP_SAVE, (33 * 4)
+.equ OAM_UPDATED, (33 * 4)
+.equ GP_SAVE, (34 * 4)
-.equ SPSR_BASE, (0x900)
-.equ REGMODE_BASE, (0x900 + 24)
+.equ SPSR_BASE, (0x100 + 0x400 * 3)
+.equ REGMODE_BASE, (SPSR_BASE + 24)
.equ SUPERVISOR_SPSR, (3 * 4 + SPSR_BASE)
.equ SUPERVISOR_LR, ((3 * (7 * 4)) + (6 * 4) + REGMODE_BASE)
-.equ FNPTRS_BASE, (0x900 + 220 + 960)
+.equ FNPTRS_MEMOPS, (REGMODE_BASE + 196)
+.equ FNPTRS_BASE, (FNPTRS_MEMOPS + 960)
.set noat
.set noreorder
@@ -609,9 +614,6 @@ execute_arm_translate_internal:
.data
.align 6
-memory_map_write:
- .space 0x8000
-
memory_map_read:
.space 0x8000
@@ -625,6 +627,8 @@ palette_ram:
.space 0x400
palette_ram_converted:
.space 0x400
+oam_ram:
+ .space 0x400
spsr:
.space 24 # u32[6]
reg_mode:
@@ -649,3 +653,22 @@ fnptrs:
.long execute_spsr_restore_body # 6
.long execute_store_cpsr_body # 7
+#if !defined(HAVE_MMAP)
+
+# Make this section executable!
+.text
+.section .jit,"awx",%nobits
+.align 2
+.global stub_arena
+.global rom_translation_cache
+.global ram_translation_cache
+
+stub_arena:
+ .space STUB_ARENA_SIZE
+rom_translation_cache:
+ .space ROM_TRANSLATION_CACHE_SIZE
+ram_translation_cache:
+ .space RAM_TRANSLATION_CACHE_SIZE
+
+#endif
+