cdrom: change pause timing again
[pcsx_rearmed.git] / libpcsxcore / new_dynarec / linkage_offsets.h
index 55ceb42..541325a 100644 (file)
@@ -1,12 +1,15 @@
 
+#define PTRSZ __SIZEOF_POINTER__
+
 #define LO_next_interupt       64
 #define LO_cycle_count         (LO_next_interupt + 4)
 #define LO_last_count          (LO_cycle_count + 4)
 #define LO_pending_exception   (LO_last_count + 4)
 #define LO_stop                        (LO_pending_exception + 4)
-#define LO_invc_ptr            (LO_stop + 4)
-#define LO_address             (LO_invc_ptr + 4)
-#define LO_psxRegs             (LO_address + 4)
+#define LO_branch_target       (LO_stop + 4)
+#define LO_address             (LO_branch_target + 4)
+#define LO_hack_addr           (LO_address + 4)
+#define LO_psxRegs             (LO_hack_addr + 4)
 #define LO_reg                 (LO_psxRegs)
 #define LO_lo                  (LO_reg + 128)
 #define LO_hi                  (LO_lo + 4)
 #define LO_cycle               (LO_code + 4)
 #define LO_interrupt           (LO_cycle + 4)
 #define LO_intCycle            (LO_interrupt + 4)
-#define LO_psxRegs_end         (LO_intCycle + 256)
+#define LO_gteBusyCycle                (LO_intCycle + 256)
+#define LO_muldivBusyCycle     (LO_gteBusyCycle + 4)
+#define LO_psxRegs_subCycle    (LO_muldivBusyCycle + 4)
+#define LO_psxRegs_biuReg      (LO_psxRegs_subCycle + 4*2)
+#define LO_psxRegs_reserved    (LO_psxRegs_biuReg + 4)
+#define LO_psxRegs_end         (LO_psxRegs_reserved + 4*7)
 #define LO_rcnts               (LO_psxRegs_end)
 #define LO_rcnts_end           (LO_rcnts + 7*4*4)
-#define LO_mem_rtab            (LO_rcnts_end)
-#define LO_mem_wtab            (LO_mem_rtab + 4)
-#define LO_psxH_ptr            (LO_mem_wtab + 4)
-#define LO_zeromem_ptr         (LO_psxH_ptr + 4)
-#define LO_inv_code_start      (LO_zeromem_ptr + 4)
+#define LO_inv_code_start      (LO_rcnts_end)
 #define LO_inv_code_end                (LO_inv_code_start + 4)
-#define LO_branch_target       (LO_inv_code_end + 4)
-#define LO_align0              (LO_branch_target + 4)
-#define LO_mini_ht             (LO_align0 + 16)
-#define LO_restore_candidate   (LO_mini_ht + 256)
-#define LO_dynarec_local_size  (LO_restore_candidate + 512)
+#define LO_mem_rtab            (LO_inv_code_end + 4)
+#define LO_mem_wtab            (LO_mem_rtab + PTRSZ)
+#define LO_psxH_ptr            (LO_mem_wtab + PTRSZ)
+#define LO_zeromem_ptr         (LO_psxH_ptr + PTRSZ)
+#define LO_invc_ptr            (LO_zeromem_ptr + PTRSZ)
+#define LO_scratch_buf_ptr     (LO_invc_ptr + PTRSZ)
+#define LO_saved_lr            (LO_scratch_buf_ptr + PTRSZ)
+#define LO_ram_offset          (LO_saved_lr + PTRSZ)
+#define LO_mini_ht             (LO_ram_offset + PTRSZ)
+#define LO_dynarec_local_size  (LO_mini_ht + PTRSZ*32*2)
 
-#define LO_FCR0                        (LO_align0)
-#define LO_FCR31               (LO_align0)
+#define LO_cop2_to_scratch_buf (LO_scratch_buf_ptr - LO_reg_cop2d)