Mercurial > repos > blastem
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_ |