10 #define VIDEO_MODE_16BPP_CRY 0
11 #define VIDEO_MODE_24BPP_RGB 1
12 #define VIDEO_MODE_16BPP_DIRECT 2
13 #define VIDEO_MODE_16BPP_RGB 3
15 // 68000 Interrupt bit positions (enabled at $F000E0)
17 enum { IRQ_VIDEO = 0, IRQ_GPU, IRQ_OPFLAG, IRQ_TIMER, IRQ_DSP };
23 uint8 TOMReadByte(uint32 offset, uint32 who = UNKNOWN);
24 uint16 TOMReadWord(uint32 offset, uint32 who = UNKNOWN);
25 void TOMWriteByte(uint32 offset, uint8 data, uint32 who = UNKNOWN);
26 void TOMWriteWord(uint32 offset, uint16 data, uint32 who = UNKNOWN);
28 void TOMExecHalfline(uint16 halfline, bool render);
29 uint32 TOMGetVideoModeWidth(void);
30 uint32 TOMGetVideoModeHeight(void);
31 uint8 TOMGetVideoMode(void);
32 uint8 * TOMGetRamPointer(void);
33 uint16 TOMGetHDB(void);
34 uint16 TOMGetVDB(void);
36 int TOMIRQEnabled(int irq);
37 uint16 TOMIRQControlReg(void);
38 void TOMSetIRQLatch(int irq, int enabled);
39 void TOMExecPIT(uint32 cycles);
40 void TOMSetPendingJERRYInt(void);
41 void TOMSetPendingTimerInt(void);
42 void TOMSetPendingObjectInt(void);
43 void TOMSetPendingGPUInt(void);
44 void TOMSetPendingVideoInt(void);
45 void TOMResetPIT(void);
49 extern uint32 tomWidth;
50 extern uint32 tomHeight;
51 extern uint8 tomRam8[];
52 extern uint32 tomTimerPrescaler;
53 extern uint32 tomTimerDivider;
54 extern int32 tomTimerCounter;
56 extern uint32 screenPitch;
57 extern uint32 * screenBuffer;