Robert Posted August 9, 2006 Share Posted August 9, 2006 NES emulator 09-08-06: 1.9 (game on) - mappers: fixed a small bug in the Namcot 106 IRQ system, I actually fixed that before, but managed to simultaneously break it- fixed a bug when loading from a zip archive containing multiple files, it would sometimes pick the wrong one- added support for external WAV samples for a few Japanese sports games by Jaleco containing an UPD7756C speech synthesizer or similar device- rewrote the controller system, making it possible to customise ports. added support for the Power Pad, Family Trainer, Four Score, and the standard Famicom joypad- mappers: added a CNROM subtype for Family Trainer - Aerobics Studio, it uses a Bandai speech chip (again, supported with external samples)- draw: moved window border clipping to the settings file, instead of being hardcoded- draw: reintegrated blargg's NTSC library, only falling back to the simpler renderer when the RGB video signal is selected (though still using the library for palette calculation)- draw: added 'window zoom', 'correct aspect ratio', 'stretch to fit', and 'video format' settings- merged the palette module with the draw module, converting the old (1.3 I think) hardcoded stuff; decoder selection, RY/GY/BY angle customisation, etc. to blend in nicely with the NTSC library. auto palette detection on region, and brightness/gamma calculations on RGB palettes were removed- settings: changed 1/0 to yes/no or on/off. settings source: support for floating point numbers- fixed a conflict between sound and vsync timing causing sound crackling with monitor refresh rates very close to the NES refresh rate- added the previously compile-time-only 50hz/60hz setting (it forces the NES to run at an exact refresh rate of 50 or 60hz, for PAL and NTSC respectively, to prevent tearing). Emulation compatibility is not affected- draw: fixed on-screen messages not working prior to DirectDraw initialisation- fixed a serious memory conflict during cartridge loading, where it could occasionally load the wrong file. strangely, this never happened on my PC- added a thread/application priority setting- draw: improved vsync, it should be more accurate and less time consuming- draw: fixed a crash when changing Windows screen settings while having a game running in the emulator- APU: fixed a small frame IRQ timing bug- the Open dialog now remembers the previously opened game name- unintialised SRAM is now saved as a 0 byte file when opening a game- PPU: support for overscan (as on some tvs, or captured NES video data with a tv-in card). to enable it, supply the window border clipping settings with negative values, there's no speedloss if it's disabled- input: fixed oversensitive joypad readings, giving occasional false positives- added support for frameskipping- draw: cleaned up the splash screen picture, and converted it to a fake NES screen, so changing graphics settings now affects the splash screen as well- draw: added border colour selection- CPU: fixed the HLT opcode, where it previously would just continue running- draw: readded the old splash screens: 'nothing' from 1.0-1.2, 'Red X' from 1.3/1.4, and 'Smith' from 1.5- fixed a small resource leak when closing threads- sound: added buffer underrun detection- input: removed support for functions within functions, to add room for future functions (combinations with '&' can be used for the same effect)- input: added a sound(volume threshold%) function, that triggers if the sound volume of the currently selected capture device (eg. microphone) overflows the given threshold. for example, it's possible to make Mario jump if your girlfriend screams at you for spending too much time playing games- controllers: added support for the Famicom microphone- input: improved disabling standard menu functions if F10 and/or Alt are used, now only having effect if the device is in use, and not inside a combination- controllers: added support for the Japanese 4 Players Adaptor- rapid fire is now enabled by default on joypad buttons A/B by holding shift before pressing the button- mappers: added Contra Function 16 (iNES: 15)- input: update intervals are variable now, instead of being fixed at vblank, necessary for at least BMX Simulator- mapper source: spreaded the mapper_simple.c contents over several groups, and cleaned it up a bit- corrected PAL CPU speed, it was running about 1% too fast- CPU: fixed IRQs possibly happening one cycle too late if an IRQ was triggered before with the interrupt flag enabled- mappers: added Nintendo World Championships (iNES: 105)- draw: added support for full screen- prevented the Windows screensaver from happening if the emulator is active- PPU: fixed an NMI from being able to happen outside vblank in the first frame, this finally fixed Knight Rider- mappers: fixed a small bug with the MMC1 when ignoring a 2nd fast write- mappers: added a CNROM subtype that relies on bus conflicts, needed for Cybernoid - The Fighting Machine- PPU: a few optimalisations- PPU: improved open bus sprite RAM reads- mappers: fixed MMC5 EXRAM write timing- mappers source: removed iNES mapper number dependency, now using internal mapper types instead, and added a few types that previously were within conflicting iNES numbers- removed detection and header fixes based on CRC32 checks, and added a few checks for common header errors in turn, like garbage in unused header space- added ROM properties selection to the Open dialog. before loading a game, you can now choose the mapper type, mirroring, and whether or not SRAM is enabled- disabled SRAM saving after the CPU halted, that's probable to happen when picking the wrong mapper type for a game- mappers: optimised and cleaned up the MMC3 IRQ handler a bit- mappers: fixed a possible overflow happening when loading a game with 16KB PRG ROM on a different mapper type- mappers: added support for the Rumblestation (iNES: 46), Tengen Rambo-1 (iNES: 64), HES/Nina-003/Nina-006 (iNES: 79, 113)- input: added Shift, Control, and Alt triggers (combination of left or right)- input: added support for flags 'IsActive' and 'IsForeground' in trigger rules- input: added support for emulator shortcuts (eg. Alt & Enter for full screen)- disabled SRAM saving when the iNES battery flag is set, and the cartridge doesn't contain any WRAM- added support for pausing the emulator- improved the menu a bit- mappers: added Wai Xing Zhan Shi (iNES: 242)- added an iNES header editor- GUI buttons and such look good on Windows XP now (I didn't notice earlier, because I normally don't have themes enabled)- CPU: added support for overclocking/underclocking, useful to prevent (even though natural) slowdown in games. all other NES components keep running at their original speed, though this can still cause major problems if a game relies on accurate timing- CPU: fixed cycles possibly overflowing if a sprite DMA transfer happened near the end of a frame- draw: similar messages are now updated, instead of being reposted- controllers: added support for the Family Basic keyboard- mappers: added support for Family Basic- mappers: added support for cartridge switches, eg. the dipswitches on the Nintendo World Championships cartridge- rewrote the documentation>> Get it HERE. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now