Compile Help docs & webpages, Fix version string, fix up web pages for release. Update changelog to reflect release date + svn.
[[Split portion of a mixed commit.]]
This commit is contained in:
parent
1c164a6108
commit
9048555c42
|
@ -77,8 +77,8 @@
|
|||
|
||||
<h3>Download</h3>
|
||||
<ul>
|
||||
<li><a href="http://sourceforge.net/projects/fceultra/files/Binaries/2.1.3/fceux-2.1.3-win32.zip/download">FCEUX 2.1.3 win32 Binary</a></li>
|
||||
<li><a href="http://sourceforge.net/projects/fceultra/files/Source%20Code/2.1.3%20src/fceux-2.1.3.src.tar.bz2/download">FCEUX 2.1.3 src</a></li>
|
||||
<li><a href="http://sourceforge.net/projects/fceultra/files/Binaries/2.1.4/fceux-2.1.4-win32.zip/download">FCEUX 2.1.4 win32 Binary</a></li>
|
||||
<li><a href="http://sourceforge.net/projects/fceultra/files/Source%20Code/2.1.4%20src/fceux-2.1.4.src.tar.bz2/download">FCEUX 2.1.4 src</a></li>
|
||||
</ul>
|
||||
<p>The latest win32 interim build is generally fresh within a day or two.
|
||||
If you are working with a developer to fix an issue affecting you then this is where you will find your fixed build. </p>
|
||||
|
@ -101,6 +101,11 @@
|
|||
<th>Win32 Binary</th><th>SRC</th><th>Deb Binary</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href="http://sourceforge.net/projects/fceultra/files/Binaries/2.1.3%20binaries/fceux-2.1.3-win32.zip/download">FCEUX2.1.3</a></td>
|
||||
<td><a href="http://sourceforge.net/projects/fceultra/files/Source%20Code/2.1.3%20src/fceux-2.1.3.src.tar.bz2/download">FCEUX2.1.3</a></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href="http://sourceforge.net/projects/fceultra/files/Binaries/2.1.2%20binaries/fceux-2.1.2-win32.zip/download">FCEUX2.1.2</a></td>
|
||||
<td><a href="http://sourceforge.net/projects/fceultra/files/Source%20Code/2.1.2%20src/fceux-2.1.2.src.tar.bz2/download">FCEUX2.1.2</a></td>
|
||||
|
|
|
@ -80,24 +80,31 @@ a.rvts12, span.rvts12
|
|||
text-decoration: underline;
|
||||
}
|
||||
a.rvts12:hover { color: #0000ff; }
|
||||
span.rvts13 /* Font Style */
|
||||
a.rvts13, span.rvts13
|
||||
{
|
||||
font-size: 12pt;
|
||||
color: #0000ff;
|
||||
text-decoration: underline;
|
||||
}
|
||||
a.rvts13:hover { color: #0000ff; }
|
||||
span.rvts14 /* Font Style */
|
||||
{
|
||||
font-size: 16pt;
|
||||
font-family: 'Tahoma', 'Geneva', sans-serif;
|
||||
color: #ffffff;
|
||||
}
|
||||
span.rvts14 /* Font Style */
|
||||
span.rvts15 /* Font Style */
|
||||
{
|
||||
font-family: 'MS Sans Serif', 'Geneva', sans-serif;
|
||||
color: #808080;
|
||||
}
|
||||
span.rvts15 /* Font Style */
|
||||
span.rvts16 /* Font Style */
|
||||
{
|
||||
font-family: 'Verdana', 'Geneva', sans-serif;
|
||||
font-style: italic;
|
||||
color: #c0c0c0;
|
||||
}
|
||||
a.rvts16, span.rvts16 /* Font Style */
|
||||
a.rvts17, span.rvts17 /* Font Style */
|
||||
{
|
||||
font-family: 'Verdana', 'Geneva', sans-serif;
|
||||
font-style: italic;
|
||||
|
@ -144,11 +151,15 @@ p,ul,ol /* Paragraph Style */
|
|||
<meta name="generator" content="HelpNDoc Free"></head>
|
||||
<body>
|
||||
|
||||
<p class=rvps2><span class=rvts13>FAQ / Guides</span></p>
|
||||
<p class=rvps2><span class=rvts14>FAQ / Guides</span></p>
|
||||
<p><span class=rvts10>FAQ / Guides</span></p>
|
||||
<p><br></p>
|
||||
<p>Information regarding various concepts such as TAS, ROM Hacking, RAM Mapping.</p>
|
||||
<p><br></p>
|
||||
<p><a class=rvts12 href="{FFA06380-625B-4EF0-AE42-BA201A5A9306}.htm">Troubleshooting FAQ</a></p>
|
||||
<p><br></p>
|
||||
<p>A guide to common problems people experience, and what to do about them.</p>
|
||||
<p><br></p>
|
||||
<p><br></p>
|
||||
<p><a class=rvts12 href="{FFA06380-625B-4EF0-AE42-BA201A5A9306}.htm">Tool Assisted Speedruns (TAS)</a></p>
|
||||
<p><br></p>
|
||||
|
@ -163,7 +174,14 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><a class=rvts12 href="{C652C305-E5FC-4C80-BCCD-721D9B6235EF}.htm">NES RAM Mapping</a></p>
|
||||
<p><br></p>
|
||||
<p>A guide to the layout of NES RAM, and how to interpret its contents.</p>
|
||||
<p class=rvps3><span class=rvts14>2008</span></p>
|
||||
<p class=rvps4><span class=rvts15>This help file has been generated by the freeware version of </span><a class=rvts16 href="http://www.ibe-software.com/products/software/helpndoc/" target="_blank">HelpNDoc</a></p>
|
||||
<p><br></p>
|
||||
<p><br></p>
|
||||
<p><a class=rvts13 href="{E628BE35-72B4-4CC2-8509-A64B442A9AF7}.htm">Debugger Usage Guide (Intermediate)</a></p>
|
||||
<p><br></p>
|
||||
<p>This is a guide that explains some of the debugging features in terms that someone</p>
|
||||
<p>with previous experience with assembly can understand, and delves into the most</p>
|
||||
<p>basic understanding to a degree as well. Likely won't help a beginner too much.</p>
|
||||
<p class=rvps3><span class=rvts15>2008</span></p>
|
||||
<p class=rvps4><span class=rvts16>This help file has been generated by the freeware version of </span><a class=rvts17 href="http://www.ibe-software.com/products/software/helpndoc/" target="_blank">HelpNDoc</a></p>
|
||||
|
||||
</body></html>
|
||||
|
|
|
@ -167,7 +167,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<p>FCEUX provides a wealth of tools and resources to aid in hacking NES & FDS games. It features the most current and cutting edge tools debugging and hacking games as well as making the process quicker an easier.</p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts13>Debugging / Reverse engineering:</span></p>
|
||||
<p><a class=rvts12 href="{8A78E5FE-C7EB-418D-A921-F9A6782663F0}.htm">Debugge</a>r, <a class=rvts12 href="{414E8900-7ECB-4E7A-96FE-13F095EDF1DE}.htm">Trace Logger</a>, <a class=rvts12 href="{05FC9F4A-AB26-4164-A5F8-6824A3353760}.htm">Code/Data Logger</a>, <a class=rvts12 href="{B37E7A47-E65F-4544-BDDF-39BE708BA68F}.htm">Cheat Search</a>, <span class=rvts12>RAM Filter</span>, <a class=rvts12 href="{695C964E-B83F-4A6E-9BA2-1A975387DB55}.htm">Movie Making tools/Frame Advance</a></p>
|
||||
<p><a class=rvts12 href="{8A78E5FE-C7EB-418D-A921-F9A6782663F0}.htm">Debugge</a><a class=rvts12 href="{8A78E5FE-C7EB-418D-A921-F9A6782663F0}.htm">r</a>, <a class=rvts12 href="{414E8900-7ECB-4E7A-96FE-13F095EDF1DE}.htm">Trace Logger</a>, <a class=rvts12 href="{05FC9F4A-AB26-4164-A5F8-6824A3353760}.htm">Code/Data Logger</a>, <a class=rvts12 href="{B37E7A47-E65F-4544-BDDF-39BE708BA68F}.htm">Cheat Search</a>, <span class=rvts12>RAM Filter</span>, <a class=rvts12 href="{695C964E-B83F-4A6E-9BA2-1A975387DB55}.htm">Movie Making tools/Frame Advance</a></p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts13>Memory & PPU Viewing:</span></p>
|
||||
<p><a class=rvts12 href="{8A78E5FE-C7EB-418D-A921-F9A6782663F0}.htm">Debugger</a>, <a class=rvts12 href="{D0C2EE8C-8862-4CC2-BFF6-BFAC535BA3FB}.htm">PPU Viewer</a>, <a class=rvts12 href="{06F7BBD5-399E-4CA0-8E4E-75BE0ACC525A}.htm">Hex Editor</a>, <a class=rvts12 href="{414E8900-7ECB-4E7A-96FE-13F095EDF1DE}.htm">Trace Logger</a>, <a class=rvts12 href="{05FC9F4A-AB26-4164-A5F8-6824A3353760}.htm">Code/Data Logger</a></p>
|
||||
|
|
|
@ -150,7 +150,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><br></p>
|
||||
<p>The Code/Data Logger keeps track of every byte in the ROM and records whether it's code (is executed) or data (is read). In the future, I hope to combine this with a suitable disassembler that will disassemble only bytes marked as "code", in order to generate near-perfect source code (provided you play through the game several times, very thoroughly, to ensure everything gets logged). In order to get that feature to work, I need to get the Address Label Logger working, in order to create all the labels.</p>
|
||||
<p><br></p>
|
||||
<p>But right now, it is very useful for finding specific code and data by using it with the Trace Logger (see above for instructions on doing this). Furthermore, while it is running, the Hex Editor will color-code bytes depending on whether they were logged as code or data. And it can also be used to create a stripped NES ROM (see below).</p>
|
||||
<p>But right now, it is very useful for finding specific code and data by using it with the Trace Logger (see above for instructions on doing this). Furthermore, while it is running, the Hex Editor will color-code bytes depending on whether they were logged as code or data. And it can also be used to create a stripped NES ROM (see below).</p>
|
||||
<p><br></p>
|
||||
<p>Some notes: when you open another .cdl file, it does not clear the current log; instead, it combines it with the information in the file. This can be useful if you're trying to obtain a complete log, as multiple people can play through the game and keep code/data logs, and then the results can be combined. But if you would like to actually clear the code/data log, press the "Reset Log" button.</p>
|
||||
<p><br></p>
|
||||
|
@ -186,7 +186,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<p> P = If logged as PCM audio data.</p>
|
||||
<p> x = unused.</p>
|
||||
<p><br></p>
|
||||
<p>CDL files make possible a number of things never before done. First, a PCM data ripper could be created that scans for data that has the 'P' bit set, in order to find/rip/play every PCM sample in a ROM. Also, it is possible for someone to make a more intelligent ROM corruptor that only corrupts data (by checking the 'D' bit). In any case, the Code/Data Logger opens many new possibilities for discovering useful things in games. Another interesting possibility (which isn't supported yet) would be to use the Code/Data Logger on an NSF file to create a stripped NSF. Such an NSF would contain nothing but the relevant subroutines and data required by each tune played; this would be helpful to NSF rippers by removing irrelevant information. Thus, an NSF ripper could create a stripped NSF by listening to each track while the Code/Data Logger operates on it, and then saving the stripped NSF. I might add this sometime, if I get any requests to do so.</p>
|
||||
<p>CDL files make possible a number of things never before done. First, a PCM data ripper could be created that scans for data that has the 'P' bit set, in order to find/rip/play every PCM sample in a ROM. Also, it is possible for someone to make a more intelligent ROM corruptor that only corrupts data (by checking the 'D' bit). In any case, the Code/Data Logger opens many new possibilities for discovering useful things in games. Another interesting possibility (which is now partially supported) would be to use the Code/Data Logger on an NSF file to create a stripped NSF. Such an NSF would contain nothing but the relevant subroutines and data required by each tune played; this would be helpful to NSF rippers by removing irrelevant information. Thus, an NSF ripper could create a stripped NSF by listening to each track while the Code/Data Logger operates on it, and then saving the stripped NSF. It should be noted that this capability, though tested and working on private builds, is detrimental to the process of fixing broken NSF files. For this reason, data logging is allowed for NSF files, but stripping NSF files of unused data is disabled.</p>
|
||||
<p><br></p>
|
||||
<p><br></p>
|
||||
<p><br></p>
|
||||
|
|
|
@ -77,24 +77,28 @@ span.rvts12
|
|||
{
|
||||
font-size: 12pt;
|
||||
}
|
||||
span.rvts13 /* Font Style */
|
||||
span.rvts13
|
||||
{
|
||||
font-weight: bold;
|
||||
}
|
||||
span.rvts14 /* Font Style */
|
||||
{
|
||||
font-size: 16pt;
|
||||
font-family: 'Tahoma', 'Geneva', sans-serif;
|
||||
color: #ffffff;
|
||||
}
|
||||
span.rvts14 /* Font Style */
|
||||
span.rvts15 /* Font Style */
|
||||
{
|
||||
font-family: 'MS Sans Serif', 'Geneva', sans-serif;
|
||||
color: #808080;
|
||||
}
|
||||
span.rvts15 /* Font Style */
|
||||
span.rvts16 /* Font Style */
|
||||
{
|
||||
font-family: 'Verdana', 'Geneva', sans-serif;
|
||||
font-style: italic;
|
||||
color: #c0c0c0;
|
||||
}
|
||||
a.rvts16, span.rvts16 /* Font Style */
|
||||
a.rvts17, span.rvts17 /* Font Style */
|
||||
{
|
||||
font-family: 'Verdana', 'Geneva', sans-serif;
|
||||
font-style: italic;
|
||||
|
@ -141,14 +145,14 @@ p,ul,ol /* Paragraph Style */
|
|||
<meta name="generator" content="HelpNDoc Free"></head>
|
||||
<body>
|
||||
|
||||
<p class=rvps2><span class=rvts13>Hex Editor</span></p>
|
||||
<p class=rvps2><span class=rvts14>Hex Editor</span></p>
|
||||
<p><span class=rvts10>Hex Editor</span></p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts11>Introduction</span></p>
|
||||
<p><br></p>
|
||||
<p>The Hex editor is a very powerful memory viewing/editing tool and obsoletes the Memory Viewer tool from the FCE Ultra and FCEU Rerecording branches.</p>
|
||||
<p><br></p>
|
||||
<p>It can do a wide range of things. It allows you to view the entire RAM & ROM contents in an expandable dialog Window. It makes it easy to edit the game's RAM, PPU memory, and even its currently-loaded ROM data. You can also "freeze" parts of RAM (to prevent the game from modifying the data there), search for data, and even copy and paste data to/from the clipboard. Furthermore, table files are supported, so you can edit a game's text in real-time and see the result immediately.</p>
|
||||
<p>It can do a wide range of things. It allows you to view the entire RAM & ROM contents in an expandable dialog Window. It makes it easy to edit the game's RAM, PPU memory, and even its currently-loaded ROM data by simply typing in values in the editor. You can also "freeze" parts of RAM (to prevent the game from modifying the data there), search for data, and even copy and paste data to/from the clipboard. Furthermore, table files are supported, so you can edit a game's text in real-time and see the result immediately.</p>
|
||||
<p><br></p>
|
||||
<p>Basically, it lets you tinker with any part of a game's RAM or ROM while it is running.</p>
|
||||
<p><br></p>
|
||||
|
@ -157,14 +161,14 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><br></p>
|
||||
<p>The Hex Editor lets you edit three major areas:</p>
|
||||
<p><br></p>
|
||||
<p>1. NES MEMORY</p>
|
||||
<p><span class=rvts13>1. NES MEMORY</span></p>
|
||||
<p>This allows you to directly edit all of the NES address space ($0000-$FFFF). While you can easily modify RAM, or write directly to registers by typing in data, you cannot modify ROM data ($8000-$FFFF) itself. This is because most mappers have registers which are located in this space; so writing there can trigger mapper operations that may cause the game to crash or glitch if you don't know what you're doing. If you want to edit the ROM itself, right-click on the offset and select "Go here in ROM file"; that will take you directly to where you need to be so you can start editing. You can also freeze RAM by clicking on it with the middle mouse button, or by using the right-click menu. This works by adding it directly to the Cheat List, which you can see from the Cheat Console. Finally, the right-click menu can be used to quickly add a read or write breakpoint to the debugger.</p>
|
||||
<p><br></p>
|
||||
<p>2. PPU MEMORY</p>
|
||||
<p><span class=rvts13>2. PPU MEMORY</span></p>
|
||||
<p>This allows you to directly view and write to PPU memory (VRAM).</p>
|
||||
<p><br></p>
|
||||
<p>3. THE ROM FILE</p>
|
||||
<p>This is possibly the coolest part of FCEUXD: it allows you to edit the ROM file in real-time, i.e. while the game is running. If you make a mistake, press Ctrl+Z or Edit->Undo to undo your change (then load a save-state if the game crashed). If you have the Code/Data Logger running, then bytes that were logged as code will be colored yellow, while bytes logged as data will be colored blue. Bytes that have been logged as code *and* data will be colored green.</p>
|
||||
<p><span class=rvts13>3. THE ROM FILE</span></p>
|
||||
<p>This is possibly the coolest part of FCEUXD: It allows you to edit the ROM file in real-time, i.e. while the game is running. If you make a mistake, press Ctrl+Z or Edit->Undo to undo your change (then load a save-state if the game crashed). If you have the Code/Data Logger running, then bytes that were logged as code will be colored yellow, while bytes logged as data will be colored blue. Bytes that have been logged as code *and* data will be colored green.</p>
|
||||
<p><br></p>
|
||||
<p>The Hex Editor also has support for table files (*.tbl) to map bytes to text. Each line consists of four characters of the form "xx=y", where "xx" is the hex value, and "y" is the character that that value represents. I have also added an extension to represent the Return key: xx=ret whereby pressing the Return key will enter that value into the ROM. You can copy/paste data or text by selecting it and using Ctrl+Z (to copy) and Ctrl+V (to paste). Plus, there is an Edit->Find feature that you can use to search for data. This feature should be fairly intuitive, so I won't bother to explain it.</p>
|
||||
<p><br></p>
|
||||
|
@ -172,11 +176,11 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><span class=rvts12><br></span></p>
|
||||
<p><span class=rvts11>Why can't I edit NES memory beyond $8000?</span></p>
|
||||
<p><span class=rvts12><br></span></p>
|
||||
<p>NES memory from $8000-$FFFF is where the game's PRG-ROM code is mapped. Whenever you type in a value in the NES memory editor, it effectively writes that value to that address. Many games use mappers, which are usually accessed by writing to $8000-$FFFF (which is read-only)... and if *you* were to do so, it may trigger a bankswitch, which could easily make the game crash. In any event, doing so will not modify the ROM itself. What you *can* do, though, is edit the PRG-ROM itself by right-clicking on the offset you wish to edit, and selecting "Go here in the ROM file", which should take you to that spot in the ROM, from which you can then.</p>
|
||||
<p>NES memory from $8000-$FFFF is where the game's PRG-ROM code is mapped. Whenever you type in a value in the NES memory editor, it effectively writes that value to that address. Many games use mappers, which are usually accessed by writing to $8000-$FFFF (which is read-only)... and if *you* were to do so, it may trigger a bankswitch, which could easily make the game crash. In any event, doing so will not modify the ROM itself. What you *can* do, though, is edit the PRG-ROM itself by right-clicking on the offset you wish to edit, and selecting "Go here in the ROM file", which should take you to that spot in the ROM instead, where you can change the data at instead.</p>
|
||||
<p><br></p>
|
||||
<p>.</p>
|
||||
<p><br></p>
|
||||
<p class=rvps3><span class=rvts14>2008</span></p>
|
||||
<p class=rvps4><span class=rvts15>This help file has been generated by the freeware version of </span><a class=rvts16 href="http://www.ibe-software.com/products/software/helpndoc/" target="_blank">HelpNDoc</a></p>
|
||||
<p class=rvps3><span class=rvts15>2008</span></p>
|
||||
<p class=rvps4><span class=rvts16>This help file has been generated by the freeware version of </span><a class=rvts17 href="http://www.ibe-software.com/products/software/helpndoc/" target="_blank">HelpNDoc</a></p>
|
||||
|
||||
</body></html>
|
||||
|
|
|
@ -148,7 +148,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><br></p>
|
||||
<p>LuaBot employs a new concept in FCEUX Tool creation. It is an external lua script that creates the Basic bot GUI. The GUI then uses lua scripting to perform botting tasks.</p>
|
||||
<p><br></p>
|
||||
<p>To run it you must have lua scripting enabled (see <a class=rvts11 href="{26F9812A-A0FB-4F3F-8514-5E6A7984F327}.htm">Getting Started</a>). LuaBot is included the lua pack under /examplelua. to get started run luabot_framework.lua.</p>
|
||||
<p>To run it you must have lua scripting enabled (see <a class=rvts11 href="{26F9812A-A0FB-4F3F-8514-5E6A7984F327}.htm">Getting Started</a>). LuaBot is included in the lua pack under /luaScripts. to get started run luabot_framework.lua.</p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts12>What is Lua Bot?</span></p>
|
||||
<p>LuaBot is...well, a bot. It uses a combination of probability, scripting and RAM monitoring to play games. Specifically basic bot is used to create portions of <a class=rvts11 href="{FFA06380-625B-4EF0-AE42-BA201A5A9306}.htm">Tool Assisted Speedrun</a>. It is most powerful for finding solutions in highly random situations, or highly improbably events (such as manipulating a critical hit in an RPG). Basic bot comes with a rather powerful scripting language in order to be "programmed" to handle these specific situations. LuaBot in its most extreme application can even be "taught" to play video games!</p>
|
||||
|
|
|
@ -158,31 +158,39 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><br></p>
|
||||
<p><a class=rvts12 href="{8A78E5FE-C7EB-418D-A921-F9A6782663F0}.htm">Debugger</a></p>
|
||||
<p><br></p>
|
||||
<p>A tool for looking at game instructions in assembly language.</p>
|
||||
<p>A tool for looking at game instructions in assembly language. With experience,</p>
|
||||
<p>one can use it to fix game patching errors, or find RAM and Game Genie codes.</p>
|
||||
<p><br></p>
|
||||
<p><a class=rvts12 href="{D0C2EE8C-8862-4CC2-BFF6-BFAC535BA3FB}.htm">PPU Viewer</a></p>
|
||||
<p><br></p>
|
||||
<p>A tool that displays the current PPU contents and related information.</p>
|
||||
<p>A tool that displays the current PPU contents and related information. The PPU</p>
|
||||
<p>viewer allows you to view the graphic squares that make up what's displayed.</p>
|
||||
<p><br></p>
|
||||
<p><a class=rvts12 href="{88A0A828-FEF6-4230-AECD-9A5315C384D2}.htm">Name Table Viewer</a></p>
|
||||
<p><br></p>
|
||||
<p>A tool for displaying the current Name Table contents.</p>
|
||||
<p>A tool for displaying the current Name Table contents. Helps to isolate PPU</p>
|
||||
<p>and tile information, which allows the debugger to be used to check PPU coding.</p>
|
||||
<p><br></p>
|
||||
<p><a class=rvts12 href="{06F7BBD5-399E-4CA0-8E4E-75BE0ACC525A}.htm">Hex Editor</a></p>
|
||||
<p><br></p>
|
||||
<p>A tool for displaying the games ram contents and for memory poking.</p>
|
||||
<p>A tool for displaying a game's RAM contents and for memory poking. Also allows</p>
|
||||
<p>for reading in the raw PPU data, copy/paste-ing RAM, and visually debugging RAM.</p>
|
||||
<p><br></p>
|
||||
<p><a class=rvts12 href="{414E8900-7ECB-4E7A-96FE-13F095EDF1DE}.htm">Trace Logger</a></p>
|
||||
<p><br></p>
|
||||
<p>Captures assembly code instructions and outputs them to a file or the window.</p>
|
||||
<p>Captures assembly code instructions and outputs them to a file or the window. Very</p>
|
||||
<p>useful for modifying code, finding crash addresses, fixing transferred routines, and</p>
|
||||
<p>for comparing routine function between a game and a persistently buggy NSF.</p>
|
||||
<p><br></p>
|
||||
<p><a class=rvts12 href="{05FC9F4A-AB26-4164-A5F8-6824A3353760}.htm">Code/Data Logger</a></p>
|
||||
<p><br></p>
|
||||
<p>blurb</p>
|
||||
<p>Allows you to extract the data used by a game. Make patch demos, find data</p>
|
||||
<p>loaded by a game around a certain point, or just map out a single routine run.</p>
|
||||
<p><br></p>
|
||||
<p><a class=rvts13 href="{ACA99B5B-9CA3-4E69-B7F7-106D70CF76BF}.htm">Game Genie Encoder/Decoder</a></p>
|
||||
<p><br></p>
|
||||
<p>blurb</p>
|
||||
<p>Allows you to add Game Genie codes to the Cheats menu, decode existing</p>
|
||||
<p>ones to their component information, and (re)create a code with desired values.</p>
|
||||
<p><br></p>
|
||||
<p class=rvps3><span class=rvts15>2008</span></p>
|
||||
<p class=rvps4><span class=rvts16>This help file has been generated by the freeware version of </span><a class=rvts17 href="http://www.ibe-software.com/products/software/helpndoc/" target="_blank">HelpNDoc</a></p>
|
||||
|
|
|
@ -246,6 +246,8 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><br></p>
|
||||
<p>The input display will display 1-4 pictures of a NES controller at the bottom of the screen. When playing/recording a movie, these controllers will display the input that is captured in the file. </p>
|
||||
<p><br></p>
|
||||
<p>When input comes from a movie file rather than then user, it is displayed in a different color (silver)</p>
|
||||
<p><br></p>
|
||||
<p>The input display can also be toggled by hotkey/ The default key for toggling the Input display is the "," (comma) key. (This can be re-mapped in the <a class=rvts12 href="{EA4D684B-BEDB-4395-AF94-C9ACAF0B6561}.htm">Map Hotkeys Menu</a>).</p>
|
||||
<p><br></p>
|
||||
<p><br></p>
|
||||
|
|
|
@ -75,24 +75,29 @@ a.rvts11, span.rvts11
|
|||
text-decoration: underline;
|
||||
}
|
||||
a.rvts11:hover { color: #0000ff; }
|
||||
span.rvts12 /* Font Style */
|
||||
span.rvts12
|
||||
{
|
||||
font-size: 12pt;
|
||||
font-weight: bold;
|
||||
}
|
||||
span.rvts13 /* Font Style */
|
||||
{
|
||||
font-size: 16pt;
|
||||
font-family: 'Tahoma', 'Geneva', sans-serif;
|
||||
color: #ffffff;
|
||||
}
|
||||
span.rvts13 /* Font Style */
|
||||
span.rvts14 /* Font Style */
|
||||
{
|
||||
font-family: 'MS Sans Serif', 'Geneva', sans-serif;
|
||||
color: #808080;
|
||||
}
|
||||
span.rvts14 /* Font Style */
|
||||
span.rvts15 /* Font Style */
|
||||
{
|
||||
font-family: 'Verdana', 'Geneva', sans-serif;
|
||||
font-style: italic;
|
||||
color: #c0c0c0;
|
||||
}
|
||||
a.rvts15, span.rvts15 /* Font Style */
|
||||
a.rvts16, span.rvts16 /* Font Style */
|
||||
{
|
||||
font-family: 'Verdana', 'Geneva', sans-serif;
|
||||
font-style: italic;
|
||||
|
@ -139,17 +144,20 @@ p,ul,ol /* Paragraph Style */
|
|||
<meta name="generator" content="HelpNDoc Free"></head>
|
||||
<body>
|
||||
|
||||
<p class=rvps2><span class=rvts12>RAM Search</span></p>
|
||||
<p class=rvps2><span class=rvts13>RAM Search</span></p>
|
||||
<p><span class=rvts10>Ram Search</span></p>
|
||||
<p><br></p>
|
||||
<p>Ram Search is a tool originally written for <a class=rvts11 href="http://code.google.com/p/gens-rerecording/" target="_blank">GENS rerecording</a>. It was ported to FCEUX in version 2.1.2. This dialog has also been ported to <a class=rvts11 href="http://code.google.com/p/snes9x-rr/" target="_blank">SNES9x-rr</a>, <a class=rvts11 href="http://desmume.org/" target="_blank">Desmume</a>, <a class=rvts11 href="http://code.google.com/p/pcejin/" target="_blank">PCEjin</a>, <a class=rvts11 href="http://code.google.com/p/vba-rerecording/" target="_blank">VBA-rr</a>, <a class=rvts11 href="http://code.google.com/p/pcsxrr/" target="_blank">PCSX-rr</a>, <a class=rvts11 href="http://code.google.com/p/yabause-rr/" target="_blank">Yabause</a>, and <a class=rvts11 href="http://code.google.com/p/fbarr/" target="_blank">FBA-rr</a>.</p>
|
||||
<p>Ram Search is a tool originally written for <a class=rvts11 href="http://code.google.com/p/gens-rerecording/" target="_blank">GENS rerecording</a>. It was ported to FCEUX in version 2.1.2. This dialog has also been ported to <a class=rvts11 href="http://code.google.com/p/snes9x-rr/" target="_blank">SNES9x-rr</a>, <a class=rvts11 href="http://desmume.org/" target="_blank">Desmume</a>, <a class=rvts11 href="http://code.google.com/p/pcejin/" target="_blank">PCEjin</a>, <a class=rvts11 href="http://code.google.com/p/vba-rerecording/" target="_blank">VBA-rr</a>, <a class=rvts11 href="http://code.google.com/p/pcsxrr/" target="_blank">PCSX-rr</a>, <a class=rvts11 href="http://code.google.com/p/yabause-rr/" target="_blank">Yabause</a>, <a class=rvts11 href="http://code.google.com/p/vbjin/">VBjin</a>, and <a class=rvts11 href="http://code.google.com/p/fbarr/" target="_blank">FBA-rr</a>.</p>
|
||||
<p><br></p>
|
||||
<p><br></p>
|
||||
<p>It is designed to filter ram values just like in the <a class=rvts11 href="{B37E7A47-E65F-4544-BDDF-39BE708BA68F}.htm">Cheat Search</a> dialog. However, it features many options that are lacking in the Cheat Search dialog. Among these are search undo, search preview, a modulus filter, a data size option, signed/unsigned/hex options, autosearch, and several more compare by options.</p>
|
||||
<p><br></p>
|
||||
<p>Documentation on this dialog can be found on TASVideos <a class=rvts11 href="http://tasvideos.org/EmulatorResources/RamSearch.html" target="_blank">here</a>.</p>
|
||||
<p><br></p>
|
||||
<p class=rvps3><span class=rvts13>2008</span></p>
|
||||
<p class=rvps4><span class=rvts14>This help file has been generated by the freeware version of </span><a class=rvts15 href="http://www.ibe-software.com/products/software/helpndoc/" target="_blank">HelpNDoc</a></p>
|
||||
<p><span class=rvts12>Hotkeys</span></p>
|
||||
<p><br></p>
|
||||
<p><a class=rvts11 href="{EA4D684B-BEDB-4395-AF94-C9ACAF0B6561}.htm">Hotkeys</a> can be assigned to common search commands so they can be easily selected while in the main window.</p>
|
||||
<p class=rvps3><span class=rvts14>2008</span></p>
|
||||
<p class=rvps4><span class=rvts15>This help file has been generated by the freeware version of </span><a class=rvts16 href="http://www.ibe-software.com/products/software/helpndoc/" target="_blank">HelpNDoc</a></p>
|
||||
|
||||
</body></html>
|
||||
|
|
|
@ -146,7 +146,9 @@ p,ul,ol /* Paragraph Style */
|
|||
<p class=rvps2><span class=rvts13>Getting Started</span></p>
|
||||
<p><span class=rvts10>Using Lua scripting</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p>To run lua scripts you will need the lua pack which can be found <a class=rvts12 href="http://fceux.com/luapack">here</a>. The .dll files must be unzipped in the same folder as fceux.exe.</p>
|
||||
<p>Lua is built into FCEUX as of 2.1.2, and luapack DLL files are no longer needed in this and later versions.</p>
|
||||
<p><br></p>
|
||||
<p>To run lua scripts in older versions of FCEUX, you will need the lua pack which can be found <a class=rvts12 href="http://fceux.com/luapack">here</a>. The .dll files must be unzipped in the same folder as fceux.exe.</p>
|
||||
<p><span class=rvts10><br></span></p>
|
||||
<p><span class=rvts10>Core Lua Documentation</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
|
|
|
@ -270,6 +270,13 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><span class=rvts12>Unhide menu</span></p>
|
||||
<p>If the main FCEUX menu is hidden this option is available. Restores the main menu.</p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts11>Subtitles</span></p>
|
||||
<p><br></p>
|
||||
<p>If a movie is loaded and has subtitles, </p>
|
||||
<p>a toggle subtitles option will be in the menu</p>
|
||||
<p>a Dump to SRT file option will be available. This dumps the subtitles to a standard subtitle file compatible with A/V containers such as .mkv</p>
|
||||
<p><br></p>
|
||||
<p><br></p>
|
||||
<p class=rvps3><span class=rvts15>2008</span></p>
|
||||
<p class=rvps4><span class=rvts16>This help file has been generated by the freeware version of </span><a class=rvts17 href="http://www.ibe-software.com/products/software/helpndoc/" target="_blank">HelpNDoc</a></p>
|
||||
|
||||
|
|
|
@ -148,7 +148,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><br></p>
|
||||
<p><span class=rvts11>Introduction</span></p>
|
||||
<p><br></p>
|
||||
<p>The Trace Logger logs every executed instruction either to a file or to the window. Logging to a file is useful if you just want to dump everything that was executed and then search through it later. Logging to the window is useful when you wish to see the instructions that were executed prior to a breakpoint being hit.</p>
|
||||
<p>The Trace Logger logs every executed instruction and every byte of ROM accessed to the window, or a file if you prefer. Logging to a file is useful if you just want to dump everything that was executed and then search through it later. Logging to the window is useful when you wish to see the instructions that were executed prior to a breakpoint being hit. Both options produce the same data, but the desire to keep that data for a short amount of time or a long amount of time will determine which is best for you.</p>
|
||||
<p><br></p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts11>Using the Trace Logger</span></p>
|
||||
|
|
|
@ -163,14 +163,14 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><br></p>
|
||||
<p>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><br></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:</p>
|
||||
<p>Palettes can be set on a per-game basis. To do this, put a palette file in the same directory the game is in, and add the extension "pal". Examples:</p>
|
||||
<p><br></p>
|
||||
<p> </p>
|
||||
<p> File name: Palette file name:</p>
|
||||
<p> BigBad.nes BigBad.pal</p>
|
||||
<p> BigBad.zip BigBad.pal</p>
|
||||
<p> BigBad.Better.nes BigBad.Better.pal</p>
|
||||
<p> </p>
|
||||
<p><br></p>
|
||||
<p><br></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).</p>
|
||||
<p><br></p>
|
||||
|
|
|
@ -68,24 +68,30 @@ span.rvts10
|
|||
{
|
||||
font-size: 16pt;
|
||||
}
|
||||
span.rvts11 /* Font Style */
|
||||
a.rvts11, span.rvts11
|
||||
{
|
||||
color: #0000ff;
|
||||
text-decoration: underline;
|
||||
}
|
||||
a.rvts11:hover { color: #0000ff; }
|
||||
span.rvts12 /* Font Style */
|
||||
{
|
||||
font-size: 16pt;
|
||||
font-family: 'Tahoma', 'Geneva', sans-serif;
|
||||
color: #ffffff;
|
||||
}
|
||||
span.rvts12 /* Font Style */
|
||||
span.rvts13 /* Font Style */
|
||||
{
|
||||
font-family: 'MS Sans Serif', 'Geneva', sans-serif;
|
||||
color: #808080;
|
||||
}
|
||||
span.rvts13 /* Font Style */
|
||||
span.rvts14 /* Font Style */
|
||||
{
|
||||
font-family: 'Verdana', 'Geneva', sans-serif;
|
||||
font-style: italic;
|
||||
color: #c0c0c0;
|
||||
}
|
||||
a.rvts14, span.rvts14 /* Font Style */
|
||||
a.rvts15, span.rvts15 /* Font Style */
|
||||
{
|
||||
font-family: 'Verdana', 'Geneva', sans-serif;
|
||||
font-style: italic;
|
||||
|
@ -132,7 +138,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<meta name="generator" content="HelpNDoc Free"></head>
|
||||
<body>
|
||||
|
||||
<p class=rvps2><span class=rvts11>Commands</span></p>
|
||||
<p class=rvps2><span class=rvts12>Commands</span></p>
|
||||
<p>(written by qFox)</p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts10>Introduction</span></p>
|
||||
|
@ -325,8 +331,8 @@ p,ul,ol /* Paragraph Style */
|
|||
<p>savestate.load(state); -- load the given savestate</p>
|
||||
<p>savestate.save(state); -- save the given savestate</p>
|
||||
<p><br></p>
|
||||
<p><br></p>
|
||||
<p class=rvps3><span class=rvts12>2008</span></p>
|
||||
<p class=rvps4><span class=rvts13>This help file has been generated by the freeware version of </span><a class=rvts14 href="http://www.ibe-software.com/products/software/helpndoc/" target="_blank">HelpNDoc</a></p>
|
||||
<p>For an up-to-date list of functions, see the <a class=rvts11 href="{D3F1816D-0770-4257-98D2-A21456B07D28}.htm">Lua Functions List</a>.</p>
|
||||
<p class=rvps3><span class=rvts13>2008</span></p>
|
||||
<p class=rvps4><span class=rvts14>This help file has been generated by the freeware version of </span><a class=rvts15 href="http://www.ibe-software.com/products/software/helpndoc/" target="_blank">HelpNDoc</a></p>
|
||||
|
||||
</body></html>
|
||||
|
|
|
@ -154,7 +154,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><span class=rvts10><br></span></p>
|
||||
<p><a class=rvts11 href="{7EEBAD0B-2126-4A8A-864F-61D603111A68}.htm">FCE Ultra Version History</a></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><a class=rvts11 href="{87F48CF9-F17C-478A-A903-D80A85FF6EA2}.htm">What's New?</a></p>
|
||||
<p><a class=rvts11 href="{87F48CF9-F17C-478A-A903-D80A85FF6EA2}.htm">What's Combined In FCEUX?</a></p>
|
||||
<p class=rvps3><span class=rvts14>2008</span></p>
|
||||
<p class=rvps4><span class=rvts15>This help file has been generated by the freeware version of </span><a class=rvts16 href="http://www.ibe-software.com/products/software/helpndoc/" target="_blank">HelpNDoc</a></p>
|
||||
|
||||
|
|
|
@ -164,6 +164,8 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><span class=rvts13><br></span></p>
|
||||
<p><span class=rvts14>Version Releases</span></p>
|
||||
<p><br></p>
|
||||
<p>Look at the Side Bar navigation for changelog information on FCEUX 2.1 and newer.</p>
|
||||
<p><br></p>
|
||||
<p>FCEUX 2.0.3 - Released November 02, 2008 (see <a class=rvts11 href="{F6ADADC6-1EFA-4F9B-9DB4-2A8A9BA3DF38}.htm">changelog</a>)</p>
|
||||
<p><br></p>
|
||||
<p>FCEUX 2.0.2 - Released August 14, 2008 (see <a class=rvts11 href="{F3904462-54ED-430E-9675-08908F3475AF}.htm">changelog</a>)</p>
|
||||
|
@ -213,7 +215,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><span class=rvts13>FCEUXDSP </span>stands for FCEUXD "SP" version and is a branch of FCEUXD 1.0a.</p>
|
||||
<p>It was created in 2006 by sp. The project extends the debugging tools even further compared to FCEUXD by adding new tools, functions, and usability of debugging tools. </p>
|
||||
<p><br></p>
|
||||
<p>The last version of FCEUXDSP was 1.07 which adds a feature known as the <span class=rvts11>RAM Filter</span>.</p>
|
||||
<p>The last version of FCEUXDSP was 1.07 which adds a feature known as the RAM Filter. This has since been removed, due to functional redundancy.</p>
|
||||
<p><br></p>
|
||||
<p><a class=rvts11 href="http://www.the-interweb.com/serendipity/index.php?/categories/9-FCEUXD-SP">FCEUXDSP homepage</a></p>
|
||||
<p><br></p>
|
||||
|
|
|
@ -156,7 +156,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><br></p>
|
||||
<p>Note that the Name Table Viewer will display the name tables using whatever CHR is present at the time the "Display on Scanline" scanline is reached. So for example if it does not correctly display a game's status bar, try setting it to update on a scanline in which the status bar is displayed.</p>
|
||||
<p><br></p>
|
||||
<p>The same applies to the Scroll Lines: they display the state of the PPU scroll registers when the "Display on Scanline" scanline is reached. So for example if said scanline is within the game's status bar, it will not display level scrolling because the horizontal scroll is always zero at the time that scanline is drawn. To display the level scrolling, set it to update on a scanline in which the level is displayed.</p>
|
||||
<p>The same applies to the Scroll Lines: they display the state of the PPU scroll registers when the "Display on Scanline" scanline is reached. So for example if said scanline is within the game's status bar, it will not display level scrolling because the horizontal scroll is always zero at the time that scanline is drawn. To display the level scrolling, set it to update on a scanline in which the level is displayed.</p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts13>Display on scanline</span></p>
|
||||
<p>This will show what it looks like when the NES has finished drawing that many scanlines to screen including any PPU data scroll line movement</p>
|
||||
|
|
|
@ -77,24 +77,30 @@ span.rvts12
|
|||
{
|
||||
font-size: 14pt;
|
||||
}
|
||||
span.rvts13 /* Font Style */
|
||||
a.rvts13, span.rvts13
|
||||
{
|
||||
color: #0000ff;
|
||||
text-decoration: underline;
|
||||
}
|
||||
a.rvts13:hover { color: #0000ff; }
|
||||
span.rvts14 /* Font Style */
|
||||
{
|
||||
font-size: 16pt;
|
||||
font-family: 'Tahoma', 'Geneva', sans-serif;
|
||||
color: #ffffff;
|
||||
}
|
||||
span.rvts14 /* Font Style */
|
||||
span.rvts15 /* Font Style */
|
||||
{
|
||||
font-family: 'MS Sans Serif', 'Geneva', sans-serif;
|
||||
color: #808080;
|
||||
}
|
||||
span.rvts15 /* Font Style */
|
||||
span.rvts16 /* Font Style */
|
||||
{
|
||||
font-family: 'Verdana', 'Geneva', sans-serif;
|
||||
font-style: italic;
|
||||
color: #c0c0c0;
|
||||
}
|
||||
a.rvts16, span.rvts16 /* Font Style */
|
||||
a.rvts17, span.rvts17 /* Font Style */
|
||||
{
|
||||
font-family: 'Verdana', 'Geneva', sans-serif;
|
||||
font-style: italic;
|
||||
|
@ -141,10 +147,10 @@ p,ul,ol /* Paragraph Style */
|
|||
<meta name="generator" content="HelpNDoc Free"></head>
|
||||
<body>
|
||||
|
||||
<p class=rvps2><span class=rvts13>Debugger</span></p>
|
||||
<p class=rvps2><span class=rvts14>Debugger</span></p>
|
||||
<p><span class=rvts10>Debugger</span></p>
|
||||
<p><br></p>
|
||||
<p>Taken from the FCEUXDSP1.07 documentation.</p>
|
||||
<p>Taken from the FCEUXDSP 1.07 documentation.</p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts11>Introduction</span></p>
|
||||
<p><br></p>
|
||||
|
@ -152,10 +158,10 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><br></p>
|
||||
<p><span class=rvts12>Debugger Features</span></p>
|
||||
<p><br></p>
|
||||
<p>-When you hold the mouse over the left pane in the debugger, you can now see the ROM file address of the data loaded there. -Right-click in that pane, it will bring up the Hex Editor at that address so you can immediately begin editing. </p>
|
||||
<p>-When you hold the mouse over the left pane in the debugger, you can now see the ROM file address of the data loaded there.</p>
|
||||
<p>-Right-click in that pane, it will bring up the Hex Editor at that address so you can immediately begin editing. </p>
|
||||
<p>-Left-clicking in that pane brings up the inline assembler. </p>
|
||||
<p>-"Break on bad opcode" feature; this can help you figure out where your game is crashing. Middle-clicking on a byte will bring up the </p>
|
||||
<p> Game Genie Encoder at that address, so you can easily make Game Genie codes.</p>
|
||||
<p>-"Break on bad opcode" feature; this can help you figure out where your game is crashing. Middle-clicking on a byte will bring up the <a class=rvts13 href="{ACA99B5B-9CA3-4E69-B7F7-106D70CF76BF}.htm">Game Genie Encoder</a> at that address, so you can easily make Game Genie codes.</p>
|
||||
<p>-Debugging data like breakpoints or bookmarks are automatically saved and restored when games are closed / opened.</p>
|
||||
<p>-Ability to give breakpoints a brief description/name. </p>
|
||||
<p>-All debugging information for addresses < $8000 into the name list file romname.nes.ram.nl.</p>
|
||||
|
@ -172,7 +178,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><br></p>
|
||||
<p>The most important feature (at least for me) that was introduced in FCEUXD SP is symbolic debugging. With this new feature it's possible to rename addresses in the disassembly window (like $C022) to easily understandable names (like AddHealthpoints). It's also possible to add comments to lines in the disassembly window.</p>
|
||||
<p><br></p>
|
||||
<p>To be able to use this feature it's necessary to create so called name list files (*.nl) which contain all names and comments you wish to display in the disassembly window. These files are plain ASCII files of the following format (example follows):</p>
|
||||
<p>To be able to use this feature it's necessary to create so called name list files (*.(bank).nl/*.ram.nl, Ex: NES Test Cart (PD).nes.0.nl, NES Test Cart (PD).nes.ram.nl) which contain all names and comments you wish to display in the disassembly window. These files are plain ASCII files of the following format (example follows):</p>
|
||||
<p><br></p>
|
||||
<p>$C000#NewName1#Comment1</p>
|
||||
<p>$C002##Comment2</p>
|
||||
|
@ -200,6 +206,10 @@ p,ul,ol /* Paragraph Style */
|
|||
<p>ROM bank 15. As 15 is 0x0F in hex the name of the nl file would be "Faxanadu (U).nes.F.nl". All</p>
|
||||
<p>nl files go into the same directory as the ROM file itself.</p>
|
||||
<p><br></p>
|
||||
<p>There is also the *.ram.nl file specification, which allows you to substitute RAM addresses for</p>
|
||||
<p>execution addresses, and have those named as well. In this case, you could use lines of this type:</p>
|
||||
<p>$00A5#Mic Test OK#00=Not Passed, 01=Passed</p>
|
||||
<p><br></p>
|
||||
<p>You can enable and disable symbolic debugging by clicking the checkbox "Symbolic Debugging" in</p>
|
||||
<p>the debugger window. To forcibly reload the nl files of the currently active ROM file press the</p>
|
||||
<p>button with the text "Reload Symbols".</p>
|
||||
|
@ -219,7 +229,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><span class=rvts12>Inline Assembler</span></p>
|
||||
<p><br></p>
|
||||
<p>The debugger an Inline Assembler designed by Parasyte. To activate it, left-click in the left pane of the debugger, beside the assembly display. To use it, type in some code and press Enter to add it to the patch list. If you make a mistake, press "Undo". Once the patch is set up the way you want it, press "Apply". Be aware that this cannot be undone unless you reload the ROM. Parasyte implemented this feature before I had the Hex Editor working, otherwise I would have implemented a way to undo it from there. Press "Save" to write to the ROM file on disk; note that this will also save any changes you may have done in the Hex Editor.</p>
|
||||
<p class=rvps3><span class=rvts14>2008</span></p>
|
||||
<p class=rvps4><span class=rvts15>This help file has been generated by the freeware version of </span><a class=rvts16 href="http://www.ibe-software.com/products/software/helpndoc/" target="_blank">HelpNDoc</a></p>
|
||||
<p class=rvps3><span class=rvts15>2008</span></p>
|
||||
<p class=rvps4><span class=rvts16>This help file has been generated by the freeware version of </span><a class=rvts17 href="http://www.ibe-software.com/products/software/helpndoc/" target="_blank">HelpNDoc</a></p>
|
||||
|
||||
</body></html>
|
||||
|
|
|
@ -204,7 +204,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><br></p>
|
||||
<p>---- Section "CPUC" (emulator specific)</p>
|
||||
<p><br></p>
|
||||
<p> Name: Type: Description:</p>
|
||||
<p> Name: Type: Description:</p>
|
||||
<p><br></p>
|
||||
<p> JAMM uint8 Non-zero value if CPU in a "jammed" state</p>
|
||||
<p> IRQL uint8 Non-zero value if IRQs are to be generated constantly</p>
|
||||
|
@ -213,7 +213,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><br></p>
|
||||
<p>---- Section "PPU"</p>
|
||||
<p><br></p>
|
||||
<p> Name: Type: Description:</p>
|
||||
<p> Name: Type: Description:</p>
|
||||
<p><br></p>
|
||||
<p> NTAR uint8[0x800] 2 KB of name/attribute table RAM</p>
|
||||
<p> PRAM uint8[32] 32 bytes of palette index RAM</p>
|
||||
|
@ -231,7 +231,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><br></p>
|
||||
<p>---- Section "CTLR" (somewhat emulator specific)</p>
|
||||
<p><br></p>
|
||||
<p> Name: Type: Description:</p>
|
||||
<p> Name: Type: Description:</p>
|
||||
<p><br></p>
|
||||
<p> J1RB uint8 Bit to be returned when first joystick is read.</p>
|
||||
<p> J2RB uint8 Bit to be returned when second joystick is read.</p>
|
||||
|
@ -251,7 +251,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><br></p>
|
||||
<p> For iNES-format games(incomplete, and doesn't apply to every game):</p>
|
||||
<p><br></p>
|
||||
<p> Name: Type: Description:</p>
|
||||
<p> Name: Type: Description:</p>
|
||||
<p><br></p>
|
||||
<p> WRAM uint8[0x2000] 8KB of WRAM at $6000-$7fff</p>
|
||||
<p> MEXR uint8[0x8000] (very emulator specific)</p>
|
||||
|
@ -267,23 +267,23 @@ p,ul,ol /* Paragraph Style */
|
|||
<p> IQL1 uint32 Generic IRQ latch</p>
|
||||
<p> IQL2 uint32 Generic IRQ latch</p>
|
||||
<p> IRQA uint8 Generic IRQ on/off register.</p>
|
||||
<p> PBL uint8[4] List of 4 8KB ROM banks paged in at $8000-$FFFF</p>
|
||||
<p> CBL uint8[8] List of 8 1KB VROM banks page in at $0000-$1FFF(PPU).</p>
|
||||
<p> PBL uint8[4] List of 4 8KB ROM banks paged in at $8000-$FFFF</p>
|
||||
<p> CBL uint8[8] List of 8 1KB VROM banks page in at $0000-$1FFF(PPU).</p>
|
||||
<p><br></p>
|
||||
<p> For FDS games(incomplete):</p>
|
||||
<p><br></p>
|
||||
<p> Name: Type: Description:</p>
|
||||
<p> Name: Type: Description:</p>
|
||||
<p><br></p>
|
||||
<p> DDT<x> uint8[65500] Disk data for side x(0-3).</p>
|
||||
<p> DDT<x> uint8[65500] Disk data for side x(0-3).</p>
|
||||
<p> FDSR uint8[0x8000] 32 KB of work RAM</p>
|
||||
<p> CHRR uint8[0x2000] 8 KB of CHR RAM</p>
|
||||
<p> IRQC uint32 IRQ counter</p>
|
||||
<p> IQL1 uint32 IRQ latch</p>
|
||||
<p> IRQA uint8 IRQ on/off.</p>
|
||||
<p> IRQC uint32 IRQ counter</p>
|
||||
<p> IQL1 uint32 IRQ latch</p>
|
||||
<p> IRQA uint8 IRQ on/off.</p>
|
||||
<p><br></p>
|
||||
<p> WAVE uint8[64] Carrier waveform data.</p>
|
||||
<p> MWAV uint8[32] Modulator waveform data.</p>
|
||||
<p> AMPL uint8[2] Amplitude data.</p>
|
||||
<p> AMPL uint8[2] Amplitude data.</p>
|
||||
<p><br></p>
|
||||
<p class=rvps3><span class=rvts11>2008</span></p>
|
||||
<p class=rvps4><span class=rvts12>This help file has been generated by the freeware version of </span><a class=rvts13 href="http://www.ibe-software.com/products/software/helpndoc/" target="_blank">HelpNDoc</a></p>
|
||||
|
|
|
@ -64,24 +64,28 @@ span.rvts9 /* Font Hint Italic */
|
|||
font-style: italic;
|
||||
color: #808080;
|
||||
}
|
||||
span.rvts10 /* Font Style */
|
||||
span.rvts10
|
||||
{
|
||||
font-family: 'Courier New', 'Courier', monospace;
|
||||
}
|
||||
span.rvts11 /* Font Style */
|
||||
{
|
||||
font-size: 16pt;
|
||||
font-family: 'Tahoma', 'Geneva', sans-serif;
|
||||
color: #ffffff;
|
||||
}
|
||||
span.rvts11 /* Font Style */
|
||||
span.rvts12 /* Font Style */
|
||||
{
|
||||
font-family: 'MS Sans Serif', 'Geneva', sans-serif;
|
||||
color: #808080;
|
||||
}
|
||||
span.rvts12 /* Font Style */
|
||||
span.rvts13 /* Font Style */
|
||||
{
|
||||
font-family: 'Verdana', 'Geneva', sans-serif;
|
||||
font-style: italic;
|
||||
color: #c0c0c0;
|
||||
}
|
||||
a.rvts13, span.rvts13 /* Font Style */
|
||||
a.rvts14, span.rvts14 /* Font Style */
|
||||
{
|
||||
font-family: 'Verdana', 'Geneva', sans-serif;
|
||||
font-style: italic;
|
||||
|
@ -128,7 +132,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<meta name="generator" content="HelpNDoc Free"></head>
|
||||
<body>
|
||||
|
||||
<p class=rvps2><span class=rvts10>NES Sound</span></p>
|
||||
<p class=rvps2><span class=rvts11>NES Sound</span></p>
|
||||
<p>*******************************************</p>
|
||||
<p>*2A03 sound channel hardware documentation*</p>
|
||||
<p>*******************************************</p>
|
||||
|
@ -233,8 +237,8 @@ p,ul,ol /* Paragraph Style */
|
|||
<p>$4004-$4007 Square wave 2 (identical to the first, except for upward frequency sweeps (see "sweep unit" section))</p>
|
||||
<p>$4008-$400B Triangle</p>
|
||||
<p>$400C-$400F Noise</p>
|
||||
<p>$4015 Channel enable / length/frame counter status</p>
|
||||
<p>$4017 frame counter control</p>
|
||||
<p>$4015 Channel enable / length/frame counter status</p>
|
||||
<p>$4017 frame counter control</p>
|
||||
<p><br></p>
|
||||
<p> Note that $4015 (and $4017, but is unrelated to sound hardware) are the only R/W registers. All others are write only (attempt to read them will most likely return the last byte on the bus (usually 040H), due to heavy capacitance on the NES's data bus). Reading a "write only" register, will have no effect on the specific register, or channel.</p>
|
||||
<p><br></p>
|
||||
|
@ -332,18 +336,18 @@ p,ul,ol /* Paragraph Style */
|
|||
<p>************************</p>
|
||||
<p> This section will describe the internal components making up each individual channel. Each component will then be described in full detail.</p>
|
||||
<p><br></p>
|
||||
<p>Device Triangle Noise Square</p>
|
||||
<p>------ -------- ------ ------</p>
|
||||
<p>triangle step generator X</p>
|
||||
<p>linear counter X</p>
|
||||
<p>programmable timer X X X</p>
|
||||
<p>length counter X X X</p>
|
||||
<p>4-bit DAC X X X</p>
|
||||
<p>volume/envelope decay unit X X</p>
|
||||
<p>sweep unit X</p>
|
||||
<p>duty cycle generator X</p>
|
||||
<p>wavelength converter X</p>
|
||||
<p>random number generator X</p>
|
||||
<p><span class=rvts10>Device Triangle Noise Square</span></p>
|
||||
<p><span class=rvts10>------ -------- ------ ------</span></p>
|
||||
<p><span class=rvts10>triangle step generator X</span></p>
|
||||
<p><span class=rvts10>linear counter X</span></p>
|
||||
<p><span class=rvts10>programmable timer X X X</span></p>
|
||||
<p><span class=rvts10>length counter X X X</span></p>
|
||||
<p><span class=rvts10>4-bit DAC X X X</span></p>
|
||||
<p><span class=rvts10>volume/envelope decay unit X X</span></p>
|
||||
<p><span class=rvts10>sweep unit X</span></p>
|
||||
<p><span class=rvts10>duty cycle generator X</span></p>
|
||||
<p><span class=rvts10>wavelength converter X</span></p>
|
||||
<p><span class=rvts10>random number generator X</span></p>
|
||||
<p><br></p>
|
||||
<p><br></p>
|
||||
<p>+-------------------------+</p>
|
||||
|
@ -442,7 +446,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<p> The 5-bit length value written, determines what 7-bit value the length counter will start counting from. A conversion table here will show how the values are translated.</p>
|
||||
<p><br></p>
|
||||
<p> +-----------------------+</p>
|
||||
<p> | bit3=0 |</p>
|
||||
<p> | bit3=0 |</p>
|
||||
<p> +-------+---------------+</p>
|
||||
<p> | |frames |</p>
|
||||
<p> |bits +-------+-------+</p>
|
||||
|
@ -680,7 +684,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><br></p>
|
||||
<p><br></p>
|
||||
<p>EOF</p>
|
||||
<p class=rvps3><span class=rvts11>2008</span></p>
|
||||
<p class=rvps4><span class=rvts12>This help file has been generated by the freeware version of </span><a class=rvts13 href="http://www.ibe-software.com/products/software/helpndoc/" target="_blank">HelpNDoc</a></p>
|
||||
<p class=rvps3><span class=rvts12>2008</span></p>
|
||||
<p class=rvps4><span class=rvts13>This help file has been generated by the freeware version of </span><a class=rvts14 href="http://www.ibe-software.com/products/software/helpndoc/" target="_blank">HelpNDoc</a></p>
|
||||
|
||||
</body></html>
|
||||
|
|
|
@ -159,7 +159,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><br></p>
|
||||
<p><span class=rvts11>Making Game Genie codes permanent</span></p>
|
||||
<p><br></p>
|
||||
<p>Using the Game Genie Code Decoder/Encoder, enter in your code in the "Game Genie Code" box, and under "Possible Affected ROM File Addresses", a list of possible matches (usually from 1 to 5) is displayed. Using the built-in Hex Editor, go to the first listed address in the ROM, and change its value to the value given in the "Value" box (of the GG code Decoder/Encoder window). If the desired effect isn't achieved, undo the change (Ctrl+Z) and try the next address. Repeat until the desired effect is achieved, and then save the ROM.</p>
|
||||
<p>Using the Game Genie Code Decoder/Encoder, enter in your code in the "Game Genie Code" box, and under "Possible Affected ROM File Addresses", a list of possible matches (usually from 1 to 5) is displayed. Using the built-in Hex Editor, go to the first listed address in the ROM, and change its value to the value given in the "Value" box (of the GG code Decoder/Encoder window). If the desired effect isn't achieved, undo the change (Ctrl+Z) and try the next address. Repeat until the desired effect is achieved, and then save the ROM.</p>
|
||||
<p><br></p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts11>How do I make my own Game Genie codes?</span></p>
|
||||
|
@ -170,7 +170,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<p>* know how to use the debugger;</p>
|
||||
<p>* understand NES PRG-ROM bank switching.</p>
|
||||
<p><br></p>
|
||||
<p>Once you've found a part of PRG-ROM you want to change to create a code effect, snap the <a class=rvts12 href="{8A78E5FE-C7EB-418D-A921-F9A6782663F0}.htm">Debugger</a> (if it's not so already) and find the code's location in the PRG-ROM's address space ($8000-$FFFF) (you'll want the debugger snapped so the game won't swap banks out from under you). Then, using the built-in <a class=rvts12 href="{06F7BBD5-399E-4CA0-8E4E-75BE0ACC525A}.htm">Hex Editor</a>, view the NES memory and go to the PRG-ROM address you wish to modify, then right-click the byte and choose "Create Game Genie Code at this Address". The Game Genie Code Decoder/Encoder will appear, with the Address and Compare boxes filled in (the Compare box represents the address's original value). Enter the new value into the "Value" box. </p>
|
||||
<p>Once you've found a part of PRG-ROM you want to change to create a code effect, snap the <a class=rvts12 href="{8A78E5FE-C7EB-418D-A921-F9A6782663F0}.htm">Debugger</a> (if it's not so already) and find the code's location in the PRG-ROM's address space ($8000-$FFFF) (you'll want the debugger snapped so the game won't swap banks out from under you). Then, using the built-in <a class=rvts12 href="{06F7BBD5-399E-4CA0-8E4E-75BE0ACC525A}.htm">Hex Editor</a>, view the NES memory and go to the PRG-ROM address you wish to modify, then right-click the byte and choose "Create Game Genie Code at this Address". The Game Genie Code Decoder/Encoder will appear, with the Address and Compare boxes filled in (the Compare box represents the address's original value). Enter the new value into the "Value" box. </p>
|
||||
<p><br></p>
|
||||
<p>An alternative way to enter the code is to locate the desired address in the debugger, and then middle-click on it, which will summon the GG Code Decoder/Encoder. Then enter the code as described above</p>
|
||||
<p class=rvps3><span class=rvts14>2008</span></p>
|
||||
|
|
|
@ -87,24 +87,28 @@ span.rvts14
|
|||
font-size: 24pt;
|
||||
text-decoration: underline;
|
||||
}
|
||||
span.rvts15 /* Font Style */
|
||||
span.rvts15
|
||||
{
|
||||
font-weight: bold;
|
||||
}
|
||||
span.rvts16 /* Font Style */
|
||||
{
|
||||
font-size: 16pt;
|
||||
font-family: 'Tahoma', 'Geneva', sans-serif;
|
||||
color: #ffffff;
|
||||
}
|
||||
span.rvts16 /* Font Style */
|
||||
span.rvts17 /* Font Style */
|
||||
{
|
||||
font-family: 'MS Sans Serif', 'Geneva', sans-serif;
|
||||
color: #808080;
|
||||
}
|
||||
span.rvts17 /* Font Style */
|
||||
span.rvts18 /* Font Style */
|
||||
{
|
||||
font-family: 'Verdana', 'Geneva', sans-serif;
|
||||
font-style: italic;
|
||||
color: #c0c0c0;
|
||||
}
|
||||
a.rvts18, span.rvts18 /* Font Style */
|
||||
a.rvts19, span.rvts19 /* Font Style */
|
||||
{
|
||||
font-family: 'Verdana', 'Geneva', sans-serif;
|
||||
font-style: italic;
|
||||
|
@ -151,7 +155,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<meta name="generator" content="HelpNDoc Free"></head>
|
||||
<body>
|
||||
|
||||
<p class=rvps2><span class=rvts15>Cheat Search</span></p>
|
||||
<p class=rvps2><span class=rvts16>Cheat Search</span></p>
|
||||
<p><span class=rvts14>FCE Ultra Cheat Guide</span></p>
|
||||
<p><span class=rvts10><br></span></p>
|
||||
<p><span class=rvts10>Introduction</span></p>
|
||||
|
@ -195,6 +199,12 @@ p,ul,ol /* Paragraph Style */
|
|||
<p>You can add, delete, and update cheats in the active cheats window with the boxes below.</p>
|
||||
<p>To find an address use the cheat search portion of the window.</p>
|
||||
<p><br></p>
|
||||
<p>There is also a right-click menu with the options Toggle Cheat, Poke Cheat Value, and Goto In Hex Editor.</p>
|
||||
<p><br></p>
|
||||
<p>Toggle Cheat is like Double Clicking. It enables or disables the cheat code.</p>
|
||||
<p>Poke Cheat Value is like turning the cheat on, but in this case there's no off switch. If the code is on when you use this, then when the code is turned off, it will revert to the value last used. Good for one time life refills, if you want that sort of thing.</p>
|
||||
<p>Goto in Hex Editor opens the Hex Editor window, and puts the cursor on the address shown. It's somewhat similar to how Bookmarks work in the Hex Editor.</p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts12>Cheat Search</span></p>
|
||||
<p><br></p>
|
||||
<p>The cheat search is used to find a specific value in the games RAM by process of elimination.</p>
|
||||
|
@ -223,7 +233,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><br></p>
|
||||
<p>Any value in the possibilities list can be sent to memory watch by double clicking it. </p>
|
||||
<p>Highlighting it and hitting the "Add" button under the Active cheats window will automatically activate it as a cheat with the value set to its current value.</p>
|
||||
<p><span class=rvts12><br></span></p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts12>Example</span></p>
|
||||
<p><br></p>
|
||||
<p>Here is an example of cheat search in action.</p>
|
||||
|
@ -231,8 +241,17 @@ p,ul,ol /* Paragraph Style */
|
|||
<p>Let's say I am playing Mega man 3 and I want to find Mega man's energy level in the game's ram. I will start by opening the ROM and selecting a level. At this point, I know Mega man's energy address is active. So I will pause the game and open the cheat search and hit the reset button. The game uses SRAM so the possibilities window will say 10240 "possibilities". </p>
|
||||
<p>Next I will frame advance (or briefly unpause) the game. At this point I know Mega man's energy level is still the same as it was. So I click the "equal" button. Next I want to take damage. I know for sure now that the energy level has decreased so after the "ouch" animation, I click the "Less than button". This will cut the possibilities down significantly. Next I will advance some more and click the "Equal" button since I know the value is still the previous value. I will repeat this cycle until I am down to 1 or just a few values. From there I can double click the values to send them to memory watch to monitor them more closely to weed them out. (Note: Mega man's energy is located in $00A2).</p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts12>Context Menu</span></p>
|
||||
<p><br></p>
|
||||
<p class=rvps3><span class=rvts16>2008</span></p>
|
||||
<p class=rvps4><span class=rvts17>This help file has been generated by the freeware version of </span><a class=rvts18 href="http://www.ibe-software.com/products/software/helpndoc/" target="_blank">HelpNDoc</a></p>
|
||||
<p>Right-clicking in the active cheats list brings up the context menu.</p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts15>Toggle Cheat</span> - does the same thing as double clicking</p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts15>Poke cheat value</span> - has a different affect that normal freezing, this makes a one time write of that value as opposed to freezing it temporarily to that value and having it restored later. It has the same affect as typing in values in the <a class=rvts11 href="{06F7BBD5-399E-4CA0-8E4E-75BE0ACC525A}.htm">Hex Editor</a>.</p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts15>Goto In Hex Editor</span> - Opens the <a class=rvts11 href="{06F7BBD5-399E-4CA0-8E4E-75BE0ACC525A}.htm">Hex editor</a> dialog to the position of the selected RAM value.</p>
|
||||
<p><br></p>
|
||||
<p class=rvps3><span class=rvts17>2008</span></p>
|
||||
<p class=rvps4><span class=rvts18>This help file has been generated by the freeware version of </span><a class=rvts19 href="http://www.ibe-software.com/products/software/helpndoc/" target="_blank">HelpNDoc</a></p>
|
||||
|
||||
</body></html>
|
||||
|
|
|
@ -152,7 +152,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><span class=rvts12>Slow emulation / Sound crackle</span></p>
|
||||
<p><br></p>
|
||||
<p>FCEUX may not run well on slower CPU's. You can improve performance by setting sound to low quality in the<a class=rvts11 href="{57C3F33F-6EEB-4881-8968-B3E0DC60FADD}.htm"> Sound Dialog</a>. In addition, for windowed mode try enabling hardware acceleration in the <a class=rvts11 href="{849BF734-E954-4544-8892-20606DFCF779}.htm">Video config</a> dialog may also help.</p>
|
||||
<p> </p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts12>Slow savestates when recording movies</span></p>
|
||||
<p><br></p>
|
||||
<p>On slower computers, savestates can be slow with long movies. A small speedup can be done by disabling config > enable > Backup savestates.</p>
|
||||
|
@ -178,7 +178,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><br></p>
|
||||
<p>Double check you have the Lua .dll files that came packaged with FCEUX 2.1. They must be in the /dll folder from the root directory (where fceux.exe is stored).</p>
|
||||
<p><br></p>
|
||||
<p> </p>
|
||||
<p> </p>
|
||||
<p><span class=rvts12>"Directdraw: Error creating secondary surface"</span></p>
|
||||
<p><br></p>
|
||||
<p>Currently this error will happen when attempting to do Full screen mode on Windows Vista. In addition, there has been one reported case of this happening on the 32-bit version of Windows XP. This is a known issue with FCEUX that has not yet been resolved.</p>
|
||||
|
|
|
@ -312,7 +312,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><br></p>
|
||||
<p>There are always the following blocks:</p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts17>Sprite Data </span>Block 2 </p>
|
||||
<p><span class=rvts17>Sprite Data </span>Block 2</p>
|
||||
<p><br></p>
|
||||
<p>I've yet to see map a game that does not use this block solely for sprite data. It will contain the "ID" numbers for all the items currently on the screen. Simply put, this data is precisely the data you see on the screen. For making TAS movies this is not useful data. If you are using cheat search and have narrowed it down your search to a few values, you can immediately discard any $02xx values.</p>
|
||||
<p><br></p>
|
||||
|
|
|
@ -157,14 +157,14 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><br></p>
|
||||
<p><span class=rvts14>Setting up controllers</span></p>
|
||||
<p><br></p>
|
||||
<p>On the pull down menus, you can select the device you want to be emulated on input ports 1 and 2 (game pad, zapper, pad, paddle). </p>
|
||||
<p>The device currently being emulated on each port is listed above the drop down list; loading certain games will override your settings, but only temporarily. </p>
|
||||
<p>On the pull down menus, you can select the device you want to be emulated on input ports 1 and 2 (game pad, zapper, pad, paddle). If you check the box labeled "Attach four-score(implies four gamepads)", you won't be able to select any of these options, because the four-score allowed someone to use 2 extra controllers.</p>
|
||||
<p>The device currently being emulated on each port is listed above the drop down list; loading certain games will override your settings, but only temporarily.</p>
|
||||
<p><br></p>
|
||||
<p>To bind these controls to specific keys/joystick controls use the "configure" the device listed above each drop-down list.</p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts11>Zapper / Arkanoid Paddle</span></p>
|
||||
<p><br></p>
|
||||
<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>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><br></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>
|
||||
<p><br></p>
|
||||
|
@ -180,9 +180,13 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><br></p>
|
||||
<p>In addition to the traditional famicom controller, FCEUX can emulate 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.</p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts11>Replace Port 2 Start With Microphone</span></p>
|
||||
<p><br></p>
|
||||
<p>Checking this box will replace the Start button used by controller 2 with the microphone option found on the famicom. Pressing the Microphone button is like blowing or yelling into it on the console equipment. The Port 2 controller used for the Famicom included a microphone and a volume control in place of the Start and Select buttons. This option isn't automatically detected, so it has to be manually enabled by the user. Movie files may also enable and use this feature. Both Famicom Cartridges and Famicom Disks have made use of this feature, such as both the cartridge and disk version of Zelda 1, Hikari Shinwa, and Takeshi no Chosenjo. Games other than those listed here use this feature.</p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts14>Input Presets</span></p>
|
||||
<p><span class=rvts14><br></span></p>
|
||||
<p>This feature allow you to set the current input configuration to one of three presets. This gives you the option to quickly change from one input configuration to another (such as toggling between 1 or 2 controllers and/or toggling from controller 2 being bound to controller 1 or having its own controls).</p>
|
||||
<p>This feature allow you to set the current input configuration to one of three presets. This gives you the option to quickly change from one input configuration to another (such as toggling between 1 or 2 controllers and/or toggling from controller 2 being bound to controller 1 or having its own controls).</p>
|
||||
<p><br></p>
|
||||
<p>To assign the current input configuration to a preset press the down arrow next to one of the presets. To assign the preset as the current input configuration press the up arrow or use the hotkey assigned to that specific preset. Preset hotkeys can be assigned in the <a class=rvts13 href="{EA4D684B-BEDB-4395-AF94-C9ACAF0B6561}.htm">Map Hotkeys</a> menu.</p>
|
||||
<p><br></p>
|
||||
|
|
|
@ -208,7 +208,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<p class=rvps2><span class=rvts24>Lua Functions List</span></p>
|
||||
<p><span class=rvts10>Lua Functions</span></p>
|
||||
<p><br></p>
|
||||
<p>The following functions are available in FCEUX:</p>
|
||||
<p>The following functions are available in FCEUX, in addition to standard LUA capabilities:</p>
|
||||
<p><br></p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts13>Emu library</span></p>
|
||||
|
@ -275,13 +275,15 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Returns true if emulation has started, or false otherwise. Certain operations such as using savestates are invalid to attempt before emulation has started. You probably won't need to use this function unless you want to make your script extra-robust to being started too early.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>bool emu.getreadonly()</span></p>
|
||||
<p><span class=rvts14>bool emu.readonly()</span></p>
|
||||
<p><span class=rvts11>Alias: movie.readonly</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Returns whether the emulator is in read-only state. </span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>While this variable only applies to movies, it is stored as a global variable and can be modified even without a movie loaded. Hence, it is in the emu library rather than the movie library.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>emu.setreadonly(bool state)</span></p>
|
||||
<p><span class=rvts11>Alias: movie.setreadonly</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Sets the read-only status to read-only if argument is true and read+write if false.</span></p>
|
||||
<p><span class=rvts11>Note: This might result in an error if the medium of the movie file is not writeable (such as in an archive file).</span></p>
|
||||
|
@ -308,6 +310,36 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Note that restarting a script counts as stopping it and then starting it again, so doing so (either by clicking "Restart" or by editing the script while it is running) will trigger the callback. Note also that returning from a script generally does NOT count as stopping (because your script is still running or waiting to run its callback functions and thus does not stop... see here for more information), even if the exit callback is the only one you have registered. </span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>bool emu.addgamegenie(string str)</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Adds a Game Genie code to the Cheats menu. Returns false and an error message if the code can't be decoded. Returns false if the code couldn't be added. Returns true if the code already existed, or if it was added.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Usage: emu.addgamegenie("NUTANT")</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Note that the Cheats Dialog Box won't show the code unless you close and reopen it.</span></p>
|
||||
<p><span class=rvts14><br></span></p>
|
||||
<p><span class=rvts14>bool emu.delgamegenie(string str)</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Removes a Game Genie code from the Cheats menu. Returns false and an error message if the code can't be decoded. Returns false if the code couldn't be deleted. Returns true if the code didn't exist, or if it was deleted.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Usage: emu.delgamegenie("NUTANT")</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Note that the Cheats Dialog Box won't show the code unless you close and reopen it.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>emu.print(string str)</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Puts a message into the Output Console area of the Lua Script control window. Useful for displaying usage instructions to the user when a script gets run.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>emu.getscreenpixel(int x, int y, bool getemuscreen)</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Returns the separate RGB components of the given screen pixel, and the palette. Can be 0-255 by 0-239, but NTSC only displays 0-255 x 8-231 of it. If getemuscreen is false, this gets background colors from either the screen pixel or the LUA pixels set, but LUA data may not match the information used to put the data to the screen. If getemuscreen is true, this gets background colors from anything behind an LUA screen element.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Usage is local r,g,b,palette = emu.getscreenpixel(5, 5, false) to retrieve the current red/green/blue colors and palette value of the pixel at 5x5.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Palette value can be 0-63, or 254 if there was an error.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>You can avoid getting LUA data by putting the data into a function, and feeding the function name to emu.registerbefore.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts13>FCEU library</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>The FCEU library is the same as the emu library. It is left in for backwards compatibility. However, the emu library is preferred.</span></p>
|
||||
|
@ -315,6 +347,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><span class=rvts16>ROM Library</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>rom.readbyte(int address)</span></p>
|
||||
<p><span class=rvts14>rom.readbyteunsigned(int address)</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Get an unsigned byte from the actual ROM file at the given address. </span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
|
@ -322,19 +355,14 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>rom.readbytesigned(int address)</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Get a signed byte from the actual ROM failed at the given address. Returns a byte that is signed.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>This includes the header! It's the same as opening the file in a hex-editor.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>rom.readbyteunsigned(int address)</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Get a signed byte from the actual ROM failed at the given address. Returns a byte that is signed.</span></p>
|
||||
<p><span class=rvts11>Get a signed byte from the actual ROM file at the given address. Returns a byte that is signed.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>This includes the header! It's the same as opening the file in a hex-editor.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts16>Memory Library</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>memory.readbyte(int address)</span></p>
|
||||
<p><span class=rvts14>memory.readbyteunsigned(int address)</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Get an unsigned byte from the RAM at the given address. Returns a byte regardless of emulator. The byte will always be positive.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
|
@ -346,10 +374,6 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Get a signed byte from the RAM at the given address. Returns a byte regardless of emulator. The most significant bit will serve as the sign.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>memory.readbyteunsigned(int address)</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Get an unsigned byte from the RAM at the given address. Returns a byte regardless of emulator. The byte will always be positive.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>memory.writebyte(int address, int value)</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Write the value to the RAM at the given address. The value is modded with 256 before writing (so writing 257 will actually write 1). Negative values allowed.</span></p>
|
||||
|
@ -394,6 +418,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><span class=rvts16>Joypad Library</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>table joypad.get(int player)</span></p>
|
||||
<p><span class=rvts15>table joypad.read(</span><span class=rvts14>int player</span><span class=rvts15>)</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Returns a table of every game button, where each entry is true if that button is currently held (as of the last time the emulation checked), or false if it is not held. This takes keyboard inputs, not Lua. The table keys look like this (case sensitive):</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
|
@ -401,15 +426,20 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Where a Lua truthvalue true means that the button is set, false means the button is unset. Note that only "false" and "nil" are considered a false value by Lua. Anything else is true, even the number 0.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>joypad.read left in for backwards compatibility with older versions of FCEU/FCEUX.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>table joypad.getdown(int player)</span></p>
|
||||
<p><span class=rvts14>table joypad.readdown(int player)</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Returns a table of only the game buttons that are currently held. Each entry is true if that button is currently held (as of the last time the emulation checked), or nil if it is not held.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>table joypad.getup(int player)</span></p>
|
||||
<p><span class=rvts14>table joypad.readup(int player)</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Returns a table of only the game buttons that are not currently held. Each entry is nil if that button is currently held (as of the last time the emulation checked), or false if it is not held.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>joypad.set(int player, table input)</span></p>
|
||||
<p><span class=rvts15>joypad.write(</span><span class=rvts14>int player, table input</span><span class=rvts15>)</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Set the inputs for the given player. Table keys look like this (case sensitive):</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
|
@ -425,13 +455,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>nil and "invert" exists so the script can control individual buttons of the controller without entirely blocking the user from having any control. Perhaps there is a process which can be automated by the script, like an optimal firing pattern, but the user still needs some manual control, such as moving the character around.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts15>table joypad.read()</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>A alias of joypad.get(). Left in for backwards compatibility with older versions of FCEU/FCEUX.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts15>joypad.write()</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>A alias of joypad.set(). Left in for backwards compatibility with older versions of FCEU/FCEUX.</span></p>
|
||||
<p><span class=rvts11>joypad.write left in for backwards compatibility with older versions of FCEU/FCEUX.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts12>Zapper Library</span></p>
|
||||
|
@ -452,19 +476,29 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><span class=rvts12>Input Library</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>table input.get()</span></p>
|
||||
<p><span class=rvts14>table input.read()</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Reads input from keyboard and mouse. Returns pressed keys and the position of mouse in pixels on game screen. The function returns a table with at least two properties; table.xmouse and table.ymouse. Additionally any of these keys will be set to true if they were held at the time of executing this function:</span></p>
|
||||
<p><span class=rvts11>leftclick, rightclick, middleclick, capslock, numlock, scrolllock, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23, F24, backspace, tab, enter, shift, control, alt, pause, escape, space, pageup, pagedown, end, home, left, up, right, down, numpad0, numpad1, numpad2, numpad3, numpad4, numpad5, numpad6, numpad7, numpad8, numpad9, numpad*, insert, delete, numpad+, numpad-, numpad., numpad/, semicolon, plus, minus, comma, period, slash, backslash, tilde, quote, leftbracket, rightbracket.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>string input.popup</span></p>
|
||||
<p><span class=rvts11>Alias: gui.popup</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Requests input from the user using a multiple-option message box. See gui.popup for complete usage and returns.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts12>Savestate Library</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts15>object savestate.create(int slot = nil)</span></p>
|
||||
<p><span class=rvts15>object savestate.object(int slot = nil)</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Create a new savestate object. Optionally you can save the current state to one of the predefined slots (0...9), otherwise you'll create an "anonymous" savestate.</span></p>
|
||||
<p><span class=rvts11>Create a new savestate object. Optionally you can save the current state to one of the predefined slots(1-10) using the range 1-9 for slots 1-9, and 10 for 0, QWERTY style. Using no number will create an "anonymous" savestate.</span></p>
|
||||
<p><span class=rvts11>Note that this does not actually save the current state! You need to create this value and pass it on to the load and save functions in order to save it.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Anonymous savestates are temporary, memory only states. You can make them persistent by calling memory.persistent(state). Persistent anonymous states are deleted from disk once the script exits.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts15>object savestate.create(int slot = nil)</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>savestate.create is identical to savestate.object, except for the numbering for predefined slots(1-10, 1 refers to slot 0, 2-10 refer to 1-9). It's being left in for compatibility with older scripts, and potentially for platforms with different internal predefined slot numbering.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts15>savestate.save(object savestate)</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Save the current state object to the given savestate. The argument is the result of savestate.create(). You can load this state back up by calling savestate.load(savestate) on the same object.</span></p>
|
||||
|
@ -493,9 +527,12 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>savestate.loadscriptdata(int location)</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Accuracy not yet confirmed.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Intended Function, according to snes9x LUA documentation:</span></p>
|
||||
<p><span class=rvts11>Returns the data associated with the given savestate (data that was earlier returned by a registered save callback) without actually loading the rest of that savestate or calling any callbacks. location should be a save slot number.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11> </span></p>
|
||||
<p><span class=rvts16>Movie Library</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>bool movie.active()</span></p>
|
||||
|
@ -512,6 +549,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>- "record"</span></p>
|
||||
<p><span class=rvts11>- "playback"</span></p>
|
||||
<p><span class=rvts11>- "finished"</span></p>
|
||||
<p><span class=rvts11>- nil</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>movie.rerecordcounting(bool counting)</span></p>
|
||||
|
@ -528,14 +566,20 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><span class=rvts11>Returns the total number of frames of the current movie. Throws a Lua error if no movie is loaded.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>string movie.name()</span></p>
|
||||
<p><span class=rvts14>string movie.getname()</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Returns the filename of the current movie. Throws a Lua error if no movie is loaded.</span></p>
|
||||
<p><span class=rvts11>Returns the filename of the current movie with path. Throws a Lua error if no movie is loaded.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>movie.getfilename()</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Returns the filename of the current movie with no path. Throws a Lua error if no movie is loaded.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>movie.rerecordcount()</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Returns the rerecord count of the current movie. Throws a Lua error if no movie is loaded.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>movie.replay()</span></p>
|
||||
<p><span class=rvts14>movie.playbeginning()</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Performs the Play from Beginning function. Movie mode is switched to read-only and the movie loaded will begin playback from frame 1.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
|
@ -543,19 +587,17 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>bool movie.readonly()</span></p>
|
||||
<p><span class=rvts14>bool movie.getreadonly()</span></p>
|
||||
<p><span class=rvts14><br></span></p>
|
||||
<p><span class=rvts11>These have the same effect.</span></p>
|
||||
<p><span class=rvts11>Alias: emu.getreadonly</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Same as emu.getreadonly()</span></p>
|
||||
<p><span class=rvts11>FCEUX keeps the read-only status even without a movie loaded.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Returns whether the emulator is in read-only state. </span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>While this variable only applies to movies, it is stored as a global variable and can be modified even without a movie loaded. Hence, it is in the emu library rather than the movie library.</span></p>
|
||||
<p><span class=rvts11>While this variable only applies to movies, it is stored as a global variable and can be modified even without a movie loaded. Hence, it is in the emu library rather than the movie library.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>movie.setreadonly(bool state)</span></p>
|
||||
<p><span class=rvts11>Alias: emu.setreadonly</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Same as emu.setreadonly()</span></p>
|
||||
<p><span class=rvts11>FCEUX keeps the read-only status even without a movie loaded.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Sets the read-only status to read-only if argument is true and read+write if false.</span></p>
|
||||
|
@ -571,6 +613,18 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Returns true if there is a movie loaded and in play mode.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>bool movie.ispoweron()</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Returns true if the movie recording or loaded started from 'Start'.</span></p>
|
||||
<p><span class=rvts11>Returns false if the movie uses a save state.</span></p>
|
||||
<p><span class=rvts11>Opposite of movie.isfromsavestate()</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>bool movie.isfromsavestate()</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Returns true if the movie recording or loaded started from 'Now'.</span></p>
|
||||
<p><span class=rvts11>Returns false if the movie was recorded from a reset.</span></p>
|
||||
<p><span class=rvts11>Opposite of movie.ispoweron()</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>string movie.name()</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>If a movie is loaded it returns the name of the movie, else it throws an error.</span></p>
|
||||
|
@ -582,28 +636,47 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><span class=rvts12>GUI Library</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>gui.pixel(int x, int y, type color)</span></p>
|
||||
<p><span class=rvts14>gui.drawpixel(int x, int y, type color)</span></p>
|
||||
<p><span class=rvts14>gui.setpixel(int x, int y, type color)</span></p>
|
||||
<p><span class=rvts14>gui.writepixel(int x, int y, type color)</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Draw one pixel of a given color at the given position on the screen. See drawing notes and color notes at the bottom of the page. </span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>gui.getpixel(int x, int y)</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Returns the separate RGBA components of the given pixel set by gui.pixel. This only gets LUA pixels set, not background colors.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Usage is local r,g,b,a = gui.getpixel(5, 5) to retrieve the current red/green/blue/alpha values of the LUA pixel at 5x5.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>See emu.getscreenpixel() for an emulator screen variant.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>gui.line(int x1, int y1, int x2, int y2 [, color [, skipfirst]])</span></p>
|
||||
<p><span class=rvts14>gui.drawline(int x1, int y1, int x2, int y2 [, color [, skipfirst]])</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Draws a line between the two points. The x1,y1 coordinate specifies one end of the line segment, and the x2,y2 coordinate specifies the other end. If skipfirst is true then this function will not draw anything at the pixel x1,y1, otherwise it will. skipfirst is optional and defaults to false. The default color for the line is solid white, but you may optionally override that using a color of your choice. See also drawing notes and color notes at the bottom of the page.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>gui.box(int x1, int y1, int x2, int y2 [, fillcolor [, outlinecolor]]))</span></p>
|
||||
<p><span class=rvts14>gui.drawbox(int x1, int y1, int x2, int y2 [, fillcolor [, outlinecolor]]))</span></p>
|
||||
<p><span class=rvts14>gui.rect(int x1, int y1, int x2, int y2 [, fillcolor [, outlinecolor]]))</span></p>
|
||||
<p><span class=rvts14>gui.drawrect(int x1, int y1, int x2, int y2 [, fillcolor [, outlinecolor]]))</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Draws a rectangle between the given coordinates of the emulator screen for one frame. The x1,y1 coordinate specifies any corner of the rectangle (preferably the top-left corner), and the x2,y2 coordinate specifies the opposite corner.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>The default color for the box is transparent white with a solid white outline, but you may optionally override those using colors of your choice. Also see drawing notes and color notes.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>gui.text(int x, int y, string str)</span></p>
|
||||
<p><span class=rvts14>gui.text(int x, int y, string str [, textcolor [, backcolor]])</span></p>
|
||||
<p><span class=rvts14>gui.drawtext(int x, int y, string str [, textcolor [, backcolor]])</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Draws a given string at the given position.</span></p>
|
||||
<p><span class=rvts11>Draws a given string at the given position. textcolor and backcolor are optional. See 'on colors' at the end of this page for information. Using nil as the input or not including an optional field will make it use the default.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>gui.parsecolor(color)</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Returns the separate RGBA components of the given color.</span></p>
|
||||
<p><span class=rvts11>For example, you can say local r,g,b,a = gui.parsecolor('orange') to retrieve the red/green/blue values of the preset color orange. (You could also omit the a in cases like this.) This uses the same conversion method that FCEUX uses internally to support the different representations of colors that the GUI library uses. Overriding this function will not change how FCEUX interprets color values, however.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>gui.savescreenshot()</span></p>
|
||||
<p><span class=rvts11>Makes a screenshot of the FCEUX emulated screen, and saves it to the appropriate folder. Performs identically to pressing the Screenshot hotkey.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>string gui.gdscreenshot()</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Takes a screen shot of the image and returns it in the form of a string which can be imported by the gd library using the gd.createFromGdStr() function.</span></p>
|
||||
|
@ -613,6 +686,8 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><span class=rvts20>Warning:</span><span class=rvts11> Storing screen shots in memory is not recommended. Memory usage will blow up pretty quick. One screen shot string eats around 230 KB of RAM.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts14>gui.gdoverlay([int dx=0, int dy=0,] string str [, sx=0, sy=0, sw, sh] [, float alphamul=1.0])</span></p>
|
||||
<p><span class=rvts14>gui.image([int dx=0, int dy=0,] string str [, sx=0, sy=0, sw, sh] [, float alphamul=1.0])</span></p>
|
||||
<p><span class=rvts14>gui.drawimage([int dx=0, int dy=0,] string str [, sx=0, sy=0, sw, sh] [, float alphamul=1.0])</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Draws an image on the screen. gdimage must be in truecolor gd string format.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
|
@ -680,17 +755,19 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><span class=rvts11>A general warning about drawing is that it is always one frame behind unless you use gui.register. This is because you tell the emulator to paint something but it will actually paint it when generating the image for the next frame. So you see your painting, except it will be on the image of the next frame. You can prevent this with gui.register because it gives you a quick chance to paint before blitting.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Dimensions & color depths you can paint in:</span></p>
|
||||
<p><span class=rvts11>320x239, 8bit color (confirm?)</span></p>
|
||||
<p><span class=rvts11>--320x239, 8bit color (confirm?)</span></p>
|
||||
<p><span class=rvts11>256x224, 8bit color (confirm?)</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts19>On colors</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>Colors can be of a few types.</span></p>
|
||||
<p><span class=rvts11>Int: use the a formula to compose the color as a number (depends on color depth)</span></p>
|
||||
<p><span class=rvts11>String: Can either be a HTML color or simple colors.</span></p>
|
||||
<p><span class=rvts11>String: Can either be a HTML colors, simple colors, or internal palette colors.</span></p>
|
||||
<p><span class=rvts11>HTML string: "#rrggbb" ("#228844") or #rrggbbaa if alpha is supported.</span></p>
|
||||
<p><span class=rvts11>Simple colors: "clear", "red", "green", "blue", "white", "black", "gray", "grey", "orange", "yellow", "green", "teal", "cyan", "purple", "magenta".</span></p>
|
||||
<p><span class=rvts11>Array: Example: {255,112,48,96} means {red=255, green=112, blue=48, alpha=96} </span></p>
|
||||
<p><span class=rvts11>Table: Example: {r=255,g=112,b=48,a=96} means {red=255, green=112, blue=48, alpha=96} </span></p>
|
||||
<p><span class=rvts11>Palette: Example: "P00" for Palette 00. "P3F" for palette 3F. P40-P7F are for LUA.</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><span class=rvts11>For transparancy use "clear".</span></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
|
|
|
@ -76,31 +76,27 @@ a.rvts11, span.rvts11
|
|||
}
|
||||
a.rvts11:hover { color: #0000ff; }
|
||||
span.rvts12
|
||||
{
|
||||
font-size: 12pt;
|
||||
}
|
||||
span.rvts13
|
||||
{
|
||||
font-size: 14pt;
|
||||
}
|
||||
span.rvts14 /* Font Style */
|
||||
span.rvts13 /* Font Style */
|
||||
{
|
||||
font-size: 16pt;
|
||||
font-family: 'Tahoma', 'Geneva', sans-serif;
|
||||
color: #ffffff;
|
||||
}
|
||||
span.rvts15 /* Font Style */
|
||||
span.rvts14 /* Font Style */
|
||||
{
|
||||
font-family: 'MS Sans Serif', 'Geneva', sans-serif;
|
||||
color: #808080;
|
||||
}
|
||||
span.rvts16 /* Font Style */
|
||||
span.rvts15 /* Font Style */
|
||||
{
|
||||
font-family: 'Verdana', 'Geneva', sans-serif;
|
||||
font-style: italic;
|
||||
color: #c0c0c0;
|
||||
}
|
||||
a.rvts17, span.rvts17 /* Font Style */
|
||||
a.rvts16, span.rvts16 /* Font Style */
|
||||
{
|
||||
font-family: 'Verdana', 'Geneva', sans-serif;
|
||||
font-style: italic;
|
||||
|
@ -147,64 +143,63 @@ p,ul,ol /* Paragraph Style */
|
|||
<meta name="generator" content="HelpNDoc Free"></head>
|
||||
<body>
|
||||
|
||||
<p class=rvps2><span class=rvts14>Directories</span></p>
|
||||
<p class=rvps2><span class=rvts13>Directories</span></p>
|
||||
<p><span class=rvts10>Directory Overrides</span></p>
|
||||
<p><br></p>
|
||||
<p><br></p>
|
||||
<p>This menu sets a default directory override for various files relating to FCEU.</p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts13>Base Directory</span> </p>
|
||||
<p><span class=rvts12>Base Directory</span></p>
|
||||
<p>sets the default directory FCEU will use. It will be the folder that FCEU creates all the sub folders (unless they are also overridden).</p>
|
||||
<p><br></p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts13>ROMS</span></p>
|
||||
<p><span class=rvts12>ROMS</span></p>
|
||||
<p>where FCEU will look for ROMS by default. (What folder will appear when selecting the Files > Open...)</p>
|
||||
<p><br></p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts13>Battery Saves </span> </p>
|
||||
<p><span class=rvts12>Battery Saves</span></p>
|
||||
<p>where .sav files will stored and opened from. These files contain the battery backed SRAM used in some games (such as Dragon Warrior).</p>
|
||||
<p><br></p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts13>Save States</span><span class=rvts12> </span> </p>
|
||||
<p><span class=rvts12>Save States</span></p>
|
||||
<p>where .fcs (savestate) files will be stored. </p>
|
||||
<p><br></p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts13>FDS BIOS ROM</span><span class=rvts12> </span></p>
|
||||
<p><span class=rvts12>FDS BIOS ROM</span></p>
|
||||
<p>where FCEU can find disksys.rom. disksys.rom is a required file in order to load FDS (Famicom Disk System) games. If not specified, FCEUX will default to the base directory.</p>
|
||||
<p><br></p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts13>Screenshots</span><span class=rvts12> </span> </p>
|
||||
<p><span class=rvts12>Screenshots</span></p>
|
||||
<p>where screen captures (.png) files will be saved.</p>
|
||||
<p><br></p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts13>Save Screenshots as "<filebase>-<x>.png" </span></p>
|
||||
<p><span class=rvts12>Save Screenshots as "<filebase>-<x>.png"</span></p>
|
||||
<p>sets how the .png files will be named. Left unchecked, the file names will simply be 0.png, 1.png etc. Checked adds the ROM name into the file as well (such as Double Dragon 2 (U)-0.png)</p>
|
||||
<p><br></p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts13>Cheats </span> </p>
|
||||
<p><span class=rvts12>Cheats</span></p>
|
||||
<p>where .cht files will be stored. .cht files store the active cheats set up in <a class=rvts11 href="{B37E7A47-E65F-4544-BDDF-39BE708BA68F}.htm">Cheat Search</a>.</p>
|
||||
<p><br></p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts13>Movies </span> </p>
|
||||
<p><span class=rvts12>Movies</span></p>
|
||||
<p>where .fm2 files will be saved/loaded. These files are the input files used in <a class=rvts11 href="{695C964E-B83F-4A6E-9BA2-1A975387DB55}.htm">movie recording</a>.</p>
|
||||
<p><br></p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts13>Memory Watch</span> </p>
|
||||
<p><span class=rvts12>Memory Watch</span></p>
|
||||
<p>where memory watch files are saved/loaded. These are used by <a class=rvts11 href="{01ABA5FD-D54A-44EF-961A-42C7AA586D95}.htm">memory watch</a>.</p>
|
||||
<p><br></p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts13>Input Presets</span> </p>
|
||||
<p><span class=rvts12>Input Presets</span></p>
|
||||
<p>where input presets will be saved/loaded. These are used in the presets section on the <a class=rvts11 href="{CE13161D-517E-4E30-8502-F98D92F44C8E}.htm">input config</a> window.</p>
|
||||
<p><br></p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts13>Lua Scripts </span></p>
|
||||
<p><span class=rvts12>Lua Scripts</span></p>
|
||||
<p>where Lua scripts will be saved/loaded. These are used when using the <span class=rvts11>Lua Scripting</span> tool.</p>
|
||||
<p><br></p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts13>AVI Output</span></p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts12>AVI Output</span></p>
|
||||
<p>overrides which directory FCEUX will default to when saving a <a class=rvts11 href="{A1A11C4E-B38E-471A-86EE-727D152EB764}.htm">.avi file</a>.</p>
|
||||
<p class=rvps3><span class=rvts15>2008</span></p>
|
||||
<p class=rvps4><span class=rvts16>This help file has been generated by the freeware version of </span><a class=rvts17 href="http://www.ibe-software.com/products/software/helpndoc/" target="_blank">HelpNDoc</a></p>
|
||||
<p class=rvps3><span class=rvts14>2008</span></p>
|
||||
<p class=rvps4><span class=rvts15>This help file has been generated by the freeware version of </span><a class=rvts16 href="http://www.ibe-software.com/products/software/helpndoc/" target="_blank">HelpNDoc</a></p>
|
||||
|
||||
</body></html>
|
||||
|
|
|
@ -165,7 +165,7 @@ p,ul,ol /* Paragraph Style */
|
|||
<p><span class=rvts10><br></span></p>
|
||||
<p><a class=rvts11 href="{7EEBAD0B-2126-4A8A-864F-61D603111A68}.htm">FCE Ultra Version History</a></p>
|
||||
<p><span class=rvts11><br></span></p>
|
||||
<p><a class=rvts11 href="{87F48CF9-F17C-478A-A903-D80A85FF6EA2}.htm">What's New?</a></p>
|
||||
<p><a class=rvts11 href="{87F48CF9-F17C-478A-A903-D80A85FF6EA2}.htm">What's Combined In FCEUX?</a></p>
|
||||
<p><span class=rvts10><br></span></p>
|
||||
<p><br></p>
|
||||
<p><span class=rvts13>Additional Chapters</span></p>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
32
home.html
32
home.html
|
@ -59,22 +59,26 @@
|
|||
<p> </p>
|
||||
|
||||
<h1>Latest Release</h1>
|
||||
<p><span class="largerfont">FCEUX 2.1.3</span><br/>
|
||||
08 April 2010</p>
|
||||
<p>The 2.1.3 release that fixes some bugs of 2.1.2, increases game compatibility, and adds usability enhancements to the windows port and adds a GUI to the SDL port</p>
|
||||
<p><a href="pressrelease-2.1.3.html">Full changelog</a></p>
|
||||
<p><span class="largerfont">FCEUX 2.1.4</span><br/>
|
||||
31 May 2010</p>
|
||||
<p>The 2.1.4 release that fixes some many bugs and adds new features compared to 2.1.3. In addition it also fixes up the movie code significantly; ixing implementation problems, loading speed, adding new features, and fixing bugs.</p>
|
||||
<p><a href="pressrelease-2.1.4.html">Full changelog</a></p>
|
||||
<h3>Noteable changes</h3>
|
||||
<ul>
|
||||
<li>Now playable: SD Kiji Blader, Ganbare Goemon Gaiden, and Ganbare Goemon Gaiden 2, Jajamaru Gekimadden (mappers 82, 25, 21, and 18)</li>
|
||||
<li>Now playable Fire Emblem (J) and Fire Emblem Gaiden (J) (mappers 253 & 226)</li>
|
||||
<li>Fix crashing on game loading for any battery backed roms with mappers from MapInitTab (fixes Esper Dream 2 - Aratanaru Tatakai (J)</li>
|
||||
<li>SDL - A GUI! A graphic user interface (using GTK) with many basic menu options</li>
|
||||
<li>SDL - ported to SDL 1.3; compatibility maintained with 1.2</li>
|
||||
<li>unix netplay is now functional; gtk network gui created</li>
|
||||
<li>SDL - fixed dpad/joyhat support</li>
|
||||
<li>New lua functions: gui.parsecolor(), joypad.getup(), joypad.getdown(), emu.emulating()</li>
|
||||
<li>fixed zapper.read() to read movie data if a movie is playing. Also changed the struct values to x,y,fire. This breaks lua scripts that used it previous, sorry</li>
|
||||
<li>gui.text() now has out of bounds checking</li>
|
||||
<li>Added microphone support option. When enabled, Port 2 Start activates the Microphone. Added movie recording of mircophone</li>
|
||||
<li>Fully implemented "bulletproof" read-only</li>
|
||||
<li>Movie code now fully conforms to the Savestate section of the Laws of TAS</li>
|
||||
<li>Movies now have a "finished" mode. If a playback stops the movie isn't cleared from memory, and can be replayed or a state loaded. Similar functionality as DeSmuME and GENS rerecording</li>
|
||||
<li>Implemented a "full savestate-movie load" mode similar to the implementation in VBA-rr and SNES9x-rr. In this mode loading a savestate in read+write doesn't truncate the movie to its frame count immediately. Instead it waits until input is recording into the movie (next frame). For win32 this feature is togglable in movie options and the context menu. For SDL this is off by default and a toggle will need to be added</li>
|
||||
<li>Faster loading of Movies and Savestates</li>
|
||||
<li>New lua functions</li>
|
||||
<li>fixed zapper.read() crash on movie finished</li>
|
||||
<li>Fix PlayMovieFromBeginning when using a movie that starts from savestate</li>
|
||||
<li>New and improved input display</li>
|
||||
<li>Autohold display fixed with 4 player support</li>
|
||||
<li>Win32 NTSC Filter Video options</li>
|
||||
<li>Win32 - Many feature enhancements to the Cheats dialog</li>
|
||||
<li>Win32 - Debugger - many crash bug fixes and breakpoint handling fixes</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
</div>
|
||||
<div id="page_content">
|
||||
<h1>FCEUX 2.1.4 Release</h1>
|
||||
xx June 2010
|
||||
31 May 2010
|
||||
<p>
|
||||
The 2.1.4 release that fixes some many bugs and adds new features compared to 2.1.3. In addition it also fixes up the movie code significantly;
|
||||
fixing implementation problems, loading speed, adding new features, and fixing
|
||||
|
@ -52,16 +52,16 @@ Disable auto-savestates during turbo<br>
|
|||
Fixed so Gotcha! auto-enables zapper</br>
|
||||
<h3>Movies</h3>
|
||||
Fully implemented "bulletproof" read-only<br>
|
||||
Movie code now fully conforms to the <a href="http://tasvideos.org/LawsOfTAS/OnSavestates.html">Savestate section</a> of the <a href="http://tasvideos.org/LawsOfTAS">Laws of TAS</a><br>
|
||||
Movie code now fully conforms to the <a href="http://tasvideos.org/LawsOfTAS/OnSavestates.html">Savestate section</a> of the <a href="http://tasvideos.org/LawsOfTAS">Laws of TAS</a></br>
|
||||
Fixed a potential desync that plays out an extra frame without an update to the frame count involving heavy lua use, joypad.get, and a loadstate<br>
|
||||
Movie support for microphone<br>
|
||||
Movie support for microphone</br>
|
||||
Movies now have a "finished" mode. If a playback stops the movie isn't cleared from memory, and can be replayed or a state loaded. Similar functionality as DeSmuME and GENS rerecording<br>
|
||||
New PPU flag in movie headers (doesn't change an emulators PPU state when loading a movie)<br>
|
||||
New PPU flag in movie headers (doesn't change an emulators PPU state when loading a movie)</br>
|
||||
Much faster movie loading and movie-savestate loading<br>
|
||||
Made gamepad 2 off by default (so less movies should have unused player 2 data)<br>
|
||||
Made gamepad 2 off by default (so less movies should have unused player 2 data)</br>
|
||||
Implemented a "full savestate-movie load" mode similar to the implementation in VBA-rr and SNES9x-rr. In this mode loading a savestate in read+write doesn't truncate the movie to its frame count immediately. Instead it waits until input is recording into the movie (next frame). For win32 this feature is togglable in movie options and the context menu. For SDL this is off by default and a toggle will need to be added<br>
|
||||
Movie + loadstate errors are handled more gracefully now, with more informative error messages and the movie doesn't have to stop if backups are enabled<br>
|
||||
Fix PlayMovieFromBeginning when using a movie that starts from savestate<br>
|
||||
Fix PlayMovieFromBeginning when using a movie that starts from savestate</br>
|
||||
<h3>Lua</h3>
|
||||
fix bug that caused zapper.read() to crash when movie playback ends<br>
|
||||
Win32 - Added option for palette selection as color for LUA colors. Included is a LUA script to display all choices with the value used to pick displayed color</br>
|
||||
|
@ -96,7 +96,7 @@ Replay dialog - fix bug that was causing it to always report savestate movies as
|
|||
<h3>Debugger</h3>
|
||||
Added conditional debugging option 'K', for bank PC is on<br>
|
||||
Fixed bug involving pausing emulation outside of the debugger, then trying to use the debugger commands, and having the CPU registers become corrupted</br>
|
||||
Made debugger able to break on and distinguish Stack reads/writes</br>
|
||||
Made debugger able to break on and distinguish Stack reads/writes<br></br>
|
||||
<h3>Hex Editor</h3>
|
||||
Added "Goto" command<br>
|
||||
Made the Hex Editor display the Frozen, Bookmarked, etc. status of the selected address, and made the Frozen color override the Bookmarked color</br>
|
||||
|
@ -107,9 +107,10 @@ Added context menu to Cheat Dialog Cheat Listbox, populated list with Toggle Che
|
|||
Enabled multi-select for Cheat menu to allow multiple toggles and deletes<br>
|
||||
Made cheat menu's Pause When Active effect immediate</br>
|
||||
<h3>GUI</h3>
|
||||
Added Tools - GUI option to partially disable visual themes, so the emulator can be made to look like it did in 2.1.1 and earlier releases<br>
|
||||
Added Tools -> GUI option to partially disable visual themes, so the emulator can be made to look like it did in 2.1.1 and earlier releases<br>
|
||||
Drag & Drop - if dropping a .fcm with no ROM loaded, prompt for one (same functionality that was added to .fm2 files)</br>
|
||||
Added single-instance mode, which makes starting a second copy of FCEUX load the file into the first, then exit.Mode off by default, togglable under Config - GUI</br>
|
||||
Added single-instance mode, which makes starting a second copy of FCEUX load the file into the first, then exit. Mode off by default, toggleable under Config
|
||||
-> GUI</br>
|
||||
</div>
|
||||
|
||||
<div id="footer">
|
||||
|
|
|
@ -69,6 +69,7 @@
|
|||
FCEU rerecording, FCEUXD, and FCEUXDSP as well as many new mappers from
|
||||
FCEU-mm.</p>
|
||||
<h3>FCEUX version history</h3>
|
||||
<dd><li><a href="pressrelease-2.1.4.html">FCEUX 2.1.4</a> - 31 May 2010</li></dd>
|
||||
<dd><li><a href="pressrelease-2.1.3.html">FCEUX 2.1.3</a> - 07 April 2010</li></dd>
|
||||
<dd><li><a href="pressrelease-2.1.2.html">FCEUX 2.1.2</a> - 03 November 2009</li></dd>
|
||||
<dd><li><a href="pressrelease-2.1.1.html">FCEUX 2.1.1</a> - 29 July 2009</li></dd>
|
||||
|
|
Loading…
Reference in New Issue