forked from 0ldsk00l/nestopia
-
Notifications
You must be signed in to change notification settings - Fork 0
/
changelog.linux
294 lines (224 loc) · 12.3 KB
/
changelog.linux
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
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
Nestopia Undead Edition v1.42
Nestopia by Martin Freij
Linux port by R. Belmont
Resurrected by R. Danbrook
LZMA SDK (7zip support) by Igor Pavlov
======================================
This program is licensed under the GNU GPLv2. For details, read COPYING.
Notes
=====
Nestopia is a portable open source NES/Famicom emulator written in C++. It is designed to be as accurate as
possible and supports a large number of peripherals. The hardware is emulated at cycle-by-cycle granularity,
ensuring full support for software that does mid-scanline and other timing trickery.
Nestopia Undead is a fork of the original source code, plus R. Belmont's Linux port overlay, all included
in one convenient source tree with enhancements.
System requirements
===================
Intel or AMD processor, at least 700 MHz. Recommended 1 GHz+ for best performance.
128 MB RAM
A kernel 2.6.x based Linux distribution
GCC 3.4.x or later (4.x recommended)
A Linux-compatible soundcard capable of 16-bit output with either OSS or ALSA
[Optional] One or more gamepads/controllers recognized by Linux with at least a D-pad or stick and 4 buttons
[Optional] Hardware-accelerated OpenGL
Compiling
=========
* Make sure you have the proper development libraries installed. In Debian:
apt-get install libgtk-3-dev libsdl1.2-dev
* Go to the directory where you unpacked this and type "make". ("make -j3" for
dual-core, "make -j5" for quad).
It helps greatly if you copy these files to ~/.nestopia:
- The Famicom Disk System BIOS (disksys.rom - not included - needed for FDS support)
Changes from 1.41
=============================
- Added native support for D-pads (Hat Switches)
- Fixed the 100% CPU usage bug
- Fixed the "Error writing setting!" bug (patch from Arch Linux)
- Added an About dialog box
- Added icons and a desktop menu entry
Changes from 1.40-undead
=============================
- Fixed a braindead SRAM path issue
- Merged win32 fixes from Unofficial Build 1.41.1
Changes from Linux revision H
=============================
- Ported to GTK+3
- Added install/uninstall targets to Makefile
- Changed default sound API to ALSA (SDL audio has problems on some computers)
- Changed default renderer to OpenGL with a scale factor of 2
- Changed binary name to "nestopia"
- SRAM now saves to ~/.nestopia/save (for people who have roms on a read-only network share)
- Automatically install a new nstcontrols file to ~/.nestopia if it doesn't exist
- Install NstDatabase.xml to a proper location on the filesystem instead of forcing the user to manually copy it to ~/.nestopia
- Fixed numerous compiler warnings.
Changes from Linux revision G
=============================
- Complains more if it's unable to write to the settings file
- Fixed bug where keyboard input could stick
Changes from preview #5
=======================
* Linux shell
- XML ROM support
- Archive browser comes up automatically if you select a zip or 7zip archive with multiple NES files in it
- Option to select favored console
- More flexible video configuration including OpenGL hardware scaling
- Input mapping in the GUI
- Core logging is now enabled to the terminal you start NEStopia from for easier diagnosis of problems
- Cheat Manager with flexible support and import/export capability (.xml cheat files will interchange with
the Windows version just fine)
- Automatic soft-patching added
- Coin inputs added for Vs. system
- Audio filters added for fun
- [Release B] Cleaned up some crashy issues with the control configurator
- [Release C] Proper default nstcontrols file included
- [Release D] Fixed ability to remap "meta" keys (keys that control NEStopia itself), fixed documentation on defaults.
- [Release E] Fixed quicksave/quickload
- [Release E] Refactored to get UI code out of main.cpp
- [Release E] Added SDL audio driver, should be most compatible
- [Release F] Fixed keyboard to ignore numlock/capslock
- [Release G] Settings window auto-hides during emulation [enik]
- [Release G] Taskbar description is set properly for the game window [enik]
- [Release G] Cheat Manager now shows descriptions on imported XML files. Also fixed a CM crash.
* Core (since 1.37)
Additions:
- ROM sets and external database support using new XML format
co-developed with Bootgod.
- Mapper 36, 103, 104, 106, 120, 126, 175, 176, 223 and 224.
Info from mad dumper, CaH4e3 and Temryu.
- UNIF boards GS-2013 and BS-5. info from CaH4e3.
- Emulation of bus conflicts for certain boards.
- Database entries.
- Core API documentation in HTML through cppdoc.
- UPS patching format support.
- Database lookup on soft-patching.
- Database entries. Info from Bootgod.
- More recognized boards. Info from Bootgod.
- Preliminary Dendy console support. Fixes Magistr (Subor) and
some other 'clone exclusives'. Info from Flamer and HardWareMan.
- DMC DMA read conflicts. Info from blargg and bunnyboy.
- Mapper 177, 179, 219 and 221. Info from CaH4e3.
- Database entries.
Changes:
- PPU power/reset timing and register states. Info from blargg.
- Misc IRQ/NMI/BRK/DMA special-case behavior. Info from blargg.
- NTSC/PAL switch during emulation will now force a hard-reset.
- Misc mapper emulation improvements. Info from Bootgod.
- NES-EVENT board timer more accurate.
- Board names. Info from Bootgod.
- Refactoring and mapper codebase overhaul.
- Speed optimizations (accuracy NOT compromised!).
- Mappers 21, 23, 25 and 185 no longer supported using plain iNES
files because of format restrictions.
- FDS saves through UPS instead of IPS.
- Database entries. Info from Bootgod.
- Refactoring.
- Better and more flexible PPU address line implementation at the
expense of some speed.
- Database entries.
- Refactoring.
Fixes:
- MMC3 soft-reset IRQ bug.
- Database entries.
- FDS file saving bug.
- NTSC burst phase incrementing bug.
- Potential memory leak in database loader.
- UTF16 to wchar_t portability fix in XML parser.
- Const-correctness bug caught by GCC 4.0.
- Wrong palette sometimes when switching to/from VS images.
- Wrong image information sometimes, e.g. battery when there isn't any.
- Save state NTSC/PAL mode saving.
- Minor save state inaccuracy fix with tape recording.
Options in this preview (more to come)
======================================
"Emulator" tab
--------------
Open... brings up a standard open file window. You may choose .nes, .fds, .unf, or .unif format game ROMs, or
.nsf format NES music. You may also open .zip or .7z format archives. If the archive only contains one
recognized file, that file will simply open. If the archive contains multiple recognized files, the
archive browser will appear and let you choose which file to open.
If you choose a game, the Play Game! button will become available, and clicking it will start the emulation.
If you choose a disk (.fds), you must have the Disk System BIOS disksys.rom located in ~/.nestopia/, and
then the Play Game! button will become available.
If you choose a .NSF file, the Play button with the VCR "Play" symbol will become active, and so will the
song selector widget next to it. Click it to begin playing the music. You will also see the file's title,
composer, and copyright information.
The Cheats... button will open the Cheat Manager.
In the Cheat Manager, the Import button will import an .XML NEStopia format cheat file and Export will save one
with the current cheats. You may add cheats in Game Genie or Pro-Action Rocky formats. The "Check" button
checks if a code is valid and Add adds it to the list if it's valid. "Remove code" deletes the cheat selected
in the list.
NOTE: all cheats are deleted from memory when a new game is loaded, so use Export before then to keep
them around!
"Video" tab
-----------
Filter: lets you choose the scale effect you'd prefer - None, NTSC, Scale?x, or hq?x.
Scale: lets you choose the scale factor. Note that scalers "None" and "NTSC" will ignore this setting unless
you pick OpenGL for render type.
Renderer: lets you choose software or OpenGL hardware drawing. OpenGL gives you additional flexibilty and
possibly some performance.
NTSC type: gives 3 easy presets for the NTSC emulation - you must choose a scale type of NTSC for this
to take effect.
Region: lets you choose auto-detection, NTSC, or PAL for the region of a game. If you force an NTSC game to
PAL it will play too slowly, and a PAL game forced to NTSC will play too quickly.
The full screen checkbox indicates if the game will play in a window or full screen.
The Unlimited sprites checkbox makes Nestopia not emulate the hardware sprite flicker of the NES that occurs
in some games.
"Input" tab
-----------
The Use Controllers checkbox enables using joypads.
The drop-down lets you pick a control to remap. To remap it, click the "Change" button. A small window
will appear and you will have 5 seconds to select a keypress, joypad axis movement, or joypad button to
assign to the control.
Note: the PS3 Sixaxis and Dual Shock 3 controllers map buttons as both buttons and axises, so you may
need to tap a button a few times before it shows up as "JxBx" (button) instead of "JxAx" (axis).
The default nstcontrols file contains player 1 mappings for a Sixaxis or Dual Shock 3 using the left
analog stick to move and the X, O, SELECT, and START buttons as B, A, SELECT, and START respectively.
"Audio" tab
-----------
The Use ALSA checkbox lets you use the ALSA API for audio output, otherwise old reliable OSS is used.
The Stereo checkbox selects mono (more correct, the NES was mono) or a fake stereo effect. This can be
toggled "live" while an NSF file is playing to hear the difference.
The Output rate lets you choose the sample rate. 44100 is normally recommended, and 48000 for Sound Blaster
Live and Audigy cards, but if your system is slower you may save some CPU by selecting a lower rate.
The Volume slider does exactly what you'd think, and it also can be changed "live" during NSF playback.
The Lite Surround checkbox and slider control the "Lite Surround" effect. Again you can change them "live"
during NSF playback.
The "Stereo exciter" checkbox tries to add some synthetic stereo imaging, and it can be changed "live" during
NSF playback as well.
"Extras" tab
-----------
The "Preferred System" lets you pick what system Nestopia will emulate if a game doesn't match the database.
You may choose NES (NTSC), NES (PAL), Famicom, or Dendy (a Russian NES clone with some unique attributes).
"Soft patching" enables automatic soft patching. To make this work, place a .ips or .ups file (case matters!)
in the same directory as the game (or the archive the game is in). The patch must be named exactly the same
thing as the game with the final extension replaced with .ips or .ups! Examples:
For "Super Mario Bros (U).nes", the patch must be named "Super Mario Bros (U).ips" (or .ups).
For "Super Mario Bros (U).nes" inside the archive CoolGames.zip, the patch still must be named
"Super Mario Bros (U).ips", and placed in the same directory as the archive.
For "Doki Doki Panic (J).rom.stuff.nes", the patch must be "Doki Doki Panic (J).rom.stuff.ips" (or .ups).
Note that only the final extension is removed!
While Playing a Game
--------------------
NOTE: these are the defaults, most can be remapped.
F1 = switch sides of the current .fds disk.
F2 = reset the emulated NES
F3 = save the state (.nst)
F4 = load a saved state (.nst)
F5 = quick save to slot 1
F6 = quick save to slot 2
F7 = load quick save slot 1
F8 = load quick save slot 2
F9 = start saving a NEStopia movie file (.nsv)
F10 = load and play a NEStopia movie file (.nsv)
F11 = stop the current movie playback or recording and close out the file on disk. Normal user control resumes
at this point, so if you have a movie of a heroic speedrun you can press F3 after the person gets past the
area you always hated and take over from there ;-)
1 = insert coin slot 1 for Vs. games
2 = insert coin slot 2 for Vs. games
Esc = stop emulation and unload the cartridge
Backspace = switch to rewind mode. If you make a mistake, you can go backwards in time and correct it!
\ = return to normal forwards mode after rewinding.
Battery save, Save state and movie files are 100% compatible between Nestopia on x86 Linux and the Windows
original, so feel free to trade and swap with your Windows-using friends.
Cartridges with batteries are automatically saved to a .sav file when you exit the emulator. These .sav
files are also compatible with the Windows version.