It was a while since I last used Microsoft DOS. I have a warm memories from that era. I decided to time travel to those years and try to use DOS once again.
.-------------. |.-----------.| || || || || |'-----------'| ,-------------. / ;;;;;;;;;;; /,=-,____ / / / /'/ /__./| `=============' [--=]/'
I'm using my trusted laptop made by Fujitsu-Siemens. The Lifebook P1610. It's super small and light. It can still run for hours on the battery. And have awesome keyboard for it's size. The screen is not that good in today's standards in terms of brightness but it's clear and crisp.
Fujitsu-Siemens Lifebook P1610 Specification
- 8.9" WXGA screen
- Intel Core Solo U1400 1.2GHz
- 1GB RAM
- 16GB Compact Flash Card connected to P-ATA 100
- Marvel Yukon Gigabit Ethernet
Each component is way beyond DOS requirements: 8088 CPU, 512KB RAM and 5MB disk space.
Latest Microsoft DOS version as a main operating system is 6.22 from 1994. There are 7 and 8 but those were just for booting into Windows. I wanted that one that I remember and even have original manual for it. I do not have installation disks anymore so I downloaded them from archive.org. But installing it does not goes as smoothly as with modern operating systems those days.
Installer doesn't recognize any partitions as those were created by Linux. It doesn't have fdisk to clean the disk. So I downloaded DOS boot disk and use it to boot into simple DOS environment. Then I remove all old partitions and made one for new system.
After restarting installer recognize it and format correctly. Installation process goes as planned asking me for second and third floppy. But after reboot it doesn't see the boot partition. I grabbed boot disk once again but this time run fdisk /mbr. For some reasons installer doesn't do this itself.
Now the computer boots into the MS-DOS! In a split of a second. It quits even faster as it just cut the power and goes off :)
As a kid I know how to move around directories and run my favorite games. Now as a 30+ years old hacker I started looking at this system from other perspective. How easy it is to configure and customize to my own needs. It has basically two configuration files: config.sys and autoexec.bat. All the applications are in C:\DOS directory. And there are not so many of them so it's easy to know them all.
Yeah, good old days of simple computing.
[MENU] MENUITEM=DOS, DOS > Start MS-DOS MENUITEM=ONLINE, ONLINE > Start MS-DOS with network MENUITEM=PROGRAMMING, CODE > Start programming environment (QuickBASIC) MENUITEM=WRITING, WRITE > Start word processor (WordStar) MENUCOLOR=15,1 MENUDEFAULT=DOS [COMMON] FILES=40 BUFFERS=5,0 BREAK=on DOS=HIGH,UMB DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF DEVICEHIGH=C:\DOS\EMM386.EXE NOEMS COUNTRY=048,,C:\DOS\COUNTRY.SYS DEVICEHIGH=C:\DOS\DISPLAY.SYS CON=(EGA,,2) DEVICEHIGH=C:\DOS\POWER.EXE adv:max DEVICEHIGH=C:\DOS\ANSI.SYS [DOS] [PROGRAMMING] [WRITING] [ONLINE]
@ECHO OFF LOADHIGH C:\DOS\SMARTDRV.EXE LOADHIGH C:\DOS\DOSKEY.COM -i LOADHIGH C:\DOS\MOUSE.COM PROMPT $e[1;34m$t $b $e[1;32m$p$g $e[0;47;0m PATH C:\DOS;D:\APPS\QB45;D:\APPS\NC;D:\APPS\WORDSTAR;C:\NET\ETH;C:\NET\MTCP SET TEMP=C:\TEMP SET DIRCMD=/o:gne MODE CON CODEPAGE PREPARE=((852) C:\DOS\EGA.CPI) MODE CON CODEPAGE SELECT=852 MOUSE D: GOTO %CONFIG% :ONLINE SET MTCPCFG=C:\NET\MTCP\SAMPLE.CFG CALL ETHINIT DHCP CD FTP GOTO END :DOS CLS NC GOTO END :PROGRAMMING CLS CD CODE QB GOTO END :WRITING CLS CD TXT WS GOTO END :END
For my cyberpunk computer all I really need is a word processor and some programming environment. Access to floppy disks for saving and receiving data. Network connectivity for FTP when I need it. I have WordStar, Norton Commander, and QuickBASIC. And I'm rocking floppies like never before.
I made a simple menu for booting that gives me 4 options:
- boot to DOS prompt
- boot to DOS but with networking enabled
- run QuickBASIC
- run WordStar
This makes it even faster and straightforward to just boot into single program I want to use. When I need to share or get some file from other computers I use the last option - it load ethernet drivers, starts TCP/IP and DHCP client. It takes more to boot as it also needs to get the IP address. But after that I can use FTP command to connect to my local FreeNAS.
DOS only understands up to 2GB partitions. So I created another one to keep everything organized.
On the C: drive I have only the system files and networking stuff.
- DOS (system files)
- NET (network drivers, mTCP)
On the D: I keep applications and my documents.
- APPS (applications and one game: SimCity)
- CODE (for BASIC sources)
- TXT (articles)
- FTP (directory for downloading files form FTP)
I needed to add most of those to the PATH so it's easy to just type the program name to start it.
Lastly I changed the command prompt color because why not?
All those changes makes this DOS more personal. I'm still impressed how easy it was to achieve. Final result is almost perfect. For my needs at last.
The most shocking fact for today's users is the size of all of this. The system alone takes around 6MB. Network driver and utilities another 1MB. WordStar less than 1MB and Norton Commander 4MB.
That is 8MB for fully usable operating system with networking and powerful word processor. 12MB if you add file commander.
Imagine that I can boot the fully featured operating system in a second or two. Use nice text based user interface to move around directories (NC). I can read and write floppy disks. I have access to internal drive also. I can connect to the Internet, read Wikipedia and move files over FTP. Write articles or even a novel. All under 12MB. Now compare this to my quest for booting Linux from a floppy. That system was barely usable in comparison. Not to mention weeks trying to configure it. I customize this DOS instance in one evening..
Network and the web
As a kid I did not know about the Internet. We started using it years later. Local network also doesn't exist. Also not that many people have computers. Network hardware was very expensive. We share files using floppies. Today we can't live without the Internet. And the local network becomes obsolete.
At first I did not even consider trying to make the DOS talk to the Internet. After reading few articles about it I figure out that it is possible. There is mTCP project that is still alive. I found drivers for the Ethernet card that the laptop is using.
When I got all the files I just run them in correct order in autoexec.bat. First load the driver then DHCP client to obtain IP. After that I can do many interesting things like surf the web, start simple HTTP server and download and upload files to the NAS. There is also IRC and telnet but I don't have usage for that.
Browsing WWW is limited to text only. Thanks to jhhoward who write excellent browser named MicroWeb that is simple and fast. I don't need that on DOS but ability to read Wikipedia or check my personal page in it is useful. But what comes very handy is getting files from NAS. I need to use FTP for that but it's still faster than copying floppies on one shared USB drive that I need to swap over. To be honest I never use the FTP command before. In the world of GUI applications it is not needed anymore. It turns out to be easy when I discover all the basic commands: cd, dir, get, put and mget.
I'm using notebook so connecting Ethernet cable reduced my mobility. To fix that I configure Raspberry Pi to act as a access point using this awesome script by Arpit Agarwal. Pi is connected to the WiFi and shares bridge it with any computer connected to the Ethernet port. I power it from USB port and plugs a short RJ45 cable to the notebook. It acts as a WiFi card I guess. Simplest solutions are the best. It also shows yet another reason to have a Pi's around. I have many of them.
I write a lot. Mostly for my blogs (this and one about FPV drones), web pages or company documentation. For years I searching for that pure, distraction free experience. A typewriter equivalent for the XXI century. I want a small, mobile device with a good keyboard and instant boot right to the empty page. I still researching but I'm closer to my dream. But that's a hardware and OS part. What about the software?
For Linux boxes I ended using nano text editor. It's simple and have most basic functionality of a word processor. I do not need to format my articles much and I like plain text files to work with. For my DOS setup I wanted something native and a little bit more sophisticated. Everyone knows that Gorge R.R. Martin is using WordStar 4.0 to this day on his DOS machine. Yes, Game of Thrones was written in DOS. When I research this I found that more writers are or was using it. Many science fiction writers like Robert J. Sawyer or Arthur C. Clark. Sawyer have even a length article how to setup it on a modern PCs on his home page. I give it a try and become understand why they all love it. It is very powerful but keeps it clean and simple to use.
Disclaimer: They are/were using older version that is very shortcut dependent without normal menus. Too hardcore for me. But the latest version - 7.0 made me using it. I choose the Textbook Edition as it is free and fits on one floppy. It was added to some textbooks back in the days. It is stripped of some extra functionality but none of it is needed for just writing an article.
Interesting features of WordStar
While I rewrite my texts I usually move stuff around. WordStar have this move functionality. It works exactly like cut and paste. But it's named as it should and it do not clears your clipboard!
- put cursor at the beginning and hit [CTRL]+K then B (beginning)
- put cursor at the end and hit [CTRL]+K then K
- put cursor at the destination and hit [CTRL]+K then M (move)
Pages. In a text files. If you love dot-matrix printers like me you will understand how incredible this feature is. In modern systems when I prepare text file for my printer I usually end up printing few pages just to adjust position of printed text. Now in WordStar I see exactly the same as will be printed!
Timeline of the software
- WordStar 7.0C Textbook Edition for DOS 1992
- Microsoft MS-DOS 6.22 1994
- Norton Commander 5.5 1998
- mTCP 2020-03-07 2020
- MicroWeb v0.3 2021 (8 days ago!)
I like to experiment with different operating systems, environments, and work flows. I did not expect that a system from 1994 will fit my needs the best. One would say: if it's good don't change it.
I experimented with various Linux distributions and found out that all of them runs slow. Those small, less than 100MB are mostly ugly and complicated. Including stuff I don't wanted and don't include one I needed. On top of that more and more major distributions are abandoning 32-bit CPU's.
If you have similar experience with your retro battle stations try MS-DOS :)
Why not FreeDOS? Well, I tried that. I customized it, added QuickBASIC, fitted it on one floppy. In some aspects it works. But soon I got to the compatibility problems. QuickBASIC works with only a basic functionality. And the full, installed system feels bloated. It lost this pure, simple MS-DOS vibes. Don't get me wrong it still exceeds in other places. It's the best option for an embedded OS for some special old software for many corporations. For playing old games. And it's still actively developed!
P.S. This article was written in WordStar on a dedicated DOS machine.