PS2SDK
PS2 Homebrew Libraries
Loading...
Searching...
No Matches
sram.c
1/*
2# _____ ___ ____ ___ ____
3# ____| | ____| | | |____|
4# | ___| |____ ___| ____| | \ PS2DEV Open Source Project.
5#-----------------------------------------------------------------------
6# Copyright ps2dev - http://www.ps2dev.org
7# Licenced under Academic Free License version 2.0
8# Review ps2sdk README & LICENSE files for further details.
9*/
10
11#include "acsram_internal.h"
12
13int acSramRead(acSramAddr addr, void *buf, int size)
14{
15 volatile acUint16 *src;
16 int i;
17
18 src = (volatile acUint16 *)(2 * (addr & 0x7FFF) + 0xB2500000);
19 for ( i = size; i > 0; buf = (acUint8 *)buf + 1 )
20 {
21 --i;
22 *(acUint8 *)buf = *(volatile acUint8 *)src++;
23 }
24 return size - i;
25}
26
27int acSramWrite(acSramAddr addr, void *buf, int size)
28{
29 volatile acUint16 *dst;
30 int i;
31
32 dst = (volatile acUint16 *)(2 * (addr & 0x7FFF) + 0xB2500000);
33 for ( i = size; i > 0; ++dst )
34 {
35 --i;
36 *dst = *(acUint8 *)buf;
37 buf = (acUint8 *)buf + 1;
38 }
39 return size - i;
40}
41
42int acSramModuleStart(int argc, char **argv)
43{
44 (void)argc;
45 (void)argv;
46 return 0;
47}
48
49int acSramModuleStop()
50{
51 return 0;
52}
53
54int acSramModuleRestart(int argc, char **argv)
55{
56 (void)argc;
57 (void)argv;
58 return 0;
59}
60
61int acSramModuleStatus()
62{
63 return 1;
64}