Jump to content
IGNORED

Can you live on emulation only 100% ?


Keatah

Recommended Posts

Gaming as a hobby is very inexpensive compared to other hobbies. Take hunting for example. First, most have to miss work to go hunting, then there's the hunting gear( Gun $250-$500 at minimum, ammo $50-$200 minimum) and that's the basics. Most hunters I know have a four wheeler and all of the latest gadgets from cabelas. Also there's the hunting camo clothing that probably cost $200-$500. They also have to buy tags every year. Being a gamer is cheap, emulation aside, you can buy almost any console on eBay for $100 or less. I'm not sure why any "gamer" if that's your most serious hobby would ever go 100% emulation.

That's why I don't shoot the deer, or even cook it; I simply partake in the eating of the venison! Every hunter knows a deer is too much meat to eat by himself, so they share it with friends and family. Bambi, eat your heart out! :grin:

Link to comment
Share on other sites

What input lag?

 

 

getting absolutely perfect video+audio sync 100% of the time is impossible. These systems run at different refresh and sample rates than our desktops. You can easily sync to one or the other, but syncing to both causes any discrepancies to accumulate over time.

 

Most emulators silently drop one frame every few seconds. Mine tries to resample audio enough that the relative video to audio refresh rate matches the original system you are emulating, which is a lot more complex, but there will always ultimately be rounding errors. On my system, I can go about 30 minutes between one dropped frame.

> On top of that, all emulators have a lot more input lag than the native hardware itself.

 

Yes, they all do. In the best case (CRT + serial gamepad, running in DOS), you can push it down to 60ms or so. Worst case (LCD + compositor like Aero + USB gamepad), you will end up with 150ms or so of latency.

> Is there any SNES emulator that runs without input lag?

 

That's impossible. The lag comes from using a multitasking OS, LCD panels with upscaling/filtering/OSD chips built into them, USB controllers with 50-100ms polling rates, etc. The emulator also adds 16ms of lag to buffer an entire video frame, and 20ms for audio buffering to your sound card.

 

link

 

There is a TCL TV that was measured by CNET as having an input lag of 147ms all on its own. But, even the best case scenario byuu provides is 60ms and who is using serial gamepads, DOS, and a CRT? I did a Google search and couldn't even find serial gamepads.

Edited by Justin222
Link to comment
Share on other sites

Somebody said,
"Most emulators silently drop one frame every few seconds. Mine tries to resample audio enough that the relative video to audio refresh rate matches the original system you are emulating, which is a lot more complex, but there will always ultimately be rounding errors. On my system, I can go about 30 minutes between one dropped frame."

 

I say, awesome! If an emulator drops 1 frame every half-hour I'm a happy camper. I'll probably farting or blowing snots when it happens so I'd never notice it.

Link to comment
Share on other sites

Somebody said,

"Most emulators silently drop one frame every few seconds. Mine tries to resample audio enough that the relative video to audio refresh rate matches the original system you are emulating, which is a lot more complex, but there will always ultimately be rounding errors. On my system, I can go about 30 minutes between one dropped frame."

 

I say, awesome! If an emulator drops 1 frame every half-hour I'm a happy camper. I'll probably farting or blowing snots when it happens so I'd never notice it.

He did say that people need to configure their monitors and sound cards to get to that level of synchronization, though. He also suggested that his emulator may be unique in offering that level of adaption. There is an accurate-oriented Genesis emulator, though, that is being developed. I wonder if it has the ability to have users synchronize it with their monitors and sound cards.

 

I have pretty sophisticated audiovisual synchronization. For many, bsnes is the only emulator they can get perfect sync on. But it's a pain to configure (you have to time your monitor and sound card rates), and it doesn't always work (Aero tends to screw with it.)

 

Dropped frames, when they happen infrequently does seem to be less worrisome than input lag.

Edited by Justin222
Link to comment
Share on other sites

I think we should define between arcade emulation (which for classics with dedicated hardware is almost always inferior, yet for most of us we have no choice. :lol:) vs. console emulation which I think emulation is far more forgiving.

 

For consoles, I used to like doing A/B comparisons by hooking up an emulator (usually via an XBox) and a real console to a TV and simply swapping inputs. :) If I recall I did this with a 5200, an NES, an SMS, and a Turbografx.

 

And yeah.. there are differences. I think the thing I noticed offhand is the screen sizing.. you can adjust the screen on the emulators but I never know exactly how it's supposed to look unless I kept switching inputs to visually match. After a while I was able to approximate the dimensions.. but even after that I noticed some differences here and there. For example in 5200 Space Dungeon, your ship kind of had a phosphorous "glowiness" inside it on the real 5200, vs. on the emulator it seemed to be a flat color. Things like that. Also you notice some differences in sound.. usually the volume, or in the mix, or even in general overall timbre. But at the end of the day, if I didn't have the real thing, I would probably never have noticed a difference, and it probably wouldn't matter much anyway to be honest.

 

Granted I only did this with an Xbox emulators years ago on a SDTV. These days to use the newest emulators, you can just plug in a PC via HDMI to a HDTV, where you probably couldn't easily connect an old console anyway. So it's kind of moot . :)

Edited by NE146
Link to comment
Share on other sites

  • 2 weeks later...

He did say that people need to configure their monitors and sound cards to get to that level of synchronization, though. H

I think the problem lies in the fact that on a pc, video and audio are not synced to each other. They are independent circuits, drifting in frequency. If you had one base frequency where video and audio are derived from, they would be automatically in sync.

 

 

Yesterday I tried some emulators on the gamecube (snes, n64), and they weren't all that good. Super Mario World was unplayable due to lagging issues and totally no fun. The N64 emulator was not full speed so it had jittery audio. Pilotwings was played back at 50% speed (an even more relaxing game though :)). I think that if I want to play snes or n64 games, I just get the consoles and know it will just work.

  • Like 1
Link to comment
Share on other sites

Funny You mention emulating the SNES and N64 on the Cube.

 

My N64 Everdrive v3 comes with a built in NES emulator. It's decent, but Mapper support is lacking. I had fun playing SuperMario Bros 3 on it. Sharper picture than a stock NES too, even on CRT...

 

 

What would be funny, would be running Dolphin on a PC, emulating a Game Cube emulating an N64 emulating an NES! :P

Edited by stardust4ever
Link to comment
Share on other sites

I think the problem lies in the fact that on a pc, video and audio are not synced to each other. They are independent circuits, drifting in frequency. If you had one base frequency where video and audio are derived from, they would be automatically in sync.

 

 

I think that's probably wrong. My guess is that the emulation of the hardware emulates a base "clock" for the machine which of course drives both the video and audio the machine generates. I guess it would be good to have an emulator developer weigh in on it to know for sure.

Link to comment
Share on other sites

I sold off my collection starting around 2008-2009. Atari, Dreamcast ,NES,Genesis, you name it.Loose, complete in box, whatever. I got to the point that it was a chore to collect. It got to the point that I didn't enjoy buying anymore and I never played anything I bought. I began modding systems and using emulators. It felt more convenient and I was ACTUALLY PLAYING THE GAMES! So I sold a lot of my collection when BOOM, a flood drenched the place I was staying in September 2009. I was glad I had sold so much earlier that year or I would have lost a lot. Don't get me wrong, I lost a little (boxed 5200 games, Miner 2049er complete), but not near as much. I was able to grab my modded system and throw them in the car. I've sold a lot over the years and really don't miss it. It was fun when I did it, but it was time to move on. I do like to keep the original system and I'm thinking of getting flash carts to play. So in a way when emulation gets it wrong, I can load it up on a real system and play it's library.

Now I'm into wood carving and clay sculpting obscure game characters. It give me a sense of satisfaction that collection didn't fulfill. I say if you enjoy collecting, by all means do! If it becomes a chore, maybe it's time to re-think if it brings you happiness.

  • Like 2
Link to comment
Share on other sites

I think the problem lies in the fact that on a pc, video and audio are not synced to each other. They are independent circuits, drifting in frequency. If you had one base frequency where video and audio are derived from, they would be automatically in sync.

 

 

I think that's probably wrong. My guess is that the emulation of the hardware emulates a base "clock" for the machine which of course drives both the video and audio the machine generates. I guess it would be good to have an emulator developer weigh in on it to know for sure.

 

Um, then why don't videos go out of sync when we play them if the audio clock is independent of the video clock? With the exception of some really sh!tty shareware video converters that translated a variety of 90s codecs, I haven't seen any recent videos where audio and video desynced, despite the audio and video being stored in separate containers within the same file.

Link to comment
Share on other sites

You don't notice the videos going out of sync because the player tracks the error between video and audio and compensates for the error, either by adjusting the audio speed or inserting/dropping video frames.

 

The storage isn't the problem, as typically the video and audio streams will either be timestamped or have precise enough rate values. The problem is the actual playback rate in the hardware. The clocks in the hardware are only guaranteed to be precise within a certain tolerance and will run a tiny bit faster or slower than specified. For instance, the system might request 48000Hz audio playback, and the hardware actually plays at 48017.3Hz. If the audio and video are derived off the same clock, then they'll both run faster or slower by the same amount and everything stays in sync. In PC hardware, they're commonly not, and the result is that the audio and video will drift apart slowly unless the software compensates for it. Furthermore, the drift can be temperature sensitive and will change as components warm up.

 

Another source of error is that the clock setting in the hardware has limited precision, i.e. there are only so many notches in the speed dial and the two closest ones are both a little off. Basically, you request 44.1Khz and the closest actual setting is 44.15KHz. This used to be so bad that in some old hardware you could actually hear a slight difference in pitch if you compared the output of two sound cards. There's often no way for the driver to indicate this, so the software only knows about this by measuring it and seeing the discrepancy.

  • Like 1
Link to comment
Share on other sites

You don't notice the videos going out of sync because the player tracks the error between video and audio and compensates for the error, either by adjusting the audio speed or inserting/dropping video frames.

 

The storage isn't the problem, as typically the video and audio streams will either be timestamped or have precise enough rate values. The problem is the actual playback rate in the hardware. The clocks in the hardware are only guaranteed to be precise within a certain tolerance and will run a tiny bit faster or slower than specified. For instance, the system might request 48000Hz audio playback, and the hardware actually plays at 48017.3Hz. If the audio and video are derived off the same clock, then they'll both run faster or slower by the same amount and everything stays in sync. In PC hardware, they're commonly not, and the result is that the audio and video will drift apart slowly unless the software compensates for it. Furthermore, the drift can be temperature sensitive and will change as components warm up.

 

Another source of error is that the clock setting in the hardware has limited precision, i.e. there are only so many notches in the speed dial and the two closest ones are both a little off. Basically, you request 44.1Khz and the closest actual setting is 44.15KHz. This used to be so bad that in some old hardware you could actually hear a slight difference in pitch if you compared the output of two sound cards. There's often no way for the driver to indicate this, so the software only knows about this by measuring it and seeing the discrepancy.

You make a valid point. My AMD desktop rig is over clocked at 4.2 Ghz but CPU-Z reports 4228Mhz. The hardware clock is set to be 200Mhz but is actually ~201 Mhz, slightly more than half a percentage point of drift. Note that I don't increment the system bus unlike many tweakers since more than a few percentage points will compromise stability with negligible gains. Since every device gets OC'ed, one single device anywhere on the system bus that can't handle the modified clock cycle crashes (PCI cards, video hardware, hard drive controllers, etc) and the whole system goes down.

 

I had a piece of crap dual tape deck that I noticed the A deck and the B deck played at slightly different speeds. I dubbed a cassette tape and hit play on both tapes (master and copy) after I rewound them. The drift was off by ten seconds by the end of the second song, it was that bad...

Link to comment
Share on other sites

You don't notice the videos going out of sync because the player tracks the error between video and audio and compensates for the error, either by adjusting the audio speed or inserting/dropping video frames.

Dropped video frames coupled with input lag from a digital TV sounds like a recipe for issues for demanding action games.

Link to comment
Share on other sites

Again, what input lag? I don't know who experiences it, but I don't.

Yeah, input lag can generally be tolerated or even ignored for casual games like Solitare, Majong, Mine Sweeper, or strategy games like chess, checkers, backgammon.

 

Timing critical action platformers? No way. I can't even play Megaman on a CRT much less a laggy set.

 

 

========

Funny people mentioned input lag, as I had a brilliant idea for a drunk driving simulator in Super Mario Kart. The premise is simple. Create a relay interface between the controller and console. Read out the 16 bits of controller data and store each bit in a separate 256-bit shift register. Assuming the controller gets polled once per frame, this creates an adjustable lag machine with variable delay from 0 frames to 255 frames, or 4 seconds, 15 frames.

 

Set the controller lag to about one second to simulate drunkenness, or more for total inebriation. Laugh as your friends repeatedly drive into walls and pits.

Link to comment
Share on other sites

As mentioned before, Mike Tyson on NES Punchout I think is a pretty good lag test (forget about Battletoads tunnel stages.. yikes :lol:) .

 

Easy way to check is play it on a real NES first.. go straight to Tyson, and practice dodging punches the 1st 60 seconds of the fight if you're not already good at it. THEN.. try it in an emulator and see if the experience translates. :)

  • Like 1
Link to comment
Share on other sites

========

Funny people mentioned input lag, as I had a brilliant idea for a drunk driving simulator in Super Mario Kart. The premise is simple. Create a relay interface between the controller and console. Read out the 16 bits of controller data and store each bit in a separate 256-bit shift register. Assuming the controller gets polled once per frame, this creates an adjustable lag machine with variable delay from 0 frames to 255 frames, or 4 seconds, 15 frames.

 

Set the controller lag to about one second to simulate drunkenness, or more for total inebriation. Laugh as your friends repeatedly drive into walls and pits.

 

A PVR between the console and the TV does this nicely. Keeps everything in sync but adds about a third of a second of delay to both audio and video. My brother thought he just sucked at Gran Turismo 3 before he realized it was the ReplayTV between his PS2 and TV screwing him over.

Link to comment
Share on other sites

My DVD recorder does this. Old school VCRs processed the signal in real time but I tried to record myself playing Wii (I was attempting to defeat Bowser on SMGalaxy) and even using composite in and composite out (why couldn't it just pass it strait through?) made the game unplayable. HDMI, Composite, didn't matter. Since I didn't have a Wii plug with both composite and S-video, I just ran the composite through a splitter which oddly darkened the image on the TV but not the DVD-R. A temporary contrast adjustment fixed the TV picture.

Link to comment
Share on other sites

Old school VCRs worked mostly in the analog domain, and the signal just kinda-sorta flowed through the circuitry. Today, the signal is sampled, stored in memory, operated on via mathematics, then stored back in a framebuffer and converted to analog. All of this takes a definitive amount of time.

Link to comment
Share on other sites

Part of the "Emulation Experience" is having nice aesthetically pleasing hardware and software to work with. Has anyone used a NUC for their setup?

I bought an ECS LIVA for a friend as a gift. She does voice recording so it's nice because it's fanless and portable. It's cheaper than Intel's NUCs, but it does have a lowly processor. It should be fast enough for some systems, but I don't know if it can handle something like a PlayStation.

Edited by Justin222
Link to comment
Share on other sites

  • 5 weeks later...

Short answer yes. I've done it before. Sometimes I even feel nostalgic about emulation. Around Aug 97 is when I first tried emulation with Nesticle and Genecyst. At the time I didn't have internet at home, part of the fun was to rent a PC after class, bring a box full of floppies, download and copy emus and roms, get home, unload everything, fiddle with the emus configurations and explore all these systems I didn't have "back in the day" or relive past glories. Thanks to emulation I got to relive the glories in the arcades from the comfort of my house and without spending tokens. I got to enjoy the best the Atari 2600 and SNES libraries had to offer (two consoles I didn't have). I discovered some of what the mythical Sega Saturn had to offer, etc. In 98 I sold my Genesis and games, in 99 I sold my PS1 (kept my NES in storage). From 99 to 08 it was 100% emulation for my pre 6th gen gaming.

 

Fast forward to 2008, I got nostalgic and bought me a Genesis and good amount of games. Later on I found myself getting more games for my NES and later on I was exploring other systems and definitely got back to getting and using real hardware.

 

Today, emulation still has its place, the Wii is a great emulation box pretty much for everything pre 5th gen. I got a pad converter and use it specially when I want to record some footage.

 

Using the real hardware helped me to better understand what was it like "back in the day" using these consoles and computers. Consoles like the Saturn and the PC Engine were great to own if you had access to japanese releases. A device like the XEGS was a good value if you needed a PC that got the work done and let you chill out at the same time.

 

As per PC goes, packages like Virtualbox, VMWare and Dosbox are neat but don't quite replicate the experience. One of my recent projects has been assembling a PC like the one I had back in 2000. I didn't realize I forgot so many things about getting Win98 to play along with productivity software and games. And I'm gonna leave it there for now.

Link to comment
Share on other sites

  • 1 month later...

Again, what input lag? I don't know who experiences it, but I don't.

 

When this conversation was running, I was wondering the same thing. But after trying to improve at Kaboom! with a 2600-daptor and some paddles in Stella, I have now experienced a scenario where the original hardware is far superior to emulation. The game moves too fast for me to determine if the problem is truly "lag," but I can't get the hang of Kaboom! in emulation. If I switch back to original hardware, I consistently improve.

 

Here was my experience:

 

I created a save state where I cleared levels 1-6 (1000 point mark) successfully without missing a bomb, and I attempted over and over again for at least 2 hours to complete level 7 - I couldn't do it even when I reloaded the state dozens of times immediately after losing my first bucket. I came within 10 bombs a handful of times, but I couldn't ever complete it. I went through various stages of anger, frustration, and sadness during this process when I began to experiment with the framerate. Slowing the game to 50 fps allowed me to actually complete level 7 and sometimes level 8. I think the default fps is about 60, so I experimented with pushing the speed up to 70fps and then letting it drop again to see if my mind would have gotten going faster and could actually handle the "default" speed after being exposed to something harder - but to no avail.

 

I actually switched back to a Kaboom cart and original hardware and dominated level 7. I got past it like 8 out of 10 times and then stopped counting. There is something about the emulator that is nailing me. I reset Stella's input settings, and I had previously adjusted sensitivity or some sh!+. After that I got past 7 once and only once before attempting over and again without success. It makes me think that there could be a sweet spot with Stella's settings that makes this more like the real thing. Maybe it is my laptop screen or something like that? I noticed that on a CRT the buckets sort of distort near the edges of the screen and look visually "wider." This does not happen in Stella. On a positive note, I not only cleared 7 on the original hardware, but I did it many times with only 2 buckets and at least once now with only 1 bucket.

Link to comment
Share on other sites

Stella's paddle emulation has always exhibited the following issues in Kaboom and Breakout.

 

Part 1: Paddles

1- You can move the mouse to the right very slowly and the buckets don't track, if you move the mouse to the left (even the slightest) they do track.

 

2- The buckets can get "stuck" on the left side. As if they're continuing to move off-screen, but they're still being displayed on the left side of the screen. You have to "recover" them by moving them right again. Try it by moving them to the left, and keep moving the mouse left, keep going, keep going.. Now move right. How far do you have to move right before they themselves move?

 

Repeating the experiment on the right side, they recover almost instantly, much better. But still not instantly. This creates the appearance of lag as you have mouse movement without onscreen movement. Whereas, IIRC, the real hardware was lock to lock, left to right. Absolute position. Paddle at 12 o'clock, buckets center. Paddle at 8 o'clock buckets left edge, Paddle at 4 o'clock buckets right. X amount of potentiometer resistance = a specific position on the screen.

 

No matter how fast you turned the knob they always got there. Precisely. With the mouse it is possible to skip some tick marks saying you moved something. And the emu seems to add too much weight/momentum to the on-screen object that is being controlled by the mouse.

 

Try this, set your mouse on a good flat tracking surface. Now put two heavy objects such as books 5cm to the left of the mouse and to the right of the mouse. Now move the mouse left and right - against the books. As you do this you'll see the buckets make their way to the left side of the screen and eventually get stuck there. Takes maybe 50 movements or so.

 

Part 2: Keyboard

Using the keyboard it may be easier to illustrate this. Move the buckets left by using the left arrow. And keep pressing it for maybe 10 times after the buckets are at the very edge and can't move anymore. Now try moving them right. They don't move at all. Not until you hit the right arrow 6 or 7 times.

 

Repeat this on the right side of the screen. Note that the buckets "recover" their ability to move after only 2 or 3 keypresses. They don't stick to the right side as much as they do on the left.

 

Finito:

I bet this is what you're experiencing and causing your low scores and frustration. None of this has anything to do with framerates or types of displays or crt-induced distortion. Playing with the sensitivity settings does nothing to fix these problems either. IIRC the amount of lag by emulation and processing and modern display devices adds up to somewhere between 28 and 46 milliseconds. Not a great deal. YMMV.

 

I may cross-post this in the Stella 4.6 or 4.7 thread.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...