* libnds updated to ver.1.5.4

git-svn-id: trunk@19255 -
This commit is contained in:
Legolas 2011-09-27 18:54:32 +00:00
parent ce01b15c49
commit 02b0ef5379
8 changed files with 67 additions and 30 deletions

View File

@ -1,7 +1,6 @@
{$ifdef NDS_INTERFACE}
const
SDMMC_BASE = $04004800;
DISPSTAT_CHK_VBLANK = (1 shl 0);
REG_SDSTATUS0 = $1c;
REG_SDSTATUS1 = $1e;
@ -56,9 +55,9 @@ function sdmmc_cardinserted(): cint; cdecl; external;
function sdmmc_sdcard_init(): cint; cdecl; external;
procedure sdmmc_sdcard_readsector(sector_no: cuint32; _out: pointer); cdecl; external;
procedure sdmmc_sdcard_readsectors(sector_no: cuint32; int numsectors: cint; _out: pointer); cdecl; external;
procedure sdmmc_sdcard_readsectors(sector_no: cuint32; numsectors: cuint32; _out: pointer); cdecl; external;
procedure sdmmc_sdcard_writesector(sector_no: cuint32; _in: pointer); cdecl; external;
procedure sdmmc_sdcard_writesectors(sector_no: cuint32; int numsectors: cint; _in: pointer); cdecl; external;
procedure sdmmc_sdcard_writesectors(sector_no: cuint32; numsectors: cuint32; _in: pointer); cdecl; external;
var
sdmmc_curdevice: cint; cvar; external;

View File

@ -184,6 +184,7 @@ const
type
GL_TEXTURE_TYPE_ENUM = cint32;
const
GL_NOTEXTURE : GL_TEXTURE_TYPE_ENUM = 0;
GL_RGB32_A3 : GL_TEXTURE_TYPE_ENUM = 1;
GL_RGB4 : GL_TEXTURE_TYPE_ENUM = 2;
GL_RGB16 : GL_TEXTURE_TYPE_ENUM = 3;
@ -193,7 +194,11 @@ const
GL_RGBA : GL_TEXTURE_TYPE_ENUM = 7;
GL_RGB : GL_TEXTURE_TYPE_ENUM = 8;
type
GL_TEXTURE_PALETTE_PARAM_ENUM = cint32;
const
GL_COLOR_TABLE_FORMAT_EXT: GL_TEXTURE_PALETTE_PARAM_ENUM = 0;
GL_COLOR_TABLE_WIDTH_EXT : GL_TEXTURE_PALETTE_PARAM_ENUM = 1;
type
DISP3DCNT_ENUM = cint32;
@ -352,6 +357,7 @@ procedure glRotatef32i(angle: cint; x, y, z: cint32); cdecl; external;
function glTexImage2D(target, empty1: cint; _type: GL_TEXTURE_TYPE_ENUM; sizeX, sizeY, empty2, param: cint; texture: pointer): cint; cdecl; external;
procedure glColorTableEXT(target, empty1: cint; width: cuint16; empty2, empty3: cint; const table: pcuint16); cdecl; external;
procedure glColorSubTableEXT(target, start, count, empty1, empty2: cint; const data: pcuint16); cdecl; external;
procedure glAssignColorTable(target, name: cint); cdecl; external;
//procedure glTexLoadPal(const pal: pcuint16; count: cuint16; addr: cuint32); cdecl; external;
@ -359,6 +365,7 @@ procedure glAssignColorTable(target, name: cint); cdecl; external;
procedure glTexParameter(target, param: cint); cdecl; external;
function glGetTexParameter(): cuint32; cdecl; external;
procedure glGetColorTableParameterEXT(target, pname: cint; params: pcint); cdecl; external;
function glGetTexturePointer(name: cint): pointer; cdecl; external;
procedure glBindTexture(target, name: cint); cdecl; external;
//procedure glColorTable(format: cuint8; addr: cuint32); cdecl; external;
@ -370,8 +377,8 @@ procedure glMaterialf(mode: GL_MATERIALS_ENUM; color: rgb); cdecl; external;
procedure glInit_C(); cdecl; external;
function glGetGlobals(): PGLHiddenGlobals; cdecl; external;
function POLY_ALPHA(n: cint): cuint32; inline;
function POLY_ID(n: cint): cuint32; inline;
function POLY_ALPHA(n: cuint32): cuint32; inline;
function POLY_ID(n: cuint32): cuint32; inline;
procedure glBegin(mode: GL_GLBEGIN_ENUM); inline;
procedure glEnd(); inline;
procedure glClearDepth(depth: fixed12d3); inline;
@ -737,12 +744,12 @@ end;
//////////////////////////////////////////////////////////////////////////////////////////
function POLY_ALPHA(n: cint): cuint32; inline;
function POLY_ALPHA(n: cuint32): cuint32; inline;
begin
POLY_ALPHA := cuint32((n) shl 16);
end;
function POLY_ID(n: cint): cuint32; inline;
function POLY_ID(n: cuint32): cuint32; inline;
begin
POLY_ID := cuint32((n) shl 24);
end;

View File

@ -23,7 +23,7 @@ const
EEPROM_WREN = $06;
EEPROM_RDID = $9f;
// ROMCTRL register:
// REG_ROMCTRL:
CARD_ACTIVATE = (1 shl 31); // when writing, get the ball rolling
CARD_WR = (1 shl 30);
CARD_nRESET = (1 shl 29); // value on the /reset pin (1 = high out, not a reset state, 0 = low out = in reset)
@ -62,6 +62,16 @@ const
CARD_CMD_DATA_CHIPID = $B8;
// REG_AUXSPICNT
CARD_ENABLE = (1 shl 15);
CARD_SPI_ENABLE = (1 shl 13);
CARD_SPI_BUSY = (1 shl 7);
CARD_SPI_HOLD = (1 shl 6);
CARD_SPICNTH_ENABLE = (1 shl 7); // in byte 1, i.e. 0x8000
CARD_SPICNTH_IRQ = (1 shl 6); // in byte 1, i.e. 0x4000
procedure cardWriteCommand(const command: pcuint8); cdecl; external;
@ -74,6 +84,7 @@ procedure cardReadHeader(header: pcuint8); cdecl; external;
function cardReadID(flags: cuint32): cuint32; cdecl; external;
procedure cardReset(); cdecl; external;
procedure eepromWaitBusy(); inline;
procedure cardReadEeprom(address: cuint32; data: pcuint8; length: cuint32; addrtype: cuint32); cdecl; external;
procedure cardWriteEeprom(address: cuint32; data: pcuint8; length: cuint32; addrtype: cuint32); cdecl; external;
@ -107,4 +118,9 @@ begin
result := (n and $1FFF);
end;
procedure eepromWaitBusy(); inline;
begin
while (REG_AUXSPICNT^ and CARD_SPI_BUSY) <> 0 do;
end;
{$endif NDS_IMPLEMENTATION}

View File

@ -9,9 +9,9 @@ const
FIFO_SYSTEM : FifoChannels = 2;
FIFO_MAXMOD : FifoChannels = 3;
FIFO_DSWIFI : FifoChannels = 4;
FIFO_RSVD_01: FifoChannels = 5;
FIFO_RSVD_02: FifoChannels = 6;
FIFO_RSVD_03: FifoChannels = 7;
FIFO_SDMMC : FifoChannels = 5;
FIFO_RSVD_01: FifoChannels = 6;
FIFO_RSVD_02: FifoChannels = 7;
FIFO_USER_01: FifoChannels = 8;
FIFO_USER_02: FifoChannels = 9;
FIFO_USER_03: FifoChannels = 10;
@ -44,10 +44,14 @@ const
SYS_REQ_KEYS : FifoSystemCommands = 1;
SYS_REQ_TIME : FifoSystemCommands = 2;
SYS_SET_TIME : FifoSystemCommands = 3;
SYS_HAVE_SD : FifoSystemCommands = 4;
SYS_SD_START : FifoSystemCommands = 5;
SYS_SD_IS_INSERTED : FifoSystemCommands = 6;
SYS_SD_STOP : FifoSystemCommands = 7;
type
FifoSdmmcCommands = integer;
const
SDMMC_HAVE_SD : FifoSystemCommands = 0;
SDMMC_SD_START : FifoSystemCommands = 1;
SDMMC_SD_IS_INSERTED : FifoSystemCommands = 2;
SDMMC_SD_STOP : FifoSystemCommands = 3;
type
FifoPMCommands = integer;
@ -72,9 +76,9 @@ const
type
PM_LedBlinkMode = integer;
const
PM_LED_ON: PM_LedBlinkMode = (0 shl 4);
PM_LED_SLEEP: PM_LedBlinkMode = (1 shl 4);
PM_LED_BLINK: PM_LedBlinkMode = (3 shl 4);
PM_LED_ON : PM_LedBlinkMode = 0;
PM_LED_SLEEP: PM_LedBlinkMode = 1;
PM_LED_BLINK: PM_LedBlinkMode = 3;
//var
// fifo_buffer: array [0..FIFO_BUFFER_ENTRIES*2-1] of cuint32; cvar; external;

View File

@ -3,14 +3,14 @@
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;
SYS_SD_READ_SECTORS : FifoMessageType = $1240;
SYS_SD_WRITE_SECTORS : FifoMessageType = $1241;
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;
type
{$PACKRECORDS 4}

View File

@ -31,7 +31,8 @@ const
type
IRQ_MASKSAUX = cuint;
const
IRQ_I2C: IRQ_MASKSAUX = (1 shl 6); (* Power Button interrupt mask (DSi ARM7) *)
IRQ_I2C : IRQ_MASKSAUX = (1 shl 6); (* Power Button interrupt mask (DSi ARM7) *)
IRQ_SDMMC : IRQ_MASKSAUX = (1 shl 8); (* Sdmmc interrupt mask (DSi ARM7) *)
function IRQ_TIMER(n: cint): cint; inline;

View File

@ -43,6 +43,7 @@
{$include arm9/guitarGrip.inc}
{$include arm9/paddle.inc}
{$include arm9/piano.inc}
{$include arm9/dldi.inc}
{$endif ARM9}
{$ifdef ARM7}
@ -51,5 +52,6 @@
{$include arm7/input.inc}
{$include arm7/i2c.inc}
{$include arm7/serial.inc}
{$include arm7/sdmmc.inc}
{$include arm7/touch.inc}
{$endif ARM7}

View File

@ -42,12 +42,12 @@ const
// POWER_ALL : PM_Bits = PM_ARM9_DIRECT or POWER_ALL_2D or POWER_3D_CORE or POWER_MATRIX;
POWER_ALL : PM_Bits = (1 shl 16) or (1 shl 0) or (1 shl 1) or (1 shl 9) or (1 shl 3) or (1 shl 2);
procedure sleep(); cdecl; external;
procedure SystemSleep(); cdecl; external;
procedure ledBlink(bm: cint); cdecl; external;
{$ifdef ARM9}
procedure powerOn(bits: cint); cdecl; external;
procedure powerOff(bits: cint); cdecl; external;
procedure ledBlink(bm: cint); cdecl; external;
procedure systemMsgHandler(bytes: cint; user_data: pointer); cdecl; external;
procedure powerValueHandler(value: cuint32; data: pointer); cdecl; external;
@ -77,6 +77,14 @@ type
var
SystemVectors: sysVectors; cvar; external;
// Helper functions for heap size
//! returns current start of heap space
function getHeapStart(): pcuint8; cdecl; external;
//! returns current end of heap space
function getHeapEnd(): pcuint8; cdecl; external;
//! returns current heap limit
function getHeapLimit(): pcuint8; cdecl; external;
{$endif ARM9}