Image Map Image Map
Results 1 to 7 of 7

Thread: Looking For A D81 Maker For My C128...

  1. #1

    Default Looking For A D81 Maker For My C128...

    I looking for a native C128 program (NOT an IBM or emulator program, but one that I can load and run on an actual, genuine Commodore-128) that will allow me to create D81's.

    Does anyone know if any such program exists, and if so, where to obtain it?

    Many thanks for any assistance...


  2. #2
    Join Date
    Mar 2017
    New Jersey, USA


    Given that a D81 file is 819200 bytes (822400 bytes if you include error bytes), I can't help but wonder where you are planning to write these images? Do you have a drive attached to your C128 that can store such large files?

  3. #3


    I'm very tempted to say, "Why should you want to know? That's MY business," but... I'll forgo that.

    I have both a CMD RamLink (16MB), AND a CMD FD-2000. So, yeah, I can handle it.

    But it's really a non sequitur -- the real question is, "Do you know of such a D81-maker program, and where or how I can obtain it?"

    Once again... thanks for any information.

  4. #4
    Join Date
    Dec 2012
    Brandon, FL


    Yeah, not following the question, D81 is an non-commodore file naming convention, the commodore computer doesn't know what a d81 file is, You can use a ZoomFloppy or pc program to make a disk, but if you don't have a 1581 floppy drive and want to load a d81 up on your commodore, your only solution is a pi1541.

  5. #5
    Join Date
    Jan 2013
    Washington State


    Quote Originally Posted by C128User View Post
    I'm very tempted to say, "Why should you want to know? That's MY business,"
    He only asked because knowing what hardware you're using can be very helpful in giving a proper educated response.

    That being said, I have a BASIC program that I use to create disk image files on a sd2iec device such as the uIEC from RetroInnovations.
    I'm not sure that it will work on FD-2000 but you can give it a try.
    Here it is:
    10 print"create new disk imageq":o=-1
    20 input"disk name";f$
    30 iff$=""thenprint"Q";:goto20
    40 print"select disk type: [dr6R4, dr7R1, dr8R1]: ";
    50 getk$:ifk$="6"thent$="d64":rh=170:o=2
    60 ifk$="7"thent$="d71":rh=85:o=5
    70 ifk$="8"thent$="d81":rh=127:o=12
    80 ifo=-1then50
    90 printt$:f$=f$+"."+t$
    100 open15,8,15:open5,8,5,f$+",p,w"
    110 print#15,"p"+chr$(5)+chr$(255)+chr$(rh)+chr$(o)+chr$(0)
    120 print#5,chr$(0);:close5
    130 print"new "t$" created.":print"want to format it?(y/n): ";
    140 getk$:ifk$="n"thenprintk$:goto210
    150 ifk$="y"thenprintk$:goto170
    160 goto140
    170 input"enter disk name";n$
    180 input"id";i$
    190 print#15,"cd:"f$:rem mount new disk
    200 print#15,"n0:"+n$+",",i$:rem format new disk
    210 close 15
    220 print"done."
    This uses the drive's internal ROM to create blank .d64, .d71 or .d81 disk images.
    Otherwise BASIC would take an extremely long time to create the images.

    Good luck.

    [edit]The "Q" in line 20 is a CRSR-UP and the "r"s and "R"s in line 40 are RVS on and off respectively.[/edit]
    Last edited by buzbard; May 28th, 2020 at 02:26 PM. Reason: typo

  6. #6


    Thank you so much for your kind and prompt reply!

    1. That program looks like it writes to device #8, which is my 1571 (the first of two). That, of course, won't have nearly enough space.

    What I'd really like to do is create the D81 on drive #16 -- my 16MB CMD RamLink.

    2. It also looks like your program creates a blank, or empty D81. In fact, I want to copy the complete contents of the disk currently in device #10 (my 1581) into a D81 written on device #16 (my RamLink), and if BASIC is the only way to accomplish that, then BASIC it will have to be!

    BUT, I'll need someone to write the program for me -- I'm totally ignorant of the form and structure of a D81 file.

    Again, ANY assistance will be greatly appreciated; and I would not be averse to financial compemsation...

  7. #7
    Join Date
    Mar 2017
    New Jersey, USA


    The form/structure of a D81 file is very simple, it's just the content of each block, starting at track 1 sector 0, and proceeding until the end of the disk. There is no meta-data, no headers or sector markers or anything. Just the raw bytes from each sector, written in sequence. I was considering writing a BASIC program to do it, using the block-read commands to read blocks in sequence, then writing the bytes out to a sequential file, but I've been busy with other work and it has been so long since I wrote a program on a Commodore computer that I'd have to relearn some stuff first. And apparently reinstall an emulator. I was sure I had one already installed but I can't find it.

Tags for this Thread


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts