-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathjaguar.h
38 lines (30 loc) · 960 Bytes
/
jaguar.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#ifndef JAGUAR_H_
#define JAGUAR_H_
#define DRAM_WORDS (1*1024*1024)
#define GPU_RAM_BYTES 4096
#define DSP_RAM_BYTES 8192
#include "jag_video.h"
typedef struct m68k_context m68k_context;
typedef struct {
m68k_context *m68k;
jag_video *video;
uint16_t *bios;
uint16_t *cart;
uint32_t bios_size;
uint32_t cart_size;
uint32_t memcon1;
uint32_t memcon2;
uint32_t rom_cycles;
uint32_t max_cycles;
uint16_t cpu_int_control;
uint16_t write_latch;
uint8_t write_pending;
uint16_t dram[DRAM_WORDS];
uint32_t gpu_local[GPU_RAM_BYTES / sizeof(uint32_t)];
uint32_t dsp_local[DSP_RAM_BYTES / sizeof(uint32_t)];
uint8_t memcon_written;
} jaguar_context;
#define BIT_CPU_VID_INT_ENABLED 0x01
uint64_t jag_read_phrase(jaguar_context *system, uint32_t address, uint32_t *cycles);
uint32_t jag_write_phrase(jaguar_context *system, uint32_t address, uint64_t value);
#endif //JAGUAR_H_