added back in other projects
[[Split portion of a mixed commit.]]
This commit is contained in:
commit
11eeb7d9be
|
@ -0,0 +1,17 @@
|
|||
# A simulation of Subversion default ignores, generated by reposurgeon.
|
||||
*.o
|
||||
*.lo
|
||||
*.la
|
||||
*.al
|
||||
*.libs
|
||||
*.so
|
||||
*.so.[0-9]*
|
||||
*.a
|
||||
*.pyc
|
||||
*.pyo
|
||||
*.rej
|
||||
*~
|
||||
*.#*
|
||||
.*.swp
|
||||
.DS_store
|
||||
# Simulated Subversion default ignores end here
|
|
@ -0,0 +1,32 @@
|
|||
<p class="center">
|
||||
We are in no way affiliated or endorsed by Nintendo or Nintendo
|
||||
of America. "Nintendo" is a registered trademark of Nintendo of
|
||||
America Inc.
|
||||
</p>
|
||||
|
||||
<p class="center">
|
||||
|
||||
<a href="http://validator.w3.org/check/referer">
|
||||
<img src="http://www.w3.org/Icons/valid-xhtml11" class="image"
|
||||
alt="Valid XHTML 1.1 Strict" title="Valid XHTML 1.1 Strict" />
|
||||
</a>
|
||||
|
||||
<a href="http://jigsaw.w3.org/css-validator/check/referer">
|
||||
<img src="http://jigsaw.w3.org/css-validator/images/vcss"
|
||||
class="image" alt="Valid CSS!" title="Valid CSS!"/>
|
||||
</a>
|
||||
|
||||
<a href="http://www.mozilla.com/firefox">
|
||||
<img class="image" alt="Get Firefox!" title="Get Firefox!"
|
||||
src="http://sfx-images.mozilla.org/affiliates/Buttons/88x31/get.gif"/>
|
||||
</a>
|
||||
|
||||
<a href="http://sourceforge.net/">
|
||||
<img alt="SourceForge Logo" title="SourceForge Logo" class="image"
|
||||
src="http://sourceforge.net/sflogo.php?group_id=13536&type=1" />
|
||||
</a>
|
||||
|
||||
</p>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,28 @@
|
|||
<?php print("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); ?>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" dir="ltr">
|
||||
|
||||
<head profile="http://www.w3.org/2000/08/w3c-synd/#">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
<meta name="keywords" content="FCE Ultra FCEUltra Nintendo NES Famicom emulator"/>
|
||||
<meta name="description" content="FCE Ultra is a Nintendo/Famicom emulator for Linux and Windows."/>
|
||||
<link rel="stylesheet" type="text/css" href="/StyleSheets/main.css"/>
|
||||
<title>FCE Ultra<?php if (isset($title)) { print(": $title"); } ?></title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<!-- <img class="logo" alt="FCE Ultra" width="750" height="150" src="/logo2.jpg" /> -->
|
||||
|
||||
<h1 class="center">FCE Ultra</h1>
|
||||
|
||||
<div class="navbox">
|
||||
<span class="naventry">[<a href="/">Home</a>]</span>
|
||||
<span class="naventry">[<a href="/download.php">Download</a>]</span>
|
||||
<span class="naventry">[<a href="docs.php">Documentation</a>]</span>
|
||||
<span class="naventry">[<a href="/support.php">Support Files</a>]</span>
|
||||
<span class="naventry">[<a href="/links.php">Links</a>]</span>
|
||||
<span class="naventry">[<a href="http://sourceforge.net/projects/fceultra/">Development</a>]</span>
|
||||
</div>
|
|
@ -0,0 +1 @@
|
|||
php_value include_path "/home/groups/f/fc/fceultra/htdocs-inc:."
|
|
@ -0,0 +1,77 @@
|
|||
@media all {
|
||||
|
||||
.center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.image {
|
||||
border-width:0px;
|
||||
}
|
||||
|
||||
.navbox {
|
||||
background: #e0e0e0;
|
||||
border: 1px solid black;
|
||||
color: #000000;
|
||||
font-weight: bold;
|
||||
padding-top: 0.3em;
|
||||
padding-bottom: 0.3em;
|
||||
padding-left: 1%;
|
||||
padding-right: 1%;
|
||||
text-align: center;
|
||||
width: 98%;
|
||||
}
|
||||
|
||||
.navbox a {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.naventry {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.mainbox {
|
||||
background: #e0e0e0;
|
||||
border: 1px solid black;
|
||||
color: #000000;
|
||||
margin-top: 1.5em;
|
||||
}
|
||||
|
||||
.boxhead {
|
||||
background: #444444;
|
||||
color: #b0b4e4;
|
||||
font-size: larger;
|
||||
font-weight: bolder;
|
||||
margin: 1px;
|
||||
padding: 0.25em;
|
||||
}
|
||||
|
||||
.boxsubhead {
|
||||
background: #444444;
|
||||
color: #b0b4e4;
|
||||
font-size: 100%;
|
||||
font-weight: bolder;
|
||||
padding: 0.25em;
|
||||
}
|
||||
|
||||
.boxbody {
|
||||
margin: 1px;
|
||||
padding: 0.25em;
|
||||
}
|
||||
|
||||
.sflogo {
|
||||
border: none;
|
||||
position: absolute;
|
||||
right: 0px;
|
||||
top: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
@media print {
|
||||
.sflogo {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.boxhead {
|
||||
border-bottom: 1px solid black;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,313 @@
|
|||
<?php
|
||||
$title = "Cheat Guide";
|
||||
include("header.php");
|
||||
?>
|
||||
|
||||
<center><h1>FCE Ultra Cheat Guide</h1></center>
|
||||
<center><i>Last updated November 12, 2003<br />Valid as of FCE Ultra 0.97.4</i></center>
|
||||
<p>
|
||||
<b>Table of Contents:</b>
|
||||
<ul>
|
||||
<li><a href="#intro">Introduction</a>
|
||||
<ul>
|
||||
<li><a href="#cheatfiles">Cheat Files</a>
|
||||
</ul>
|
||||
<li><a href="#windows">The Windows Interface</a>
|
||||
<ul>
|
||||
<li><a href="#windows-search">Cheat Search Interface</a>
|
||||
</ul>
|
||||
<li><ba href="#text">The Text Interface(TODO)</ba>
|
||||
<li><a href="#examples">Examples</a>
|
||||
<ul>
|
||||
<li><a href="#examples-mm3">"Mega Man 3" Windows Example</a>
|
||||
<li><a href="#examples-oh">"Over Horizon" Text Interface Example</a>
|
||||
</ul>
|
||||
<li><a href="#tips">Tips</a>
|
||||
</ul>
|
||||
<hr width="100%">
|
||||
<a name="tips"><h2>Introduction</h2></a>
|
||||
<p>
|
||||
FCE Ultra allows cheating by the periodic "patching" of arbitrary addresses
|
||||
in the 6502's memory space with arbitrary values, as well as read substitution.
|
||||
"Read substitution" is the method that would be used on a real NES/Famicom,
|
||||
such as done by the Game Genie and Pro Action Replay. It is required
|
||||
to support GG and PAR codes, but since it is relatively slow when done
|
||||
in emulation, it is not the preferred method when a RAM patch will
|
||||
suffice. Also, in FCE Ultra, read substitution will not work properly with
|
||||
zero-page addressing modes(instructions that operate on RAM at $0000 through
|
||||
$00FF).
|
||||
</p>
|
||||
<p>
|
||||
The RAM patches are all applied a short time before the emulated
|
||||
vertical blanking period. This detail shouldn't concern most people, though.
|
||||
However, this does mean that cheating with games that use
|
||||
bank-switched RAM may be problematic. Fortunately, such games are not very
|
||||
common(in relation to the total number of NES and Famicom games).
|
||||
</p>
|
||||
<a name="cheatfiles"><h3>Cheat Files</h3></a>
|
||||
<p>
|
||||
Cheats are stored in the "cheats" subdirectory under the base FCE Ultra
|
||||
directory. The files are in a simple plain-text format. Each line represents
|
||||
a one-byte memory patch. The format is as follows(text in brackets []
|
||||
represents optional parameters):
|
||||
</p>
|
||||
<p>
|
||||
<blockquote>
|
||||
[S][C][:]Address(hex):Value(hex):[Compare value:]Description
|
||||
</blockquote>
|
||||
Example:
|
||||
|
||||
<blockquote> 040e:05:Infinite super power.</blockquote>
|
||||
</p>
|
||||
<p>
|
||||
A colon(:) near the beginning of the line is used to disable the cheat.
|
||||
"S" denotes a cheat that is a read-substitute-style cheat(such as with Game
|
||||
Genie cheats), and a "C" denotes that the cheat has a compare value.
|
||||
</p>
|
||||
|
||||
<hr width="100%">
|
||||
<a name="windows"><h2>The Windows Interface</h2></a>
|
||||
<p>
|
||||
All addresses listed in the cheats window are in unsigned
|
||||
16-bit hexadecimal format and all values in these windows are in an
|
||||
unsigned 8-bit decimal format(the range for values is 0 through 255).
|
||||
</p>
|
||||
<p>
|
||||
The cheats window contains the list of cheats for the currently loaded game
|
||||
on the right side. Existing cheats can be selected, edited, and updated
|
||||
using the "Update" button.
|
||||
</p>
|
||||
<a name="windows-search"><h3>Cheat Search Interface</h3></a>
|
||||
<p>
|
||||
The cheat search interface consists of several components: a list of
|
||||
addresses and associated data for a search, several command buttons,
|
||||
and the search parameters.
|
||||
</p>
|
||||
<p>
|
||||
Each entry in the list is in the format of:
|
||||
<blockquote>Address:Original Value:Current Value</blockquote>
|
||||
</p>
|
||||
<p>
|
||||
The address is the location in the 6502's address space, the original
|
||||
value is the value that was stored at this address when the search was
|
||||
reset, and the current value is the value that is currently stored at
|
||||
that address. Selecting an item in this list will automatically cause
|
||||
the "Address" field in the cheat information box on the right side of the
|
||||
window to be updated with the selected address.
|
||||
</p>
|
||||
<p>
|
||||
The "Reset Search" button resets the search process; all valid addresses
|
||||
are displayed in the cheat list and the data values at those addresses noted.
|
||||
</p>
|
||||
<p>
|
||||
The "Do Search" buttons performs a search based on the search parameters
|
||||
and removes any non-matching addresses from the address list.
|
||||
</p>
|
||||
<p>
|
||||
The "Set Original to Current" button sets the remembered original values
|
||||
to the current values. It is like the "Reset Search" button, but it does
|
||||
not affect which addresses are shown in the address list. This command is
|
||||
especially useful when used in conjunction with the "O!=C" search filter.
|
||||
</p>
|
||||
<p>
|
||||
The "Unhide Excluded" button shows all addresses that are excluded as a
|
||||
result of any previous searches. It is like the "Reset Search" button
|
||||
except that it does not affect the remembered original values.
|
||||
</p>
|
||||
<p>
|
||||
The numbers assigned the names "V1" and "V2" have different meanings based
|
||||
on which filter is selected. A list of the names of the filters and detailed
|
||||
information on what they do follows("original value" corresponds to the value
|
||||
remembered for a given addres and "current value" is the value currently
|
||||
at that address. Also, if a value is not explicitly said to be shown
|
||||
under a certain condition, then it is obviously excluded.):
|
||||
<p>
|
||||
"O==V1 && C==V2":
|
||||
<blockquote>
|
||||
Show the address if the original value is equal to "V1" AND
|
||||
the current value is equal to "V2".
|
||||
</blockquote>
|
||||
</p>
|
||||
<p>
|
||||
"O==V1 && |O-C|==V2":
|
||||
<blockquote>
|
||||
Show the address if the original value is equal to "V1" AND
|
||||
the difference between the current value and the original
|
||||
value is equal to "V2".
|
||||
</blockquote>
|
||||
</p>
|
||||
<p>
|
||||
"|O-C|==V2":
|
||||
<blockquote>
|
||||
Show the address if the difference between the current value
|
||||
and the original value is equal to "V2".
|
||||
</blockquote>
|
||||
</p>
|
||||
<p>
|
||||
"O!=C":
|
||||
<blockquote>
|
||||
Show the address if the original value does not equal the
|
||||
current value.
|
||||
</blockquote>
|
||||
</p>
|
||||
<p>
|
||||
The following cheat methods/filters automatically perform the function
|
||||
of the "Set Original to Current" button after "Do Search" is pressed.
|
||||
</p>
|
||||
<p>
|
||||
"Value decreased."
|
||||
<blockquote>
|
||||
Show the address if the value has decreased.
|
||||
</blockquote>
|
||||
</p>
|
||||
<p>
|
||||
"Value increased."
|
||||
<blockquote>
|
||||
Show the address if the value has increased.
|
||||
</blockquote>
|
||||
</p>
|
||||
|
||||
<hr width="100%">
|
||||
<a name="examples"><h2>Examples</h2></a>
|
||||
<a name="examples-mm3"><h3>"Mega Man 3" Windows Example</h3></a>
|
||||
<p>
|
||||
This example will give Mega Man unlimited energy.
|
||||
Immediately after entering the Top Man stage, make your way to the
|
||||
"Add Cheat" window. Push "Reset Search".
|
||||
Go back to playing and move right until the first enemy appears. Allow
|
||||
yourself to be hit twice. Each hit does "2" damage, so you've lost 4 energy
|
||||
bars. Go to the "Add Cheat" window again and select the third filter
|
||||
("|O-C|==V2") and enter the value 4 next to "V2". Then push "Do Search".
|
||||
</p>
|
||||
<p>
|
||||
Several addresses will appear in the address list. You can try to find
|
||||
the address you want through trial and error, or you can narrow the results
|
||||
down further. We will do the latter.
|
||||
</p>
|
||||
<p>
|
||||
Go back to playing MM3 and get hit one more time and make your way back
|
||||
to the "Add Cheat" window. Your damage is now "6". You can probably
|
||||
see which address that contains your life(it is 00A2). If not, change
|
||||
V2 to 6 and push "Do Search" again. This should leave only 00A2.
|
||||
</p>
|
||||
<p>
|
||||
Select that entry in the address list. Shift your attention to the "Add
|
||||
Cheat" box to the right. Type in a meaningful name and the desired value(156;
|
||||
it was the value when you had no damage, so it's safe to assume it's the
|
||||
maximum value you can use). Push the "Add" button and a new entry will
|
||||
appear in the cheats list. The cheat has been added.
|
||||
</p>
|
||||
<a name="examples-oh"><h3>"Over Horizon" Text Interface Example</h3></a>
|
||||
<p>
|
||||
This example will give you infinite lives in the NTSC(Japanese) version
|
||||
of "Over Horizon".
|
||||
</p>
|
||||
<p>
|
||||
Start a new game. Notice that when you press "Start" during gameplay,
|
||||
the number of lives you have left is indicated. With no cheating, you
|
||||
start with 3 lives(2 lives left).
|
||||
</p>
|
||||
<p>
|
||||
Activate the cheat interface immediately after starting a new game.
|
||||
Select the "New Cheats" menu and "Reset Search".
|
||||
</p>
|
||||
<p>
|
||||
I'll assume that the number of lives left shown in the game is the same number
|
||||
that's stored in RAM. Now, "Do Search". You're going to use the first search
|
||||
filter. For V1, enter the value 2. For V2, enter the same value. This,
|
||||
coupled with the fact that you just reset the search, will allow you to search
|
||||
for a value "absolutely"(as opposed to changes in the value).
|
||||
</p>
|
||||
<p>
|
||||
Now, "Show Results". When I did it, I received 11 results:
|
||||
</p>
|
||||
<pre>
|
||||
1) $0000:002:002
|
||||
2) $001c:002:002
|
||||
3) $001e:002:002
|
||||
4) $009d:002:002
|
||||
5) $00b9:002:002
|
||||
6) $00e3:002:002
|
||||
7) $0405:002:002
|
||||
8) $0406:002:002
|
||||
9) $0695:002:002
|
||||
10) $07d5:002:002
|
||||
11) $07f8:002:002
|
||||
</pre>
|
||||
<p>
|
||||
You really can't do much yet(unless you want to spend time doing trial
|
||||
and error cheat additions). Return to the game.
|
||||
</p>
|
||||
<p>
|
||||
After losing a life, go back to the cheat interface, to the "New Cheats"
|
||||
menu, and "Show Results". Here are my results:
|
||||
</p>
|
||||
<pre>
|
||||
1) $0000:002:002
|
||||
2) $001c:002:002
|
||||
3) $001e:002:002
|
||||
4) $009d:002:002
|
||||
5) $00b9:002:041
|
||||
6) $00e3:002:002
|
||||
7) $0405:002:001
|
||||
8) $0406:002:002
|
||||
9) $0695:002:002
|
||||
10) $07d5:002:001
|
||||
11) $07f8:002:002
|
||||
</pre>
|
||||
<p>
|
||||
Notice that two addresses seem to hold the number of lives($0405 and
|
||||
$07d5). You can lose another life and go "Show Results" again, and you
|
||||
should see that $07d5 is the address that holds the number of lives.
|
||||
</p>
|
||||
<p>
|
||||
Now that you know the address that holds the number of lives, you can
|
||||
add a cheat. You can either type in the number from the cheat results list
|
||||
corresponding to the address you want to add a cheat for, or you can
|
||||
remember the address and select "Add Cheat" from the "New Cheats" menu.
|
||||
Do the former.
|
||||
</p>
|
||||
<p>
|
||||
Now you will need to enter a name for the cheat. I suggest something short,
|
||||
but descriptive. "Infinite lives" will work fine. Next, a prompt for
|
||||
the address will show up. Since you selected an item from the list, you
|
||||
can press enter to use the associated address($07d5). Next, you will
|
||||
need to enter a value. It doesn't need to be large(in fact, it probably
|
||||
shouldn't be; abnormally high numbers can cause some games to misbehave).
|
||||
I suggest a value of 2. After this, you should get a prompt that looks like
|
||||
this:
|
||||
</p>
|
||||
<pre>
|
||||
Add cheat "Infinite lives" for address $07d5 with value 002?(Y/N)[N]:
|
||||
</pre>
|
||||
<p>
|
||||
Answer "Y". You now have infinite lives.
|
||||
</p>
|
||||
<hr width="100%">
|
||||
<a name="tips"><h2>Tips</h2></a>
|
||||
<p>
|
||||
Games store player information in many different ways. For example,
|
||||
if you have "3" lives in Super Wacky Dodgeball 1989, the game might store
|
||||
it in memory as 2, 3, or 4, or perhaps a different number all together.
|
||||
Also, say that you have 69 life points out of 200 in Mole Mashers. The
|
||||
game might store how many life points you have, or how much damage you have
|
||||
taken. Relative value searches are very valuable because you probably
|
||||
don't know the way that the game stores its player data.
|
||||
</p>
|
||||
<p>
|
||||
Some games, especially RPGs, deal with individual numbers greater than
|
||||
8-bits in size. Most that I've seen seem to store the multiple-byte data
|
||||
least significant byte(lower byte of number) first in memory, though
|
||||
conceivably, it could be stored most significant byte first, or the component
|
||||
bytes of the number could be non-contiguous, though the latter is very unlikely.
|
||||
For example, say I have 5304 experience points in Boring Quest for the
|
||||
Overused Plot Device. To split the number into two eight bit decimal numbers,
|
||||
take 5304 %(modulus) 256. This will give a number that is the lower 8 bits.
|
||||
Next, take 5304 / 256. The integral component of your answer will be the
|
||||
upper 8 bits(or the next 8 bits, if the number is or can be larger than 16
|
||||
bits) of 5304. Now you will need to search for these numbers. Fortunately,
|
||||
most(all?) RPGs seem to store large numbers exactly as they are shown in the
|
||||
game.
|
||||
</p>
|
||||
|
||||
<?php include("footer.php"); ?>
|
|
@ -0,0 +1,821 @@
|
|||
<?php
|
||||
$title = "General Documentation";
|
||||
include("header.php");
|
||||
?>
|
||||
|
||||
<h1 class="center">FCE Ultra General Documentation</h1>
|
||||
<p>
|
||||
<i>Last updated September 15, 2004</i><br/>
|
||||
<i>Valid as of FCE Ultra 0.98.13</i>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<b>Table of Contents:</b>
|
||||
</p>
|
||||
<ul>
|
||||
<li><a href="#intro">Introduction</a>
|
||||
<ul>
|
||||
<li><a href="#intro-history">History of FCE Ultra</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#features">Core Features</a>
|
||||
<ul>
|
||||
<li><a href="#features-cpu">CPU</a></li>
|
||||
<li><a href="#features-ppu">PPU</a>
|
||||
<ul>
|
||||
<li><a href="#features-ppu-palettes">Palettes</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#features-sound">Sound</a></li>
|
||||
<li><a href="#features-input">Input</a>
|
||||
<ul>
|
||||
<li><a href="#features-input-zapper">Zapper</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#features-expansion">File Formats/Expansion Hardware</a>
|
||||
<ul>
|
||||
<li><a href="#features-expansion-ines">iNES Format</a></li>
|
||||
<li><a href="#features-expansion-unif">UNIF</a></li>
|
||||
<li><a href="#features-expansion-fds">Famicom Disk System</a></li>
|
||||
<li><a href="#features-expansion-genie">Game Genie</a></li>
|
||||
<li><a href="#features-expansion-vs">VS Unisystem</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#features-ips">Automatic IPS Patching</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#using">Using FCE Ultra</a>
|
||||
<ul>
|
||||
<li><a href="#using-keys">Key Assignments</a>
|
||||
<ul>
|
||||
<li><a href="#using-keys-vs">VS Unisystem</a></li>
|
||||
<li><a href="#using-keys-fds">Famicom Disk System</a></li>
|
||||
<li><a href="#using-keys-barcode">Barcode Readers</a></li>
|
||||
<li><a href="#using-keys-gamepad">Game Pad</a></li>
|
||||
<li><a href="#using-keys-powerpad">Power Pad</a></li>
|
||||
<li><a href="#using-keys-fkb">Family Keyboard</a></li>
|
||||
<li><a href="#using-keys-hypershot">HyperShot Controller</a></li>
|
||||
<li><a href="#using-keys-mahjong">Mahjong Controller</a></li>
|
||||
<li><a href="#using-keys-quiz">Quiz King Controller</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#using-cli">Command line</a></li>
|
||||
<li><a href="#using-gui">GUI</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="cheat.php">Cheat Guide</a></li>
|
||||
<li><a href="faq.php">FAQ</a></li>
|
||||
<li><a href="netplay.html">Network Play</a></li>
|
||||
<li><a href="#hacks">Game-specific Emulation Hacks</a></li>
|
||||
<li><a href="#credits">Credits</a></li>
|
||||
</ul>
|
||||
|
||||
<hr />
|
||||
<h2><a id="intro">Introduction</a></h2>
|
||||
<p>
|
||||
FCE Ultra is an NTSC and PAL Famicom/NES emulator for various
|
||||
platforms. It is based upon Bero's original FCE source code. Current
|
||||
features include good PPU, CPU, pAPU, expansion chip, and joystick
|
||||
emulation. Also a feature unique to this emulator(at the current
|
||||
time) is authentic Game Genie emulation. Save states and snapshot
|
||||
features also have been implemented.
|
||||
</p>
|
||||
<p>
|
||||
This document has been arranged to keep user interface details and emulation
|
||||
details as separate as possible, though this has not been accomplished entirely.
|
||||
</p>
|
||||
<p>
|
||||
In several places references are made to the "base directory". If you
|
||||
are running a port on a UN*X-like system(Linux/*BSD/Mac OSX/SunOS/etc.), the
|
||||
base directory is "~/.fceultra", or in other words,
|
||||
"your home directory plus .fceultra". For all other ports(including DOS and
|
||||
MS Windows), the base directory is the directory that the executable is in.
|
||||
</p>
|
||||
<h3><a id="intro-history">History of FCE Ultra</a></h3>
|
||||
<p>
|
||||
<i>This section is a work-in-progress. Some details may be incorrect.</i><br/>
|
||||
Bero originally wrote a NES emulator that was referred to as <a href="http://www.geocities.co.jp/Playtown/2004/fce.htm">FCE</a>.
|
||||
This name was apparently meant only to serve as a temporary name, but its usage remained. Xodnizel originally ported it to
|
||||
Linux SVGAlib, and made a few improvements. This code base was abandoned,
|
||||
and work began anew, under DOS, with the original FCE source code.
|
||||
At the end of November, 1998, FCE Ultra Beta 1 was released.
|
||||
</p>
|
||||
<p>
|
||||
FCE Ultra remained DOS-only until version 0.18, when it was ported to Linux
|
||||
SVGAlib, and released as a staticly-linked executable. The first MS Windows
|
||||
port was released as version 0.25.
|
||||
</p>
|
||||
<p>
|
||||
The source code of 0.40 was released on November 12, 2000. It retained
|
||||
the simple license of FCE for a long time, which stated that " This software is freeware.you can use it non-commercially."
|
||||
Almost two years later, in June 2002, 0.80 was released, and FCE Ultra was relicensed under the GNU GPL.
|
||||
</p>
|
||||
<hr />
|
||||
<h2><a id="features">Core Features</a></h2>
|
||||
<h3><a id="features-cpu">CPU</a></h3>
|
||||
<p>
|
||||
All official instructions of the NES' CPU, the 2A03, which is compatible(mostly)
|
||||
with the 6502, are emulated. "Unofficial" instructions are also emulated,
|
||||
though probably not as accurately as the more well-defined official instructions.
|
||||
</p>
|
||||
<hr />
|
||||
<h3><a id="features-ppu">PPU</a></h3>
|
||||
<p>
|
||||
<ul>
|
||||
<li>8x8 and 8x16 sprites.</li>
|
||||
<li>Sprite hit emulation(including checking the bg color).</li>
|
||||
<li>8 sprite limit(and flag emulation).</li>
|
||||
<li>Screen/Sprite disabling, with correct color replacement.</li>
|
||||
<li>Color deemphasis(probably not 100% correct, more research is needed).</li>
|
||||
<li>Strip colorburst bit emulated.</li>
|
||||
<li>CPU-instruction granularity for special mid-scanline effects(mostly CHR switching, such as
|
||||
used in "Pirates!", "Marble Madness", and "Mother").</li>
|
||||
</ul>
|
||||
</p>
|
||||
<h4><a id="features-ppu-palettes">Palettes</a></h4>
|
||||
<p>
|
||||
FCE Ultra has many palette features, including loading a custom palette
|
||||
to replace the default NES palette. The palette from an NTSC NES can
|
||||
also be generated on-the-fly.
|
||||
</p>
|
||||
<p>
|
||||
First, a note on on the format of external palettes; Palette files are expected to contain 64 8-bit RGB triplets(each in
|
||||
that order; red comes first in the triplet in the file, then green,
|
||||
then blue). Each 8-bit value represents brightness for that particular
|
||||
color. 0 is minimum, 255 is maximum.
|
||||
</p>
|
||||
<p>
|
||||
Palettes can be set on a per-game basis. To do this, put a palette
|
||||
file in the "gameinfo" directory with the same base filename
|
||||
as the game you wish to associate with and add the extension "pal".
|
||||
Examples:
|
||||
<pre>
|
||||
File name: Palette file name:
|
||||
BigBad.nes BigBad.pal
|
||||
BigBad.zip BigBad.pal
|
||||
BigBad.Better.nes BigBad.Better.pal
|
||||
</pre>
|
||||
</p>
|
||||
<p>
|
||||
With so many ways to choose a palette, figuring out which one will
|
||||
be active may be difficult. Here's a list of what palettes will
|
||||
be used, in order from highest priority to least priority(if a
|
||||
condition doesn't exist for a higher priority palette, the emulator
|
||||
will continue down its list of palettes).
|
||||
<ul>
|
||||
<li>NSF Palette(for NSFs only)</li>
|
||||
<li>Palette loaded from the "gameinfo" directory.</li>
|
||||
<li>NTSC Color Emulation(only for NTSC NES games).</li>
|
||||
<li>VS Unisystem palette(if the game is a VS Unisystem game and a palette is available).</li>
|
||||
<li>Custom global palette.</li>
|
||||
<li>Default NES palette. </li>
|
||||
</ul>
|
||||
</p>
|
||||
<p>
|
||||
<hr />
|
||||
<h3><a id="features-sound"<Sound</a></h3>
|
||||
<p>
|
||||
All 5 internal sound channels are supported(2x rectangle, triangle, noise,
|
||||
and DMC/PCM). Sound channels are emulated with CPU instruction granularity.
|
||||
There are two sound quality options. Low-quality sound, the default sound
|
||||
quality option, generates sound data at 16x the playback rate and averages
|
||||
those samples together to 1 sample. This method works fairly well and
|
||||
is reasonably fast, but there is still some aliasing and sound distortion.
|
||||
All sample rates between 8192Hz and 96000Hz are supported.
|
||||
</p><p>
|
||||
The high-quality sound emulation is much more CPU intensive, but the
|
||||
quality is worth it, if your machine is fast enough. Sound data is
|
||||
generated at the NES' CPU clock rate(about 1.8MHz for the NTSC NES), and
|
||||
then resampled to the output sample rate. Custom-designed 483rd order
|
||||
Parks-McClellan algorithm filter coefficients are used. Supported playback rates are
|
||||
44100Hz, 48000Hz, and 96000Hz. The following filter statistics apply
|
||||
for NTSC emulation.
|
||||
<p>
|
||||
<table border>
|
||||
<tr><th>Rate:</th><th>Passband Upper Bound(Hz):</th><th>Passband ripple(dB):</th><th>Transition bandwidth(Hz):</th><th>Stopband attenuation(dB):</th></tr>
|
||||
<tr><td>44100</td><td>11982.5</td><td>0.20</td><td>10067.5</td><td>66.4</td></tr>
|
||||
<tr><td>48000</td><td>13932.5</td><td>0.10</td><td>10067.5</td><td>60.0</td></tr>
|
||||
<tr><td>96000</td><td>30000.0</td><td>0.01</td><td>18000.0</td><td>103.0</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
The "highest" sound quality mode is similar to the normal high-quality mode,
|
||||
but the filters are of a higher order(1024 coefficients). Ripple is
|
||||
reduced, the upper bound of the passband is higher, and the stopband
|
||||
attenuation is slightly higher. The highest-quality mode filter coefficients
|
||||
were created using "gmeteor". The parameters used to create these filters
|
||||
can be found in the source code distribution.
|
||||
</p>
|
||||
<p>
|
||||
Besides the 5 internal NES sound channels, FCE Ultra emulates the extra
|
||||
sound capabilities of the Konami VRCVI, Konami VRCVII, Namco 106, Nintendo MMC5, and the Sunsoft FME-07 chips. The extra sound
|
||||
channel in the Famicom Disk System is also emulated, but the support for
|
||||
its FM capabilities is limited.
|
||||
</p>
|
||||
<hr />
|
||||
<h3><a id="features-input">Input</a></h3>
|
||||
<p>
|
||||
FCE Ultra emulates the standard NES gamepad, the Four-Score multiplayer
|
||||
adapter, the Zapper, the Power Pad, and the Arkanoid controller. The
|
||||
Famicom version of the Arkanoid controller, the "Space Shadow" gun, the
|
||||
Famicom 4-player adapter, the Family Keyboard, the HyperShot controller, the Mahjong controller,
|
||||
the Oeka Kids tablet, the Quiz King buzzers, the Family Trainer, and the Barcode World barcode
|
||||
reader are also emulated.
|
||||
</p>
|
||||
<h4><a id="features-input-zapper">Zapper</a></h4>
|
||||
<p>
|
||||
Most Zapper NES games expect the Zapper to be plugged into port 2.
|
||||
and most VS Unisystem games expect the Zapper to be plugged
|
||||
into port 1.
|
||||
</p><p>
|
||||
The left mouse button is the emulated trigger button for the
|
||||
Zapper. The right mouse button is also emulated as the trigger,
|
||||
but as long as you have the right mouse button held down, no color
|
||||
detection will take place, which is effectively like pulling the
|
||||
trigger while the Zapper is pointed away from the television screen.
|
||||
Note that you must hold the right button down for a short
|
||||
time to have the desired effect.
|
||||
</p>
|
||||
<hr />
|
||||
<h3><a id="features-expansion">File Formats/Expansion Hardware</a></h3>
|
||||
<p>
|
||||
FCE Ultra supports the iNES, FDS(raw and with a header), UNIF, and NSF file
|
||||
formats. FDS ROM images in the iNES format are not supported; it would
|
||||
be silly to do so and storing them in that format is nonsensical.
|
||||
</p>
|
||||
<p>
|
||||
FCE Ultra supports loading ROM/disk images from some types of compressed files.
|
||||
FCE Ultra can load data from both PKZIP-format files and
|
||||
gzip-format files. Only the "deflate" algorithm is supported, but
|
||||
this is the most widely used algorithm for these formats.
|
||||
</p>
|
||||
<p>
|
||||
All files in a PKZIP format archive will be scanned for the
|
||||
followings extensions: .nes, .fds, .nsf, .unf, .nez, .unif
|
||||
The first archived file to have one of these extensions will be
|
||||
loaded. If no archived file has one of these extensions, the
|
||||
first archived file will be loaded.
|
||||
</p>
|
||||
<h4><a id="features-expansion-ines">iNES Format</a></h4>
|
||||
<p>
|
||||
The battery-backed RAM, vertical/horizontal mirroring, four-screen
|
||||
name table layout, and 8-bit mapper number capabilities of the iNES
|
||||
format are supported. The 512-byte trainer capability is also supported,
|
||||
but it is deprecated. Common header corruption conditions are cleaned(let's
|
||||
go on a DiskDude hunt), though not all conditions can be automatically
|
||||
detected and fixed. In addition, a few common header inaccuracies for
|
||||
games are also corrected(detected by CRC32 value). Note that these
|
||||
fixes are not written back to the storage medium.
|
||||
</p>
|
||||
<p>
|
||||
Support for the recent VS System bit and "number of 8kB RAM banks"
|
||||
is not implemented. Too many iNES headers are corrupt where this new data
|
||||
is stored, causing problems for those games.
|
||||
</p>
|
||||
<p>
|
||||
The following table lists iNES-format "mappers" supported well in FCE Ultra.
|
||||
</p><p>
|
||||
<table width="100%" border>
|
||||
<tr><th>Number:</th><th>Description:</th><th>Game Examples:</th></tr>
|
||||
<tr><td>0</td><td>No bankswitching</td><td>Donkey Kong, Mario Bros</td></tr>
|
||||
<tr><td>1</td><td>Nintendo MMC1</td><td>MegaMan 2, Final Fantasy</td></tr>
|
||||
<tr><td>2</td><td>Simple 16KB PROM Switch(UNROM)</td><td>MegaMan, Archon, 1944</td></tr>
|
||||
<tr><td>3</td><td>Simple 8KB VROM Switch(CNROM)</td><td>Spy Hunter, Gradius</td></tr>
|
||||
<tr><td>4</td><td>Nintendo MMC3</td><td>Super Mario Bros. 3, Recca, Final Fantasy 3</td></tr>
|
||||
<tr><td>5</td><td>Nintendo MMC5</td><td>Castlevania 3, Just Breed, Bandit Kings of Ancient China</td></tr>
|
||||
<tr><td>6</td><td>FFE F4 Series(hacked, bootleg)</td><td></td></tr>
|
||||
<tr><td>7</td><td>AOROM</td><td>Battle Toads, Time Lord</td></tr>
|
||||
<tr><td>8</td><td>FFE F3 Series(hacked, bootleg)</td><td></td></tr>
|
||||
<tr><td>9</td><td>Nintendo MMC2</td><td>Punchout!</td></tr>
|
||||
<tr><td>10</td><td>Nintendo MMC4</td><td>Fire Emblem, Fire Emblem Gaiden</td></tr>
|
||||
<tr><td>11</td><td>Color Dreams</td><td>Crystal Mines, Bible Adventures</td></tr>
|
||||
<tr><td>12</td><td>??</td><td>Dragon Ball Z 5 ("bootleg" original)</td></tr>
|
||||
<tr><td>13</td><td>CPROM</td><td>Videomation</td></tr>
|
||||
<tr><td>15</td><td>Multi-cart(bootleg)</td><td>100-in-1: Contra Function 16</td></tr>
|
||||
<tr><td>16</td><td>Bandai ??</td><td>Dragon Ball Z, SD Gundam Gaiden **EEPROM is not emulated</td></tr>
|
||||
<tr><td>17</td><td>FFE F8 Series(hacked, bootleg)</td><td></td></tr>
|
||||
<tr><td>18</td><td>Jaleco SS806</td><td>Pizza Pop, Plasma Ball</td></tr>
|
||||
<tr><td>19</td><td>Namco 106</td><td>Splatter House, Mappy Kids</td></tr>
|
||||
<tr><td>21</td><td>Konami VRC4 2A</td><td>WaiWai World 2, Ganbare Goemon Gaiden 2</td></tr>
|
||||
<tr><td>22</td><td>Konami VRC4 1B</td><td>Twinbee 3</td></tr>
|
||||
<tr><td>23</td><td>Konami VRC2B</td><td>WaiWai World, Crisis Force</td></tr>
|
||||
<tr><td>24</td><td>Konami VRC6</td><td>Akumajou Densetsu</td></tr>
|
||||
<tr><td>25</td><td>Konami VRC4</td><td>Gradius 2, Bio Miracle:Boku tte Upa</td></tr>
|
||||
<tr><td>26</td><td>Konami VRC6 A0-A1 Swap</td><td>Esper Dream 2, Madara</td></tr>
|
||||
<tr><td>32</td><td>IREM G-101</td><td>Image Fight 2, Perman</td></tr>
|
||||
<tr><td>33</td><td>Taito TC0190/TC0350</td><td>Don Doko Don</td></tr>
|
||||
<tr><td>34</td><td>NINA-001 and BNROM</td><td>Impossible Mission 2, Deadly Towers, Bug Honey</td></tr>
|
||||
<tr><td>40</td><td>(bootleg)</td><td>Super Mario Bros. 2</td></tr>
|
||||
<tr><td>41</td><td>Caltron 6-in-1</td><td>Caltron 6-in-1</td></tr>
|
||||
<tr><td>42</td><td>(bootleg)</td><td>Mario Baby</td></tr>
|
||||
<tr><td>44</td><td>Multi-cart(bootleg)</td><td>Super HiK 7 in 1</td></tr>
|
||||
<tr><td>45</td><td>Multi-cart(bootleg)</td><td>Super 1000000 in 1</td></tr>
|
||||
<tr><td>46</td><td>Game Station</td><td>Rumble Station</td></tr>
|
||||
<tr><td>47</td><td>NES-QJ</td><td>Nintendo World Cup/Super Spike V-Ball</td></tr>
|
||||
<tr><td>48</td><td>Taito TC190V</td><td>Flintstones</td></tr>
|
||||
<tr><td>49</td><td>Multi-cart(bootleg)</td><td>Super HiK 4 in 1</td></tr>
|
||||
<tr><td>50</td><td>(bootleg)</td><td>Super Mario Bros. 2</td></tr>
|
||||
<tr><td>51</td><td>Multi-cart(bootleg)</td><td>11 in 1 Ball Games</td></tr>
|
||||
<tr><td>52</td><td>Multi-cart(bootleg)</td><td>Mario Party 7 in 1</td></tr>
|
||||
<tr><td>57</td><td>Multi-cart(bootleg)</td><td>Game Star GK-54</td></tr>
|
||||
<tr><td>58</td><td>Multi-cart(bootleg)</td><td>68-in-1 Game Star HKX5268</td></tr>
|
||||
<tr><td>60</td><td>Multi-cart(bootleg)</td><td>4 in 1(Reset-selected)</td></tr>
|
||||
<tr><td>61</td><td>Multi-cart(bootleg)</td><td>20 in 1</td></tr>
|
||||
<tr><td>62</td><td>Multi-cart(bootleg)</td><td>Super 700 in 1</td></tr>
|
||||
<tr><td>64</td><td>Tengen RAMBO 1</td><td>Klax, Rolling Thunder, Skull and Crossbones</td></tr>
|
||||
<tr><td>65</td><td>IREM H-3001</td><td>Daiku no Gensan 2</td></tr>
|
||||
<tr><td>66</td><td>GNROM</td><td>SMB/Duck Hunt</td></tr>
|
||||
<tr><td>67</td><td>Sunsoft ??</td><td>Fantasy Zone 2</td></tr>
|
||||
<tr><td>68</td><td>Sunsoft ??</td><td>After Burner 2, Nantetta Baseball</td></tr>
|
||||
<tr><td>69</td><td>Sunsoft FME-7</td><td>Batman: Return of the Joker, Hebereke</td>
|
||||
<tr><td>70</td><td>??</td><td>Kamen Rider Club</td></tr>
|
||||
<tr><td>71</td><td>Camerica</td><td>Fire Hawk, Linus Spacehead</td></tr>
|
||||
<tr><td>72</td><td>Jaleco ??</td><td>Pinball Quest</td></tr>
|
||||
<tr><td>73</td><td>Konami VRC3</td><td>Salamander</td></tr>
|
||||
<tr><td>74</td><td>Taiwanese MMC3 CHR ROM w/ VRAM</td><td>Super Robot Wars 2</td></tr>
|
||||
<tr><td>75</td><td>Jaleco SS8805/Konami VRC1</td><td>Tetsuwan Atom, King Kong 2</td></tr>
|
||||
<tr><td>76</td><td>Namco 109</td><td>Megami Tensei</td></tr>
|
||||
<tr><td>77</td><td>IREM ??</td><td>Napoleon Senki</td></tr>
|
||||
<tr><td>78</td><td>Irem 74HC161/32</td><td>Holy Diver</td></tr>
|
||||
<tr><td>79</td><td>NINA-06/NINA-03</td><td>F15 City War, Krazy Kreatures, Tiles of Fate</td></tr>
|
||||
<tr><td>80</td><td>Taito X-005</td><td>Minelvation Saga</td></tr>
|
||||
<tr><td>82</td><td>Taito ??</td><td>Kyuukyoku Harikiri Stadium - Heisei Gannen Ban</td><tr/>
|
||||
<tr><td>85</td><td>Konami VRC7</td><td>Lagrange Point</td></tr>
|
||||
<tr><td>86</td><td>Jaleco JF-13</td><td>More Pro Baseball</td></tr>
|
||||
<tr><td>87</td><td>??</td><td>Argus</td></tr>
|
||||
<tr><td>88</td><td>Namco 118</td><td>Dragon Spirit</td></tr>
|
||||
<tr><td>89</td><td>Sunsoft ??</td><td>Mito Koumon</td></tr>
|
||||
<tr><td>90</td><td>??</td><td>Super Mario World, Mortal Kombat 3, Tekken 2</td></tr>
|
||||
<tr><td>91</td><td>??</td><td>Mari Street Fighter 3 Turbo</td></tr>
|
||||
<tr><td>92</td><td>Jaleco ??</td><td>MOERO Pro Soccer</td></tr>
|
||||
<tr><td>93</td><td>??</td><td>Fantasy Zone</td></tr>
|
||||
<tr><td>94</td><td>??</td><td>Senjou no Ookami</td></tr>
|
||||
<tr><td>95</td><td>Namco 118</td><td>Dragon Buster</td></tr>
|
||||
<tr><td>96</td><td>Bandai ??</td><td>Oeka Kids</td></tr>
|
||||
<tr><td>97</td><td>??</td><td>Kaiketsu Yanchamaru</td></tr>
|
||||
<tr><td>99</td><td>VS System 8KB VROM Switch</td><td>VS SMB, VS Excite Bike</td></tr>
|
||||
<tr><td>105</td><td>NES-EVENT</td><td>Nintendo World Championships</td></tr>
|
||||
<tr><td>107</td><td>??</td><td>Magic Dragon</td></tr>
|
||||
<tr><td>112</td><td>Asder</td><td>Sango Fighter, Hwang Di</td></tr>
|
||||
<tr><td>113</td><td>MB-91</td><td>Deathbots</td></tr>
|
||||
<tr><td>114</td><td>??</td><td>The Lion King</td></tr>
|
||||
<tr><td>115</td><td>??</td><td>Yuu Yuu Hakusho Final</td></tr>
|
||||
<tr><td>117</td><td>??</td><td>San Guo Zhi 4</td></tr>
|
||||
<tr><td>118</td><td>MMC3-TLSROM/TKSROM Board</td><td>Ys 3, Goal! 2, NES Play Action Football</td></tr>
|
||||
<tr><td>119</td><td>MMC3-TQROM Board</td><td>High Speed, Pin*Bot</td></tr>
|
||||
<tr><td>140</td><td>Jaleco ??</td><td>Bio Senshi Dan</td></tr>
|
||||
<tr><td>144</td><td>??</td><td>Death Race</td></tr>
|
||||
<tr><td>151</td><td>Konami VS System Expansion</td><td>VS The Goonies, VS Gradius</td></tr>
|
||||
<tr><td>152</td><td>??</td><td>Arkanoid 2, Saint Seiya Ougon Densetsu</td></tr>
|
||||
<tr><td>153</td><td>Bandai ??</td><td>Famicom Jump 2</td></tr>
|
||||
<tr><td>154</td><td>Namco ??</td><td>Devil Man</td></tr>
|
||||
<tr><td>155</td><td>MMC1 w/o normal WRAM disable</td><td>The Money Game, Tatakae!! Rahmen Man</td></tr>
|
||||
<tr><td>156</td><td>??</td><td>Buzz and Waldog</td></tr>
|
||||
<tr><td>157</td><td>Bandai Datach ??</td><td>Datach DBZ, Datach SD Gundam Wars, **EEPROM is not emulated</td></tr>
|
||||
<tr><td>158</td><td nowrap>RAMBO 1 Derivative</td><td>Alien Syndrome</td></tr>
|
||||
<tr><td>160</td><td>(same as mapper 90)</td><td>(same as mapper 90)</td></tr>
|
||||
<tr><td>180</td><td>??</td><td>Crazy Climber</td></tr>
|
||||
<tr><td>182</td><td>??</td><td>Super Donkey Kong</td></tr>
|
||||
<tr><td>184</td><td>??</td><td>Wing of Madoola, The</td></tr>
|
||||
<tr><td>185</td><td>CNROM w/ CHR ROM unmapping</td><td>Banana, Mighty Bomb Jack, Spy vs Spy(Japanese)</td></tr>
|
||||
<tr><td>189</td><td>??</td><td>Thunder Warrior, Street Fighter 2 (Yoko)</td></tr>
|
||||
<tr><td>193</td><td>Mega Soft</td><td>Fighting Hero</td></tr>
|
||||
<tr><td>200</td><td>Multi-cart(bootleg)</td><td>1200-in-1</td></tr>
|
||||
<tr><td>201</td><td>Multi-cart(bootleg)</td><td>21-in-1</td></tr>
|
||||
<tr><td>202</td><td>Multi-cart(bootleg)</td><td>150 in 1</td></tr>
|
||||
<tr><td>203</td><td>Multi-cart(bootleg)</td><td>35 in 1</td></tr>
|
||||
<tr><td>206</td><td>DEIROM</td><td>Karnov</td></tr>
|
||||
<tr><td>207</td><td>Taito ??</td><td>Fudou Myouou Den</td></tr>
|
||||
<tr><td>208</td><td>??</td><td>Street Fighter IV (by Gouder)</td></tr>
|
||||
<tr><td>209</td><td>(mapper 90 w/ name-table control mode enabled)</td><td>Shin Samurai Spirits 2, Power Rangers III</td></tr>
|
||||
<tr><td>210</td><td>Namco ??</td><td>Famista '92, Famista '93, Wagyan Land 2</td></tr>
|
||||
<tr><td>225</td><td>Multi-cart(bootleg)</td><td>58-in-1/110-in-1/52 Games</td></tr>
|
||||
<tr><td>226</td><td>Multi-cart(bootleg)</td><td>76-in-1</td></tr>
|
||||
<tr><td>227</td><td>Multi-cart(bootleg)</td><td>1200-in-1</td></tr>
|
||||
<tr><td>228</td><td>Action 52</td><td>Action 52, Cheetahmen 2</td></tr>
|
||||
<tr><td>229</td><td>Multi-cart(bootleg)</td><td>31-in-1</td></tr>
|
||||
<tr><td>230</td><td>Multi-cart(bootleg)</td><td>22 Games</td></tr>
|
||||
<tr><td>231</td><td>Multi-cart(bootleg)</td><td>20-in-1</td></tr>
|
||||
<tr><td>232</td><td>BIC-48</td><td>Quattro Arcade, Quattro Sports</td></tr>
|
||||
<tr><td>234</td><td>Multi-cart ??</td><td>Maxi-15</td></tr>
|
||||
<tr><td>235</td><td>Multi-cart(bootleg)</td><td>Golden Game 150 in 1</td></tr>
|
||||
<tr><td>240</td><td>??</td><td>Gen Ke Le Zhuan, Shen Huo Le Zhuan</td></tr>
|
||||
<tr><td>242</td><td>??</td><td>Wai Xing Zhan Shi</td></tr>
|
||||
<tr><td>244</td><td>??</td><td>Decathalon</td></tr>
|
||||
<tr><td>246</td><td>??</td><td>Fong Shen Ban</td></tr>
|
||||
<tr><td>248</td><td>??</td><td>Bao Qing Tian</td></tr>
|
||||
<tr><td>249</td><td>Waixing ??</td><td>??</td></tr>
|
||||
<tr><td>250</td><td>??</td><td>Time Diver Avenger</td></tr>
|
||||
<tr><td>255</td><td>Multi-cart(bootleg)</td><td>115 in 1</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h4><a id="features-expansion-unif">UNIF</a></h4>
|
||||
</p>
|
||||
<p>
|
||||
FCE Ultra supports the following UNIF boards. The prefixes HVC-, NES-, BTL-, and BMC- are omitted, since they are currently ignored in FCE Ultra's UNIF loader.
|
||||
</p>
|
||||
<p>
|
||||
<table border width="100%">
|
||||
<tr><th colspan="2">Group:</th></tr>
|
||||
<tr><th>Name:</th><th>Game Examples:</th></tr>
|
||||
<tr><th colspan="2">Bootleg:</th></tr>
|
||||
<tr><td>MARIO1-MALEE2</td><td>Super Mario Bros. Malee 2</td></tr>
|
||||
<tr><td>NovelDiamond9999999in1</td><td>Novel Diamond 999999 in 1</td></tr>
|
||||
<tr><td>Super24in1SC03</td><td>Super 24 in 1</td></tr>
|
||||
<tr><td>Supervision16in1</td><td>Supervision 16-in-1</td></tr>
|
||||
<tr><th colspan="2">Unlicensed:</th></tr>
|
||||
<tr><td>Sachen-8259A</td><td>Super Cartridge Version 1</td></tr>
|
||||
<tr><td>Sachen-8259B</td><td>Silver Eagle</td></tr>
|
||||
<tr><td>Sachen-74LS374N</td><td>Auto Upturn</td></tr>
|
||||
<tr><td>SA-016-1M</td><td>Master Chu and the Drunkard Hu</td></tr>
|
||||
<tr><td>SA-72007</td><td>Sidewinder</td></tr>
|
||||
<tr><td>SA-72008</td><td>Jovial Race</td></tr>
|
||||
<tr><td>SA-0036</td><td>Mahjong 16</td></tr>
|
||||
<tr><td>SA-0037</td><td>Mahjong Trap</td></tr>
|
||||
<tr><td>TC-U01-1.5M</td><td>Challenge of the Dragon</td></tr>
|
||||
<tr><td>8237</td><td>Pocahontas Part 2</td></tr>
|
||||
<tr><th colspan="2">MMC1:</th></tr>
|
||||
<tr><td>SAROM</td><td>Dragon Warrior</td></tr>
|
||||
<tr><td>SBROM</td><td>Dance Aerobics</td></tr>
|
||||
<tr><td>SCROM</td><td>Orb 3D</td></tr>
|
||||
<tr><td>SEROM</td><td>Boulderdash</td></tr>
|
||||
<tr><td>SGROM</td><td>Defender of the Crown</td></tr>
|
||||
<tr><td>SKROM</td><td>Dungeon Magic</td></tr>
|
||||
<tr><td>SLROM</td><td>Castlevania 2</td></tr>
|
||||
<tr><td>SL1ROM</td><td>Sky Shark</td></tr>
|
||||
<tr><td>SNROM</td><td>Shingen the Ruler</td></tr>
|
||||
<tr><td>SOROM</td><td>Nobunaga's Ambition</td></tr>
|
||||
<tr><th colspan="2">MMC3:</th></tr>
|
||||
<tr><td>TFROM</td><td>Legacy of the Wizard</td></tr>
|
||||
<tr><td>TGROM</td><td>Megaman 4</td></tr>
|
||||
<tr><td>TKROM</td><td>Kirby's Adventure</td></tr>
|
||||
<tr><td>TKSROM</td><td>Ys 3</td></tr>
|
||||
<tr><td>TLROM</td><td>Super Spike V'Ball</td></tr>
|
||||
<tr><td>TLSROM</td><td>Goal! 2</td></tr>
|
||||
<tr><td>TR1ROM</td><td>Gauntlet</td></tr>
|
||||
<tr><td>TQROM</td><td>Pinbot</td></tr>
|
||||
<tr><td>TSROM</td><td>Super Mario Bros. 3</td></tr>
|
||||
<tr><td>TVROM</td><td>Rad Racer 2</td></tr>
|
||||
<tr><th colspan="2">MMC5:</th></tr>
|
||||
<tr><td>EKROM</td><td>Gemfire</td></tr>
|
||||
<tr><td>ELROM</td><td>Castlevania 3</td></tr>
|
||||
<tr><td>ETROM</td><td>Nobunaga's Ambition 2</td></tr>
|
||||
<tr><td>EWROM</td><td>Romance of the Three Kingdoms 2</td></tr>
|
||||
<tr><th colspan="2">MMC6:</th></tr>
|
||||
<tr><td>HKROM</td><td>Star Tropics</td></tr>
|
||||
<tr><th colspan="2">Nintendo Discrete Logic:</th></tr>
|
||||
<tr><td>CNROM</td><td>Gotcha</td></tr>
|
||||
<tr><td>CPROM</td><td>Videomation</td></tr>
|
||||
<tr><td>GNROM</td><td>Super Mario Bros./Duck Hunt</td></tr>
|
||||
<tr><td>MHROM</td><td></td></tr>
|
||||
<tr><td>NROM-128</td><td>Mario Bros.</td></tr>
|
||||
<tr><td>NROM-256</td><td>Super Mario Bros.</td></tr>
|
||||
<tr><td>RROM-128</td><td></td></tr>
|
||||
<tr><td>UNROM</td><td>Megaman</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<h4><a id="features-expansion-fds">Famicom Disk System</a></h4>
|
||||
<p>
|
||||
You will need the FDS BIOS ROM image in the base FCE Ultra directory.
|
||||
It must be named "disksys.rom". FCE Ultra will not load FDS games
|
||||
without this file.
|
||||
</p>
|
||||
Two types of FDS disk images are supported: disk images with the
|
||||
FWNES-style header, and disk images with no header. The number
|
||||
of sides on headerless disk images is calculated by the total file
|
||||
size, so don't put extraneous data at the end of the file.
|
||||
<p>
|
||||
If a loaded disk image is written to during emulation, FCE Ultra will store the modified
|
||||
disk image in the save games directory, which is by default "sav" under the base
|
||||
directory.
|
||||
</p>
|
||||
<h4><a id="features-expansion-genie">Game Genie</a></h4>
|
||||
<p>
|
||||
The Game Genie ROM image is loaded from the file "gg.rom" in the
|
||||
base directory the first time Game Genie emulation is enabled and
|
||||
a ROM image is loaded since the time FCE Ultra has run.
|
||||
</p><p>
|
||||
The ROM image may either be the 24592 byte iNES-format image, or
|
||||
the 4352 byte raw ROM image.
|
||||
</p><p>
|
||||
Remember that enabling/disabling Game Genie emulation will not take
|
||||
effect until a new game is loaded(this statement shouldn't concern
|
||||
any of the "run once" command-line driven builds).
|
||||
</p>
|
||||
<h4><a id="features-expansion-vs">VS Unisystem</a></h4>
|
||||
<p>
|
||||
FCE Ultra currently only supports VS Unisystem ROM images in the
|
||||
iNES format. DIP switches and coin insertion are both emulated.
|
||||
The following games are supported, and have palettes provided(though not
|
||||
necessarily 100% accurate or complete):
|
||||
<ul>
|
||||
<li>Battle City</li>
|
||||
<li>Castlevania</li>
|
||||
<li>Clu Clu Land</li>
|
||||
<li>Dr. Mario</li>
|
||||
<li>Duck Hunt</li>
|
||||
<li>Excitebike</li>
|
||||
<li>Excitebike (Japanese)</li>
|
||||
<li>Freedom Force</li>
|
||||
<li>Goonies, The</li>
|
||||
<li>Gradius</li>
|
||||
<li>Gumshoe</li>
|
||||
<li>Hogan's Alley</li>
|
||||
<li>Ice Climber</li>
|
||||
<li>Ladies Golf</li>
|
||||
<li>Mach Rider</li>
|
||||
<li>Mach Rider (Japanese)</li>
|
||||
<li>Mighty Bomb Jack (Japanese)</li>
|
||||
<li>Ninja Jajamaru Kun (Japanese)</li>
|
||||
<li>Pinball</li>
|
||||
<li>Pinball (Japanese)</li>
|
||||
<li>Platoon</li>
|
||||
<li>RBI Baseball</li>
|
||||
<li>Slalom</li>
|
||||
<li>Soccer</li>
|
||||
<li>Star Luster</li>
|
||||
<li>Stroke and Match Golf</li>
|
||||
<li>Stroke and Match Golf - Ladies</li>
|
||||
<li>Stroke and Match Golf (Japanese)</li>
|
||||
<li>Super Mario Bros.</li>
|
||||
<li>Super Sky Kid</li>
|
||||
<li>Super Xevious</li>
|
||||
<li>Tetris</li>
|
||||
<li>TKO Boxing</li>
|
||||
<li>Top Gun</li>
|
||||
</ul>
|
||||
</p>
|
||||
<h3><a id="features-ips">Automatic IPS Patching</a></h3>
|
||||
<p>
|
||||
Place the IPS file in the same directory as the file to load,
|
||||
and name it filename.ips.
|
||||
</p>
|
||||
<pre>
|
||||
Examples: Boat.nes - Boat.nes.ips
|
||||
Boat.zip - Boat.zip.ips
|
||||
Boat.nes.gz - Boat.nes.gz.ips
|
||||
Boat - Boat.ips
|
||||
</pre>
|
||||
<p>
|
||||
Some operating systems and environments will hide file extensions.
|
||||
Keep this in mind if you are having trouble.
|
||||
</p>
|
||||
<p>
|
||||
Patching is supported for all supported formats(iNES, FDS, UNIF, and
|
||||
NSF), but it will probably only be useful for the iNES and FDS formats.
|
||||
UNIF files can't be patched well with the IPS format because they are chunk-based
|
||||
with no fixed offsets.
|
||||
</p>
|
||||
<hr />
|
||||
<h2><a id="using">Using FCE Ultra</a></h2>
|
||||
<p>
|
||||
|
||||
</p>
|
||||
<h3><a id="using-keys">Key Assignments</a></h3>
|
||||
<p>
|
||||
<table border>
|
||||
<tr><th>Key(s):</th><th>Action:</th></tr>
|
||||
<tr><td>F5</td><td>Save state.</td></tr>
|
||||
<tr><td>F7</td><td>Load state.</td></tr>
|
||||
<tr><td>0-9</td><td>Select save state slot.</td></tr>
|
||||
<tr><td>Shift + F5</td><td>Record movie.</td></tr>
|
||||
<tr><td>Shift + F7</td><td>Play movie.</td></tr>
|
||||
<tr><td>Shift + 0-9</td><td>Select movie slot.</td></tr>
|
||||
<tr><td>F9</td><td>Save screen snapshot.</td></tr>
|
||||
<tr><td>F4</td><td>Hide sprites(toggle).</td></tr>
|
||||
<tr><td>Shift + F4</td><td>Hide background data with overscan color(toggle).</td></tr>
|
||||
<tr><td>Alt + Enter</td><td>Toggle fullscreen mode.</td></tr>
|
||||
<tr><td>~</td><td>Temporarily disable speed throttling.</td></tr>
|
||||
<tr><td>F10</td><td>Reset.</td></tr>
|
||||
<tr><td>F11</td><td>Hard reset(toggle power switch).</td></tr>
|
||||
<tr><td>F12</td><td>Exit.</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<a id="using-keys-vs"><h4>VS Unisystem</h4></a>
|
||||
<p>
|
||||
<table border>
|
||||
<tr><th>Key:</th><th>Action:</th></tr>
|
||||
<tr><td>F8</td><td>Insert coin.</td></tr>
|
||||
<tr><td>F6</td><td>Show/Hide dip switches.</td></tr>
|
||||
<tr><td>1-8</td><td>Toggle dip switches(when dip switches are shown).</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<a id="using-keys-fds"><h4>Famicom Disk System</h4></a>
|
||||
<p>
|
||||
<table border>
|
||||
<tr><th>Key:</th><th>Action:</th></tr>
|
||||
<tr><td>F6</td><td>Select disk and disk side.</td></tr>
|
||||
<tr><td>F8</td><td>Eject or Insert disk.</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<a id="using-keys-barcode"><h4>Barcode Readers</h4></a>
|
||||
<p>
|
||||
<table border>
|
||||
<tr><th>Key:</th><th>Action:</th></tr>
|
||||
<tr><td>0-9</td><td>Barcode digits(after activating barcode input).</td></tr>
|
||||
<tr><td>F8</td><td>Activate barcode input/scan barcode.</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<a id="using-keys-gamepad"><h4>Game Pad</h4></a>
|
||||
<p>
|
||||
<table border>
|
||||
<tr><td colspan="2">
|
||||
These default Game Pad key assignments do not apply to the Win32-native port.
|
||||
See the table below this for the Win32-native port's default game pad mappings.
|
||||
</td></tr>
|
||||
<tr><th>Key:</th><th nowrap>Button on Emulated Gamepad:</th></tr>
|
||||
<tr><td>Keypad 2</td><td>B</td></tr>
|
||||
<tr><td>Keypad 3</td><td>A</td></tr>
|
||||
<tr><td>Enter/Return</td><td>Start</td></tr>
|
||||
<tr><td>Tab</td><td>Select</td></tr>
|
||||
<tr><td>Z</td><td>Down</td></tr>
|
||||
<tr><td>W</td><td>Up</td></tr>
|
||||
<tr><td>A</td><td>Left</td></tr>
|
||||
<tr><td>S</td><td>Right</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<table border>
|
||||
<tr><th colspan="2">Win32-native Port</th></tr>
|
||||
<tr><th>Key:</th><th nowrap>Button on Emulated Gamepad:</th></tr>
|
||||
<tr><td>Left Control</td><td>B</td></tr>
|
||||
<tr><td>Left Alt</td><td>A</td></tr>
|
||||
<tr><td>Enter/Return</td><td>Start</td></tr>
|
||||
<tr><td>Tab</td><td>Select</td></tr>
|
||||
<tr><td>Cursor Down</td><td>Down</td></tr>
|
||||
<tr><td>Cursor Up</td><td>Up</td></tr>
|
||||
<tr><td>Cursor Left</td><td>Left</td></tr>
|
||||
<tr><td>Cursor Right</td><td>Right</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<a id="using-keys-powerpad"><h4>Power Pad</h4></a>
|
||||
<p>
|
||||
<table border>
|
||||
<tr><th colspan="4">Side B</th></tr>
|
||||
<tr><td width="25%">O</td><td width="25%">P</td>
|
||||
<td width="25%">[</td><td width="25%">]</td></tr>
|
||||
<tr><td>K</td><td>L</td><td>;</td><td>'</td></tr>
|
||||
<tr><td>M</td><td>,</td><td>.</td><td>/</td></tr>
|
||||
</table>
|
||||
<br />
|
||||
<table border>
|
||||
<tr><th colspan="4">Side A</th></tr>
|
||||
<tr><td width="25%"></td><td width="25%">P</td>
|
||||
<td width="25%">[</td><td width="25%"></td></tr>
|
||||
<tr><td>K</td><td>L</td><td>;</td><td>'</td></tr>
|
||||
<tr><td></td><td>,</td><td>.</td><td></td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<a id="using-keys-fkb"><h4>Family Keyboard</h4></a>
|
||||
<p>
|
||||
All emulated keys are mapped to the closest open key on the PC
|
||||
keyboard, with a few exceptions. The emulated "@" key is
|
||||
mapped to the "`"(grave) key, and the emulated "kana" key
|
||||
is mapped to the "Insert" key(in the 3x2 key block above the
|
||||
cursor keys).
|
||||
</p>
|
||||
<p>
|
||||
To enable or disable Family Keyboard input, press the "Scroll Lock" key.
|
||||
When Family Keyboard input is enabled, FCE Ultra will also attempt
|
||||
to prevent any key presses from being passed to the GUI or system.
|
||||
</p>
|
||||
<a id="using-keys-hypershot"><h4>HyperShot Controller</h4></a>
|
||||
<p>
|
||||
<table border>
|
||||
<tr><td></td><th>Run</th><th>Jump</th></tr>
|
||||
<tr><th>Controller I</th><td>Q</td><td>W</td></tr>
|
||||
<tr><th>Controller II</th><td>E</td><td>R</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
|
||||
<a id="using-keys-mahjong"><h4>Mahjong Controller</h4></a>
|
||||
<p>
|
||||
<table border>
|
||||
<tr><th>Emulated Mahjong Controller:</th><td>A</td><td>B</td><td>C</td><td>D</td><td>E</td><td>F</td><td>G</td><td>H</td><td>I</td><td>J</td><td>K</td><td>L</td><td>M</td><td>N</td></tr>
|
||||
<tr><th>PC Keyboard:</th><td>Q</td><td>W</td><td>E</td><td>R</td><td>T</td><td>A</td><td>S</td><td>D</td><td>F</td><td>G</td><td>H</td><td>J</td><td>K</td><td>L</td></tr>
|
||||
</table>
|
||||
<br />
|
||||
<table border>
|
||||
<tr><th>Emulated Mahjong Controller:</th><td>SEL</td><td>ST</td><td>?</td><td>?</td><td>?</td><td>?</td><td>?</td></tr>
|
||||
<tr><th>PC Keyboard:</th><td>Z</td><td>X</td><td>C</td><td>V</td><td>B</td><td>N</td><td>M</td>
|
||||
</table>
|
||||
</p>
|
||||
<a id="using-keys-quiz"><h4>Quiz King Controller</h4></a>
|
||||
<p>
|
||||
<table border>
|
||||
<tr><th>Emulated Buzzer:</th><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td></tr>
|
||||
<tr><th>PC Keyboard:</th><td>Q</td><td>W</td><td>E</td><td>R</td><td>T</td><td>Y</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<a id="using-cli"><h3>Command-line</h3></a>
|
||||
<p>
|
||||
FCE Ultra supports arguments passed on the command line. Arguments
|
||||
are taken in the form of "-parameter value". Some arguments are valueless.
|
||||
Arguments that have both a parameter and a value will be saved in the
|
||||
configuration file, with the exception being the network-play arguments.
|
||||
<b>Please note that most of these arguments are currently not recognized on the Win32-native port.</b>
|
||||
</p>
|
||||
<p>
|
||||
<table border>
|
||||
<tr><th>Argument:</th><th>Value Type:</th><th>Default value:</th><th>Description:</th></tr>
|
||||
<tr><td>-cpalette x</td><td>string</td><td>0</td><td>Load a custom global palette from file "x". Specifying "0" will cause FCE Ultra to stop using the custom global palette.</td></tr>
|
||||
<tr><td>-ntsccol x</td><td>boolean</td><td>0</td><td>If value is true, enable automatic generation and use of an NTSC NES' colors.</td></tr>
|
||||
<tr><td>-pal x</td><td>boolean</td><td>0</td><td>If value is true, emulate a PAL NES. Otherwise emulate an NTSC NES.</td></tr>
|
||||
<tr><td>-sound x</td><td>boolean</td><td>1</td><td>If value is true, enable sound emulation and output.</td></tr>
|
||||
<tr><td>-soundrate x</td><td>integer</td><td>48000</td><td>Specifies the sound playback rate, in frames per second("Hz").</td></tr>
|
||||
<tr><td>-soundvol x</td><td>integer</td><td>100</td><td>Sound volume.</td></tr>
|
||||
<tr><td>-soundq x</td><td>boolean</td><td>0</td><td>If value is true, enable high-quality sound emulation.</td></tr>
|
||||
<tr><td>-soundbufsize x</td><td>integer</td><td>24(52 for Win32)</td><td>Specifies the desired size of the sound buffer, in milliseconds.</td></tr>
|
||||
<tr><td>-inputcfg x</td><td>string</td><td></td><td>Configure mapping of physical device inputs to a virtual device. Valid values are "gamepad1", "gamepad2", "gamepad3", "gamepad4", "powerpad1", "powerpad2".<p>During configuration, pressing the same button twice in a row will cause configuration to move to the next button on the virtual device. A maximum of 4 physical buttons may be assigned to one virtual button.</td></tr>
|
||||
<tr><td>-input1 x <br /><i>and</i><br />-input2 x</td><td>string</td><td>gamepad</td><td>Select input device for input port 1 or 2. Valid strings are "none", "gamepad", "zapper", "powerpada", and "powerpadb".</td></tr>
|
||||
<tr><td>-fcexp x</td><td>string</td><td>none</td><td>Select Famicom expansion port device. Valid strings are "none", "shadow", "arkanoid", "4player", and "fkb".</td></tr>
|
||||
<tr><td>-nofs x</td><td>boolean</td><td>0</td><td>If value is true, disable four-score emulation.</td></tr>
|
||||
<tr><td>-gg x</td><td>boolean</td><td>0</td><td>Enable Game Genie emulation.</td></tr>
|
||||
<tr><td nowrap>-snapname x</td><td>boolean</td><td>0</td><td>If value is true, use an alternate naming scheme(file base and numeric) for screen snapshots.</td></tr>
|
||||
<tr><td>-frameskip x</td><td>integer</td><td>0</td><td>Specifies the number of frames to skip(emulation and drawing) for each frame emulated and drawn. The frameskipping code will not work properly with light-gun games, and it may break other games as well, so use it with this knowledge in mind!</td></tr>
|
||||
<tr><td nowrap>-nothrottle x</td><td>boolean</td><td>0</td><td>If value is true, disable the speed throttling that is used when sound emulation is disabled.</td></tr>
|
||||
<tr><td>-clipsides x</td><td>boolean</td><td>0</td><td>If value is true, clip leftmost and rightmost 8 columns of pixels of the video output.</td></tr>
|
||||
<tr><td>-slstart x</td><td>integer</td><td>8</td>
|
||||
<td>First scanline to be rendered in NTSC emulation mode(when PAL emulation is disabled).</td></tr>
|
||||
<tr><td>-slend x</td><td>integer</td><td>231</td>
|
||||
<td>Last scanline to be rendered in NTSC emulation mode.</td></tr>
|
||||
<tr><td nowrap>-slstartp x</td><td>integer</td><td>0</td>
|
||||
<td>First scanline to be rendered in PAL emulation mode.</td></tr>
|
||||
<tr><td>-slendp x</td><td>integer</td><td>239</td>
|
||||
<td>Last scanline to be rendered in PAL emulation mode.</td></tr>
|
||||
<tr><th>Argument:</th><th>Value Type:</th><th>Default value:</th><th>Description:</th></tr>
|
||||
<tr><td>-opengl x</td><td>boolean</td><td>1</td><td>Enable OpenGL support(if the support has been compiled in).</td></tr>
|
||||
<tr><td>-openglip x</td><td>boolean</td><td>1</td><td>Use bilinear interpolation when using OpenGL.</td></tr>
|
||||
<tr><td>-special(-specialfs) x</td><td>integer</td><td>0(0)</td><td>Use special video scaling filters.
|
||||
<ul>
|
||||
<li>1 = hq2x</li>
|
||||
<li>2 = Scale2x</li>
|
||||
<li>3 = hq3x</li>
|
||||
<li>4 = Scale3x</li>
|
||||
</ul>
|
||||
</td></tr>
|
||||
<tr><td>-stretchx/-stretchy x</td><td>boolean</td><td>1/0</td><td>Stretch to fill surface on x or y axis(fullscreen, only with OpenGL).</td></tr>
|
||||
<tr><td>-doublebuf x</td><td>boolean</td><td>0</td><td>Request double buffering(note that double buffering or sync-to-vblank may be forcibly enabled by your video drivers).</td></tr>
|
||||
<tr><td>-xscale(-xscalefs)/<br/>-yscale(-yscalefs)</td><td>real</td><td>2.50(2)/2(2)</td><td>Specify the scaling factor for each axis. Factors will be truncated to integers when not using OpenGL.</td></tr>
|
||||
<tr><td>-xres x/-yres y</td><td>integer</td><td>640/480</td><td>Set the desired horizontal/vertical resolution when in fullscreen mode.</td></tr>
|
||||
<tr><td>-efx(fs) x</td><td>integer</td><td>0</td><td>Specify simple special effects, represented by logically ORing constants. 1=scanlines, 2=TV Blur</td></tr>
|
||||
<tr><td>-fs</td><td>boolean</td><td>0</td><td>Full screen mode.</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<hr />
|
||||
<h2><a id="hacks"><h2>Game-specific Emulation Hacks</a></h2>
|
||||
<p>
|
||||
<table border width="100%">
|
||||
<tr><th>Title:</th><th>Description:</th><th>Source code files affected:</th></tr>
|
||||
<tr><td>KickMaster</td>
|
||||
<td>KickMaster relies on the low-level behavior of the MMC3(PPU A12 low->high transition)
|
||||
to work properly in certain parts. If an IRQ begins at the "normal" time on the
|
||||
last visible scanline(239), the game will crash after beating the second boss and retrieving
|
||||
the item. The hack is simple, to clock the IRQ counter twice on scanline 238.
|
||||
</td>
|
||||
<td>mbshare/mmc3.c</td></tr>
|
||||
<tr><td nowrap>Shougi Meikan '92<br>Shougin Meikan '93</td>
|
||||
<td>The hack for these games is identical to the hack for KickMaster.</td>
|
||||
<td>mbshare/mmc3.c</td></tr>
|
||||
<tr><td>Star Wars (PAL/European Version)</td>
|
||||
<td>This game probably has the same(or similar) problem on FCE Ultra as KickMaster. The
|
||||
hack is to clock the IRQ counter twice on the "dummy" scanline(scanline before the first
|
||||
visible scanline).</td><td>mbshare/mmc3.c</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<hr />
|
||||
<h2><a id="credits">Credits</a></h2>
|
||||
<p>
|
||||
<table border width="100%">
|
||||
<tr><th>Name:</th><th>Contribution(s):</th></tr>
|
||||
<tr><td>\Firebug\</td><td>High-level mapper information.</td></tr>
|
||||
<tr><td>Andrea Mazzoleni</td><td>Scale2x/Scale3x scalers included in FCE Ultra.</td></tr>
|
||||
<tr><td>Bero</td><td>Original FCE source code.</td></tr>
|
||||
<tr><td>Brad Taylor</td><td>NES sound information.</td></tr>
|
||||
<tr><td>EFX</td><td>DC PasoFami NES packs, testing.</td></tr>
|
||||
<tr><td>Fredrik Olson</td><td>NES four-player adapter information.</td></tr>
|
||||
<tr><td>Gilles Vollant</td><td>PKZIP file loading functions.</td></tr>
|
||||
<tr><td>goroh</td><td>Various documents.</td></tr>
|
||||
<tr><td>Info-ZIP</td><td><a href="http://www.gzip.org/zlib/">ZLIB</a></td></tr>
|
||||
<tr><td>Jeremy Chadwick</td><td>General NES information.</td></tr>
|
||||
<tr><td>Justin Smith</td><td>Good stuff.</td></tr>
|
||||
<tr><td>kevtris</td><td>Low-level NES information and sound information.</td></tr>
|
||||
<tr><td>Ki</td><td>Various technical information.</td></tr>
|
||||
<tr><td>Mark Knibbs</td><td>Various NES information.</td></tr>
|
||||
<tr><td>Marat Fayzullin</td><td>General NES information.</td></tr>
|
||||
<tr><td>Matthew Conte</td><td>Sound information.</td></tr>
|
||||
<tr><td>Maxim Stepin</td><td>hq2x and hq3x scalers included in FCE Ultra.</td></tr>
|
||||
<tr><td>MindRape</td><td>DC PasoFami NES packs.</td></tr>
|
||||
<tr><Td>Mitsutaka</td><td>YM2413 emulator.</td></tr>
|
||||
<tr><td>nori</td><td>FDS sound information.</td></tr>
|
||||
<tr><td>Quietust</td><td>VRC7 sound translation code by The Quietust (quietust at ircN dort org).</td></tr>
|
||||
<tr><td>rahga</td><td>Famicom four-player adapter information.</td></tr>
|
||||
<tr><td>Sean Whalen</td><td>Node 99</td></tr>
|
||||
<tr><td>TheRedEye</td><td>ROM images, testing.</td></tr>
|
||||
<tr><td>TyphoonZ</td><td>Archaic Ruins.</td></tr>
|
||||
<tr><th colspan="2" align="right">...and everyone whose name my mind has misplaced.</th></tr>
|
||||
</table>
|
||||
</p>
|
||||
|
||||
<?php include("footer.php"); ?>
|
|
@ -0,0 +1,48 @@
|
|||
<?php
|
||||
$title = "Download";
|
||||
include("header.php");
|
||||
?>
|
||||
|
||||
<table class="mainbox" cellpadding="5" cellspacing="0" border="1">
|
||||
<tr><th class="boxhead" colspan="3">Download</th></tr>
|
||||
<tr><td colspan="3">
|
||||
<p>
|
||||
We want to point out that the original author of FCE Ultra, Xodnizel,
|
||||
is no longer working on it. Version 0.98.12 and 0.98.13 are the last
|
||||
releases made by Xodnizel, and any releases after that are created by
|
||||
different developers.
|
||||
</p>
|
||||
<p>Other notes:</p>
|
||||
<ul>
|
||||
<li>Currently, only the Unix (Linux, FreeBSD, etc), Mac OS X, and Win32 ports will compile and run, mainly using SDL.</li>
|
||||
<li>Network play is functional as of 0.98.10. The netplay server can be found <a href="support.php#netplay">here</a>.</li>
|
||||
<li>An alternate native Win32 + DirectX GUI'd target is available starting with version 0.98.6.</li>
|
||||
<li>Uses autotools (autoconf, automake).</li>
|
||||
<li>Dependencies: DirectX (Win32), SDL, OpenGL (optional, recommended), zlib</li>
|
||||
</ul>
|
||||
</td></tr>
|
||||
<tr><th class="boxhead">Version</th><th class="boxhead">Date</th><th class="boxhead">Description</th></tr>
|
||||
<tr>
|
||||
<td><a href="http://prdownloads.sourceforge.net/fceultra/fceu-0.98.12.src.tar.bz2?download">0.98.12 source</a></td>
|
||||
<td>28 August 2004</td>
|
||||
<td>This is the last official stable release by the author.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://prdownloads.sourceforge.net/fceultra/fceu-0.98.13-pre.src.tar.bz2?download">0.98.13-pre source</a></td>
|
||||
<td>29 October 2004</td>
|
||||
<td>This is the most recent source code we have from the original author.
|
||||
It works, but was not tested for regressions and was therefore not an official release.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://prdownloads.sourceforge.net/fceultra/fceu-0.98.15-src.7z?download">0.98.15 source</a></td>
|
||||
<td>Unknown</td>
|
||||
<td>This is an unofficial version of FCE Ultra that has been patched to provide demo recording and playback. Usage of this version is not recommended.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="http://prdownloads.sourceforge.net/fceultra/fceu-0.98.15-rerecording.zip?download">0.98.15 Windows binary</a></td>
|
||||
<td>Unknown</td>
|
||||
<td>This is an unofficial version of FCE Ultra that has been patched to provide demo recording and playback. Usage of this version is not recommended.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<?php include("footer.php"); ?>
|
|
@ -0,0 +1,111 @@
|
|||
<?php
|
||||
$title = "FAQ";
|
||||
include("header.php");
|
||||
?>
|
||||
|
||||
<center><h1>FCE Ultra FAQ</h1></center>
|
||||
<center><i>Last updated August 11, 2004<br />Valid as of FCE Ultra 0.98.11</i></center>
|
||||
<p>
|
||||
<b>Table of Contents:</b>
|
||||
<ul>
|
||||
<li><a href="#general">General</a>
|
||||
<ul>
|
||||
<li><a href="#general-slow">Why is FCE Ultra so slow?</a>
|
||||
</ul>
|
||||
<li><a href="#emu">Emulation</a>
|
||||
<ul>
|
||||
<li><a href="#emu-soundpop">Why do some games make a popping sound(Rad Racer 2, Final Fantasy 3)?</a>
|
||||
<li><a href="#emu-badnsf">Why don't some NSF rips work correctly on FCE Ultra</a>
|
||||
<li><a href="#emu-gamenowork">Why don't some games work correctly on FCE Ultra?</a>
|
||||
<li><a href="#emu-smb">Why does Super Mario Bros. start off on level 0?</a>
|
||||
<li><a href="#emu-hack">Why does my hack/translation not work correctly?</a>
|
||||
</ul>
|
||||
</ul>
|
||||
<hr width="100%">
|
||||
<a name="general"><h2>General</h2></a>
|
||||
<a name="general-slow"><b>Why is FCE Ultra so slow?</b></a>
|
||||
<blockquote>
|
||||
FCE Ultra is much slower than emulators like LoopyNES
|
||||
and NESA. These emulators are written in assembly, which gives them a definite advantage
|
||||
over FCE Ultra, which is written in C. FCE Ultra is also more accurate that these emulators,
|
||||
and some accuracy can only be achieved by taking more CPU time.
|
||||
<p />FCE Ultra <u>could</u> be faster than what it is now. However, this is not a high priority.
|
||||
FCE Ultra should run full speed, with sound disabled, on a Pentium 2 300MHz machine, or
|
||||
an "equivalent" processor. I have run *older* versions on Pentium MMX 200MHz machines.
|
||||
Recent versions of gcc produce executables that seem to perform poorly on AMD Athlon processors, so it may be beneficial
|
||||
to download the source code and compile a version of FCE Ultra with CPU-specific
|
||||
optimization flags.
|
||||
<p />FCE Ultra will perform fastest on older systems(or systems with limited video acceleration) when using an 8BPP video mode. 16BPP video modes come next in terms of speed, followed by 32BPP, and lastly 24BPP. Avoid 24BPP video modes if at all possible.
|
||||
<p />In MS Windows, while FCE Ultra is in windowed mode, it will perform best with a "desktop" bit-depth setting of 16BPP, as expected.
|
||||
</blockquote>
|
||||
<a name="emu"><h2>Emulation</h2></a>
|
||||
<a name="emu-soundpop"><b>Why do some games make a popping sound(Rad Racer 2, Final Fantasy 3)?</b></a>
|
||||
<blockquote>
|
||||
These games do a very crude drum imitation by causing a large jump in
|
||||
the output level for a short period of time via the register at $4011.
|
||||
The analog filters on a real Famicom make it sound decent(better).
|
||||
<p />
|
||||
I have not completely emulated these filters.
|
||||
</blockquote>
|
||||
|
||||
<a name="emu-badnsf"><b>Why don't some NSF rips work correctly on FCE Ultra?</b></a>
|
||||
<blockquote>Some NSF rips are bad. Some read from addresses that are not specified
|
||||
in the NSF specifications, expecting certain values to be returned.
|
||||
Others execute undocumented instructions that have no effect on
|
||||
less-accurate software NSF players, but will cause problems on NSF players
|
||||
that emulate these instructions. Also, the playback rate specified
|
||||
in the NSF header is currently ignored, as it is inherently inaccurate.
|
||||
<p />
|
||||
Some NSF rips neglect to write to $4017, which can cause notes to terminate too quickly
|
||||
and other similar effects. Many Konami NSF rips are affected by this.
|
||||
</blockquote>
|
||||
|
||||
<a name="emu-gamenowork"><b>Why don't some games work correctly on FCE Ultra?</b></a>
|
||||
<blockquote>Many factors can make a game not work on FCE Ultra:
|
||||
<ul>
|
||||
<li> If the ROM image is in the iNES format(typically files that have
|
||||
the extension "nes"), its header may be incorrect. This
|
||||
incorrectness may also be because of garbage in the
|
||||
header. Certain utilities used to put text in the reserved
|
||||
bytes of the iNES header, then those reserved bytes were
|
||||
later assigned functions. FCE Ultra recognizes and
|
||||
automatically removes(from the ROM image in RAM, not on the
|
||||
storage medium) SOME header junk.
|
||||
|
||||
If the game has graphical errors while scrolling, chances are
|
||||
the mirroring is set incorrectly in the header.
|
||||
|
||||
You can try to edit the header with a utility(such as <a href="http://ucon64.sourceforge.net/">uCON64</a>) or a hex editor.
|
||||
|
||||
<li> The on-cart hardware the game uses may not be emulated
|
||||
correctly.
|
||||
|
||||
<li> Limitations of the ROM image format may prevent a game from
|
||||
being emulated correctly without special code to recognize that
|
||||
game. This occurs quite often with many Koei MMC5(iNES mapper 5)
|
||||
and MMC1(iNES mapper 1) games in the iNES format. FCE Ultra identifies
|
||||
and emulates some of these games based on the ROM CRC32 value.
|
||||
|
||||
<li> The ROM image may be encrypted. The author of SMYNES seems to
|
||||
have done this intentionally to block other emulators from
|
||||
playing "SMYNES only" games.
|
||||
</ul>
|
||||
</blockquote>
|
||||
<a name="emu-smb"><b>Why does Super Mario Bros. start off on level 0?</b></a>
|
||||
<blockquote>
|
||||
This happens if you're using a hacked copy of the Super Mario Bros. ROM image. The
|
||||
hacked version is reading from uninitialized RAM, apparently to get the starting level number.
|
||||
This bad copy of SMB was likely extracted from a bootleg multicart, which would have had
|
||||
a menu run before the game started, initializing RAM and setting the starting level.
|
||||
</blockquote>
|
||||
<a name="emu-hack"><b>Why does my hack/translation not work correctly?</b></a>
|
||||
<blockquote>
|
||||
If a hack or translation that you made does not work on FCE Ultra, when the
|
||||
original game does, FCE Ultra may be applying header correction based
|
||||
on CRC32 value. These changes are only made to the copy of the game loaded in RAM.
|
||||
<p />To see what changes
|
||||
have been made, go to "Help->Message Log" on GUI ports. On command-line
|
||||
ports, the information is printed to stdout when the game is loaded. You
|
||||
can then update your hack/translation with the corrected header information.
|
||||
|
||||
<?php include("footer.php"); ?>
|
|
@ -0,0 +1,221 @@
|
|||
<?php
|
||||
include("header.php");
|
||||
?>
|
||||
|
||||
<div class="mainbox">
|
||||
<h2 class="boxhead">Introduction </h2>
|
||||
<div class="boxbody">
|
||||
<p>
|
||||
FCE Ultra is a NES (Nintendo Entertainment System) and Famicom (Family Computer)
|
||||
emulator for a variety of different platforms, based on Bero's <a href="http://www.geocities.co.jp/Playtown/2004/fce.htm">FCE</a>. Game compatibility is very
|
||||
high, provided you provide non-corrupt ROM/disk images.
|
||||
</p>
|
||||
<p>
|
||||
It has been tested (and runs)
|
||||
under DOS, Linux SVGAlib, Linux X, Mac OS X, and MS Windows. A native GUI is provided for the MS Windows port, and the other ports use a command-line based interface. However, GNOME users can optionally use <a href="http://gfceu.thepiratecove.org">the GNOME front-end</a>. The SDL port
|
||||
should run on any modern UNIX-like operating system(such as FreeBSD) with
|
||||
no code changes.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mainbox">
|
||||
<h2 class="boxhead">News</h2> <!-- News section -->
|
||||
<div class="boxbody">
|
||||
|
||||
<h3 class="boxsubhead">19 July 2006</h3>
|
||||
<p>
|
||||
We've created a mailing list for all kinds of discussion about
|
||||
FCE Ultra. You can subscribe at the
|
||||
<a href="https://lists.sourceforge.net/lists/listinfo/fceultra-discuss">fceultra-discuss</a>
|
||||
mailing list page. Also, we're hoping to bring any FCE Ultra forks
|
||||
into one combined effort. If you work on a fork of fceu and you're
|
||||
interested in creating an NES emulator to end all NES emulators,
|
||||
you might want to join the fceultra-discuss mailing list and
|
||||
introduce yourself :-)
|
||||
</p>
|
||||
|
||||
<h3 class="boxsubhead">15 June 2006</h3>
|
||||
<p>
|
||||
I, <a href="mailto:punkrockguy318 _at _ comcast _dot_ net">Lukas Sabota</a> have
|
||||
been asked to join the FCE Ultra team. I hope to improve this project by maintaining a graphical
|
||||
interface for FCE Ultra. You can check out my existing work <a href="http://thepiratecove.org/gfceu/">here</a>.
|
||||
</p>
|
||||
|
||||
|
||||
<h3 class="boxsubhead">23 March 2006</h3>
|
||||
<p>
|
||||
We've added <a href="mailto:r0ni a.t users d.o.t sourceforge">Jay Lanagan</a>
|
||||
as a developer to the project. It seems that there
|
||||
still is some interest in maintaining FCEUltra after all!
|
||||
</p>
|
||||
|
||||
|
||||
<h3 class="boxsubhead">19 March 2006</h3>
|
||||
<p>
|
||||
Alright, we've uploaded some files--please see
|
||||
<a href="download.php">the download page</a>. Who are "we,"
|
||||
you ask?
|
||||
<a href="mailto:agiorgio a.t users d.o.t sourceforge">Anthony
|
||||
Giorgio</a> and
|
||||
<a href="mailto:thekingant a.t users d.o.t sourceforge">Mark
|
||||
Doliner</a>. We're two guys who like FCE Ultra and didn't want
|
||||
to see the project disappear.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
What happens now? Well I'm not sure either of us has very much
|
||||
free time to spend working on things, so if you're interested in
|
||||
working on the source, by all means drop us a line. We have checked
|
||||
the 0.98.13-pre source code into SourceForge's Subversion server
|
||||
at https://svn.sourceforge.net/svnroot/fceultra/fceultra. Feel
|
||||
free to grab a copy and start hacking.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If you're not much of a coder you could always work on documentation,
|
||||
or improve the web page (which is checked into Subversion at
|
||||
https://svn.sourceforge.net/svnroot/fceultra/web).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
I can't speak for Anthony, but here are some things I would work
|
||||
on if I had the time:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>Configuration file written as plain-text instead of binary</li>
|
||||
<li>Better joystick configuration (currently with my Logitech
|
||||
controller I think I'm forced to use the joystick rather than the
|
||||
joypad)</li>
|
||||
<li>Play sound in Linux using ALSA instead of OSS (this isn't already
|
||||
possible when compiled with SDL, is it?)</li>
|
||||
<li>Slighty better command line interface (a -h/--help switch)</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<h3 class="boxsubhead">18 March 2006</h3>
|
||||
<p>
|
||||
The FCE Ultra project has been taken over! Our current goal is only
|
||||
to preserve the state of the project as it was left by the author,
|
||||
Xodnizel. But we'd love to get development going again, too. We'll
|
||||
post more information soon.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<h3 class="boxsubhead">29 October 2004</h3>
|
||||
<p>
|
||||
No new *official* releases of FCE Ultra will be made. I mean it this time. :b
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The forum has been closed, as I will not be available to moderate it any longer, but the old posts will be viewable indefinitely.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Crazy people may download http://fceultra.sourceforge.net/fceu-0.98.13-pre.src.tar.bz2 which was intended to be 0.98.13. It should be stable, and fixed several major bugs present in 0.98.12, but I have neither the time nor desire to do thorough tests for regressions, and thus it will not be an official release.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<h3 class="boxsubhead">12 September 2004</h3>
|
||||
<p>
|
||||
All future binary release(s) of FCE Ultra will be compiled without the emulation
|
||||
debugger. The emulator can still be built with the debugger from source, however.
|
||||
</p>
|
||||
<p>
|
||||
This is being done to greatly speed up compilation times, decrease executable
|
||||
size, and speed up emulation slightly. Also, the presence of a debugger
|
||||
in the official build(at least for MS Windows) will probably become meaningless
|
||||
once a certain third-party branch of FCE Ultra is released.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<h3 class="boxsubhead">XX Something 2004</h3>
|
||||
<p>
|
||||
FCE Ultra 0.98.12 is out. The MS Windows binary release should run using
|
||||
fewer CPU cycles("faster") than previous 0.98.x MS Windows binary releases.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<h3 class="boxsubhead">17 May 2004</h3>
|
||||
<p>FCE Ultra 0.98.10 is out.</p>
|
||||
<pre>
|
||||
0.98.10:
|
||||
|
||||
Reimplemented network play. It now requires a standalone network play server, which
|
||||
will be released as a later time. For fun, "starmen.net" is running this server,
|
||||
which is publicly accessible.
|
||||
I also made various code fixes/improvements to allow for network play, particularly
|
||||
with the command handling code.
|
||||
|
||||
Reworked much of the VS Unisystem emulation code, partially based on information from
|
||||
MAME. The following games are now supported(in iNES format):
|
||||
|
||||
Battle City
|
||||
Castlevania
|
||||
Clu Clu Land
|
||||
Dr. Mario
|
||||
Duck Hunt
|
||||
Excitebike
|
||||
Excitebike (Japanese)
|
||||
Freedom Force
|
||||
Goonies, The
|
||||
Gradius
|
||||
Gumshoe
|
||||
Hogan's Alley
|
||||
Ice Climber
|
||||
Ladies Golf
|
||||
Mach Rider
|
||||
Mach Rider (Japanese)
|
||||
Mighty Bomb Jack (Japanese)
|
||||
Ninja Jajamaru Kun (Japanese)
|
||||
Pinball
|
||||
Pinball (Japanese)
|
||||
Platoon
|
||||
RBI Baseball
|
||||
Slalom
|
||||
Soccer
|
||||
Star Luster
|
||||
Stroke and Match Golf
|
||||
Stroke and Match Golf - Ladies
|
||||
Stroke and Match Golf (Japanese)
|
||||
Super Mario Bros.
|
||||
Super Sky Kid
|
||||
Super Xevious
|
||||
Tetris
|
||||
TKO Boxing
|
||||
Top Gun
|
||||
|
||||
Win32-native: Fixed a bug in the debugger's breakpoint list that appeared when
|
||||
one tried to delete a breakpoint(the control accidentally had auto-sort enabled,
|
||||
causing a discrepancy between what was displayed and what was contained in internal
|
||||
data structures).
|
||||
|
||||
The current disk image XOR original disk image is now stored in save states. This
|
||||
should greatly increase compressability(important for network play), and make
|
||||
it a little more legal to distribute such save states now.
|
||||
|
||||
Modified the save state format to allow for more precise and larger version numbers.
|
||||
|
||||
Various minor code changes.
|
||||
|
||||
Fixed initialization of the FCEUGameInfo structure, which previously led
|
||||
to problems with sound output on the SexyAL-using ports(Linux).
|
||||
|
||||
Apparently I added support for mapper 255 a while back. Documentation updated.
|
||||
|
||||
Added iNES header correction information for Armored Scrum Object and Alpha Mission.
|
||||
|
||||
Merged banksw.h into ines.c, fixed some of its prototypes in ines.h.
|
||||
</pre>
|
||||
|
||||
</div> <!-- End News div -->
|
||||
|
||||
</div>
|
||||
|
||||
<?php include("footer.php"); ?>
|
|
@ -0,0 +1,23 @@
|
|||
<?php
|
||||
$title = "Links";
|
||||
include("header.php");
|
||||
?>
|
||||
|
||||
<div class="mainbox">
|
||||
<h2 class="boxhead">Links</h2>
|
||||
<div class="boxbody">
|
||||
<p>Other NES Emulators:</p>
|
||||
|
||||
<ul>
|
||||
<li><a href="http://fakenes.sourceforge.net/">FakeNES</a> - FakeNES is a quite portable NES emulator with an internal GUI.</li>
|
||||
<li><a href="http://nestopia.sourceforge.net/">Nestopia</a> - Nestopia has fairly accurate emulation, and is written for MS Windows.</li>
|
||||
<li><a href="http://nestra.linuxgames.com/">NEStra</a></li>
|
||||
<li><a href="http://nosefart.sourceforge.net/">Nosefart</a> - NES Music Player</li>
|
||||
<li><a href="http://tuxnes.sourceforge.net/">TuxNES</a> - A pretty good NES emulator for Unix.</li>
|
||||
<li><a href="http://www.scottweber.com/projects/gtuxnes/">GTuxNES</a> - A graphical launcher for TuxNES.</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php include("footer.php"); ?>
|
|
@ -0,0 +1,743 @@
|
|||
----------------------------------------
|
||||
2000-11-12
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra .40 for Windows and Linux SVGAlib is out. The source code has also been released. I had wanted to clean up the code much more, but I also wanted to get the code released. The next source code release should be much cleaner. Anyway, here's what's new:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>Rewrote MMC1 emulation code.</li>
|
||||
<li>Added support for mappers 95, 113, and 118 (thanks to M. Knibbs for the information).</li>
|
||||
<li>Adjusted PPU/CPU timing.</li>
|
||||
<li>Added partial support for the Famicom Disk System</li>
|
||||
<li>Added support for 4(up from 2) joysticks.</li>
|
||||
<li>Added support for sound frame IRQ's.</li>
|
||||
<li>Rewrote sound envelope decay/length counter/sweep code to use sound frame emulation code.</li>
|
||||
<li>Rewrote large portions of code to be more efficient and more correct.</li>
|
||||
<li>Added support for mappers 42,43,44,45,46,47, and 182. (thanks to K. Horton for the information)</li>
|
||||
<li>Improved support for mapper 15.</li>
|
||||
|
||||
<p>
|
||||
I've also rewritten large parts of the Windows DirectX code to be more stable, and added several more video modes(for the Windows version).
|
||||
</p>
|
||||
----------------------------------------
|
||||
2000-11-13
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra .40 for DOS is out. This is the last build for DOS.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2000-12-17
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra .41 for Windows is out. It's quite different from previous versions for Windows. Source code and other ports will be released in a few weeks when I have the time to rewrite the driver code for other platforms.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2000-12-17
|
||||
xodnizel
|
||||
<p>
|
||||
There was a problem with the Windows binary that will cause the corruption of the FDS BIOS if you use an FDS disk image. It resulted from a very stupid programming error on a large scale. I've fixed the bug, and uploaded a new package. Get it on the downloads page as "FCE Ultra .41r2". Thanks to "Nick" for posting on the message board about this bug.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2000-12-27
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra .42 for Windows DX and Linux SVGAlib is out. I've updated the source code to .42 as well. I've also added a small "Features" page to the site, and added a link to NesCE on the links page.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2000-12-29
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra .42r2 for Windows DX is out, get it here or on the downloads page. This is only a "driver update version". I fixed some problems with my DirectSound code that would cause FCE Ultra to lock up/not work right on certain machines if sound is enabled. This bug affected all Windows 2000 machines, and some Windows 98/ME machines, and possibly a few Windows 95 machines. If you continue to have problems, please email me.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2001-01-21
|
||||
xodnizel
|
||||
<p>
|
||||
*UPDATED* The .50 release had a small bug in the MMC5 code. It would cause the emulator to crash under Linux, and just mess up MMC5 games under Windows. The fixed version is called .50r2 and is on downloads page.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
FCE Ultra .50 for Windows DX and Linux SVGAlib is out. Many changes have been made, but first: If you link to this site, make sure the link is correct. The correct URL for this site is "http://fceultra.sourceforge.net", not "http://fceultra.sourceforge.net/fce/", not "http://fceultra.sourceforge.net/fceu/", not "http://www.kc.net/~zaik/", etc. Some sites(Zophar's Domain) should also update their descriptions of FCE Ultra and many of the other NES/Famicom emulators listed on their sites. Multiple-year-old descriptions aren't very useful. None of the preceding is meant to be offensive or insultive.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Anyway, here's what's new:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>Many bug fixes.</li>
|
||||
<li>Sound code partially rewritten to improve quality (near-perfect raw PCM now) and eliminate the need for a separate thread. This created a small problem with network play, though, so read the network play notes section. Also, synchronizing to vertical blank has been removed.</li>
|
||||
<li>Rewrote other pieces of sound code. No more "buzzing" in MegaMan 2, Codemasters games' intros, etc.</li>
|
||||
<li>Added support for the NES Zapper and the VS Unisystem's light gun. Be sure to read "Light Gun Notes".</li>
|
||||
<li>Changed save state format. Save states should now be much smaller for most games. Most (not all) save states created with an older version should work.</li>
|
||||
<li>Added support for VS Duck Hunt and VS Hogan's Alley.</li>
|
||||
</ul>
|
||||
----------------------------------------
|
||||
2001-02-04
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra .51 for Windows DX and Linux SVGAlib is out. The following changes apply to both ports:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>Added support for iNES mappers 86 and 89.</li>
|
||||
<li>Reduced byte size of the NSF player's background.</li>
|
||||
<li>Adjusted CPU/PPU timing.</li>
|
||||
<li>Fixed sound channel frequency calculations for when PAL emulation is enabled.</li>
|
||||
<li>Rewrote large pieces of the sound code and got rid of the sound queue. Sound quality should be slightly better now.</li>
|
||||
<li>Various minor bug fixes.</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
The following changes apply only to the Windows DX port:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>Fixed an FDS side reset bug when a new game is loaded.</li>
|
||||
<li>Screen width/depth/height changes while FCE Ultra is in windowed mode are handled now.</li>
|
||||
<li>Changed the configuration file format.</li>
|
||||
<li>Added a palette configuration dialog.</li>
|
||||
<li>Added the ability to load a custom NES palette.</li>
|
||||
<li>Added an option to double 16-bit sound volume.</li>
|
||||
<li>Added an option to force 8-bit sound.</li>
|
||||
<li>Added an option to use a secondary sound buffer(versus the primary).</li>
|
||||
<li>Added an option to wait for vertical blank if sound is disabled.</li>
|
||||
<li>Added an option to run while focus is lost.</li>
|
||||
</ul>
|
||||
----------------------------------------
|
||||
2001-02-05
|
||||
xodnizel
|
||||
<p>
|
||||
I updated the Windows DX version of FCE Ultra .51r2 earlier today. It fixed a bug that would cause some(very few) games to not work(requiring you to restart the emulator or load another game which might fix it) when a new game is loaded, or you reset/power cycle the virtual NES. Since loading new games with the Linux SVGAlib version isn't possible, this bug only affects resetting/power cycling, which is not as much of a problem. I'll update the Linux build and the source code tomorrow if I have time. I am starting to neglect the Linux port a little...but the next version for Linux should have most of the new options that were put in the Windows version.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2001-02-15
|
||||
xodnizel
|
||||
<p>
|
||||
Anyone who is working on or has done a port of FCE Ultra, *please* email me at xodnizel@home.com( cc to xodnizel@starmen.net if you can, @home's servers are a bit unreliable). Include what platform your port is for, whether or not you want it distributed in the main source distribution, and whether or not you're still (planning on) updating the port. I'd also like the URLs of any web page(s) you have set up for your port. I need this information to keep track of different ports and coordinate people who are working on different ports for the same platform. The preceding applies to anyone who has contacted me about/submitted ported code to me before.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2001-02-19
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra .52 for Linux SVGAlib and Windows DX is out. Here's what's new:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>Fixed a PCM emulation bug(digitized voices in "Ikari Warriors 2" and "The Immortal", among others, work now).</li>
|
||||
<li>Fixed noise channel's LFSR update frequencies(hopefully).</li>
|
||||
<li>Various minor bug fixes.</li>
|
||||
</ul>
|
||||
----------------------------------------
|
||||
2001-04-14
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra .53 for Windows DX is out. The Linux SVGAlib port should be released within the next two days. The features page and the source code will also be updated at that time. Here's what's new:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>Fixed a bug with joysticks that occured on systems with multiple joysticks.</li>
|
||||
<li>Added support for iNES mappers 77 and 92(thanks to LULU for the code for both).</li>
|
||||
<li>Added partial(timer is non-configurable) support for iNES mapper 105.</li>
|
||||
<li>Changed save state format again. Save states made with previous versions should still be compatible, though this may change in future versions.</li>
|
||||
<li>Small optimization to sprite emulation code.</li>
|
||||
<li>Rewrote color-deemphasis code to use integer math instead of floating-point math.</li>
|
||||
<li>Rewrote and restructured input code. Among other new features, keyboard keys are now somewhat configurable.</li>
|
||||
<li>Writes to $4003/$4007 will now reset the emulated square wave duty cycle generator.</li>
|
||||
<li>Added emulation of the Power Pad.</li>
|
||||
</ul>
|
||||
----------------------------------------
|
||||
2001-04-16
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra .53 for Linux SVGAlib is out. I've also updated the source code on the "Development" page. Here's what's new:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
* Added support for iNES mappers 77 and 92(thanks to LULU for the
|
||||
code for both).
|
||||
* Added partial(timer is non-configurable) support for iNES mapper 105.
|
||||
* Changed save state format again. Save states made with previous
|
||||
versions should still be compatible, though this may change in
|
||||
future versions.
|
||||
* Changed the format of the configuration file.
|
||||
* Small optimization to sprite emulation code.
|
||||
* Rewrote color-deemphasis code to use integer math instead of
|
||||
floating-point math.
|
||||
* Rewrote and restructured input code.
|
||||
* Writes to $4003/$4007 will now reset the emulated square wave
|
||||
duty cycle generator.
|
||||
* Added emulation of the Power Pad.
|
||||
* Added command line option "-f8bit" to force 8-bit sound.
|
||||
* Rewrote joystick device reading code to use the event-driven
|
||||
interface. This should fix various problems regarding support
|
||||
for joysticks with many buttons.
|
||||
</ul>
|
||||
----------------------------------------
|
||||
2001-05-05
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra .54 for Windows DX and Linux SVGAlib is out. The source code has been updated as well. Here's what's new for the Windows DX port(what follows is new for the Linux SVGAlib port as well, except for the last two items):
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
* Fixed a bug that would cause a wrong battery-backed WRAM file
|
||||
name to be produced if FCE Ultra was passed a file name without
|
||||
any directory component(such as "fceu SuperBlah.nes").
|
||||
* Fixed an iNES mapper 118 emulation bug that got into the code
|
||||
in a recent code cleanup. "Armadillo" is playable again.
|
||||
* Fixed a typo(and bug) in the MMC5 emulation code.
|
||||
* Data returned from emulated reads to "unmapped" areas or
|
||||
memory locations where bits are undefined should now be correct.
|
||||
* Fixed emulation of the sprite memory transfer register $4014.
|
||||
It now takes into account the last value written to $2003 and
|
||||
starts the transfer to that location in sprite memory(like on
|
||||
a real NES).
|
||||
* Added a video configuration dialog box.
|
||||
* Added the ability to configure a custom video mode. Aspects
|
||||
that are configurable include width, height, bits per pixel,
|
||||
and size transforming(stretching and scaling).
|
||||
</ul>
|
||||
----------------------------------------
|
||||
2001-05-06
|
||||
xodnizel
|
||||
<p>
|
||||
I've just released a minor update(.54r2) for the .54 version for Windows DX. It fixes a small bug(forgot brackets in a piece of code) that would cause no image to be displayed in windowed mode. If you don't have this problem, you don't need to download the fix.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2001-05-28
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra .55 for Windows and Linux is out. Here's what's new for the Windows port:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
* Rewrote window resizing code. The window will now resize itself
|
||||
to a multiple of the NES' screen dimensions nearest to the user
|
||||
selected dimensions.
|
||||
* Added an option to use buttons instead of axes on physical joysticks
|
||||
for the emulated D-Pad. This is useful for some digital joysticks.
|
||||
* Fixed a bug that would cause FCE Ultra to crash if sound were
|
||||
disabled during emulation.
|
||||
* Added the ability to "fast forward" emulation(use the tilde/grave key).
|
||||
* Added an option to allow more than 8 sprites per scanline to be
|
||||
displayed.
|
||||
* Added an option to save all extra non-volatile game data
|
||||
(such as battery-backed RAM) in a directory under FCE Ultra's
|
||||
base directory(as opposed to the directory the game is located in).
|
||||
* Added an option to allow the emulator to change to a full screen
|
||||
video mode once a new game is loaded.
|
||||
* Rewrote pieces of DirectInput joystick handling code. Hopefully
|
||||
it should increase compatibility.
|
||||
* Added the ability to automatically obtain button numbers when
|
||||
configuring joysticks, by pressing buttons on the joystick.
|
||||
* Added the ability to close the current game(decreases CPU usage).
|
||||
* Increased the speed of various function calls by passing
|
||||
arguments to functions through registers instead of through the
|
||||
stack.
|
||||
* Added emulation of the MMC5's raw PCM register.
|
||||
* Added the ability to save/load save states while network play
|
||||
is occuring.
|
||||
* Having PAL emulation enabled will no longer override the
|
||||
NTSC/PAL settings in NSF headers.
|
||||
* Fixed a bug that got into the .54 release. Extraneous data was
|
||||
being returned on reads from $2002, which caused problems
|
||||
with some games(such as "Choujin Sentai Jetman").
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Here's what's new for the Linux port:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
* Added the ability to "fast forward" emulation(use the tilde/grave key).
|
||||
* Added command line options "-no8lim" and "-subase".
|
||||
* Increased the speed of various function calls by passing
|
||||
arguments to functions through registers instead of through the
|
||||
stack.
|
||||
* Added emulation of the MMC5's raw PCM register.
|
||||
* Added the ability to save/load save states while network play
|
||||
is occuring.
|
||||
* Having PAL emulation enabled will no longer override the
|
||||
NTSC/PAL settings in NSF headers.
|
||||
* Fixed a bug that got into the .54 release. Extraneous data was
|
||||
being returned on reads from $2002, which caused problems
|
||||
with some games(such as "Choujin Sentai Jetman").
|
||||
</ul>
|
||||
----------------------------------------
|
||||
2001-07-04
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra .60 for Windows and Linux is out. Here's what's new for both ports:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
* Various speed optimizations.
|
||||
* Sound is no longer messed up when a JAM/KIL opcode is emulated.
|
||||
* Fixed an overflow bug that occured when $4014 was written to
|
||||
during certain(rare) conditions.
|
||||
* Fixed a few save state bugs.
|
||||
* Fixed a MMC1 CHR bank switching bug.
|
||||
* Added emulation of the MMC5's WRAM write-enable/disable registers.
|
||||
* Fixed a sound frame IRQ emulation bug. "Qix" works now.
|
||||
* Added UNIF support. Some of the board emulation is still a bit
|
||||
buggy, though. Look at the documentation for a list of supported
|
||||
boards.
|
||||
* Updated the "Palette Notes" section of the documentation. Also
|
||||
fixed a few other problems with the documentation.
|
||||
* Added support for loading files in the PKZIP and gzip
|
||||
compressed file formats via zlib.
|
||||
* Added the ability to configure the first scanline and the last
|
||||
scanline to draw to the screen. Enabling PAL emulation no longer
|
||||
will cause all 239 scanlines to be displayed, though an option
|
||||
to override these settings for when PAL emulation is enabled may
|
||||
be in the next version.
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
The following is also new for the Windows port:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
* Fixed a bug that would cause the emulated D-pad of virtual gamepads
|
||||
emulated through the keyboard to be duplicated through "higher"
|
||||
virtual gamepads(gamepad 1 would affect 2,3,4; gamepad 2 would
|
||||
affect 3,4; etc.).
|
||||
</ul>
|
||||
----------------------------------------
|
||||
2001-07-07
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra .61 for Windows and Linux is out. Here's what's new for the Windows port:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
* Speed optimizations in sprite rendering code.
|
||||
* Screen snapshots are now saved in the PNG format instead of the PCX
|
||||
format.
|
||||
* Fixed Game Genie emulation(it wasn't working in the last release).
|
||||
Also added support for Game Genie emulation to the UNIF code.
|
||||
* Fixed a problem(if FCE Ultra was configured to connect to a remote
|
||||
host and the remote host was given as an IP address, and the IP
|
||||
address couldn't be reverse resolved, which is commonly the case
|
||||
on home LANs, the connection attempt would fail) in the network
|
||||
play code. I had misinterpreted the Winsock API documentation
|
||||
when I wrote the code.
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Here's what's new for the Linux port:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
* Speed optimizations in sprite rendering code.
|
||||
* Screen snapshots are now saved in the PNG format instead of the PCX
|
||||
format.
|
||||
* Fixed Game Genie emulation(it wasn't working in the last release).
|
||||
Also added support for Game Genie emulation to the UNIF code.
|
||||
* Rewrote command line option parsing code.
|
||||
|
||||
</p>
|
||||
----------------------------------------
|
||||
2001-07-07
|
||||
xodnizel
|
||||
<p>
|
||||
Due to a rather major bug(sprite transparencies were messed up a bit) with .61, I've released .61r2 for both Linux and Windows. Another bug has also been fixed, which fixes "Gremlins 2", at least.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2001-08-06
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra .62 for Windows and Linux is out. Here's what's new:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
* Added support for the Famicom Disk System's extra sound channel.
|
||||
* Updated the version of Tatsuyuki Satoh's OPL2 emulator used in
|
||||
FCE Ultra from .36f to .37a. The sound quality in "Lagrange Point"
|
||||
seems to have improved.
|
||||
* Added support for iNES mapper 242(used by "Wai Xing Zhan Shi").
|
||||
* Fixed a network play bug that could cause desynchronizations
|
||||
if more than one network play session occured since FCE Ultra
|
||||
was started. This bug only showed up on the Windows port, though.
|
||||
* Increased the volume of the noise and triangle sound channels.
|
||||
* Fixed a save state loading bug.
|
||||
* Fixed a small memory leak that was being caused by the VRC7
|
||||
state loading code.
|
||||
* Fixed a bug that could cause FCE Ultra to crash if a virtual disk
|
||||
was being read and the user ejected the virtual disk.
|
||||
* Various minor bug fixes/code cleanups.
|
||||
</ul>
|
||||
----------------------------------------
|
||||
2001-08-07
|
||||
xodnizel
|
||||
<p>
|
||||
I've released FCE Ultra .62r2 for Windows and Linux. It fixes a bug in the last version that causes incorrect Game Genie emulation.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2001-09-05
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra .70 for Linux and Windows is out. Read the documentation to find out what's new, I'm busy. :)
|
||||
</p>
|
||||
<p>
|
||||
Thanks to Richard Hoelscher for his document on the Famicom four-player adapter.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2001-10-28
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra .71 for Windows and Linux is out. Get it in the "Downloads" section. Many things were changed in this release that might cause game incompatibilities, so feel free to email me if any games have been broken between this release and the last release.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Also, the email address "xodnizel@home.com" will stop functioning in November. Please use xodnizel@users.sourceforge.net instead.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2001-11-15
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra .71 has a bug in it that causes the Game Genie emulation to not work with certain games that it should work with. This is fixed in the development version(to be .72). .72 will be released later this month, or in December, when I have enough free time when I'm not tired.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2001-12-02
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra .72 for Linux, Windows, and DOS is out. I've gone back to using gcc 2.95.3 instead of gcc 3.0 to compile the Linux binary release, due to shared library problems. Check out the documentation on the Downloads page to see what's new.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2001-12-06
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra .73 will be released this weekend(hopefully). I've decided to do a new release so soon to the last release due to several bugs in .72(bugs that were also in .71 that I didn't catch).
|
||||
</p>
|
||||
----------------------------------------
|
||||
2001-12-08
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra .73 for DOS, Linux, and Windows is out. Here's what's new:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
* Fixed several bugs with sprite emulation. Several games(such
|
||||
as "Trojan" and "VS Duck Hunt") that were broken in .71 and .72 now
|
||||
work ok.
|
||||
* Added support for iNES mapper 82. Thanks to those who work on
|
||||
"unofficial nester".
|
||||
* Added support for iNES mapper 250(used by "Time Diver Avenger").
|
||||
* Fixed the documentation to show that iNES mappers 48, 83, and 232
|
||||
are supported.
|
||||
* Removed various pieces of stale code and fixed a few minor bugs.
|
||||
* Fixed a triangle wave channel bug(the channel was sometimes enabled
|
||||
when it shouldn't have been).
|
||||
* Writing to $4010 with the upper bit clear now acknowledges the DPCM
|
||||
IRQ. This appears to fix "Stunt Buggies".
|
||||
* Rewrote pieces of the Zapper emulation code to be cleaner and more
|
||||
accurate.
|
||||
* Rewrote the VS Unisystem dip switch drawing code.
|
||||
* Simplified the setting of VS Unisystem dip switches. The "V" key
|
||||
now toggles viewing AND editing of dip switches.
|
||||
</ul>
|
||||
----------------------------------------
|
||||
2002-01-20
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra .74 for DOS, Linux, and Windows is out.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2002-07-01
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra 0.80 for DOS, Linux, and Windows is out. FCE Ultra is now distributed under the terms of the GNU GPL. See the documentation for a list of the many changes that concern most users. This release *might* be buggier than past releases due to the large amount of code that has been modified. If something is broken, report it on the forum, or to me via email. Also, this will probably be the last release that I provide precompiled Linux binaries for.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2002-08-18
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra 0.81 is out. This is a major release, despite the small increment in the version number; besides the changes listed in the end-user documentation, many internal changes have been made, so some things may have been broken.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
I have decided not to distribute the source code in the same archive as the executables, so if you provide a binary release of FCE Ultra, you must also provide the source code at the same location.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2002-11-13
|
||||
xodnizel
|
||||
<p>
|
||||
I have been working on an NSF player based on the sound code that is to be in the next release of FCE Ultra. The source code for the preliminary release can be downloaded here. It is currently distributed under the GPL, but I'll release the "real" version under the LGPL. Currently there are only a console interface and an xmms plugin(which isn't complete). It will currently build and run on Linux and FreeBSD systems running on an IA32 platform.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
I'm posting this information now in the hopes that someone will write Winamp 2/3 plugins, fix the xmms plugin, and do whatever else. If you need assistance, you can post on the forum or email me, if you can find my email address. ;)
|
||||
</p>
|
||||
----------------------------------------
|
||||
2002-11-28
|
||||
xodnizel
|
||||
<p>
|
||||
First official release of <a href="http://festalon.sourceforge.net/">Festalon</a> is out. It still has a few bugs, but should work well.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2002-12-14
|
||||
xodnizel
|
||||
<p>
|
||||
A few days ago, Festalon 0.1.2 was released. It's an NSF player based on the sound code that is (or was) to be in FCE Ultra 0.90, with a few improvements.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
I will no longer offer any email support for FCE Ultra end users. If you have a problem, post on the forum.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2002-12-22
|
||||
xodnizel
|
||||
<p>
|
||||
Festalon 0.1.3 is out.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
deraj and others are working on a fork of FCE Ultra called <a href="http://phamicom.sourceforge.net/">phamicom</a>.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2002-12-26
|
||||
xodnizel
|
||||
<p>
|
||||
A new source release of FCE Ultra 0.81 is available. It fixes compilation problems that existed with newer versions of gcc.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2003-02-22
|
||||
xodnizel
|
||||
<p>
|
||||
Anyone who has any of the following Famicom games, a real Famicom (no clones) and can record digital audio files, email me at xod2 at starmen.net:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
Digital Devil Story II
|
||||
Erika to Satoru no Yumebouken
|
||||
Esper Dream II
|
||||
Final Lap
|
||||
Gimmick!
|
||||
Just Breed
|
||||
King of Kings(Namco)
|
||||
Lagrange Point
|
||||
Madara
|
||||
Mappy Kids
|
||||
Sangokushi II(Namco)
|
||||
Zelda no Densetsu(FDS version)
|
||||
</ul>
|
||||
----------------------------------------
|
||||
2003-03-09
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra 0.92 is out. This is a major release, fixing many bugs present in 0.81, and adding a new sound core. The new sound emulation core is disabled by default, however, since it uses a considerable amount of CPU time, so if you want to use it, you'll have to enable it. See the documentation for a more complete list of what is new.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Binaries are only available for Windows users. DOS/Linux/MacOS X users will need to download the source tarball from the development section and compile their own binaries. I may provide binaries for DOS later, though.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2003-03-10
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra 0.92r2 is out. This fixes a small bug in the sound code that caused "Cobra Triangle" to freeze. The source code package for 0.92 also was incomplete(it was missing some of the new Windows code).
|
||||
</p>
|
||||
----------------------------------------
|
||||
2003-03-11
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra 0.93 is out. This is a minor release, fixing some FDS IRQ emulation bugs(and thus fixing the game "Lutter"), reducing the volume of the FDS sound channel, and fixing two obscure null-pointer dereferencing bugs.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2003-03-19
|
||||
xodnizel
|
||||
<p>
|
||||
I've been working on putting together a PSF player, which will probably be called sexyPSF. It is based on Pcsx and the PEOPS SPU plugin, with heavy modifications and a few improvements. A preliminary release can be downloaded. It'll only run in Linux console, on IA32 platforms, with OSS. It currently supports psfs and minipsfs, but most of the loading code is prone to failure(when loading minipsfs, you have to have a slash in the filename), which will be fixed before its official release.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2003-03-23
|
||||
xodnizel
|
||||
<p>
|
||||
<a href="http://xod.starmen.net/sexypsf/">sexypsf</a> has been released...sort of.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2003-03-29
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra 0.94 has been released. This is a source-only release. This release is officially the final release.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2003-03-29
|
||||
xodnizel
|
||||
<p>
|
||||
The Windows executable has been updated to 0.94. I decided to go ahead with the executable release since there were a few important bug fixes and changes. The Linux svgalib executable will not be updated. Grab the source code and compile it from there, or compile the SDL code, which works well now. I don't want to mess with incompatible library versions. :/ The DOS executable wasn't updated because it's in low demand, most people using DOS today are probably knowledgable enough to compile it, and I didn't feel like it. The source code package has also been updated...the previous copy had the wrong files in it. D'oh.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Taking into consideration I already messed up this release... If any bugs were introduced in 0.94, I might release a quick followup (0.94r2), depending on the severity of the bug(s).
|
||||
</p>
|
||||
----------------------------------------
|
||||
2003-06-18
|
||||
xodnizel
|
||||
<p>
|
||||
0.95 pre release #2 (Windows executable) - Source code(do a make clean first). There will be an FCE Ultra 0.95. 0.94 had a few BLECK bugs in it, particularly with the NSF player... Report any game compatibility issues on the forum.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2003-06-21
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra 0.95 is out. Now you can have even more Mother fun. What is new:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
* Fixed some save state loading bugs, particularly when "high-quality" sound emulation is enabled.
|
||||
* Tweaked Konami mappers' IRQ counter emulation.
|
||||
* Altered NMI, IRQ, and BRK emulation. Fixed games include "Dynamite Bowl" and "Bases Loaded 2".
|
||||
* Added support for mid-scanline background effects, such as those used in "Mother", "Marble Madness", "Pirates!", and "Business Wars".
|
||||
* Low/Normal-quality sound emulation now uses 32-bit integers instead of 64-bit integers, resulting in a significant speed boost.
|
||||
* Decreased the PCM/DMC volume in low/normal-quality sound emulation.
|
||||
* Low-G-Man(NTSC and PAL versions) are now recognized by CRC32 value, and WRAM will be disabled if they are loaded. A warning/status message will also be printed regarding this issue if one of these games is loaded.
|
||||
* Cleaned up a bit of code.
|
||||
* Fixed some NSF player bugs that were causing some rips not to play.
|
||||
</ul>
|
||||
----------------------------------------
|
||||
2003-06-21
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra 0.96.
|
||||
<p>
|
||||
|
||||
<ul>
|
||||
* Improved support for the RAMBO-1(mapper 64). "Skull and Crossbones" is now playable.
|
||||
</ul>
|
||||
----------------------------------------
|
||||
2003-06-21 to 2003-07-17
|
||||
xodnizel
|
||||
<p>
|
||||
No more support will be provided for FCE Ultra from me. If you care about FCE Ultra so much, support others. Support files for building on Windows will no longer be provided. "Binary" releases for Windows will no longer be made. The source code will be updated whenever I feel like it, and may contain bugs. If you're packaging a release, you should read the ChangeLog and take note of anything that might be buggy, and test it before releasing. Get files.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2003-07-17 to 2003-08-03
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra: The Terms
|
||||
No more support will be provided for FCE Ultra from me. If you care about FCE Ultra so much, support others. Support files for building on Windows will no longer be provided. "Binary" releases for Windows will no longer be made. The source code will be updated whenever I feel like it, and may contain bugs. If you're packaging a release, you should read the ChangeLog and take note of anything that might be buggy, and test it before releasing.
|
||||
Get files.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
I've documented the network play protocol in case anyone wants to write a standalone network play server. It may contain mistakes, so you might want to also look at the actual source code(fceu/drivers/cli/unix-netplay.c should be more readable than the Winsock code).
|
||||
</p>
|
||||
|
||||
* Developer's Forum. (not archived)
|
||||
* Network play protocol. (not archived)
|
||||
----------------------------------------
|
||||
2004-03-10
|
||||
xodnizel
|
||||
<p>
|
||||
I've uploaded the FCE Ultra 0.98.2, available on the downloads page. A precompiled Windows executable is not provided, but it should be relatively simple to compile, provided you have the correct tools (msys, mingw, sdl header/import libraries, directx header/import libraries).
|
||||
</p>
|
||||
----------------------------------------
|
||||
2004-04-19
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra 0.98.6 is out, along with an updated version for Windows, using the old Win32 codebase, with some improvements.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Please note that this Windows release is somewhat of an experimental release, and may contain bugs. Of course, bugs won't be fixed unless I find out about them. Also note that not all of the new Famicom input devices FCE Ultra has support for are usable in this build.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2004-04-21
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra 0.98.7 is out.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2004-04-21
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra 0.98.8 is out.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
Fixed a typo in sound.c that caused only part of the sound registers
|
||||
to be saved in save states.
|
||||
|
||||
Win32: Switched over to the DirectDraw7 interface, from DirectDraw4's.
|
||||
The surface Flip() method will now block, which results in somewhat
|
||||
smoother animation/scrolling with double buffering, especially when combined with the
|
||||
auto blit-skip implemented in 0.98.6 when sound is enabled.
|
||||
|
||||
Win32: Undid a change made in the last release that limited the
|
||||
speed of fast-forwarding when using the tilde key. I really do
|
||||
need to implement some sort of unified timing/blit skip system...
|
||||
|
||||
Win32: Added an option, disabled by default, to ask for confirmation
|
||||
before exiting FCE Ultra.
|
||||
|
||||
Win32: Added an option, enabled by default, to disable the system
|
||||
screen saver while a game is loaded.
|
||||
|
||||
Win32: Added a new video synchronization mode, a "lazy" wait for
|
||||
vblank/vertical retrace. It calls Sleep(0) in its wait loop. This
|
||||
still uses all available cpu cycles, but it is much more friendly
|
||||
to other processes than the old-style wait for vblank.
|
||||
|
||||
Win32: Added support for joystick POV hats.
|
||||
</ul>
|
||||
----------------------------------------
|
||||
2004-05-06
|
||||
xodnizel
|
||||
<p>
|
||||
FCE Ultra 0.98.9 is out.
|
||||
</p>
|
||||
|
||||
<li>
|
||||
Win32-native: Fixed the speed throttling used when sound is disabled. In previous
|
||||
0.98.x Win32-native releases, emulation was running at 1/2 the speed it should
|
||||
have been when sound was disabled.
|
||||
|
||||
Win32-native: Moved settings in the "Miscellaneous" configuration window
|
||||
to where they should have been in the first place, and added "GUI" and "Timing"
|
||||
configuration windows to accommodate some.
|
||||
|
||||
Win32-native: Fixed the handling of the "Scroll Lock" key used to disable and
|
||||
enable Family BASIC Keyboard input.
|
||||
|
||||
Updated documentation to handle some slight differences in the Win32-native
|
||||
port("Win32-native" is what the Win32 port using native APIs, as opposed to something
|
||||
like GTK+ and SDL, will be referred to in documentation now). I also made
|
||||
some other minor wording adjustments to the documentation.
|
||||
|
||||
Added an iNES header correction for Dragonball.
|
||||
</li>
|
||||
----------------------------------------
|
||||
2004-05-07
|
||||
xodnizel
|
||||
<p>
|
||||
I've released a "fixed" version of 0.98.9 for Windows. The previous release had a small issue with radio buttons in the "Image Size Transform" box in the "Video" coniguration window.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
A fix for this was the only change.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2004-10-29
|
||||
xodnizel
|
||||
<p>
|
||||
No new *official* releases of FCE Ultra will be made. I mean it this time. :b
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The forum has been closed, as I will not be available to moderate it any longer, but the old posts will be viewable indefinitely.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Crazy people may download http://fceultra.sourceforge.net/fceu-0.98.13-pre.src.tar.bz2 which was intended to be 0.98.13. It should be stable, and fixed several major bugs present in 0.98.12, but I have neither the time nor desire to do thorough tests for regressions, and thus it will not be an official release.
|
||||
</p>
|
||||
----------------------------------------
|
||||
2006-03-18
|
||||
Mark Doliner
|
||||
<p>
|
||||
The FCE Ultra project has been taken over. Our current goal is only to post the previous release and documentation, but we'd love to get development going again, too. We'll post more information soon.
|
||||
</p>
|
||||
----------------------------------------
|
|
@ -0,0 +1,80 @@
|
|||
<?php
|
||||
$title = "Support Files";
|
||||
include("header.php");
|
||||
?>
|
||||
|
||||
<div class="mainbox">
|
||||
<h2 class="boxhead">Support Files</h2>
|
||||
<div class="boxbody">
|
||||
|
||||
<ul>
|
||||
<li><a href="#gfceu">GNOME FCE Ultra</a></li>
|
||||
<li><a href="#chtconv">NESten<-->FCE Ultra Cheat Converter</a></li>
|
||||
<li><a href="#netplay">Network Play Server</a></li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mainbox">
|
||||
<h2 class="boxhead"><a id="gfceu">GNOME FCE Ultra</a></h2>
|
||||
<div class="boxbody">
|
||||
<p>
|
||||
GFCEU is a GTK2 front-end designed to provide a simple, yet powerful interface for FCE Ultra.
|
||||
It currently provides an elegant interface for:<br>
|
||||
<ul>
|
||||
<li>Sound configuration</li>
|
||||
<li>Video configuration</li>
|
||||
<li>Input configuration</li>
|
||||
<li>Easy network play</li>
|
||||
</ul>
|
||||
For more information about gfceu and for download links, click <a href="http://gfceu.thepiratecove.org">here</a>.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="mainbox">
|
||||
<h2 class="boxhead"><a id="chtconv">NESten<-->FCE Ultra Cheat Converter</a></h2>
|
||||
<div class="boxbody">
|
||||
<p>
|
||||
This is a simple cheat converter for converting between NESten and FCE Ultra cheat files.
|
||||
Only RAM-style(as opposed to Game-Genie) cheats are converted. Thanks go to Death Adder
|
||||
for writing the simple documentation included. DOS executable, with sources included.
|
||||
</p>
|
||||
|
||||
<p class="center"><a href="chtconv.zip">Download</a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mainbox">
|
||||
<h2 class="boxhead"><a id="netplay">Network Play Server</a></h2>
|
||||
|
||||
<div class="boxbody">
|
||||
<p>
|
||||
This is the network play server to be used with FCE Ultra 0.98.10 and later. It is
|
||||
beta quality, but it should work well, though it probably doesn't scale to
|
||||
a large number of users as well as it could.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
It was developed under Linux, but it
|
||||
should compile and work on any platform that implements the BSD-sockets API.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Use <a href="http://www.cygwin.com/">Cygwin</a> to compile the server under MS Windows.
|
||||
</p>
|
||||
|
||||
<p class="center">
|
||||
Current Release:<br>
|
||||
<a href="http://prdownloads.sourceforge.net/fceultra/fceu-server-0.0.5.tar.gz?download">0.0.5 Source Code</a><br><br>
|
||||
Legacy Releases:<br>
|
||||
<a href="http://prdownloads.sourceforge.net/fceultra/fceu-server-0.0.4.tar.gz?download">0.0.4 Source Code</a><br>
|
||||
<a href="http://prdownloads.sourceforge.net/fceultra/fceunetserver-0.0.3.tar.bz2">0.0.3 Source Code</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php include("footer.php"); ?>
|
Binary file not shown.
After Width: | Height: | Size: 1.9 KiB |
Binary file not shown.
After Width: | Height: | Size: 1.5 KiB |
Loading…
Reference in New Issue