summaryrefslogtreecommitdiff
path: root/packages/libogcfpc/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/libogcfpc/src')
-rw-r--r--packages/libogcfpc/src/network.pp2
-rw-r--r--packages/libogcfpc/src/ogc/arqmgr.inc2
-rw-r--r--packages/libogcfpc/src/ogc/cast.inc27
-rw-r--r--packages/libogcfpc/src/ogc/dsp.inc2
-rw-r--r--packages/libogcfpc/src/ogc/gx.inc2
-rw-r--r--packages/libogcfpc/src/ogc/isfs.inc4
-rw-r--r--packages/libogcfpc/src/ogc/lwp_watchdog.inc4
-rw-r--r--packages/libogcfpc/src/ogc/si.inc5
-rw-r--r--packages/libogcfpc/src/ogc/system.inc4
-rw-r--r--packages/libogcfpc/src/ogc/usbstorage.inc2
-rw-r--r--packages/libogcfpc/src/ogcsys.inc2
-rw-r--r--packages/libogcfpc/src/sdcard/card_io.inc14
12 files changed, 45 insertions, 25 deletions
diff --git a/packages/libogcfpc/src/network.pp b/packages/libogcfpc/src/network.pp
index 82a046cdf5..7fcb34afa8 100644
--- a/packages/libogcfpc/src/network.pp
+++ b/packages/libogcfpc/src/network.pp
@@ -235,9 +235,9 @@ type
function net_init_async(cb: netcallback; usrdata: pointer): cint32; cdecl; external;
function net_get_status: cint32; cdecl; external;
procedure net_wc24cleanup; cdecl; external;
-function net_get_mac_address(mac_buf: pointer): cint32; cdecl; external;
{$endif}
+function net_get_mac_address(mac_buf: pointer): cint32; cdecl; external;
procedure net_deinit; cdecl; external;
function net_gethostip: cuint32; cdecl; external;
function net_socket(domain, type_, protocol: cuint32): cint32; cdecl; external;
diff --git a/packages/libogcfpc/src/ogc/arqmgr.inc b/packages/libogcfpc/src/ogc/arqmgr.inc
index 66e8b9d479..251bfa64bb 100644
--- a/packages/libogcfpc/src/ogc/arqmgr.inc
+++ b/packages/libogcfpc/src/ogc/arqmgr.inc
@@ -8,6 +8,8 @@ procedure ARQM_Init(arambase: cuint32; len: cint32); cdecl; external;
function ARQM_PushData(buffer: pointer; len: cint32): cuint32; cdecl; external;
+procedure ARQM_Pop(); cdecl; external;
+
function ARQM_GetZeroBuffer: cuint32; cdecl; external;
function ARQM_GetStackPointer: cuint32; cdecl; external;
diff --git a/packages/libogcfpc/src/ogc/cast.inc b/packages/libogcfpc/src/ogc/cast.inc
index 3fa5df538e..cd02620413 100644
--- a/packages/libogcfpc/src/ogc/cast.inc
+++ b/packages/libogcfpc/src/ogc/cast.inc
@@ -21,14 +21,17 @@ const
{$ifdef GEKKO}
+const
+ GQR_SCALE_MASK = ($3f shl 8);
+
procedure __set_gqr(_reg,_val: cint); inline;
procedure CAST_Init(); inline;
-procedure CAST_SetGQR2(_type, scale: cuint32); inline;
-procedure CAST_SetGQR3(_type, scale: cuint32); inline;
-procedure CAST_SetGQR4(_type, scale: cuint32); inline;
-procedure CAST_SetGQR5(_type, scale: cuint32); inline;
-procedure CAST_SetGQR6(_type, scale: cuint32); inline;
-procedure CAST_SetGQR7(_type, scale: cuint32); inline;
+procedure CAST_SetGQR2(_type, scale: cint32); inline;
+procedure CAST_SetGQR3(_type, scale: cint32); inline;
+procedure CAST_SetGQR4(_type, scale: cint32); inline;
+procedure CAST_SetGQR5(_type, scale: cint32); inline;
+procedure CAST_SetGQR6(_type, scale: cint32); inline;
+procedure CAST_SetGQR7(_type, scale: cint32); inline;
function __castu8f32(_in: pcuint8): f32; inline;
function __castu16f32(_in: pcuint16): f32; inline;
function __casts8f32(_in: pcint8): f32; inline
@@ -85,7 +88,7 @@ procedure CAST_SetGQR2(_type, scale: cuint32); inline;
var
val: cuint32;
begin
- val := (((((scale) shl 8) or (_type)) shl 16) or (((scale) shl 8) or (_type)));
+ val := ((((((scale) shl 8) and GQR_SCALE_MASK) or (_type)) shl 16) or ((((scale) shl 8) and GQR_SCALE_MASK) or (_type)));
__set_gqr(GQR2,val);
end;
@@ -93,7 +96,7 @@ procedure CAST_SetGQR3(_type, scale: cuint32); inline;
var
val: cuint32;
begin
- val := (((((scale) shl 8) or (_type)) shl 16) or (((scale) shl 8) or (_type)));
+ val := ((((((scale) shl 8) and GQR_SCALE_MASK) or (_type)) shl 16) or ((((scale) shl 8) and GQR_SCALE_MASK) or (_type)));
__set_gqr(GQR3,val);
end;
@@ -101,7 +104,7 @@ procedure CAST_SetGQR4(_type, scale: cuint32); inline;
var
val: cuint32;
begin
- val := (((((scale) shl 8) or (_type)) shl 16) or (((scale) shl 8) or (_type)));
+ val := ((((((scale) shl 8) and GQR_SCALE_MASK) or (_type)) shl 16) or ((((scale) shl 8) and GQR_SCALE_MASK) or (_type)));
__set_gqr(GQR4,val);
end;
@@ -109,7 +112,7 @@ procedure CAST_SetGQR5(_type, scale: cuint32); inline;
var
val: cuint32;
begin
- val := (((((scale) shl 8) or (_type)) shl 16) or (((scale) shl 8) or (_type)));
+ val := ((((((scale) shl 8) and GQR_SCALE_MASK) or (_type)) shl 16) or ((((scale) shl 8) and GQR_SCALE_MASK) or (_type)));
__set_gqr(GQR5,val);
end;
@@ -117,7 +120,7 @@ procedure CAST_SetGQR6(_type, scale: cuint32); inline;
var
val: cuint32;
begin
- val := (((((scale) shl 8) or (_type)) shl 16) or (((scale) shl 8) or (_type)));
+ val := ((((((scale) shl 8) and GQR_SCALE_MASK) or (_type)) shl 16) or ((((scale) shl 8) and GQR_SCALE_MASK) or (_type)));
__set_gqr(GQR6,val);
end;
@@ -125,7 +128,7 @@ procedure CAST_SetGQR7(_type, scale: cuint32); inline;
var
val: cuint32;
begin
- val := (((((scale) shl 8) or (_type)) shl 16) or (((scale) shl 8) or (_type)));
+ val := ((((((scale) shl 8) and GQR_SCALE_MASK) or (_type)) shl 16) or ((((scale) shl 8) and GQR_SCALE_MASK) or (_type)));
__set_gqr(GQR7,val);
end;
diff --git a/packages/libogcfpc/src/ogc/dsp.inc b/packages/libogcfpc/src/ogc/dsp.inc
index 125f251737..b6b41bd956 100644
--- a/packages/libogcfpc/src/ogc/dsp.inc
+++ b/packages/libogcfpc/src/ogc/dsp.inc
@@ -79,6 +79,8 @@ procedure DSP_Halt; cdecl; external;
procedure DSP_Unhalt; cdecl; external;
+function DSP_GetDMAStatus(): cuint32; cdecl; external;
+
function DSP_RegisterCallback(usr_cb: DSPCallback): DSPCallback; cdecl; external;
{$ENDIF}
diff --git a/packages/libogcfpc/src/ogc/gx.inc b/packages/libogcfpc/src/ogc/gx.inc
index 4dfb3f8511..c44e955d4f 100644
--- a/packages/libogcfpc/src/ogc/gx.inc
+++ b/packages/libogcfpc/src/ogc/gx.inc
@@ -1030,6 +1030,7 @@ procedure GX_LoadPosMtxIdx(mtxidx: cuint16; pnidx: cuint32); cdecl; external;
procedure GX_LoadNrmMtxImm(mt: Mtx; pnidx: cuint32); cdecl; external;
+procedure GX_LoadNrmMtxImm3x3(mt: Mtx33; pnidx: cuint32); cdecl; external;
procedure GX_LoadNrmMtxIdx3x3(mtxidx: cuint16; pnidx: cuint32); cdecl; external;
@@ -2300,6 +2301,7 @@ procedure GX_InitTexObjLOD(obj: PGXTexObj; minfilt, magfilt: cuint8;
procedure GX_SetTexCoordScaleManually(texcoord, enable: cuint8; ss, ts: cuint16); cdecl; external;
+procedure GX_SetTexCoordCylWrap(texcoord, s_enable, t_enable: cuint8); cdecl; external;
(*!
* \fn void GX_SetTexCoordBias(u8 texcoord,u8 s_enable,u8 t_enable)
diff --git a/packages/libogcfpc/src/ogc/isfs.inc b/packages/libogcfpc/src/ogc/isfs.inc
index 2c3d397e9e..ad6af87df0 100644
--- a/packages/libogcfpc/src/ogc/isfs.inc
+++ b/packages/libogcfpc/src/ogc/isfs.inc
@@ -22,12 +22,12 @@ type
function ISFS_Initialize: cint32; cdecl; external;
-
function ISFS_Deinitialize: cint32; cdecl; external;
+function ISFS_Format(): cint32; cdecl; external;
+function ISFS_FormatAsync(cb: isfscallback; usrdata: pointer): cint32; cdecl; external;
function ISFS_Open(filepath: pcchar; mode: cuint8): cint32; cdecl; external;
-
function ISFS_OpenAsync(filepath: pcchar; mode: cuint8; cb: isfscallback;
usrdata: pointer): cint32; cdecl; external;
diff --git a/packages/libogcfpc/src/ogc/lwp_watchdog.inc b/packages/libogcfpc/src/ogc/lwp_watchdog.inc
index 354a7d0694..90c99da9cc 100644
--- a/packages/libogcfpc/src/ogc/lwp_watchdog.inc
+++ b/packages/libogcfpc/src/ogc/lwp_watchdog.inc
@@ -125,12 +125,12 @@ end;
function tick_microsecs(ticks: cuint64): cuint64; inline;
begin
- result := (((cuint64(ticks)*8) mod cuint64(TB_TIMER_CLOCK div 125)));
+ result := (((cuint64(ticks)*8) div cuint64(TB_TIMER_CLOCK div 125)) mod TB_USPERSEC);
end;
function tick_nanosecs(ticks: cuint64): cuint64; inline;
begin
- result := (((cuint64(ticks)*8000) mod cuint64(TB_TIMER_CLOCK div 125)));
+ result := (((cuint64(ticks)*8000) div cuint64(TB_TIMER_CLOCK div 125)) mod TB_NSPERSEC);
end;
diff --git a/packages/libogcfpc/src/ogc/si.inc b/packages/libogcfpc/src/ogc/si.inc
index 538ef2e560..d1e049f97f 100644
--- a/packages/libogcfpc/src/ogc/si.inc
+++ b/packages/libogcfpc/src/ogc/si.inc
@@ -66,9 +66,8 @@ type
function SI_Sync: cuint32; cdecl; external;
-
function SI_Busy: cuint32; cdecl; external;
-
+procedure SI_SetXY(line: cuint16; cnt: cuint8); cdecl; external;
function SI_IsChanBusy(chan: cint32): cuint32; cdecl; external;
procedure SI_EnablePolling(poll: cuint32); cdecl; external;
@@ -82,7 +81,7 @@ function SI_GetStatus(chan: cint32): cuint32; cdecl; external;
function SI_GetResponse(chan: cint32; buf: pointer): cuint32; cdecl; external;
function SI_GetResponseRaw(chan: cint32): cuint32; cdecl; external;
-
+procedure SI_SetSamplingRate(samplingrate: cuint32); cdecl; external;
procedure SI_RefreshSamplingRate; cdecl; external;
function SI_Transfer(chan: cint32; out_: pointer; out_len: cuint32;
diff --git a/packages/libogcfpc/src/ogc/system.inc b/packages/libogcfpc/src/ogc/system.inc
index 493c20960a..dfd39aa81b 100644
--- a/packages/libogcfpc/src/ogc/system.inc
+++ b/packages/libogcfpc/src/ogc/system.inc
@@ -115,7 +115,7 @@ type
- resetcallback = procedure;
+ resetcallback = procedure(irq: cuint32; ctx: pointer);
powercallback = procedure;
resetfunction = function(_final: cint32): cint32;
@@ -139,7 +139,7 @@ procedure SYS_ProtectRange(chan: cuint32; addr: pointer; bytes, cntrl: cuint32);
procedure SYS_StartPMC(mcr0val, mcr1val: cuint32); cdecl; external;
procedure SYS_DumpPMC(); cdecl; external;
procedure SYS_StopPMC(); cdecl; external;
-
+procedure SYS_ResetPMC(); cdecl; external;
function SYS_CreateAlarm(thealarm: psyswd_t): cint32; cdecl; external;
diff --git a/packages/libogcfpc/src/ogc/usbstorage.inc b/packages/libogcfpc/src/ogc/usbstorage.inc
index 994a21e0ab..f3a1a725fc 100644
--- a/packages/libogcfpc/src/ogc/usbstorage.inc
+++ b/packages/libogcfpc/src/ogc/usbstorage.inc
@@ -57,7 +57,7 @@ type
praw_device_command = ^raw_device_command;
function USBStorage_Initialize(): cint32; cdecl; external;
-
+procedure USBStorage_Deinitialize(); cdecl; external;
function USBStorage_Open(dev: pusbstorage_handle; device_id: cint32; vid, pid: cuint16): cint32; cdecl; external;
function USBStorage_Close(dev: pusbstorage_handle): cint32; cdecl; external;
function USBStorage_Reset(dev: pusbstorage_handle): cint32; cdecl; external;
diff --git a/packages/libogcfpc/src/ogcsys.inc b/packages/libogcfpc/src/ogcsys.inc
index bed5ddc433..36725a4958 100644
--- a/packages/libogcfpc/src/ogcsys.inc
+++ b/packages/libogcfpc/src/ogcsys.inc
@@ -31,7 +31,5 @@ const
TB_SECSPERDAY = (TB_SECSPERMIN * TB_MINSPERHR * TB_HRSPERDAY);
TB_SECSPERNYR = (365 * TB_SECSPERDAY);
-function time(timer: ptime_t): time_t; cdecl; external;
-function nanosleep(tb: ptimespec): cint; cdecl; external;
{$endif OGC_INTERFACE}
diff --git a/packages/libogcfpc/src/sdcard/card_io.inc b/packages/libogcfpc/src/sdcard/card_io.inc
index eff81375d5..6f081fdc91 100644
--- a/packages/libogcfpc/src/sdcard/card_io.inc
+++ b/packages/libogcfpc/src/sdcard/card_io.inc
@@ -17,6 +17,11 @@ const
{$define C_SIZE(drv_no) := (cuint16(((g_CSD[drv_no][6] and $03) shl 10) or (g_CSD[drv_no][7] shl 2) or ((g_CSD[drv_no][8] shr 6) and $03)))}
{$define C_SIZE_MULT(drv_no) := (cuint8((g_CSD[drv_no][9] and $03) shl 1) or ((g_CSD[drv_no][10] shr 7) and $01))}
+type
+ card_addressing_type_t = cuint32;
+const
+ CARD_IO_SECTOR_ADDRESSING: card_addressing_type_t = 0;
+ CARD_IO_BYTE_ADDRESSING: card_addressing_type_t = 1;
var
g_CSD : array [0..15] of cuint8; external;
@@ -40,6 +45,15 @@ function sdgecko_writeSectors(drv_no: cint32; sector_no, num_sectors: cuint32;
function sdgecko_doUnmount(drv_no: cint32): cint32; cdecl; external;
procedure sdgecko_insertedCB(drv_no: cint32); cdecl; external;
procedure sdgecko_ejectedCB(drv_no: cint32); cdecl; external;
+
+procedure sdgecko_setSpeed(freq: cuint32); cdecl; external;
+
+function sdgecko_getPageSize(drv_no: cint32): cuint32; cdecl; external;
+function sdgecko_setPageSize(drv_no: cint32; size: cint): cuint32; cdecl; external;
+
+function sdgecko_getAddressingType(drv_no: cint32): card_addressing_type_t; cdecl; external;
+
+
{$ENDIF}