X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Finclude%2Ftom.h;h=a03fa72870602ec434579935191c50d3d1b1a791;hb=01faaae82e1ab5db002090a15287d1edff5907c4;hp=be51f63747a08ad6143efc1fbfb3ba008ff7874f;hpb=67a5f1a40072983cf87ae2093ca95c271d14e706;p=virtualjaguar diff --git a/src/include/tom.h b/src/include/tom.h index be51f63..a03fa72 100644 --- a/src/include/tom.h +++ b/src/include/tom.h @@ -7,15 +7,14 @@ #include "jaguar.h" -//#define TOM_VBLANK_DURATION_IN_SCANLINES 25 - #define VIDEO_MODE_16BPP_CRY 0 #define VIDEO_MODE_24BPP_RGB 1 #define VIDEO_MODE_16BPP_DIRECT 2 #define VIDEO_MODE_16BPP_RGB 3 -extern uint32 tom_width; -extern uint32 tom_height; +// 68000 Interrupt bit positions (enabled at $F000E0) + +enum { IRQ_VBLANK = 0, IRQ_GPU, IRQ_OPFLAG, IRQ_TIMER, IRQ_DSP }; void tom_init(void); void tom_reset(void); @@ -26,37 +25,34 @@ 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 tom_exec_scanline(int16 * backbuffer, int32 scanline, bool render); +//void TOMExecScanline(int16 * backbuffer, int32 scanline, bool render); +void TOMExecScanline(uint16 scanline, bool render); uint32 tom_getVideoModeWidth(void); uint32 tom_getVideoModeHeight(void); uint8 tom_getVideoMode(void); uint8 * tom_get_ram_pointer(void); uint16 tom_get_hdb(void); uint16 tom_get_vdb(void); -uint16 tom_get_scanline(void); -uint32 tom_getHBlankWidthInPixels(void); - -// 68000 Interrupt bit positions (enabled at $F000E0) - -/*#define IRQ_VBLANK 0 -#define IRQ_GPU 1 -#define IRQ_HBLANK 2 -#define IRQ_OPFLAG IRQ_HBLANK -#define IRQ_TIMER 3 -#define IRQ_DSP 4*/ -enum { IRQ_VBLANK = 0, IRQ_GPU, IRQ_OPFLAG, IRQ_TIMER, IRQ_DSP }; +//uint16 tom_get_scanline(void); +//uint32 tom_getHBlankWidthInPixels(void); int tom_irq_enabled(int irq); uint16 tom_irq_control_reg(void); void tom_set_irq_latch(int irq, int enabled); -void tom_pit_exec(uint32 cycles); -void tom_set_pending_puck_int(void); +void TOMExecPIT(uint32 cycles); +void tom_set_pending_jerry_int(void); void tom_set_pending_timer_int(void); void tom_set_pending_object_int(void); void tom_set_pending_gpu_int(void); void tom_set_pending_video_int(void); -void tom_reset_timer(void); +void TOMResetPIT(void); + +//uint32 TOMGetSDLScreenPitch(void); +void TOMResetBackbuffer(int16 * backbuffer); -uint32 TOMGetSDLScreenPitch(void); +// Exported variables + +extern uint32 tom_width; +extern uint32 tom_height; #endif // __TOM_H__