X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Finclude%2Ftom.h;h=be51f63747a08ad6143efc1fbfb3ba008ff7874f;hb=67a5f1a40072983cf87ae2093ca95c271d14e706;hp=0aff74b9e6e9f50432cc1abdb0e4c04ba9e5e3fc;hpb=fa566a2c8ec532eb5325b4d5a663fb2a7d72adc6;p=virtualjaguar diff --git a/src/include/tom.h b/src/include/tom.h index 0aff74b..be51f63 100644 --- a/src/include/tom.h +++ b/src/include/tom.h @@ -7,7 +7,7 @@ #include "jaguar.h" -#define TOM_VBLANK_DURATION_IN_SCANLINES 25 +//#define TOM_VBLANK_DURATION_IN_SCANLINES 25 #define VIDEO_MODE_16BPP_CRY 0 #define VIDEO_MODE_24BPP_RGB 1 @@ -20,10 +20,12 @@ extern uint32 tom_height; void tom_init(void); void tom_reset(void); void tom_done(void); -unsigned tom_byte_read(unsigned int offset); -unsigned tom_word_read(unsigned int offset); -void tom_byte_write(unsigned offset, unsigned data); -void tom_word_write(unsigned offset, unsigned data); + +uint8 TOMReadByte(uint32 offset, uint32 who = UNKNOWN); +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); uint32 tom_getVideoModeWidth(void); uint32 tom_getVideoModeHeight(void); @@ -34,14 +36,15 @@ uint16 tom_get_vdb(void); uint16 tom_get_scanline(void); uint32 tom_getHBlankWidthInPixels(void); -// Interrupts +// 68000 Interrupt bit positions (enabled at $F000E0) -#define IRQ_VBLANK 0 +/*#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 +#define IRQ_DSP 4*/ +enum { IRQ_VBLANK = 0, IRQ_GPU, IRQ_OPFLAG, IRQ_TIMER, IRQ_DSP }; int tom_irq_enabled(int irq); uint16 tom_irq_control_reg(void); @@ -54,4 +57,6 @@ void tom_set_pending_gpu_int(void); void tom_set_pending_video_int(void); void tom_reset_timer(void); +uint32 TOMGetSDLScreenPitch(void); + #endif // __TOM_H__