]> Shamusworld >> Repos - virtualjaguar/blob - src/include/tom.h
Adding 1.0.1/2 uncompressed tarballs to tags for historical purposes.
[virtualjaguar] / src / include / tom.h
1 //////////////////////////////////////////////////////////////////////////////\r
2 //\r
3 //////////////////////////////////////////////////////////////////////////////\r
4 //\r
5 //\r
6 //\r
7 //\r
8 //\r
9 //\r
10 //////////////////////////////////////////////////////////////////////////////\r
11 \r
12 #ifndef __TOM_H__\r
13 #define __TOM_H__\r
14 \r
15 #include "jaguar.h"\r
16 \r
17 #define TOM_VBLANK_DURATION_IN_SCANLINES 25\r
18 \r
19 #define VIDEO_MODE_16BPP_CRY    0\r
20 #define VIDEO_MODE_24BPP_RGB    1\r
21 #define VIDEO_MODE_16BPP_DIRECT 2\r
22 #define VIDEO_MODE_16BPP_RGB    3\r
23 \r
24 \r
25 extern uint32 tom_width;\r
26 extern uint32 tom_height;\r
27 \r
28 void tom_init(void);\r
29 void tom_reset(void);\r
30 void tom_done(void);\r
31 unsigned tom_byte_read(unsigned int offset);\r
32 unsigned tom_word_read(unsigned int offset);\r
33 void tom_byte_write(unsigned  offset, unsigned  data);\r
34 void tom_word_write(unsigned  offset, unsigned  data);\r
35 void tom_exec_scanline(int16 *backbuffer, int32 scanline, int8 render);\r
36 uint32 tom_getVideoModeWidth(void);\r
37 uint32 tom_getVideoModeHeight(void);\r
38 uint8 tom_getVideoMode(void);\r
39 uint8 *tom_get_ram_pointer(void);\r
40 uint16 tom_get_hdb(void);\r
41 uint16 tom_get_vdb(void);\r
42 uint16 tom_get_scanline(void);\r
43 uint32 tom_getHBlankWidthInPixels(void);\r
44 \r
45 //////////////////////////////////////////////////////////////////////////////\r
46 // interrupts\r
47 //////////////////////////////////////////////////////////////////////////////\r
48 #define IRQ_VBLANK      0\r
49 #define IRQ_GPU         1\r
50 #define IRQ_HBLANK  2\r
51 #define IRQ_OPFLAG  IRQ_HBLANK\r
52 #define IRQ_TIMER       3\r
53 #define IRQ_DSP         4\r
54 \r
55 int             tom_irq_enabled(int irq);\r
56 uint16  tom_irq_control_reg(void);\r
57 void    tom_set_irq_latch(int irq, int enabled);\r
58 void    tom_pit_exec(uint32 cycles);\r
59 void tom_set_pending_puck_int(void);\r
60 void tom_set_pending_timer_int(void);\r
61 void tom_set_pending_object_int(void);\r
62 void tom_set_pending_gpu_int(void);\r
63 void tom_set_pending_video_int(void);\r
64 void tom_reset_timer(void);\r
65 \r
66 \r
67 #endif\r