From bea72e9514a5b3ced091d952762a5fa633e27740 Mon Sep 17 00:00:00 2001 From: Max Horn Date: Sun, 9 Jul 2006 11:47:17 +0000 Subject: Patch #1519399: DS Backend svn-id: r23452 --- .../platform/ds/commoninclude/NDS/scummvm_ipc.h | 186 +++++++++++++++++++++ 1 file changed, 186 insertions(+) create mode 100644 backends/platform/ds/commoninclude/NDS/scummvm_ipc.h (limited to 'backends/platform/ds/commoninclude') diff --git a/backends/platform/ds/commoninclude/NDS/scummvm_ipc.h b/backends/platform/ds/commoninclude/NDS/scummvm_ipc.h new file mode 100644 index 0000000000..10457c2848 --- /dev/null +++ b/backends/platform/ds/commoninclude/NDS/scummvm_ipc.h @@ -0,0 +1,186 @@ + +#ifndef SCUMMVM_IPC_INCLUDE +#define SCUMMVM_IPC_INCLUDE + +////////////////////////////////////////////////////////////////////// + +#include +#include + +////////////////////////////////////////////////////////////////////// + + +typedef struct _adpcmBuffer { + u8* buffer[8]; + bool filled[8]; + u8* arm7Buffer[8]; + bool arm7Dirty[8]; + bool semaphore; +} adpcmBuffer; + +////////////////////////////////////////////////////////////////////// + +typedef struct scummvmTransferRegion { + uint32 heartbeat; // counts frames + + int16 touchX, touchY; // TSC X, Y + int16 touchXpx, touchYpx; // TSC X, Y pixel values + int16 touchZ1, touchZ2; // TSC x-panel measurements + uint16 tdiode1, tdiode2; // TSC temperature diodes + uint32 temperature; // TSC computed temperature + + uint16 buttons; // X, Y, /PENIRQ buttons + + union { + uint8 curtime[8]; // current time response from RTC + + struct { + u8 rtc_command; + u8 rtc_year; //add 2000 to get 4 digit year + u8 rtc_month; //1 to 12 + u8 rtc_day; //1 to (days in month) + + u8 rtc_incr; + u8 rtc_hours; //0 to 11 for AM, 52 to 63 for PM + u8 rtc_minutes; //0 to 59 + u8 rtc_seconds; //0 to 59 + }; + }; + + uint16 battery; // battery life ?? hopefully. :) + uint16 aux; // i have no idea... + + pTransferSound soundData; + + adpcmBuffer adpcm; + + + // Don't rely on these below, will change or be removed in the future + vuint32 mailAddr; + vuint32 mailData; + vuint8 mailRead; + vuint8 mailBusy; + vuint32 mailSize; + + bool performArm9SleepMode; + + u32 test; + int tweak; + bool tweakChanged; + +// bool fillSoundFirstHalf; +// bool fillSoundSecondHalf; + + // These are used for ScummVMs sound output + bool fillNeeded[4]; + int playingSection; + + bool reset; + + // Streaming sound + bool streamFillNeeded[4]; + int streamPlayingSection; +} scummTransferRegion, * pscummTransferRegion; + +////////////////////////////////////////////////////////////////////// + +#undef IPC +#define IPC ((scummTransferRegion volatile *)(0x027FF000)) + + +#endif + + + +#ifndef SCUMMVM_IPC_INCLUDE +#define SCUMMVM_IPC_INCLUDE + +////////////////////////////////////////////////////////////////////// + +#include +#include + +////////////////////////////////////////////////////////////////////// + + +typedef struct _adpcmBuffer { + u8* buffer[8]; + bool filled[8]; + u8* arm7Buffer[8]; + bool arm7Dirty[8]; + bool semaphore; +} adpcmBuffer; + +////////////////////////////////////////////////////////////////////// + +typedef struct scummvmTransferRegion { + uint32 heartbeat; // counts frames + + int16 touchX, touchY; // TSC X, Y + int16 touchXpx, touchYpx; // TSC X, Y pixel values + int16 touchZ1, touchZ2; // TSC x-panel measurements + uint16 tdiode1, tdiode2; // TSC temperature diodes + uint32 temperature; // TSC computed temperature + + uint16 buttons; // X, Y, /PENIRQ buttons + + union { + uint8 curtime[8]; // current time response from RTC + + struct { + u8 rtc_command; + u8 rtc_year; //add 2000 to get 4 digit year + u8 rtc_month; //1 to 12 + u8 rtc_day; //1 to (days in month) + + u8 rtc_incr; + u8 rtc_hours; //0 to 11 for AM, 52 to 63 for PM + u8 rtc_minutes; //0 to 59 + u8 rtc_seconds; //0 to 59 + }; + }; + + uint16 battery; // battery life ?? hopefully. :) + uint16 aux; // i have no idea... + + pTransferSound soundData; + + adpcmBuffer adpcm; + + + // Don't rely on these below, will change or be removed in the future + vuint32 mailAddr; + vuint32 mailData; + vuint8 mailRead; + vuint8 mailBusy; + vuint32 mailSize; + + bool performArm9SleepMode; + + u32 test; + int tweak; + bool tweakChanged; + +// bool fillSoundFirstHalf; +// bool fillSoundSecondHalf; + + // These are used for ScummVMs sound output + bool fillNeeded[4]; + int playingSection; + + bool reset; + + // Streaming sound + bool streamFillNeeded[4]; + int streamPlayingSection; +} scummTransferRegion, * pscummTransferRegion; + +////////////////////////////////////////////////////////////////////// + +#undef IPC +#define IPC ((scummTransferRegion volatile *)(0x027FF000)) + + +#endif + + -- cgit v1.2.3