Features include: NSFe support, a PPU tile viewer, customized speed control,
access to memory, registers and counters, customizable high-quality audio,
a pseudo-interlaced (480i) mode, and near-100% accurate 2A03/7 emulation.
Recent changes include:
Various bug fixes and compatibility improvements.
Added custom overscan limits, replacing "Clip Sides".
Added mapper 174 (limited support).
Added video NTSC filter/stretch, adjustable settings.
Added option to disable direct DA input (4011h writes).
NSF playback auto-advance, including loop-1/all and silence detection.
Implemented more complete YM2149F sound for Sun5B - noise & envelope.
- note that it is slower than before, even with optimizations.
Added "No Rect Duty Reset" option for smooth results with manual-sweeping music.
Support for non-standard iNES 1B signature.
Moved CityFighter PCM to VRCVI - softer but clearer.
VRCVI overlow at volume point 42.
Non-clone CPU RAM filled mostly with FFh on hard reset.
Fixed a number of VS-related bugs.
Input menus; also replaced GamePad graphic with photo-based image.
Added Subor Keyboard.
Updated mapper 116 (SL12) to run "Kart Fighter (Unl)".
Added UNL-CITYFIGHTER board, 166/167/39 Subor and 31 NSFROM mappers. MMC3 revision B by default, TEROM/TFROM hardwired mirroring. Fixed-banking for SHROM; added SH1ROM PCB variant.
Added 1.5 SHROM, 4.1 MMC6 and 34.2 BNROM submapper codes.
Imported kevtris' VS palettes. Fixed sweep enable and silencing during sweep reload.
DMC DMA read only on last cycle.
Added PPU memory, OAM RAM, APU registers, and PRG banking to Memory View.
Added iNES mappers 178 and "Holy Diver" 78.3.
Added Dendy autodetect (merely "(R)" for Russian).
Non-taken branches always read operand. Regions now specific models; added RGB model (e.g., Titler; missing #13 grays).
2A0x rev. A emulation performs LXA; others, ATX.
Added 401x port/DMC DMA collision; dma_4016_read test passes (FourScore off).
Corrected 4014. DMA emulation not 100% correct, but sprdma_and_dmc_dma passes.
Fixed DMC channel DMA timing and 4017 IRQ bugs.
Correct rectangle duty types, replacing threshold with a customizable table.
Fixed rectangle sweep and frequency reload.
User-optional open bus input port mask.
Last field now first field (as it should have been).
Added 2007 busy reads.
NES soft reset and proper boot sequence. Knight Rider and Ironsword run again.
Improved even/odd and NMI timing (3+1.5 CPU cycles).
Added PPU A12 hook (e.g., manual MMC counting).
Revised menus; more items in case function keys aren't available...
4014 odd cycle rounding and implied reads (more complete 2A0x).
Added Dendy region.
Added per-pixel composite index disabling.
Fixed IRQ/BRK/NMI concurrency. More tests pass.
Precision timings precalculated on CPU subcycle level, instead of PPU cycles.
More cases for faster 2x window drawing; revised blitter.
Fixed input & input drawing; automatic Zapper for Duck Hunt works.
Correct PAL emphasis (BRG).
Fixed palette power-up table, read and render-off input masks.
Fixed VS palette selection and dip switch display.
Sunsoft FME-7 IRQs acknowledged only clearing bit 0 of 13.
Doesn't work with all carts.
Added missing CHR bank line for AxROM/mapper 7 boards; fixes Battletoads, others.
Added mapper 28 (INL-ROM) and TxROM/SxROM variants. More board recognition.
Added NMI-ISR window for BRK/IRQs, plus NMI instruction delay.
Corrected CPU power & reset states.
Branch during pagecross triggers pending IRQ; passes "5-branch_delays_irq".
Corrected ARR op, SHX, SHY, ANE and BRK operations on a Visual6502 level.
Adjusted initial triangle position for better channel mixing.
Fixed a major path bug that caused the wrong file to be opened.
New best-quality sound: pulse and noise channels always clock even if silent.
square_timer_div2 renders correctly now, no hacks.
Fixed the triangle length bug.
Disabled minimum boot time for 2000h writes that broke nes-saw, others.
Fixed field ordering after NMI/VBL fix; added last-field user setting.
Adjusted no-render pixel offsets.
Added "latch" decay (for ppu_open_bus.nes).
N106 rate ratio numerator set to exact value at best rate.
No more default WAVE name; ROM file base name by default (if loaded).
Fixed PPU and APU frame issues - all Shay Green VBL/NMI and APU tests pass.
Added sound latency - no more break-up in Mac emulators or fast NSFs.
Added initial frame limit to NSFs for ROMs like "battletoads & double dragon".
NSF frame size (rate) in file now used.
Added inverse table remapping so all emphasis is handled (per line, however).
Added interlacing to 2x scaling. Disabled obsolete assembly code
- faster full-screen Millions of colors screen doubling as a result.
Playfield/screen-off now writes single pixels instead of 8s.
Fixed the standard 64-color palette and NTSC HSB constants.
Replaced the APU frame divider singular "half counter" with a table.
Added Memory View window.
Fixed sound-off speed issues by internally rendering silent samples at 4998 Hz.
MMC5 PCM now disabled at init. (ROM must clear $5010 bit #6 and #0.)
Fixed a mapper sound bug and some shell bugs/issues.
Added ability to adjust the DC filter (or turn it off).
Higher quality sound playback of high sample rates on most Macs.
High definition non-aliasing sound, "best" rate of 100-111.8608 KHz
- faster than FCE Ultra's filtered 96KHz "high quality."
17:4 fixed-point sample rates.
- See the Changelog for more details.
==== Minimal Requirements ====
System 7.0 or later (7.5.5+ recommended)
A 68020 or better - over 200 MHz for real time performance.
(Some carts and NSFs are more demanding.)
2900KB of RAM (Largest Unused Block), preset to 6 MB/3 MB
(Video filter alone needs 1.2MB.)
Download: MacFCEU v0.9a1