| |
Jammer
Registered: Nov 2002 Posts: 1289 |
problematic playback od GT multispeeds
I'm not sure how problems and hickups are common for playback on real machine but considerable number of my works usually sounds broken, especially those ones composed with the latest GT release. What's the culprit here? Are GT compilations that cycle sensitive or what? :) During the release of Club Stylier and a few other multis I was forced to create false SID address working as a buffer and then copy values to proper registers but it's really unwanted workaround. Any clues? |
|
| |
algorithm
Registered: May 2002 Posts: 702 |
I had a similar issue with some of the tracks that i composed for the Eclectic Demo. There was a noticeable difference between goattracker and Winvice/Real c64. Perhaps they are based on different resid revisions/filter curves? Or that the method of writing to sid registers are different for the realtime playback in the editor in comparison to the compiled sid data? |
| |
Jammer
Registered: Nov 2002 Posts: 1289 |
I don't mean filters or wave sounds. Mostly problems with hardrestart time, wrong attacks, wrong gate etc. Sounds like problems with buffering or so. |
| |
algorithm
Registered: May 2002 Posts: 702 |
This was also another difference (Hard restart and adsr) Which i believe may be perhaps due to writes to emulated sid differing in editor in comparison with compiled sid tune or/and resid version difference |
| |
iAN CooG
Registered: May 2002 Posts: 3135 |
writing sid regs in different order give different results.
goattracker at every $1003 call executes this code 3 times, with X=0/7/E
13AA 9D E4 13 STA $13E4,X
13AD BD FA 13 LDA $13FA,X
13B0 3D 11 14 AND $1411,X
13B3 9D 04 80 STA $D404,X
13B6 BD 23 14 LDA $1423,X
13B9 9D 00 80 STA $D400,X
13BC BD 24 14 LDA $1424,X
13BF 9D 01 80 STA $D401,X
13C2 BD 25 14 LDA $1425,X
13C5 9D 02 80 STA $D402,X
13C8 BD 26 14 LDA $1426,X
13CB 9D 03 80 STA $D403,X
13CE BD 35 14 LDA $1435,X
13D1 9D 05 80 STA $D405,X
13D4 BD 36 14 LDA $1436,X
13D7 9D 06 80 STA $D406,X
13DA 60 RTS
not counting $d415/16/17/18 set at different times;
While a buffered sid write copies backward the buffer to sidregs.
08A2 A2 18 LDX #$18
08A4 BD 00 80 LDA $8000,X
08A7 9D 00 D4 STA $D400,X
08AA CA DEX
08AB 10 F7 BPL $08A4
If GoatTracker editor always uses buffered playback then ALL GT tunes should play wrong/different. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11118 |
its even mentioned in the docs iirc =P |
| |
Jammer
Registered: Nov 2002 Posts: 1289 |
Well, I have no intention in reading code part of docs and prefer leave it for coders :P The more interesting part is - can this unpredictable behaviour be fixed and will Lasse do this? ;) |
| |
chatGPZ
Registered: Dec 2001 Posts: 11118 |
the solution is to always use buffered writes. i am sure one of your groupmates can knock up the code for it :=P |
| |
Jammer
Registered: Nov 2002 Posts: 1289 |
I always do but the results are as I've described nonetheless :/ |
| |
Soren
Registered: Dec 2001 Posts: 547 |
d406,d405,d404 (and for the other voices aswell)
Use that order and things ought to be as good as they can get.
Furthermore it's a good idea to empty the sid buffer into sid registers as the FIRST thing in music/sound routines. |
| |
Hein
Registered: Apr 2004 Posts: 933 |
I suppose the C64 playback should also be using stable rasters and without badlines, so no accidental delays occur during playback. |
... 40 posts hidden. Click here to view all posts.... |
Previous - 1 | 2 | 3 | 4 | 5 - Next |