Forum Rules and 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.

Rule 1: 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.

Rule 2: 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.

Rule 3: 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.

Rule 4: "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.

Rule 5: 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

Looking for alternative storage for a Bondwell 14

  • Filter
  • Time
  • Show
Clear All
new posts

    Looking for alternative storage for a Bondwell 14


    I have a fine working Bondwell 14 with two FDDs. What other storage can be had for this machine? In contrary to a Commodore or PC this machine doesn't have an expansion slot which makes it easy IMHO to connect other hardware. The only thing that comes to my is the GIDE interface of Tilmann Reh. The next question would be: has it ever been used in a Bondwell 12/14? I could make the hardware but I have no idea how to tell CP/M that there is also an HDD attached and how to use it.

    Any information, URL or other pointer is very welcome. Many thanks in advance!
    With kind regards / met vriendelijke groet, Ruud Baltissen

    In order to add a new disk device to CP/M, you'll need to modify the BIOS to handle the new hardware. So, you'll need the original source code, or get it disassembled. From what I read, the model 14 is CP/M 3, and I assume it is a banked version, so that's some more complexity. If you're not heavy into software, you may not want to take that on. I'm sure there is help available, I have done some CP/M 3 ports - but am not familiar with the Bonwell machines.

    An alternative would be to run CP/NET, which is an add-on to CP/M so does not require modifying your system OS. You could use a spare serial port as the network connection, but a more ideal setup would use something like the various WizNET W5500-based modules out there. A couple designs, which would have to be adapted to the Bondwell, are and I've been working on CP/NET lately, and a group of us are providing software here: CP/NET allows you to map unused drives (e.g. P to remote "drives". The remote system would be a PC that runs a server app and provides CP/M programs with access to certain subdirectories on your PC. This doubles as extra (nearly infinite) storage as well as "automatic" file transfer: any files you work on under CP/M are directly and immediately accessible on the PC (and the other way around).
    - Doug


      Hallo Doug,

      I simply hoped for a "ready-of-the-bench" solution. And having several other projects on my hands, something like disassembling the BIOS is out of the scope for the moment.

      I have looked at the URLs and what could be used maybe is "ser-dri ins8250 DRI serial protocol over INS8250-like UART". That is, if it is what I think it is: a serial connection between the Bondwell and a PC. FYI, the Bondwell has a Z80-SIO on board. But the challenge would be: how to get the needed software on the Bondwell? I see it will not be as simple as I hoped.
      With kind regards / met vriendelijke groet, Ruud Baltissen


        We don't have a Z80-SIO module for CP/NET yet, but that is a popular serial device so it would be logical to make that. I would like to get more information on the Bondwell hardware, specifically we'd need to know how the Z80-SIO is attached: base port number, how A0/A1 are connected to C/D, A/B. And also, which (A or B) is the available port.

        The server code we are using is JAVA based, and thus does not integrate with serial ports simply. This requires an external package RXTX to use. I know how to get that working on Linux, but I think Windows is still being worked. I'll check with Jay to see if he has that working yet.

        There is at least one other "server" potentially available, written in C, that might be compatible but requires compiling under Windows.

        Regarding getting the software on the Bondwell, that is the real issue I suspect. If you can't create diskettes easily, then you may need some sort of modem program to transfer files initially. Worst case, one can try and use PIP to receive some source code (or HEX files) and then build a program from that. I think kermit is available as a set of HEX files, so verification of the download is reasonably reliable when using PIP. You'll probably have to limit the baud rate as well, unless you have reliable handshaking setup.
        - Doug


          Maybe this is usable:

          Having built a Raspberry Pi BBS computer with (at the moment) 7 serial ports (USB) I am thinking of trying to get the server part on that system running and then this NDOS on some of my CP/M systems (Kaypro, Osborne, C128 )


            Also, since in CP/NET, the hardware layer (NIOS) is abstracted from the software layer (NETWRKIF) similarly how the BIOS is abstracted from the BDOS, you can easily support any connection to a separate device. It wouldn't be particularly hard to implement the whole CP/NET server an a small microcontroller to, say, serve from an SD card.



              ..but you would need to write CP/M drivers for it.


                Thank you for the link. But as said in my original post, I don't have the knowledge (yet).
                With kind regards / met vriendelijke groet, Ruud Baltissen



                  Originally posted by Ruud View Post
                  Thank you for the link. But as said in my original post, I don't have the knowledge (yet).
                  You're mistaken. By "writing drivers for it" they basically mean "porting drivers for it".

                  The drivers are already written and, for something like this, likely 98+% identical across platforms, since they're all talking to the same hardware.

                  You need to be able to rebuild the BIOS and regen you the system for your machine, and layer this stuff inside of it.

                  What you don't have to do, is write it from scratch against a raw hardware interface.

                  On a good day, it's a cut and paste job and being able to fire up the assembler. It may be more involved, but hopefully the community will be helpful in getting you over the bumps.


                    Originally posted by whartung View Post
                    You're mistaken. By "writing drivers for it" they basically mean "porting drivers for it".

                    The drivers are already written and, for something like this, likely 98+% identical across platforms, since they're all talking to the same hardware.
                    Not quite.

                    It gets complicated when you try to get the machine to boot from the IDE device. You have to plan the memory map out, then write a 2 stage boot loader. For example, on the Superbrain, at boot:
                    • Stage 1: Boot ROM loads sector 0 on the IDE device to C780h and jumps to it.
                    • Stage 2: Code loads entire OS (CCP, BDOS, BIOS) from sector 1 to memory at C800 (CBASE, start of CCP on the Superbrain), then jumps to the BIOS cold boot vector.

                    This is typical of CP/M cold boot techniques.

                    The problem is that while you may have the driver source, you will need to do a lot of reverse engineering of the existing machine's CP/M in order to understand where to load stuff at boot time. Undoubtedly you will need to reverse engineer the boot ROM and add the 1st stage loader to it, then burn a new ROM. This is quite time consuming and you may find there isn't enough space for floppy and IDE boot code. On the Superbrain, it asks you to choose between floppy and IDE boot at startup. You'll also need to write a PUTSYS program, to copy the boot code to the IDE device.

                    There is an alternative which I have implemented for the TRS80 Model II. Use MOVSYS.COM to open up a bit of space above the BIOS, then save that with SYSGEN. Then boot with that image and load the drivers into the new space, patching the BIOS vector table for the IDE device. Again, you have to understand what's going on in the BIOS (it is all in the CP/M Alteration Guide) and you need to write a loader program to do all this for you. But it is less complex than having the machine cold boot from IDE.

                    If you look on my yoooootuuuubez channel, you can see demos of all these systems, which show you their capabilities.


                    I even wrote a technical demonstration for the Superbrain, that loads the drivers below the CCP and allows you to have a look at what's on the IDE drive. The disadvantage of that, of course, is that whenever the machine warm boots it kills the drivers off, but as a proof of concept it works. The program only needs to know where CBASE (start of your CCP) is and the address of a 512 byte sector buffer (on the Superbrain the buffer already exists as the floppies use 512 byte sectors too). I'm actually wondering if I can make it fully automatic so it figures this stuff out for itself. Should be possible.. if the floppy sector buffer is 512 bytes...

                    Another thing you'll want to do if you plan on booting from IDE is reverse engineer and patch the system's configuration utility (assuming it has one; most do, to set such things as serial port baud rates/protocol, etc). These programs normally save the updated configuration data to a specific place on the floppy disk; you'll need to alter it so it writes to the corresponding location on the IDE device. This location will be somewhere in the BIOS code so it loads automatically at boot.

                    You can also add features if you want. For example, all of my CP/M 2.2 drivers feature a mapping table to enable you to associate an actual drive (actually, a partition) on the IDE device to a logical CP/M drive letter. This is useful if you have limited memory perhaps due to a large BIOS. Every IDE drive you access uses ~260 bytes of memory for a buffer (it's called the Allocation Vector or ALV and it keeps track of which parts of the drive are in use), so if you wanted all 16 CP/M drives accessible you'd need just over 4K of RAM (plus the driver code itself of course). However, with mapping you can have fewer simultaneously accessible drives, saving RAM, and switch them as needed. Also, as my drivers support a slave drive, you have 32 x 8MB partitions to choose from, assuming you have connected a slave. You can see these features in the demo vids.

                    So, lots to think about. It's definitely not as easy as a "cut & paste, then reassemble". However it's do-able and enjoyable, and you will learn an awful lot about how CP/M actually works, which gives you a great feeling of mastery over it.

                    Start here, at the CP/M Alteration Guide:
                    Last edited by JonB; June 11, 2020, 02:02 AM.


                      Originally posted by JonB View Post
                      Start here, at the CP/M Alteration Guide:
                      This is indeed a good start. Thank you!
                      With kind regards / met vriendelijke groet, Ruud Baltissen



                        It has all you need but does rather drop you in at the deep end.

                        Any questions, ask.