drc: attempt to support little endian
[pcsx_rearmed.git] / libpcsxcore / new_dynarec / emu_if.c
CommitLineData
f95a77f7 1#include <stdio.h>
2
3#include "emu_if.h"
4
5char invalid_code[0x100000];
6
7void MFC0(void)
8{
9 printf("MFC0!\n");
10}
11
12void gen_interupt()
13{
14 printf("gen_interupt\n");
15}
16
17void check_interupt()
18{
19 printf("check_interupt\n");
20}
21
22void read_nomem_new()
23{
24 printf("read_nomem_new\n");
25}
26
27static void read_mem()
28{
29 printf("read_mem %08x\n", address);
30}
31
32static void write_mem()
33{
34 printf("write_mem %08x\n", address);
35}
36
37void (*readmem[0x10000])();
38void (*readmemb[0x10000])();
39void (*readmemh[0x10000])();
40void (*writemem[0x10000])();
41void (*writememb[0x10000])();
42void (*writememh[0x10000])();
43
44
45static 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
60static void ari64_reset()
61{
62 /* hmh */
63 printf("ari64_reset\n");
64}
65
66static 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
79static void ari64_clear(u32 Addr, u32 Size)
80{
81}
82
83static void ari64_shutdown()
84{
85 new_dynarec_cleanup();
86}
87
88R3000Acpu psxRec = {
89 ari64_init,
90 ari64_reset,
91 ari64_execute,
92// TODO recExecuteBlock,
93 ari64_clear,
94 ari64_shutdown
95};