X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Finclude%2Fjaguar.h;h=c0fb46f2a29e5ab84c47e07d161e4c728e3d5218;hb=f15fce96037da18521fdce80197cde37f56ea40c;hp=6463c2ff29466283e13c8954f5eb04f948853284;hpb=eec393ad84a023a5788204847d0bbaf8ecf0dd90;p=virtualjaguar diff --git a/src/include/jaguar.h b/src/include/jaguar.h index 6463c2f..c0fb46f 100644 --- a/src/include/jaguar.h +++ b/src/include/jaguar.h @@ -1,6 +1,7 @@ #ifndef __JAGUAR_H__ #define __JAGUAR_H__ +#include // Why??? (for memset, etc... Lazy!) Dunno why, but this just strikes me as wrong... #include "types.h" #include "log.h" #include "version.h" @@ -17,35 +18,32 @@ #include "joystick.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 uint32 jaguar_mainRom_crc32, jaguarRomSize, jaguarRunAddress; 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_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) @@ -64,8 +62,12 @@ void JaguarExecute(int16 * backbuffer, bool render); #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 (will go away soon, so don't use these) +//Temp debug stuff (will go away soon, so don't depend on these) void DumpMainMemory(void); uint8 * GetRamPtr(void);