Request: Continous Screenshot Record

Found a bug? Please report it, but remember to follow the bug reporting guidelines.
Missing a sane feature? Let us know!
But please do NOT request ports to other systems.

Moderator: ZSNES Mods

Post Reply
SailorSat
New Member
Posts: 6
Joined: Thu Oct 14, 2004 3:47 am
Contact:

Request: Continous Screenshot Record

Post by SailorSat »

I would like to have an 'continous' Screenshot feature so i could take small (say 10sec) 'clips' of my games.

Even cooler would be if you could skip any 2nd Frame so i get 30 screenshots / sec in NTSC games.
blackmyst
Zealot
Posts: 1161
Joined: Sun Sep 26, 2004 8:36 pm
Location: Place.

Post by blackmyst »

F1 -> SNAPSHOT/INCR FRM

Does exactly what you asked, it even skips every other frame as far as I know (something which people have apparently complained about in the past).
[size=75][b]Procrastination.[/b]
Hard Work Often Pays Off After Time, but Laziness Always Pays Off Now.[/size]
grinvader
ZSNES Shake Shake Prinny
Posts: 5632
Joined: Wed Jul 28, 2004 4:15 pm
Location: PAL50, dood !

Post by grinvader »

And it has to do so in order to preserve emulation timings.
皆黙って俺について来い!!

Code: Select all

<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)
Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54
Noxious Ninja
Dark Wind
Posts: 1271
Joined: Thu Jul 29, 2004 8:58 pm
Location: Texas
Contact:

Post by Noxious Ninja »

grinvader wrote:And it has to do so in order to preserve emulation timings.
Why again?
[u][url=http://bash.org/?577451]#577451[/url][/u]
grinvader
ZSNES Shake Shake Prinny
Posts: 5632
Joined: Wed Jul 28, 2004 4:15 pm
Location: PAL50, dood !

Post by grinvader »

Well, if I remember what pf said in the old Michael Flatley vs. the Board thread, the real snes outputted interlaced screens... meaning, you must wait two frames to get a complete picture. If you stop between the two, you break vblank timings.

Or something. I remember he said that a Super Metroid movie at 30 FPS would keep the blinking.
皆黙って俺について来い!!

Code: Select all

<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)
Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54
illegal eagle
Savestate Pimp
Posts: 129
Joined: Thu Jul 29, 2004 2:15 pm
Contact:

Post by illegal eagle »

Theoretically, an emulator should be able to output a picture of the screen at any given moment. Even at 300 fps or more.
Some parts of the screen may not be updated for a while, but if the user wants it ...?
"Other people can give you more suggestions as I just lost all my motivation to respond further to this post."
[i] - Nightcrawler[/i]

[url=http://www.geocities.com/illegal_eagle_2003/]vSNES v2.00[/url]: My SNES savestate viewer.
grinvader
ZSNES Shake Shake Prinny
Posts: 5632
Joined: Wed Jul 28, 2004 4:15 pm
Location: PAL50, dood !

Post by grinvader »

illegal eagle wrote:Theoretically, an emulator should be able to output a picture of the screen at any given moment.
Well, I guess how the feature is coded isn't "flush VRAM to buffer"... as VRAM is only one line is snes iirc.
皆黙って俺について来い!!

Code: Select all

<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)
Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54
kevman
Redneck Gamer-Mod
Posts: 433
Joined: Wed Aug 04, 2004 2:15 am
Location: Pittsburgh

Post by kevman »

grinvader wrote:Well, I guess how the feature is coded isn't "flush VRAM to buffer"... as VRAM is only one line is snes iirc.
Huh? I don't understand what you said at all.
SHREIK!!!!!!! DDdddnnnnnnaaaa! GESTAHLLLLLLLLLL!!!!!!!!

Steelers now officially own your ass.
grinvader
ZSNES Shake Shake Prinny
Posts: 5632
Joined: Wed Jul 28, 2004 4:15 pm
Location: PAL50, dood !

Post by grinvader »

I meant:
To dump screenshots 300 time per second without screwing timings, the dumping methods would have to be real simple, like 'save VRAM in file'.
I think something like that wouldn't break timings.
But VRAM is only 1 line on a snes. So that wouldn't give 'screenshots'...

The current screenshot feature has to wait for a screen to be completed, and important stuff timing-wise to be over. Trying to dump 300 screenshots per second would mess everything badly.
皆黙って俺について来い!!

Code: Select all

<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)
Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54
Nightcrawler
Romhacking God
Posts: 922
Joined: Wed Jul 28, 2004 11:27 pm
Contact:

Post by Nightcrawler »

Hmm.. I think your terminology is not quite right. VRAM is the PPU memory and contains data for the entire screen. It has all sprites, tiles, and tilemaps needed. Dumping VRAM is ineffective however since you will get a big garbled mess because VRAM does not appear like your screen. The screen needs to be generated from data in VRAM and the register settings on how to interperet that data.

You are right that the SNES draws per line and not per screen hence why you can have HDMA effects such as gradient text windows in an RPG. So it is necessary to wait for a completed frame before dumping the screen. That's all I can add. I don't know anymore details on the specifics of the screen drawing. I don't need to know that to code for it! hehe
[url=http://transcorp.romhacking.net]TransCorp[/url] - Home of the Dual Orb 2, Cho Mahou Tairyku Wozz, and Emerald Dragon SFC/SNES translations.
[url=http://www.romhacking.net]ROMhacking.net[/url] - The central hub of the ROM hacking community.
illegal eagle
Savestate Pimp
Posts: 129
Joined: Thu Jul 29, 2004 2:15 pm
Contact:

Post by illegal eagle »

Nightcrawler wrote:You are right that the SNES draws per line and not per screen hence why you can have HDMA effects such as gradient text windows in an RPG. So it is necessary to wait for a completed frame before dumping the screen.
Yes, for a complete screen you need to wait one frame (two fields). But some games change their graphics between the fields, so incomplete screens would have to be captured.

One of my goals is to add a tool window to vSNES that allows controlling other emulators... even screenshots after each CPU instruction should be possible.
It's not quite ready yet... :(
"Other people can give you more suggestions as I just lost all my motivation to respond further to this post."
[i] - Nightcrawler[/i]

[url=http://www.geocities.com/illegal_eagle_2003/]vSNES v2.00[/url]: My SNES savestate viewer.
ShadowLord
New Member
Posts: 3
Joined: Wed Jul 28, 2004 12:37 am

Post by ShadowLord »

Nu uh. Since all SNES games rendered 224 lines vertically, the games always rendered an odd or even field. Unlike regular 640x480 TV displays, it didn't alternate between an odd or even field to make a "complete frame". It was always 60 half-frames per second, which is why the scanlines were so appearant at such a resolution (and also why there was no flickering).
"Trying is the first step towards failure." -Homer Simpson
michael flatley
Rookie
Posts: 42
Joined: Wed Aug 18, 2004 10:15 pm

Post by michael flatley »

Well, if I remember what pf said in the old Michael Flatley vs. the Board thread, the real snes outputted interlaced screens... meaning, you must wait two frames to get a complete picture. If you stop between the two, you break vblank timings.

Or something. I remember he said that a Super Metroid movie at 30 FPS would keep the blinking.
But in ZSNES the screens are not displayed like this. We have 60 unique frames per second in Super Metroid. When we cut half of them out we lose half of the info. Bullets, bad guys, etc. don't get displayed when we capture at 30fps. SNES9X handles video recording just fine, it's not like it just CAN'T BE DONE.
Post Reply