summaryrefslogtreecommitdiff
path: root/packages/libndsfpc/src/nds/fifomessages.inc
blob: f56f44964ceac1ddaf412fdb76edc253f34dfc23 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
{$ifdef NDS_INTERFACE}

type
  FifoMessageType = integer;
const
  SOUND_PLAY_MESSAGE        : FifoMessageType = $1234;
  SOUND_PSG_MESSAGE         : FifoMessageType = $1235;
  SOUND_NOISE_MESSAGE       : FifoMessageType = $1236;
  MIC_RECORD_MESSAGE        : FifoMessageType = $1237;
  MIC_BUFFER_FULL_MESSAGE   : FifoMessageType = $1238;
  SYS_INPUT_MESSAGE         : FifoMessageType = $1239;
	SDMMC_SD_READ_SECTORS     : FifoMessageType = $123A;
	SDMMC_SD_WRITE_SECTORS    : FifoMessageType = $123B;
	SDMMC_NAND_READ_SECTORS   : FifoMessageType = $123C;
	SDMMC_NAND_WRITE_SECTORS  : FifoMessageType = $123D;

type
{$PACKRECORDS 4} 
  FifoMessage = record
    _type: cuint16;
    case integer of
      0: (
        SundPlay: record
          _type: cuint16;
          data: pointer;
          dataSize: cuint16;
          loopPoint: cuint16;
          freq: cuint16;
          volume: cuint8;
          pan: cuint8;
          loop: cbool;
          format: cuint8;
        end;
      );
      1: (
        SoundPsg: record
          freq: cuint16;
          dutyCycle: cuint8;
          volume: cuint8;
          pan: cuint8;
          channel: cuint8;
        end;
      );
      2: (
        MicRecord: record
          buffer: pointer;
          bufferLength: cuint32;
          freq: cuint16;
          format: cuint8;
        end;
      );
      3: (
        MicBufferFull: record
          buffer: pointer;
          length: cuint32;
        end;
      );
      4: (
        SystemInput: record
          touch: touchPosition;
          keys: cuint16;
        end;
      );
      5: (
        sdParams: record
          buffer: pointer;
			    startsector: cuint32;
			    numsectors: cuint32;
			  end;
		  );
      6: (
        blockParams: record
          buffer: pointer;
          address: cuint32;
          length: cuint32;
        end;      
      );  
        
  end;
  TFifoMessage = FifoMessage;
  PFifoMessage = ^FifoMessage;

{$PACKRECORDS C}   
{$endif NDS_INTERFACE}