Git Product home page Git Product logo

Comments (4)

eswartz avatar eswartz commented on July 18, 2024

Part of this was due to the aforementioned missynchronization between video updates and emulated VDP interrupts. Once I got all that in line, though, I see that Parsec can't possibly do all these updates in 1/60 s anyway, so my changes won't actually result in seamless scrolling.

The choppiness is actually caused by the attempt to keep the emulated CPU executing at a consistent rate. For some reason a while ago I decided to switch the implementation of how this was done to use semaphores instead of a sleep, but this appears to degrades the client performance in this choppy way. I will try switching that back.

from emul.

eswartz avatar eswartz commented on July 18, 2024

OK, I remembered that the use of a Semaphore was needed to get cassette reading/writing to work properly. And that code is not actually responsible for this behavior.

BTW, I was able to reproduce the same jumpy scrolling even in v9t9 v6.0 for DOS. So it's not a new bug.

Instead, it seems Parsec cannot by design actually scroll the landscape in a smooth way. The code is not at all bound to a timer (e.g. the VDP interrupt). If I change the CPU speed (lower-left menu) then everything goes faster, proving this point. Given this, it seems that either the Parsec code was tightly tuned to exact TI-99/4A instruction, memory, VDP redraw, and clock timings to give the appearance of never scrolling inconsistently -- which seems unlikely, since the redraw loop has interrupts enabled, which would defeat such an optimization -- or, MESS is doing something to compensate for this.

I will publish a fix for the video updating, though, to have redraws that are less likely to introduce "tears" if code is actually synced to the VDP interrupt.

from emul.

eswartz avatar eswartz commented on July 18, 2024

Will leave this open until a release...

from emul.

eswartz avatar eswartz commented on July 18, 2024

Fixed in 2015/07/21 release.

from emul.

Related Issues (13)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.