Code Monkey home page Code Monkey logo

Comments (8)

ranma avatar ranma commented on August 15, 2024

that remove huge delays when overflow happens

There shouldn't be any delays from cycle counter overflow, if there are it's a bug in the affected plugout.

or even better make it all 64bit.

long is already 64bit (on Linux) unless you are still on a 32bit arch (or on Windows).
However I'd argue it's better to make it 32bit throughout so we can weed out overflow handling bugs :)

from gbsplay.

untoxa avatar untoxa commented on August 15, 2024

obviously there is. use iodumper and examine the first column, there will be values in the middle of the song that don't fit any reasonable multiple of vblank period. like 93 frames. if you follow my suggestion - they all gone.

from gbsplay.

untoxa avatar untoxa commented on August 15, 2024

ps: yes, i'm compiling for windows.

from gbsplay.

mrehkopf avatar mrehkopf commented on August 15, 2024

Trying to reproduce this on mingw64, is there a specific song to try it on? I've been running
./gbsplay.exe -t0 -o iodumper /m/consolemusic/gbs/sml1.gbs 1 |grep '^[^0]'
for a couple of minutes now to check for overflows but nothing has come up so far.

from gbsplay.

untoxa avatar untoxa commented on August 15, 2024

mingw32. alternative solution is using uint64_t for the cycle counter.

from gbsplay.

ranma avatar ranma commented on August 15, 2024

2^31 / 4194304 / 60 => Signed overflow expected after 8.53333 Minutes
2^63 / 4194304 / 60 / 60 / 24 / 365 => Signed overflow expected after 69730.57 Years :)

from gbsplay.

mrehkopf avatar mrehkopf commented on August 15, 2024

from gbsplay.

untoxa avatar untoxa commented on August 15, 2024

maybe there is some sense in tidying up those cycle counts (and output only audio registers). i was making conversion tools for my SFX engine: https://github.com/untoxa/VGM2GBSFX and it is rather hard to make it all work without some crazy heuristics or manual editing. that is my point and suggestion.

from gbsplay.

Related Issues (20)

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.