Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
alexbevi
GitHub Repository: alexbevi/BizHawk
Path: blob/master/yabause/src/cs1.c
2 views
1
/* Copyright 2003-2005 Guillaume Duhamel
2
Copyright 2005 Theo Berkau
3
4
This file is part of Yabause.
5
6
Yabause is free software; you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation; either version 2 of the License, or
9
(at your option) any later version.
10
11
Yabause is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
15
16
You should have received a copy of the GNU General Public License
17
along with Yabause; if not, write to the Free Software
18
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
*/
20
21
#include <stdlib.h>
22
#include "cs1.h"
23
#include "cs0.h"
24
25
//////////////////////////////////////////////////////////////////////////////
26
27
u8 FASTCALL Cs1ReadByte(u32 addr)
28
{
29
addr &= 0xFFFFFF;
30
31
if (addr == 0xFFFFFF)
32
return CartridgeArea->cartid;
33
34
return CartridgeArea->Cs1ReadByte(addr);
35
}
36
37
//////////////////////////////////////////////////////////////////////////////
38
39
u16 FASTCALL Cs1ReadWord(u32 addr)
40
{
41
addr &= 0xFFFFFF;
42
43
if (addr == 0xFFFFFE)
44
return (0xFF00 | CartridgeArea->cartid);
45
46
return CartridgeArea->Cs1ReadWord(addr);
47
}
48
49
//////////////////////////////////////////////////////////////////////////////
50
51
u32 FASTCALL Cs1ReadLong(u32 addr)
52
{
53
addr &= 0xFFFFFF;
54
55
if (addr == 0xFFFFFC)
56
return (0xFF00FF00 | (CartridgeArea->cartid << 16) | CartridgeArea->cartid);
57
58
return CartridgeArea->Cs1ReadLong(addr);
59
}
60
61
//////////////////////////////////////////////////////////////////////////////
62
63
void FASTCALL Cs1WriteByte(u32 addr, u8 val)
64
{
65
addr &= 0xFFFFFF;
66
67
if (addr == 0xFFFFFF)
68
return;
69
70
CartridgeArea->Cs1WriteByte(addr, val);
71
}
72
73
//////////////////////////////////////////////////////////////////////////////
74
75
void FASTCALL Cs1WriteWord(u32 addr, u16 val)
76
{
77
addr &= 0xFFFFFF;
78
79
if (addr == 0xFFFFFE)
80
return;
81
82
CartridgeArea->Cs1WriteWord(addr, val);
83
}
84
85
//////////////////////////////////////////////////////////////////////////////
86
87
void FASTCALL Cs1WriteLong(u32 addr, u32 val)
88
{
89
addr &= 0xFFFFFF;
90
91
if (addr == 0xFFFFFC)
92
return;
93
94
CartridgeArea->Cs1WriteLong(addr, val);
95
}
96
97
//////////////////////////////////////////////////////////////////////////////
98
99