How to convert Tap files to D64?

History and Preservation Issues

Moderator: Moderators

Post Reply
Barney
Vic 20 Afficionado
Posts: 327
Joined: Wed Feb 08, 2006 7:02 am

How to convert Tap files to D64?

Post by Barney »

Hello, I was wondering if anyone here is familiar with converting Vic-20 Tap files to D64. I attempted a few times myself and it isn't working. When I first convert from Tap to Prg, it's breaking up the file into 6 or more individual prg files instead of just 1 prg file. I'm following some instruction that a person used to convert them on a Commodore 64 and maybe that is my issue. If there is a good link you may have or some good tips, let me know.

(mod: thread moved from Hardware to Collecting and History section)
User avatar
Mike
Herr VC
Posts: 4841
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: How to convert Tap files to D64?

Post by Mike »

When this can't be done by just LOAD from tape and SAVE to disk (within VICE, for example), this more or less amounts to do a full crack. Even when there's no fast loader involved, the game can feature an autostart, binary non-BASIC program data (like machine code, character sets or level data) and 'hidden' data in the tape header(s).

The methods necessary to do the transfer vary depending on the actual case at hand; good knowledge of the memory map, machine code and how to work in a monitor are definitely recommended.

Here are some other threads highlighting this topic:
Barney
Vic 20 Afficionado
Posts: 327
Joined: Wed Feb 08, 2006 7:02 am

Re: How to convert Tap files to D64?

Post by Barney »

I just downloaded Vice so I'll look around and try and figure things out. I haven't used Vice in over 10 years. I'll also check out the links. Thanks for the help.
groepaz
Vic 20 Scientist
Posts: 1187
Joined: Wed Aug 25, 2010 5:30 pm

Re: How to convert Tap files to D64?

Post by groepaz »

Use TapEX -> https://csdb.dk/release/?id=237663

load the tap, select "extract prg" from the menu, and it creates a directory with all files. For vic20 tapes you will probably have a pretty good success rate :)
I'm just a Software Guy who has no Idea how the Hardware works. Don't listen to me.
Barney
Vic 20 Afficionado
Posts: 327
Joined: Wed Feb 08, 2006 7:02 am

Re: How to convert Tap files to D64?

Post by Barney »

That's exactly what is used. I selected the tap file, chose extract org and it spit the tap file out into like 6 mini prg files. That doesn't sound normal and when converted to a d64 file, it wouldn't run at all. I keep getting Syntax errors. Is there some step I may be missing?

I just went ahead and took the Prg files and dropped them into Dirmaster and saved as D64. I went to run on Vic and got more syntax errors.
Last edited by Barney on Mon Feb 12, 2024 12:48 pm, edited 2 times in total.
User avatar
Mike
Herr VC
Posts: 4841
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: How to convert Tap files to D64?

Post by Mike »

Transferring all these files from *.tap to *.d64 is only doing half the job.

The tape original very likely assumes (and can rightfully do so!) it was run from tape, and issues further load commands from tape. You would at least need to identify those code sections that load the next files and adapt them to instead load from the last device used.

This is only easy when dealing with BASIC programs, and has been discussed recently in other threads in Denial. Again, when there are data hidden in tape headers, and there are other non-BASIC program files in the dump files (as said, machine code, character data, level data, etc.) you will need to adapt all these load commands as well.

You will also find that a lot of games feature badly written joystick routines that fail upon a load from disk. Some VIA registers contain bits relevant to joystick and disk I/O - disk access changes some of the bits, those joystick routines happen to compare whole register contents and then fail. You would need to repair those cases as well.

Sounds like an easy job, no? ;)
User avatar
srowe
Vic 20 Scientist
Posts: 1340
Joined: Mon Jun 16, 2014 3:19 pm

Re: How to convert Tap files to D64?

Post by srowe »

Standard (i.e. without a fastloader) .tap files can be converted to d64 using my command line tool

https://cbmshell.readthedocs.io/en/latest/index.html

As Mike points out, if the code tries to chain load another program, read data files etc that needs to be fixed up manually.
Barney
Vic 20 Afficionado
Posts: 327
Joined: Wed Feb 08, 2006 7:02 am

Re: How to convert Tap files to D64?

Post by Barney »

All the tap files are written in basic. Yeah, this is quite complicated indeed. I'll attempt to convert within Vice and see what happens.
Barney
Vic 20 Afficionado
Posts: 327
Joined: Wed Feb 08, 2006 7:02 am

Re: How to convert Tap files to D64? (was: Re: 5 Ultra-Rare Games by "Aim Software")

Post by Barney »

vicist wrote:[...]
https://sleepingelephant.com/ipw-web/bu ... 20&start=7

Thanks for converting those tap files. I tried myself and was unsuccessful in getting the D64 to work. What programs did you use to create them? I used Tapex and Dirmaster.
User avatar
vicist
Vic 20 Afficionado
Posts: 352
Joined: Tue Oct 09, 2012 5:26 am
Location: Sheffield, UK

Re: How to convert Tap files to D64? (was: Re: 5 Ultra-Rare Games by "Aim Software")

Post by vicist »

Just VICE emulator.
Barney
Vic 20 Afficionado
Posts: 327
Joined: Wed Feb 08, 2006 7:02 am

Re: How to convert Tap files to D64? (was: Re: 5 Ultra-Rare Games by "Aim Software")

Post by Barney »

You mentioned something that I have a question about. You said the AIM games gave you a lot of trouble so you made them all "one-filers". How did you go about making them one filers? Is it possible to do that via Tapex? When I use Tapex, it breaks the tap file up into several prg files.
User avatar
vicist
Vic 20 Afficionado
Posts: 352
Joined: Tue Oct 09, 2012 5:26 am
Location: Sheffield, UK

Re: How to convert Tap files to D64?

Post by vicist »

The games themselves were not problematic, just the odd behavior of the combined files. It should have been a straight forward task - and usually is - to amend the loader, pointing BASIC to where the second part should reside. After the load has finished, point BASIC back to its usual starting place and save the whole thing as one file.

This normally goes without a hitch but for some reason the files kept getting corrupted, and I have no idea why. Still, the next day, everything seemed to go OK so, happy days eh!
Post Reply