Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

TAP format

70 views
Skip to first unread message

Fraser Ross

unread,
Apr 9, 2011, 1:03:19 PM4/9/11
to
Are the V2 TAP format specifications anywhere? I can't find anything on
it. Is there a V3 format now?

Fraser.


Somebody

unread,
Apr 9, 2011, 5:05:16 PM4/9/11
to
Il 09/04/2011 19:03, Fraser Ross ha scritto:
> Are the V2 TAP format specifications anywhere? I can't find anything on
> it.


The only one I could find is the source code of MTAP.

if (machine == C16)
fprintf(fpout,"C16-TAPE-RAW");
else
fprintf(fpout,"C64-TAPE-RAW");
fprintf(fpout,"%c%c%c%c",tapvers,machine,video_standard,0);
fprintf(fpout,"%c%c%c%c",0,0,0,0); /* filelength */


> Is there a V3 format now?

No

Joe Forster/STA

unread,
Apr 10, 2011, 7:45:31 AM4/10/11
to
> > Are the V2 TAP format specifications anywhere?  I can't find anything on
> > it.
>
> The only one I could find is the source code of MTAP.

And there are some other instances of "tapvers" in the source. The
changelog says experimental halfwave support has been introduced in
mtap 0.31. As Per Håkan Sundell's original specification at
http://www.computerbrains.com/tapformat.html contains no version 2, I
conclude that Markus Brenner added it.

VICE supports it, search for "tap->version" in "vice-2.3/src/tape/
tap.c" of the source package. For someone already familiar with the
TAP file format (e.g. unlike me <:-) ), these source fragments should
be enough to find out what this exactly means. If you've succeeded,
please, send the description to Peter Schepers to be added to his
Commodore-related file format compendium, available online at
http://ist.uwaterloo.ca/~schepers/formats.html.

Somebody

unread,
Apr 10, 2011, 9:30:30 AM4/10/11
to

Version 2 is version 1, only each pulse represents a semiwave rather
than a full wave.

Markus Brenner extended the format further, to introduce machine (C64,
C16, VIC20) and video standard (PAL, NTSC). But those are not specific
to version 2.

Fraser Ross

unread,
Apr 10, 2011, 10:30:44 AM4/10/11
to
"Somebody"

Thanks for the help. I can see now I must have looked at some source
code before. It looks like the format was extended to hold longer waves
as 2 pulses. Vice simply joins them when they are read.

Fraser.


Fraser Ross

unread,
May 4, 2011, 10:27:06 AM5/4/11
to
"Fraser Ross"

>
> Thanks for the help. I can see now I must have looked at some source
> code before. It looks like the format was extended to hold longer
> waves as 2 pulses. Vice simply joins them when they are read.

Its actually the shorter waves that are now effectively pulses with V2
files.

Fraser.


Linards Ticmanis

unread,
May 7, 2011, 9:08:50 PM5/7/11
to

And do I get this right, the point of V2 is the following? While the VIC
and the 64 can only detect the falling edge of the tape read signal (so
it doesn't matter where the rising edge is located between two falling
edges), the C16 and Plus/4 can also detect the rising edge (so it does
matter where it is).

Or is there some other motivation?

--
Linards Ticmanis

Fraser Ross

unread,
May 8, 2011, 6:48:27 AM5/8/11
to
"Linards Ticmanis"

> And do I get this right, the point of V2 is the following? While the
> VIC
> and the 64 can only detect the falling edge of the tape read signal
> (so
> it doesn't matter where the rising edge is located between two falling
> edges), the C16 and Plus/4 can also detect the rising edge (so it does
> matter where it is).
>
> Or is there some other motivation?


I'd like to know about that as well. In general pulse lengths are not
reliable for representing data or synchronisation signals. I've not
seen any format that uses them much.

Fraser.


A Grosz

unread,
May 23, 2011, 4:03:34 PM5/23/11
to
On May 8, 12:48 pm, "Fraser Ross" <z...@z.com> wrote:

> > it doesn't matter where the rising edge is located between two falling
> > edges), the C16 and Plus/4 can also detect the rising edge (so it does
> > matter where it is).
>
> > Or is there some other motivation?
>
> I'd like to know about that as well.  In general pulse lengths are not
> reliable for representing data or synchronisation signals.  I've not
> seen any format that uses them much.

The C16/+4 line can basically only detect an "edge change" and
can not distinguish them either. For most tape loaders (most notably
the KERNAL and
NOVALOAD) this is not an issue, however there were a couple
turboloaders
that (accidentally?) write only a half wave at one point, basically
inverting the signal.

Here's some more info:
http://c64tapes.org/forum/viewtopic.php?t=156

May I enquire why you need this info?

best,
Attila

Fraser Ross

unread,
May 28, 2011, 6:19:30 AM5/28/11
to
I have a program called CSW Viewer that can be used to analyse CSW and
TAP files. It can be found at World of Spectrum. I'd be interested in
seeing any TAP files where the waves become inverted like you were
saying. Do you have any links to any of them files?

Fraser.


A Grosz

unread,
May 29, 2011, 9:29:07 AM5/29/11
to

Here's the most prominent one:
http://plus4world.powweb.com/software/Her_Turbo

This is the TAP of the actual turbo saved with itself, so one can just
go ahead and
investigate directly.

cheers,
Attila

Joe Forster/STA

unread,
May 29, 2011, 10:42:05 AM5/29/11
to
> Here's the most prominent one:http://plus4world.powweb.com/software/Her_Turbo

I played around with this one... :-) The actual program code is at
offsets $16083-$22072. Bytes are stored MSB first, LSB last, bits are
stored as pulse pairs: $21 $21 is a 1 bit, $0E $0E is a 0 bit. The
extra byte at offset $22073 is probably a checksum, the extra 4 bytes
at offsets $16043-$16082 are definitely the start and end addresses
($0400-$0FFF).

Fraser Ross

unread,
May 30, 2011, 8:56:49 AM5/30/11
to
The file has a video standard byte of 0xC0. I had to modify CSW Viewer
to view negative code numbers as 0. I can't remember where I found the
information about the machine type and video standard extentions. There
are several reasons for getting the complete format written somewhere.

I think this file has a machine type of +4/C16 a video standard of PAL
and the sampling rate is 886724.

Fraser.


Joe Forster/STA

unread,
May 30, 2011, 11:20:55 AM5/30/11
to
> There are several reasons for getting the complete format written somewhere.

As I wrote in an earlier post of mine, Peter Schepers' compendium at
http://ist.uwaterloo.ca/~schepers/formats.html is the one to be
updated about _any_ Commodore-related file formats so, please, forward
any findings to him.

A Grosz

unread,
May 31, 2011, 3:32:00 PM5/31/11
to

Yes that's correct. Basically for the C16/+4 you can consider anything
that has not not got a video
standard of 1 (NTSC) as PAL (0)... there were a few crappy TAPs made
in the past that
are not quite following the "standard" (in many cases tapes were first
sampled
as WAV and converted to TAP with "homebrew" utilities that often
disrespected
a few rarely used parameters.

BTW, it really does not make much sense to differentiate video
standard
AND machine type AND sampling frequency versions all at once. Storing
the sampling
frequency alone (i.e. the length of a TAP unit) would have been
perfectly sufficient.
But I guess it's too late now :) Or we could draft a version 3 MTAP
format that
would do just that...

Attila

Somebody

unread,
May 31, 2011, 5:22:06 PM5/31/11
to
Il 31/05/2011 21:32, A Grosz ha scritto:
> BTW, it really does not make much sense to differentiate video
> standard
> AND machine type AND sampling frequency versions all at once. Storing
> the sampling
> frequency alone (i.e. the length of a TAP unit) would have been
> perfectly sufficient.

But it has an advantage: that way, you are guaranteed 1 time unit in a
TAP file is equal to 1 clock cycle of some C= machine.

BTW, the DMP format stores frequency

Somebody

unread,
Jun 4, 2011, 9:27:11 AM6/4/11
to
Il 30/05/2011 14:56, Fraser Ross ha scritto:
> The file has a video standard byte of 0xC0.

Which sounds plain wrong. Only 0 and 1 are valid.

> I can't remember where I found the
> information about the machine type and video standard extentions. There
> are several reasons for getting the complete format written somewhere.

At
http://groups.google.com/group/comp.emulators.cbm/browse_thread/thread/f04cf362ab652a5e/1e8284ff8d07302f
, Markus Brenner explains his extension to the TAP format.

0 new messages