diff options
Diffstat (limited to 'packages/libogcfpc/src')
-rw-r--r-- | packages/libogcfpc/src/network.pp | 2 | ||||
-rw-r--r-- | packages/libogcfpc/src/ogc/arqmgr.inc | 2 | ||||
-rw-r--r-- | packages/libogcfpc/src/ogc/cast.inc | 27 | ||||
-rw-r--r-- | packages/libogcfpc/src/ogc/dsp.inc | 2 | ||||
-rw-r--r-- | packages/libogcfpc/src/ogc/gx.inc | 2 | ||||
-rw-r--r-- | packages/libogcfpc/src/ogc/isfs.inc | 4 | ||||
-rw-r--r-- | packages/libogcfpc/src/ogc/lwp_watchdog.inc | 4 | ||||
-rw-r--r-- | packages/libogcfpc/src/ogc/si.inc | 5 | ||||
-rw-r--r-- | packages/libogcfpc/src/ogc/system.inc | 4 | ||||
-rw-r--r-- | packages/libogcfpc/src/ogc/usbstorage.inc | 2 | ||||
-rw-r--r-- | packages/libogcfpc/src/ogcsys.inc | 2 | ||||
-rw-r--r-- | packages/libogcfpc/src/sdcard/card_io.inc | 14 |
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} |