Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > CSDb Discussions > Vice 3.8 r45312 tape emulation problem?
2024-08-19 12:21
Flavioweb

Registered: Nov 2011
Posts: 463
Vice 3.8 r45312 tape emulation problem?

I was experimenting with writing tapes on rh and Vice when I realized that the exact same program (a small basic code of two lines) produced two different signals.
The signal produced on rh was slightly longer than the signal produced by writing the TAP generated by Vice using a U2+.
I then tried to sample the signal on the C64 using a U2+ through the "capture save" function, therefore working directly on the signal produced by the C64 and not by the Datassette.
I immediately noticed a difference.
The "pilot CBM" generated by the C64 is:
$2F, $30, $2F, $2F, $30, $2F, $30, $2F, $30, $2F, $2F, $30, $2F, $30, $2F, $30, $2F, $2F, $30, $2F, $30, $30, $2F, $2F, $30, $2F, $30, $2F, $30, $2F, $2F, $30, $2F, $30, $2F, $30, $2F, $2F, $30, $2F, $30, $30, $2F, $2F, $30, $2F, $30, $2F, $30, $2F, $2F, $30, $2F, $30, $2F, $30, $2F, $2F, $30 , $2F, $30, $30, $2F, $2F, $30, $2F, $30, $2F, $30, $2F, $2F, $30, $2F, $30, $2F, $30, $2F, $2F, $30, $2F, $30, $30, $2F, $2F, $30, $2F, $30, $2F, $30, $2F, $2F, $30, $2F, $30, $2F, $30, $2F, $2F , $30, $2F, $30, $30, $2F, $2F
while the one produced by Vice is a simple sequence of $2F. I don't know if there are other differences in the signals afterwards.
On Vice I have "Tape Speed ​​Tuning", "Wobble Frequency" and "Wobble amplitude" all at zero.
Since in all the dumps I've seen the pilot is similar to the one found on my rh, I think Vice has a problem with TAP management.

Is it just my problem/am I doing something wrong, or should I fire a bug report?
 
... 20 posts hidden. Click here to view all posts....
 
2024-08-19 19:59
chatGPZ

Registered: Dec 2001
Posts: 11386
here is a quick test - there indeed was some subtle rounding error:

hitmen.c02.at/temp/gurken.tap

is that one more like what you expect?

<s>PS: where is that test program? cant find it on csdb</s>
ok found. the value seems to be really unstable though
2024-08-19 20:35
Flavioweb

Registered: Nov 2011
Posts: 463
These are the results obtained with the U2+ using the "capture save" function:
https://www.flavioweb.it/DaCondividere/204060.zip
From what I see they are as they should be.

If i check your "gurken test" i can see a frequency of 2596hz which is slightly higher than the 2575/2578hz I get from my files on RH.
Maybe it's this little difference that you identify as "rounding errors".
2024-08-19 20:40
chatGPZ

Registered: Dec 2001
Posts: 11386
I cant even make out a proper value, it changes so often and never is stable before the pilot is over. As said before, it makes more sense to compare the actual tap files... could you share yours too?
2024-08-19 21:00
chatGPZ

Registered: Dec 2001
Posts: 11386
The results of the 204060 program show that the timing is spot-on for values dividable by 8, so yes, remaining differences should be purely related to rounding errors (better: quantization errors)
2024-08-19 21:17
Flavioweb

Registered: Nov 2011
Posts: 463
Okay.
But my initial question remains:
why do I see results with U2+ and using real hardware while Vice gives others?
Are U2+ and Real Hardware wrong?
2024-08-19 22:15
chatGPZ

Registered: Dec 2001
Posts: 11386
Quantization errors. You might see a different result with another C64 or with another U2 for the same reason. What VICE produces is "too perfect" in a way, the quantization errors produced by sampling the signal do not exist there. Also the .tap spec do not really tell what to do with values that are not dividable by 8, should the values be truncated (that is what VICE does) or rounded (and if so, how?)? All of it is correct, but will produce different values in the .tap.

Plus using the pilot tone and that program isn't really a well working test setup. The value is so unstable and jumps around so much, i wouldn't interpret much into it. We'd need another test signal that is much longer, so the program would display a stable value. Or a better test program to begin with :)

I'd still like to see the tap you captured for that matter, is it really all that different? Or is the difference purely in the quantization noise now? That's what i would expect at least.
2024-08-19 22:24
Flavioweb

Registered: Nov 2011
Posts: 463
Quoting chatGPZ
I'd still like to see the tap you captured for that matter, is it really all that different? Or is the difference purely in the quantization noise now? That's what i would expect at least.


The 2 programs i've captured are waveforms saved to tape directly from the C64. No TAP file was used for those two programs.

The only TAP file is the first waveform which was created by Vice and written with the U2+ to tape.
But I can also see the difference when sampling the C64 directly with the U2+.
U2+ is similar to C64 + Datasette. Vice is the worst (farthest from what I see using only RH, i.e. C64 + Datasette).
2024-08-19 22:37
chatGPZ

Registered: Dec 2001
Posts: 11386
WTF that contradicts what you posted before? You didn't actually save that basic prog on the C64 and captured that using U2? What is #8 about then?
2024-08-19 22:47
Flavioweb

Registered: Nov 2011
Posts: 463
#8 concerns the fact that it has been said that "who knows what it does exactly, what error margin does it have, how does it quantize the values, etc." in #7 alluding to the fact that it was U2 that had problems writing the file on Datasette (file which then generated the first waveform of the three posted in the Audacity screenshot).

I am saying from #1 that A TAP GENERATED BY VICE appears to use different frequencies than the signal CREATED ON RH BY THE C64 which I have measured by comparing waveforms, checking the TAP data extracted with the U2 and using the Derogee program.

Okay?
Vice -> tap -> datasette (even just Vice -> tap report different frequencies than C64 -> Datasette really...)
C64 -> datasette
Different frequencies.
2024-08-19 22:58
chatGPZ

Registered: Dec 2001
Posts: 11386
#3 literally states you compared the .tap saved on VICE and that saved on C64. Please provide it.

The only thing that will allow to actually find out what the problem is - or if there even is one (after my local fix) - is the captured .tap from the C64. (And not a random one, but using the provided example, so it can be compared exactly).

Speculating and repeating how VICE is wrong does not help at all.

I am getting strong Zibri vibes by now.

PS: "the frequencies" are pretty much right now in the tap produced by my local fix, the pilot is a 2F/30 soup just like you'd expect

PPS: did you even look at the tap i posted before? the pilot is *byte identical* to yours

committed my fix, build coming up soonish here: https://github.com/VICE-Team/svn-mirror/releases
Previous - 1 | 2 | 3 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
slimeysmine
t0m3000/hf^boom!^ibx
Andy/AEG
E$G/HF ⭐ 7
csabanw
sailor/Triad
acrouzet/G★P
Dano/Padua
The Human Co../Maste..
Flashback
Shake/Role
Hoild/Ultimate Newco..
Guests online: 135
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 Edge of Disgrace  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 No Listen  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Triad  (9.3)
5 Censor Design  (9.3)
Top Coders
1 Axis  (9.8)
2 Graham  (9.8)
3 Lft  (9.8)
4 Crossbow  (9.8)
5 HCL  (9.8)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.163 sec.