IFORead is a project aimed at dissassembling the VM commands found in DVD IFO files. At the moment, it is capable of decoding most link, sequence, jump and call commands. It currently dumps its output to stdout or a dvdauthor like xml file. Hence our command structure is very similiar to it. It also contains a dvdauthor compatibility mode to help bridge the gap between specific commands, but not sacrifice debugging information where nessecary. It also has rudimentary support for button and cell commands. Please try it out and tell us what you think, how it compares to the original DVD, etc.

The program is written in Ruby, and you will need the ruby parser to run it. There is no installation method at the moment, with the program being executed from the directory it is in.


07.04.2004 -- Release 0.04

New release, with new features. Not much in the way of bugfixes, as I don't get the time to properly test my software. If anyone wants to contribute or take over the project, please let me know at All feedback is appreciated, especially with the new support for cell and button commands (might be disabled in integrate.rb, check source for more details). The project has fallen dead for a while, due to a lack of time to update it with exams and the like annoying me. May get more time to do some serious programming in a few weeks.

25.04.2004 -- Release 0.03

New release of 0.03 availible, with various bugfixes and a dvdauthor compatibility mode. Get it from the project page.


Initial release availble for download from the project page. All minor news from now on will be at the project page, so please check there first for more up to date information.


Created this web site and started project at


The program can be downloaded from the project site at rubyforge. Download all releases and get CVS details from here.


There is no documentation available at the moment, but a quick study of the source code (look for the attr_reader lines) should be able to render some useful information. If anyone knows a decent method to document the source, or wishes to contribute a tutorial/api reference, feel free to do so.


I can be contacted at