macifom


Macifom is a NES emulator written in Objective-C that exercises Mac OS X's robust, modern APIs.

We Have Relocated to GitHub!

You can now access Macifom sources for both OS X and iOS from GitHub! Please visit: https://github.com/macifom

https://lh4.googleusercontent.com/-QUalKU9ueYo/Tn-ZhIH0O5I/AAAAAAAAAEY/BRwUg8Vha94/s800/Screen%252520shot%2525202011-09-21%252520at%2525207.31.36%252520AM.png

(Battle Kid 2 Demo, by Sivak Games)

Version 0.16 Released!

The latest version of Macifom features the following major fixes and improvements: * 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.

About Macifom

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 this project to facilitate new NES development on the Mac OS X platform while leveraging OS X technologies such as AppKit, OpenCL, CoreAudio, OpenGL and more!

The latest version of Macifom features:

  • 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
  • Supports games designed 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.

I am working to extend Macifom's emulation and debugging capabilities with the following:

  • Support for additional mapper chips and cartridge boards
  • Interfaces for viewing and modifying live program and graphics memory
  • Française, 日本語, Español and Deutch localizations

You Can Help

  • I'm looking to build a team of developers to move Macifom forward. If you're interested, please join our group at http://groups.google.com/group/macifom-devs
  • Users are encouraged to file bugs for crashes, incompatibilities and missing features!
  • Another way to help out is to donate. Your donations offset the cost of development tools and keep me fed while coding.

Project Information

Labels:
emulator mac nes famicom debugger osx