Forum etiquette

Our mission ...

This forum is part of our mission to promote the preservation of vintage computers through education and outreach. (In real life we also run events and have a museum.) We encourage you to join us, participate, share your knowledge, and enjoy.

This forum has been around in this format for over 15 years. These rules and guidelines help us maintain a healthy and active community, and we moderate the forum to keep things on track. Please familiarize yourself with these rules and guidelines.

Remain civil and respectful

There are several hundred people who actively participate here. People come from all different backgrounds and will have different ways of seeing things. You will not agree with everything you read here. Back-and-forth discussions are fine but do not cross the line into rude or disrespectful behavior.

Conduct yourself as you would at any other place where people come together in person to discuss their hobby. If you wouldn't say something to somebody in person, then you probably should not be writing it here.

This should be obvious but, just in case: profanity, threats, slurs against any group (sexual, racial, gender, etc.) will not be tolerated.

Stay close to the original topic being discussed
  • If you are starting a new thread choose a reasonable sub-forum to start your thread. (If you choose incorrectly don't worry, we can fix that.)
  • If you are responding to a thread, stay on topic - the original poster was trying to achieve something. You can always start a new thread instead of potentially "hijacking" an existing thread.

Contribute something meaningful

To put things in engineering terms, we value a high signal to noise ratio. Coming here should not be a waste of time.
  • This is not a chat room. If you are taking less than 30 seconds to make a post then you are probably doing something wrong. A post should be on topic, clear, and contribute something meaningful to the discussion. If people read your posts and feel that their time as been wasted, they will stop reading your posts. Worse yet, they will stop visiting and we'll lose their experience and contributions.
  • Do not bump threads.
  • Do not "necro-post" unless you are following up to a specific person on a specific thread. And even then, that person may have moved on. Just start a new thread for your related topic.
  • Use the Private Message system for posts that are targeted at a specific person.

"PM Sent!" messages (or, how to use the Private Message system)

This forum has a private message feature that we want people to use for messages that are not of general interest to other members.

In short, if you are going to reply to a thread and that reply is targeted to a specific individual and not of interest to anybody else (either now or in the future) then send a private message instead.

Here are some obvious examples of when you should not reply to a thread and use the PM system instead:
  • "PM Sent!": Do not tell the rest of us that you sent a PM ... the forum software will tell the other person that they have a PM waiting.
  • "How much is shipping to ....": This is a very specific and directed question that is not of interest to anybody else.

Why do we have this policy? Sending a "PM Sent!" type message basically wastes everybody else's time by making them having to scroll past a post in a thread that looks to be updated, when the update is not meaningful. And the person you are sending the PM to will be notified by the forum software that they have a message waiting for them. Look up at the top near the right edge where it says 'Notifications' ... if you have a PM waiting, it will tell you there.

Copyright and other legal issues

We are here to discuss vintage computing, so discussing software, books, and other intellectual property that is on-topic is fine. We don't want people using these forums to discuss or enable copyright violations or other things that are against the law; whether you agree with the law or not is irrelevant. Do not use our resources for something that is legally or morally questionable.

Our discussions here generally fall under "fair use." Telling people how to pirate a software title is an example of something that is not allowable here.

Reporting problematic posts

If you see spam, a wildly off-topic post, or something abusive or illegal please report the thread by clicking on the "Report Post" icon. (It looks like an exclamation point in a triangle and it is available under every post.) This send a notification to all of the moderators, so somebody will see it and deal with it.

If you are unsure you may consider sending a private message to a moderator instead.

New user moderation

New users are directly moderated so that we can weed spammers out early. This means that for your first 10 posts you will have some delay before they are seen. We understand this can be disruptive to the flow of conversation and we try to keep up with our new user moderation duties to avoid undue inconvenience. Please do not make duplicate posts, extra posts to bump your post count, or ask the moderators to expedite this process; 10 moderated posts will go by quickly.

New users also have a smaller personal message inbox limit and are rate limited when sending PMs to other users.

Other suggestions
  • Use Google, books, or other definitive sources. There is a lot of information out there.
  • Don't make people guess at what you are trying to say; we are not mind readers. Be clear and concise.
  • Spelling and grammar are not rated, but they do make a post easier to read.
See more
See less

Kaypro disk tool enclosed

  • Filter
  • Time
  • Show
Clear All
new posts

    Kaypro disk tool enclosed

    Kaypro's DSDD disks use a different sort of sector naming where apparently on the second side of the disk the sectors are numbered 10-19 and claim to be head 0 instead of head 1. I tried using the imagedisk tool to generate an IMD file with the correct sector layout, but it would have required a raw image that has the sectors in interleave order, so I just ended up writing a disk tool that converts from raw images to IMD images and back again. Samdisk can already go from IMD to RAW, but it can't go from RAW to IMD.

    The thought was that one can convert or build a raw disk with it, then convert it to IMD, write it with ImageDisk and use it on real hardware.

    It supports both SSDD or DSDD disks. You can also export CP/M (boot track and allocation block 1) to a file and then import it again to a different disk image.

    I still have some more ideas about what I want to add to this utility, but for now here is what it can do:

    This is a WIN32 console application.

    KAYDISK 1.00
    Usage: KAYDISK command options
    copy inputimage outputimage ["optional IMD description if output is IMD"]
    make outputimage ssdd|dsdd
    exportcpm inputimage cpmfile
    importcpm modifiedimage cpmfile
    It uses the file extension to determine the file format:
    .IMD = ImageDisk format
    .RAW = raw flat binary format
    Attached Files

    The continous sector numbering was probably because CP/M < 3.0 has no notion of 'heads', only tracks and (128 byte) sectors. The bios takes care of the conversion.


      That makes sense - I wondered if they also used it to detect if a disk was SSDD or DSDD. All they have to do is read track 1 to determine. On a SSDD disk it is real track 1 with sectors numbered 0-9, and on a DSDD disk it is real track 0 with sectors 10-19. I've tested booting CP/M for the IV which knows about DSDD disks and then trying to log in a SSDD disk in B:. It properly determines that it is a SSDD disk and stat dsk: will report correctly. It does this by looking for valid track data on the backside of the disk I think. If I format a DSDD disk using SSCOPY as a SSDD disk, it may try to wipe that second side track, but I am not sure. It will hang trying to log it in and I can't read it with IMD. If I use a magnet on the disk or bulk erase it, then format it with SSCOPY, it works fine.


        In fact, if you cruise the CP/M format world, the sector IDs can be anything you'd like. Back in the day, we used sector numbers starting with 1 for single-sided media and 128 for double-sided. You need only do a single READ ID to figure out which was being used. But in reality anything that will fit into 8 bits can be used for a sector number. Same for cylinder number. IDs, with the exception of the sector length code are just that--a way of naming sectors. Some controllers can increment the sector number automatically if a multi-sector operation is specified, but that's a feature, not a requirement.

        How many different Kaypro formats can your tool support? In particular, the Advent and Pro-8 ROMs have interesting differences from standard Kaypro formats.


          So far just Kaypro SSDD and Kaypro DSDD.


            You should be able to convert the Kaypro 4 *.RAW file to an K4.IMD file with Mr Dunfield's BIN2IMD utility.
            His current version on his website has a BUG and has not been updated yet. He has corrected the problem
            and has a newer version of BIN2IMD which he should release as time permits.

            The BIN2IMD utility converts raw binary disk images into ImageDisk .IMD format by adding Mode, Cylinder, Head, and Sector information
            to each track/side record.

            BIN2IMD can be useful to convert raw disk images (such as those used by many emulators) into ImageDisk images. It can also be
            useful in converting images from other sources - even if those images contain embedded format information, it may be easier to
            convert them to raw binary format and then use BIN2IMD to generate a .IMD file than it is to try and convert directly to the .IMD
            You just need to create a K4.B2I file for the configuration.

            ;DM=0 -> FM SD 500 kbps
            ;DM=1 -> FM SD 300 kbps
            ;DM=2 -> FM SD 250 kbps
            ;DM=3 -> MFM DD 500 kbps
            ;DM=4 -> MFM DD 300 kbps
            ;DM=5 -> MFM DD 250 kbps
            ;BIN2IMD has been updated by Mr. Dunfield, but his website hasn't been updated.
            ;Be sure to add the /1 or /2 at the end of the stanzas
            ; Example command option file to demonstrate a 40 Cylinder
            ; double-sided disk which is formatted 10x256 bytes sectors
            ; at 250kbps FM on the first two Cylinders, and 10x512 byte
            ; sectors at 250kbps MFM on the remaining 38 Cylinders.
            ;0 N=40 DM=2 SS=256 SM=1-10 /2
            ;2 DM=5 SS=512 SM=1-10 /2
            ;KAYPRO IV
            ;IMD TD 1.4 5.25 LD FM S-step, 2 sides ADV
            ;Assuming 1:1 for Binary output
            ; 0/0 250 kbps SD 10x512
            ; 0 8 3 6 1 9 4 7 2 5
            ; D D D D D D D D D D
            ; 0/1 10 18 13 16 11 19 14 17 12 15
            ; HD: 0 0 0 0 0 0 0 0 0 0
            ; D D DE5 D D D D DE5 DE5 D
            ; 1/0 0 8 3 6 1 9 4 7 2 5
            ; D00 D D D D D D D D D
            ; 1/1 10 18 13 16 11 19 14 17 12 15
            ; HD: 0 0 0 0 0 0 0 0 0 0
            ; D D D D D D D DE5 D D
            ; 2/0 0 8 3 6 1 9 4 7 2 5
            ; D D D D D D D D D D
            ; BIN2IMD K4file.RAW K4file.IMD K4.B2I
            0 N=40 DM=2 SS=512 SM=0,8,3,6,1,9,4,7,2,5 /1
            1 DM=2 SS=512 SM=10,18,13,16,11,19,14,17,12,15 /1

            C:\> BIN2IMD K4file.RAW K4file.IMD K4.B2I

            Give it a try with the updated BIN2IMD file.

            Last edited by ldkraemer; July 5, 2021, 10:52 AM.