|
From: <the...@us...> - 2006-03-19 06:12:23
|
Revision: 11 Author: thekingant Date: 2006-03-18 22:08:44 -0800 (Sat, 18 Mar 2006) ViewCVS: http://svn.sourceforge.net/fceultra/?rev=11&view=rev Log Message: ----------- Initial import of FCE Ultra 0.98.13-pre Added Paths: ----------- fceultra/ fceultra/AUTHORS fceultra/COPYING fceultra/ChangeLog fceultra/Documentation/ fceultra/Documentation/cheat.html fceultra/Documentation/faq.html fceultra/Documentation/fceu-sdl.6 fceultra/Documentation/fceultra.html fceultra/Documentation/fcm.txt fceultra/Documentation/fcs.txt fceultra/Documentation/protocol.txt fceultra/Documentation/tech/ fceultra/Documentation/tech/README.now fceultra/Documentation/tech/README.sound fceultra/Documentation/tech/UNIF_current.txt fceultra/Documentation/tech/cpu/ fceultra/Documentation/tech/cpu/4017.txt fceultra/Documentation/tech/cpu/6502_cpu.txt fceultra/Documentation/tech/cpu/NESSOUND-4th.txt fceultra/Documentation/tech/cpu/NESSOUND.txt fceultra/Documentation/tech/cpu/dmc.txt fceultra/Documentation/tech/exp/ fceultra/Documentation/tech/exp/SMB2j.txt fceultra/Documentation/tech/exp/mmc5-e.txt fceultra/Documentation/tech/exp/mmc5_bank_switch.txt fceultra/Documentation/tech/exp/namco.txt fceultra/Documentation/tech/exp/taito.txt fceultra/Documentation/tech/exp/tengen.txt fceultra/Documentation/tech/exp/vrcvi.txt fceultra/Documentation/tech/exp/vrcvii.txt fceultra/Documentation/tech/nsfspec.txt fceultra/Documentation/tech/ppu/ fceultra/Documentation/tech/ppu/2C02 technical operation.TXT fceultra/Documentation/tech/ppu/loopy1.txt fceultra/Documentation/tech/ppu/loopy2.txt fceultra/INSTALL fceultra/Makefile.am fceultra/NEWS fceultra/README fceultra/TODO fceultra/acinclude.m4 fceultra/autogen.sh fceultra/configure.ac fceultra/mkinstalldirs fceultra/src/ fceultra/src/Makefile.am fceultra/src/boards/ fceultra/src/boards/8237.c fceultra/src/boards/Makefile.am.inc fceultra/src/boards/h2288.c fceultra/src/boards/malee.c fceultra/src/boards/mapinc.h fceultra/src/boards/novel.c fceultra/src/boards/sachen.c fceultra/src/boards/simple.c fceultra/src/boards/super24.c fceultra/src/boards/supervision.c fceultra/src/cart.c fceultra/src/cart.h fceultra/src/cheat.c fceultra/src/cheat.h fceultra/src/crc32.c fceultra/src/crc32.h fceultra/src/debug.c fceultra/src/debug.h fceultra/src/drawing.h fceultra/src/driver.h fceultra/src/drivers/ fceultra/src/drivers/common/ fceultra/src/drivers/common/Makefile.am.inc fceultra/src/drivers/common/args.c fceultra/src/drivers/common/args.h fceultra/src/drivers/common/cheat.c fceultra/src/drivers/common/cheat.h fceultra/src/drivers/common/config.c fceultra/src/drivers/common/config.h fceultra/src/drivers/common/hq2x.c fceultra/src/drivers/common/hq2x.h fceultra/src/drivers/common/hq3x.c fceultra/src/drivers/common/hq3x.h fceultra/src/drivers/common/scale2x.c fceultra/src/drivers/common/scale2x.h fceultra/src/drivers/common/scale3x.c fceultra/src/drivers/common/scale3x.h fceultra/src/drivers/common/scalebit.c fceultra/src/drivers/common/scalebit.h fceultra/src/drivers/common/vidblit.c fceultra/src/drivers/common/vidblit.h fceultra/src/drivers/pc/ fceultra/src/drivers/pc/Makefile.am.inc fceultra/src/drivers/pc/dface.h fceultra/src/drivers/pc/dos-joystick.c fceultra/src/drivers/pc/dos-joystick.h fceultra/src/drivers/pc/dos-keyboard.c fceultra/src/drivers/pc/dos-mouse.c fceultra/src/drivers/pc/dos-sound.c fceultra/src/drivers/pc/dos-sound.h fceultra/src/drivers/pc/dos-video.c fceultra/src/drivers/pc/dos-video.h fceultra/src/drivers/pc/dos.c fceultra/src/drivers/pc/dos.h fceultra/src/drivers/pc/input.c fceultra/src/drivers/pc/input.h fceultra/src/drivers/pc/keyscan.h fceultra/src/drivers/pc/main.c fceultra/src/drivers/pc/main.h fceultra/src/drivers/pc/sdl-icon.h fceultra/src/drivers/pc/sdl-joystick.c fceultra/src/drivers/pc/sdl-netplay.c fceultra/src/drivers/pc/sdl-netplay.h fceultra/src/drivers/pc/sdl-opengl.c fceultra/src/drivers/pc/sdl-opengl.h fceultra/src/drivers/pc/sdl-sound.c fceultra/src/drivers/pc/sdl-throttle.c fceultra/src/drivers/pc/sdl-video.c fceultra/src/drivers/pc/sdl-video.h fceultra/src/drivers/pc/sdl.c fceultra/src/drivers/pc/sdl.h fceultra/src/drivers/pc/throttle.c fceultra/src/drivers/pc/throttle.h fceultra/src/drivers/pc/unix-netplay.c fceultra/src/drivers/pc/unix-netplay.h fceultra/src/drivers/pc/usage.h fceultra/src/drivers/pc/vgatweak.c fceultra/src/drivers/sexyal/ fceultra/src/drivers/sexyal/Makefile.am.inc fceultra/src/drivers/sexyal/convert.c fceultra/src/drivers/sexyal/convert.h fceultra/src/drivers/sexyal/convert.inc fceultra/src/drivers/sexyal/convertgen.c fceultra/src/drivers/sexyal/drivers/ fceultra/src/drivers/sexyal/drivers/dsound.c fceultra/src/drivers/sexyal/drivers/oss.c fceultra/src/drivers/sexyal/drivers/oss.h fceultra/src/drivers/sexyal/drivers/osxcoreaudio.c fceultra/src/drivers/sexyal/md5.c fceultra/src/drivers/sexyal/md5.h fceultra/src/drivers/sexyal/sexyal.c fceultra/src/drivers/sexyal/sexyal.h fceultra/src/drivers/sexyal/smallc.c fceultra/src/drivers/sexyal/smallc.h fceultra/src/drivers/win/ fceultra/src/drivers/win/Makefile.am.inc fceultra/src/drivers/win/args.c fceultra/src/drivers/win/cheat.c fceultra/src/drivers/win/cheat.h fceultra/src/drivers/win/common.h fceultra/src/drivers/win/config.c fceultra/src/drivers/win/debug.c fceultra/src/drivers/win/debug.h fceultra/src/drivers/win/input.c fceultra/src/drivers/win/input.h fceultra/src/drivers/win/joystick.c fceultra/src/drivers/win/joystick.h fceultra/src/drivers/win/keyboard.c fceultra/src/drivers/win/keyboard.h fceultra/src/drivers/win/keyscan.h fceultra/src/drivers/win/log.c fceultra/src/drivers/win/log.h fceultra/src/drivers/win/main.c fceultra/src/drivers/win/netplay.c fceultra/src/drivers/win/netplay.h fceultra/src/drivers/win/res.res fceultra/src/drivers/win/sound.c fceultra/src/drivers/win/state.c fceultra/src/drivers/win/throttle.c fceultra/src/drivers/win/video.c fceultra/src/drivers/win/wave.c fceultra/src/drivers/win/window.c fceultra/src/endian.c fceultra/src/endian.h fceultra/src/fceu.c fceultra/src/fceu.h fceultra/src/fceustr.c fceultra/src/fceustr.h fceultra/src/fcoeffs.h fceultra/src/fds.c fceultra/src/fds.h fceultra/src/file.c fceultra/src/file.h fceultra/src/filter.c fceultra/src/filter.h fceultra/src/fir/ fceultra/src/fir/Makefile fceultra/src/fir/c44100ntsc.coef fceultra/src/fir/c44100ntsc.h fceultra/src/fir/c44100ntsc.scm fceultra/src/fir/c44100pal.coef fceultra/src/fir/c44100pal.h fceultra/src/fir/c44100pal.scm fceultra/src/fir/c48000ntsc.coef fceultra/src/fir/c48000ntsc.h fceultra/src/fir/c48000ntsc.scm fceultra/src/fir/c48000pal.coef fceultra/src/fir/c48000pal.h fceultra/src/fir/c48000pal.scm fceultra/src/fir/c96000ntsc.coef fceultra/src/fir/c96000ntsc.h fceultra/src/fir/c96000ntsc.scm fceultra/src/fir/c96000pal.coef fceultra/src/fir/c96000pal.h fceultra/src/fir/c96000pal.scm fceultra/src/fir/toh.c fceultra/src/general.c fceultra/src/general.h fceultra/src/git.h fceultra/src/ines-bad.h fceultra/src/ines-correct.h fceultra/src/ines.c fceultra/src/ines.h fceultra/src/input/ fceultra/src/input/Makefile.am.inc fceultra/src/input/arkanoid.c fceultra/src/input/bworld.c fceultra/src/input/cursor.c fceultra/src/input/fkb.c fceultra/src/input/fkb.h fceultra/src/input/ftrainer.c fceultra/src/input/hypershot.c fceultra/src/input/mahjong.c fceultra/src/input/oekakids.c fceultra/src/input/powerpad.c fceultra/src/input/quiz.c fceultra/src/input/shadow.c fceultra/src/input/share.h fceultra/src/input/toprider.c fceultra/src/input/zapper.c fceultra/src/input.c fceultra/src/input.h fceultra/src/mappers/ fceultra/src/mappers/112.c fceultra/src/mappers/113.c fceultra/src/mappers/114.c fceultra/src/mappers/117.c fceultra/src/mappers/15.c fceultra/src/mappers/151.c fceultra/src/mappers/16.c fceultra/src/mappers/17.c fceultra/src/mappers/18.c fceultra/src/mappers/180.c fceultra/src/mappers/182.c fceultra/src/mappers/184.c fceultra/src/mappers/187.c fceultra/src/mappers/189.c fceultra/src/mappers/193.c fceultra/src/mappers/200.c fceultra/src/mappers/201.c fceultra/src/mappers/202.c fceultra/src/mappers/203.c fceultra/src/mappers/208.c fceultra/src/mappers/21.c fceultra/src/mappers/22.c fceultra/src/mappers/225.c fceultra/src/mappers/226.c fceultra/src/mappers/227.c fceultra/src/mappers/228.c fceultra/src/mappers/229.c fceultra/src/mappers/23.c fceultra/src/mappers/230.c fceultra/src/mappers/231.c fceultra/src/mappers/232.c fceultra/src/mappers/234.c fceultra/src/mappers/235.c fceultra/src/mappers/240.c fceultra/src/mappers/241.c fceultra/src/mappers/242.c fceultra/src/mappers/244.c fceultra/src/mappers/246.c fceultra/src/mappers/248.c fceultra/src/mappers/24and26.c fceultra/src/mappers/25.c fceultra/src/mappers/255.c fceultra/src/mappers/32.c fceultra/src/mappers/33.c fceultra/src/mappers/40.c fceultra/src/mappers/41.c fceultra/src/mappers/42.c fceultra/src/mappers/43.c fceultra/src/mappers/46.c fceultra/src/mappers/50.c fceultra/src/mappers/51.c fceultra/src/mappers/57.c fceultra/src/mappers/58.c fceultra/src/mappers/59.c fceultra/src/mappers/6.c fceultra/src/mappers/60.c fceultra/src/mappers/61.c fceultra/src/mappers/62.c fceultra/src/mappers/65.c fceultra/src/mappers/67.c fceultra/src/mappers/68.c fceultra/src/mappers/69.c fceultra/src/mappers/71.c fceultra/src/mappers/72.c fceultra/src/mappers/73.c fceultra/src/mappers/75.c fceultra/src/mappers/76.c fceultra/src/mappers/77.c fceultra/src/mappers/79.c fceultra/src/mappers/8.c fceultra/src/mappers/80.c fceultra/src/mappers/82.c fceultra/src/mappers/83.c fceultra/src/mappers/85.c fceultra/src/mappers/86.c fceultra/src/mappers/88.c fceultra/src/mappers/89.c fceultra/src/mappers/91.c fceultra/src/mappers/92.c fceultra/src/mappers/95.c fceultra/src/mappers/97.c fceultra/src/mappers/99.c fceultra/src/mappers/Makefile.am.inc fceultra/src/mappers/emu2413.c fceultra/src/mappers/emu2413.h fceultra/src/mappers/emutypes.h fceultra/src/mappers/mapinc.h fceultra/src/mappers/mapshare.h fceultra/src/mappers/mmc2and4.c fceultra/src/mappers/simple.c fceultra/src/mappers/vrc7tone.h fceultra/src/mbshare/ fceultra/src/mbshare/164.c fceultra/src/mbshare/90.c fceultra/src/mbshare/Makefile.am.inc fceultra/src/mbshare/deirom.c fceultra/src/mbshare/karaoke.c fceultra/src/mbshare/mapinc.h fceultra/src/mbshare/maxicart.c fceultra/src/mbshare/mmc1.c fceultra/src/mbshare/mmc3.c fceultra/src/mbshare/mmc5.c fceultra/src/mbshare/n106.c fceultra/src/mbshare/tengen.c fceultra/src/md5.c fceultra/src/md5.h fceultra/src/memory.c fceultra/src/memory.h fceultra/src/movie.c fceultra/src/movie.h fceultra/src/netplay.c fceultra/src/netplay.h fceultra/src/nsf.c fceultra/src/nsf.h fceultra/src/ops.h fceultra/src/palette.c fceultra/src/palette.h fceultra/src/palettes/ fceultra/src/palettes/conv.c fceultra/src/palettes/palettes.h fceultra/src/palettes/rp2c04001.h fceultra/src/palettes/rp2c04002.h fceultra/src/palettes/rp2c04003.h fceultra/src/palettes/rp2c05004.h fceultra/src/ppu.c fceultra/src/ppu.h fceultra/src/pputile.h fceultra/src/sound.c fceultra/src/sound.h fceultra/src/soundexp.c fceultra/src/state.c fceultra/src/state.h fceultra/src/types.h fceultra/src/unif.c fceultra/src/unif.h fceultra/src/unzip.c fceultra/src/unzip.h fceultra/src/video.c fceultra/src/video.h fceultra/src/vsuni.c fceultra/src/vsuni.h fceultra/src/wave.c fceultra/src/wave.h fceultra/src/x6502.c fceultra/src/x6502.h fceultra/src/x6502struct.h Added: fceultra/AUTHORS =================================================================== --- fceultra/AUTHORS (rev 0) +++ fceultra/AUTHORS 2006-03-19 06:08:44 UTC (rev 11) @@ -0,0 +1,27 @@ +A list of people who have contributed code to FCE Ultra, or have had their code placed in +FCE Ultra by others. +Please note that the "Contributions" field may not be all inclusive; +the coder may have done more than what is listed. + +Name/Alias Contributions Contact Information +------------------------------------------------------------------------------ +Aaron Oneal Many changes to compile http://www.morphgear.com + with MSVC and first frame + skipping code. + +BERO Base FCE code. bero at geocities.co.jp + +CaH4e3 Some mapper code. CaH4e3 at mail dot ru + +Joe Nahmias man pages. + +Mitsutaka YM2413 emulator. + Okazaki + +Paul Various code for the official kuliniew at purdue.edu + Kuliniewicz SDL port. + +Quietust VRC7 "translation" code. quietust at ircN dot org + +Xodnizel Most of the FCE Ultra code. http://xodnizel.net/ + Property changes on: fceultra/AUTHORS ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: fceultra/COPYING =================================================================== --- fceultra/COPYING (rev 0) +++ fceultra/COPYING 2006-03-19 06:08:44 UTC (rev 11) @@ -0,0 +1,341 @@ + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. Property changes on: fceultra/COPYING ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: fceultra/ChangeLog =================================================================== --- fceultra/ChangeLog (rev 0) +++ fceultra/ChangeLog 2006-03-19 06:08:44 UTC (rev 11) @@ -0,0 +1,2237 @@ +0.98.13: + + SDL: Fixed button configuration when using joystick hats. Thanks to + ShaolinMan for pointing out the code errors. + + Readded checks in ines.c for some common bad dumps and non-working hacked + games. + + Sprite hit emulation is more precise(as it was in 0.97.5). + + Fixed mapper 185 emulation to work properly with the Japanese + version of "Spy vs Spy", and hopefully with the GOOD dump + of Banana(I don't think one exists). + + Added per-game hacks for Shougi Meikan '92 and Shougi Meikan '93. + + Fixed a bug in SetupCartMirroring() that could cause some games to have corrupted + mirroring if loaded in a certain order. This was a rather major, long-standing + bug. :/ + + Added many iNES header corrections. + + Fixed emulation of the "ISB" and "DCP" invalid opcodes. + + Optimized the PPU background drawing code with inline assembly. Older/some(?) versions + of gcc may produce bad code(from previous experience with inline + assembly in gcc), but 3.4.1 seems to do ok. + + Optimized some of the low-quality sound emulation code. + + Added a command-line option to the configure script to enable the FCE Ultra + debugger(disabled by default). It reduces executable size, and may increase speed + of execution slightly. + + In unix-netplay.c, replaced the ioctl() on a socket to read the number of bytes available to read + with a select(). I've also added some "BEOS" #ifdefs. I don't know if they will + work properly. + + Replaced archaic include of "malloc.h" in unix-netplay.c with "stdlib.h". + Also in unix-netplay.c, I've added: + + #ifndef SOL_TCP + #define SOL_TCP IPPROTO_TCP + #endif + + Fixed a bug in sdl-sound.c that would prevent FCE Ultra from being compiled + on certain platforms(Mac OS X). + + Fixed variable declarations in the following files to be compatible + with C compilers that don't adhere to C99(or was it C98...): + movie.c + drivers/sexyal/convertgen.c and drivers/sexyal/convert.inc + drivers/pc/unix-netplay.c + +0.98.12: + + Win32: Fixed the behavior of the sound logging function. + + Fixed a bug that was causing 2xscale/3xscale to be broken + when clipping the leftmost and rightmost 8 columns. + + Added an iNES header correction entry for JustBreed. + + Modified the MMC5 "ELROM" board emulation to not emulate WRAM. + + Corrected various pieces of code that were causing compiler warnings. + + Win32: Scaling settings(x, y, stretch to fill screen) are now respected while + using a special scaler in full screen mode, though if x or y scale is + less than what is needed for a particular scaler, it will be + adjusted. + + Win32: The window will be reblitted when it becomes invalidated while + a game is loaded(such as when you're resizing the window). + + When the PPU is in a "dead" state after starting up, the graphics + buffer is now cleared. Previously, particularly in the Windows port, when + a game was closed, and a new game was loaded, the last image from + the previous game would be displayed for a short time. + + Win32: Blit skipping will now occur when sound is disabled and FCE Ultra is + running behind the desired frame rate. + + Win32: Blit-skipping behavior can now be configured to some extent in the "Timing" configuration + window. + + Win32: Added a "Recent Directories" submenu to the "File" menu. + + Removed some debugging code that shouldn't have been enabled in 0.98.11. + +0.98.11: + + Win32: Special scalers are now also supported in windowed mode. For Scale2x/Scale3x, + the fastest "desktop" bit depth is 16bpp. For hq2x/hq3x, it is 32bpp. + + The shared video blitting code(drivers/common/vidblit.c) can now blit using Scale2x + and Scale3x to any target bit depth(8bpp, 16bpp, 24bpp, and 32bpp) instead of just + 8bpp, as it was before. + HQ2x and HQ3x can now blit to 16bpp, 24bpp(untested), and 32bpp. The 16bpp and + 24bpp targets are done doing post-processing conversion, after HQ2x/HQ3x, which + really does hurt speed. + + Changed a few names in the credits section of the documentation to their + aliases. Names you didn't get to pick to have are so troublesome. :b + I also made various fixes/updates to the documentation. + + Updated the FAQ with some information regard video mode bit depths and speed. + + SDL: Disabled the fast-forward-key speed-limiting code. I thought I had + done this before... + + Fixed a major bug in the movie recording code, and added some code to automatically detect + and fix playback of broken movies from earlier versions. + + Did a little swapping thing with mapper 90 and 209. I moved back Mortal Kombat 3 + to mapper 90, and moved Shin Samurai Spirits 2 to mapper 209. Sorry for any confusion. + Mapper 90 should be considered as having the fancy nametable select mode disabled, with + mapper 209 having it enabled. + + Added support for mapper 160, which turns out to be the same hardware as mapper + 90. Joy. + + Improved mapper 90 emulation. This mapper really needs low-level + emulation for IRQs to work right, though. :/ + + Win32: Fixed the "hide left/right 8 video columns" feature. + + Since FCE Ultra is ending(or has already exceeded? :b) its actively-updated life, + I've gone ahead and added per-game hacks for "Kick Master" and the PAL version + of "Star Wars". See the documentation for more details. + + Minor optimizations to the high-quality sound emulation code. The FIR filter + code is the bottleneck, though, so these changes won't have much of an effect + on overall speed. + + Altered MMC3 IRQ emulation(and the hooks in ppu.c for it). + + Fixed a rather major typo in the VRC7-emulation code. + +0.98.10: + + Reimplemented network play. It now requires a standalone network play server, which + will be released as a later time. For fun, "starmen.net" is running this server, + which is publicly accessible. + I also made various code fixes/improvements to allow for network play, particularly + with the command handling code. + + Reworked much of the VS Unisystem emulation code, partially based on information from + MAME. The following games are now supported: + + Battle City + Castlevania + Clu Clu Land + Dr. Mario + Duck Hunt + Excitebike + Excitebike (Japanese) + Freedom Force + Goonies, The + Gradius + Gumshoe + Hogan's Alley + Ice Climber + Ladies Golf + Mach Rider + Mach Rider (Japanese) + Mighty Bomb Jack (Japanese) + Ninja Jajamaru Kun (Japanese) + Pinball + Pinball (Japanese) + Platoon + RBI Baseball + Slalom + Soccer + Star Luster + Stroke and Match Golf + Stroke and Match Golf - Ladies + Stroke and Match Golf (Japanese) + Super Mario Bros. + Super Sky Kid + Super Xevious + Tetris + TKO Boxing + Top Gun + + Win32-native: Fixed a bug in the debugger's breakpoint list that appeared when + one tried to delete a breakpoint(the control accidentally had auto-sort enabled, + causing a discrepancy between what was displayed and what was contained in internal + data structures). + + The current disk image XOR original disk image is now stored in save states. This + should greatly increase compressability(important for network play), and make + it a little more legal to distribute such save states now. + + Modified the save state format to allow for more precise and larger version numbers. + + Various minor code changes. + + Fixed initialization of the FCEUGameInfo structure, which previously led + to problems with sound output on the SexyAL-using ports(Linux). + + Apparently I added support for mapper 255 a while back. Documentation updated. + + Added iNES header correction information for Armored Scrum Object and Alpha Mission. + + Merged banksw.h into ines.c, fixed some of its prototypes in ines.h. + +0.98.9: + + Win32-native: Fixed the speed throttling used when sound is disabled. In previous + 0.98.x Win32-native releases, emulation was running at 1/2 the speed it should + have been when sound was disabled. + + Win32-native: Moved settings in the "Miscellaneous" configuration window + to where they should have been in the first place, and added "GUI" and "Timing" + configuration windows to accommodate some. + + Win32-native: Fixed the handling of the "Scroll Lock" key used to disable and + enable Family BASIC Keyboard input. + + Updated documentation to handle some slight differences in the Win32-native + port("Win32-native" is what the Win32 port using native APIs, as opposed to something + like GTK+ and SDL, will be referred to in documentation now). I also made + some other minor wording adjustments to the documentation. + + Added an iNES header correction for Dragonball. + +0.98.8: + + Fixed a typo in sound.c that caused only part of the sound registers + to be saved in save states. + + Win32: Switched over to the DirectDraw7 interface, from DirectDraw4's. + The surface Flip() method will now block, which results in somewhat + smoother animation/scrolling, especially when combined with the + auto blit-skip implemented in 0.98.6 when sound is enabled. + + Win32: Undid a change made in the last release that limited the + speed of fast-forwarding when using the tilde key. I really do + need to implement some sort of unified timing/blit skip system... + + Win32: Added an option, disabled by default, to ask for confirmation + before exiting FCE Ultra. + + Win32: Added an option, enabled by default, to disable the system + screen saver while a game is loaded. + + Win32: Added a new video synchronization mode, a "lazy" wait for + vblank/vertical retrace. It calls Sleep(0) in its wait loop. This + still uses all available cpu cycles, but it is much more friendly + to other processes than the old-style wait for vblank. + + Win32: Added support for joystick POV hats. + +0.98.7: + + Fixed a bug in the debugger's disassembler when disassembling + opcode 0xBC. + + Fixed the behavior of the right mouse button with zapper emulation, to + correspond with what it is documented as doing. + + Win32: Added proper support for maximizing the window. + + Win32: Rewrote most of the input and input configuration code. + + Win32: Changed the configurable aspect ratio to something sensical, the current + display's pixel aspect ratio, default of 1:1(square pixels). + + Win32: Made the default full-screen video mode the custom video mode. I should have + done this a long time ago to make custom video mode configuration more straighforward + for users... + + Added some JACK audio code to be used by the SDL build. I'll test it and complete + it later. + +0.98.6: Made several code modifications to work with older versions of gcc. + + Fixed more header file network play #ifdef-age. + + Fixed a typo in cart.h. + + Fixed some funky code in FCEU_memmove(). + + Fixed some source code causing compiler warnings. + + Fixed SexyAL's format conversion code to not rely on deprecated casting semantics. + + Readded the native Win32 code, and made many improvements. The major thing + that needs to be done now with it is to rewrite the input handling code and input + configuration code. + +0.98.5: + Added LL to the 64-bit integer constants in ines.c + + Fixed OpenGL support under Mac OS X. + + Added the ability to hide background and/or sprites with the F4 key. + +0.98.4: + Moved NETWORK #ifdef's to netplay.c to simplify things. + + Fixed gzip file loading code(I think). I'm still a bit unsure about the semantics + of dup() and close(), though. + + Corrected FDS code to try loading the FDS image before loading the BIOS. + + Readded "native" SDL sound code, used for Mac OS X(and maybe BeOS). + +0.98.3: + Removed the wxWindows GUI code. GTK+ 2 code will take its place, + once it is ready. + + Added reset and power commands to the movie format. More commands(such as insert + disk, eject disk, flip dip switch, etc.) will be added simultaneously as work + on network play continues. + + Modified SexyAL OSS code to not adjust the number of fragments to a power of 2. + It works fine on my card, allowing finer-grained buffer size control, + but I'm not sure it will work with all chips. + + Fixed parsing of the "-specialfs" command-line argument. + + Added the hq3x scaler. + + Updated to the latest Scale2x code. I also added the Scale3x scaler. + + Changed the keyboard assignments for toggling full screen to "Alt" + "Enter". + + FCEUI_SaveState() and FCEUI_LoadState() changed. Porters should read + driver.h. + + Miscellaneous changes to accommodate new network play plan. It's not close + to being finished. + + Altered RTI emulation. In Paris Dakar Rally's NMI handler, it does "CLI ; RTI". + Previously, FCE Ultra would generate an interrupt right after RTI occured, due to the + presumed latency that RTI had with the I flag. I changed it so there is no latency, so + no interrupt will occur in this case(interrupts kill this game). The interrupt source + is the "frame IRQ", which it never disables, if anyone cares. + This change does break the "Stars SE" demo, though. Hmm. + + "FCEUGameInfo" is now a pointer, rather than just a statically-allocated structure. + This may cause some null-dereferencing-related crashes, but it should help keep + code a little cleaner(maybe?). + + Played around with the FDS FM code some more. It's still not right. Bah. + + Hacked in support for entering Datach/Barcode World barcodes without a GUI, using the + F8 key and the numeric keys. + + Added code to save/load movies. Movie support will only record/play back the + states of the four emulated gamepads. + + Modified the sound code to use timestamp/timestampbase differently. In addition, + timestampbase is now saved in save states("timestamp" doesn't need to be saved, since + it's reset to 0 at the end of each emulated frame). + +0.98.2: + Fixed a few problems with the SDL command-line build code + for Win32. Also, SDL 1.2.7 seems to have a bug that breaks FCE Ultra's + full-screen/windowed switching capabilities(at least under Win32). + Stupid everything. + + Minor SexyAL changes. + + Updated documentation. + +0.98.1: + + Increased the volume of the FME07 sound channels. + + Fixed a bug in the SexyAL endian conversion code. + + Made the SexyAL chunk conversion loop work. + + Replaced the old OPL2 emulator with a modified version of + Mitsutaka Okazaki's YM2413 emulator for the VRC7 sound emulation. + + Decreased the pitch of the FME 07 expansion sound channels by one octave. + + Decreased volume of output of $5011 in MMC5 emulation code. + + +0.98.0: Some changes I made aren't listed below. Ah well. The magnitude + of the changes was too great... + + + Default sound volume is 100(%), which makes a lot more sense than 75%, but not much. + It's multiplied by 3/4 internally now. + + Added support for the Datach barcode reader(GUI interface only). The emulation code + was adapted from the VirtuaNES source code. + + Reassigned the Datach games to mapper 157, from 16, with CRC32 checks. + + Increased the maximum number of screen snapshots in the snapshots directory + to 99999(from 999). + + Reassigned the following games to mapper 210, using CRC32 checks: + Chibi Maruko Chan + Dream Master + Family Circuit '91 + Famista '92 + Famista '93 + Famista '94 + Heisei Tensai Bakabon + Top Striker + Wagyan Land 2 + Wagyan Land 3 + If you use a hack/translation of one or more of these games, you will of course + need to manually change the mapper number in the header for it to work properly in + FCE Ultra. Family Circuit '91 still may not fit in with the rest of these games, + but it's definitely not a "stock" mapper 19 setup. + + Fixed an OpenGL palette bug when using scanlines(previously, I think it was + setting the palette of the scanlines overlay texture instead of the actual image + texture in some instances). The bug showed up on games that make use of the color + deemphasis bits. + + Rewrote a lot of the PPU background rendering code to be more accurate(and + obfuscated!). This eliminates the X-offset hack I made earlier. + + Removed some of the NSF visualization code, and altered the look of the NSF + display slightly. The NSF waveform visualization code will now take into + account the current volume setting. + + Changed the default key bindings for the standard emulated gamepad + to something more compatible with window managers. I may change it back, but probably + not, since it is easily configurable now. + + Updated the MMC5, VRC6, and FME07 low-quality sound emulation code + with the compatible parts of the high-quality sound emulation code for those chips. + + Adjusted timing of horizontal scroll update(near the beginning of hblank. I made + it occur sooner). I also added a hack to allow X-offset(fine X scroll) changes mid + scanline, however, it is extremely ugly, and may not work correctly for everything + (doing it correctly would probably kill speed). + I mainly did it to fix games like F-1 Race and Mach Rider, and other racing + games that are extremely sensitive to horizontal scrolling timing. + + Some FDS IRQ emulation changes to fix some screen corruption problems + in "Kaettekita Mario Bros". + + Removed zlib(the code, not support). + I also removed support for compiling without zlib(it's small, simple, provides + very useful functions, and may provide critical features for fceu in the future). + + *undone, breaks debugger, FIXME.* Replaced some inline functions with macros in x6502.c. + + Increased the speed of Namco 106 sound emulation in HQ sound mode. + + Many many sound emulation changes and adjustments based on blargg's tests. + The default sound volume is about 150% what it was before, because the sound range + has changed(now -soundvol 100 is like -soundvol 200 on older builds), and the + default "soundvol" setting is 75. 100 clips on some Namco games, and 200 clips + on many games, so I'll probably have the configurable volume range as [0:125]. + What exactly is "%" supposed to mean in this case.... 100% of what?! + + When using low-quality sound emulation mode, total emulation speed is about 10% + less than previous builds. The change in speed for high-quality sound emulation + mode is significantly less. + + Added beginnings of SexyAL to source code tree, removed SDL sound support, and + old OSS code. + + Copied over some autoconf/automake stuff from phamicom. It stills needs a bit + of work... + + Fixed DMC IRQ emulation. Fixes many CodeMasters games. Finally. ^_^ + + Restructured a lot of files, changed the interface between driver and + emulator code slightly. + + * Insert stuff here * + +November 28, 2003 - Snapshot + + Removed the DOS, Linux SVGAlib, and Win32 targets. *GASP* + Win32 support will return(eventually), using SDL + wxWindows. + SDL can use svgalib or GGI anyway, so it shouldn't be a huge loss. + DOS support will only return if someone ports SDL to DOS. ^_^ + It would be nice if SDL could accept modelines. Maybe in SDL 2.0... + + Merged fce.c and svga.c into fceu.c, and fce.h and svga.h into fceu.h. + + Reassigned "Mortal Kombat 3 - Special 56 Peoples" to mapper 209. + + Added emulation of the "Oeka Kids" tablet. + + Added emulation of the Family Trainer. + + Added emulation of the "Ultimate Quiz King" buzzers. + + Added emulation of the Mahjong controller. + + Added emulation of HyperShot controllers. + + Fixed loading of NSFs with load addresses below $8000. + + Cleaned and simplified some of the NES APU code. + + Altered mapper 65 emulation. Fixes Kaiketsu Yanchamaru 3. Does it break anything? + + Wrote a small FAQ file. + + Fixed displaying of garbage and other unpleasantness on the first scanline. I need + to clean up that code, though. + + Fixed color deemphasis emulation when all bits are set. For some + reason, I had commented out the code. Bleh. + + NSF player now writes $C0 to $4017 if the FDS is being used(the FDS + BIOS writes $C0 to $4017). $40 for all other NSFs. + + Added support for iNES mapper 58(nnnesterj). + + Added support for iNES mapper 208. + + Reassigned "Fudou Myouou Den" to mapper 207(CRC32 checks). + + Reassigned "Karnov" to mapper 206(CRC32 checks). + + Fixed the mapper 95 code, which was horribly broken. + + Differentiated between mappers 33 and 48. Added CRC checks to assign + some games to mapper 48. "Flintstones 2" and "Don Doko Don 2" are + the games that need to be assigned to 48. Are there others? + + Replaced usage of TriggerIRQ to X6502_IRQBegin/X6502_IRQEnd combos in + various mapper emulation files. 67, 33/48, 40, 73, 42, 65, 6, 182 + Removed function TriggerIRQ() from x6502.c + + Fixed the sound volume of the VRC7 emulation in high-quality sound mode. + Decreased(slightly) the volume of VRC7 emulation in both high-quality sound modes. + + Decreased the volume of the MMC5 expansion sound channels. + + Decreased the volume of the FME-7/mapper 69 expansion sound channels. + + Added FCEU_gmalloc(), which will call exit() if memory allocation fails, + otherwise it is guaranteed to return a memory block. + This will be used in the mapper code mainly. It should only + be used for small memory chunks. The reasoning is that if 64 some like KB of + RAM or less can't be allocated, for example, it'd probably be best to + exit the emulator ASAP. It also helps to simplify code logic, and + help (me) with modularization. + The behavior of this may change in the future. I still need to think about it. + I should probably save the configuration file regularly(or much better, + use the registry) on the Windows port, though. + + Cleaned up the save-state saving/loading code a bit, and added + support for linked save state structures for better modularity and + less code duplication. + + Merged the iNES and UNIF MMC1, MMC3, and MMC5 code more completely. + I may need to sanify CHR RAM and WRAM allocation for pedanticness, + though. Also worked on Tengen RAMBO-1 emulation, and mapper 90 emulation. + ***THIS MAKES SAVE STATES FOR GAMES THAT USE THESE EXPANSION CHIPS INCOMPATIBLE + WITH PREVIOUS VERSIONS*** + I plan on doing the same thing with other mappers/boards in the future, though. + Always on the quest for 1.0... + +November 12, 2003 - 0.97.5 Release + + Windows: Added limited support for arguments that change configuration + to be passed to FCE Ultra. Example: fceu -pal 1 c:\streetgangs.nes + It may be useful in frontends. + + Fixed filename generation for automatic IPS patching when a file + with no extension is loaded. Before this change, FCEU would + look for "game..ips" with a file named "game". + + Converted and updated the cheat guide in(to) HTML. + + Added support for iNES mappers 202,203,231 from info from cah4e3. + Fixed support for mappers 60, 200. + + Fixed various major bugs in the breakpoint deletion code. + + UN*X: Added support for OSS(/dev/dsp) devices that don't support mono + sound. + + Increased PPU startup idle time to 2 frames. Fixes that + unlicensed "Earthworm Jim 3" game. Does it break anything? + +November 9, 2003 - 0.97.4 Release + + Fixed another obscure PPU emulation screen corruption bug. + + Added support for Game Genie cheats in the cheat interface. + + Windows: Reworked the cheat interface, merging the cheat search + and cheat list windows into one. + + Windows: Greatly improved the CPU debugger. + The code still needs a lot of cleaning, though. + + Readjusted VRC6 IRQ emulation timing. + + Added support for the UNIF MMC3 board TEROM. The maximum PRG/CHR sizes + may not be correct in this implementation, though. + +November 8, 2003 - 0.97.3 Release + + Added a control to set the highest quality sound mode in Windows. + This change requires that any users who previously set + "high quality sound" to set it again. + + Fixed the volume of high-quality sound mode again. The changes + I made earlier didn't affect all the filter coefficients. + +November 8, 2003 - 0.97.2 Release + + Made a minor optimization to writes to palette memory. + + Altered VRC6 IRQ emulation timing slightly. + + Fixed a weirdo PPU emulation bug that could cause garbage on the right + side of the screen in certain situations. Thanks to FrenziedPanda for + bugging me enough to make me look into the problem and fix it. + I should be on the lookout to see if the fix breaks anything, though. + + Fixed the volume of high-quality sound mode(-soundq 1). It was + at 1/4 the volume it should have been. I compensated by increasing + the precision of the filter coefficients, which increased the sound + quality of that mode slightly without hurting performance. + +November 7, 2003 - 0.97.1 Release + + Fixed mapper 105 emulation. I had begun merging it into the + rest of the MMC1 code for 0.97, but I hadn't finished it. + + Changed things like RdMem(_PC++); to RdMem(_PC); _PC++; + Darn evil global variables. I need to fix them. Screw speed. + + Expanded checks for the global variable "fceuindbg"(used in debug + mode to prevent reads in the debugger from altering any registers). + +November 6, 2003 - 0.97 Release + * Note: I still had much more I had wanted to get done for 0.97, + but I lost even more interest. The Windows port still doesn't + have a way to enable the "highest" sound emulation mode, nor the + low pass filter code, not to mention that the lowpass filter code + isn't complete(I would need to design a high-order FIR filter from an IIR + filter to work properly-have the correct rolloff, among other + things-at finite playback rates). + + Fixed a bug in the IPS patcher. The recorded size wasn't being updated + after a successful realloc() was made, which could lead to corrupted patch + data from some patches. + + Added support for mappers 200, 201 from submitted code. + + Rewrote mapper 15 support to make more sense(well, depending + on your point of view...). + + Fixed 256KB CHR select support for mapper 115. + + Added support for mapper 12 from code from cah4e3. + +October 16, 2003 - Snapshot + + Fixed support for mapper 245(for nonencrypted/non-smynes-screwed up + ROM images only. Fixes "Yong Zhe Dou E Long [...] Dragon Quest 7". + + Added support for mappers 60, 62, 230, 244 from submitted code. + + Modified mapper 90 emulation to allow game-select on reset + for "Final Fight 3". + + Modified mapper 45 emulation to allow "Super 8-in-1" to work. + + Added a low-pass filter, and an option to enable it(CLI ports). + + 0x00 is now written to $4011 in the NSF player code instead of 0x40. + Fixed some other similar sound register init problems that I had fixed + in Festalon but forgot to fix in FCEU. Grrr. + + Removed some unnecessary 64-bit integer usage from FIR sound filtering + code. + + Added a new sound quality mode. Higher than high, it's highest(in + FCE Ultra, for now). Still need to fix the interface to allow + enabling it in the Windows port. + + Added some code for lower-level MMC3 IRQ emulation. It isn't completed + , and will not work properly as-is. I'm still playing around with + it occasionally. + + Fixed the sprite overflow flag(I think I fixed it), that was broken in an earlier + pre-0.97 release. + + Fixed support for iNES mapper 193. + + Command line arguments "-pal" and "-gg" now take extra arguments(1/0) + and are remembered in the configuration file. + +September 27, 2003 - Snapshot + + Added support for iNES mapper 50. + + Modified the UNIF board initialization code. Hopefully, this + new interface will eventually be used with the iNES code. + + Miscellaneous code cleanup... [truncated message content] |