A NES emulator written in Objective-C that exercises Mac OS X's robust, modern APIs
The Macifom is a highly-accurate NES emulator and debugger written in Objective-C that leverages the latest Mac OS X APIs to provide excellent performance and usability.
The purpose of the Macifom project is to facilitate the NES development on the Mac OS X platform by taking full advantage of the OS X technologies as, for instance, CoreAudio, AppKit, OpenCL, OpenGL and others.
In other words, Macifom intends to extend its actual emulation and debugging capabilities through the addition of sound output, improved compatibility, mapper support and interfaces for viewing and modifying live program and graphics memory.
Here are some key features of "Macifom":
- Cycle-exact CPU (2A03) emulation for valid opcodes
- Scanline-accurate PPU (2C02) emulation
- Excellent sound reproduction care of Blargg's Nes_snd_emu library
- Windowed and full-screen display modes
- Support USB Gamepad and Joystick controls
- Support for NROM, UxROM, CNROM, AxROM, SNROM, SUROM, TxROM, VRC1, VRC2a, VRC2b and iNES #184 (Sunsoft) boards
- Automatic saving of cartridge SRAM to disk
- A debugger featuring breakpoints, live disassembly of program code, reading and writing of memory locations, register display and step-through execution
- Support for software using the VRC1, VRC2a, VRC2b and iNES #184 mappers.
- Improved support for USB gamepads and joysticks.
- Removed all remaining Carbon and other deprecated code. This version adds support for Mac OS X 10.7 Lion and drops support for Mac OS X 10.5 Leopard.
- Macifom can now be launched by double-clicking an iNES-format file.