1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
|
#
# Patch managed by http://www.holgerschurig.de/patcher.html
#
--- snes9x-sdl-1.39/unix/svga.cpp~compile
+++ snes9x-sdl-1.39/unix/svga.cpp
@@ -48,7 +48,7 @@
#include <stdlib.h>
#include <signal.h>
-#include "sdl.h"
+#include <SDL.h>
#include "snes9x.h"
#include "memmap.h"
--- snes9x-sdl-1.39/unix/unix.cpp~compile
+++ snes9x-sdl-1.39/unix/unix.cpp
@@ -50,7 +50,7 @@
#include <sys/types.h>
#include <ctype.h>
#include <dirent.h>
-#include <sdl.h>
+#include <SDL.h>
#include "keydef.h"
#undef USE_THREADS
@@ -189,8 +189,7 @@
}
/*#include "cheats.h"*/
-extern "C"
-int SDL_main (int argc, char **argv)
+int main (int argc, char **argv)
{
if (argc < 2)
S9xUsage ();
--- /dev/null
+++ snes9x-sdl-1.39/unzip/unzipP.h
@@ -0,0 +1,124 @@
+#ifndef _UNZIPP_H_
+#define _UNZIPP_H_
+
+#include "unzip.h"
+
+#ifndef local
+#define local static
+#endif
+/* compile with -Dlocal if your debugger can't find static symbols */
+
+
+
+#if !defined(unix) && !defined(CASESENSITIVITYDEFAULT_YES) && \
+ !defined(CASESENSITIVITYDEFAULT_NO)
+#define CASESENSITIVITYDEFAULT_NO
+#endif
+
+
+#ifndef UNZ_BUFSIZE
+#define UNZ_BUFSIZE (16384)
+#endif
+
+#ifndef UNZ_MAXFILENAMEINZIP
+#define UNZ_MAXFILENAMEINZIP (256)
+#endif
+
+#ifndef ALLOC
+#define ALLOC(size) (malloc(size))
+#endif
+#ifndef TRYFREE
+#define TRYFREE(p) {if (p) free(p);}
+#endif
+
+#define SIZECENTRALDIRITEM (0x2e)
+#define SIZEZIPLOCALHEADER (0x1e)
+
+
+/* I've found an old Unix (a SunOS 4.1.3_U1) without all SEEK_* defined.... */
+
+#ifndef SEEK_CUR
+#define SEEK_CUR 1
+#endif
+
+#ifndef SEEK_END
+#define SEEK_END 2
+#endif
+
+#ifndef SEEK_SET
+#define SEEK_SET 0
+#endif
+
+/* unz_file_info_interntal contain internal info about a file in zipfile */
+typedef struct unz_file_info_internal_s
+{
+ uLong offset_curfile; /* relative offset of local header 4
+ * bytes */
+} unz_file_info_internal;
+
+
+/*
+ * file_in_zip_read_info_s contain internal information about a file in
+ * zipfile, when reading and decompress it
+ */
+typedef struct
+{
+ char *read_buffer;/* internal buffer for compressed data */
+ z_stream stream; /* zLib stream structure for inflate */
+
+ uLong pos_in_zipfile; /* position in byte on the zipfile,
+ * for fseek */
+ uLong stream_initialised; /* flag set if stream structure is
+ * initialised */
+
+ uLong offset_local_extrafield; /* offset of the local extra
+ * field */
+ uInt size_local_extrafield; /* size of the local extra
+ * field */
+ uLong pos_local_extrafield; /* position in the local
+ * extra field in read */
+
+ uLong crc32; /* crc32 of all data uncompressed */
+ uLong crc32_wait; /* crc32 we must obtain after decompress all */
+ uLong rest_read_compressed; /* number of byte to be
+ * decompressed */
+ uLong rest_read_uncompressed; /* number of byte to be
+ * obtained after decomp */
+ FILE *file; /* io structore of the zipfile */
+ uLong compression_method; /* compression method (0==store) */
+ uLong byte_before_the_zipfile; /* byte before the zipfile,
+ * (>0 for sfx) */
+} file_in_zip_read_info_s;
+
+
+/*
+ * unz_s contain internal information about the zipfile
+ */
+typedef struct
+{
+ FILE *file; /* io structore of the zipfile */
+ unz_global_info gi; /* public global information */
+ uLong byte_before_the_zipfile; /* byte before the zipfile,
+ * (>0 for sfx) */
+ uLong num_file; /* number of the current file in the zipfile */
+ uLong pos_in_central_dir; /* pos of the current file in the
+ * central dir */
+ uLong current_file_ok; /* flag about the usability of the
+ * current file */
+ uLong central_pos;/* position of the beginning of the central
+ * dir */
+
+ uLong size_central_dir; /* size of the central directory */
+ uLong offset_central_dir; /* offset of start of central
+ * directory with respect to the
+ * starting disk number */
+
+ unz_file_info cur_file_info; /* public info about the current file
+ * in zip */
+ unz_file_info_internal cur_file_info_internal; /* private info about it */
+ file_in_zip_read_info_s *pfile_in_zip_read; /* structure about the
+ * current file if we are
+ * decompressing it */
+} unz_s;
+
+#endif
--- snes9x-sdl-1.39/Makefile~compile
+++ snes9x-sdl-1.39/Makefile
@@ -53,12 +53,12 @@
ifdef THREAD_SOUND
CPUDEFINES += -DUSE_THREADS
-EXTRALIBS += -lpthread -L/usr/local/lib -lcygipc
+EXTRALIBS += -lpthread -lcygipc
endif
ifdef GLIDE
GLIDEOBJS = unix/glide.o
-GLIDEDEFINES = -DUSE_GLIDE -I/usr/include/glide
+GLIDEDEFINES = -DUSE_GLIDE
GLIDELIBS = -lglide2x
GLIDEDEPENDS=use_glide
GLIDENO_DEPENDS=no_glide
@@ -82,14 +82,12 @@
CC = gcc
NASM = nasm
-INCLUDES=-I/usr/local/include
+INCLUDES=
-OPTIMISE= -D_ZAURUS -Os -ffast-math -fstrict-aliasing -fomit-frame-pointer -mcpu=strongarm1100 -mtune=strongarm1100
+OPTIMISE= -D_ZAURUS -Os -ffast-math -fstrict-aliasing -fomit-frame-pointer
CCFLAGS = $(OPTIMISE) \
--I/opt/Qtopia/include/SDL \
-I. \
-Iunzip \
--Isdl \
-D__linux \
-DZLIB \
-DVAR_CYCLES \
@@ -114,7 +112,7 @@
.SUFFIXES: .o .cpp .c .cc .h .m .i .S .asm .obj
-LDLIBS = -L/opt/Qtopia/sharp/lib
+LDLIBS=
ifdef GLIDE
all: offsets gsnes9x
@@ -146,7 +144,7 @@
$(RM) $(OPENGLNO_DEPENDS)
snes9x: $(OBJECTS)
- $(CCC) $(INCLUDES) -o $@ $(OBJECTS) $(EXTRALIBS) -L/opt/QtPalmtop/lib/ -lSDL -lSDLmain $(LDLIBS) -lqpe -lqte -lpthread
+ $(CC) $(INCLUDES) -o $@ $(OBJECTS) $(EXTRALIBS) $(LDLIBS) -lz -lpthread
gsnes9x: $(OBJECTS) unix/x11.o unix/glide.o
$(CCC) $(INCLUDES) -o $@ $(OBJECTS) unix/x11.o unix/glide.o $(LDLIBS) $(GLIDELIBS) -lXext -lX11 -lXxf86dga -lXxf86vm $(EXTRALIBS) -lz -lm
--- snes9x-sdl-1.39/snapshot.cpp~compile
+++ snes9x-sdl-1.39/snapshot.cpp
@@ -671,7 +671,7 @@
fields [i].type);
}
- uint8 *block = new uint8 [len];
+ uint8 *block = (uint8*) malloc(len);
uint8 *ptr = block;
uint16 word;
uint32 dword;
@@ -739,7 +739,7 @@
}
FreezeBlock (stream, name, block, len);
- delete block;
+ free(block);
}
void FreezeBlock (STREAM stream, char *name, uint8 *block, int size)
@@ -767,7 +767,7 @@
fields [i].type);
}
- uint8 *block = new uint8 [len];
+ uint8 *block = (uint8*) malloc(len);
uint8 *ptr = block;
uint16 word;
uint32 dword;
@@ -776,7 +776,7 @@
if ((result = UnfreezeBlock (stream, name, block, len)) != SUCCESS)
{
- delete block;
+ free(block);
return (result);
}
@@ -841,7 +841,7 @@
}
}
- delete block;
+ free(block);
return (result);
}
@@ -865,9 +865,9 @@
if (rem)
{
- char *junk = new char [rem];
+ char *junk = (char*) malloc(rem);
READ_STREAM (junk, rem, stream);
- delete junk;
+ free(junk);
}
return (SUCCESS);
|