Best way to create D64 or D71 files on a C128D?

Other Computers and Game Systems

Moderator: Moderators

User avatar
tokra
Vic 20 Scientist
Posts: 1123
Joined: Tue Apr 27, 2010 5:32 pm
Location: Scheessel, Germany

Best way to create D64 or D71 files on a C128D?

Post by tokra »

Ok, I've spent two hours browsing the web trying to find the best solution to create D64 or D71 files from my Commodore 128D using an SD2IEC device. I cannot connect the disk drive to the PC since it's integrated into the C128D, and i think there must be way to do it on the C128 with SD2IEC itself. Can anyone help out? The best I found is some tool from 1998, but this doesn't support .D71 as far as I can see:

http://www.kludgesoft.com/c64/d64it.html

Thanks
Torsten
Diddl
Vic 20 Afficionado
Posts: 425
Joined: Wed Jun 10, 2009 3:18 am

Post by Diddl »

look like it would be a nice solution.

he wrote "slowly" but better than no solution ...
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

It seems that there are a lot of request for a d64/d71/d81 to SD2IEC and viceversa tool maybe with a turbo support too...
Mega-Cart: the cartridge you plug in once and for all.
User avatar
plbyrd
Vic 20 Hobbyist
Posts: 135
Joined: Tue Jun 01, 2010 9:32 pm
Website: http://thesharp.ninja
Location: Clarksville, TN
Occupation: Software Engineer

Post by plbyrd »

nbla000 wrote:It seems that there are a lot of request for a d64/d71/d81 to SD2IEC and viceversa tool maybe with a turbo support too...
You may want to check out CBM-Command...

http://cbmcommand.codeplex.com
User avatar
tokra
Vic 20 Scientist
Posts: 1123
Joined: Tue Apr 27, 2010 5:32 pm
Location: Scheessel, Germany

Post by tokra »

Thanks for the suggestion, but as far as I can see this can only do file-copy - I just want to copy the whole disk track by track, since my discs also have 0 block "------------" files and such.

Unfortunately as suspected D128IT only support 35 tracks (single-sided) discs. Is there no such tool for double sided (70 tracks) 1571-discs or maybe even the 40 tracks single-sided discs?

Torsten
User avatar
plbyrd
Vic 20 Hobbyist
Posts: 135
Joined: Tue Jun 01, 2010 9:32 pm
Website: http://thesharp.ninja
Location: Clarksville, TN
Occupation: Software Engineer

Post by plbyrd »

tokra wrote:Thanks for the suggestion, but as far as I can see this can only do file-copy - I just want to copy the whole disk track by track, since my discs also have 0 block "------------" files and such.

Unfortunately as suspected D128IT only support 35 tracks (single-sided) discs. Is there no such tool for double sided (70 tracks) 1571-discs or maybe even the 40 tracks single-sided discs?

Torsten
No, CBM-Command does both reading and writing of D64 images, you simply need a device large enough to hold them. Take a look at the documentation tab to see the appropriate hot-keys. I would need to see how much work it would be to detect the type of disk in a 1571 to determine whether or not to add D71 support. There is very little memory left for new code in CBM-Command.
User avatar
tokra
Vic 20 Scientist
Posts: 1123
Joined: Tue Apr 27, 2010 5:32 pm
Location: Scheessel, Germany

Post by tokra »

I found a solution! Very simple and slow, but it gives exactly the result I was looking for. For future reference: What I had to do was the following:

- create a blank .D71 image in VICE and save that to the SD-card
- mount this image on the C128 so that it is the active "directory"
- copy the whole disc sector by sector from disc to SD

For the last step I found a small program here:

http://www.c64-wiki.de/index.php/Floppy/BASIC_Diskcopy

This is a simple BASIC disccopy-program which was easily extendable to 1571 discs by just amending and adding the first few lines like this:

Code: Select all

100 data 17,21,24,19,30,18,35,17
101 data 52,21,59,19,65,18,70,17
102 data 0,0
Basically this just repeats the track/sector table for track 36-70.
This way I can copy my old 1571 double-sided C128 discs to SD :-) It's slow (about 3 hours per disc), but can possibly be speeded up by using the assembler assisted solution and JiffyDOS or possible SJLOAD for C128.
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

This is really interesting... Diddl wrote a similar program some time ago.
Mega-Cart: the cartridge you plug in once and for all.
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

tokra wrote:

Code: Select all

100 data 17,21,24,19,30,18,35,17
101 data 52,21,59,19,65,18,70,17
102 data 0,0
yes it works on VICE too (C64)...
Do you know which data are required for a 1581 drive ?
Mega-Cart: the cartridge you plug in once and for all.
User avatar
tokra
Vic 20 Scientist
Posts: 1123
Joined: Tue Apr 27, 2010 5:32 pm
Location: Scheessel, Germany

Post by tokra »

nbla000 wrote:Do you know which data are required for a 1581 drive ?
According to: http://www.c64-wiki.com/index.php/VIC-1581 the 1581 has 80 tracks with 40 sectors each, so it *SHOULD* just be:

Code: Select all

100 data 80,40,0,0
Do you remember where to find that program from Diddl?

Torsten
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

tokra wrote:so it *SHOULD* just be:

Code: Select all

100 data 80,40,0,0
Thanks, I will try.
Do you remember where to find that program from Diddl?
I should have it in some place btw it was a Program for Vic+8k+3K based from the C64-wiki to write from a 1541 to a d41 file image.

It should be here on Denial in some place btw do you want I search it on my archives ?
Mega-Cart: the cartridge you plug in once and for all.
User avatar
tokra
Vic 20 Scientist
Posts: 1123
Joined: Tue Apr 27, 2010 5:32 pm
Location: Scheessel, Germany

Post by tokra »

Found it: http://sleepingelephant.com/ipw-web/bul ... 4&start=15

It's the same program that's linked on the C64-Wiki which I used.
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

Yes It's the same program just adapted for the Vic and to write to a d64 file image instead to real disk.

I'm playing with it a bit and at the moment I'm able to do these tasks (in emulation):
1541 to 1541
1541 to D64
1571 to 1571
1571 to D71
1581 to 1581
D64 to 1541
D71 to 1571
I can do these tasks too (but not in emulation of course):
1581 to D81
D81 to 1581

All for Vic+8K+3K (or Mega-Cart) it works but it is very slow.

Now I've a program for each task next step is to join all programs.
Mega-Cart: the cartridge you plug in once and for all.
User avatar
tokra
Vic 20 Scientist
Posts: 1123
Joined: Tue Apr 27, 2010 5:32 pm
Location: Scheessel, Germany

Post by tokra »

Good idea! You could also make it totally universal, by impementing a check for which system it's being run on (VIC-20, C64, C128). The assembler code uses kernal-routines from the jump-table which should be the same for all three. Also there are no jmp in the routine itself, so it's relocatable. For a VIC it can be stored at $0400 or $a000, for a C64 at $c000 and for a C128 at $1300. Would be nice and small allround-tool this way :)
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

ok, I will start with the Vic then I will adjust it for other systems too...
Mega-Cart: the cartridge you plug in once and for all.
Post Reply