if2a developer area

Welcome on the development area of if2a. Here you'll information concerning the F2A/F2A Ultra internals, development progress and how to contribute. This is by far the biggest section of the site as the program is still under active development.

Helping the reverse-engineering effort

We need you!

Jan, 17th 2005

At the moment, we cannot work as we would want to with F2A Ultra carts because of the Content Descriptor, the 64KBytes written to the cart alongside with ROMS and which describe the cart contents. It is used by CIZ to print information about ROM names, visible/hidden, save type, etc.

I already reverse-engineered the descriptor basics but writing to it means computing a CRC/checksum on it. Otherwise, CIZ will display the "Create CIZ..." message, erase it and recompute it based on the cart contents. Of course, this erases all user input.

You will find in that archive various Content Descriptor dumps taken with if2a.

posted by Vince

Development progress

Where we are and what we plan

Jan, 17th 2005

Here is what we aim towards for the future releases of if2a:

  • Full F2A Ultra support : while F2A Ultra read/write support is fully usable as of now, we still lack Die Hard and the ability to edit Content Descriptor. SVD compression/decompression also remains to be done.
  • GTK GUI to add a graphical interface over if2a.
  • Zipped ROM support.

Side projects

As side projects, there are two other things we'd like to work on :

  • Pogoshell support : at the moment, Pogoshell does not work well with Ultra carts. "Porting" it to the Ultra models would allow us to replace CIZ hence removing the need for SVD support (as Pogoshell SRAM compression is fully documented) and Content Descriptor edition. Plus, we would benefit from all the other nice Pogoshell goodies (themes, music and video player, etc).
  • ROM patching : we need a ROM patcher to support Die Hard, that's for sure. But such a patcher could be made generic to allow to save-patch any ROM. At the moment, there are no utilities to patch ROMs under free operating systems so writing one would be a good idea.

Porting if2a to make it run on new platforms

As of now, if2a runs under Linux (both 2.4 and 2.6 kernels) and Win32. A MacOSX port in being done (a much older one exists for f2a, the original software). if2a has also been reported to run under FreeBSD as well.

if2a should run on any system there is an available libusb port on. It is of course advised to work from sources when attempting to run if2a on a new platform/system.

Beside libusb, the only system-dependent part of if2a is fxload/ez2131. These are the utilities used to upload firmware code in the AN2131, the chip that makes the F2A/F2A Ultra USB linker. All the rest of the code is ANSI C (as of if2a-0.92b) and should pose no problem.

if2a devel site and sources repository

For if2a developpers (SVN repository and browser, sources browser, bugzilla).


Valid XHTML 1.0! Valid CSS!