
Import back
your TAP files to C64 tapes to use with your real C64!
The
Tools
Tapwav 2.2 (18 KB) DOS/WIN
Application, Jul 11 2002. Technical infos here.
Converts TAP files into WAV ones to record them back on tapes with your Soundcard and an audio cassette recorder. Very similiar to Thomaz Kac 64TAPVOC. Don't panic if your WAVs will be *very* BIG. They may be reduced a lot when compressed with Zip, Rar, etc. or converted to a compressed WAV format.
PTap 0.28 (50 KB) DOS Application, May 20 2000, by Markus Brenner. You can download it here.
This tool lets you import TAP files to tapes directly with your C64 Datasette and C64S X1541/tape interface adapter.
The TAP files you should avoid using with these
tools
It's in your interest that I suggest you to check your TAP files
BEFORE you import them back to tape. You cannot expect cassettes
produced from bad TAPs will work and it would take a lot of time
to understand if it was an import back error or not.
In some cases a simple test can be done quickly on any C64
emulator supporting TAP files.
In The TAP files
to use with these tools sub-sections, you find some useful
information about how to test a tape once you recognize which
loader it uses. That section will grow in future, so don't be
afraid if you cannot test your TAPs by yourself.
In some cases, if there's a problem with a tap, fortunately the
game won't fully load.
In some other cases it's shown load had a problem but
unfortunately the load will go on all the same. The game may work
or not, depending on which part of data is corrupted.
I think each of us wants to work with fully checked TAPs, but
unfortunately, in my experience, I've found corrupted TAPs
available for download. Sometimes the problem shows after loading
a couple of levels, so that you won't notice the problem until
you end the whole game.
I understand that hostmaster which host many files (and not just
TAP files) cannot fully check all their TAPs. That's why some
people is thinking of a "checking/cleaning squad".
Personally I've done some fixes, partly published and partly not.
A part of the TAPs I fixed was replaced with working versions,
but not all.
Here there's a summary of what I fixed, which should help you to
avoid taking bad versions or, at least, assure your version is ok.
Bangkok Knights: the version currently
available at cia.c64.org is corrupted. I fixed it and will be soon
online here.
Creatures: the previous
version online was corrupted. On cia.c64.org site there's a fixed
copy. In the Cia News History you will find the information
about it.
Last Ninja 3:
the previous version online was corrupted. I imported my copy,
now available at cia.c64.org (and even here, cleaned and
optimized, ready to be used with Tapwav) and later fixed the copy
which had been online since I got enough information from my
studies to fix it. You find it at http://lastninja.lemon64.com.
Sanxion: the version
currently available on some TAP pages (also at cia.c64.org) is
corrupted. I fixed it. The error
may be noticed since the Cyberload small flashing sprite you see
during load stops flashing at a certain point thus indicating a
load error with the previous version.
Gyroscope: the version
currently available (also at cia.c64.org) contains some altered
pulses. I fixed it.
Some TAPs won't work with C64
Emulators
CCS64: The TAP version of "Barbarian 2: The dungeons of Draax" and some other TAPS (eg. "10th Frame") did not work correctly with this emulator.
After some research, I can say the problem is due to the wrong way TAP Version 1 "long pulses" (which follow a $00) are handled.
The problem I experienced with "Barbarian 2:
TdoD" occurrs when Tape Motor is stopped (via software, after
one or more files were fully loaded) while the emulator is processing
a TAP v 1 "long pulse".
Such in a case, the time used to process a whole "long pulse"
doesn't seem to match its real size. It takes less time than it
should to process the 2 parts, before Motor Stop and after Motor
is activated again.
As example, a 17 seconds "long pulse" takes about 11
seconds to be fully read if Tape Motor is stopped while the
emulator has started reading it. The fact the emulator has
already processed a part of the "long pulse" doesn't
justify the 6 seconds difference, since the time during which
Motor is kept active after a file load is complete doesn't
usually exceed 1/10 of second.
Just enlarging the "long pulse" size, within which Tape Motor is stopped, doesn't solve the problem with TAP V 1 "long pulses". Once a TAP V 1 "long pulse" is "pre"-processed it lost its "task".
We should introduce chopped "long pulses",
which is what we tipically don't find in optimized TAPs (consecutive
"long pulses" or "blanks" unification is a tipical
operation done by V 1 TAPs clean/optimize tools).
Anyway the chopped "long pulses" should have a size
bigger than the original ones (at least the first one). This
would require an exact computing if we do not want to introduce
enourmous "long pulses".
Another trick to overskip this problem would be to insert additional pulses (eg. some hundreds of $2F) before the "long pulse", thus avoiding the following "long pulse" being processed before Tape Motor is stopped. This way, just a part of the additional pulses are read instead of the "long pulse". The same effect may be reached rewinding slightly the TAP file each time Tape Motor is stopped, before loading next data.
Anyway, both these tricks are not needed if you want to import your TAP back on a C64 tape. This is why some TAPs not working with CCS64 (as the one I mentioned) will work when loaded from a real C64 tape when imported back (you may find such TAPs on my pages).
Fortunately there's a third way, which doesn't need to introduce such changes in the TAP files. As Stewart Wilson (SubChrist) guessed, it is enough to convert the TAPs which show this problem into TAP V 0. As he says, this may be due to the fact in V 0 TAPs each $00 is a "unit" of 20000 cycles exactly and each is small enough to go un-noticed in the event of the Motor Stopping.
Conversion to TAP V 0 solves the problem with those TAPs, also with "10th Frame". We can state TAP V 1 "long pulses" are somehow wrongly handled by CCS64, and maybe not just when Tape Motor is stopped within them.
Vice: a similiar problem as the one with CCS64 occurrs with Vice. Some TAPs not working with CCS64 seem to work with Vice though.
There's a Win/DOS tool (CONV.EXE version 1.3, 9 Aug 2002) available here which automatically converts TAP files from V 1 to V 0 and viceversa. A good alternative is "Final Tap" from Stewart Wilson (check given links).
The TAP files to use with these tools
Some of the TAPs which I've fully validated
and hand-optimized to import back are available for download. You
can also get validated and purified TAPs from The ULTIMATE C64 Tape Page.
Actually the TAP files you will find here will have "_F0.tap"
at the end of their filename for being easily distinguished.
Every TAP file comes from the Original tape if not specified.
In some cases I offer a patched version (I personally hand-made)
which lets you know if load is errorfree. This happens when
usually the autocheck feature is active but its status not
clearly showed.
TAPs will be added in future, each one with a check tool in case
of multi-load games!
If you have problems generating a WAV, just send me an e-mail
explaining what exactly you tried and which error occurrs.
Luigi Di Fraia.