+stephena Posted June 23, 2018 Share Posted June 23, 2018 Any input lag you see in an emulator (in general, and Stella in particular) is probably because the input is (a) coming from a USB device and (b) is only being inspected once per frame. The host OS will package the input into a USB packet, and Stella (actually, SDL behind the scenes) will poll for events on each frame. If the OS is slow in packaging the input, it can be noticeable. And if Stella polls for the input during a frame after the ROM inspects the virtual 'pins' inside the console, it won't see it until the next frame, and again it can be noticeable. None of this is insurmountable. The best way to do it would be for the emulator to have a direct connection to the input port, and when the ROM reads from (for example) SWCHA, it polls the port directly. Just like a real console would. Right now, most emulators work at a higher level of abstraction: host OS -> USB packet -> emulator receiving an event. The zero-lag option would change this to: emulator poll when necessary; no event is generated, but the input is read as it is needed. EDIT: I point this out yet again to the "emulators are crap, FPGA is God" people. There is nothing that an FPGA can do that an emulator cannot, given sufficient hardware. 9 Quote Link to comment Share on other sites More sharing options...
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.