some drc integration work
[pcsx_rearmed.git] / libpcsxcore / new_dynarec / emu_if.c
1 #include <stdio.h>
2
3 #include "emu_if.h"
4
5 char invalid_code[0x100000];
6
7 void MFC0(void)
8 {
9         printf("MFC0!\n");
10 }
11
12 void gen_interupt()
13 {
14         printf("gen_interupt\n");
15 }
16
17 void check_interupt()
18 {
19         printf("check_interupt\n");
20 }
21
22 void read_nomem_new()
23 {
24         printf("read_nomem_new\n");
25 }
26
27 static void read_mem()
28 {
29         printf("read_mem %08x\n", address);
30 }
31
32 static void write_mem()
33 {
34         printf("write_mem %08x\n", address);
35 }
36
37 void (*readmem[0x10000])();
38 void (*readmemb[0x10000])();
39 void (*readmemh[0x10000])();
40 void (*writemem[0x10000])();
41 void (*writememb[0x10000])();
42 void (*writememh[0x10000])();
43
44
45 static int ari64_init()
46 {
47         size_t i;
48         new_dynarec_init();
49
50         for (i = 0; i < sizeof(readmem) / sizeof(readmem[0]); i++) {
51                 readmem[i] = read_mem;
52                 writemem[i] = write_mem;
53         }
54         memcpy(readmemb, readmem, sizeof(readmem));
55         memcpy(readmemh, readmem, sizeof(readmem));
56         memcpy(writememb, writemem, sizeof(writemem));
57         memcpy(writememh, writemem, sizeof(writemem));
58 }
59
60 static void ari64_reset()
61 {
62         /* hmh */
63         printf("ari64_reset\n");
64 }
65
66 static void ari64_execute()
67 {
68 /*
69         FILE *f = fopen("/mnt/ntz/dev/pnd/tmp/ram.dump", "wb");
70         fwrite((void *)0x80000000, 1, 0x200000, f);
71         fclose(f);
72         exit(1);
73 */
74         printf("psxNextsCounter %d, psxNextCounter %d\n", psxNextsCounter, psxNextCounter);
75         printf("ari64_execute %08x\n", psxRegs.pc);
76         new_dyna_start(psxRegs.pc);
77 }
78
79 static void ari64_clear(u32 Addr, u32 Size)
80 {
81 }
82
83 static void ari64_shutdown()
84 {
85         new_dynarec_cleanup();
86 }
87
88 R3000Acpu psxRec = {
89         ari64_init,
90         ari64_reset,
91         ari64_execute,
92 // TODO recExecuteBlock,
93         ari64_clear,
94         ari64_shutdown
95 };