Home C64 Section
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.
My idea is to put online TAP files you can test after having imported them back on tape. Many Turbo Loaders have a checksum computing to test if load was correct or not, so I prefer to upload them first during the beta testing period.
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.
Use the "-b" option with Tapwav: "Tapwav -b <filename.tap>".

Cyberload TAPs

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.

Email the author comments/suggestions

Since April 2002

Last Modified: 15 Sep 2007 (previous update 28 Sep 2002) Back to C64 Section