mirror of
https://github.com/zeldaret/mm.git
synced 2026-07-11 14:18:39 -04:00
another io chunk
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
#include "global.h"
|
||||
#include "ultra64.h"
|
||||
|
||||
s32 __osEPiRawStartDma(OSPiHandle* handle, s32 direction, uintptr_t cartAddr, void* dramAddr, size_t size) {
|
||||
s32 status;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "global.h"
|
||||
#include "ultra64.h"
|
||||
|
||||
s32 __osEPiRawReadIo(OSPiHandle* handle, uintptr_t devAddr, u32* data) {
|
||||
s32 status;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "global.h"
|
||||
#include "ultra64.h"
|
||||
|
||||
s32 __osEPiRawWriteIo(OSPiHandle* handle, uintptr_t devAddr, u32 data) {
|
||||
s32 status;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "global.h"
|
||||
#include "ultra64.h"
|
||||
|
||||
s32 osEPiReadIo(OSPiHandle* handle, uintptr_t devAddr, u32* data) {
|
||||
register s32 ret;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "global.h"
|
||||
#include "ultra64.h"
|
||||
|
||||
s32 osEPiWriteIo(OSPiHandle* handle, uintptr_t devAddr, u32 data) {
|
||||
register s32 ret;
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#include "ultra64.h"
|
||||
#include "PR/os_motor.h"
|
||||
|
||||
#include "PR/controller.h"
|
||||
#include "functions.h"
|
||||
|
||||
#define BANK_ADDR 0x400
|
||||
#define MOTOR_ID 0x80
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#include "ultra64.h"
|
||||
#include "global.h"
|
||||
#include "PR/controller.h"
|
||||
|
||||
s32 osPfsAllocateFile(OSPfs* pfs, u16 companyCode, u32 gameCode, u8* gameName, u8* extName, s32 fileSize, s32* fileNo) {
|
||||
s32 startPage;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#include "PR/os_pfs.h"
|
||||
#include "global.h"
|
||||
#include "ultra64.h"
|
||||
#include "PR/controller.h"
|
||||
|
||||
#define CHECK_IPAGE(p) \
|
||||
(((p).ipage >= pfs->inodeStartPage) && ((p).inode_t.bank < pfs->banks) && ((p).inode_t.page >= 0x01) && \
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#include "PR/os_pfs.h"
|
||||
#include "global.h"
|
||||
#include "ultra64.h"
|
||||
#include "PR/controller.h"
|
||||
|
||||
s32 __osPfsReleasePages(OSPfs* pfs, __OSInode* inode, u8 initialPage, u8 bank, __OSInodeUnit* finalPage);
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include "PR/os_pfs.h"
|
||||
#include "global.h"
|
||||
#include "ultra64.h"
|
||||
#include "PR/controller.h"
|
||||
#include "libc/stdbool.h"
|
||||
|
||||
s32 osPfsFileState(OSPfs* pfs, s32 fileNo, OSPfsState* state) {
|
||||
s32 ret;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#include "global.h"
|
||||
#include "PR/os_pfs.h"
|
||||
#include "ultra64.h"
|
||||
#include "PR/controller.h"
|
||||
|
||||
s32 osPfsFreeBlocks(OSPfs* pfs, s32* leftoverBytes) {
|
||||
s32 j;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#include "ultra64.h"
|
||||
#include "global.h"
|
||||
#include "PR/controller.h"
|
||||
|
||||
void __osPfsRequestOneChannel(s32 channel, u8 poll);
|
||||
void __osPfsGetOneChannelData(s32 channel, OSContStatus* contData);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#include "PR/os_pfs.h"
|
||||
#include "global.h"
|
||||
#include "ultra64.h"
|
||||
#include "PR/controller.h"
|
||||
|
||||
s32 __osPfsCheckRamArea(OSPfs* pfs);
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#include "ultra64.h"
|
||||
#include "global.h"
|
||||
#include "PR/controller.h"
|
||||
|
||||
#define CHECK_IPAGE(p, pfs) \
|
||||
(((p).ipage >= (pfs).inodeStartPage) && ((p).inode_t.bank < (pfs).banks) && ((p).inode_t.page >= 0x01) && \
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "global.h"
|
||||
#include "ultra64.h"
|
||||
#include "PR/controller.h"
|
||||
|
||||
s32 osPfsFindFile(OSPfs* pfs, u16 companyCode, u32 gameCode, u8* gameName, u8* extName, s32* fileNo) {
|
||||
s32 j;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#include "PR/os_pfs.h"
|
||||
#include "global.h"
|
||||
#include "ultra64.h"
|
||||
#include "PR/controller.h"
|
||||
|
||||
s32 __osPfsSelectBank(OSPfs* pfs, u8 bank) {
|
||||
u8 buf[BLOCKSIZE];
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "global.h"
|
||||
#include "ultra64.h"
|
||||
#include "macros.h"
|
||||
|
||||
u32 __osPiAccessQueueEnabled = 0;
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "global.h"
|
||||
#include "ultra64.h"
|
||||
|
||||
OSMesgQueue* osPiGetCmdQueue(void) {
|
||||
if (!__osPiDevMgr.active) {
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#include "global.h"
|
||||
#include "ultra64.h"
|
||||
#include "alignment.h"
|
||||
#include "stack.h"
|
||||
#include "macros.h"
|
||||
|
||||
OSPiHandle __Dom1SpeedParam ALIGNED(8);
|
||||
OSPiHandle __Dom2SpeedParam ALIGNED(8);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "global.h"
|
||||
#include "ultra64.h"
|
||||
|
||||
s32 __osPiRawStartDma(s32 direction, uintptr_t devAddr, void* dramAddr, size_t size) {
|
||||
register int status = IO_READ(PI_STATUS_REG);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "global.h"
|
||||
#include "ultra64.h"
|
||||
#include "libc/stdbool.h"
|
||||
|
||||
s32 __osSiDeviceBusy() {
|
||||
register u32 status = IO_READ(SI_STATUS_REG);
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
#include "global.h"
|
||||
#include "ultra64.h"
|
||||
#include "alignment.h"
|
||||
#include "macros.h"
|
||||
|
||||
u32 __osSiAccessQueueEnabled = 0;
|
||||
|
||||
OSMesg siAccessBuf[1];
|
||||
OSMesgQueue __osSiAccessQueue;
|
||||
OSMesg siAccessBuf[1] ALIGNED(8);
|
||||
OSMesgQueue __osSiAccessQueue ALIGNED(8);
|
||||
|
||||
void __osSiCreateAccessQueue() {
|
||||
__osSiAccessQueueEnabled = 1;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "global.h"
|
||||
#include "ultra64.h"
|
||||
#include "alignment.h"
|
||||
|
||||
s32 __osSiRawStartDma(s32 direction, void* dramAddr) {
|
||||
if (IO_READ(SI_STATUS_REG) & (SI_STATUS_DMA_BUSY | SI_STATUS_IO_READ_BUSY)) {
|
||||
@@ -6,7 +7,7 @@ s32 __osSiRawStartDma(s32 direction, void* dramAddr) {
|
||||
}
|
||||
|
||||
if (direction == OS_WRITE) {
|
||||
osWritebackDCache(dramAddr, PIF_RAM_SIZE);
|
||||
osWritebackDCache(dramAddr, ALIGN16(PIF_RAM_END - PIF_RAM_START));
|
||||
}
|
||||
|
||||
IO_WRITE(SI_DRAM_ADDR_REG, osVirtualToPhysical(dramAddr));
|
||||
@@ -18,7 +19,7 @@ s32 __osSiRawStartDma(s32 direction, void* dramAddr) {
|
||||
}
|
||||
|
||||
if (direction == OS_READ) {
|
||||
osInvalDCache(dramAddr, PIF_RAM_SIZE);
|
||||
osInvalDCache(dramAddr, ALIGN16(PIF_RAM_END - PIF_RAM_START));
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user