10 //#define TOM_VBLANK_DURATION_IN_SCANLINES 25
12 #define VIDEO_MODE_16BPP_CRY 0
13 #define VIDEO_MODE_24BPP_RGB 1
14 #define VIDEO_MODE_16BPP_DIRECT 2
15 #define VIDEO_MODE_16BPP_RGB 3
17 extern uint32 tom_width;
18 extern uint32 tom_height;
24 uint8 TOMReadByte(uint32 offset, uint32 who = UNKNOWN);
25 uint16 TOMReadWord(uint32 offset, uint32 who = UNKNOWN);
26 void TOMWriteByte(uint32 offset, uint8 data, uint32 who = UNKNOWN);
27 void TOMWriteWord(uint32 offset, uint16 data, uint32 who = UNKNOWN);
29 void tom_exec_scanline(int16 * backbuffer, int32 scanline, bool render);
30 uint32 tom_getVideoModeWidth(void);
31 uint32 tom_getVideoModeHeight(void);
32 uint8 tom_getVideoMode(void);
33 uint8 * tom_get_ram_pointer(void);
34 uint16 tom_get_hdb(void);
35 uint16 tom_get_vdb(void);
36 uint16 tom_get_scanline(void);
37 uint32 tom_getHBlankWidthInPixels(void);
39 // 68000 Interrupt bit positions (enabled at $F000E0)
41 /*#define IRQ_VBLANK 0
44 #define IRQ_OPFLAG IRQ_HBLANK
47 enum { IRQ_VBLANK = 0, IRQ_GPU, IRQ_OPFLAG, IRQ_TIMER, IRQ_DSP };
49 int tom_irq_enabled(int irq);
50 uint16 tom_irq_control_reg(void);
51 void tom_set_irq_latch(int irq, int enabled);
52 void tom_pit_exec(uint32 cycles);
53 void tom_set_pending_puck_int(void);
54 void tom_set_pending_timer_int(void);
55 void tom_set_pending_object_int(void);
56 void tom_set_pending_gpu_int(void);
57 void tom_set_pending_video_int(void);
58 void tom_reset_timer(void);
60 uint32 TOMGetSDLScreenPitch(void);