Editor, Experienced Forum User, Published Author, Active player
(296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
New WIP.
https://files.tasvideos.org/bisqwit/rockman2-shinryuu,bisqwit-pending-v2.3.6.fcm
Metalman stage almost completed. In the making of this stage, I tried to duplicate Finalfighter's "item1slight" technique, but instead, I discovered a better version of that technique. It only requires two items per rise (instead of three), and the items can be placed at greater distance, and it is also easier to place them.
I used this technique in every zipping in this stage, except the first, and I estimate it is 1.5 seconds faster than Finalfighter's Metalman stage.
Best of all, it's not over yet: I believe I can still push it further.
Worst of all: I believe we could use this technique twice in Woodman stage, saving 20-40 frames. It would most likely mean that Crashman, Quickman and Metalman have to be redone due to desyncing that usually occurs after copypasting. Crashman is the most troublesome, due to the technique where only BisqBot is good at.
Quickman is also an optimization candidate, with a prize of about 16 frames.
Editor, Experienced Forum User, Published Author, Active player
(296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
http://tasvideos.org/Users.html -- are you referring to this page? This page does not consider forum statistics at all. It is only based on your activity on the actual site.
If you have logged on at the main site but never submitted a movie or edited a page, you will be counted as a lurker.
Editor, Experienced Forum User, Published Author, Active player
(296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Hmm, good point. The teleport-out sfx appears in three places in the game code.
At 0B:A0D7 --
it issues a teleport-out sfx, then teleports object $00 at 8 pixels per frame upward until Y coordinate is negative, then adjusts object bits, possibly for the purpose of invisibilifying. (Loop termination rule is unknown.)
Note: Object $00 is usually Rockman.
At 0D:A224 ---
it issues a teleport-out sfx, then teleports object $10 at 8 pixels per frame upward until Y coordinate >= $F0. (Loop is terminated on this rule)
Note: Object $10 is not usually Rockman. Thus, this might be his stunt double Mockman who appears on the title screen.
At 0D:80E5 --
it issues a teleport-out sfx, but doesn't seem to do anything resembling teleporting an object vertically. There is horizontal movement.
It is probably the stage selection screen.
So it's possible that ending the battle at a high position would be a good idea, but uncertain.
Editor, Experienced Forum User, Published Author, Active player
(296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
You've got it.
http://bisqwit.iki.fi/src/fceu-9815-nitsuja-patch-bisqwit-linux.txt
Apply this patch to Nitsuja's 0.98.15 FCEU source code, and it will turn into Bisqwit's 0.98.15.
After applying, run ./configure (do a chmod +x if needed) and make and it should compile just fine.
Notes:
- It includes BisqBot, and BisqBot requires libboost for a set of random number generators. So do install libboost before compiling.
- Before applying the patch, run dos2unix for the source code and configuration scripts to ensure the patch applies cleanly and configure runs without problem.
This version includes also AVI making (no two separate versions anymore), and I should update my documentation on that matter.
Changes:
- Compiles on Linux
- Bisqwit's custom input defaults
- Bisqwit's compose mode for making 2p movies easier to create
- BisqBot (with settings last configured for Rockman 2 scrolling substitution)
- Warp's font for smaller HUD texts (fits more text on screen)
- DOS cruft removed from drivers/pc/ -- I'm not maintaining it anyway
- Bisqwit's tile tracker -- the engine used to make GIF animations. (A #define from source code needs to be changed to activate).
- Commandline option: -play <moviename> (loads in read-only mode)
- Commandline option: -readwrite 1 (makes -play use read-write by default)
- Commandline option: -state <statenumber> (loads a savestate after loading movie)
- Commandline option: -bisqbot 1 (autoactivates BisqBot after starting)
- Commandline option: -videolog <command> (enables AVI logging)
- Recognized environment variable: MAXFRAMES
- Bisqwit's emulation speed throttler. (Use n/m keys to adjust)
- Bisqwit's dual game daemon support (Needs a separate program to work, and to be enabled from drivers/pc/sdl.c.)
- Enables sound during frame advance (Bisqwit prefers this)
- Disables debugger (not implemented for Linux anyway, makes emulation faster)
- Input display in movie playback (writes it to stderr) (different from Nitsuja's, Windows users will probably prefer Nitsuja's)
- Rockman 1&2 RAM analysis with frame display (displays X&Y position&speed and magnet beam positions)
- Magnet beam solidifier (a visual enhancement filter for Rockman 1, has to be manually disabled for all other games)
- Displays a "state 2 selected" message instead of "select state" when user selects a savestate slot
- Minor changes to make it compile nicely on 64-bit Linux as well
- Now actually says it's 0.98.15; Nitsuja's source code had still "0.98.13" somewhere
How to compile/apply (instructions for Debian GNU/Linux):
sudo aptitude install p7zip tofrodos libboost-dev gcc g++
7za x fceu-0.98.15-src.7z
patch -p0 < fceu-9815-nitsuja-patch-bisqwit-linux.txt
cd fceu-0.98.15-src
find -type f -print0 | xargs -0 dos2unix
chmod +x configure
./configure
make
cp -p src/fceu .
How to watch a movie (example):
./fceu -xscale 3 -yscale 3 -play castleva.fcm castleva.nes
How to make AVI (example):
VIDEO_RESULT="`pwd`/test0.avi"
VIDEO="-ovc lavc -lavcopts vcodec=ffv1:format=422p:vstrict=-2"
AUDIO="-oac mp3lame -lameopts mode=3:preset=40:aq=0"
VIDEO="mencoder -o '$VIDEO_RESULT' -mc 0 NESVSETTINGS $VIDEO $AUDIO"
./fceu -videolog "$VIDEO" -xscale 1 -yscale 1 -play rma.fcm rockman.nes
riffdump -nmovi -mfps=60.09982293844223 -mscale=1000000 "$VIDEO_RESULT"
Keyboard input configuration:
- shift-1 = create movie (uses the console to ask for a filename and properties)
- shift-2 = play movie (uses the console to ask for a filename, loads in read-write mode)
- shift-3 = stop movie
- enter = pause/unpause
- A,D,H,P = B,A,select,start for player 1
- Q,E,U,O = B,A,select,start for player 2
- I,J,K,L = arrows for player 2
- S,F = save,load (load = re-rerecord)
- alt-numbers = select savestate slot 1-10 (either alt will work)
- N,M = adjust speed
- comma,apostrophe = frame advance
- esc = terminate
- K = toggle BisqBot
- shift-5 = toggle compose mode
- F2 = cheat editor (uses the console)
- Backspace = toggle frame display
[Edit: Fixed URL]
Editor, Experienced Forum User, Published Author, Active player
(296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
I released a new Nesmock version.
New feature: Allows removing / adding / copying controllers.
$ nesmock --help
nesmock v1.5.0 - Copyright (C) 1992,2006 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)
--ctrl, -c Defines how to handle a controller. Examples:
-c2 = delete player 2 input
-c2+ = add second player (zero input)
-c21 = add second player (copy P1 input)
-c21 -c12 = swap players' 1 and 2 inputs
--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.fmv
Example use:
$ nesmock rm2.fcm -trm2-orig.fcm -sfceuver=9812 -smd5=rockman2.nes -sromname='Rockman 2 - Dr Wily no Nazo (J).nes' -c2 tmp.fcm
Converts "rm2.fcm" into "tmp.fcm", copying on-reset-savestate from "rm2-orig.fcm", deletes player 2 input, and sets new FCEU version, ROM name, ROM checksum and FCEU version into the resulting file.
Download it from: http://bisqwit.iki.fi/source/nesmock.html
Editor, Experienced Forum User, Published Author, Active player
(296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Yes, the speeds are precisely the same as in Rockman 1. Accelerations have however changed. The differences and exact values are listed here: http://tasvideos.org/RockmanData.html#horizontal_motion_
Edit: If you noticed some flaw somewhere, please do mention it.
> at 34928 and some other places in Clashman stage, you hold on to the ladders a while after using
> item 3. Can you cancel out of it by jump+regrab? Or do you have to wait for the item to raise anyway?
Releasing the ladder does not cancel the "look at my hand" pose delay in this game.
Editor, Experienced Forum User, Published Author, Active player
(296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Item1 elevates 0.25 pixels per frame, Rockman climbs 0.75 pixels per frame. So no, it is not faster to ride the item. However, while Rockman is in his "look at my hand, I just threw something" pose, he can't climb. (He can grab a ladder, but not climb it down or up.) So it's faster to stand on the item, which does move upwards after all.
Editor, Experienced Forum User, Published Author, Active player
(296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
You're wasting my time if you don't give me a clue as to how to improve my instructions. When I don't know what exactly you are doing wrong, I can only guess and the things I say might not be helpful at all.
[Edit: The point is, I want to see what you're doing.]
Editor, Experienced Forum User, Published Author, Active player
(296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Edit: I am ashamed to exist. Sorry for whomever I caused problems by claiming this run desyncs on me. I had some cheat code activated from some old debugging session, and I didn't realize it was there.
This movie plays and completes now properly -- even in the FCEU version I've been using for ages without any of Nitsuja's patches. In other words, I did not need to upgrade for this movie. I just needed to disable the cheats.