Classic Computer Magazine Archive ANTIC VOL. 5, NO. 11 / MARCH 1987

Dvorak Keyboard

Turbo typing for Atari

By David Yearke

Try out a version of the speed-typing Dvorak keyboard on any 8-bit Atari computer of any memory size, with disk or cassette. This BASIC program offers an alternative to the standard QWERKY keyboard--which was actually designed to slow down the pioneering generation of touch typists.

Believe it or not, part of your computer was designed to be as slow and inefficient as possible. No, don't blame Atari---the deed was done long before Nolan Bushnell or Jack Tramiel were born. Confused? Here's a clue: it's the part of your Atari computer that was designed over 100 years ago--the keyboard!

The keyboard layout was invented by Christopher Sholes in the early 1870s for the Remington Arms Company, which produced the first typewriter. On the early mechanical typewriters, keys tended to jam when struck to rapidly. To overcome this, Sholes designed the QWERTY layout which is commonly used throughout the world.

Sholes slowed down typists by making sure that the most commonly used letters were spread all over the keyboard, and that frequent combinations of letters, such as "ed," had to be struck with the same finger.

It may have been all right to slow down typists in Sholes' time, but today's electronic typewriters don't jam. So the reason behind the QWERTY system no longer applies. Fortunately we have an alternative.


In the 1930s, Professor August Dvorak studied the typewriter and concluded the Sholes layout was not only combersome, but that even a random arrangement of keys would be more efficient. He studied the keyboard and people's typing habits, and devised a keyboard arrangement that gave what he felt was the best possible speed and efficiency.

Why is the Dvorak layout better? First of all, it involves less physical movement. He computed that a Sholes typist's fingures move an average of 16 miles a day, compared with a single mile for a typist using Dvorak. This improvement makes Dvorok not only less fatiguing, but faster as well. The average speed of a Sholes typist is about 40 words per minute (wpm), compared with 60 wpm for a Dvorak typist. This means that two Dvorak typists can do the work of three Sholes typists. How's that for efficiency?

Keyboard toggle switching between Dvorak and QWERTY are advertised for other computers and electronic typewriters that cost hundreds of dollars more than the 8-bit Atari. Here's a low-cost alternative, one that you can examine to see if you like this typing system. The Dvorak layout finally seems to be catching on, and your new-found skills as a typist could come in handy.

NOTE: The Dvorak Keyboard program has been used sucessfully with cartridge software such as AtarrWriter, MAC/65 and BASIC (built-in BASIC too). It does not work with PaperClip or most other disk-based software. (Please send the I/O Board your own discoveries about software compatibility with this program. -ANT!C ED)


Figure 1 shows this modified Dvorak layout as implemented on the Atari. The top characters (black letters on white background) are the Dvorak Keyboard. The bottom characters (white letten on black background) are the standard QWERTY arrangement.

I didn't change the existing positions for the cursor keys and Atari special symbols. But I changed the position of some punctuation marks. For example, the slant bar [/] which Dvorak placed on the equal key [=] I've moved to the [Q] key. And I moved the quote character ["] from the [Q] key back to the [2] key, as on the Atari's QWERTY layout.

I also opted for the "modified" Dvorak keyboard, in which the numbers are kept in sequence, as opposed to Dvorak's order of "7-5-3-1-9-0-2-4-6-8." I saw little advantage-and lots of confusion--in his arrangement.

Notice that all the vowels and the most common consonants are located on the middle, or "home" row where a typist's fingers are at rest. This is the key to Dvorak's speed. With the Sholes layout, only about 100 common English words can be formed using the home row, compared to over 4, 000 words with Dvorak. Eliminating that half-inch that a finger must travel to hit a common letter really adds up.

Dvorak also made the workload of each hand more even. With the Sholes arrangement, the left hand works harder than the right, and left-handed typists are often faster than right-handed ones.

Finally, by putting the common letters on the home row, he has eliminated the phenomenon know as a "hurdle," where the same finger must travel from the top row to the bottom (or vice-versa)-"hurdling" over the home row. There are over 1,200 common English words with multiple hurdles, such as the word "number," where the first three characters are struck with the right index finger. Hurdles are a common cause of spelling errors, because fingers tend to get "lost" while hurdling.


Despite the improved efficiency of the Dvorak Keyboard, it is not easy to switch to Dvorak typing if you are already accustomed to touch-typing with the QWERTY layout.

In fact, the difficulty of retraining typists who use the vast installed base of QWERTY keyboards is the main obstacle to widespread acceptance of the Dvorak layout. When your QWERTY-trained subconscious mind tells you to press an [F] key and you get a Dvorak [U], this can be a very disorienting experience--not unlike pressing the Coke button on a vending machine and receiving a handful of bubblegum.

To help preserve your sanity as you experiment with an Atari Dvorak Keyboard, you should photocopy Figure 1, cut apart the individual key guides and lightly glue them on top of your three rows of letter keys. (Or at least keep the diagram very close to your computer.)

Press [CONTROL] [4] to toggle back and forth between Dvorak and QWERTY typing. [CONTROL] [5] toggles one-key cursor movement on and off--in either Dvorak or QWERTY mode--allowing you to move the cursor without having to hold down [CONTROL]. To get the characters [-], [=], [+], and [*] hold down the [CONTROL] key when pressing the appropriate key.


The Dvorak Keyboard program replaces the built-in keyboard handler of any 8-bit Atari computer. In normal Atari keyboard use, whenever you press a key an interrupt is generated by the POKEY chip. The operating system looks to location $0208 for the location of the keyboard handler routine. This program replaces the handler in your computer taking the code for the key you pressed and looking it up in a table to find the Dvorak equivalent.

Type in Listing 1, DVORAK.BAS, check it with TYPO II and SAVE a copy before you RUN it. Listing 1 will create a file called DVORAK.EXE on your disk. Antic Disk owners will find DVORAK.EXE on the Main Menu. Copy this file to another disk (which contains DOS 2.0 or 2.5) and rename it AUTORUN.SYS.

To start typing Dvorak-style, turn off your computer and reboot with the new disk. You won't notice anything different except that you have about 500 fewer bytes of available memory than before. Dvorak Keyboard continues working even after you press [RESET], so you'll need to turn off your computer to remove Dvorak from memory.

I removed the routine that processes function keys 1-4 on the 1200XL, which saved 105 bytes. Listing 2, the source code created with MAC/65, is included to show how the program works.

You will probably notice that in Dvorak or one-touch cursor modes the auto-repeat function is disabled. This is because because the logic for that function is contained in the Vertical Blank routine and reads the hardware location directly, instead of the RAM shadow register, which is the one I changed. To avoid having this program larger than I wanted it to be, I opted to turn off the auto-repeat rather than rewrite the VBLANK routine. However, auto-repeat still works in normal mode.

Dvorak typing implementations have long been a staple of Atari public domain software but ANTIC liked David Yearke's clean programming and informative article when we saw it in POKEY, the newsletter of the Western New York Atari Users Group. So we asked Yearke, a resident of Cheektowaga, New York to expand his piece for this issue.--ANTIC ED

Listing1:DVORAK.EXE Download

Listing2:DVORAK.BAS Download

Listing3:DVORAK.M65 Download / View

Partial Dvorak Keyboard (DVORAK.BAS Download
) by Dave Yearke