X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Finclude%2Fjaguar.h;h=43184711ed2cba99a35c644819b4cbe0297e4112;hb=4c073907d47569384738eedd3dbc41ef3c1491d9;hp=ef3ea8eb3c7928df03bed382b04d2d75d0ee9714;hpb=fa566a2c8ec532eb5325b4d5a663fb2a7d72adc6;p=virtualjaguar diff --git a/src/include/jaguar.h b/src/include/jaguar.h index ef3ea8e..4318471 100644 --- a/src/include/jaguar.h +++ b/src/include/jaguar.h @@ -15,48 +15,62 @@ #include "clock.h" #include "anajoy.h" #include "joystick.h" -#include "pcm.h" +#include "dac.h" #include "jagdasm.h" -#include "dsnd.h" #include "cdrom.h" #include "eeprom.h" #include "cdi.h" #include "cdbios.h" +// Exports from JAGUAR.CPP + extern int32 jaguar_cpu_in_exec; extern uint32 jaguar_mainRom_crc32; extern char * jaguar_eeproms_path; +extern char * whoName[9]; -//#ifdef __PORT__ -//void jaguar_init(const char * filename); -//#else void jaguar_init(void); -//#endif // #ifdef __PORT__ void jaguar_reset(void); -void jaguar_reset_handler(void); +//void jaguar_reset_handler(void); void jaguar_done(void); -void jaguar_exec(int16 * backbuffer, bool render); -unsigned jaguar_byte_read(unsigned int offset); -unsigned jaguar_word_read(unsigned int offset); -unsigned jaguar_long_read(unsigned int offset); -void jaguar_byte_write(unsigned offset, unsigned data); -void jaguar_word_write(unsigned offset, unsigned data); -void jaguar_long_write(unsigned offset, unsigned data); + +uint8 JaguarReadByte(uint32 offset, uint32 who = UNKNOWN); +uint16 JaguarReadWord(uint32 offset, uint32 who = UNKNOWN); +uint32 JaguarReadLong(uint32 offset, uint32 who = UNKNOWN); +void JaguarWriteByte(uint32 offset, uint8 data, uint32 who = UNKNOWN); +void JaguarWriteWord(uint32 offset, uint16 data, uint32 who = UNKNOWN); +void JaguarWriteLong(uint32 offset, uint32 data, uint32 who = UNKNOWN); + uint32 jaguar_interrupt_handler_is_valid(uint32 i); void jaguar_dasm(uint32 offset, uint32 qt); +//New stuff... +void JaguarExecute(int16 * backbuffer, bool render); + // Some handy macros to help converting native endian to big endian (jaguar native) // & vice versa -#define SET32(r, a, v) r[a] = ((v) & 0xFF000000) >> 24, r[a+1] = ((v) & 0x00FF0000) >> 16, \ - r[a+2] = ((v) & 0x0000FF00) >> 8, r[a+3] = (v) & 0x000000FF -#define GET32(r, a) ((r[a] << 24) | (r[a+1] << 16) | (r[a+2] << 8) | r[a+3]) -#define SET16(r, a, v) r[a] = ((v) & 0xFF00) >> 8, r[a+1] = (v) & 0xFF -#define GET16(r, a) ((r[a] << 8) | r[a+1]) +#define SET32(r, a, v) r[(a)] = ((v) & 0xFF000000) >> 24, r[(a)+1] = ((v) & 0x00FF0000) >> 16, \ + r[(a)+2] = ((v) & 0x0000FF00) >> 8, r[(a)+3] = (v) & 0x000000FF +#define GET32(r, a) ((r[(a)] << 24) | (r[(a)+1] << 16) | (r[(a)+2] << 8) | r[(a)+3]) +#define SET16(r, a, v) r[(a)] = ((v) & 0xFF00) >> 8, r[(a)+1] = (v) & 0xFF +#define GET16(r, a) ((r[(a)] << 8) | r[(a)+1]) + +// Various clock rates + +#define M68K_CLOCK_RATE_PAL 13296950 +#define M68K_CLOCK_RATE_NTSC 13295453 +#define RISC_CLOCK_RATE_PAL 26593900 +#define RISC_CLOCK_RATE_NTSC 26590906 + +// Stuff for IRQ handling + +#define ASSERT_LINE 1 +#define CLEAR_LINE 0 -//Temp debug stuff +//Temp debug stuff (will go away soon, so don't depend on these) void DumpMainMemory(void); uint8 * GetRamPtr(void); -#endif // #ifndef __JAGUAR_H__ +#endif // __JAGUAR_H__