Browse code

[SNSF] Replaced most uses of fill/copy with fill_n/copy_n, and a few other minor code cleanups.

Naram Qashat authored on 2013/05/27 22:34:22
Showing 1 changed files
... ...
@@ -178,7 +178,6 @@
178 178
 #include <algorithm>
179 179
 #include "snes9x.h"
180 180
 #include "memmap.h"
181
-#include "sdd1.h"
182 181
 
183 182
 void S9xSetSDD1MemoryMap(uint32_t bank, uint32_t value)
184 183
 {
... ...
@@ -188,17 +187,13 @@ void S9xSetSDD1MemoryMap(uint32_t bank, uint32_t value)
188 187
 	for (int c = 0; c < 0x100; c += 16)
189 188
 	{
190 189
 		uint8_t *block = &Memory.ROM[value + (c << 12)];
191
-		for (int i = c; i < c + 16; ++i)
192
-			Memory.Map[i + bank] = block;
190
+		std::fill_n(&Memory.Map[bank + c], 16, block);
193 191
 	}
194 192
 }
195 193
 
196 194
 void S9xResetSDD1()
197 195
 {
198
-	std::fill(&Memory.FillRAM[0x4800], &Memory.FillRAM[0x4804], 0);
199
-	for (int i = 0; i < 4; ++i)
200
-	{
201
-		Memory.FillRAM[0x4804 + i] = i;
202
-		S9xSetSDD1MemoryMap(i, i);
203
-	}
196
+	std::fill_n(&Memory.FillRAM[0x4800], 4, 0);
197
+	int i = 0;
198
+	std::generate_n(&Memory.FillRAM[0x4804], 4, [&]() -> int { S9xSetSDD1MemoryMap(i, i); return i++; });
204 199
 }
Browse code

[SNSF] Massive code cleanup, as well as removing as much unused code/variables as possible.

Naram Qashat authored on 2013/05/23 06:02:16
Showing 1 changed files
... ...
@@ -175,15 +175,15 @@
175 175
   Nintendo Co., Limited and its subsidiary companies.
176 176
  ***********************************************************************************/
177 177
 
178
+#include <algorithm>
178 179
 #include "snes9x.h"
179 180
 #include "memmap.h"
180 181
 #include "sdd1.h"
181
-//#include "display.h"
182 182
 
183 183
 void S9xSetSDD1MemoryMap(uint32_t bank, uint32_t value)
184 184
 {
185 185
 	bank = 0xc00 + bank * 0x100;
186
-	value = value * 1024 * 1024;
186
+	value *= 1024 * 1024;
187 187
 
188 188
 	for (int c = 0; c < 0x100; c += 16)
189 189
 	{
... ...
@@ -195,16 +195,10 @@ void S9xSetSDD1MemoryMap(uint32_t bank, uint32_t value)
195 195
 
196 196
 void S9xResetSDD1()
197 197
 {
198
-	memset(&Memory.FillRAM[0x4800], 0, 4);
198
+	std::fill(&Memory.FillRAM[0x4800], &Memory.FillRAM[0x4804], 0);
199 199
 	for (int i = 0; i < 4; ++i)
200 200
 	{
201 201
 		Memory.FillRAM[0x4804 + i] = i;
202 202
 		S9xSetSDD1MemoryMap(i, i);
203 203
 	}
204 204
 }
205
-
206
-/*void S9xSDD1PostLoadState()
207
-{
208
-	for (int i = 0; i < 4; ++i)
209
-		S9xSetSDD1MemoryMap(i, Memory.FillRAM[0x4804 + i]);
210
-}*/
Browse code

Import actual code.

Naram Qashat authored on 2013/03/26 02:41:19
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,210 @@
1
+/***********************************************************************************
2
+  Snes9x - Portable Super Nintendo Entertainment System (TM) emulator.
3
+
4
+  (c) Copyright 1996 - 2002  Gary Henderson (gary.henderson@ntlworld.com),
5
+                             Jerremy Koot (jkoot@snes9x.com)
6
+
7
+  (c) Copyright 2002 - 2004  Matthew Kendora
8
+
9
+  (c) Copyright 2002 - 2005  Peter Bortas (peter@bortas.org)
10
+
11
+  (c) Copyright 2004 - 2005  Joel Yliluoma (http://iki.fi/bisqwit/)
12
+
13
+  (c) Copyright 2001 - 2006  John Weidman (jweidman@slip.net)
14
+
15
+  (c) Copyright 2002 - 2006  funkyass (funkyass@spam.shaw.ca),
16
+                             Kris Bleakley (codeviolation@hotmail.com)
17
+
18
+  (c) Copyright 2002 - 2010  Brad Jorsch (anomie@users.sourceforge.net),
19
+                             Nach (n-a-c-h@users.sourceforge.net),
20
+
21
+  (c) Copyright 2002 - 2011  zones (kasumitokoduck@yahoo.com)
22
+
23
+  (c) Copyright 2006 - 2007  nitsuja
24
+
25
+  (c) Copyright 2009 - 2011  BearOso,
26
+                             OV2
27
+
28
+
29
+  BS-X C emulator code
30
+  (c) Copyright 2005 - 2006  Dreamer Nom,
31
+                             zones
32
+
33
+  C4 x86 assembler and some C emulation code
34
+  (c) Copyright 2000 - 2003  _Demo_ (_demo_@zsnes.com),
35
+                             Nach,
36
+                             zsKnight (zsknight@zsnes.com)
37
+
38
+  C4 C++ code
39
+  (c) Copyright 2003 - 2006  Brad Jorsch,
40
+                             Nach
41
+
42
+  DSP-1 emulator code
43
+  (c) Copyright 1998 - 2006  _Demo_,
44
+                             Andreas Naive (andreasnaive@gmail.com),
45
+                             Gary Henderson,
46
+                             Ivar (ivar@snes9x.com),
47
+                             John Weidman,
48
+                             Kris Bleakley,
49
+                             Matthew Kendora,
50
+                             Nach,
51
+                             neviksti (neviksti@hotmail.com)
52
+
53
+  DSP-2 emulator code
54
+  (c) Copyright 2003         John Weidman,
55
+                             Kris Bleakley,
56
+                             Lord Nightmare (lord_nightmare@users.sourceforge.net),
57
+                             Matthew Kendora,
58
+                             neviksti
59
+
60
+  DSP-3 emulator code
61
+  (c) Copyright 2003 - 2006  John Weidman,
62
+                             Kris Bleakley,
63
+                             Lancer,
64
+                             z80 gaiden
65
+
66
+  DSP-4 emulator code
67
+  (c) Copyright 2004 - 2006  Dreamer Nom,
68
+                             John Weidman,
69
+                             Kris Bleakley,
70
+                             Nach,
71
+                             z80 gaiden
72
+
73
+  OBC1 emulator code
74
+  (c) Copyright 2001 - 2004  zsKnight,
75
+                             pagefault (pagefault@zsnes.com),
76
+                             Kris Bleakley
77
+                             Ported from x86 assembler to C by sanmaiwashi
78
+
79
+  SPC7110 and RTC C++ emulator code used in 1.39-1.51
80
+  (c) Copyright 2002         Matthew Kendora with research by
81
+                             zsKnight,
82
+                             John Weidman,
83
+                             Dark Force
84
+
85
+  SPC7110 and RTC C++ emulator code used in 1.52+
86
+  (c) Copyright 2009         byuu,
87
+                             neviksti
88
+
89
+  S-DD1 C emulator code
90
+  (c) Copyright 2003         Brad Jorsch with research by
91
+                             Andreas Naive,
92
+                             John Weidman
93
+
94
+  S-RTC C emulator code
95
+  (c) Copyright 2001 - 2006  byuu,
96
+                             John Weidman
97
+
98
+  ST010 C++ emulator code
99
+  (c) Copyright 2003         Feather,
100
+                             John Weidman,
101
+                             Kris Bleakley,
102
+                             Matthew Kendora
103
+
104
+  Super FX x86 assembler emulator code
105
+  (c) Copyright 1998 - 2003  _Demo_,
106
+                             pagefault,
107
+                             zsKnight
108
+
109
+  Super FX C emulator code
110
+  (c) Copyright 1997 - 1999  Ivar,
111
+                             Gary Henderson,
112
+                             John Weidman
113
+
114
+  Sound emulator code used in 1.5-1.51
115
+  (c) Copyright 1998 - 2003  Brad Martin
116
+  (c) Copyright 1998 - 2006  Charles Bilyue'
117
+
118
+  Sound emulator code used in 1.52+
119
+  (c) Copyright 2004 - 2007  Shay Green (gblargg@gmail.com)
120
+
121
+  SH assembler code partly based on x86 assembler code
122
+  (c) Copyright 2002 - 2004  Marcus Comstedt (marcus@mc.pp.se)
123
+
124
+  2xSaI filter
125
+  (c) Copyright 1999 - 2001  Derek Liauw Kie Fa
126
+
127
+  HQ2x, HQ3x, HQ4x filters
128
+  (c) Copyright 2003         Maxim Stepin (maxim@hiend3d.com)
129
+
130
+  NTSC filter
131
+  (c) Copyright 2006 - 2007  Shay Green
132
+
133
+  GTK+ GUI code
134
+  (c) Copyright 2004 - 2011  BearOso
135
+
136
+  Win32 GUI code
137
+  (c) Copyright 2003 - 2006  blip,
138
+                             funkyass,
139
+                             Matthew Kendora,
140
+                             Nach,
141
+                             nitsuja
142
+  (c) Copyright 2009 - 2011  OV2
143
+
144
+  Mac OS GUI code
145
+  (c) Copyright 1998 - 2001  John Stiles
146
+  (c) Copyright 2001 - 2011  zones
147
+
148
+
149
+  Specific ports contains the works of other authors. See headers in
150
+  individual files.
151
+
152
+
153
+  Snes9x homepage: http://www.snes9x.com/
154
+
155
+  Permission to use, copy, modify and/or distribute Snes9x in both binary
156
+  and source form, for non-commercial purposes, is hereby granted without
157
+  fee, providing that this license information and copyright notice appear
158
+  with all copies and any derived work.
159
+
160
+  This software is provided 'as-is', without any express or implied
161
+  warranty. In no event shall the authors be held liable for any damages
162
+  arising from the use of this software or it's derivatives.
163
+
164
+  Snes9x is freeware for PERSONAL USE only. Commercial users should
165
+  seek permission of the copyright holders first. Commercial use includes,
166
+  but is not limited to, charging money for Snes9x or software derived from
167
+  Snes9x, including Snes9x or derivatives in commercial game bundles, and/or
168
+  using Snes9x as a promotion for your commercial product.
169
+
170
+  The copyright holders request that bug fixes and improvements to the code
171
+  should be forwarded to them so everyone can benefit from the modifications
172
+  in future versions.
173
+
174
+  Super NES and Super Nintendo Entertainment System are trademarks of
175
+  Nintendo Co., Limited and its subsidiary companies.
176
+ ***********************************************************************************/
177
+
178
+#include "snes9x.h"
179
+#include "memmap.h"
180
+#include "sdd1.h"
181
+//#include "display.h"
182
+
183
+void S9xSetSDD1MemoryMap(uint32_t bank, uint32_t value)
184
+{
185
+	bank = 0xc00 + bank * 0x100;
186
+	value = value * 1024 * 1024;
187
+
188
+	for (int c = 0; c < 0x100; c += 16)
189
+	{
190
+		uint8_t *block = &Memory.ROM[value + (c << 12)];
191
+		for (int i = c; i < c + 16; ++i)
192
+			Memory.Map[i + bank] = block;
193
+	}
194
+}
195
+
196
+void S9xResetSDD1()
197
+{
198
+	memset(&Memory.FillRAM[0x4800], 0, 4);
199
+	for (int i = 0; i < 4; ++i)
200
+	{
201
+		Memory.FillRAM[0x4804 + i] = i;
202
+		S9xSetSDD1MemoryMap(i, i);
203
+	}
204
+}
205
+
206
+/*void S9xSDD1PostLoadState()
207
+{
208
+	for (int i = 0; i < 4; ++i)
209
+		S9xSetSDD1MemoryMap(i, Memory.FillRAM[0x4804 + i]);
210
+}*/