1. Purpose 2. Usage 3. Copying |
4. Requirements 5. Thoughs 6. Downloading |
nesmock v1.4.0 - Copyright (C) 1992,2005 Bisqwit (http://iki.fi/bisqwit/) Usage: nesmock [<options>] <inputfile> <outputfile> Transforms NES movie files to different formats. --help, -h This help --offset, -o Insert delay at <frame>,<length> Example usage: -o 14501:1 Delay length may also be negative, in which case existing frames are deleted instead of copied. Frame numbers are relative to the original movie. Short syntax -o 10 uses frame number 0 by default. --set, -s Set <var>=<value> Note: All movie formats don't support all values or may have length/type limitations. Available vars: PAL 0 or 1 RecordCount 0..n EmuName string MovieName string ROMName string MD5 string (can be a 32-char hex or a filename) FCEUver 0..n (example: 9812 (=0.98.12)) Example usage: -spal=0 -srom="Mario Bros.nes" -smd5=mario.nes --state, -t Copy savestate from <file> Example: nesmock a.fmv a.fcm -t'orig.fcm' Will also make fcm files reset-based (default: poweron-based) --version, -V Displays version information Supported formats: FMV (Famtasia 5.1) - Read & Write FCM (FCEU 0.98.12) - Read & Write NMV (Nintendulator 0.950) - Read & Write VMV (VirtuaNES) - Read Example: nesmock -o2 smb1a.fcm smb1a.fmvOffsets and delays are usually needed because different emulators have different timings in various details. Adjusting them is usually trial&error work.
If you are doubting whether this program actually works at all, try converting Super Mario Bros movies. I have had complete success with them.
Hint: Nesmock can be used for editing FCM files by first converting them to FMV (which is easier to edit than FCM) and then back to FCM.
If you are an emulator developer, you are welcome to hack this source
code and add more format support to the code.
These planned things are currently missing:
It is unfortunately impossible to guess from the movie file alone where would the emulator need more / less frames than the other emulator.
A more elaborate conversion could be made by running the two emulators simultaneously and keeping track of their status, and when the other goes desync, backtrack and bruteforce the combination that puts it back to track. This kind of method is however extremely difficult to implement. And it still might be impossible - if the game does calculations based on scanline counters, there could be no way to make them match.
Generated from
progdesc.php (last updated: Wed, 02 Feb 2005 05:46:44 +0200)
with docmaker.php (last updated: Sat, 22 Jan 2005 05:01:19 +0200)
at Tue, 31 May 2005 16:20:19 +0300