Announcement

Collapse

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

Why I used DRDOS 3.41 on IBM PC 5150 (adventures with 256KB RAM, XT-IDE and HXC)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Why I used DRDOS 3.41 on IBM PC 5150 (adventures with 256KB RAM, XT-IDE and HXC)

    In the 80s, I was lucky to have a Tandy 1000SX - which I used daily for about 5 years (mastered that config.sys and self taught some Turbo Pascal v3 to v7). I've since forgotten nearly all of that, but some of it is slowly coming back to me.

    Recently, I was lucky to come across a pristine condition IBM PC 5150. It is a "B model" with 256KB RAM, both disk drives are 5.25" DD 360KB, and it has the 63W power supply, stock 8088, and that cassette port (which I verified works, can save and load my BASIC programs). Also came with an interesting CGA card. More on the CGA in another thread....

    I didn't want to put any wear and tear on the 5.25" disk drives, so I ordered one of the HXC floppy emulators. It was a tad confusing at first, but after some trial and error I've gotten it working very well: I can handle both 360KB and 720KB images, switching between A: and B: drives, and can swap HFE files without having to muck with any dip switches or reboot. My only issue is that I can only handle DD 360/720KB, I can't handle any HD 1.22/1.44MB images. And I think it is my disk controller that is the limiting factor (which I think I did verify in some IBM documentation that HD media wasn't supported in the original IBM PC disk controllers).


    So, eventually I ordered an XT-IDE with 128MB CF card. It worked "out of the box" as soon as it arrived, booting to DOS 6.22 and preloaded with a bunch of things. But then I broke it.... The story here is: I tried to make my own backup image of the CF card. I used the only CF card reader that I had - and long story short, I think that card reader corrupted the disk. I was never able to actually image that CF card (my Win10 machine just kept bouncing a drive letter on and off, which was a bad sign). And when I tried to boot my XT-IDE with that CF again, it just said "Boot sector not found." Now I'm sure there are a lot of ways to fix that -- but I just ordered another XT-IDE and CF card.


    Meanwhile, I've challenged myself to re-initialize that CF card myself. I don't have another PC with any physical disk drives (or disk media). Here is a summary of some interesting things I re-discovered about DOS:

    - Early DOS is limited to 32MB partitions, specifically before 3.31
    - Later DOS requires over 256KB RAM (just to run the installer! I'm not kidding, even PC-DOS 4.0 just said "Out of memory" when the installer ran)
    - I tried creating a 720KB version of a MS-DOS 6.22 install, but it never would boot (when I create the PC-DOS 3.30 image, I end up with RSA-H attributes on the files ibmbio.com, ibmdos.com and dos00i.400 - thankfully, somehow the zip and HXC image creation is preserving those attributes and it all just boots -- but I thought SYS.COM did a little boot more to prepare a disk for actually being bootable, some 512byte MBR?)
    - I tried booting to DOS 3.X, then running the DOS 6.X copy of SYS.COM to initialize a blank disk image - but it just says "incorrect DOS version" and won't run

    So.... Then I remembered I used DR-DOS for a long time back in the day.

    - I tried DR DOS 5.0 since it still came on 3.5" 720KB disk images, but it said quite explicitly: "Sorry, this program requires 512 Kbytes of free memory".
    - Then I tried DR DOS 3.41 ! That was a winner... Sort of.

    I used it's FDISK to initialize a full 128MB primary active partition on the CF card. I think the FORMAT.COM was on disk2, so had to image+mount that (put it in B: drive), and format the partition. Then I ran the DR DOS 3.41 setup. That worked, up until the SYS.COM part: "SYS.COM did not run successfully."

    I'm not sure why the setup reported this error. I exited back to the command prompt, and just ran SYS.COM myself: SYS C: which then reported the following:
    "Writing new boot sector.
    "System files copied."

    So that ran manually just fine, and I ended up with DRBIOS.sys and DRBDOS.SYS COMMAND.COM on C: - and then my XT-IDE would again boot to C: just fine also. (there was a DRDOS folder, but it empty - so I just copied A: and B: contents to there, both disks of DRDOS).

    DRDOS comes with EDITOR.EXE - use CTRL-K CTRL-X to save and exit from that (like for creating autoexec.bat and config.sys)



    So that was the adventure - my XT-IDE worked out of the box and I had a 128MB partition on my 5150 Type B with 256KB... but I corrupted my CF card somehow. So I manually got it booting again. I couldn't get an MS-DOS 6.22 image for my 720KB limited disk controller - the PC/DR/MS DOS installers from ver 4 and 5 required over 256KB (no idea why, for an installer...), and older 3.30 or older DOS only let me create 32MB partitions.... DR-DOS 3.41 was my best compromise in the situation: if your XT-IDE CF becomes corrupted or lost and you have a 256KB 5150, you can get back to a single 128MB partition using DRDOS 3.41

    And this partition should remain compatible if I ever do get a 720KB DOS 6.22 image in the future (I'll try creating one when I get my 2nd XT-IDE and CF card next week). Or maybe I'll find a newer controller card.

    Now I'll start loading it up with content, so I don't have to flip between 720KB disk images on the HXC so much



    -v
































    IBM 5110 ['78], PET 4016 ['80], C64 ['82], IBM PC 5150B ['84]. A retired SysOp, creator of destinyhunter.org, VUC, ANT

    #2
    Follow up: so much more convenient having a "fixed disk." I also installed the SoundBlaster 2.0 (4x 720KB disks for a CT1350B) and Lemmings is playing actual music now....

    And then I got the internet working! It's true, the 3com 3C509B-TPO 16-bit ISA will work in the 5150 - using updated drivers from github:
    https://github.com/hackerb9/3C509B-nestor

    Plus then mTCP tools for DHCP, telnet, ftp, irc, ntp - I can now set my clock on startup using the network.


    Of course this now means I could setup an FTP server on another LAN machine, and just FTP files over to the PC. I did a 5MB test download from speedtest, but then got distracted with some telnet BBS's and world wide IRC chats.... But confirmed it all works.

    I had to cheat slightly: the 3com config EXE program is 233KB - it has this text-gui that makes it large, so it also requires over 256KB of RAM to run [ even though you can set all the settings from command line, it still has to load the EXE and try to run ]. So I used the RAM expansion on the XT-IDE Deluxe and bumped up my 5150 to 640KB RAM (I needed to do that also to run Lemmings and SimCity anyway). I had to hunt around for some Address and IRQ settings that would work - the 3COM test diagnostic built into its 3CCFG.EXE didn't pass all its test - I suspect because it is trying to execute some 80186 instructions (it's the 3C509.COM program that was modified to work in the 8-bit ISA 5150, not the 3CCFG.EXE). Now that it is configured, I'll see if I can bump back down to the stock 256KB RAM and still use the mTCP tools.







    IBM 5110 ['78], PET 4016 ['80], C64 ['82], IBM PC 5150B ['84]. A retired SysOp, creator of destinyhunter.org, VUC, ANT

    Comment


      #3
      Originally posted by voidstar78 View Post
      And this partition should remain compatible if I ever do get a 720KB DOS 6.22 image in the future
      There are some 720K disks for MS-DOS 6.22 on ebay, but I'm not 100% sure if they are a complete set or not. But you don't really need to do that since you've said that you can use 360K disks or images. Back when I bought MS-DOS 6.22 new in a store, I was still using an XT class machine, so I sent in a coupon to get the 360K disks. So they definitely exist, and I just checked and it seems there is an image on winworld of the 13 disks. Now that I think about it, that ebay set must be complete, because 7 720K disks is more than twice as much space as 13 360K.

      https://www.ebay.com/itm/373655652796

      ms-dos 6.22 720k.jpg

      I've actually got a set of the physical disks for 360K in case there are any issues with the ones at winworld.

      My only concern is that the box for 6.22 says that it requires 512K. I'm not sure if that's required to boot, or if that 512K is just needed for some of the extra features, many of which won't work without a 386 anyway.

      Comment


        #4
        Ah, thanks - I saw that in WinWorld (the 5.25" option MS-DOS 6.22), except I didn't consider it because it said "Upgrade". "(Upgrade)" to me implied it needed an earlier DOS installation, and it would then upgrade from there. Maybe I misunderstood and that's not really the case (and so what is "Upgrade" about it?). I also didn't really bother trying after seeing MS-DOS 4.X and 5.X already complained about not having enough RAM to do the installation (at 256KB).

        Right now I'm happy with my setup and can run all the things I want to run. When I started all this I didn't have my MicroRAM, so was stuck with the 256KB. That was my main original point: if you're in a situation of being limited to 256KB RAM and not being able to use high density disks, then seek DR-DOS 3.41



        Incidentally - yes, MS-DOS 6.22 did BOOT for me when I was configured to 256KB (it was pre-loaded on the original CF I had for the XT-IDE DELUXE). That's why I was really surprised to realize MS-DOS 4 and 5 required 512KB to install (maybe they make large memory buffers during the install to try to copy files faster -- or some of the files may be uncompressed into RAM and then written {and depending on the type of compression, maybe the entire compressed stream has to be resident into memory before getting uncompressed?}).


        Now that I do have the MicroRAM and can configure up to 640KB, I'd like to see if those 360KB MS-DOS 6.22 Upgrade work (or if they require a pre-installed OS)
        IBM 5110 ['78], PET 4016 ['80], C64 ['82], IBM PC 5150B ['84]. A retired SysOp, creator of destinyhunter.org, VUC, ANT

        Comment


          #5
          They might complain about not having an OS already installed, but if I recall correctly you can work around that by quitting the installer and doing and fdisk and format /s and maybe making a DOS directory or something like that.

          Comment


            #6
            FYI, IBM's PC DOS 7.0 takes up the least amount of RAM of any version of DOS after 3.3. However, it does use about 6.5K more than PC DOS 3.3, which may not be trivial on a 256K system. MS/PC DOS 4.0x is the most memory-hungry, taking up about 10K more than 3.3.

            Comment


              #7
              Oh? Cool - since it's a true IBM PC 5150, I wanted to try to stay with the PC DOS "lineage." I've ordered another CF card and may give PC DOS 7 a try (although sticking with pre-1990 software is kind of fun) - although this DR DOS 3.41 configuration is running everything I'm interested in (except Lotus 1-2-3, I need to look into that more after my current traveling).


              I tried the MS DOS 6.02 mouse driver, and found it didn't work well with Lemmings (it would run, but there were odd graphical side effects - a green screen between load screens, and seems liked a forced CGA mode). So I tried a newer v8 of MOUSE.COM/MOUSE.SYS and Lemmings (and SimCity) works now with this serial mouse. But I'm not sure how much RAM either version really consumes (DR DOS 3.41 didn't yet include a MEM.EXE equivalent, at least as far as I can tell or recall)


              The only thing not working for me so far is Adlib support on KQ4. It's rumored as one of the earliest (commercial) programs to support Adlib, but so far i's been Speaker only. Will tinker more on this also when I get back.

              IBM 5110 ['78], PET 4016 ['80], C64 ['82], IBM PC 5150B ['84]. A retired SysOp, creator of destinyhunter.org, VUC, ANT

              Comment


                #8
                Originally posted by voidstar78 View Post
                And then I got the internet working! It's true, the 3com 3C509B-TPO 16-bit ISA will work in the 5150 - using updated drivers from github: https://github.com/hackerb9/3C509B-nestor

                I had to cheat slightly: the 3com config EXE program is 233KB - it has this text-gui that makes it large, so it also requires over 256KB of RAM to run [ even though you can set all the settings from command line, it still has to load the EXE and try to run ]. So I used the RAM expansion on the XT-IDE Deluxe and bumped up my 5150 to 640KB RAM [...] Now that it is configured, I'll see if I can bump back down to the stock 256KB RAM and still use the mTCP tools.
                Thanks for the bug report. It's silly that the 3C509B configuration program requires more than 256KB to run. While I don't have the skill to remove MEWEL from 3Com's 3CCFG.EXE to turn it into a small command-line only utility, I bet someone here, such as nestor or predator99, does.

                Another possibility for getting a smaller executable would be to rewrite the entire program using the 3c509.c driver from the Linux kernel. I believe Mike Chambers started work on that a while ago. The benefit of going that route is it might be possible to write a program that works on machines with only 64KB of RAM.

                Comment


                  #9
                  Originally posted by voidstar78 View Post
                  I tried the MS DOS 6.02 mouse driver, and found it didn't work well with Lemmings (it would run, but there were odd graphical side effects - a green screen between load screens, and seems liked a forced CGA mode). So I tried a newer v8 of MOUSE.COM/MOUSE.SYS and Lemmings (and SimCity) works now with this serial mouse. But I'm not sure how much RAM either version really consumes (DR DOS 3.41 didn't yet include a MEM.EXE equivalent, at least as far as I can tell or recall)
                  Have you tried CuteMouse? It has the smallest memory footprint of any mouse driver I've tried (it's possible there's some truly ancient versions of the MS or Logitech drivers that are smaller but I haven't found them) and works with everything I've tried.
                  My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

                  Comment


                    #10
                    Agree that a 64KB configuration tool would be a good thing!

                    But I haven't yet been able to do the experiment to see how much of mTCP (+3com driver loaded) will work with 256KB RAM - the way I have this situated now, it's a bit of a chore to open up the 5150 case. Plus reducing the memory isn't just removing the XT-IDE expansion, we have to fiddle with those dip switches on the mainboard itself. I only have a single fairly pristine 5150, don't really have a backup/spare, so I try not to open it more then I have to. Next weekend I may get time to try it - since I'll have the case open, planning to do my "can I get 4 disk drives to work" experiment (have to make my own 37-pin to 34-pin cable).


                    I imagine altogether that'll be pretty tight - NIC drivers + any meaningful program (like IRC) with 64KB. I have a WiModem for the C64, but I've been (kind of) trying to figure out a way to get an IRC client on the C64 (which, obviously, only has 64KB also). Just thought it would be fun to IRC between a Commodore and IBM system. There is also a WiModem for the 32K Commodore PET -- maybe there is still some multi-line BBS still up, that might be currently the only way to get those 3 systems connected in a chat group.


                    I'm still working (in the background) on another software project for PET, probably till the end of this year. But after that, I'm hoping to find time to try some sort of networked game that will run on the 5150 (i.e. 808 - probably a simple single screen tank kind of game. And by networked, that'd mean like 3+ players at the same time (not just an interlink kind of connection) - so it's really just another application of FTPServer - got these connected clients, they're uploading me data, in response I upload my game-state back to them, etc. For memory reasons, it'd probably have to be limited to like 4-10 clients. Long ago I remember some really rad scrolling tank game - done in "text-graphics" for the PC, you had to aim and fire and it scrolls over the terrain during your shot (had some annoying sound effects too, pre-SB days). Can't remember the name of it, but always thought a networked version of that would have been cool.


                    IBM 5110 ['78], PET 4016 ['80], C64 ['82], IBM PC 5150B ['84]. A retired SysOp, creator of destinyhunter.org, VUC, ANT

                    Comment


                      #11
                      Originally posted by Eudimorphodon View Post
                      Have you tried CuteMouse?
                      I think I did, and I think I had some issue with it. I'm using a serial mouse, and DR-DOS 3.41. Can't remember what the issue was. I'll try to get some time to try it again. I've been mostly focusing on pre-1990s software -- of course I say that while talking about mTCP haha. But mTCP has mostly just been a means to help FTP that old software onto the system.
                      EDIT: tried it again - CTM-EN /S14 (COM1, INT 4) it just says device not found (tried just CTM-EN and a few variations, still just says device not found)


                      I'm getting more brave about just copying to the CF. The new CF reader I got is working very well. But just a couple times, after re-inserting the CF card, the thing wouldn't boot and makes me really nervous. So far I've just re-seated the card, rebooted and try again and it works. When I have a bulk set of stuff with many directories, I'll do the CF-card directly -- but if just a few files, like MOD music updates, I'll sling them with FTP.

                      NOTE: Any good way to make an Image of a CF card? I tried AOMEI Backupper, but I don't think it even acknowledged the presence of the CF card (or said the format was invalid). I backup all the files, but I'd rather just do a pure image backup (and restore).

                      I did mess up my drive LABEL. I changed the label while the CF card was inserted, but now when I boot on the 5150 the label comes up as garbage (and running LABEL.COM won't let me change it, says it can remove the label).


                      Last edited by voidstar78; August 16, 2021, 10:52 PM.
                      IBM 5110 ['78], PET 4016 ['80], C64 ['82], IBM PC 5150B ['84]. A retired SysOp, creator of destinyhunter.org, VUC, ANT

                      Comment


                        #12
                        Originally posted by voidstar78 View Post
                        NOTE: Any good way to make an Image of a CF card? I tried AOMEI Backupper, but I don't think it even acknowledged the presence of the CF card (or said the format was invalid). I backup all the files, but I'd rather just do a pure image backup (and restore).
                        Do you have the kind of Compact Flash adapter that lets you eject the card out the back without opening the case? If so, you can always just pop it into a more modern machine and then copy the image. (E.g., dd if=/dev/sdx of=backup.img).

                        [Update: Oh yeah, you had mentioned that the last time you tried that, Windows 10 ate the disk and spat it out folded, spindled, and mutilated.]
                        Last edited by hackerb9; August 17, 2021, 04:00 PM.

                        Comment


                          #13
                          For sending a disk image over the network, I notice mbbrutman 's mTCP comes with netcat. I use the UNIX version of netcat all the time for exactly that purpose, but in UNIX everything, even entire drives, are files. (On one host I run nc -l 9899 > disk.img; on the other, I run nc 192.168.2.10 9899 < /dev/sda).

                          Does anyone know if DOS has a similar way to address an entire drive as a file? DOS seems to like having special names like "CON:" and "NUL:", so maybe mTCP's netcat understands that "C:" means to send the raw bytes?

                          Comment


                            #14
                            Originally posted by hackerb9 View Post
                            [Update: Oh yeah, you had mentioned that the last time you tried that, Windows 10 ate the disk and spat it out folded, spindled, and mutilated.]
                            Yeah, that was a sad day since I had no backup CF (I was even polite and used that "eject USB" button in Windows, it still ate it). But the experience did force me to go thru the steps of re-initializing an OS onto the CF from scratch (I couldn't find the image from the XT-IDE Deluxe folks, and wanted to just go thru the motions of an old school DOS install anyway). I have 4x CF cards now, each ready to boot

                            Next time I have the case open (maybe next weekend) I'm going to try to setup the XT-IDE with two (CF) hard drives - this way I can just backup/mirror them directly.
                            NOTE: although this makes me wonder - could a stock 8088 63W power supply actually support 4x disk drives and 2x hard drives? Just as a hypothetical - I don't actually intent to try that configuration - but I'm just saying, we're kind of spoiled by the 128MB capacity of the CF cards and the low power of its circuits? )

                            IBM 5110 ['78], PET 4016 ['80], C64 ['82], IBM PC 5150B ['84]. A retired SysOp, creator of destinyhunter.org, VUC, ANT

                            Comment


                              #15
                              Originally posted by voidstar78 View Post
                              Could a stock 8088 63W power supply actually support 4x disk drives and 2x hard drives?
                              Excellent question. I can't find the exact wattage fixed disks of the time used, but they were monstrous beasts. I suspect the answer is a resounding "No" since DOS didn't even support fixed disks until PC DOS 2.0 was released with the IBM XT. The XT could supply twice the power, 130W, and came with a 10 MB hard drive. If you wanted to attach the same hard drive to your 8088 PC, IBM offered the "5161 Expansion Unit" which was basically an XT case with the same 130W power supply.

                              Comment

                              Working...
                              X