1 //////////////////////////////////////////////////////////////////////////////
\r
3 //////////////////////////////////////////////////////////////////////////////
\r
10 //////////////////////////////////////////////////////////////////////////////
\r
17 #define TOM_VBLANK_DURATION_IN_SCANLINES 25
\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
25 extern uint32 tom_width;
\r
26 extern uint32 tom_height;
\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
45 //////////////////////////////////////////////////////////////////////////////
\r
47 //////////////////////////////////////////////////////////////////////////////
\r
48 #define IRQ_VBLANK 0
\r
50 #define IRQ_HBLANK 2
\r
51 #define IRQ_OPFLAG IRQ_HBLANK
\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