summaryrefslogtreecommitdiff
path: root/fpcsrc/packages/libgbafpc/src/gba/disc_io.inc
blob: 4bc413709a76de955c58d33dec4f292dd6e520f7 (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
{$ifdef GBA_INTERFACE}

const
  FEATURE_MEDIUM_CANREAD		= $00000001;
  FEATURE_MEDIUM_CANWRITE		= $00000002;
  FEATURE_SLOT_GBA			= $00000010;
  FEATURE_SLOT_NDS			= $00000020;


type
  FN_MEDIUM_STARTUP = function: boolean;
  FN_MEDIUM_ISINSERTED = function: boolean;
  FN_MEDIUM_READSECTORS = function(sector, numSectors: cint32; buffer: pointer): boolean;
  FN_MEDIUM_WRITESECTORS = function(sector, numSectors: cint32; const buffer: pointer): boolean;
  FN_MEDIUM_CLEARSTATUS = function: boolean;
  FN_MEDIUM_SHUTDOWN = function: boolean;

  DISC_INTERFACE_STRUCT = record
    ioType: cuint32;
    features: cuint32;
    startup: FN_MEDIUM_STARTUP;
    isInserted: FN_MEDIUM_ISINSERTED;
    readSectors: FN_MEDIUM_READSECTORS;
    writeSectors: FN_MEDIUM_WRITESECTORS;
    clearStatus: FN_MEDIUM_CLEARSTATUS;
    shutdown: FN_MEDIUM_SHUTDOWN;
  end;
  DISC_INTERFACE = DISC_INTERFACE_STRUCT;
  TDISC_INTERFACE = DISC_INTERFACE_STRUCT;
  PDISC_INTERFACE = ^DISC_INTERFACE_STRUCT;

{$endif GBA_INTERFACE}