From dcadbb2d08f2e71ffbe1d35397f45465399dbb16 Mon Sep 17 00:00:00 2001 From: "Kirill Lipatov (Leency)" Date: Sun, 14 Feb 2016 20:58:08 +0000 Subject: [PATCH] autobuild: remove fceu folder from /common/, use /programs/emulator/fceu/ instead; rename fce binary to fceu; add e80 readme.txt to autobuild git-svn-id: svn://kolibrios.org@6225 a494cfbc-eb01-0410-851d-a64ba20cac60 --- data/Tupfile.lua | 4 +- data/common/emul/fceu/ChangeLog.txt | 2183 ----------------- data/common/emul/fceu/FCEU_ReadMe.txt | 152 -- data/common/emul/fceu/History.txt | 33 - programs/emulator/fceu/fce | Bin 113006 -> 0 bytes .../fceu/fce => programs/emulator/fceu/fceu | Bin 6 files changed, 3 insertions(+), 2369 deletions(-) delete mode 100644 data/common/emul/fceu/ChangeLog.txt delete mode 100644 data/common/emul/fceu/FCEU_ReadMe.txt delete mode 100644 data/common/emul/fceu/History.txt delete mode 100644 programs/emulator/fceu/fce rename data/common/emul/fceu/fce => programs/emulator/fceu/fceu (100%) diff --git a/data/Tupfile.lua b/data/Tupfile.lua index ab67be6c1c..9bb2958dda 100644 --- a/data/Tupfile.lua +++ b/data/Tupfile.lua @@ -131,7 +131,9 @@ extra_files = { {"HD_Load/USB_boot_old/", PROGS .. "/hd_load/usb_boot_old/usb_boot_1251.txt"}, {"kolibrios/3D/3DSHEART", PROGS .. "/demos/3dsheart/trunk/3dsheart"}, {"kolibrios/emul/dosbox/", "common/emul/DosBox/*"}, - {"kolibrios/emul/fceu/", "common/emul/fceu/*"}, + {"kolibrios/emul/e80/readme.txt", PROGS .. "/emulator/e80/trunk/readme.txt"}, + {"kolibrios/emul/fceu/fceu", PROGS .. "/emulator/fceu/fceu"}, + {"kolibrios/emul/fceu/FCEU ReadMe.txt", PROGS .. "/emulator/fceu/FCEU ReadMe.txt"}, {"kolibrios/emul/", "common/emul/gameboy"}, {"kolibrios/emul/", "common/emul/scummvm"}, {"kolibrios/emul/", "common/emul/zsnes"}, diff --git a/data/common/emul/fceu/ChangeLog.txt b/data/common/emul/fceu/ChangeLog.txt deleted file mode 100644 index 37febc734d..0000000000 --- a/data/common/emul/fceu/ChangeLog.txt +++ /dev/null @@ -1,2183 +0,0 @@ -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 cleanups. - - /dev/dsp is now set to 8(previously 9) buffers of 128 samples in length - in the SDL code. - - Tried to make the save state code more expandable and modular. - - Moved a lot of the PPU code into ppu.c. - - Added more extensive debugging code to the 6502 emulator, to allow - for memory read/write hooks(including zero page addressing modes). - - Readadjusted DMC timings when PAL emulation is enabled. It looks - like it was correct before I had made the August 2 change. Thanks - to Bananmos for the information. I think. :/ - - Added support for iNES mapper 193 from information from virtuanes. - I think my dump of it is "bad", though. PRG and CHR pages look - like they are in the wrong order(logical vs physical? Who's to say - what's physical?). - -September 1, 2003 - Snapshot - - Fixed some minor initialization issues with iNES mappers 7 and 34. - - Added support for UNIF board NES-GNROM. - - Removed support for save states created with versions of FCE Ultra - less than 0.56. - - Replaced SDL sound buffering code with a lock-free FIFO implementation - written by David Olofson, with a few modifications by myself. - - Fixed a VRC7 NSF bug(it showed up under the reworked driver/file - loading order in the cli code). - - The board in "Rolling Thunder" has "RAMBO 1" on it, not "RAMBO-1". - -August 9, 2003 - Snapshot - - Removed the old plain text documentation and replaced it with - a new document in HTML. It is not completed yet, though. - - Rewrote the SDL-native audio code to be less wacky and more - thread-safe(hopefully). I'm still waiting for a new SDL audio - API... - - Altered the MMC5 IRQ timing. Fixes minor graphical glitches - in Castlevania 3. Does it break anything? - - Removed some debugging code that got into the last snapshot. - -August 5, 2003 - Snapshot - - Added some code in the IPS patcher to allow for expanding the size of files. - - Fixed a double free() bug with a mapper 51 game(in ines.c). - - Added support for "Alien Syndrome" (US release) as iNES mapper 158. - It looks like a derivative of the normal RAMBO-1 board(or is that - the name of the chip?), similar to TKSROM/TLSROM(mapper 118). - - Improved the "native" SDL sound code. It will now call SDL_Delay(), - among other nice things. The code could probably be improved more, - though. - - Added support for decimal components in xscale/yscale in the SDL - port. Set the default xscale for windowed mode to 2.40(to get a - more correct aspect ratio, assuming the display is currently at - a 4:3 aspect ratio). - - Modified args.c to handle floating-point numbers. - -August 2, 2003 - Snapshot. - - Disabled texture wrapping with OpenGL(there were problems at the edges - of the screen with linear interpolation). Bah. Now the edges - are too bright... - - Improved the accuracy of the DMC timing when PAL emulation is enabled. - I still don't think it's totally correct, though. - - Changed the default settings for the SDL code. Full screen - is now 640x480x8bpp by default, xscale and yscale are 2 for both full - screen and windowed, opengl support is enabled, linear interpolation - for OpenGL is enabled, and X-axis stretching is - enabled(in full screen). - - "Scanlines" were enabled in 8bpp to 8bpp blits in - drivers/common/vidblit.c when they shouldn't have been. Fixed. - - Fixed OpenGL code under big-endian platforms. - -August 1, 2003 - Snapshot. - - Various code clean-ups. - - Played around with adding a GTK+ GUI to the SDL code. - - Rewrote part of the hq sound rectangle wave code. - - Replaced the high-quality sound inline assembly filter code with - slightly faster C code. - - Hacked around with GP32 support. I don't know if the GP32 would - be fast enough, though. - - Skipped frames will now have D5 of $2002 set at the beginning - of the frame. Fixes "Bee 52". I must see if it breaks anything. - - Added OpenGL support to the SDL code. - - Removed the PPU drawing inline assembly code, replacing it with a faster - algorithm written in C. - - "Disabling" the 8-sprite limitation will no longer cause - "Bee 52" to break. However, the "Solstice" wizard will still - have the weird thing growing out of his face in the introduction, - since it depends on no more sprites to be rendered. - - Added entry for that Black Bass game for header corrections in - ines.c - - Strip color burst bit(D0 of $2001) is only "emulated" if bg or - sprite rendering are turned on, at the end of the scanline. - Doing it with pixel/tile granularity would require modifying - the sprite graphics data copying routine, which I don't - feel like doing. Fixes that crazy Sayoonara demo by Chris Covell. - I also modified the NES RAM initialization code. - - Adjusted VRC7 IRQ emulation for better Lagrange Point goodness. - - Added support for iNES mapper 91. (VirtuaNES) - -0.96: - Improved RAMBO-1(mapper 64) emulation. "Skull and Crossbones" is - now playable. - -0.95: - - timestamp and timestampbase are no longer saved/loaded to/from - save states. They were causing too many problems I didn't - want to fix, and I never intended them to be saved in save states - when I wrote the code that uses them. - I think the reason they were being saved was that I wanted to make it - possible to add movie support and network play save state loading - (distributing the save state over the network). So if someone in - the future wants to add these features, the issues(primarily with - zapper emulation and sound emulation) with saving the time stamp will - need to be resolved. - - Fixed some crashing bugs when save states are loaded when - high-quality sound emulation is enabled. It is like patching - holes in a swiss-cheese boat. All the holes may be patched, but - it looks ugly. At least it tastes good... - TODO: Look into saving more data in the save states, especially - data that is based off of "timestamp" and "timestampbase". Also - look into validating this data. Right now, corrupt save state data - might cause memory corruption in FCE Ultra. - - Fixed some bugs in the NSF player. - - Cleaned up more code. - - Reduced the usage of TriggerIRQ(). - - Split the palette code into a new file, palette.c, from svga.c - - Low-G-Man(NTSC and PAL versions) are now recognized by CRC32 value, - and WRAM will be disabled if they are loaded. A warning/status message - will also be printed regarding this issue. - - Decreased the volume of the DMC/PCM channel in low-quality sound - emulation. - - Low-quality sound emulation now uses 32-bit integers for much - better speed. - - FCEUI_CRC32() wasn't returning anything. D'oh. Fixed. - - Added somewhat crude support for games that switch background CHR data - mid-scanline (this is needed in games such as Mother, Pirates!, - Business Wars, and Marble Madness). - - Altered NMI, IRQ, and BRK emulation again. Fixes some games, - like Bases Loaded 2 and Dynamite Bowling, and maybe some others. - I had to increase the size of the IRQlow variable for delayed - NMI execution... I also had to add a delay between PPU reset - and the PPU actually doing anything, to fix "Knight Rider". - - Fixed a mapper 90 save state bug. - - /dev/dsp code now searches for /dev/dsp before /dev/dspX (where X is - a non-negative integer). - - SDL joystick axes configuration is now done from the joystick. - - Tweaked various Konami mappers' IRQ counter emulation. - - Added custom SDL throttle code that gives up time slices instead of - using 100% cpu. - - Fixed an issue with sprite priorities on MSB-first platforms. - - Modified powerpad.c to avoid a symbol conflict when compiling on the - Power PC architecture. - -0.94r3: - sound.c: - Fixed a divide-by-zero bug that occurred when a virtual - reset(like by pressing F10) occurred when sound emulation was - disabled. - -0.94r2: - drivers/common/vidblit.c: - Fixed code for 32bpp blur effect. - - drivers/cli/sdl-video.c: - Added error message for unsupported bit depths. - - mappers/simple.c, ines.c: - Used this bug fix pseudo-release as an excuse to add - support for mapper 107. Information taken from virtuanes. - -0.94(fixed release) ---- - Fixed call to InitUNIXDSPSound in svgalib.c - - Added man pages. - -0.94 ---- - Added support for rapid fire A/B buttons on physical joysticks - in SDL/svgalib/DOS code. - - Implemented "high-quality" Namco 106 emulation(used for hq sound mode). - In this case, "high-quality" means sounding more like it should, - not necessarily cleaner. I'm not certain that it's totally correct, - but it's in the right direction. - - RAM cheats should no longer affect Game Genie emulation. I still - need to completely verify this. There may be some sort of race - condition. - - Removed various minor speed hacks in the name of style and - correctness(and to make maintaining FCE Ultra easier for those - people who are not me). :) - - Removed NSF cpu hacks, as I changed code to make them unnecessary. - - Fixed another FDS IRQ emulation bug. "Famicom Grand Prix II" works - now. - - Fixed a memory leak and a heap corruption bug in "file.c". - - Added support for on-the-fly IPS patching. - Place the IPS file in the same directory as the file to load, - and name it filename.ips. - - Examples: Boat.nes - Boat.nes.ips - Boat.zip - Boat.zip.ips - Boat.nes.gz - Boat.nes.gz.ips - Boat - Boat.ips - - Some operating systems and environments will hide file extensions. - Keep this in mind if you are having trouble. - - Patching is supported for all supported formats(iNES, FDS, UNIF, and - NSF), but it will probably only be useful for the iNES format. It - can be used with the FDS format, but be warned that it will permanently - patch your disk image, as the disk image is written back to disk - when the game is unloaded(unless the disk image is in a zip file, in - which case it isn't written back to disk). UNIF files can't be - patched well with the IPS format because they are chunk-based with no - fixed offsets. Support for a UNIF patching format may be added - in the future(probably by someone else.). - - Added more games to the list in ines.c for having battery-backed - WRAM, for header corrections. - - Copied over the 96KHz filter coefficients from Festalon that I forgot - to do in 0.92. Oops. - - -0.93 ---- - - Reduced the volume of the FDS sound channel. - - Fixed a bug in the FDS IRQ emulation code that caused "Lutter" to not work. - - Fixed a bug in unif.c that would cause a crash if a unif file were - loaded without a board name being specified(as could happen - with a corrupted nsf). - - Fixed a bug in general.c relating to relative filenames(running - fce ultra like "./fceu ../big.nes" would work, but "./fceu ../big" - would not work- it crashed). - - - -0.92r2 ---- - Fixed dpcm irq bug that broke Cobra Triangle. - -.92 ---- - - Removed NSF player background, and added some special effects goodies. - - Changed the NSF player to use the emulated gamepad as input instead - of having special NSF-player-only keys. - - Added support for mapper 249(using nonencrypted games), thanks to SARO - for info. SMYNES sucks. - - Updated video blitting library-thing(vidblit.c) with more special - effects, and removed 24bpp support. - - SDL cleanupification. - - Added support for mapper 61. - - nnnesterj: Added support for mapper 57. - - Fixed mapper number for "Golden Game 150 in 1". Changed it to 235 - from 43. - - DDraw back buffer surfaces are now created in system memory if the - hardware blitter can't do stretching. - - Restructured file wrapping code. - - Added new cheat search methods. - - Fixed a major cheat unloading memory bug(and memory leak). - - Emulated that funky nonlinear DAC effect for hi-quality sound. - - More fixes/cleanups to FDS emulation code. - - Tweaked PPU timing a bit. - - Improved network play. - - Holding the enter key down will no longer do fun stuff to the nsf - player. - - Improved NSF player. It should support streaming pcm nsfs now... - - Changed FDS keyboard keys around a bit. F6 is the disk select key, - and F8 is the disk insert/eject key. - F8 to insert VS Unisystem coin, F6 to view/toggle dip switches. - Hopefully people won't complain after blindly hitting the save state - buttons. :) - - Many fixes and improvements to the Windows port. No more cpu-consuming - wait loops(specifically, sound). Added a message window. - - FDS sound emulation improvements. - - FDS disks are now auto-inserted on power on(or was it loading a new - game...). - - Changed the default last rendered scanline to 231. - - ines header corrections are now printed as status messages, not errors. - - Rearranged input updating code. - - Fixed a sprite transfer bug. Fixes PAL version of Rainbow Islands. - - Debugger hooks added. - - Small optimizations in Refreshline and FetchSpriteData to hopefully - offset the slight slowdown in the cpu core. - - MapperHBIRQHook is now called differently(depending on hi/low bg/spr - addresses). - - Added support for unif board UNL-8237. - - Added support for mapper 144(death race). - - Added partial support for mapper 74. - - Fixed a cpu emulation bug in GETIYWR. It would sometimes set "target" - to 0x10000, which was a BAD THING(overflow; now it wraps). - - Tried to add support for mapper 241. Needs special keyboard emulation. - I think. - - Internal RAM is now initialized to something other than 0. Fixes - Minna no Taabou no Nakayoshi Dai Sakusen. - - Reassigned "The Money Game" to mapper 155. It doesn't seem to - respect the WRAM enable/disable bits. Silly game. And - Tatakae!! Rahmen Man. - - Added support for mapper 115(still needs 256KB CHR select), 241, 114,88. - - Attempted to add support for mappers 91, 187. - - Modified frame IRQ to not break so many damn games. - - Fixed sprite hit detection loop. - - Improved support for mappers 80, 90,117,154, 189. - nnnester and virtuanes. - - Reassigned "Devil Man" to mapper 154. - - Removed bogus Trojan header fix in ines.c. - - - -.81-post: ----- - Fixed/Worked around(?) compilation problems on gcc 3.2.x. - -.81: ----- - - More SDL goodies. - - Renamed "Makefile.olinuxsdl" to "Makefile.unixsdl" - - More SDL fixes and cleanups. - - BeOS port is now compiled with the "-no-fpic" flag, which allows - me to use my inline assembly. The executable work fine as far as - I can tell. - - Added "Makefile.beos". gcc doesn't like my inline assembly - used in RefreshLine(),so this port will likely be slightly slower than - other x86 ports. - - Added a check to make sure SIGBUS is not equal to SIGSEGV in - drivers/cli/main.c. Needed for compiling under BeOS. - - Renamed the "PI" member of the X6502 structure due to conflicts with - a defined symbol with some math header files. - - Merged fcelineasm.h into fceline.h - - Fixed(possibly) a possible problem in fcelineasm.h with input register - clobbering. - - More SDL changes. - - Added speed throttling code to the CLI code, and added a command - line switch "-nothrottle". - - Lots of restructuring/rewriting/merging of the MMC3 code. - - Updated DOS code to use the generic CLI wrapper. - - Reads from $4090 and $4092 now return the current envelope setting - in FDS sound emulation. I'm not sure if this is correct... Affects - "Ai Senshi Nicole" and "Bio Miracle Bokutte Upa". - - Added native SDL sound support to the SDL code. the "olinuxsdl" - now uses this code by default instead of the unixdsp sound code. - - Modified MMC3 IRQ counter emulation. I'll need to watch out to see - if it breaks any games. Fixes: MegaMan 3, Gun Nac, Klax(Japanese). - - Changed a few memory reads in x6502.c to use RdRAM instead of RdMem, - resulting in a slight speed increase. - - Cleaned up mapper 250 emulation code. - - Added support for iNES mapper 51(thanks to Kevin Horton for the - information). - - Merged some iNES mappers corresponding to bootleg multicarts - based on MMC3s with mbshare/mmc3.c. - - Added support for iNES mapper 52(thanks to Kevin Horton for the - information). - - Made some hacks to the MMC3 emulation code so that I can add support - for pirate MMC3 multicarts more easily. I should clean it up later. - Moved mapper 44 emulation code to mbshare/mmc3.c. - - Saving screen snapshots will no longer corrupt the frame buffer - for one frame(unless memory couldn't be allocated). - - Fixed screen snapshot saving(it was sort of broken due to the - changes made to the driver<->emulator interface code; status - messages were being saved to the image). FCEUI_SaveSnapshot() - no longer returns a value(the request to save a screen snapshot is - serviced before status information would be written in the next frame). - - nosprites is now set to 0 before RefreshSprite() returns, to prevent - problems if a game turns off the bg and sprites when FetchSpriteData() - for the next scanline is called but then turns on sprites when - the actual scanline is drawn. - - PPU_hook() is now called more often if PPU_hook is non-null. - Made changes to mappers 118, 95, 9, and 10 to compensate. - No games seem to be broken, and I added support for mapper 96 - (though the games aren't very playable because the special controller - isn't emulated). - - Romance of the 3 Kingdoms is now recognized to use 16KB ex-WRAM. - - Added support for mapper 185...sort of. I think this is another - instance of incompatible hardware being lumped onto one mapper number. - Sigh. - - Added support for "Famicom Jump 2" as iNES mapper 153. - If a good(as far as I can tell) dump is loaded, FCE Ultra will - automatically fix the mapper number. - I also made some changes to the mapper 16 IRQ emulation code. - - BRK now sets the I flag. - - Reads from $4015 no longer reset DPCM IRQ. - - Changed emulation of RTI instruction slightly. - - X.IRQlow is now set to 0 in PowerNES(). - - The VS Unisystem bit in the iNES header is no longer looked at( - I was having too many problems with this bit being set when it - shouldn't have been). Now, VS Unisystem emulation is enabled - when a known VS Unisystem game is loaded. I also rewrote the VS - Unisystem detection function. - - iNES mapper 1 now supports pageable CHR RAM if no CHR ROM is present. - Fixes "Family School". - - Mapper 70 no longer has a mirroring control emulated, and I extended - the number of 8KB CHR pages supported to 16. - - Cleaned up iNES MMC5 save RAM loading/saving code and added - support for MMC1 games with 16KB of RAM(the second 8KB are saved), - via CRC32s(currently only Genghis Khan(USA) and Nobunaga's Ambition( - USA and Japan) are recognized). - - Added support for the MMC5 Koei game "Ishin no Arashi", in the iNES - format(I added an entry with its CRC32 value and the number of 8KB - WRAM banks it needs). - - Better iNES mapper 33/48 IRQ counter emulation. - - Added the game "Uchuusen - Cosmo Carrier" to this list. I'm - beginning to hate the iNES format more and more...or maybe - just Fanwen. :) - - Added the mapper 32 game "Major League" to the list of games - that usually need iNES header correction...but in this case, the - iNES header cannot specify that this game needs to have one-screen - mirroring. - - iNES header information is now printed before any header corrections - are made based on a database. - - Fixed a bug in mapper 32 emulation. "Ai Sensei no Oshiete" - works now. - - Tried to add support for iNES mappers 245 and 249. - - Fixed the MMC5 read handler to return the data last on the data - bus instead of 0xFF when a read was made to an unmapped address. - This seems to fix the lockup problems in "Bandit Kings of Ancient - China". - - Reversed "Modified the time at which the "y scroll" register is updated - during hblank." The changes broke Klax. - - Added an unsigned 64-bit base timestamp variable "timestampbase". - Adding this to the 32-bit variable "timestamp" will return - the number of cycles executed since emulation started(in the future - I'll probably change it to since reset or power toggle). - This allowed me to replace "lastn" hack in the MMC1 code with - something better. - - Changed my mind and undid the removal of support for old save states. - - Removed support for old save states and in general I won't - try to support save states made with previous versions. - - MMC1: Writes to $8000-$FFFF with D7 set will now cause - the first MMC1 register to be OR'ed with 0x0C. I'm not sure - if this is correct, but it doesn't seem to break anything - and it fixes Robocop 3. I'll see if anyone reports games - not working in .81 that worked in .80. - - Worked on a generic driver interface wrapper very similar - to the driver interface FCE Ultra used to use(I'm getting - tired of all of the duplicated driver code). Eventually, - the DOS, SVGAlib, and SDL ports will use this wrapper. - - Similar change to the argument parsing code. - - Changed configuration file saving-loading routines and the - configuration structure to allow for linking config structures - to each other). - - Small fix to the emulation of the MMC5 split screen mode. - - Made Linux SDL code compilable again. - - Changes to MMC5 EXRAM emulation(read/write). - - Fixes to the emulation of the MMC5's split screen mode, based on - observations while using CastleVania 3 and a Game Genie(on a real - NES). - - Fixed a bug in ines.c that caused any calls to AddExState() from - a mapper initialization function to be effectively "erased"(ResetExState() - was called after the mapper was initialized). Fixes the VRC7 sound - state saving/loading stuff. - - Finished adding support for the MMC5's split screen mode(this does - not mean that the support is complete, but at least the intro in - "Uchuu Keibitai SDF" works correctly now). - - Worked on adding support for the MMC5's split screen mode. Not - completed. - - Reverted to .80's FDS sound code. - - Modified the time at which the "y scroll" register is updated - during hblank. - - NSF playing code will now disable FDS sound output on song init - (fixes some problems with the Zelda no Densetsu NSF rip). - - Increased the emulated clock speed of the FDS sound emulation code - to give better quality output. - - Modified NMI to occur a few cycles later. Fixes BattleToads...but - it may have broken other games. Also modified the way NMI's are - handled in x6502.c. - - Modified ines.c to memset() GameMemBlock to 0 on virtual power toggle. - Also, trainers are now loaded into their own buffer instead of - directly into emulated WRAM and copied into emulated WRAM on - power toggle; I've been meaning to do this for quite some time. - - Changes to the way the zapper cursor is drawn on the screen. - - FCEUD_WriteSoundData(), FCEUD_BlitScreen(), and FCEUD_UpdateInput() - have been combined into one function: FCEUD_Update(). - - More fixes to the network play code, and a fix to the Windows network - play driver code that fixes(hopefully) a rather evil bug that caused - lockups when the remote stopped network play. - - Added code to set the battery-backed bit in RAM if a game needs it, - based on CRC32. - - Added more games to the list of games that commonly have bad iNES - headers, in ines.c - - Updated docs and usage.h for DOS and Linux regarding the new video - mode and the new refresh rates. - - Linux: Fixed a bug with video mode 6(a few upper scanlines were being - cut off). Increased the refresh rate of video mode 3 to 120hz. - - Increased the refresh rate of video mode 2 to 65 hz in the Linux port. - - Screen snapshots can now be taken while playing an NSF. - - Added a new sexy tweaked vga mode that I created to the Linux svgalib - port. It's 256x224 at a refresh rate of 103hz. Hopefully it won't - blow up anyone's monitor. ;) - DOS port will follow eventually. - - Modified Makefile.base to produce an executable named "fceu" instead - of "fce". - - The plans(cycle-accurate ppu emulation) for .90 were a bit ambitious, - and I still need to make other fixes before then. - - Fixed some minor(usually) bugs with setting 256x240 tweaked VGA mode - in DOS and Linux ports. - -.80: ----- - - Cleaned/fixed a few things in the mapper 19 emulation code. - Family Circuit '91 still doesn't work quite right... I wonder if - it's a bad dump. - - Added input override code to Windows port. - - Added code to fix iNES header information in RAM and suggest - changes to the user. - - Added support for iNES mapper 152(to be used with games set to - mapper 70, that use one-screen mirroring instead of h/v mirroring). - - Blits using the DirectX blitting function(method?) to the primary - surface are now done with the asynchronous flag set(if that - fails, a "normal" blit is tried). - - The DirectX blit buffer(secondary surface that FCE Ultra writes to - directly and then uses the DirectDraw blit function on to blit - to the primary buffer) is now created without specifying it - should be in system memory or video memory, except in the case - when no hardware blitting is available, and then DDraw is explicitly - told to create the surface in system memory. - - Added Family Keyboard support to the DOS port. - - Cleaned up the VRC7 sound emulation code. I need to find a way - to save the current sound state in a save state. - - Found out the real name of the "Space Shadow" gun; it's - called the "Hyper Shot". I'm still not sure who made it, though. - Possibly Bandai did. The interesting thing is that Konami - also made a Famicom accessory(dual square boxy things with two buttons - on each) with the same name(though there might not be a space in the - name). - - Only the upper two bits read from $4016/$4017 are undefined. - Bit5 is always 0, though. Fixed the bug in "input.c". - Silly kevtris' old documents. New kevtris' brain is always good. - - Family Keyboard support for the Windows port. - - Added support for the Family Basic Keyboard to the Linux port, other - ports todo. - Might want to add support for the tape recorder at some time. - Also mapped the "Scroll Lock" key to disable/enable command keys - so that the FBK is more useable. It doesn't disable CTRL C, - though... - - Changed a lot of inlined functions in x6502.c to macros so that - I could test out some optimization ideas. - - DOS code updates for game input override support. - - Small optimzation to opcode $4c, and relative jumps. - - Added some code to ines.c to set controller information in - FCEUGameInfo(returned by FCEUI_LoadGame()) based on crc32 values. - - Updated user documentation and usage.h for DOS and SVGAlib input - command-line changes. - - Added an option to disable the four-score(to Windows and Linux ports - so far). - - Updated Windows interface to support the new Famicom expansion - devices. - - (Re)Added support for the Famicom 4-player device. - - Improved Zapper emulation...sort of. It still needs a lot of work. :/ - - Added *partial* support for the "Space Shadow" gun. - - Added support for the Arkanoid controller(both NES and Famicom style). - - Added code to support the extension Famicom input devices. - - Added PAL scanline start/end drawing settings to Windows port. - - Added pause emulation key(F2) to Windows port. - - In the process of rewriting/fixing up input code stuff. - - Minor bug fix to Power Pad emulation code. - - VS Hogan's Alley and VS Duck Hunt automatically select the zapper - now(though it only works on the SVGAlib port). - - Undid some FDS sound code changes introduced in 0.76 that totally - screwed up sound. Oops. - - Added code to allow different settings for first/last scanline - drawn while in PAL emulation mode, to the Linux and DOS ports. - - Added convenience(it's not necessary, but it reduces redundant and - confusing code in the driver code) function - FCEUI_GetCurrentVidSystem(int *slstart, int *slend). - - Updated file "TODO". - - Changed #include to #include "zlib/unzip.h" - in file.c. - - NSF 6502 player now initialized the stack pointer on reset. - - Worked on de-emphasis emulation code quite a bit. - The deemphasized palette calculated at the end of the frame is now - based on what deemphasis bits were set for the longest during - the screen(sampling interval is a scanline) update loop. - Added a "static" deemphasized palette at $40-$7F in the palette table. - This corresponds to the colors when all of the deemphasis bits are set. - I did this to fix the PAL game "Noah's Ark", without breaking - anything else. The only downside is a slight speed loss(~2% on - my system when sound is disabled), but this is acceptable to me, - at least. - Maybe it's time to write hi/true-color ppu drawing code... - - - Fixed an out of bounds array access in svga.c in SetNESDeemph(). - The variable "lastd" in svga.c was being initialized to the wrong value. - Thanks to "Jarod CANAL" for pointing this out. - - Removed FCEUI_SetFirstRenderedLine or whatever it was called and - the function to set the last line. Replaced with: - void FCEUI_SetRenderedLines(int ntscf, int ntscl, int palf, int pall); - - Changed SetVidSys(int w) to ResetVidSys() in fce.c. Reenabled - PAL/NTSC emulation overrides based on game loaded(really only useful - for NSFs and UNIFs now). - - UNIF loading code now recognizes the chunk "CTRL" and tries - to use it. Only the svgalib code supports overriding of input - settings based on game loaded, now, though... - The user is still going to have to configure powerpad settings - on his/her own. - - Fixed return values of FCEU_fseek() and fixed a problem in unif.c - related to it. - - Changed mechanism for how FCE Ultra tells the driver - code what type of system is being emulated. A structure of - type "FCEUGI" is returned from FCEUI_LoadGame(). - - Fixed a major mapper 64 emulation bug introduced in 0.76. - - Modified BlitVidHi() in drivers/win/video.c to speed it up. - - Added support for loading the iNES-format Game Genie ROM image. - - Removed ggrom.h and added code to load the Game Genie ROM - image from a file. - - Added Windows netplay.c. (new: the user exiting the emulator - while stuck in a blocking recv() or send() loop now works.) - - Fixed a vram address register bug in fce.c that I created when I got - rid of the pair/dpair data types. - - Added new mappers/92.c - - Removed mappers/92.c until I can contact LULU or rewrite it. - - drivers/win changes. Removed netplay.c until I can rewrite it. - - Got rid of pair/dpair data types. - - Got rid of silly "TempArray" thing. - - Began adding GPL headers to files. FCE Ultra is going to be in - a state of legal limbo for the next few days... - - Replaced crc32.c and crc32.h, and added some #ifdef's and #defines - to use the crc32 code in zlib instead if zlib is linked with - FCE Ultra. - - More fixes to sb.c. - - Cleaned up drawing.h and ggrom.h(even though ggrom.h will *probably* - be removed before the next release). - - Redid frameskip code. - - Rewrote necessary pieces of sb.c and sb.h and fixed quite a few - bugs. I still need to test it on various other sound cards, though. - - Rewrote(more like "recreated in my own image") DOS keyboard driver. - Removed unused "keyscan.h" from drivers/svgalib - - Rewrote part of(the parts that Marat wrote - the connection and - closing parts) the Linux TCP/IP network play code. I guess it works, - but I haven't tested it very much. In any case, it's still dangerous - to use network play in FCE Ultra with SVGAlib, since recv() or send() - might block and since the keyboard is in raw mode, you have a problem. - Maybe a future SVGAlib will fix the general problem of lockups if - keyboard_update() isn't called, though it is only partly SVGAlib's - problem... - - Fixed FCEU_fseek() when used with a compressed file in the PKZIP - format that has been loaded. Fixes a UNIF loading problem. - Also added a check to the return value of FCEU_fseek() in unif.c. - - Replaced Marat's 6502 emulation core with my own. - It should be fully functional, but as always, I don't know if - I implemented the undocumented instructions correctly. - Several things are correct in this new core that were not in - Marat's(D flag is no longer cleared by interrupts, for example). - - Altered mapper 16 irq counter emulation slightly. - - Fixed the behavior of the SXA, SYA, and XAS opcodes based on the - documentation I have. I'm not sure what happens when page crossing - occurs with those instructions on a real NES, though. - Also CHANGED(not fixed) emulation of opcode $8B("XAA"). - - Changed some of the M* functions(absolute indexed and maybe some others) - to perform dummy reads. - - Changed some of the macros in m6502.c to inlined functions so - that I can modify and examine them more easily. - -.77: ----- - - Fixed a silly network play bug(in the global network play code) - that caused excessive lag. - - Added a "niceness" setting to the sound configuration dialog. - Removed obsolete information from the dialog. - - Fixed speed throttling code in Windows port when PAL emulation is - disabled/enabled and a new game hasn't been loaded yet. - - Commented out a printf() to debug stuff in fds.c(oops). - - Applied PK's joystick patch to the osdl code. It allows the user - to map axes and it fixes a joystick button mapping configuration saving - bug. - - Added two command line options new to Linux port to DOS port. - Just need to test them... - - Added some stuff to unif.c to allow for boards that can support - CHR RAM instead of CHR ROM(darn Sachen boards...). Fixes UNIF - version of "Q-Boy". - - Added command line option "-snapname" to Linux port. I'll add it - to the Windows port as well, but probably not to the DOS port. - - Added clip option to Linux port. - - Fixed sound logging(in Windows port) so that multiple recording - sessions now work. - - Added an option to clip the leftmost and rightmost 8 columns - of graphics in the Windows port. - - Added a submenu that lists recently opened files, in the Windows - port. - -.76: ----- - - Updated porting.txt. - - Added speed throttling code to Windows port that's used when sound is - disabled(and an option in the "Miscellaneous" - configuration window to disable it). - - Added cheat interface to DOS build. - - A few tweaks to the text cheat interface code in the cheat listing code. - Added a command to quickly toggle the status of the cheat(though a - cheat can still be disabled/enabled by (M)odifying the cheat). - - Support for UNIF UNL-TC-U01-1.5M board added. Same credits as below. - - Rewrote mapper 228 code just for the heck of it(actually, I couldn't - figure out why some(about two) of the games in the Action 52 cart - weren't working in .75(and .76). I traced it back to .71, where an apparent bug in - the undocumented 6502 opcode emulation allowed it to work, which - was later fixed for the .72 release(opcode 0x7C)). I'm thinking - that the dump is bad... - - Added a few crc32 checks to ines.c to check for and report when - a known(by me) bad(hacked or bad dump) game is loaded. - - Added support for the following UNIF boards. Thanks to Quietust - and Kevin Horton for the information. Some problems still exist - with a few games that use these boards, though... - - UNL-Sachen-8259B - UNL-Sachen-8259A - UNL-Sachen-74LS374N - UNL-SA-016-1M - UNL-SA-72007 - UNL-SA-72008 - UNL-SA-0036 - UNL-SA-0037 - - Fixes to some stuff in cart.c(for example, calling setprg32() when - only 16kb of prg data is present now works). - - Added support for iNES mapper 189. - - Tried to add support for the UNIF board "UNL-H2288". Failed. - - Updated "cheat.txt" to fix a few typos and added an example of finding - and adding a cheat using the Linux port's text interface. The actual - section on the Linux cheat interface still needs to be written, however. - - Changed network play code in the Windows port and fixed a bug. - Fixed a similar bug in the Linux netplay code....sort of. - - A few cosmetic changes to the dialogs in the Windows port. - - Fixed sound initialization on the Windows port(it was being initialized - when FCE Ultra started even if it was disabled by the user. Oops.). - - Joystick button configuration code in Windows port changed slightly - to be more useable. - - Changed reference to video mode 5 in the linux port to "1 per 4". - It may not be very meaningful, but it is certainly better - than "TV Emulation". I'll change the Windows port reference later. - - Documented video mode 7(320x240) for the Linux port. Also added - a check for the FBDev driver in order to use this mode instead - of a tweaked vga mode if that driver is being used. - - Added/Fixed cheat interface for Linux port. It's still not perfect, - though. The code is ugly... - - Callback function for FCEUI_ListCheats() now receives - status information(enabled/disabled). - - Callback functions for cheat functions now must return 0 to - stop listing cheats or 1 to continue. - - Fixed a problem(the cheat code was reading in cheats - for address $0000 from cheat files if any blank lines were present). - - SDL port zlib changes(linked dynamically to zlib now). - - More changes to envelope decay + looping on code. No longer - depends on value @ $4017. It now sounds correct based on some - tests I did with SMB3 and a GG, but Goonies 2 doesn't sound right( - based on a sound file sent to me by another person). - - Added support for iNES mapper 140. Thanks to Quietust for the - information. - - I need to figure out how to deal with the problem of so many - bad NSFs that most people consider good... - - Changed envelope decays a bit. Their behavior now depends on bit - 7 of $4017. I don't know if this is right... - - Addition of debug.c for some debugging stuff. - - Updated zlib to 1.1.4. - - Modified code in various files to allow UNIF games to override - current selected video system emulation(NTSC or PAL). Need to - make sure this really works. - - Changed sound.c to prevent desynchronization during network play. - This might slow down sound emulation slightly, especially when - sound emulation is disabled. I really don't care... - - Updating network play code. More info later... - - Moved the sound/video/etc output code in EmLoop() to the top of the - for(;;) loop so that initialization prior to calling EmLoop() will - be the same as initialization done during a call to a FCEUD_* function. - - A few very small changes to sound emulation in fds.c. - - Changed unlink() to remove() in cheat.c and removed the including - of the header file unistd.h. - - Split up the cc=... statement in RefreshLine() to make it easier - to read and not ambiguous(to Borland's C compiler). - - Changed a lot of the function declarations in cheat.c. I'll need - to verify that cheat searching still works ok and that cheats still work - ok. I'll also need to update the Windows(and Linux console) cheat code - to prevent compiler warnings. - - Fixed various minor code problems(not minor if you want to use a - compiler besides gcc). This is an ongoing process... - - Removed bit fields after reading about and thinking about possible - portability problems, though I kept some optimizations in fceline.h - - Minor code simplification in drivers/win/joystick.c(replaced - "case 200 ... 207" and "case 208 ... 215". - - Modified some code to use bit-fields in the graphics rendering code - in fce.c and fceline.h. gcc seems to be able to optimize the new - code to run faster. - - Fixed m6502.c and fce.c to initialize variables on virtual power - toggle. This should fix network play on the Windows port. - I'm also in the process of cleaning up fce.c. - -.75: ----- - Fixed directories configuration stuff in Windows port(corresponds - to .75r2). - - More changes to square wave channel envelope/volume emulation... - Changes described in the large paragraph some lines down have been - abandoned. - - Added a command line switch to set the volume in the dos port. - - Changed Windows sound configuration dialog. Now buffer length is - specified in time, not samples. I also added a volume control. - - Reduced the volume on 8-bit sound output on all ports by 1/2. - - Added a function FCEUI_SetSoundVolume(). Added support for setting - the volume via the command line in the Linux port, other ports coming - soon. - - Changed FCEUD_WriteSoundData() again. No longer has a "Check" - argument. All clipping(ugh) is done internally now. - - Added a directories configuration dialog to the Windows port. I worked - on it too long and I became a zombie, so it might have a few bugs. - That's what guine...err...users are for. ;) Don't expect me to do - anything like this for any other port, though. I don't feel like - doing it on the DOS port, and the Linux and other UNIXy ports shouldn't - really need it. - - Made some changes to the rectangle/square wave channel emulation to - fix the pops in SMB. I have no idea if what I did is correct. To - be honest, I'm not sure I know EXACTLY what I did, but it's something - like this: Writes to $4003/$4007 now reset the duty cycle count - and reload the cycle counter with the current wavelength. Writes to - $4003/$4007 now do not update the amplitude output of the channels; they - will be updated after the cycle counter hits 0(or below). - - More information in iNES informational output. - - Minor changes to mappers/16.c. - - Increased the volume of the VRC6's sawtooth wave channel. - - Added more information to the RAM cheat guide. - - Changed the triangle wave generation code slightly. I decided - to remove support for the higher-frequency triangle waves, as they - are too cpu-costly to create and are probably not very audible on a - real NES anyway. - - Major changes to how sound is mixed. This necessitated a high pass - DC-offset removing filter, and a low-pass filter just to make things - sound better. ^_^ - Note: FCEUD_WriteSoundData() no longer needs to clear the waveform - data referenced by the passed pointer; it's done internally now. - - Fixed JMP ($xxxx) - now handles wrapping like it occurs on a real 6502 - (hopefully; I'm assuming that the same holds true for the NES' cpu). - - Added the ability to load a custom global palette in the DOS port. - - Fixed bug in drivers/common/unixdsp.c(wrong return value if sample - rate was out of range). - - Many sound fixes... - Frequency sweeps, length counter stuff,... - - Changed Windows port to use IDirectInput7 and IDirectInputDevice7 - interfaces. - - Fixed a Game Genie bug in the core emulation code. It only appeared - in the Windows port, though. (Enabling gg emulation, loading a game, - and then disabling gg emulation and loading a new game while in the - gg code entry screen would cause the new loaded game to not work - correctly). - - Modified windows port to use the config saving/loading stuff in - drivers/common/config.c - - Mapper 45 cleanups/fixes. - - Added the ability to load a custom global palette in the Linux port. - Yay. - - Fixed a large number of overcomplicated code and silly bugs in - drivers/common/config.c. This changes the format of the configuration - structure, too. Also added support for saving/loading strings with - automatic memory allocation when strings are loaded. - - Minor change in InitNetplay(). - - Fixed bad type conversions for pointers to functions and fixed - some bad declarations of functions. - - Reenabled zlib support for the sdl build. I need to pay attention - to patches that modify lines than don't fit on my screen. - - Fixed vidblit.c to not emit so many warnings when compiling. - -.74: ----- - - Stop sound in Windows port when user clicks l/m/r mouse buttons - in the non-client area of the window. - - Added "Drag and drop" file open support to Windows port. - - Various code cleanups. - - mappers/33.c optimization. - - Rewrote the function "FCEU_MakeFName()". - - Removed crc32.h from mappers directory. - - Modified some of the window resizing code in the Windows port. - - Added support for waiting for vblank/double buffering to the Windows - port. - - Added/Fixed support for iNES mapper 248. - - After an NSF file is loaded, information about its header is now - displayed. - - Fixed a typo in the Namco 106 extra ram handling code. - - Improved the quality of the Namco 106's extra sound channels. - - Thank Mamiya and Applepie(real name?) for info. - - When an NSF file is being played, FCE Ultra will no longer go through - its scanline rendering loop. This speeds up NSF playback considerably. - - Updated "porting.txt". - - Moved some stuff from DriverInterface() to their own functions. - - Fixed some iNES mapper 18 IRQ counter emulation bugs. "Ninja Jajamaru - - Ginga Dai Sakusen" now works. - - Rewrote large pieces of the mapper 64 code. "Skull and Crossbones" - still doesn't work, though. - - Changed format of iNES header information output, added "ROM CRC32" info. - - Modified the way cycle timing is done slightly. No change - for NTSC emulation, but PAL emulation is a little more accurate. - - Changed the behavior of indirect indexed(I hope I got that right ;)) - instructions to behave more like a real 6502(junk reads are now - performed). - - A few optimizations/cleanups in m6502.c. - -0.73 ----- - - * Fixed several bugs with sprite emulation. Several games(such - as "Trojan" and "VS Duck Hunt") that were broken in .71 and .72 now - work ok. - * Added support for iNES mapper 82. Thanks to those who work on - "unofficial nester". - * Added support for iNES mapper 250(used by "Time Diver Avenger"). - * Fixed the documentation to show that iNES mappers 48, 83, and 232 - are supported. - * Removed various pieces of stale code and fixed a few minor bugs. - * Fixed a triangle wave channel bug(the channel was sometimes enabled - when it shouldn't have been). - * Writing to $4010 with the upper bit clear now acknowledges the DPCM - IRQ. This appears to fix "Stunt Buggies". - * Rewrote pieces of the Zapper emulation code to be cleaner and more - accurate. - * Rewrote the VS Unisystem dip switch drawing code. - * Simplified the setting of VS Unisystem dip switches. The "V" key - now toggles viewing AND editing of dip switches. - -0.72 ----- - - * Various minor bug fixes. - * Various code cleanups and size and speed optimizations. - * Removed some (apparently) unused MMC5 sound emulation code. - * Changed the behavior of $2003 and $4014 to better simulate what occurs - in a real NES. - * Fixed a few bugs in the undocumented 6502 opcode emulation code. - The Game Genie code "NUTANT" for SMB 3 works correctly now, at - least(previously it caused the game to lock up at the end of levels). - * Rewrote large pieces of the 6502 memory fetching code, resulting - in a slight slowdown in the speed of emulation. Benefits include: - Game Genie emulation now works(again) and 6502 emulation is more - accurate. - * Added support for iNES mapper 72. Thanks to rinao for the information. - * Fixed support for iNES mapper 77(used by Napoleon Senki). - * Fixed/Added support for iNES mapper 226. Apparently I made a mistake - in the documentation. Thanks to Mark K. for the information. - * Added support for iNES mapper 227. Thanks to Mark K. for the - information. - * Added support for iNES mapper 234(used by the Maxi-15). Thanks - to Mark K. for the information. Note that many of the Maxi-15 - ROM images on the Internet have corrupt CHR data(graphics), or the - mapper number is set incorrectly(usually to 11). Use a utility to - fix the mapper number. - * Added support for the following UNIF boards(prefixes omitted): - - EKROM (and fixed the reference to "Gemfire" in the documentation). - - HKROM - * Added the ability to enable and disable individual RAM cheats. - * Fixed some problems with the cheat search code(the NES' internal - RAM was being searched differently than any external RAM, which - was being search incorrectly). - -0.71 ----- - - * Fixed a 6502 emulation bug that was causing some Koei games - (ex: Nobunaga's Ambition, Genghis Khan) to not work. - * Extensive PPU/CPU timing adjustments. - * Fixed support for iNES mapper 40. - * Added support for the following UNIF boards(prefixes omitted): - - ETROM - - ELROM - - EWROM - * Fixed a few bugs in the UNIF code. - * Added support for loading and saving cheat files and an interface - to search for/add/delete/list cheats(no interface yet on Linux/DOS). - * Fixed a few minor bugs in the Windows DX code. - * Command line options to control the number of sound fragments - and the fragment size have been added(Linux). - -0.70 ----- - - * Adjusted PPU/CPU timing. - * Removed(until I understand the problem) a hack to get one of the - games in the Caltron 6-in-1 to work. - * Fixed an MMC3 IRQ emulation bug("Project Q" works better now). - * Fixed a problem/misunderstanding regarding the upper scanline. - It can now be displayed again. - * More accurate sprite hit emulation(fixes the title screen of - "Ultimate Stuntman"). - * VRAM bank switching for iNES mapper 4 is now possible(and enabled - for all mapper 4 games without CHR ROM). Fixes "Tenchi o Kurau 2". - * Added support for the Famicom's four-player adapter and the ability - to enable it(it is disabled by default to prevent compatibility - problems). - * Added an option(under miscellaneous configuration) to automatically - open the "File Open" dialog box when FCE Ultra is started. - * Sound sampling rate is now configurable. - * Fixed some bugs in the DirectSound code. - * Joystick button configuration is a little more user friendly(and - stable, hopefully) (Linux). - -0.62 ----- - - * Added support for the Famicom Disk System's extra sound channel. - * Updated the version of Tatsuyuki Satoh's OPL2 emulator used in - FCE Ultra from .36f to .37a. The sound quality in "Lagrange Point" - seems to have improved. - * Added support for iNES mapper 242(used by "Wai Xing Zhan Shi"). - * Fixed a network play bug that could cause desynchronizations - if more than one network play session occured since FCE Ultra - was started. This bug only showed up on the Windows port, though. - * Increased the volume of the noise and triangle sound channels. - * Fixed a save state loading bug. - * Fixed a small memory leak that was being caused by the VRC7 - state loading code. - * Fixed a bug that could cause FCE Ultra to crash if a virtual disk - was being read and the user ejected the virtual disk. - * Various minor bug fixes/code cleanups. - * NTSC color "emulation" can now be enabled again(the code to - enable it was broken in the last version). (Linux) - -0.61 ----- - - * Speed optimizations in sprite rendering code. - * Screen snapshots are now saved in the PNG format instead of the PCX - format. - * Fixed Game Genie emulation(it wasn't working in the last release). - Also added support for Game Genie emulation to the UNIF code. - * Rewrote command line option parsing code. - * Fixed a problem(if FCE Ultra was configured to connect to a remote - host and the remote host was given as an IP address, and the IP - address couldn't be reverse resolved, which is commonly the case - on home LANs, the connection attempt would fail) in the network - play code. I had misinterpreted the Winsock API documentation - when I wrote the code. (Windows) - -0.60 ----- - - * Various speed optimizations. - * Sound is no longer messed up when a JAM/KIL opcode is emulated. - * Fixed an overflow bug that occured when $4014 was written to - during certain(rare) conditions. - * Fixed a few save state bugs. - * Fixed a MMC1 CHR bank switching bug. - * Added emulation of the MMC5's WRAM write-enable/disable registers. - * Fixed a sound frame IRQ emulation bug. "Qix" works now. - * Added UNIF support. Some of the board emulation is still a bit - buggy, though. Look at the documentation for a list of supported - boards. - * Updated the "Palette Notes" section of the documentation. Also - fixed a few other problems with the documentation. - * Added support for loading files in the PKZIP and gzip - compressed file formats via zlib. - * Added the ability to configure the first scanline and the last - scanline to draw to the screen. Enabling PAL emulation no longer - will cause all 239 scanlines to be displayed, though an option - to override these settings for when PAL emulation is enabled may - be in the next version. - * Fixed a bug that would cause the emulated D-pad of virtual gamepads - emulated through the keyboard to be duplicated through "higher" - virtual gamepads(gamepad 1 would affect 2,3,4; gamepad 2 would - affect 3,4; etc.). (Windows) - -0.55 ----- - * Rewrote window resizing code. The window will now resize itself - to a multiple of the NES' screen dimensions nearest to the user - selected dimensions. (Windows) - * Added an option to use buttons instead of axes on physical joysticks - for the emulated D-Pad. This is useful for some digital joysticks. (Windows) - * Fixed a bug that would cause FCE Ultra to crash if sound were - disabled during emulation. (Windows) - * Added the ability to "fast forward" emulation. - * Added an option to allow more than 8 sprites per scanline to be - displayed. - * Added an option to save all extra non-volatile game data - (such as battery-backed RAM) in a directory under FCE Ultra's - base directory(as opposed to the directory the game is located in). - * Added an option to allow the emulator to change to a full screen - video mode once a new game is loaded. (Windows) - * Rewrote pieces of DirectInput joystick handling code. Hopefully - it should increase compatibility. (Windows) - * Added the ability to automatically obtain button numbers when - configuring joysticks, by pressing buttons on the joystick. - * Added the ability to close the current game(decreases CPU usage). (windows) - * Increased the speed of various function calls by passing - arguments to functions through registers instead of through the - stack. - * Added emulation of the MMC5's raw PCM register. - * Added the ability to save/load save states while network play - is occuring. - * Having PAL emulation enabled will no longer override the - NTSC/PAL settings in NSF headers. - * Fixed a bug that got into the .54 release. Extraneous data was - being returned on reads from $2002, which caused problems - with some games(such as "Choujin Sentai Jetman"). - -0.54 ----- - * Fixed a bug that would cause a wrong battery-backed WRAM file - name to be produced if FCE Ultra was passed a file name without - any directory component(such as "fceu SuperBlah.nes"). - * Fixed an iNES mapper 118 emulation bug that got into the code - in a recent code cleanup. "Armadillo" is playable again. - * Fixed a typo(and bug) in the MMC5 emulation code. - * Data returned from emulated reads to "unmapped" areas or - memory locations where bits are undefined should now be correct. - * Fixed emulation of the sprite memory transfer register $4014. - It now takes into account the last value written to $2003 and - starts the transfer to that location in sprite memory(like on - a real NES). - * Added a video configuration dialog box. (Windows) - * Added the ability to configure a custom video mode. Aspects - that are configurable include width, height, bits per pixel, - and size transforming(stretching and scaling). (Windows) - -0.53 ----- - - * Fixed a bug with joysticks that occured on systems with multiple - joysticks. (Windows) - * Added support for iNES mappers 77 and 92(thanks to LULU for the code for both). - * Added partial(timer is non-configurable) support for iNES mapper 105. - * Changed save state format again. Save states made with previous - versions should still be compatible, though this may change in - future versions. - * Small optimization to sprite emulation code. - * Rewrote color-deemphasis code to use integer math instead of - floating-point math. - * Rewrote and restructured input code. (Linux) - * Added command line option "-f8bit" to force 8-bit sound. (Linux) - * Rewrote and restructured input code. Among other new features, - keyboard keys are now somewhat configurable. (Windows) - * Writes to $4003/$4007 will now reset the emulated square wave - duty cycle generator. - * Added emulation of the Power Pad. - * Rewrote joystick device reading code to use the event-driven - interface. This should fix various problems regarding support - for joysticks with many buttons. (linux) - -0.52 ----- - - * Fixed a PCM emulation bug(digitized voices in "Ikari Warriors 2" - and "The Immortal", among others, work now). - * Fixed noise channel's LSFR update frequencies(hopefully). - * Various minor bug fixes. - -0.51 ----- - - * Added support for iNES mappers 86 and 89. - * Reduced byte size of the NSF player's background. - * Adjusted CPU/PPU timing. - * Fixed sound channel frequency calculations for when PAL emulation is enabled. - * Rewrote large pieces of the sound code and got rid of the sound queue. Sound quality should be slightly better now. - * Various minor bug fixes. - - Windows: - - * Fixed an FDS side reset bug when a new game is loaded. - * Screen width/depth/height changes while FCE Ultra is in windowed mode are handled now. - * Changed the configuration file format. - * Added a palette configuration dialog. - * Added the ability to load a custom NES palette. - * Added an option to double 16-bit sound volume. - * Added an option to force 8-bit sound. - * Added an option to use a secondary sound buffer(versus the primary). - * Added an option to wait for vertical blank if sound is disabled. - * Added an option to run while focus is lost. - -0.50 ----- - - * Many bug fixes. - * Sound code partially rewritten to improve quality(near-perfect - raw PCM now) and eliminate the need for a separate thread. - This created a small problem with network play, though, so read - the network play notes section. Also, synchronizing to - vertical blank has been removed. - * Rewrote other pieces of sound code. No more "buzzing" in MegaMan 2, - Codemasters games' intros, etc. - * Added support for the NES Zapper and the VS Unisystem's light - gun. Be sure to read "Light Gun Notes". - * Changed save state format. Save states should now be much - smaller for most games. Most(not all) save states created with - an older version should work. - * Added support for VS Duck Hunt and VS Hogan's Alley. - diff --git a/data/common/emul/fceu/FCEU_ReadMe.txt b/data/common/emul/fceu/FCEU_ReadMe.txt deleted file mode 100644 index f8c0518ebd..0000000000 --- a/data/common/emul/fceu/FCEU_ReadMe.txt +++ /dev/null @@ -1,152 +0,0 @@ - -*******************************RUSSIAN**************************************** - -==Î ïðîãðàììå FCEU== - FCE Ultra - îäèí èç ëó÷øèõ ýìóëÿòîðîâ NES íà Linux, DOS, Windows, -BeOS, Mac OS X, à òåïåðü è íà Kolibri è Menuet! - -Ñàéò: http://fceultra.sourceforge.net - -Ïîääåðæèâàåìûå ìàïïåðû: 0-11, 13, 15-19, 21-26, 32-34, 40-49, 51, 52, 57, 61, 64-80, - 82, 83, 85-90, 92-97, 99, 105, 107, 112-119, 140, 144, - 151-156, 180, 182, 184, 189, 225-229, 232, 234, 235, 240, - 242, 246, 248-250 - -Ïîñëå çàïóñêà ïðîãðàììû íóæíî ïðîïèñàòü ïîëíûé ïóòü ê íóæíîìó ôàéëó NES -è íàæàòü Enter (ïóòü îòîáðàæàåòñÿ â âåðõíåé ÷àñòè îêíà). - -Âåðñèÿ ýìóëÿòîðà: 0.96 -Âåðñèÿ ïîðòà: 0.3 - -==Ïîðòåð== -Asper -Ïèñàòü ñþäà: asper.85@mail.ru - -Îñíîâíûå êëàâèøè: - - Äëÿ ýìóëèðóåìîãî óñòðîéñòâà Family BASIC Keyboard: - Âêëþ÷èòü/Âûêëþ÷èòü Ââîä Êëàâèàòóðû Scroll Lock - (âêëþ÷åíèå ââîäà ñ ýìóëèðóåìîé êëàâèàòóðû îòêëþ÷àåò - êîììàíäíûå êëàâèøè) - Âñå ýìóëèðóåìûå êëàâèøè îòîáðàæàþòñÿ íà áëèæàéøóþ äîñòóïíóþ êëàâèøó - íà êëàâèàòóðå ÏÊ çà íåáîëüøèìè èñêëþ÷åíèÿìè. Ýìóëèðóåìàÿ êëàâèøà "@" - îòîáðàæàåòñÿ íà êëàâèøó "`"(grave), è ýìóëèðóåìàÿ êëàâèøà "kana" - îòîáðàæàåòñÿ íà êëàâèøó "Insert" (â áëîêå êëàâèø ðàçìåðà 3x2 íàä - êóðñîðíûìè êëàâèøàìè). - - Äëÿ ýìóëèðóåìûõ óñòðîéñòâ game pads: - A Turbo B - S Turbo A - Left Control or Z or Space B - Left Alt or X A - Enter/Return Ñòàðò - Tab or BackSpace Ñåëåêò - Cursor Down Âíèç - Cursor Up Ââåðõ - Cursor Left Âëåâî - Cursor Right Âïðàâî - - Äëÿ ýìóëèðóåìûõ óñòðîéñòâ power pads(êëàâèøè ñîîòâåòñòâóþò ðàñïîëîæåíèþ - êíîïîê íà ñòîðîíå "B"): - O P [ ] - K L ; ' - M , . / - - Äëÿ FDS èãð: - F6 Âûáðàòü äèñê/ñòîðîíó äèñêà. - F8 Èçâëå÷ü/Âñòàâèòü äèñê. - - Äëÿ VS Unisystem èãð: - F8 Âñòàâèòü ìîíåòó. - F6 Îòîáðàçèòü/Ñêðûòü dip ïåðåêëþ÷àòåëè. - 1-8 Ïåðåêëþ÷èòü dip ïåðåêëþ÷àòåëè (êîãäà dip - ïåðåêëþ÷àòåëè îòîáàæàþòñÿ). - - 0-9 Âûáðàòü ñëîò ñîõðàíåíèÿ. - Caps Lock Âûáðàòü âèðòóàëüíûé äæîéñòèê. - - F2 Ìàññøòàáèðîâàòü îêíî. - F3 Îòêðûòü ôàéë. - F5/F7 Ñîõðàíèòü/Çàãðóçèòü ñîõðàíåíèå. - F9 Ñîõðàíèòü ñíèìîê ýêðàíà. - F10 Ïåðåçàãðóçêà. - F11 Âûêëþ÷èòü/Âêëþ÷èòü. - ESC/F12 Âûõîä. - - -*******************************ENGLISH**************************************** - - -==About program FCEU== - FCE Ultra - is is one of the best emulators of NES on Linux, DOS, Windows, -BeOS, Mac OS X, and now on Kolibri and Menuet! - -Website: http://fceultra.sourceforge.net - -Supported mappers: 0-11, 13, 15-19, 21-26, 32-34, 40-49, 51, 52, 57, 61, 64-80, - 82, 83, 85-90, 92-97, 99, 105, 107, 112-119, 140, 144, - 151-156, 180, 182, 184, 189, 225-229, 232, 234, 235, 240, - 242, 246, 248-250 - -After program executing you have to input full path to the NES file that you want -to be executed and press Enter (the path echo on the upper part of the window). - -Emulator version number: 0.96 -Port version 0.3 - -==Porter== -Asper -mailto: asper.85@mail.ru - - -Main keys: - - For emulated Family BASIC Keyboard: - Enable/Disable Keyboard Input Scroll Lock - (enabling emulated keyboard input will disable - commands keys) - All emulated keys are mapped to the closest open key on the PC - keyboard, with a few exceptions. The emulated "@" key is - mapped to the "`"(grave) key, and the emulated "kana" key - is mapped to the "Insert" key(in the 3x2 key block above the - cursor keys). - - For emulated game pads: - A Turbo B - S Turbo A - Left Control or Z or Space B - Left Alt or X A - Enter/Return Start - Tab or BackSpace Select - Cursor Down Down - Cursor Up Up - Cursor Left Left - Cursor Right Right - - For emulated power pads(keys correspond to button locations on - side "B"): - O P [ ] - K L ; ' - M , . / - - For FDS games: - F6 Select disk/disk side. - F8 Eject/Insert disk. - - For VS Unisystem games: - F8 Insert coin. - F6 Show/Hide dip switches. - 1-8 Toggle dip switches(when dip switches - are shown). - - 0-9 Select save state. - Caps Lock Select virtual joystick. - - F2 Scale window. - F3 Open file. - F5/F7 Save/Load state. - F9 Save screen snapshot. - F10 Reset. - F11 Power off/on. - ESC/F12 Exit. - diff --git a/data/common/emul/fceu/History.txt b/data/common/emul/fceu/History.txt deleted file mode 100644 index 3a9c6b46be..0000000000 --- a/data/common/emul/fceu/History.txt +++ /dev/null @@ -1,33 +0,0 @@ -01.09.08 == Port v0.1 == Emulator v0.42 -- çàãðóçêà NES ôàéëîâ | - load NES files -- èñïîëíåíèå NES ôàéëîâ | - execute NES files -- ìàññøòàáèðîâàíèå ðàçìåðà îêíà | - scale window size -- ðàáîòàåò â ÎÑ Kolibri è Menuet | - work in OS Kolibri and Menuet - - -24.10.08 == Port v0.2 == Emulator v0.42 -- ðàáîòà ñ ñèñ. ôóíêöèåé 70 | - working with sys. function 70 -- ñîçäàíèå ñîõðàíåíèé | - make saves -- çàãðóçêà ñîõðàíåíèé | - load saves -- ñîçäàíèå ñêðèíøîòîâ | - make screenshots -- äîáàâëåíû êëàâèøè Òóðáî A è Òóðáî B | - Turbo A and Turbo B keys were added -- ðàáîòàåò òîëüêî â ÎÑ Kolibri èç-çà | - work in OS Kolibri only because of - èñïîëüçîâàíèÿ ñèñ. ôóíêöèè 70 | using sys. function 70 - -09.07.09 == Port v0.3 == Emulator v0.96 -- äîáàâëåíî 33 íîâûõ ìàïïåðà | - 33 new mappers were add - ( 48, 51, 52, 57, 61, 72, 74, 77, 82, 83, 88, 92, 96, 114, 115-117, 140, - 144, 152-156, 189, 227, 232, 234, 235, 242, 248-250 ) - -- äîáàâëåíû íîâûå ýìóëèðóåìûå | - new emulated devices were add - óñòðîéñòâà | - ( power pads, game pads, zapper, arkanoid, shadow, Family BASIC Keyboard ) - -- âûáîð âèðòóàëüíîãî äæîéñòèêà | - select virtual joysticks -- óñêîðåííûé âûâîä ãðàôèêè | - faster graphics output -- âûâîä fps | - fps output -- ñîîáùåíèÿ òåïåðü âûâîäÿòñÿ íà äîñêó | - messages now output to the debug board - îòëàäêè | -- ñì. ôàéë "ChangeLog.txt" ÷òîáû | - see file "ChangeLog.txt" for full list of changes - ïðîñìîòðåòü âåñü ñïèñîê èçìåíåíèé | - diff --git a/programs/emulator/fceu/fce b/programs/emulator/fceu/fce deleted file mode 100644 index 5f193028030991260134a16902c48b387997143f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 113006 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%0AxC$`^tR3iL> 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≫)z`8 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 diff --git a/data/common/emul/fceu/fce b/programs/emulator/fceu/fceu similarity index 100% rename from data/common/emul/fceu/fce rename to programs/emulator/fceu/fceu