Monday, April 30, 2018

Running WordStar on FreeDOS

You may have heard that Game of Thrones author George R.R. Martin uses WordStar 4.0 to write his books. I thought it would be interesting to go back and look at this classic word processor, WordStar 4.0, on FreeDOS.

Maybe you've heard of WordStar but haven't used it. And that wouldn't be a surprise; WordStar is a very old program. Originally written for CP/M 8-bit computer systems in the late 1970s, WordStar was later ported to MS-DOS systems in the early 1980s. WordStar was one of the first programs for DOS.

At the time, WordStar was noted for being a difficult program—although today you might find it quite simple. But that doesn't mean WordStar will be very easy for new users. If you haven't used WordStar before, be prepared for a learning curve.

WordStar opens with a menu where users can open a document, print a file, or do other file operations:


WordStar includes several sample documents that demonstrate various features of the word processor, or provide an opportunity to experiment with the system. I opened an existing document (TEXT.DOC, containing an excerpt from Gulliver's Travels) as a simple demo of WordStar. The upper third of the screen is devoted to a quick-reference menu of WordStar's functions. As you become more familiar with WorStar, you can turn off display of this menu, giving you more screen area to display your document.


Unfortunately, WordStar is not open source software, so we cannot include it in future FreeDOS distributions. But it's interesting to try out this original DOS application.

(screenshots are QEMU, resized to 533×400)

Tuesday, April 24, 2018

A gentle introduction to FreeDOS

One question I get a lot from new users is "I've installed FreeDOS, but how do I use it?" I assume these people haven't used DOS for a long time, or maybe they haven't used DOS before. For the latter group, they might assume FreeDOS uses a command line like Linux. And certainly the DOS command line has a lot in common with Unix and Linux systems, but some of the assumptions are different.

So I wrote an article for OpenSource.com to provide a gentle introduction to FreeDOS. A version of that article will appear here on the FreeDOS blog in a few weeks.

This is meant as the first part in a short series of "how to use FreeDOS" articles that I plan to write. In this article, I talk about how to find your way around the DOS file system, using the CD and DIR commands. If you're new to FreeDOS, I recommend you read this article.

Monday, April 2, 2018

PC emulator screenshots look weird

If you remember the early PC era, or if you are a hobbyist who uses original PC hardware, maybe you wonder why PC emulator screenshots don't quite look like screens running on real hardware.

It's really noticeable in text-mode screenshots. For example, here's a screenshot of FreeDOS 1.2, taken in QEMU:


And my favorite DOS spreadsheet, As-Easy-As:


In text mode, QEMU emulates a standard PC character set, at 9 pixels wide by 16 pixels high. So it's easy math to understand why this 80×25 display is 720×400 pixels in size.

If you're running FreeDOS on modern hardware, such as a laptop, using an LCD screen (most common today) then this screenshot should look normal to you. The problem is that original PC hardware didn't use an exactly square pixel. So when you compare this 720×400 screenshot to original hardware, the screenshot looks weird.

The pixel hasn't always been a square dot. In modern flat panel displays, such as LCD, the pixel is a roughly square arrangement of red, green, and blue rectangles. Light all of them at once, and the human eye perceives them as a white square.

Original PC hardware didn't use LCD technology, but instead the cathode ray tube. The CRT used a hexagonal arrangement of red, green, and blue dots. Because these were not rectilinear, each "pixel" overlapped with the one next to it.

In the image below, I've modified Peter Halasz's image (cc by-sa) from Wikipedia, showing the arrangement of RGB on both CRT (top) and LCD (bottom). I've also outlined two adjacent pixels, one with a solid white line, and the next with a dotted white outline. You can see the LCD pixels adjoin, where the CRT pixels overlap slightly.


The result is that text on CRT displays looks a little different than text on LCD displays. Not a lot different, but a little different.

Computer displays on the early IBM PC models used a 4:3 aspect ratio, and the character generator outputted 80×25 text that neatly filled the screen. But in modern PC emulators, a pixel in text mode is represented as a single square dot. That means 80×25 text at 9×16 pixel dimensions fills a 720×400 screen, at an aspect ratio of 72:40, or about 5.4:3 aspect ratio. So the text appears too wide, compared to original PC hardware.

If I take the original QEMU screenshots, and resize them to have the same height but narrower image width, I can put the 80×25 display into a 4:3 aspect ratio. These screenshots have been forced to 533×400 pixels, which is 80×25 in 4:3 aspect ratio:



This looks more like how I remember using DOS in the 1980s and 1990s.

So if you've used FreeDOS on classic PC hardware, and wondered why the screen looks a little different than the screenshots we use on the FreeDOS website, that's why. Original hardware used a 4:3 display, but modern PC emulators use a one-for-one pixel display in text mode.

I'd be interested to know of any PC emulators that simulate a 4:3 display, and if they do that through video tricks (such as 3D effects) or by implementing a DOS font with a different height and width. If your favorite PC emulator can do this, let me know.