Comments (8)
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.
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.
ps: yes, i'm compiling for windows.
from gbsplay.
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.
mingw32. alternative solution is using uint64_t for the cycle counter.
from gbsplay.
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.
from gbsplay.
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)
- Unable to install gbsplay on Windows HOT 5
- Version 0.0.95 fails to compile on FreeBSD HOT 11
- provide a CI pipeline for FreeBSD
- add FreeBSD AIO audio plugout
- add PipeWire audio driver
- check if MIDI magic numbers branch should be merged HOT 2
- Build status for FreeBSD not shown in README.me HOT 1
- noise channel not being played correctly in Castlevania 2's GBS HOT 4
- gbsplay -V shows no version number when built from GitHub tarball HOT 2
- automatically add tarball to GitHub releases HOT 1
- support for dumping into the VGM file format HOT 1
- oss is not known output plugin error HOT 1
- No sound when playing files with VBlank ugetab
- Unsupported VGZ lead to memory released twice
- Bug in TAC counter rate calculation HOT 1
- muting channels in midi output HOT 13
- MIDI output slowly gets out of sync if written to separate tracks HOT 6
- channel isolated wav output can be out-of-sync HOT 1
- Typo in plugout_midi ? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gbsplay.