liam_on_linux: (Default)

My occasional project to resurrect DR-DOS and make something vaguely useful from it continues, and in the spirit of "release early, release often", I thought that someone somewhere might enjoy having a look at some of my work-in-progress snapshots.

So while there is nothing vastly new here, building a bootable DOS VM is not completely trivial without what is now some very old knowledge, so I thought these might help someone.

The story so far...

In the OpenDOS Enhancement Project, Udo Kuhnt took Caldera's FOSS release of DR-DOS 7.01 (which they had renamed OpenDOS) and added in FAT32 support and some other things. Caldera spin-off Lineo (later DeviceLogics) implemented these in later, closed-source versions of DOS, but they were not officially FOSS. They also used bits of FreeDOS and were later withdrawn. DeviceLogics has since gone out of business.

Udo's disk images are on Archive.org but they aren't bootable. I've made bootable images you can download. I have a bootable VM of DR-DOS 7.01-08 but I need to clean it up and give it some spit and polish. I also added back the ViewMax GUI from DR-DOS 6.

Meantime, what I have uploaded here are three Zip-compressed VirtualBox VDI files. A VDI is the hard disk of a VirtualBox VM. These contain FAT16 hard disks.

The quick way to use them:


  1. Download the image.

  2. Run VirtualBox. Create a new VM. Call it (e.g.) "DR-DOS 6". You must have "DOS" in the name for Virtualbox to correctly configure the new VM for DOS! Otherwise you must manually do that part.

  3. When you get to the "create or add hard disk stage", stop!

  4. Switch to the file manager. Unzip the file. Put it in the newly-created VM's directory.

  5. Go back to VirtualBox. Pick "add an existing hard disk". Browse to the file you just moved into place. Click it, and click "Add".

  6. Now you're back at the "choose a disk" dialog. Pick the newly-added one.

  7. Finish VM setup.

Now you can start the new DOS VM and enjoy.
liam_on_linux: (Default)
Interested in running DOS programs on 64-bit Windows (or x86 macOS or Linux)? Would you like to run classic DOS applications such as WordPerfect, natively and without emulation on a modern OS? Would you like to get an MS-DOS prompt back under Windows 10 on AMD64?

I found a copy of the IBM PC DOS 2000 VM from Connectix VirtualPC for Mac, and converted it into a format that VirtualBox can open and run.


This was bundled for free with Connectix VirtualPC. VirtualPC is now owned by Microsoft and is a free download.

Old versions are out there for free download, e.g. the Mac version 4.

Just the PC DOS 2000 disk image, converted to VirtualBox VDI format, compressed in Zip format, is here. It's about 10MB.

Note: this is the complete, unmodified Connectix VirtualPC DOS image. It contains DOS integration tools for VirtualPC which do not work with VirtualBox. Unfortunately, VirtualBox does not offer guest additions for DOS. You will see some minor errors as it boots due to this. How to fix them is below.

If you actually want to try this, here are a few things you will need to know.

This is PC DOS 2000, AKA PC DOS 7.01. It's PC-DOS 7 plus bugfixes and
Y2K compatibility. It is not FAT32-capable: for that, you need PC DOS 7.1. Here is how to get and install that – it too is a free download. This VHD is the ideal basis for building a PC DOS 7.1 VM and that is why I created it.

PC DOS 7 is from the same code-base as MS-DOS 6.22, but with updates. It has IBM's E editor instead of the Microsoft full-screen editor, and IBM's Rexx programming language instead of QBASIC. It does not support DoubleSpace or DriveSpace disk compression. It does include IBM's licensed-in antivirus and backup tools, but to be honest I have not investigated these. It is installed on a 2GB FAT16 partition which is the single primary active partition on the virtual hard disk, just as Connectix shipped it.

PC DOS 2000 does support power-management, but it is not enabled by default. Without it, this means that the VM will take (and waste) 100% CPU. (Unlike MS-DOS 6.22, PC DOS also has native PCMCIA card
support, but that is no use in a VM – however, it may be helpful if you want an OS for a very old laptop.) To enable power management, you should add a line to the CONFIG.SYS file that says:

device=c:\dos\power.exe

That should be enough – afterwards, your DOS VM will only take the tiny amount of CPU that it needs.
DOS needs only 32MB of RAM and will run fine in 1MB. Yes, one megabyte, not one gigabyte.

You might also want to remove the AUTOEXEC.BAT line that references a FSHARE program in the CNTX directory, as that won't work under VirtualBox. Type the following:

e autoexec.bat

Look for the line that says:

C:\CNTX\FSHARE.EXE

Insert the word REM at the beginning of the line, so it says:

REM C:\CNTX\FSHARE.EXE

Press F2 to save the file. Press F3 to exit. Reboot the VM with [Host]+[R].

PC DOS 2000 was the bundled demo virtual machine with Connectix's VirtualPC. VirtualPC is, for now, obsolete – it does not work correctly under any version of Windows after Win7. Its last hurrah was as the basis for the XP Mode feature in Win7, which did not work on Windows 8 (although there is an easy fix to run it under Win8 or 8.1) or at all under Windows 10.

(I say "obsolete for now" as the original purpose of VirtualPC was as a way to run x86 DOS and Windows on PowerMacs, which did not have x86 processors and could not natively run x86 binaries. Now that Apple is transitioning to processors with the ARM instruction set, newer Macs can again not natively run x86 binaries. Yes, there is a built-in emulator, but Rosetta 2 will not work well on a hypervisor. So, there is once again an opening in the market
for a PC emulator for Macs, if Microsoft chose to resurrect the application. I personally would like to see that – VirtualPC was a good tool and the easiest, least-complicated way to run guest OSes on top of those it ran on, simpler to use than VMware or VirtualBox.)

Yes, this does mean that there is a legal, activated copy of Windows XP Professional for free download that you can run under Win7/8/8.1. And yes, you can extract it and run it under VirtualBox if you wish. I wrote an article for the Register describing how to do that. The snag is that the activation only works for a VirtualPC VM and it will fail on any other hypervisor. You will need a license key or to crack this ancient, obsolete version of Windows. Obviously I cannot help you with that. None of this is needed for PC DOS: it has no activation, copy protection or anything like it.

Microsoft acquired Connectix in 2003 and VirtualPC provided the basis for Microsoft Hyper-V (just as QEMU provides the basis for KVM on Linux) – file formats, management tools and so on. In theory, VirtualBox can attach a Hyper-V virtual hard disk to a VirtualBox VM and boot from it, but in my testing, this did not work with this ~20-year-old Apple VirtualPC file. I had to use command-line tools to convert it to VMware format, and then from VMware format to native VirtualBox format. Apart from testing, that is all I have done.

For my own use, I have of course slightly tweaked and updated the VM. I have configured memory management, added a few useful tools from from a WinME boot diskette:

  • the MS IDE CD device driver

  • the MS mouse driver

  • the MS full-screen editor

  • the MS SCANDISK disk-checking tool

... and a few more, simply because I'm more familiar with them. I've disabled the Connectix guest additions but I have not replaced them – I run it under Linux, where I can just mount the disk image to get files on or off it. I also have a modernized version with the FAT32-capable PC DOS 7.1.

If you are interested in these changes, please leave a comment on the blog and I will help you reproduce them for yourself. Please also let me know of any errors, corrections, additional info or any help you want with getting this working.

You can log in to LiveJournal to comment with any OpenID, including Facebook, Twitter or Google accounts.


I emphasize that this is an unmodified disk image. I have not in any way altered the contents of the VM image, just converted it from one format to another. These files remain the property of their original copyright holders.
liam_on_linux: (Default)
While I was off work with a dislocated shoulder, I spent some time dabbling with DR-DOS. It's an OS I've long been fond of. What I was aiming to create were images that could make a bootable DR-DOS USB key and VM image.

The OS that made the PC great was MS-DOS, an adaptation of SCP QDOS, which broadly speaking was reverse-engineered from Digital Research's CP/M (itself now FOSS). Much later, DR responded with DR-DOS -- a cut-down version of Concurrent CP/M-86, without the multitasking but with near-perfect MS-DOS compatibility.

The first version was 3.41, basically a response to MS-DOS 3.3. DR-DOS added large disk support -- i.e. multiple FAT16 partitions of >32MB. MS-DOS 4 added little more except a graphical shell, DOSShell. DR-DOS 5 added support for mapping upper memory blocks and loading TSRs into them, and a graphical shell, ViewMax, a cut-down version of PC GEM. MS responded with much the same in MS-DOS 5. DR responded with DR-DOS 6, which bundled disk compression, and ViewMax 2. MS DOS 6 bundled disk compression too. Novell bought DR and responded with Novell DOS 7, which added peer-to-peer networking via Netware Lite -- but ViewMax 3 wasn't ready and was dropped. Most people were using Windows 3 on top of it by then anyway.

Microsoft's response was Windows for Workgroups, with peer-to-peer networking built into Windows, and then Windows 95, which built-in MS-DOS 7 too. And that was about it for DR-DOS. Novell spun its DOS and Linux division off as Caldera, which released DR-DOS 7.01 as open source. It then changed its mind and closed-sourced DR DOS 7.02 and the handful of later versions. The DOS business was spun off again as Lineo, which made subsequent releases, went broke and sold off DR-DOS again. It made it to DR DOS 8, but that was partly built from FreeDOS source code and was later withdrawn when this was demonstrated.

The history of DR-DOS after 7.02 is confused and confusing. Most of the Novell sources were lost, along with updates and fixes Novell made. Backups of some were later rediscovered  and the fixes incorporated, and it gained FAT32 and LBA support, but it's not freeware.

So DR-DOS 7.01 remained the latest free version. The OSS licence only covered the kernel and some core files. To build the FOSS version, you need the rest of Novell OpenDOS 7.

A heroic programmer called Udo Kuhnt picked up development of the FOSS DR-DOS 7.01 as the DR-DOS Enhancement Project. Its site is long gone now, although there are plenty of mentions of it. He released versions through to 7.01-08. Unfortunately, that is an incomplete work-in-progress version. But both it and the previous releases, which can be found for download in various places, don't work.

So I fixed it!

I started with the floppy disk image from ArchiveOS.org. First, it's the wrong size. VirtualBox can't mount it. VMware can.

I truncated it to exactly 2880 sectors using the advice from ``jleg094'' here. VBox mounts that. But it won't boot, nor in VMware -- it just displays 2 dots and freezes. Embarrassingly late in the troubleshooting process, I found why.

Foolishly, I didn't think to check what was on the image. I tried mounting it on a pre-booted VM and looked, and it's totally blank. There's nothing in the image at all.

So, I mounted the empty image file as a loop device under Linux, copied the boot files in there, followed by the rest of the files in the distro archive. Lo, it worked! It booted my VM just fine, and I had a DR DOS VM running 7.01-08. However, the older DR-DOS SYS command couldn't make a bootable hard disk from this. After further fiddling, I found how to fix that, too.

But I've decided for now to focus on the actual complete version 7.01-07.

I took the downloads for Enhanced DR-DOS 7.01-6 and 7.01-7, trimmed the boot disk image to work with Virtualbox, added the actual files to make the boot images bootable, and also added in the other updated commands -- SYS.COM, XCOPY, TASKMGR, SHARE, and their README files etc.

I have re-zipped them and put them on Dropbox.

Here are the links:
Please mirror these elsewhere.

To use them, the easiest way is to get a copy of DR-DOS 7.01, e.g. from BTTR Software or WinWorldPC. Install it in a VM. Reboot and check it all works.

Then, boot from one of my boot floppy images, SYS the hard disk, and copy the other files into C:\DOS or whatever you called the DOS directory.

Reboot and you should be in business.

To forestall some FAQs... A few people have asked me why I am bothering, since FreeDOS is out there and works fine. (I have contributed a few fixes to FreeDOS and my name was in the credits of at least one version that I have seen, which came as a surprise.) That's true and I do not mean to decry or lessen the work of the FreeDOS Project. However, for me, it's just a bit too different from old-style MS- or DR-DOS. Commands don't do what I expect, or the output is weirdly different. Config files are not named as they usually are. I'm told it's pretty compatible, all the same.

I just happen to prefer DR-DOS. Caldera is dead, Lineo is dead, and oddly, I now work for Novell. DeviceLogics owns the later versions of DR-DOS but it is no longer trading and as far as I know the project is no longer available for purchase -- although the rights to the entire line were up for sale.

Thus I am very much hoping not to be prosecuted for this. I have not added anything to the code, merely made the existing code usable.

My future plans include directly-downloadable VM and USB images. I have 7.01-07 working, complete with ViewMax 2, TaskManager multitasking in both text and GUI modes, mouse support, FAT32 and LBA support. I am hoping to add NTFS and USB support as well, if there seems to be any interest.

The reason I got interested in this was trying to get actual IBM PC DOS 7.1 working on my Thinkpad. This is not the same thing as the widely-available PC-DOS 7.01! IBM continued development of DOS after Microsoft lost interest. PC-DOS 7.01 included Y2K fixes. PC-DOS 7.1 also includes FAT32 and LBA support, many long-standing bugs in MS-DOS were fixed, and IBM offers it for free download as part of the Server Guide Scripting Toolkit. However, IBM does not permit re-distribution, and therefore I can't share the complete, fully-working version that I have built for my own use.
liam_on_linux: (Default)
From a G+ thread that just won't die.

A British digital artist called William Latham -- he has a site, but it won't load for me -- once co-developed a wonderful screensaver for early 32-bit Windows, called Organic Art.

There was even an MS-sponsored free demo version.

Sadly this won't install on 64-bit Windows, as the installer has 16-bit components. However, you can get it working. I did it, after a bit of fiddling, on Windows 7.
Here's how, in brief:
* Install XP Mode
* Boot it, let it update etc.
* In Win7, meanwhile, download the demo from Nemeton
* Once XP Mode is all updated, install the OA MS edition demo from the host drive
* Check it works
Then:
* I copied the whole Program Files/Computer Artworks tree into my W7 Downloads folder
* I also retrieved the screensaver (.SCR) file from C:\WINDOWS\SYSTEM32 -- and as mentioned above, D3DRM.DLL
In W7, I copied this into the same locations on my Win7/64 system.
I used the documented hack to re-enable screensavers (JFGI).
It now ran but couldn't find any profiles.
So:
* In XP Mode, I exported the entire Computer Artworks hive from the Registry to a file in my W7 Downloads folder.
In W7 I imported this file.
Now the 'saver runs. It's worth disabling mode switching and forcing it to use Hardware Acceleration. Not all of the saver modules work but most do -- and very quickly and smoothly, too.

This won't work as-is on Windows 8 or newer. There are hacks but I only got the VirtualPC component of XP Mode running on Win8. Nothing newer worked.

But you can run XP Mode in VirtualBox, and I've published an article on how to do that. The other steps are much the same.

Try it. It's really quite beautiful.
liam_on_linux: (Default)
I was just prodded by someone when suggesting that some friends try Linux. I forgot to mention that you can try it without risking your existing PC setup. It prompted me to write this...

I forget that non-techies don't _know_ stuff like that.

Download a program called VirtualBox. It's free and it lets you run a whole other operating system - e.g. Linux - under Windows as a program. So you can try it out without affecting your real computer.

https://www.virtualbox.org/

If all you know is Windows, I'd suggest Linux Mint: http://www.linuxmint.com/

It has a desktop that looks and works similarly to Windows' classic pre-Win8 look & feel.

Google for the steps but here's the basic instructions:

[1] Download and install VirtualBox

[2] Then download the Virtualbox Extensions from the same site. Double-click the extensions file to install it into Vbox. (They have to do it this way for copyright reasons.)

[3] Download Mint. It comes as an ISO file, an image of a DVD.

[4] Make a new VM in VBox. Give it 2-3 gig of RAM. Enable display 3D acceleration in the settings. (Remember, anything you don't know how to do, Google it.) Leave all the other settings as they are.

[5] Start your new VM. It will ask for an ISO file. Point it at the ISO file of Mint you downloaded.

[6] It will boot and run. Install it onto the virtual hard disk inside Vbox. Just accept all the defaults.

[7] Reboot your new Mint VM.

[8] Install the Vbox Guess Additions. On the VBox Device menu, choose “Insert Guest Additions ISO”. Google for instruction on how to install them.

[9] When it’s finished, reboot the VM.

[10] Update your new copy of Linux Mint. (Remember, Google for instructions.)

That’s it. Play with it. See if you can do the stuff you normally do on Windows all right. If you can’t, Google for what program to use and how to install it. It’s not as quick as a real PC but it works.

Don’t assume that because you know how to do something on Windows, it works that way on Linux. E.g. you never should download programs from a website and install them into Linux — it has a better way. Be prepared to learn some stuff.

If you can work it, then you can install it on your PC alongside Windows. This is called Dual Booting. It’s quite easy really and then you choose whether you want Windows or Linux when you turn it on.

All my PCs do it, but I use Windows about once or twice a year, when I absolutely need it. Which is almost never. I only use Windows if someone is paying me too — it is a massive pain to maintain and keep running properly compared to more grown-up equivalents. (Linux and Mac OS X are based on a late-1960s project; they are very mature and polished. The first version of the current Windows family is from 1993. It’s still got a lot of growing up to do — it’s only half the age.)

It’s genuinely better. No, you don’t get all the Windows programs. There aren’t many games for it, for instance. But it can do anything Windows can do, it’s faster, it’s immune to all the Windows viruses and nasties so you don’t need antivirus or a firewall or anything. That means it’s faster, too — antivirus slows computers down, but you need it on Windows.

All the apps are free. All the updates are free, forever. There are thousands of people on web fora who will help you if you have problems, you just have to ask. It’s educational — you will learn more about computers from learning a different way to use them, but that means you won’t be so helpless. You don’t need to be a white-coated genius scientist, but what it means is you take control back from some faceless corporation. Remember, the world’s richest man got that way by selling people stuff they could have had for free if they just knew how.
liam_on_linux: (Default)
I've not had a PC quick enough to really use PC-on-PC virtualisation in anger before, until [livejournal.com profile] ednun gave me the carcase of his old one. AMD Athlon64 X2 4800+, 2G RAM, no drives or graphics.

I've upped it to 4G, a couple of old 120GB EIDE hard disks, a DVD burner, a replacement graphics card (freebie from a friend) & a new Arctic Cooling Freezer7 Pro heatsink/fan from eBay to replace the old, clogged-up AMD OEM one. Total budget, just under £20; result, quick dual-core 64-bit machine with 64-bit Linux running very nicely.

For some work stuff. I've been using Linux-under-Linux in VirtualBox, which works rather well - but it's a kinda specialised need. There are still a few things that either don't work all that well in Linux or which I can't readily do, though. Spotify runs under WINE but crackles & pops then stops playing after 2-3 minutes & never emits another cheep. My CIX reader, Ameol, also runs OK under WINE, but windows don't scroll correctly. I don't think there's any Linux software to sync my mobile phone or update its firmware, although I'm not sure I'd want to try the latter from within a VM anyway, just in case...

So I decided to try running Windows in a VM under Linux just for occasional access to a handful of Windows apps, without rebooting into my Windows 2000 & Windows 7RC partitions. (Makes mental note: better replace that Win7 one before the RC expires.)

I've always had reservations about running a "full-sized" copy of Windows this way. It seems very wasteful of resources to me. That is, running one full-fat full-function OS under another full-fat OS, just for access to a couple of apps. (Also, you need a licence, if the guest is a modern, commercial product, not some ancient piece of abandonware.)

So I thought I'd try some "legacy" versions of Windows to see how well they worked. I have a fairly good archive here, from Windows 3.1 up to Win7.
Read more... )

April 2025

S M T W T F S
  1 23 45
6789101112
13141516171819
20212223242526
27282930   

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 23rd, 2025 01:30 pm
Powered by Dreamwidth Studios