diff options
author | Max Horn | 2006-07-09 11:47:17 +0000 |
---|---|---|
committer | Max Horn | 2006-07-09 11:47:17 +0000 |
commit | bea72e9514a5b3ced091d952762a5fa633e27740 (patch) | |
tree | c697df47b449a0952c2bb18f10502cae8ae3d939 /backends/platform/ds/commoninclude | |
parent | 51ad5aa7197b3ced348ae37e2bc1586cb25dff3e (diff) | |
download | scummvm-rg350-bea72e9514a5b3ced091d952762a5fa633e27740.tar.gz scummvm-rg350-bea72e9514a5b3ced091d952762a5fa633e27740.tar.bz2 scummvm-rg350-bea72e9514a5b3ced091d952762a5fa633e27740.zip |
Patch #1519399: DS Backend
svn-id: r23452
Diffstat (limited to 'backends/platform/ds/commoninclude')
-rw-r--r-- | backends/platform/ds/commoninclude/NDS/scummvm_ipc.h | 186 |
1 files changed, 186 insertions, 0 deletions
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 <nds/jtypes.h> +#include <nds/ipc.h> + +////////////////////////////////////////////////////////////////////// + + +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 <nds/jtypes.h> +#include <nds/ipc.h> + +////////////////////////////////////////////////////////////////////// + + +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 + + |