X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Ftom.h;h=0fb1f2e5e234682788c3044b5072457a1c158103;hb=6f25f63a18153bc2adc49c5f9a3862c2760716df;hp=0c9511ee9cd9f80a2246bbb616f62fc02e74b84f;hpb=d239de704f276a75d927900e3d413a44cc87116c;p=virtualjaguar diff --git a/src/tom.h b/src/tom.h index 0c9511e..0fb1f2e 100644 --- a/src/tom.h +++ b/src/tom.h @@ -5,8 +5,7 @@ #ifndef __TOM_H__ #define __TOM_H__ -//#include "jaguar.h" -#include "types.h" +#include "memory.h" #define VIDEO_MODE_16BPP_CRY 0 #define VIDEO_MODE_24BPP_RGB 1 @@ -15,7 +14,7 @@ // 68000 Interrupt bit positions (enabled at $F000E0) -enum { IRQ_VBLANK = 0, IRQ_GPU, IRQ_OPFLAG, IRQ_TIMER, IRQ_DSP }; +enum { IRQ_VIDEO = 0, IRQ_GPU, IRQ_OPFLAG, IRQ_TIMER, IRQ_DSP }; void TOMInit(void); void TOMReset(void); @@ -26,18 +25,15 @@ uint16 TOMReadWord(uint32 offset, uint32 who = UNKNOWN); void TOMWriteByte(uint32 offset, uint8 data, uint32 who = UNKNOWN); void TOMWriteWord(uint32 offset, uint16 data, uint32 who = UNKNOWN); -//void TOMExecScanline(int16 * backbuffer, int32 scanline, bool render); -void TOMExecScanline(uint16 scanline, bool render); +void TOMExecHalfline(uint16 halfline, bool render); uint32 TOMGetVideoModeWidth(void); uint32 TOMGetVideoModeHeight(void); uint8 TOMGetVideoMode(void); uint8 * TOMGetRamPointer(void); uint16 TOMGetHDB(void); uint16 TOMGetVDB(void); -//uint16 tom_get_scanline(void); -//uint32 tom_getHBlankWidthInPixels(void); -int TOMIRQEnabled(int irq); +int TOMIRQEnabled(int irq); uint16 TOMIRQControlReg(void); void TOMSetIRQLatch(int irq, int enabled); void TOMExecPIT(uint32 cycles); @@ -48,13 +44,16 @@ void TOMSetPendingGPUInt(void); void TOMSetPendingVideoInt(void); void TOMResetPIT(void); -//uint32 TOMGetSDLScreenPitch(void); -void TOMResetBackbuffer(uint32 * backbuffer); - // Exported variables extern uint32 tomWidth; extern uint32 tomHeight; extern uint8 tomRam8[]; +extern uint32 tomTimerPrescaler; +extern uint32 tomTimerDivider; +extern int32 tomTimerCounter; + +extern uint32 screenPitch; +extern uint32 * screenBuffer; #endif // __TOM_H__