comparison jaguar.h @ 1090:a68274a25e2f

Initial stab at implementing the Jaguar object processor
author Michael Pavone <pavone@retrodev.com>
date Sun, 16 Oct 2016 18:25:18 -0700
parents 6433d4d05934
children faa3a4617f62
comparison
equal deleted inserted replaced
1089:87597a048d38 1090:a68274a25e2f
4 #define DRAM_WORDS (1*1024*1024) 4 #define DRAM_WORDS (1*1024*1024)
5 #define GPU_RAM_BYTES 4096 5 #define GPU_RAM_BYTES 4096
6 #define DSP_RAM_BYTES 8192 6 #define DSP_RAM_BYTES 8192
7 7
8 #include "jag_video.h" 8 #include "jag_video.h"
9 9 typedef struct m68k_context m68k_context;
10 typedef struct { 10 typedef struct {
11 m68k_context *m68k; 11 m68k_context *m68k;
12 jag_video *video; 12 jag_video *video;
13 uint16_t *bios; 13 uint16_t *bios;
14 uint16_t *cart; 14 uint16_t *cart;
15 uint32_t bios_size; 15 uint32_t bios_size;
16 uint32_t cart_size; 16 uint32_t cart_size;
17 uint32_t memcon1; 17 uint32_t memcon1;
18 uint32_t memcon2; 18 uint32_t memcon2;
19 uint32_t rom_cycles;
19 uint16_t write_latch; 20 uint16_t write_latch;
20 uint8_t write_pending; 21 uint8_t write_pending;
21 22
22 uint16_t dram[DRAM_WORDS]; 23 uint16_t dram[DRAM_WORDS];
23 uint32_t gpu_local[GPU_RAM_BYTES / sizeof(uint32_t)]; 24 uint32_t gpu_local[GPU_RAM_BYTES / sizeof(uint32_t)];
24 uint32_t dsp_local[DSP_RAM_BYTES / sizeof(uint32_t)]; 25 uint32_t dsp_local[DSP_RAM_BYTES / sizeof(uint32_t)];
25 26
26 uint8_t memcon_written; 27 uint8_t memcon_written;
27 } jaguar_context; 28 } jaguar_context;
28 29
30 uint64_t jag_read_phrase(jaguar_context *system, uint32_t address, uint32_t *cycles);
31 uint32_t jag_write_phrase(jaguar_context *system, uint32_t address, uint64_t value);
32
29 33
30 #endif //JAGUAR_H_ 34 #endif //JAGUAR_H_